Difference between revisions of "SoC category plugin"

From GeeklogWiki
Jump to: navigation, search
Line 15: Line 15:
 
The feature list for the Category plugin can be broken down into two main parts, Geeklog Core changes and the plugin itself:
 
The feature list for the Category plugin can be broken down into two main parts, Geeklog Core changes and the plugin itself:
  
Core Changes
+
=== Core Changes ===
 
* Add new plugin API to integrate extra fields from one or more plugins into edit forms. This should allow for displaying, validation and saving the information. Some functionality will also be required to tell the plugin what plugins it should not integrate into
 
* Add new plugin API to integrate extra fields from one or more plugins into edit forms. This should allow for displaying, validation and saving the information. Some functionality will also be required to tell the plugin what plugins it should not integrate into
 
* Add this functionality to the Admin editors of Articles, Category plugin, Static Pages plugin, Polls plugin, Links Plugin and Calendar plugin
 
* Add this functionality to the Admin editors of Articles, Category plugin, Static Pages plugin, Polls plugin, Links Plugin and Calendar plugin
 
* Add support of adding one or more categories to Articles using the above API
 
* Add support of adding one or more categories to Articles using the above API
 
* Add support to Blocks to display depending on the category shown (should this be some sort of new Plugin API similar to above or should the block control be built into the plugin???)
 
* Add support to Blocks to display depending on the category shown (should this be some sort of new Plugin API similar to above or should the block control be built into the plugin???)
 +
 +
=== Category Plugin ===
  
 
The Category plugin work can be broken down into several sub parts:
 
The Category plugin work can be broken down into several sub parts:
 +
  
 
Categories:
 
Categories:
Line 34: Line 37:
 
* If a visitor is viewing a category they should be able to drill down and view sub categories  
 
* If a visitor is viewing a category they should be able to drill down and view sub categories  
 
* Admin Category Page - Some sort of tree user interface to display categories on left with selected category/item info on the right
 
* Admin Category Page - Some sort of tree user interface to display categories on left with selected category/item info on the right
 +
  
 
Breadcrumbs:
 
Breadcrumbs:
Line 39: Line 43:
 
* Plugins should be allowed to pull this information to display it as well
 
* Plugins should be allowed to pull this information to display it as well
 
* Support Google Rich Snippets for [http://www.google.com/support/webmasters/bin/answer.py?hl=en&answer=185417 Breadcrumbs]
 
* Support Google Rich Snippets for [http://www.google.com/support/webmasters/bin/answer.py?hl=en&answer=185417 Breadcrumbs]
 +
  
 
Menu:
 
Menu:
Line 44: Line 49:
 
* Admin Interface for changing the style of the menus
 
* Admin Interface for changing the style of the menus
 
* Minimum support for CSS 2 styling
 
* Minimum support for CSS 2 styling
 +
  
 
Tags:
 
Tags:
 
* Tag Cloud block
 
* Tag Cloud block
 
* Page with Tag Cloud which lists items from selected tag as well as other tags the items belong too.  
 
* Page with Tag Cloud which lists items from selected tag as well as other tags the items belong too.  
 +
  
 
What's Related Block:
 
What's Related Block:

Revision as of 16:53, 6 March 2011

(Return to the main idea page for the Google Summer of Code)

Introduction

Incentive

Objective

The feature list for the Category plugin can be broken down into two main parts, Geeklog Core changes and the plugin itself:

Core Changes

  • Add new plugin API to integrate extra fields from one or more plugins into edit forms. This should allow for displaying, validation and saving the information. Some functionality will also be required to tell the plugin what plugins it should not integrate into
  • Add this functionality to the Admin editors of Articles, Category plugin, Static Pages plugin, Polls plugin, Links Plugin and Calendar plugin
  • Add support of adding one or more categories to Articles using the above API
  • Add support to Blocks to display depending on the category shown (should this be some sort of new Plugin API similar to above or should the block control be built into the plugin???)

Category Plugin

The Category plugin work can be broken down into several sub parts:


Categories:

  • Any Article and plugin item (that supports the API) can be added to a category
  • A Category has one parent but can have zero, one or many categories and items assigned to it
  • A Category can have one or more item type (i.e. Articles and Static Pages could be assigned to it)
  • Security on Categories (Read/Usage, Edit)
  • A Category can be defined as a tag
  • A Category or plugin item can be defined as a menu item
  • A display system for Categories that works similar to Topics (the layout and blocks)
  • A Category at any level can be displayed (and inherit items below it if object or category can be inherited)
  • If a visitor is viewing a category they should be able to drill down and view sub categories
  • Admin Category Page - Some sort of tree user interface to display categories on left with selected category/item info on the right


Breadcrumbs:

  • Displayed when viewing a Category
  • Plugins should be allowed to pull this information to display it as well
  • Support Google Rich Snippets for Breadcrumbs


Menu:

  • Based on Categories
  • Admin Interface for changing the style of the menus
  • Minimum support for CSS 2 styling


Tags:

  • Tag Cloud block
  • Page with Tag Cloud which lists items from selected tag as well as other tags the items belong too.


What's Related Block:

  • Based on Category relationships (Any other related info???)
  • Block should be able to display by using an autotag


Level of Difficulty

medium

This project will require someone to spend time understanding how Geeklog Blocks and the core plugin API works. You will also need to install a number of the more popular plugins that offer similar features to see how they work. As of version 1.8.0, Geeklog now includes jQuery. jQuery could be used with this project for the menu system and/or the Category Admin editor tree.


Further Reading