GHOP Task suggestions

You are viewing a wiki page. You are welcome to join the group and then edit it. Be bold!
webchick's picture
public
webchick - Thu, 2007-11-29 09:51

Note as of 2007-12-11:
This thread is now closed.

Please post task ideas to the drupal.org GHOP issue queue instead.

Guidelines: How to Propose Tasks

  • Tasks need to follow the guidelines/template from of http://code.google.com/p/google-highly-open-participation-drupal/wiki/Ho... and have clear descriptions and deliverables, not be vague ideas like "Well what about something with such and such module?"
  • Tasks should be scoped such that they take a 13-18 year old between 2-5 days one week to finish.
  • Tasks can be about pretty much anything: coding, documentation, user experience, translation, etc. Just bear in mind that we only have 102 200 of these, so we should aim for high-impact tasks that will help the project as a whole (and also look good on a college application :)).
  • Students eligible for the contest are not allowed to propose tasks (sorry!) ARE allowed to post tasks, but can't claim tasks that they propose.
  • Before you actually create a task on Google's task tracker, please read our directions on how to propose (and review) new tasks.
  • Head over to #drupal-ghop on irc.freenode.net if you want to discuss ideas in "real time."

theming task

dwees's picture
dwees - Thu, 2007-11-29 12:02

GHOP TASK STATUS: Added: http://code.google.com/p/google-highly-open-participation-drupal/issues/...

Task title: Theme the same CCK form in 3 distinct ways

Task description:

Utilizing at least a rudimentary understanding of PHP, good XHTML and CSS skills, take the same node form and add fields to it using the CCK module, then theme this form, making sure to document your work. This is a task that nearly all professional Drupal developers need to know how to do.

Using good coding practice to complete this task, you must:
1. Create a new content type.
2. Add at least 5 different types of fields to the content type.
3. Using the phptemplate theme engine, theme the content type you created in 3 visually distinct ways.
Note that this task is not about changing the display of the form after it is submitted, but while the user is entering his/her data.

When you have completed this task, you should create a documentation page in the appropriate location in the theming portion of the handbook which describes your changes and provides your code, as well as screen-shots of what the changes look like.

Some resources to help you with this task are:
1. The documentation on the PHPTemplate engine is available here: http://drupal.org/phptemplate
2. General information about creating theme overrides is available here: http://drupal.org/node/55126
3. Information specific to theming a form is available here: http://drupal.org/node/112358
4. If you need help, you can post a question in the Drupal.org forums or contact someone on the #drupal-support channel on irc.freenode.net.
5. When you need to create your screen-shot, read this page first: http://drupal.org/node/11637

I estimate that this task should take about 4-5 days to complete.

contact:dwees


Will I need to add this myself?

dwees's picture
dwees - Sat, 2007-12-01 00:07

I'm unclear. Do I need to add this myself, or should I wait for someone to sign off on it.

Dave


Probably wait for someone to sign off first

webchick's picture
webchick - Sat, 2007-12-01 06:46

Consider it signed off. :) Great task!

(sorry, this contest coincided with a trip out of the country and a site launch in the same week, so I'm playing catch-up a bit :\ )


Add me to Google group?

dwees's picture
dwees - Sat, 2007-12-01 11:52

In that case can you add me to the Google group? My email is davidwees (at) gmail (dot) com.

Dave


Added and Claimed

add1sun's picture
add1sun - Sat, 2007-12-01 18:47

Thanks Dave, I added you to the project and made you the owner of the task, which has already been claimed. :-)


Minifeed (Facebook-style newsfeed)

rcourtna@drupal.org's picture
rcourtna@drupal.org - Thu, 2007-11-29 16:30

GHOP TASK STATUS: Ineligible -- such a module already exists.

Create a Minifeed module (ala Facebook news feed).

Drupal already has excellent content management capabilities. Social networking, however, is more about just content, it's about relationships and member actions. A Minifeed module would create a facebook style of news feed or mini-feed, which feeds news on what is happening with your friends (buddies) and your groups etc.

Some examples of minifeed items:
* UserA became buddies with UserB
* UserB has RSVP'd to EventXYZ
* UserC left a comment on Node 77

It's not possible to anticipate all of the different types of minifeed items that module developers would want to create. Therefore, I would recommend that the primary deliverable for the Minifeed module be an API that other modules can use to manipulate the minifeed.

Deliverables:
- API to create minifeed items
- light documentation on API usage
- example contrib module making use of the API (ie: "UserC left a comment on Node 77")

Resources:
- The UserPoints module does a fine job of exposing an API for other modules to use
- http://drupal.org/project/userpoints

I estimate that this project should take 4-5 days to complete.

contact: rcourtna


already exists

billfitzgerald's picture
billfitzgerald - Thu, 2007-11-29 16:45

http://drupal.org/project/activity

Perhaps extend this module?

Cheers,

Bill


FunnyMonkey
Tools for Teachers


I actually wasn't aware that

rcourtna@drupal.org's picture
rcourtna@drupal.org - Fri, 2007-11-30 03:16

I actually wasn't aware that this module existed! I'll have a closer look - thx!


Here's one:

HedgeMage@drupal.org's picture
HedgeMage@drupal.org - Fri, 2007-11-30 18:57

GHOP TASK STATUS: Ineligible; already exists

Write a Drupal Handbook page about OpenID module

Create a page in the Drupal Handbook about the OpenID module. Be sure to explain what OpenID is, and its benefits for sites and users. This page should be a child of the core modules handbook page because as of Drupal 6, OpenID is in core.


Actually, I think this is done...

webchick's picture
webchick - Sat, 2007-12-01 06:48

Or at least the module itself has a help page. It's just a matter of copy/pasting that into a handbook page at http://drupal.org/handbook/modules/openid. I'll go make a docs issue about that.


