This page is targeting the potential student candidates to contribute on the Sigmah project as part of the Google Summer of Code 2017 programme. It provides context about the Sigmah project and above all ideas for them to build their project from. Those ideas have been collected from Sigmah users working in humanitarian NGOs. They represent their short-term priorities for new features in their software.
Sigmah is open source software for the shared management of international aid projects.
Available in 3 langues (English, French, Spanish) version 2.2 is currently in adoption by 8 organisations like Handicap International, CARE Nederland or La Francophonie International Organisation.
Users in Haiti, France, Pakistan or Afghanistan report new needs of features frequently , and the roadmap of the project keeps growing.
To understand Sigmah in a minute, look at this less than 2 minutes video:
Sigmah software is developed in Java using GWT + ExtJS. Access to database is done with Hibernate. Sigmah application forge is available at https://github.com/sigmah-dev/sigmah. Sigmah application is a very large and rich application. A strong effort to learn how to work on it is absolutely necessary. Don't expect to be able to do anything meaningful before one month of full time work to get easy with all functional and technical concepts. But.. if you like big challenges, you'll definetly get a rewarding one with this application!
For Google Summer of Code 2017, Sigmah will be represented by Groupe URD, functional project leader which will play the role of organization administrator.
After having taken a look to potential projects you may have on Sigmah, if you want to know more, you can join the #sigmah channel on irc.freenode.net (people will be idling around mostly during French business hours). Or as many open-source project, you can use the following resources more or less in the given order:
This project ideas list is just given as a suggestion. As written in the introduction, those ideas do however represent the short-term priorities of real users working in humanitarian NGOs. When describing a project idea, a User Priority is attributed to each feature request associated with it, to reflect its importance in the eyes of the users.
But user priority might not be GSoC volunteer priority… A new important feature requested urgently by some users may be felt as boring to develop by a GSoC volunteer. We just give those User priority because we believe that an exciting thing about contributing to Sigmah is that you're helping real users to work more efficiently in their daily work at managing humanitarian projects, and knowing where your help would be the most appreciated by users might be useful.
As a consequence, if a student wants to write its own proposal by mixing some of those projects or taking some inspiration from the roadmap of the project , he's also welcomed to do so.
Finally, for each project idea, we provide a Development Difficulty level to give an hint about how easy or challenging it would be to deal with this idea.
Project Difficulty: Medium
Presentation
Sigmah already offers calendars for its users. But those calendars lack some advanced features and a higher level of integration between them, and integration with external calendar tools to reveal their full potential. As an example, when we make a demonstration of Sigmah to new users, 2 out 3 ask us: “Does the calendar integrate with Outlook?”.
More than a restrictive list of new features, this project idea reach to provide a richer calendar experience within Sigmah with a well-designed set of new functionalities. For example the exact way to provide the integration with Outlook is open to proposition to see which calendar should be exported: a new user calendar ? each individual project calendar ? And how then to limit the burden for the user to have too many calendars to export ? A good user experience is strongly expected and good propositions are more than welcome!
Examples
User Prority: 1
User Prority: 2
Impact
The impact of the implementation of this project idea will be a better time management for NGOs: less forgotten deadline, less uncertainty on some key dates, etc.
Knowledge prerequisite
Java/GWT.
Project Difficulty: Medium
Presentation
Sigmah's most fundamental feature is the flexibility it gives to organization in the way they can configure it. With this flexibility provided through project models management, organizations are able to design their project information system by themselves, through a graphical interface they're able to use and not by configuration files which scare them in most of the case.
Sigmah flexibility is already provided a great service to its users, but it needs to be enhanced to reply to new needs expressed by users.
Examples
User Prority: 1
User Prority: 2
Impact
By developing a project idea of that sort, the GSoC volunteer will contribute to allow new usages of Sigmah by its users. It will help Sigmah adoption in wider parts of organization already adopting it.
Knowledge prerequisite
Java/GWT.
Project Difficulty: Hard
Difficulty comment: Hard project idea for the full-text search engine (which is only user priority 2) becauxe it will require a knowledge of Apache Solr and strong capability to integrate with Sigmah. And this work with Apache Solr to produce a rich search engine has been estimated to a total of 74 man-days of work by experienced Sigmah developers: those 74 days might be reduced if we reduce the expectation of the full-text search engine, so it can fit in 12 weeks (60 man-days) time period of a summer of code.
Presentation
Currently, Sigmah offers almost no way to search among projects. Two features have been requested by users to improve Sigmah search capabilities (see examples below). And more can be imagined!
Examples
User Prority: 1
User Prority: 2
Impact
Improved search capabilities would dramatically improved the user experience and the perceived interest to use Sigmah.
Knowledge prerequisite
Java/GWT, and Apache Solr for user priority 2 full text search engine.
Project Difficulty: Medium
Presentation
Currently, manipulating documents can be quite cumbersome with Sigmah. Attaching a document is taking many steps for the user. There is no email notification, no URL to download document which would be included in Export or email notification, etc.
Examples
User Prority: 1
User Prority: 2
Impact
Document management is the most commonly feature in Sigmah. Improving collaboration on it would ease a lot the life of Sigmah users!
Knowledge prerequisite
Java/GWT.