Revision [1820]

This is an old revision of CategorySystemOverhaul made by NilsLindenberg on 2004-10-12 11:23:11.

 

Category System Overhaul


The category system used in Wikka needs improvement, and I'm looking for ideas and comments. -- JsnX


Current system:
User adds a wikiword category tag to each page, such as CategoryDevelopment.
For more information, see WikiCategory.

Issues with current system:



Proposed system:
User selects a category from a dropdown box during page editing.


Issues with this proposal:

Ideas?

Multiple categories per page
You say: this will only allow one category per page
This is not necessary. If we want to allow more categories per page, we might think of storing sets of values (I recently had the very same problem with a user management system in which users can belong to different categories):
  • Make the category field in wikka_pages accept comma separated values (see MySQL's SET type);
  • On page editing/creation, instead of a dropbox, display a list of check boxes
The wikka_category table might then contain two separate fields for each category:
  1. a system-generated unique-key (TINYINT), invisible to the user and handled by the system for cross-referencing the wikka_pages table (whose category field will then contain a simple comma separated list of numerical keys, like: "1, 5, 7")
  1. a human-readable category label (VARCHAR), like "Documentation", or "Development".
Keeping the key vs. category label separate might also help cope with i18n issues
-- DarTar


Yet another approach:
  1. categories table:
This would take care of a categories hierarchy
  1. pagecats table:

Now we can store many-to-many relationships between pages and categories; and everything is neatly normalized, too.
When a page is created/edited a dropdown (rendering the hierarchy!) could allow choosing one or more categories; there should be an extra option to (instead) create a new category and assign it to an existing one. Edits should of course also allow to remove a category for a page (while still allowing assigning or creating a new one). Note I'm using page_id, not page_name, in pagecats - on purpose, so the categorization belongs to the page version; a new page version should (initially) inherit all categories, of course.
That might become a tad complicated for an edit dialog; so maybe "categorization" sould be a separate dialog (handler). I'm sure there are nice examples around for dialogs for maintaining a hierarchy of categories. (Many CMS systems have something like that, I know there are demos around.)
Extra wrinkle: what to do with pages when a category is deleted? (Probably assign to the parent category.)
--JavaWoman

JavaWoman, that sounds good. And a page showing the none categoriesed wikipages could be helpfull :)
::@::
There are no comments on this page.
Valid XHTML :: Valid CSS: :: Powered by WikkaWiki