Compare Drupal with other frameworks

theborg's picture
theborg - Fri, 2007-11-30 23:12

GHOP TASK STATUS: Added: http://code.google.com/p/google-highly-open-participation-drupal/issues/...

Choose at least four open source frameworks or cms, Drupal included, and compare them, technically their flexibility and easy to use. Its prefered that you choose software that you have not used before.

Points to take into consideration:

a) Requierements: s.o., language, web server, database.
b) Installation: problems that you find, technical level that its needed
c) Configuration: basic and advanced
d) First content creation: create your first pages of content

And then try to find out:

e) Flexibility (creation of themes)
f) Extension (can easily grow to be better/more adapted? can be integrated with other software?)
g) Capabilities (Produces standard content?, is accesible?)
...

As a conclusion explain the good and the bad of every framework and determine which would you choose to make your next project (explain the type of project).

FRAMEWORKS SUGGESTED (any other that you find is welcome): Drupal, Joomla, Typo3, Movable Type, Wordpress, Textpattern, Alfresco, Plone.


Looks great...

webchick's picture
webchick - Sat, 2007-12-01 06:50

Please taskify it! :)


Document How To Theme 1pixelout flash player in audio module

mfer's picture
mfer - Sat, 2007-12-01 02:55

GHOP TASK STATUS: Added: http://code.google.com/p/google-highly-open-participation-drupal/issues/...

The audio module is now using the 1pixelout flash player as the default player. The documentation on how to theme this player could needs to be added to the handbook.

http://drupal.org/handbook/modules/audio
http://drupal.org/node/34043
http://www.1pixelout.net/code/audio-player-wordpress-plugin/
http://www.innovatingtomorrow.net/2007/10/22/how-theme-1pixelout-flash-p...

Another task could be updating the documentation on the XSPF module. What is listed in the handbook (link above) is completely out of date.

A 3rd task, if someone wants to do a little coding, is to add the ability to the audio module to tie into outside audio file tracking systems like podtrac rather than use the built in tracking. This should be a fairly simple patch but would take a little time to learn that part of the audio module.

For any of these I'd be willing to be the POC.

Matt Farina
www.innovatingtomorrow.net
www.geeksandgod.com
www.mattfarina.com


Could you spec these out into actual tasks?

webchick's picture
webchick - Sat, 2007-12-01 06:52

See guidelines at http://code.google.com/p/google-highly-open-participation-drupal/wiki/Ho....

And also maybe prioritize them? I'm a little uncomfortable using up 3 of our allotted tasks on one module, but if we can justify that there's a big enough need for this stuff in the larger community, then cool.


How about just one....

mfer's picture
mfer - Sat, 2007-12-01 13:51

After a night to sleep on this how about just one task. Since this is neither core or a top 10 module we might want to hold off and see if better/more usable tasks come up. Though, this one goes nicely with the podcasting recipe task in my mind. Though, I am a podcaster so I am biased :)

Background: The documentation on how to theme the flash player in the audio module is entirely out of date. Theme functions have changed. Players have been added. And, there is a new default player. The question keeps coming up on how to theme the flash players.

Title: Document how to theme Audio module flash players

Description:
Customizing the flash player on a site that provides provides audio is often required. The audio module provides 2 flash players (1pixelout and XSPF) and one of the flash players (XSPF) can be configured in 3 entirely different ways.

The task is to document how to theme all configurations of both flash players in the audio module

http://drupal.org/handbook/modules/audio
http://drupal.org/node/34043
http://www.1pixelout.net/code/audio-player-wordpress-plugin/
http://www.innovatingtomorrow.net/2007/10/22/how-theme-1pixelout-flash-p...
http://musicplayer.sourceforge.net/

I'd be willing to be the POC on this.

Matt Farina
www.innovatingtomorrow.net
www.geeksandgod.com
www.mattfarina.com


Looks great...

webchick's picture
webchick - Mon, 2007-12-03 08:55

Please create a feature request for whatever module is most appropriate, and taskify :) If you don't have perms, then please ping addi or I on IRC and we'll hook you up.


Add "available update" indicator to installed modules

snufkin@drupal.org's picture
snufkin@drupal.org - Sun, 2007-12-02 15:29

Title: Add "available update" indicator to installed module

Task description: The module install page received some attention do to the communities effort to improve usability there. A recent GHOP task was to add information to the installed modules such as help and configuration links and cosmetic changes to make it easier to see the installed modules in the list. The applicant to this task would enhance this feature by adding an extra notification to the module's row when an update is available, optionally offering a link to the upgrade package.

This would bring the update mechanism one click closer for the site admin and reducing redundancy in administration interfaces.

Information for updates can be extracted from update_status module.

Resources:


Integrate Userpoints with actions

jredding's picture
jredding - Sun, 2007-12-02 16:02

GHOP TASK STATUS Task is ready; pending to see what other things we have available.

Task Title: Integrate userpoints with actions

Task description Consists of:

The userpoints module allows users to gain points for participating on the site; posting nodes, commenting, inviting users, etc. Unfortunately points can only be granted for actions that are defined by contributed modules. Integrating userpoints with actions would allows users to gain points for almost everything that can be done on the site.

Task detail:

Research the actions module and other modules the make use of actions (for example the workflow module)
*Write a custom module that provides a "Grant points" action.
*
The "Grant points" action should have a configurable option to hold a postive/negative number which is the points to "grant"
*When the action is fired it should call the userpoints_userpointsapi with the appropriate number of points
*Test that the action fired by using a module (or creating a custom module) to fire the action (example the workflow module can fire an action)
*Module should properly test for the actions module and the userpoints module as dependencies (.info file)

Deliverables
*A module the provides an action to the Actions module

