SoC 2008

Welcome Summer of Code 2008 students!

Student tasks and due dates:

  • April 14 - May 26: Accepted students talk with mentors, start getting acclimated to the community, get setup with CVS access, etc.
  • May 26 - August 11: Code!
  • July 7: Mid-term reports due
  • August 11 - August 18: Last minute clean-up.
  • September 1: Final status reports due.
Aron Novak's picture

Specification and design of aggregator for Drupal 7

Here I summarize what you should expect from core aggregator for Drupal 7.

Read more
Aron Novak's picture

Typical problems and questions while concepting about an aggregator

As maybe you heard, my application was accepted to write a new aggregator for Drupal core :) : http://code.google.com/soc/2008/drupal/appinfo.html?csaid=1222E090E875B36D
Here as a first step, I would like to collect lots of possible problems in aggregation area. Please share your opinion about these questions to help Drupal 7 to have as good aggregator as possible :) :

The items are not necessarily ordered by relevance.

Node creation

Read more

Views output to XML/RDF/JSON/XHTML

Project information

http://drupal.org/project/views_datasource

Current status:

Doing summer exams
Complete Atom support
Completed FOAF and hCard renderers and parsers, rolling 5.x and 6.x 2nd alpha release.
1st alpha release made; working on 2nd alpha release including FOAF and vCard renderers.

@TODOs:

  • Modify the devel generate-users script to insert values for profile fields as well.
  • Go through the JSON and XML specs and see what characters need escaping as node content can contain pretty much any character.
  • Delve into Views 2 options forms especially the one for the table view type to see how to write a form to allow mapping of view fields onto JSON or XML elements.(not needed right now.)
  • Delve into the latest Views 2 beta - Views 2 beta 3 and see what cool stuff merlin has added to this release especially more default view types which means more code examples.
  • Grok the Drupal unit test framework and start writing unit tests for my plugins.
  • Grok Views 2 relationships
  • Figure out if it's possible in Views 2 if it's possible to dynamically add an icon in a normal view that links to a different view style - the way the RSS plugin works.
  • Have a think about the stuff I should expose in the module beyond the main functions...access control is a no-brainer, but should there be a hook_node_xml or hook_node_json just like RSS does so modules can prepare their nodes to be serialized into these formats.
Read more

Nodequeue Companion Modules (Project Wiki)

Project Information

Drupal.org project pages:
[1] http://drupal.org/project/smartqueue_users
[2] http://drupal.org/project/smartqueue_og

Description

This proposal consists of two related modules, user_nodequeue and og_nodequeue, both of which are built using the Smartqueue API provided by the NodeQueue module. For detailed specifications, see the Project Proposal

The user_nodequeue module [1]

Read more

New Aggregator for Drupal

Project information

Project page on drupal.org: http://drupal.org/project/new_aggregator

Current status: A basic design is ready, check out the project page. Latest result: list of problematic things in content syndication.. Please check out and add comments!

Description

Main goal:
Create a simple but extensible API for aggregation that ships in a configuration that covers the most common use case of aggregating feeds as nodes on a web site.

The basic architecture consists of three pieces:

Read more

Validation API for JS/PHP

Project information

http://drupal.org/project/validation_api

Project description

