Difference between revisions of "SoC topic improvements"

From GeeklogWiki
Jump to: navigation, search
(New page: <center>(Return to the main idea page for the Google Summer of Code)</center> == Introduction == When Geeklog 1.9.0 is released Topics will be able to have child topics and, Blocks a...)
 
(added missing categories)
 
(9 intermediate revisions by 2 users not shown)
Line 3: Line 3:
 
== Introduction ==
 
== Introduction ==
  
When Geeklog 1.9.0 is released Topics will be able to have child topics and, Blocks and Articles can be assigned to one or more topics. With these new features in Geeklog this makes a number of the ideas in the  Google Summer of Code [[SoC category plugin|Category Plugin]] project not relevant. This new Topic Improvements project takes into account some of the projects from the Category Plugin and adds in a few new ideas.
+
When Geeklog 2.0.0 is released Topics will be able to have child Topics and, Blocks and Articles can be assigned to one or more Topics. With these new features of Geeklog, this makes a number of the ideas in the  Google Summer of Code 2010 [[SoC category plugin|Category Plugin]] project not relevant. This new Topic Improvements project takes into account some of the projects from the Category Plugin and adds in a few new ideas.
 
 
== Incentive ==
 
 
 
.
 
  
  
 
== Objective ==
 
== Objective ==
  
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 Topic Improvements can be broken down into several parts:
 
 
 
 
=== Core Changes ===
 
  
 +
New Plugin API
 
* 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 new plugin API to integrate extra fields from one or more plugins into submission forms  
 
* Add new plugin API to integrate extra fields from one or more plugins into submission forms  
 
* Add this functionality to the admin editors and submission forms of Articles, Category plugin, Static Pages plugin, Polls plugin, Links Plugin and Calendar plugin
 
* Add this functionality to the admin editors and submission forms 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
+
* Allowing plugins to display items amongst the articles when a topic is displayed
* 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:
+
Topic Editor
* Displayed when viewing a  Category
+
* Create some sort of tree user interface (jQuery UI tree still appears to be in planning stage) to display categories on left with selected category/item info on the right
* Plugins should be allowed to pull this information to display it as well
+
* Add description? (http://project.geeklog.net/tracking/view.php?id=1174)
* Support Google Rich Snippets for [http://www.google.com/support/webmasters/bin/answer.py?hl=en&answer=185417 Breadcrumbs]
 
  
 
+
Menu Editor:
Menu:
+
* Based on Topics (Admin may hide topics from being viewed in the menu)
* Based on Categories
+
* Replaces/Adds to Topics Block and Top Menu
* Admin Interface for changing the style of the menus
+
* Ability to add menu items to other Geeklog objects and webpages
 +
* Interface for changing the style of the menus
 
* Minimum support for CSS 2 styling
 
* Minimum support for CSS 2 styling
 
  
 
Tags:
 
Tags:
 +
* A Topic can be defined as a tag
 
* 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:
* Based on Category relationships (Any other related info???)
+
* Based on Topic relationships (Any other related info???)
 
* Block should be able to display by using an autotag
 
* Block should be able to display by using an autotag
 
+
* Allow plugins to use the block
 
 
Features to Consider for the Future
 
* A number of plugins have their own category structure (See the Links and File Manager Plugin for examples). Is there a way that the Category plugin can offer this type of feature to future plugins? This would mean that the other plugin would be dependent on the Category plugin to control the category structure and allow it to display the category list in the other plugin
 
  
  
Line 72: Line 42:
 
''medium''
 
''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.
+
This project will require someone to spend time understanding how Geeklog Topics 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 includes jQuery. jQuery could be used with this project for the menu system and/or the Topic Admin editor tree.
 +
 
 +
''Possible mentor:'' [http://www.geeklog.net/users.php?mode=profile&uid=11721 Tom Homer]
  
  
Line 81: Line 53:
 
* [http://mystral-kk.net/filemgmt/index.php/20 Tag plugin] allows you to tag articles and static pages (Version 0.5.2)
 
* [http://mystral-kk.net/filemgmt/index.php/20 Tag plugin] allows you to tag articles and static pages (Version 0.5.2)
 
* [http://pear.php.net/package/HTML_TagCloud HTML Tag Cloud Pear library]
 
* [http://pear.php.net/package/HTML_TagCloud HTML Tag Cloud Pear library]
 +
 +
 +
[[Category:Summer of Code]] [[Category:Development]]

Latest revision as of 09:14, 29 March 2013

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

Introduction

When Geeklog 2.0.0 is released Topics will be able to have child Topics and, Blocks and Articles can be assigned to one or more Topics. With these new features of Geeklog, this makes a number of the ideas in the Google Summer of Code 2010 Category Plugin project not relevant. This new Topic Improvements project takes into account some of the projects from the Category Plugin and adds in a few new ideas.


Objective

The feature list for the Topic Improvements can be broken down into several parts:

New Plugin API

  • 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 submission forms
  • Add this functionality to the admin editors and submission forms of Articles, Category plugin, Static Pages plugin, Polls plugin, Links Plugin and Calendar plugin
  • Allowing plugins to display items amongst the articles when a topic is displayed

Topic Editor

Menu Editor:

  • Based on Topics (Admin may hide topics from being viewed in the menu)
  • Replaces/Adds to Topics Block and Top Menu
  • Ability to add menu items to other Geeklog objects and webpages
  • Interface for changing the style of the menus
  • Minimum support for CSS 2 styling

Tags:

  • A Topic can be defined as a tag
  • 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 Topic relationships (Any other related info???)
  • Block should be able to display by using an autotag
  • Allow plugins to use the block


Level of Difficulty

medium

This project will require someone to spend time understanding how Geeklog Topics 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 includes jQuery. jQuery could be used with this project for the menu system and/or the Topic Admin editor tree.

Possible mentor: Tom Homer


Further Reading