Resources
*README.txt in the userpoints modules (for how to use the API)
*http://drupal.org/project/actions
*http://drupal.org/project/workflow
*http://drupal.org/project/userpoints

Estimated time
3-5 Days

Primary contact
Me (Jacob Redding)


Views too...

jredding's picture
jredding - Sun, 2007-12-02 16:31

This same task can be applied to views as views integration is also highly requested.

-Jacob Redding


Another UP task

jredding's picture
jredding - Sun, 2007-12-02 16:09

GHOP TASK STATUS: Task ready; pending to see what options we have

Task Title: Retroactive points

Task Description:
The userpoints module allows users to gain points for participating on the site; posting nodes, commenting, inviting users, etc. Unfortunately it you start using the userpoints module after your site is setup users miss out on points from actions (posting nodes, etc.) that they had done in the past. Currently the retroactive modules fixes this by granting a lumpsum point total for items that occurred in the past. Lumpsum total lose all of the details though.

The task is to fix this module by having the retroactive module recalculate all points on an item by item basis. For example if a user posted 10 nodes they would receive 10 point entries. These points would be directly tied to the nodes that granted them the points.

Task detail:
*Modify the retroactive.module in the userpoints module package to add points in for each individual node/comment posted.

Deliverables
*A modified retroactive module

Resources
*README.txt in the userpoints modules (for how to use the API)
*http://drupal.org/project/userpoints

Estimated time
1-3 Days

Primary contact
Me (Jacob Redding)


YaUPt (Yet Another UserPoints Task)

jredding's picture
jredding - Sun, 2007-12-02 16:27

GHOP TASK STATUS:: Added: http://code.google.com/p/google-highly-open-participation-drupal/issues/...

Task Title: Demonstrate ease of using Userpoints

Task description Consists of:
The userpoints module allows users to gain points for participating on the site; posting nodes, commenting, inviting users, etc. Granting points for various can sometimes be as simple as writing 5 to 10 lines of code. Unfortunately the documentation and demonstrations of this ease of use are often missed by Drupal users.

Task detail:
Do this in 2 phases
Phase 1)
* Research the userpoints API and how to grant points to a user
* Create a node and using the PHP filter grant 10 points to the currently logged in user
* Write up a page describing how you completed this phase.

Phase 2)
* Create a module that grants points to nodes that contain an attachment.
*** use hook_nodeapi and on the "insert" op check to see if the node has any attachments
*** If the node has attachments grant the author of the node 10 points.
* Write up a page describing how you completed this phase.

Deliverables
*One or two pages of documentation explaining how you start with a simple page that grants 10 point to the currently logged in user and how you extended that into a custom module that grant points to Authors of nodes that contained attachments.
*BONUS deliverable: A screencast demonstrating this!

Resources
*README.txt in the userpoints modules (for how to use the API)
*http://drupal.org/project/userpoints
*http://drupal.org/handbook/modules/userpoints

Estimated time
1-2 Day

Primary contact
Me (Jacob Redding)


User titles based on points

Michelle - Sun, 2007-12-02 17:09

GHOP TASK STATUS: Added: http://groups.google.com/group/drupal-ghop-2007/browse_thread/thread/a8d...

Task title: Patch user titles to allow basing titles on points

Task description:
User titles is a great module for social networking / forum sites. Unfortunately, it only counts posts when determining the title. It would be awesome to have an option to use the points from the user points module to base the title on. There is an open issue (see resources) with some clues on how to do it. It just needs someone to take the time to implement it.

This task would entail writing the patch to user titles which checks if user points is installed and, if so, adds an option to the settings page to use points to determine title rather than posts. I'm envisioning a radio button at the top with "Posts" and "Points" and the rest of the UI staying the same. Since changing the radio button would change all the titles, a warning to that effect woudl be helpful. The code that determines the title would need to check which option is selected and act accordingly.

Resources:
http://drupal.org/node/159923 (Issue)
http://drupal.org/project/user_titles
http://drupal.org/project/userpoints

Estimated time: 2-3 days.

Primary contact: Me (Michelle) [Unless either jredding or the user titles maintainer is interested]

Michelle


See my Drupal articles and tutorials or come check out life in the Coulee Region.

@michelle and jredding

webchick's picture
webchick - Mon, 2007-12-03 08:57

Those are good tasks, but since they're all based around the same module, how about pick two of them for now, and taskify them? We can always add more later if those first two go well, but we do have a lmited number of tasks so I'd like to spread things out if I can.


I nominate UP+Views

jredding's picture
jredding - Mon, 2007-12-03 16:10

Views is insanely popular and gaining experience with that is incredibly useful.

It is, however, the most challenging of the tasks.

I would suggest that the "YaUPt (Yet Another UserPoints Task)" task is a really good research + a little coding task as you don't need to know much about coding to complete it. You just need to know the basics.
http://groups.drupal.org/node/7362#comment-21959

So those are my two
1) UP + Views (Challenging coding task)
2) YaUPt (Research & Documentation task)

Other than what I've written above for these tasks how else should I "Taskify" them?

-Jacob Redding


Thanks, Taskified those two.

webchick's picture
webchick - Mon, 2007-12-03 17:14

I had to kind of make something up for the Views integration one, but I pointed them at the existing issue.


I added this one too

webchick's picture
webchick - Mon, 2007-12-03 19:08

Michelle brought up the point that although this has something to do with UserPoints, it's not actually about that module, but rather about User Titles. Also, it's nice to give more people the opportunity to mentor, so congrats, Michelle!


Hierarchial pointing system

sree@drupal.org - Mon, 2007-12-03 08:40

GHOP TASK STATUS: Ineligible; not a task. See below.

How about having some module which is capable of giving 'hierarchical pointing system' - something like the concept of (MIM) or amway!

User A registers - inturn makes about x members to register under his inv for which he will be getting some points & reached to some level... inturn whenever each person under him makes other to register this A also getting his points increased etc etc ....

