Table of Contents

Introduction

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 project

The project and its current users

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:

Technical details

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!

Sigmah project and GSoC2017

For Google Summer of Code 2017, Sigmah will be represented by Groupe URD, functional project leader which will play the role of organization administrator.

Resources for new contributors

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:

  1. Take a look at the Sigmah User Guide to have a better idea of what the software is about, and at the demo to know how it looks like.
  2. Go through the Contributor Guide on the wiki of the project to better understand how the project id technically set up, and how you can concretely work on it.
  3. Install your own development environment and download your copy of the source code by following this procedure (on the Contributor Guide as well).
  4. If ready to dive, send an “hello world!” on sigmah-dev mailing list to start collaborating with other developers !

Project ideas

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 idea 2: Easier project model management

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 idea 3: Search

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 idea 4: Documents collaboration improvement

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.