Summer of Code season is back and that means its time for us to suggest to Google some of the key areas of SilverStripe we would like improved and that equally provide stimulation and reward for students to work on.

If we're selected by Google to participate, then between March 24 and 31st, University students can apply to Google to work on one of the programming challenges below, receiving USD4500 and some swag for the effort. 

Extend the blog module

Significantly increase the features of the existing blog module and improve usability. Solve the outstanding issues, reduce the steps and add more flexibility to the task of writing blog posts, improve comment moderation and management, and allow multiple blogs to run off the same installation. You'll be looking to do smaller number of well documented, well engineered, intuitive features, instead of a mass of poorly executed ones. We hope that you would stick around after GSOC to continue to be responsible for the blog module's development.

Extend the ecommerce module

Similarly, increase the features of the existing ecommerce module and improve usability. In addition to completing  bugs and issues already submitted, provide new features, like:

  • More reporting, admininistration, and workflow features
  • Allow Items in stock, and discount codes
  • Loyalty schemes (e.g. buying $100 of goods entitles you to $10 off your next purchase).
  • Add support for new payment gateways (Google checkout, Amazon checkout, PayPal, Authorize.net, Paystation, etc).

CMS Usability and improvements

We strive to make the CMS of SilverStripe as intuitive and flexible as possible and you will be responsible for keeping that pledge true. Working off a detailed list, you will reduce the number of steps it takes to perform common tasks, relabel and reposition aspects of the user interface, add tool tips and helpful cues, and fix frustrating bugs, in precisely the same fashion as was done last year. This is a very important project that will you see yourself greatly appreciated by all users of the SilverStripe user and developer community. An eye for user interfaces is just as necessary as good PHP, CSS, Javascript and HTML knowledge.

Performance

A good project for someone with solid back-end skills, patience, and care.

  1. Through a combination of PHP and Javascript wizardry, reduce the time it takes for the CMS to initially load and make the user experience quicker and more responsive for common actions like expanding tree nodes, performing a sitemap re-arrange, loading a page to edit, etc.
  2. Build a system that provides very fast caching of public-facing pages to facilitate high traffic sites.
  3. Increase the performance of (uncached) framework that will speed up public facing pages, as well the CMS itself.

Unit Testing and Automated Testing

Improve the stability of SilverStripe and make it faster to develop code by adding unit tests throughout the core SilverStripe APIs. Also use Windmill to emulate a browser using the CMS to provide automated testing that all of the major functions of the CMS work.

We currently have basic infrastructure for unit testing and windmill. Your task is to get both to a production state that is then used consistently and confidently by all of SilverStripe's core development team. 

Build a Social Network / Directory Module

Build a generic module which lets “members” create an account, and be able to add and edit information to the site, manage their profile, and provide the groundwork for billing for premium membership.

In terms of application think of both the simple end (silverstripe.com members uploading their ‘showcase’ sites and widgets) through to a sophisticated online social network where people could be uploading news, job vacancies, or cars for sale.

Note that we have the notion of a membersignup form, a newsletter system, a forum module, a blog module, an ecommerce module that manages customers as an extension of a 'member' and so on. It should naturally fit with these, which may require refactoring code used by these other parts of SilverStripe.

Social Network Portability is a big issue in 2008. Can this module let people build social networks that play nicely with each other? Can the Googe Social Graph API be used constructively?

 

Note: This page may be extened with other project ideas if SilverStripe is selected to participate. 

Post your comment

Comments for this post are now closed.

Comments

RSS

Unfortunately, we were not selected this year by Google to participate in the Summer of Code program.

There's nothing stopping stopping students from applying to GSOC at http://code.google.com/soc or helping the SilverStripe project out (see http://www.silverstripe.com/how-to-contribute )

27 Mar 2008 by: Sigurd Magnusson

Performance improvements would be brilliant. Loading the CMS seems a bit sluggish currently, so I'm looking forward to seeing development in this area :)

14 Mar 2008 by: Smoothie

Yes, Social Web & Social Web Content Management is the movement in this decade...

13 Mar 2008 by: Marky Goldstein

Dio5, you're right. I don't see that as taking up an entire GSOC project, but with GSOC or without, we certainly hope to get that feature done. It might be bundlelled into another project (e.g. blog or usability). I for one really want it for managing silverstripe.com ... :)

13 Mar 2008 by: Siggy

I think the most important idea is the one of filtering subpages and dynamic grouping as talked in

http://www.silverstripe.com/site-builders-forum/flat/15416

Without that, it will be hard to have a decent blog. So i prefer having this added to the core functionality instead of having extra modules.

Just my 2 cents...

13 Mar 2008 by: dio5

Fixed the link to other project ideas, thanks for pointing this out Elijah. You'd be most welcome to apply again :-)

12 Mar 2008 by: Tim Copeland

Minor note. The link to "other project ideas" goes to: http://silverstripe.com/doc.silverstripe.com/doku.php?id=gsoc:2008
when it should go to:
http://doc.silverstripe.com/doku.php?id=gsoc:2008
;)

12 Mar 2008 by: Elijah Lofgren

I hope ya'll make it in! Extending the blog module sounds like a fun project! :)

I may apply to SilverStripe and KDE if I don't end up doing a JAARS internship. ;)

12 Mar 2008 by: Elijah Lofgren