YConfs - conference information support system
Dear readers, I want to tell you about the development that appeared within the walls of the Siberian Federal University , the YConfs web application, designed for informational and organizational support of scientific conferences.
The idea and need for the development of this kind of CMS arose at the university several years ago. The system has been implemented and since then has gone through stages of improvement and refinement, including at the request of conference organizers.
The need for such software systems arises at many universities, so it was decided to publish its source code under the GPL license. A link to the repository can be found at http://yconfs.sfu-kras.ru .
The site launched on YConfs is a conference catalog in which a sub-site is created for each conference, containing detailed information about it and providing administrative functions to the organizers and participants of the conference.
Above is a screenshot of the main page of the Siberian Federal University conference site , containing a list of conferences for which registration is currently open, or which are announced and will be held in the near future.
The conference substate has an open part containing informational pages of the conference, and a closed one containing administrative pages accessible to authorized users.
The screenshot below shows a page with general information about the conference.
The site interface supports multilingualism, including all conference texts and attached newsletters can be specified in several languages. Translations into English and Spanish have now been completed, but others can be added technologically.
For ease of filling, all text fields are equipped with a TinyMCE visual editor with a built-in RESPONSIVE Filemanager file manager that allows you to upload and publish materials from various media formats.
After passing the authorization procedure, the conference organizer has the following main features:
When applying for participation in the conference, the author of the report is invited to fill out the registration form, which usually includes the title of the report, thematic section, personal information for each of the authors of the report, the required accommodation and accommodation conditions, and the actual text of the report. The organizers may also provide other forms of participation in the conference, for example, as a listener.
If the registration was successful, the author receives a password for further access to the site. In addition, a personal page is created for him, on which there is a list of applications submitted by him for all conferences in which he participated.
Below is a screenshot of the page with a simple registration form for the conference.
YConfs was developed on Yii version 1.1.13 (hence the first letter in the name). Yii was chosen from the following considerations: firstly, I wanted to work on a proven bunch of PHP + MySQL, and secondly, it was attracted by the thoughtful modern architecture of the program code that the Yii developers proposed.
Of the proposed tools, firstly, the implementation of the Model-View-Controller pattern was used, supplemented by a class responsible for constructing and parsing addresses within the site.
The YConfs data model contains the Conference, Organization, User, and other entities. The access address to the page that represents information about the object contains either a numerical identifier of the object or a unique identifier within the site, if assigned.
Search for an object by identifier is carried out with the following priority: first, a conference is searched, then, if the conference is not found, the organization, and then the user.
Supported as extended addresses, including information about the type of object (for example: http://conf.sfu-kras.ru/conf/928 ,http://conf.sfu-kras.ru/org/1 ), as well as addresses in minimized form, processed according to the above algorithm (for example: http://conf.sfu-kras.ru/928 , http: // conf.sfu-kras.ru/oil2016 , http://conf.sfu-kras.ru/sfu-kras ).
Of course, the table data access model implemented in the ActiveRecord class was used. Necessary improvements in YConfs include:
A standard system of verification of rights was used and access rights for the following user groups were determined:
Validation rules that correspond to the logic of the web application are implemented according to the Yii architecture in the AuthManager class.
A support mechanism for several themes was used. At the time of this writing, one theme is freely distributed based on the standard Yii theme.
A theme has been developed for the conference site of the Siberian Federal University in the general style of the university’s website design.
Below is a screenshot of a page designed in the style of a free theme.
At the beginning of this year, the first version of YConfs was released, which is planned to be developed and finalized in working mode.
As one of the developers, I express the hope that YConfs will be useful and will be in demand in organizations whose activities to one degree or another include holding or supporting conferences.
Proposals for improving the functionality of YConfs are accepted at https://bitbucket.org/SibFU/yconfs .
Thanks for attention!
The idea and need for the development of this kind of CMS arose at the university several years ago. The system has been implemented and since then has gone through stages of improvement and refinement, including at the request of conference organizers.
The need for such software systems arises at many universities, so it was decided to publish its source code under the GPL license. A link to the repository can be found at http://yconfs.sfu-kras.ru .
The site launched on YConfs is a conference catalog in which a sub-site is created for each conference, containing detailed information about it and providing administrative functions to the organizers and participants of the conference.
Above is a screenshot of the main page of the Siberian Federal University conference site , containing a list of conferences for which registration is currently open, or which are announced and will be held in the near future.
Conference Subsite
The conference substate has an open part containing informational pages of the conference, and a closed one containing administrative pages accessible to authorized users.
The screenshot below shows a page with general information about the conference.
The site interface supports multilingualism, including all conference texts and attached newsletters can be specified in several languages. Translations into English and Spanish have now been completed, but others can be added technologically.
For ease of filling, all text fields are equipped with a TinyMCE visual editor with a built-in RESPONSIVE Filemanager file manager that allows you to upload and publish materials from various media formats.
Conference Organizer Features
After passing the authorization procedure, the conference organizer has the following main features:
- add new conferences to the site;
- edit conference information pages and, if required, create additional pages;
- open the online registration of participants, configure the application form and indicate the date of registration for the conference;
- set the status of received applications for participation (accepted, rejected) and distribute them among thematic sections;
- send out emails to conference participants.
Conference Participant Features
When applying for participation in the conference, the author of the report is invited to fill out the registration form, which usually includes the title of the report, thematic section, personal information for each of the authors of the report, the required accommodation and accommodation conditions, and the actual text of the report. The organizers may also provide other forms of participation in the conference, for example, as a listener.
If the registration was successful, the author receives a password for further access to the site. In addition, a personal page is created for him, on which there is a list of applications submitted by him for all conferences in which he participated.
Below is a screenshot of the page with a simple registration form for the conference.
Implementation details
YConfs was developed on Yii version 1.1.13 (hence the first letter in the name). Yii was chosen from the following considerations: firstly, I wanted to work on a proven bunch of PHP + MySQL, and secondly, it was attracted by the thoughtful modern architecture of the program code that the Yii developers proposed.
Implementing the class of URL rules: structure of the address for accessing the page with information about the object
Of the proposed tools, firstly, the implementation of the Model-View-Controller pattern was used, supplemented by a class responsible for constructing and parsing addresses within the site.
The YConfs data model contains the Conference, Organization, User, and other entities. The access address to the page that represents information about the object contains either a numerical identifier of the object or a unique identifier within the site, if assigned.
Search for an object by identifier is carried out with the following priority: first, a conference is searched, then, if the conference is not found, the organization, and then the user.
Supported as extended addresses, including information about the type of object (for example: http://conf.sfu-kras.ru/conf/928 ,http://conf.sfu-kras.ru/org/1 ), as well as addresses in minimized form, processed according to the above algorithm (for example: http://conf.sfu-kras.ru/928 , http: // conf.sfu-kras.ru/oil2016 , http://conf.sfu-kras.ru/sfu-kras ).
Data Model Implementation
Of course, the table data access model implemented in the ActiveRecord class was used. Necessary improvements in YConfs include:
- Support for multilingual fields implemented by the attachable behavior of MultilingualBehavior: each multilingual field stores values in several languages; physically, the values of multilingual fields are stored in a separate related table. The list of site languages is specified in the configuration file; in addition, the list of languages is configured for each individual conference.
- Filter HTML tags for a given set of class fields with a custom level of rigor, which is similarly implemented in the behavior of XssFilterBehavior.
- Support for multilingual file fields, both single and multiple.
- In order to speed up viewing long lists of loaded objects, special lightweight view classes were implemented that contained optimized SQL queries and parsing code for the data received as a result of their execution.
Differentiation of access rights
A standard system of verification of rights was used and access rights for the following user groups were determined:
- guests
- authorized users
- owners of objects (for example, the author-applicant in relation to the report, the user in relation to the personal page),
- conference organizers
- as well as site administrators.
Validation rules that correspond to the logic of the web application are implemented according to the Yii architecture in the AuthManager class.
Theming
A support mechanism for several themes was used. At the time of this writing, one theme is freely distributed based on the standard Yii theme.
A theme has been developed for the conference site of the Siberian Federal University in the general style of the university’s website design.
Below is a screenshot of a page designed in the style of a free theme.
Conclusion
At the beginning of this year, the first version of YConfs was released, which is planned to be developed and finalized in working mode.
As one of the developers, I express the hope that YConfs will be useful and will be in demand in organizations whose activities to one degree or another include holding or supporting conferences.
Proposals for improving the functionality of YConfs are accepted at https://bitbucket.org/SibFU/yconfs .
Thanks for attention!