Needs to be a proper task

webchick's picture
webchick - Mon, 2007-12-03 08:58

Please see http://code.google.com/p/google-highly-open-participation-drupal/wiki/Ho... for guidelines.

That said, this idea sounds a little sketchy, I gotta say. ;) But it could be an interesting problem to solve, provided user points doesn't do this already?


Pyramid schemes!

jredding's picture
jredding - Mon, 2007-12-03 16:11

he he.. that's funny.

-Jacob Redding


redefn ....

sree@drupal.org - Mon, 2007-12-03 09:14

GHOP TASK STATUS: Ineligible; no community consensus around this being a good, useful contribution to the community, and can be done with existing contributed modules.

Task title: MLM system (or) Hierarchical pointing system

Task description:

When a user A makes few others - say X(eg 5) other to join our site, A reaches to some new level as say bronze from registered user level. Now if in turn each person from this X(Here 5) makes X(5) others to join under each of them then these 5 reaches bronze level making the person A reach silver level & so on ....

Hope I am clear?

expected deliverable:
Module providing some functionality like amway.

Resources: A bit of tweening to user points modules may achieve this!

Estimated time: Approximately 3 days

Couldn't you use the

Ron Williams - Mon, 2007-12-03 14:49

Couldn't you use the userpoints_role and the referral_points module for this functionality?

This method would not be tied to how many referrals someone has; it would be based on the userpoint count. However, if you only used it for counting based on referrals, it would be tied to how many referrals a user has.

yes...

jredding's picture
jredding - Mon, 2007-12-03 16:17

This would only require some tweaks to userpoints_role and referral_points. The new version 3 of the API (still in dev. awaiting a bug fix) make it possibly to do the whole pyramid scheme thing (entity_type and entity_id fields could hold information to trace whom invited/referred whom).

With all that said I don't see how building this is helping core Drupal or a community at large. This is a pretty niche thing and I'm not sure the students here would get much learning experience from this.

Remember that these tasks are NOT free labor or a way to get these teenagers to do stuff for us. In reality we're volunteering to mentor them. While we're deriving some immediate benefit here that's end goal. We need real tasks that would get them involved in the larger community. Our main benefit is derived years later when these kids get heavily involved in OSS (maybe partially b/c of this program) instead of going to work for Microsoft or any of the other large anti-OSS organizations out there.

-Jacob Redding


Task title

catch's picture
catch - Mon, 2007-12-03 18:00

GHOP TASK STATUS: Added: http://code.google.com/p/google-highly-open-participation-drupal/issues/...

Task title
Benchmark the "Improve table indices for common queries" patch at #164532

Task description:
This release critical issue has been through several iterations and now has a committable patch. However, since it deals with performance, the Drupal 6 maintainer, Gabor Hojtsy, has requested benchmarks to see how much difference it'll make.

To benchmark successfully, you must select pages and configurations which will be affected by the patch (i.e. by enabling certain modules, generating content etc.) and then compare a patched and unpatched Drupal 6 install.

To complete the task, a response must be posted to the issue, with a summary of your results and a .txt file with the full results.

Resources:
http://drupal.org/node/164532#comment-646510
http://drupal.org/patch
HOWTO benchmark drupal code
Setting up a development environment

Estimated time:
2-3 days.

Primary contact:


[Two] Documentation-related tasks

keith.smith's picture
keith.smith - Tue, 2007-12-04 16:29

Potential Task #1: Provide Handbook page for file permission problems

  • Propose and offer for review a documentation page providing help for
    common file permission errors encountered during installation.
    -- See http://drupal.org/node/197690
    -- See http://drupal.org/node/191310 (especially comment #47)

    This help page should provide common methods for modifying file and
    directory permissions both through a command line, OS (GUI), and a common
    FTP client. Information should be provided for Linux, Mac, and Windows clients.

    As part of this task, create and offer for review a patch to Drupal core
    that:

    • modifies the link shown in the installer error messages (below)
      to link to this new Drupal.org handbook page.

      "The directory files is not writable. To proceed with the
      installation, please ensure that the files directory exists and
      is writable by the installer. If you are unsure how to create this
      directory and modify its permissions, please consult the on-line
      handbook or INSTALL.txt."

      and

      "The Drupal installer requires write permissions to
      ./sites/default during the installation process. If you are unsure
      how to grant file permissions, please consult the on-line handbook."

    • modifies the appropriate section of the file UPGRADE.txt
      to add a link to this new Drupal.org handbook page.

Potential Task @2: Modify help text to reflect drag-and-drop ordering

  • Review the recent addition of drag-and-drop ordering to pages in Drupal core
    (such as the blocks configuration and menu pages, among others). Propose and
    offer for review a core patch in the Drupal core issue queue that modifies
    the help text for affected modules to reflect drag-and-drop ordering.

    Both the on-screen help (the help text shown above each of these
    drag-and-drop enabled pages) and the module's main help page (the help text
    shown by selecting Administration -> Help -> (module name) should be
    modified, as necessary.


Hi @Task 1: At least if the

Corni - Tue, 2007-12-04 16:37

