Dear readers, I want to tell you about the development that has emerged within the walls of the
Siberian Federal University , the YConfs web application, intended for informational and organizational support of scientific conferences.

The idea and the need to develop this kind of CMS arose at the university several years ago. The system has been implemented and has since passed the 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 a GPL license. A link to the repository can be found at
http://yconfs.sfu-kras.ru .
The website launched on YConfs is a conference directory in which for each conference a sub-site is created containing detailed information about it and providing administrative functions to the conference organizers and participants.
Above is a screenshot of the main page
of the SFU conference site , containing a list of conferences for which registration is currently open, or which are being announced and will be held in the near future.
Conference site
The conference sub-site has an open part containing information pages of the conference and a closed part 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 texts about the conference and attached newsletters can be specified in several languages. English and Spanish translations have been completed, but others can be added technologically.
For convenience of filling, all text fields are equipped with a TinyMCE visual editor with a built-in file manager RESPONSIVE Filemanager, which allows you to upload to the site and publish materials of various media formats.
Possibilities of the conference organizer
After 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, customize the application form and specify the date of registration for the conference;
- show the status of received applications for participation (accepted, rejected) and distribute them into thematic sections;
- send emails to conference participants.
Conference Participant Features
When submitting an application for participation in the conference, the author of the report is invited to fill in the registration form, which usually includes the title of the report, the thematic section, personal information on each of the authors of the report, the required conditions for accommodation and residence and the actual text of the report. The organizers may provide for other forms of participation in the conference, for example, as a participant.
If registration is successful, the author receives a password for further access to the site. In addition, a personal page is created for him, on which is placed 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 is developed on Yii version 1.1.13 (hence the first letter in the name). Yii was chosen for the following reasons: first, I wanted to work on a proven combination of PHP + MySQL, and secondly, I was attracted by the well-thought-out modern architecture of the program code that was proposed by the Yii developers.
Implementing a URL rule class: address structure for accessing a page with information about an object
From the proposed toolkit, firstly, the implementation of the Model-View-Controller pattern was implemented, supplemented by the class responsible for building and parsing addresses within the site.
The YConfs data model contains the entities “Conference”, “Organization”, “User”, and others. The access address for the page that represents information about the object contains either a numeric object identifier or a unique symbolic identifier within the site, if assigned.
The object is searched by identifier with the following priority: the conference is searched first, then, if the conference is not found, the organization, and then the user.
Both extended addresses are supported, 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 by the above algorithm (for example:
http://conf.sfu-kras.ru/928 ,
http://conf.sfu-kras.ru/oil2016 ,
http://conf.sfu-kras.ru / sfu-kras ).
Implementation of the data model
Of course, the table data access model implemented in the ActiveRecord class was used. Necessary improvements in YConfs include:
- Multilingual field support implemented by the attached MultilingualBehavior behavior: each multilingual field stores values in multiple languages; physically, the values of multilingual fields are stored in a separate linked table. The list of languages of the site is specified in the configuration file, in addition, the list of languages is configured for each individual conference.
- Filter HTML tags for a predefined set of class fields with a custom level of severity, which is similarly implemented in XssFilterBehavior behavior.
- Support for multilingual file fields, both single and multiple.
- In order to accelerate the viewing of long lists of loaded objects, special lightweight view classes have been implemented, containing optimized SQL queries and parsing code for the resulting data.
Differentiation of access rights
A standard permission system was enabled and access rights were defined for the following user groups:
- guests
- authorized users
- the owners of the objects (for example, the complainant 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.
Temization
A mechanism to support several themes was involved. 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 overall style of the university sites.
Below is a screenshot of a free-style 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.
I, as one of the developers, express the hope that YConfs will be useful and will be in demand in organizations whose activities in one way or another include holding or supporting conferences.
Suggestions for improving the functionality of YConfs are accepted at
https://bitbucket.org/SibFU/yconfs .
Thanks for attention!