Jump to Navigation

GIMUN 2009 Registration System

Project screenshot
Recruiter actions - workflow fields
They always responded to our queries very quickly and, thanks to their excellent knowledge of the Drupal platform, they could come up with creative solutions that we had not thought of before.
Ivo Näpflin Website & Publications, GIMUN 2009

Project description

GIMUN is an international association of universities under patronage of United Nations.  Every year, association organizes a conference with participants from all around the world. Gimun’s Web portal gimun.org was already made in Drupal, and they needed a custom registration system for organizing the conferences and meetings. MontenaSoft developed custom Drupal module to satisfy this requirement.

Although the project was relatively small, we faced a lot of challenges during development:

  • Short developing time: GIMUN’s next conference practically started parallel to development process, so response time was crucial.
  • Multilingual support for registration module was also very important
  • Very complex registration form (a lot of fields, file uploads, date popups…)
  • Custom field development:  There is a field in the registration form that was not supported with out-of-the box functionality of FAPI, so we were forced to use heavy JavaScript and AJAX artillery to manage the requirement.
  • Complex recruiter section. Recruiter is a GIMUN’s user that allows registration. Recruiter needed not only complex registration management interface, but also custom search tables for defining visible fields in search results.
  • Separation of registration data according to year of registration

Specification was relatively complex, and we did not have too much time for experimenting. For this reason, we decided to maximally reuse existing ontrib community modules in our development. We’ve chosen to use:

  • CCK
  • Date
  • Diff
  • FileField
  • Hierarchical_Select

Except of course CCK, our driving force behind development, we have also made heavy use of  Hierarchical_Select (http://drupal.org/project/hierarchical_select). On the base of this excellent programmed and very adjustable module, we have developed custom hierarchical select AJAX-Control to solve one of the most challenging tasks in project development.

Thanks to build-in support for import/export functionality in CCK, it was relatively simple to separate registration data according the year of registration. Complete node definition of registration node was saved in external file, and system administrator only needs one click to create new registration node for next year.

By the way, there was a small compatibility problem between Date and Hierarchical_Select module. It was not possible to use both modules on the same Form (see more under http://drupal.org/node/280780#comment-1097486). We solved this bug through custom patch and made life of some other Drupal users much simpler and happier :-)

Client info

The Geneva International Model United Nations (GIMUN) is an association entirely run by students with the objective to engage the youth worldwide to important issues regarding the United Nations and to help understanding its functioning.

As a result of its recent accreditation as an NGO having Special Consultative Status with ECOSOC, GIMUN attempts to live up to its maxim of being the "Youth Gateway to the United Nations".