Hi
@Task 1: At least if the student want to makes screenshots, it will be very hard to find someone here, because access to windows: ok, every normal person has one or more copys :( or, at least, at school he/she should be able to do this. linux: LiveCD, installed, easy. But Mac? if you don't have a mac, you'll have problems to solve this task. And find a student who own's a Mac and who have linux&windows installed, too. Good Luck ;)
Corni

That point is....

keith.smith's picture
keith.smith - Tue, 2007-12-04 17:38

....well taken. Perhaps the task in #1 could be amended so that one could complete it for any two of three platforms (Windows, Linux, and Mac). Then, the community could fill in the missing platform information.


A permission handbook page

add1sun's picture
add1sun - Tue, 2007-12-04 16:44

We do have a handbook page with information on UNIX permissions which would be a starting place that could be expanded upon.

http://drupal.org/node/34023


Sounds great...

webchick's picture
webchick - Thu, 2007-12-06 21:18

Could you try and write up a full task description for this according to the guidelines? We need a bit more details on what such a document needs to cover before we ca make it a task.

Thanks!


Compare multisite management tools

webchick's picture
webchick - Wed, 2007-12-05 05:30

One of Drupal's most powerful enterprise-level features is its "multisite" capability, which allows running numerous Drupal websites off of a single code base. This makes managing code-level changes extremely easy, although there is still some manual work needed to migrate database changes and create new sub-sites.

This task is to create a report that contrasts and compares various tools and modules out there for managing multisite installations. Choose at least three tools, and compare them on their features, flexibility, and ease of use.

// TODO: Enter specific feature suggestions to compare on here

As a conclusion, explain the pros and cons of each tool, and
determine which would you choose to make your next project (explain the
type of project).

Estimated time: 4 to 5 days


more comparison ideas

Matt V.'s picture
Matt V. - Wed, 2007-12-05 22:59

Similar to webchick's multisite module comparison idea above, there are several other module comparisons I'd like to see. Posts such as Image and Image Exact Sizes vs. Imagefield and ImageCache and Ubercart vs. E-commerce Comparison help to speed up the task of evaluating possible modules for a project.

Some possible comparisons I've come up with include aggregator modules, event vs. date/calendar, wysiwyg editor modules, modules for integrating cck & taxonomy. I'll be glad to write any or all of these up in the GHOP format, if I can get some feedback on which ones are worthy. I'm sure there are other similar possibilities, so I'm open to suggestions.


Love this idea...

webchick's picture
webchick - Thu, 2007-12-06 21:17

Could you try and write up a "boiler plate" task description for any kind of these comparison types of tasks? I'm sure we could come up with several.

Remember to be somewhat specific on how you want the end result to look and what you'd like it to include (screenshots, what criteria, etc.) ... if we don't specify, we probably won't get exactly what we're after. :)


boilerplate

Matt V.'s picture
Matt V. - Sun, 2007-12-09 05:40

Below is what I came up with for a comparison task boilerplate. Please let me know if it's too much. And Webchick, thanks for the initial comparison task, I borrowed quite a bit from it.

Personally, my first choice would be a comparison of modules for integrating cck & taxonomy: 1, 2, 3, 4. My second choice would be a comparison of wysiwyg editor modules. It may not be a top contender, but another one I've thought of is a comparison of "lightbox" modules.

p.s. - Has there been much thought put into making the modules themselves more modular, or encouraging more collaboration, or other strategies to avoid so much overlap?


Task title: Compare and contrast INSERT MODULE CATEGORY HERE modules

Task description: Create a report comparing and contrasting the modules intended for INSERT MODULE CATEGORY HERE. The report is intended to help speed up the process of module evaluation for new Drupal developers.

Due to the distributed and decentralized nature of open source development, multiple modules sometimes get created to perform very similar tasks. The modules may differ just enough to be warrented; however, similar modules make site development more difficult since each module may need to be evaluated individually. This task is to compare the following modules that have been identified to have similar or overlapping functionality:

INSERT MODULE LINKS HERE

Prepare a report that compares and contrasts the modules listed above. The reports should include a section for each module, including screenshots for each. Be sure to emphasize in the text and screenshots the differences in both the end-user and administrative user interfaces between modules.

The report should also include each of the following:

  • ease of installation and ease of use
  • a list of any dependencies or companion modules associated with each module (CCK, Views, API modules, externally hosted code, etc.)
  • a table of features and functionality of each module (Be sure to note both similarities and differentiating features.)
  • a list of access permissions associated with each module
  • a section of pros and cons for each module
  • bullet points describing any unique use cases (What specific functionality requirements would necessitate this particular module?)
  • status of the most stable release (development, alpha, beta, official)
  • if the tool or module is still in development, try to evaluate it's potential for successful completion.
  • a brief examination of the module issue queues looking for any glaring or recurring problems
  • a section summarizing your recommendations to site developers.
  • Optional: any recommendations of how projects might be merged
  • Optional: If, during your evaluation, you run across additional modules that scratch the same itch, feel free to include them as well

The deliverable for this task is a written report detailing each reviewed tool and a conclusion recommending one based on the criteria above. The task is complete when it has been posted to the Drupal Documentation issue queue and marked fixed (accepted) by a member of the Documentation Team. (ODT or RTF format preferred.)

Resources:
Other Module Comparisons


googlechart.module?

snufkin@drupal.org's picture
snufkin@drupal.org - Fri, 2007-12-07 14:34

Google just announced its charting API, how about writing a small library to use it from within Drupal? It wouldn't take too long to code and a googlechart.module could provide the necessary encoding functions so developers wouldn't need to implement them in each and every module.

The Google Chart module would provide functions to:

  • encode your dataset
  • allow coder-friendly ways to define your chart type, and translate it to google's own definition

This is what I could think of at this moment, any suggestion, thought is welcome!

More info: http://code.google.com/apis/chart/


Great idea...

webchick's picture
webchick - Fri, 2007-12-07 17:12

Do you by any chance know how to spec it out in a bit more detail? I'd love to make this a task.


task specification

snufkin@drupal.org's picture
snufkin@drupal.org - Fri, 2007-12-07 18:25

Task title: Write a wrapper module for the Google Chart API
Type: Code

Description: Google Chart is a great lightweight web tool that returns different charts, plots and graphs by URL variables This gives it a certain limit regarding the dataset (so be sure to implement a validating function that checks this and tells the user his dataset is not completely seen on the graph), but in return you can embed dynamical graphs without having any rendering task on your server. This is great for fast data visualization, and you even spare your server's CPU and bandwidth for these images.

