The time of the Unified State Exam (EGE) - 2013 is approaching. You can relate to the EGE differently, but the fact that its existence is an objective reality cannot be denied. Hundreds of thousands of high school graduates and their parents are anxiously awaiting these days. And then with bated breath they await the results of the exam.
There is a public service to provide the exam results, which is completely called “Providing information on the procedure for conducting state (final) certification of students who have mastered the educational programs of basic general and secondary (complete) general education, including in the form of a unified state exam, as well as information from databases of subjects of the Russian Federation on the participants of the unified state exam and the results of the unified state exam ”, in electronic form.
The development in 2011 of the portal for the provision of this service in the Republic of North Ossetia-Alania will be discussed.
Prehistory
In early May 2011 (less than a month before the start of the Unified State Exam), the Ministry of Education and Science of the Republic of North Ossetia-Alania had the idea to create a portal to support the Unified State Examination in the republic.
The main objectives of the portal were stated:
- prompt and reliable provision of information on the results of examinations (one of the most important tasks, as this would prevent an illegal business selling information on the results before their official announcement);
- ensuring direct contact between employees of the Ministry of Education and schoolchildren (or rather, their parents) in the event of a dispute during the Unified State Exam;
- the publication of various regulatory documents related to the exam.
The official site of the RNO-Alania Ministry of Education and Science, which existed at that time, was not suitable for this purpose, since the hosting on which it is located is not intended to store personal data (according to the well-known 152-FZ), so it was decided to develop a separate resource, placing it on a certified site. The timing of development, of course, were also short - 12-15 days.
According to the requirements, the portal management system should:
- allow to create pages, news, polls;
- include feedback form;
- include a question-answer section;
- include a forum;
- support role-based user management system;
- have a journaling system (who, when, where entered, what looked, what edited, etc.);
- support the work on the https protocol.
The key feature of the portal should have been the availability of a search query system of exam results (that is, the service itself in electronic form). For your information, in the Republic of North Ossetia-Alania there are about 7,000 graduates, therefore, there could be no question of any manual data set.
Here it is necessary to deviate a little from the project description and explain how the information moves during the processing of examination sheets.
1. After writing, the examination sheets are sent to the Republican Information Processing Center (RICR), where they are scanned and verified.
2. All this digital array of information is transmitted to Moscow via secure communication channels.
3. In Moscow, data analysis is carried out, estimates are given (part automatically, part by experts).
4. The results of the examinations are again transmitted via a secure communication channel to the RCNR, where they are stored on an isolated database server.
5. With the help of special software, reports are generated in Microsoft Excel format, which contain exam results and can be printed and sent to schools.
Choosing a business process
When analyzing the movement of data, it was decided to create a mechanism for importing data from files with results in Excel format into the portal database. In this case, the data should have been uploaded to the server using the standard mechanism for downloading files of the selected content management system (CMS), and transmitted via the https protocol.
This feature (associated with the transfer of Excel-files containing personal data of students), as well as the fact that users must enter the first name, last name, patronymic name, series and number of the certifying document for the search results, caused the SSL-certificate to be connected.
')
Select CMS / CMF for the portal
After conducting a comprehensive analysis for the project, it was decided to use DotNetNuke Community Edition. The choice fell on him for several reasons:
- acquaintance of the staff of the Ministry with sites built using this framework;
- the presence of the default of most of the modules that were specified in the requirements (feedback form, forum, news);
- implemented (out of the box) logging and role-based user management system;
- open source code (we thought that, if necessary, we would be able to provide all the source code to regulatory authorities);
- the presence of a rich store of additional modules that allows you to easily expand the basic functions of the control system.
- it is written for the .NET Framework and allows you to sign modules for any level of complexity using C # or VB.NET using Microsoft Visual Studio.
Mobile version of the site
According to the requirements there should have been a mobile version of the portal. We decided that we would simply recognize the mobile devices from which we went to the regular version of the site and redirect them to pages specially prepared for mobile devices.
Choosing a secure site for portal placement
The solution from Parking.ru “Hosting ISPDn (according to the requirements of 152-)” was chosen as a secure site. Based on the budget for hosting the portal, Parking.ru employees offered a Microsoft Hyper-V virtual machine at the Hyper1 tariff (25% of capacity from 1 Xeon physical core, 1024 MB of RAM, 60 GB of disk space, Windows Server 2008 R2 Web, Microsoft SQL Server 2008 R2 Express).
At first, we were worried whether a virtual server could withstand such a load with such performance. The problem was aggravated by the fact that we could not predict the expected load. Unfortunately, RNO-Alania is quite a backward region in terms of information technologies (the number of Internet subscribers in the republic did not exceed 60,000 at that time, less than 10% of the republic’s residents), but the fate of children depends on the results of the unified state examination and parents try to find out the results early (for filing an appeal if the real score is lower than expected).
As it turned out, our fears were in vain, even at the peak of the load (after passing exams in Russian and mathematics) with a daily number of hits of ~ 70,000 (~ 6,400 unique visitors), the site did not slow down.
Development of the module query search engine
Here again, it is necessary to deviate from the description of the work on the project and briefly tell that all the functionality of DotNetNuke is dispersed across several dozens of, as a rule, modules that do not depend on each other. In essence, the DotNetNuke module is a separate micro-application that is placed on the page in a place convenient for the content manager / designer. Each module contains a strictly defined set of functionality. For example, the module "Polls" allows you to conduct polls (voting) and display the results in the form of a histogram. And the “Photo Album” module - catalog images and show them to the site visitor.
As such a module, our query search system was framed. The appearance of the user part of the module is shown in the figure below:

The exam results are displayed in the Grid, which allows you to sort them by any parameter, swap columns and export the results to Word and Excel. Captcha is specially made very simple - it uses only numbers (it is possible to configure it directly from the CMS, up to the “paranoid” parameters).
The module architecture is shown in the figure below:

Exam results data is stored in Microsoft SQL Server 2008 R2 Express DBMS in several related tables. Before loading into the database, the ExcelImporter class necessarily checks the correctness of the data.
Links to resources
http://www.ege15.ru - Portal of support for the USE RNO-Alania.
http://www.expasys.ru - Official site of the company-developer.
http://www.dotnetnuke.com - DotNetNuke official site.
http://www.parking.ru/private/fz152/ - Parking.ru hosting, page of the ISPD Protection in the Cloud service (according to the requirements of 152-).