Creating a validation system, that will add additional validations to any form field (core or contrib) with a UI in the admin section. Plus, I will add AJAX to forms that will allow forms to be validated and return errors without loading a page (if there are not errors, then it will run drupal's normal submitting system).
GSoC Page

Project schedule

Read more

Bookings API + implementation

Project information

Project pages on drupal.org:

Current status: Blocked on Calendar views, but working on other things for now.

Description

Proposal on groups.drupal.org (currently not exactly the same as submitted proposal)

Read more

Icon Module

Description Description

The Icon module will add a central system for icons in Drupal, which will help improve the usability. In a way similar to themes or modules, it will allow users to install icon sets and choose which icons to use for their theme. By providing a simple API, developers may use icons in their modules in an easy and coherent way, without reinventing the wheel.

Icons will improve the usability of Drupal's admin pages, which are often overloaded with text and are especially unfriendly to new users. The module will allow administrators to install icon sets, and optionally select which icons to use from the installed sets. The main goal is for this module to be included in core, so I'll look at the implementations of themes and modules in core to build a system of that standard. With a framework like this, themers and developers would have a standard way of adding icons to Drupal..

Read more

Improve the Help system in Drupal

Description
The purpose of this project is to improve the help mechanism, and introduce features to reduce the hardships faced by web site administrators who are either new to Drupal, or to web technologies, as most of the new users spend hard time at Drupal's help methodology.

Enabling users to get inline help, with reference to in-depth topics, Drupal-centric terminology help using tooltips(glossary), potentially leading users from error or warning messages into the contextual documentation and a whole new experience browsing help topics in administration, is a part of usability improvements to Drupal.

Separate help file for modules, ease of maintenance of help by other contributors, etc. are some of the features benefiting Drupal module developers.

Project page Project page — http://drupal.org/project/help_soc (Abstract)
Demo Demo installation — http://soc08.myzonelabs.com/(Out of date)
Discussion Group Discussion Group — http://groups.drupal.org/help-system

 Milestones
 List of achieved tasks, with the last ones being the active job or the to-do list.

[2008-06-01] Review advanced help module code.
[2008-06-11] Integrate advanced help with core.
[2008-06-15] Add a form element for displaying help link
[2008-06-24] Add Table of Contents inline with topics.
[2008-06-27] Add sample help topics for core modules.
[2008-06-27] Overview of all Help topics by module
[2008-06-29] Integrate hook_help() into hook_menu().
[2008-07-01] about.html to be default help file.
[2008-07-05] Add ability to search help topics.
[2008-07-xx] Build a basic glossary handling/structure.
 Shouts
 News & announcements for happenings, hurdles, and other encounters while coding.

[2008-08-23] First patch hits here #299050.
[2008-08-23] All project dev. halted; everything into patches!
[2008-08-13] Patches for core coming soon!
[2008-08-13] Still alive. Giving final touches to module!
[2008-08-05] Help SoC showcased at Google Bangalore!
[2008-07-15] Going to Google Bangalore! ~2500km Train.
[2008-06-27] Demo for latest changes is up!
[2008-06-27] 7.x-0.2 of help_soc package is out!
[2008-06-24] Check dev. release for latest feature set.
[2008-06-23] Back in form after week full of distractions.
[2008-06-12] First version of help module released
[2008-06-12] Help system group setup!
[2008-06-12] Revamped wiki page.
[2008-06-11] Coding starts in the midst of exams.
 Releases
 All releases | CVS logs | CVS repository

 [2008-06-27] 7.x-0.2 | CVS | Release Notes
 [2008-06-12] 7.x-0.1ALPHA1 | CVS | Release Notes
 Notes
 Information regarding release specific installation or patching, weekly report, etc.

1. Release notes
1.1. 7.x-0.1ALPHA1
This is the first release of the help module for Drupal 7 incorporating most features of advanced help module with some minor changes.
Installation:
  1. Before installing Drupal 7(HEAD release), remove the help module at modules/help.
  2. Place the help_soc package under sites/all/modules directory
  3. Install Drupal. Help module is installed automatically.
  4. Enable Help Example module. UPDATE: Oops, looks like I forgot to commit help_example.
  5. Installation complete.
Change Log:
  • Change of path for help topics.
  • Change in breadcrumb links.
  • Back and Close links in popup help.
  • Theme popup view only when topic is opened in a popup(javascript), aka Degradable.
  • Bind click event to help links to open in popup, using jQuery.
Known caveats:
  • Current help text cannot be browsed under admin/help.
  • Hence, all the "More help" links are currently broken.
  • Broken RTL CSS.
1.2. 7.x-0.2
Change Log:
  • Help Example now included in package. Provides links to working examples of new help feature.
  • Working example links at admin/build/modules and admin/settings/site-information pages.
  • Added #help form element, to link to help content, inline with form fields(text field, etc.).
  • Improved theme_help_link().
  • Removed Back and Close links from popup, in favor of breadcrumbs and browser close button(X).
  • TOC(Table of contents) on index page are not listed recursively.
  • TOC shown on each page, with the current or parent topic expanded, and others collapsed. Note: Broken for deep children.
  • CSS styling for TOC and children TOC(below topics), for better visibility.
Known caveats:
  • Table of content doesn't "expand" menu when browsing topics with depth greater than 1. Current code is mere hackish approach.
1.3. 7.x-0.3 (Prospective)
Change Log:
  • Browse help "By Modules".
  • A bit styling for Table of contents box and on by-module browsing in popup.
  • Integrated hook_help() and hook_menu().
  • Help SoC module now overrides Drupal's default help system to provide inline help on pages. What is drupal_help_arg() all about?
  • if module_name/help/about.html exists, it'll be defined automatically, and can be overridden in module_name.help.ini.
  • Added search for help topics. Available at ?q=search/help when search.module is enabled.
2. Weekly reports
2.1 Week 1 ~ 2008-06-18
  1. What did you get done this week?
    Better looking wiki page(not a necessary task though), The porting was quicker than I thought, and that combined with a few changes listed in change log, formed the first release 7.x-0.1ALPHA1 (rocket science naming, won't be repeated.).
  2. What's your plan for next week?
    Spend more time, coding and thinking. I'm looking for inspirations and suggestions all the way!
  3. Is there anything holding you up?
    You mean distractions? A lots.
2.2 Week 2 ~ 2008-06-24
  1. What did you get done this week?
    Mostly tweaked the pop-up UI, added new form field to handle inline help link, and the upcoming release or the current dev. release includes help_example module that missed to make it into the first release.
  2. What's your plan for next week?
    Wrap up the pop-up improvements and move on to writing some quick help for a few modules, and based on them, start with help UI in administration (admin/help; by-module, by-topic, etc.).
  3. Is there anything holding you up?
    A month's training starts at my institute, eating my afternoon on weekdays. No more late nights. But kind of good at early to bed, early to rise... principle :D
2.3 Week 3 ~ 2008-07-02
  1. What did you get done this week?
    The majority of changes this week affected how the help is defined by module developers. Drupal's core hook_help() has been integrated with hook_help() to provide inline help using the new module package. Moreover, if help/about.html file is present, whether there is a example.help file or not, it'll be automatically assigned to be the default help page for that module, unless overridden.
  2. What's your plan for next week?
    Allow modules to override or add some new help into other module. It might be tricky to retain it's compliance with current translation approach. Other than this, this week might strike for some more UI and features, hopefully including the glossary/dictionary!
  3. Is there anything holding you up?
    Nothing much.. But uhmm, python learning eagerness? I have been working on a python script(my first): g15-gmail-notifier, if you know what G15 is, you know what it means. :)
    UPDATE:
    #1 6 to 8 hours of electricity/power cuts during day in our region :(
    #2 Need to submit a short project report at my university.
2.4 Week 4 ~ 2008-07-15
  1. What did you get done this week?
    Updating soon...
  2. What's your plan for next week?
    Updating soon...
  3. Is there anything holding you up?
    9am to 11pm power cuts, with half an hour available twice in between. This doesn't mean I want to excuse myself to work on the project. But this is yet another excuse from me.. sorry dmitrig01 :( With the little time we get to browse in the morning, I am just able to cope up with updates all around and have a peak at what is going on. During power off time, I am able to make check my mail or browse around using wireless internet on my psp, but not enough for development. This might go good if I turn nocturnal. And we are considering buying a generator, as my project isn't the only one being affected.
2.5 Week 4 ~ 2008-07-15
  1. Going off for little over a week for a meet at Google's office, couple of thousands kilometers from here.
2.6 Week x ~ 2008-08-15
  1. A lot of changes went into the module to be compatible with current drupal core. Moreover, we now have help module's help as the special "help topics" container. In other words, help.module's help shall contain all the table of contents or topic listings, which link to individual module's help. about.html file was added for each core module, with a mere description text in it. Other changes include about page being the default page for a module. i.e. if you visit admin/help/color, it'll be same as admin/help/color/about.

    As the TestingParty08 issues end in drupal's IQ(issue queue), expect HelpParty08 ones. Each module needs documentation of the features and configuration that it provides.

    Also worth nothing here: yoroy's suggested welcome page layout: http://www.yoroy.com/elders/drupal/help-startpage.png

3. Self notes:
  1. Make it easier for module developers to add help
    1. Move defining of help topics into .info files, or into maybe hook_help() with syntax similar to hook_menu(). Both .info and hook_help() have been implemented(currently commented) but none of them proved to be as efficient as the current method. @see http://www.pastie.org/224271
    2. A default page, say about could possibly be a default help file, and could be loaded without the need of parsing help ini.
    3. Help SoC package does not provide support for inline help, viz currently provided by hook_help().
    4. Integrate hook_help() with hook_menu(). e.g. http://www.pastie.org/224158
    5. Instead of aggregating topics from a help server, a special module could be provided to override and include a lot of help on general topics. Different modules for this could exist based on the level of expertise of the administrator. [Not soon]
    6. Should we allow end-users(not the admins) to browse help? In other words, separate help permission from 'administer site configuration' permission. Feature added, but broken due to parent path permissions. Expect rollback soon.
    7. example.help instead of example.help.ini
    8. Separate the help contents from module/hook_help().
    9. Translatable help text. (not well tested, nor upto drupal standards).
  2. Make it easier for people to use help
    1. Glossary of Drupal terminology. I'll make it, however would miss SoC deadline.
    2. Route users from errors and warnings to help topics, like "What to do in case of a MySQL error?" or just link to "Troubleshooting".[Will not happen]
    3. Ability to search through help topics. If caching or other such features get into module later on, search system will need a touch most of the time. So this one is postponed for later work.
    4. Bottom navigation should link to child pages too(nested), similar to book module.
    5. A "Welcome to Help center" kind of Help page with aggregated topics. Something on the lines of this. [Welcome page structure is in. Now to the layout and content part. This will likely be the welcome to Drupal page as well.]
    6. Make users able to browse help content based on their "topic", independent of modules. (as opposed to current per module topics). [Will not happen, We have a better proposal; see Welcome page post.]
    7. Link to help on modules page for disabled modules. This would require a core patch, although a hackish approach could be attempted in help soc package. [Will not happen, makes less sense to provide help for modules that are not enabled.]
    8. Browse help topics defined by each module. A page similar to admin/by-module.
    9. Present "flexible" help links next to form fields.
    10. Help links on modules page. Currently accomplished as a mere demo. Requires core patching, or just some hook_form_alter() work.
    11. Display "Table of contents" on all help topic pages.
    12. Optionally, launch help topics in popup, when not on help portal. Provides better experience, as the user doesn't need to leave the page where they might have filled up certain fields, which possibly could be lost when navigating back to that page.

Project page Discussions...
   ... are over there.

Read more

Usability Testing Suite

Project information

Project: http://drupal.org/project/uts
Status: Google Summer of Code development complete. (related release: uts 6.x-1.0-beta2)

Description

Provide a method of measuring the user experience which has been stated as a very important goal of Drupal. In Dries' keynote he detailed the results of the usability testing and stressed that we should "Continue to make Drupal easier to use." This project will provide a suite of usability testing tools that will allow data to be recorded and analyzed in order to make improvements to Drupal's usability.

Additional Reading:

Read more

Embed Widgets Wiki Page

Project information

New Project Page: http://drupal.org/project/embed_widgets
Demo/Test Site: http://www.deviable.com/widgets

Description

Provide an Embeddable Widget option for Drupal pages. This will enable the page to be embedded to any website as an IFrame or Google Gadget. The API will be designed in such away that will allow it to support many more types of widgets such as JavaScript and Flash.

Original discussion of the project: http://groups.drupal.org/node/9633

Deliverables:

Read more

Memetracker Wiki Page

Project information

Project pages on drupal.org: Memetracker and MachineLearningAPI

Current status: Writing tests, adding CRUD functionality, writing code to detect interlinking

Description

I am writing two modules for Drupal as part of Google Summer of Code. One called Memetracker and the other called MachineLearningAPI. The Memetracker module will use algorithms in the MachineLearningAPI to intelligently filter and group content from designated content sources both internal and external. The module's purpose is to find and display to a community in real time the most interesting conversations and memes within the community as they emerge.

My project will emulate functionality of successful commercial memetrackers such as Techmeme, Google News, Tailrank, and Megite. It will be an open-source implementation of memetracking technology that can be easily plugged into Drupal-based community sites.

Read my full proposal

Read more

Improving the Apache Solr Search Integration module

Project information

The project is finished, the final release can be downloaded here.
It contains, besides the old prototype, a complete Solr backend for Views, which can be used by applying the contained patch to the Views module. I also posted this to the Views issue queue in the hope that it might be directly committed to Views, but at the moment no one has yet responded.
Once the patch is applied, Solr views can be easily created by selecting the Apache Solr base table when adding a new view.
This will also be merged into the normal apachesolr D6 branch soon.

Project page on drupal.org: Post to issue queue; apachesolr project (HEAD is for Views integration development); Demo site
Current status: Finished.

Description

The Apache Solr Search Integration module is a very convenient tool to integrate the Apache Solr search facilities into a drupal project. Yet, one of its flaws is that it's way of presenting the search results rather static, missing the customisation facilties that, for example, the Views module provides. This project aims at improving the usability of the apachesolr module by porting it to the latest version of drupal, integrating a way to present its search results with the Views front-end and adding the possibility to index attachments.

Read more

Improving color.module for Drupal 7

Project information

Project page on drupal.org: http://drupal.org/project/color_soc08
Color.module SOC '08 page: http://www.skiquel.com/dev/color
Color.module SOC '08 Demo! http://www.skiquel.com/lab/drupal-6
Color.module SOC '08 Blog: http://skiquel.com/soc
Proposal: http://groups.drupal.org/node/10072

Current status: Preparing demonstration for SOC. Continuing work on trying ideas, features, and trimming down the code to be as efficient as possible.

Description

Improving color.module to empower theme developers and webmasters.

Read more

Security scanner component for SimpleTest module

Project Information:

Project page on drupal.org: http://drupal.org/project/security_scanner
Current status: Docs
If you wanna add something please look at http://drupal.org/node/259324

Description:

Read more

Image Manipulation GUI

Project information

Project page on drupal.org: http://drupal.org/project/image_overlay
Please check out my: blog and example at http://www.tistur.com

Current status: (see bottom for old statuses)

August 6th:
I'm not dead, I just feel like I am. I am working on image_overlay, but my whole life has been put on hold for the past 3 weeks or so as I struggle with pneumonia. Slowly working, slowly speeding up (and spending an entire day awake! Yay!!) and slowly accomplishing things.

Description

Read more

OAuth Integation with ServicesAPI

WAS Off for meetup at Google's office. Back in first week of august. - NOW BACK AT WORK

Project information

Read more

Summer of Code 2008: Search Scoring Improvements

Project Information:

Current Status: Working to complete tasks outlined below and get them ready for acceptance to D7 core. The Drupal project page can be found here: http://drupal.org/project/search_score_improvements. The project page will contain a downloadable package of all code contributed from this project.

Description:

Read more

OpenID Attribute Exchange Implementation

Project information

DONETODO::Project page on drupal.org: http://drupal.org/project/FOO
Project page on drupal.org:
http://drupal.org/project/openid_ax

Current status:

DONE on Apr25th setting up the pre requirements.

Waiting for the exams to get over on may 2nd, 2008
yay, exams over now! Now full time into soc!

Apr25: Created CVS project dir openid_ax and added the project page!
http://drupal.org/project/openid_ax

May 10
Setup
http://pragyan.org/op
http://pragyan.org/rp

to use for various testing purposes.

May 27

Read more
Subscribe with RSS Syndicate content

SoC 2008

Group categories

Group notifications

This group offers an RSS feed. Or subscribe to these personalized, sitewide feeds:

Hot content this week