You will need to write a module that provides easy to use functions for other modules. There are several encodings available for the dataset, as well as ugly abbreviations of theming your chart. With a helper module to create a graph a developer should be able to create a plot just by passing a dataset and a settings array to your functions that return the URL of the requested graph.

Example:

<?php
$settings
['color1'] = '#00000';
$settings['color2'] = '#ffffff';
$settings['type'] = 'bar';
$data[] = {5,4,5,6,8,1,12};
$url = googlechart_get_graph($data, $settings);
?>

if the developer wants this graph, he/she simply writes

<?php
print "<img src=" . $url . " />"
?>

Try writing separate functions for each task.

What you need to do for this task:
* implement such a module
* write a complete documentation for the available settings and options

Since the applicant does not necessarily has a CVS account, in that case he/she can submit the module directly to the relevant issue queue. Documentation should be added to the drupal handbook section.

Suggested time for the project:
4-5 days

Resources: http://code.google.com/apis/chart/
Primary contact: snufkin


task proposal..

fago@drupal.org's picture
fago@drupal.org - Fri, 2007-12-07 15:05

Write an "Execute arbitrary PHP-Code" action and condition for worklfow-ng

Issue: http://drupal.org/node/179917
Goal: Create a patch, which adds this functionality to workflow-ng. It should be possible to make use of all available arguments in the PHP Code. Also add token integration, which is no big deal with workflow-ng's token helpers. Provide an action that allows executing arbitrary code as well as a PHP enabled condition (returns TRUE/FALSE).

  1. Read more about workflow-ng: http://drupal.org/node/156282
  2. Read more about how to write actions and conditions: http://drupal.org/node/156754
  3. Study the code of workflow-ng's token helpers, which you can find here
    This is interesting for you, because the token integration makes use of all available arguments, like it should be possible for the written php code.
  4. Solve it like the token integration. Scan the code for all used arguments and make these arguments available to the PHP code on action execution time. This is necessary to ensure that only needed arguments get loaded. Be sure that tokens are replaced before the PHP code is evaluated.
  5. Add the condition and action as provided by the module "workflow-ng" itself, so add the code in the existing file modules/workflow_ng_workflow_ng.inc. Use eval() for executing the code. First start with the action. Once the action is in place, the condition is done easily.

Of course I'm available if any questions occur.


Great task write-up

webchick's picture
webchick - Fri, 2007-12-07 17:11

Thanks for taking the time to do this. It's now at http://code.google.com/p/google-highly-open-participation-drupal/issues/...


thanks.. :)

fago@drupal.org's picture
fago@drupal.org - Sat, 2007-12-08 12:41

thanks.. :)


citation filter

snufkin@drupal.org's picture
snufkin@drupal.org - Fri, 2007-12-07 17:00

Disclaimer: i am not familiar with filters, i just thought this is would be a cool thing to have.

Write an input filter, that allows the user to use citations easily in their posts the following way (example):

"Drupal is announcing GHOP [ref:google-ghop] projects to be completed by 13-18 year old students from all over the world [ref:world].

