Revision [1803]
This is an old revision of CategorySystemOverhaul made by DarTar on 2004-10-11 18:47:13.
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:
- Not newbie friendly.
- Non-obvious, making it easy to forget to add a category tag.
- Resource wasteful: Category changes are stored as page updates, thus added database entries.
- Time wasteful: Category changes cause pages to show in RecentChanges, forcing people to review them for what changed.
Proposed system:
User selects a category from a dropdown box during page editing.- Create a new table named Categories.
- Create an action for adding items to, and removing items from, the category table.
- Add a field to the pages table named 'category'.
- Show a dropdown box during page editing that lets the user select a category. The value in the dropdown box is then saved in the 'category' field for that page.
- Create a new category action that will list the available categories.
Issues with this proposal:
- As proposed, 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):
- 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:
- 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")
- a human-readable category label (VARCHAR), like "Documentation", or "Development".
Keeping the key vs. category label separated might also help cope with i18n issues -- DarTar