Conference Organizer
(corga)
The corga web application widely supports the processes that occur when a scientific conference or a workshop is being organized, with the submission of working papers as a starting point.
After that reviewers for the submitted papers are being assigned and these reviewers judge the quality of the assigned papers using an easily customizable evaluation form. Then a ranking of the papers is being performed by the system and, based on this information, the administrator decides which papers shall be accepted and informs them about the acceptance. Using that information, the administrator can then set up a conference programme which can be published directly to the web. Meanwhile registration will be opened for participants, which can be listeners or speakers (people who present their paper).
Compared to other known open source web applications for conference organization, corga distinguishes itself by a number of nice features. Feature highlights:
- On-the-fly generation of invoices and badges as PDF, using XSL-FO stylesheets for XML.
- Manipulation-resistant URLs for reviewers, instead of yet another password and username
- Customizable review form through database entries only
- Persistence abstraction, according to factory design pattern, allowing the usage of any SQL/JDBC-compliant database and a built-in preconfigured fast and reliable database
- Model-View-Controller architecture, similar to Jakarta Struts, with easy changing of layout
- Java Web Start GUI for easy generation and publishing of conference programmes
- The review form being used is very flexible and can easily be customized to your needs in the DB
- Full featured admin interface, with no direct database access needed, still being able to use customized SQL views and data export.
Currently corga has been tested to run on the databases MS SQL Server, MySQL and Hypersonic SQL, but through the data abstraction layer also other databases can fairly easily be supported and tested separately with the provided JUnit test cases. If you are happy with the preconfigured Hypersonic SQL, you can actually skip all your worries about setting up databases ...
Things are kept flexible and/or configurable to a certain extent. All configuration is via the web.xml, mostly via the init parameters of the InitServlet, and adoption of the templates provided.
Corga has a clean architecture in the sense that it precisely separates data, logic and presentation from one another. All the data which is stored in the database is handled in the Java package corga.workshop.db. The logic is in the servlets in the Java packages corga.workshop, corga.workshop.review, corga.workshop.admin.programme, corga.workshop.registration and corga.workshop.admin.programme respectively. The presentation is in the JSP directories.
Furthermore, the code is organized around the value chain, as depicted above. In that picture you can see in bold each subprocess, after that in normal letters the corresponding directory for the JSPs and then in italics the Java package containing the action servlets for each subprocess.
|