[google-ghop:http://code.google.com/opensource/ghop/2007-8/]
[world:http://en.wikipedia.org/wiki/World]

And the rendered version would look the following way:

"Drupal is announcing GHOP [1] projects to be completed by 13-18 year old students from all over the world [2].

References:
[1] The Google Highly Open Participation Contest - Google Code
[2] World - Wikipedia, the free encyclopedia


Hm...

webchick's picture
webchick - Fri, 2007-12-07 17:14

It looks that that'd be kind of confusing to enter by hand, since you need to edit text in two places. What if it were:

"Drupal is announcing GHOP [ref:http://code.google.com/opensource/ghop/2007-8/] projects to be completed by 13-18 year old students from all over the world [ref:http://en.wikipedia.org/wiki/World]."

And still printed the same. Would that make sense?


Citation input filter

snufkin@drupal.org's picture
snufkin@drupal.org - Sun, 2007-12-09 00:07

Task title: Write a citation input filter

Task description: Write an input filter that collects used references in the submitted textfield, and appends it to the text. The annotation of the references could be on the pattern of [ref:http://drupal.org]. Its often useful for a longer article not to have inline links, but to have a followable display of references used in the article, much like LaTeX/BibTeX does it, or Wikipedia.

The filter would replace the [ref:...] tags with numbers (links to the references listed on the bottom), and it would append the list of used references, repeating the replacement number and the link (possibly not just the link, but the <title> of the reference as a link to the page.

Example input:

This GHOP task is sponsored by Google [ref:http://www.google.com], and if you take it you can participate in the work of the incredibly cool Drupal [ref:http://drupal.org] community!

Example output:

This GHOP task is sponsored by Google [1], and if you take it you can participate in the work of the incredibly cool Drupal [2] community!

[1] - Google
[2] - drupal.org | Community plumbing

Primary contact: snufkin


Presentation: master slides

wmostrey's picture
wmostrey - Fri, 2007-12-07 20:06

Task title: Create presentation slide masters

Task description: Drupal currently doesn't have a default presentation style. This file could be used as a blueprint for presentations. Create a presentation with the following master slides:

  • a big title (front slide)
  • a title with bullets
  • a title with text
  • a slide containing a large druplicon logo on the left with text on the right

Resources:Marketing resources

Estimated time: 2 days


Identify and present Drupal show case sites in Africa

Amazon's picture
Amazon - Fri, 2007-12-07 19:25

Task title: Identify and present Drupal show case sites in Africa. The Drupal project would like to show that Drupal is well used around the world. We need a student to research, review, categorized sites in Africa.

Task description Consists of: The student must review community members who are in Africa, identify local groups in Africa, and create a network to identify quality Drupal sites in Africa. Once the research has been completed, the student must select a set of show case Drupal sites and write a paragraph about what is uniquely african about this site, and what capabilities of Drupal are well used. The student will add tasks to this wiki page in the marketing group. http://groups.drupal.org/node/6878

Several sentences/bullets that provide more detail into the task:

  • Identify know members of the community living in Africa.
  • Identify consulting shops in Africa that create Drupal sites
  • Identify local groups on groups.drupal.org that are in Africa.
  • Create a short list of Drupal showcase sites and seek a review from members of the Drupal community to ensure that these are infact show case worthy sites.
  • Create a brief write-up of the site, it's purpose, how it makes use of Drupal.
  • Take a screen shot of the site and modify the image to be used on this issue: http://drupal.org/node/190701

Resources Bulleted list of resources specific to the task. This includes handbook pages, off-site resources, IRC channels, related groups on groups.drupal.org, etc.
http://code.google.com/p/google-highly-open-participation-drupal/wiki/Fu...

Estimated time: Three days. 1.5 days researching sites, 1 day writing a paragraph about the showcase sites. Half a day manipulating the image.

Primary contact: Kieran Lal, aka Amazon

Drupal issue In a label, with the format: DrupalIssue-http://drupal.org/node/190701


Analyse 2007 Drupal security issues and suggest core improvement

Amazon's picture
Amazon - Fri, 2007-12-07 19:40

Task title: Identify common patterns in Drupal security issues in 2007 and make suggestions for core improvements

Task description Consists of: The Drupal security team has identified 33 security improvements so far in 2007. These improvements have been applied to some of 2400 Drupal projects including 4 fixes to Drupal core. The student should review the 33 security issues to date and write a one page report making recommendations for how Drupal core should be improved to avoid these issues.

Several sentences/bullets that provide more detail into the task:

* Read each of the 33 security issues for Drupal in 2007
* Create a security taxonomy to help classify issues
* Identify the most common vulnerabilities in Drupal core.
* Identify the most common vulnerabilities in Drupal contributed projects.
* Create a one page report for review by the 30 members of the Drupal security team.
* Once the report has been reviewed by the Drupal security team the report should be posted to the Drupal development list
* The student should post their report to report the security education section of Drupal handbooks.
* The student should post their report to the front page of Drupal.org

Resources Bulleted list of resources specific to the task. This includes handbook pages, off-site resources, IRC channels, related groups on groups.drupal.org, etc.
http://code.google.com/p/google-highly-open-participation-drupal/wiki/Fu...

Estimated time: Four days. One day reading 33 security reports. One day researching a security taxonomy. One day writing the brief report to the security team. One day publish and educating the Drupal community about Drupal security issues.

Primary contact: Kieran Lal, aka Amazon, and the Drupal security team.

Drupal issue In a label, with the format: DrupalIssue-http://drupal.org/node/198857

To seek, to strive, to find, and not to yield

New Drupal career! Drupal profile builders.
Try pre-configured and updatable profiles on CivicSpaceOnDemand


GHOP: Identify and optimize Drupal.org's slowest queries

Amazon's picture
Amazon - Fri, 2007-12-07 20:01

Task title: Optimize the slowest queries on Drupal.org

Task description Consists of: The Drupal.org website is currently approaching 18 million page views per month. It has a heavy load on the database server. One of the biggest improvements to performance can come from optimizing queries on Drupal.org.

Several sentences/bullets that provide more detail into the task:

  • Subscribe to the Drupal infrastructure list
  • Review the pre-processed slowest queries on Drupal.org
  • Request a MySQL Explain for those queries from the OSUOSL team
  • Research issues on the infrastructure issue queue and the Drupal project issue queue to see if these are known problems.
  • Respond to issues indicating what the current load in time that these queries are taking.
  • If the issues do not exist for these slow queries, file a new issue
  • Post a story to the High performance group requesting help to resolve this performance issue on Drupal.org
  • Subscribe to the developers list. Post an email to the developers list requesting help in optimizing this query.
  • Summarize the recommendations from the High performance groups, infrastructure list, developers list into a two paragraph statement about how to improve the slowest queries on Drupal.org

Resources Bulleted list of resources specific to the task. This includes handbook pages, off-site resources, IRC channels, related groups on groups.drupal.org, etc.
http://code.google.com/p/google-highly-open-participation-drupal/wiki/Fu...

Estimated time: Four days. One day signing up for mailing list and getting the latest slow query report. One day posting about the slowest queries. One day getting the Explain statement from the MySQL admins. One day writing up the recommendations.

Primary contact: Kieran Lal, aka Amazon

Drupal issue In a label, with the format: DrupalIssue-

To seek, to strive, to find, and not to yield

New Drupal career! Drupal profile builders.
Try pre-configured and updatable profiles on CivicSpaceOnDemand


task recon and brainstorming

Matt V.'s picture
Matt V. - Sun, 2007-12-09 07:58

I did some reading over the task queues in the other projects, to help generate some ideas. Here's a list of a few possibilities with some links back to the issues that inspired them:

  1. research Google Gears integration for offline publishing and site maintenance
  2. check core themes for Firefox 3 beta compatability
  3. write some unit tests

I also did some brainstorming on my own. I'm willing to write some of these up in more detail, if there's interest, but I wanted to get some feedback first. Some are more fully baked than others:

  1. Research Drupal 4.7 modules that have not been upgraded to Drupal 5. Based on activity in the issue queues, identify those that are still in active use and are thus ripe for upgrading, since they will otherwise "fall off the map" with the release of Drupal 6.
  2. Upgrade the highest profile modules found above to Drupal 5.
  3. Write documentation detailing step-by-step how to add an example jquery script to a Drupal form and/or node.
  4. Write documentation detailing step-by-step how to add an example jquery script to a Drupal theme.
  5. Create a Drupal theme using the Blueprint CSS framework.
  6. Record a screencast overview of the internationalization features in Drupal 6. (I have seen some coverage of the improvements, but nothing that has given me an overall understanding of the functionality.)
  7. Record a screencast on how to "Drastically customize a Drupal front page." In a recent round up of screencasts covering Dries' Drupal learning curve, this and the one above were topics I couldn't find good screencast coverage of.
  8. Write or adapt an appropriately licensed Creative Commons guide to CSS basics for beginning Drupal themers. Maybe I've missed this in the handbooks, but I see quite a few posts in the forums related to customizing themes that can be answered with just a little of the right CSS knowledge.
  9. Compile a list of templates (HTML/CSS, other CMS themes, etc.) that are licensed under the GPL but not yet ported to Drupal.
  10. Convert the best of the templates found above to Drupal themes.
  11. Fill in the missing icons in blanks of morten.dk's Drupal icon set.
  12. Compile a list of existing documentation sections appropriate for a Drupal administrator's handbook, as opposed to documentation tailored to developers. See recent discussion on Drupal documentation list.
  13. Write documentation explaining the implications of Drupal's GPL license in layman's terms. What does it mean to me if I'm a module developer, a themer, a Drupal business, etc.? There's been some discussion and probably additional clarification elsewhere.
  14. Browse the Drupal forums and compile a list of true Drupal 5 FAQs.
  15. Work with the Drupal Dojo to identify, recruit, and schedule trainers/presenters for some of the Dojo lesson ideas.
  16. Record a screencast explaining the basics of the Panels module.
  17. In addition to the videos section of the handbook, integrate the individual video links into the appropriate sections of the handbooks.
  18. Research and summarize recommendations on what makes a good product tagline (or maybe an elevator pitch would be better). Use the summary to start a thread to allow the community to brainstorm ideas and then organize a poll with a deadline to vote on the top contenders.

Task proposal

mooffie - Sun, 2007-12-09 13:41

Task: Prepare a "cheat sheet" of the various ways to link to resources, from PHP code, in Drupal.

The resources are:

  • Style sheets (can be linked from two places: from either a module or a theme)
  • Javascript files (again, linked from two places)
  • Images (linked from themes, but can reside in several places (files/, misc/, theme/...).
  • External PHP scripts (?)

In addition, the student should study the following three global variables:

  • $base_url
  • $base_path
  • $base_root

and prepare a diagram listing several example absolute URLs. The three components of every URL should be colored --each in a different color. (This too will be included in the cheat sheet.)

great idea! developer & maintaner cheat sheet?

snufkin@drupal.org's picture
snufkin@drupal.org - Mon, 2007-12-10 02:21

Great idea! how about making dedicated cheat sheets for developers and themers?

Stuff to be put on the developers sheet:

  • Basic, often used drupal functions such as t, url, (...)
  • module files description, what is needed in an info file, what install functions are necessary, how they look like (hook_install, hook_uninstall, hook_updateN)
  • Basic CCK development information (an excerpt of the example CCK widget to be found on developers handbook, CCK section)
  • Basic Views development information, argument handling
  • Basic php into block stuff
  • list of globals, what elements the objects have

CVS cheat sheet for Drupal (after IRC discussion with add1sun and webchick)
a) I'm trying to checkout projects from CVS
check out different versions of core
check out modules to directories

b) I'm a developer trying to maintain my module
create a project
create a branch for the project
create a tag for the project
checking out a given branch of the module
creating a patch
merging a patch

for themers we could have a description of different theming types, a short description on template files, how to write content type based templates, what types of variables are available in a template and so on.


Can't add owner or type?

wmostrey's picture
wmostrey - Tue, 2007-12-11 09:11

I created my first task: http://code.google.com/p/google-highly-open-participation-drupal/issues/...
At creation I didn't have the option to select an owner or a type, and I'm not able to edit it after creation. How do I do this?


Thanks for creating a task

aclight@drupal.org - Tue, 2007-12-11 13:56

Thanks for creating a task. I think your question above is answered at http://groups.drupal.org/node/7360#tasks

Specifically, you need to be added as a group member to be able to set owner, etc. We'll need your google account to do this. If you want to either contact me via my drupal contact form or find me in #drupal on IRC, (aclight) I'll add you as a project member. There are several other people who can also add you (see project owners list at http://code.google.com/p/google-highly-open-participation-drupal/).

One thing--before your google issue can be made official, I think you need to make a few things more explicit. We like there to be a very clearly defined end point. You say to make a presentation, but you don't specify the format, etc. The students are generally good at following directions but when the specifics aren't given up front they sometimes go off track. The more explicit you are the better the task will be :) Also, we've decided to make all tasks 1 week long. This makes tracking what's due and what is overdue much easier.

Unfortunately, editing the actual task on google is not possible once it's posted. Your options are to either add a comment with more explicit instructions or to create a new task and we can withdraw the one you created already.

Also, as per http://groups.drupal.org/node/7360#tasks, we need you to also create an issue for this on drupal.org with a title like "GHOP #xx: Title of task here". I know it's a pain to have to create both a d.o and google issue for the same task, but Google requires that we use their tracker for the contest but most d.o users don't check on the google issues regularly. The feedback has been MUCH better since we started requiring a d.o issue for every GHOP issue. We try to encourage students to use the d.o issue for most communication and just the Google tracker for official things like claiming a task and finalizing it.

Thanks for starting the process on this task. If you have any questions about what I've said here, feel free to contact me.

An issue has been created

wmostrey's picture
wmostrey - Tue, 2007-12-11 15:07

Thanks for the reply. Feel free to drop #81. I create a task idea for this: http://drupal.org/node/199900.