webdevRefinery Forum: Would appreciate comments on this forum layout (eer) - webdevRefinery Forum

Jump to content

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

User is offline SapporoGuy 

  • Group: Members
  • Posts: 932
  • Joined: 10-June 11
  • LocationSonyLand

Posted 12 April 2012 - 02:57 AM (#1)

Would appreciate comments on this forum layout (eer)


Been playing with the idea of making my own forums with Yii for fun and for open source.
I like FluxxBB because it's simple and fast but it's so php4 in regards to coding layout.

Here's a PDF of that I made of flux data schema and have moved some stuff out to there own tables (varchar columns). Normally I'd go with I'm used to but I'm trying to figure out this relational aspect and foreign keys.

http://illuminate3.c.../fluxchange.pdf


Posted Image

Or am I over doing this?

Thanks!
0


User is online Lemon 

  • I have a dream...
  • Group: Members
  • Posts: 693
  • Joined: 24-February 11
  • Expertise:HTML,CSS,PHP,Javascript,Node.js,SQL

Posted 12 April 2012 - 05:26 AM (#2)

It looks pretty standard to be honest, although there are a couple of questions:
- What does the rank of a user signify that their group doesn't? Is it analogous to the reputation seen on this forum?
- The bans table may be surplus if you have a banned group with zero permissions unless you intend to be able to ban on multiple criteria, in which case having it linked to a specific user may prove frustrating down the line.
- Why is your entire search system and cache in database?
0


User is offline callumacrae 

  • {{ post.author }}
  • Group: Members
  • Posts: 2867
  • Joined: 20-January 11
  • LocationWarwickshire, England
  • Expertise:HTML,CSS,PHP,Javascript,Node.js,SQL

Posted 12 April 2012 - 05:49 AM (#3)

Why would you need to report a forum? 0_o
Front-end developer and writer
Twitter | GitHub | phpBB Contributor and Website Team Member | lynxphp
0


User is offline Renegade 

  • 418 I'm a teapot
  • Group: Members
  • Posts: 748
  • Joined: 08-March 10
  • Expertise:HTML,CSS,PHP,Javascript,Node.js,SQL,Graphics

Posted 12 April 2012 - 05:54 AM (#4)

Uh, private messaging? That's kind of important. Otherwise it looks good, really nice visual representation too!
http://adriancooney.ieGithubTwitterDribbbleForrst
We all die. The goal isn't to live forever. The goal is to create something that will.

Array(16).join({}-{}) + " Batman!";
0


User is offline SapporoGuy 

  • Group: Members
  • Posts: 932
  • Joined: 10-June 11
  • LocationSonyLand

Posted 12 April 2012 - 06:59 AM (#5)

Mysql workbench is pretty sweet and pretty much stable if I don't sleep my machine.

[
It looks pretty standard to be honest,
]

not my design, fluxBB's!
I did separate the _data tables since I thought integers and text shouldn't be in the same table. Also thinking of multi-lingual.

[
- What does the rank of a user signify that their group doesn't? Is it analogous to the reputation seen on this forum?
]

Not really, it's more of a standard: noob, regular, bored to death, have no life and admin system.

[
- The bans table may be surplus if you have a banned group with zero permissions unless you intend to be able to ban on multiple criteria, in which case having it linked to a specific user may prove frustrating down the line.
]
Nice! Will take a deeper look at the banning function! Hmmm...

part of the ban table records the message, when the ban expires, the banned and the banner.

[
- Why is your entire search system and cache in database?
]
not sure why they did that but, it could be handy for tag clouds ...

[
report a forum
]

Not really sure why they did that???


I stil need to figure out how to link the reporter versus reported.

[
pm
]
FluxBB doesn't have that out of the box but I agree that is pretty essential!



Are my connections going the right way?
I'm still new to this concept of visualizing 1:1, 1:n, n:1 and n:n

Lol, I'm the old school work it out in code type :(
0


User is offline Sephern 

  • Group: Moderators
  • Posts: 967
  • Joined: 04-June 10
  • LocationReading, UK
  • Expertise:HTML,CSS,PHP,Javascript,Python

Posted 12 April 2012 - 11:11 AM (#6)

View PostSapporoGuy, on 12 April 2012 - 06:59 AM, said:

Mysql workbench is pretty sweet and pretty much stable if I don't sleep my machine.

[
It looks pretty standard to be honest,
]

not my design, fluxBB's!
I did separate the _data tables since I thought integers and text shouldn't be in the same table. Also thinking of multi-lingual.

[
- What does the rank of a user signify that their group doesn't? Is it analogous to the reputation seen on this forum?
]

Not really, it's more of a standard: noob, regular, bored to death, have no life and admin system.

[
- The bans table may be surplus if you have a banned group with zero permissions unless you intend to be able to ban on multiple criteria, in which case having it linked to a specific user may prove frustrating down the line.
]
Nice! Will take a deeper look at the banning function! Hmmm...

part of the ban table records the message, when the ban expires, the banned and the banner.

[
- Why is your entire search system and cache in database?
]
not sure why they did that but, it could be handy for tag clouds ...

[
report a forum
]

Not really sure why they did that???


I stil need to figure out how to link the reporter versus reported.

[
pm
]
FluxBB doesn't have that out of the box but I agree that is pretty essential!



Are my connections going the right way?
I'm still new to this concept of visualizing 1:1, 1:n, n:1 and n:n

Lol, I'm the old school work it out in code type :(

Perhaps a better way to visualize the information would be to use an Entity Relationship Diagram. Rather than just describing the tables in your system, it models the entities and relations between them (entities usually end up becoming tables anyway). That way the cardinality constraints (1:1, 1:n, n:1, n:m) can be built into the model much easier.

Assuming that you're going to branch off from this and build your own forum then mapping the entities and going from there might be a better way than just modifying an existing database.
0


User is offline SapporoGuy 

  • Group: Members
  • Posts: 932
  • Joined: 10-June 11
  • LocationSonyLand

Posted 12 April 2012 - 04:15 PM (#7)

Hmm, I thought that was what mysql workbench does for you?

I took the existing schema,
opened it workbench,
used the reverse engineer option,
got the above diagram without the lines,
And then went ahead and looked at what column names were linking to which tables.

The lines in the above pdf show the funky connectors that indicated what tupe of relationship exists.

Should I have done this a different way?
0


User is offline Sephern 

  • Group: Moderators
  • Posts: 967
  • Joined: 04-June 10
  • LocationReading, UK
  • Expertise:HTML,CSS,PHP,Javascript,Python

Posted 12 April 2012 - 06:37 PM (#8)

View PostSapporoGuy, on 12 April 2012 - 04:15 PM, said:

Hmm, I thought that was what mysql workbench does for you?

I took the existing schema,
opened it workbench,
used the reverse engineer option,
got the above diagram without the lines,
And then went ahead and looked at what column names were linking to which tables.

The lines in the above pdf show the funky connectors that indicated what tupe of relationship exists.

Should I have done this a different way?

Entity Relationship Diagrams don't have a 1 to 1 correlation necessarily with the actual database. They model the underlying data by splitting it into entities (similar to the process you may do for UML for OO). This tends to be before the data is normalized so the actual database itself can look a bit different.

If you think about the different entities which you want in your forum then you can do an ERD yourself, which you can then normalise into a database. That way you're not reverse engineering someone else's solution which may or may not be suited to yours.

In terms of the actual cardinality constraints you have, not all of them seem to be correct. For example, the permissions to groups would surely be a many to many relationship (a group can have many permissions, for example, a mod can delete and view topics. A permission can be assigned to many groups. For example, both administrators and moderators can delete topics). User Data and Category Data would be one to one relations (a users data belongs to that user, right?). There's probably a few others.
0


User is offline SapporoGuy 

  • Group: Members
  • Posts: 932
  • Joined: 10-June 11
  • LocationSonyLand

Posted 13 April 2012 - 06:34 AM (#9)

Wow! Thanks!

At least I'm using workbench!

I agree with your idea about not reverse engineering but I'm planning on giving my work back tonthe flux community if they want it. If not I'll just go from there.

I like that the db is relatively simple and rather feature complete.

I'll spend more time in the cardinalities!

Cheers
0


Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

2 User(s) are reading this topic
0 members, 2 guests, 0 anonymous users


Enter your sign in name and password


Sign in options
  Or sign in with these services