Here is an article based on a talk session by the author during Open Source India 2019 at NIMHANS Convention centre, Bengaluru. It explains how the Supreme Court used Open Source to Process claims worth Rs. 7000 crores
Nowadays, real estate developers take loans from banks to develop their projects and also take money from the public or buyers to sell their projects but the problem here is that they are not delivering projects as promised and ultimately the public is the one who loses the money. As per a public news report, the amount of loss is around 1.5 lakh crore rupees till now. So, the Supreme court of India instructs the real estate developers that they should either give the money back or deliver the project as promised.
The question arises, How much money? And from whom? In order to answer these questions, the Supreme court made a few portals related to the Unitech, the JP, and a few other projects and these portals are built using open source to deliver the solutions.
Requirements of Supreme Court Portal
The portal should be available on the internet 24×7 which is 100% uptime, unlike other websites that crashed due to high traffic. For instance, The BSEB website crashed when they announced the 10th results because of high traffic and students are unable to access the website. So, This problem should not arise in the case of the supreme court’s portal. So it needs a high availability server.
The portals should be highly scalable which means when the load at the servers or number of users accessing the website is low then the server should consume fewer resources and when the load increases or number of users accessing the website increases, then the server should be able to compensate, the cloud infrastructure should increase in size to meet the demand. So this can be achievable by implementing a load balancer at the servers and in spite of having these advanced features on the website, it should be cost-effective.
The other requirement of the Supreme court was the server should be able to handle the traffic on the websites at peak times like when there is a hearing then obviously traffic would be high and also the portal should able to store high volume storage because there would be a case that people need to attach their proof documents along with their details. So, Portal needs to be high volume in storage and the data is highly sensitive so it needs to be secure.
Comply with Indian laws and regulations
One of the major regulations in Indian Laws were the data of the entire supreme court portal should be in Indian boundaries but it is very difficult to make this possible by using the cheapest services over the internet because consider the internet is a global portal that doesn’t have boundaries so data in the server can be anywhere over the world.
There are two plans that we can do i.e
1. Getting agreements from the vendors to deliver the job.
2. Building own platform.
In the first case getting agreements from the vendors who provide high availability and highly scalable servers, For example, A CIO (Chief Information Officer) of the hospital made an agreement with one hardware vendor who provides a highly scalable server and another agreement with a software vendor to take care of the software part. This is an easy way to do it but there was a problem with this, it’s not cost-effective and there are some terms on these agreements like “99.99% uptime”, but the portal requires 100% uptime. No vendor or service provider doesn’t give the guarantee of 100% uptime. Even 0.01% is a small value but if there is a case that when the server suddenly goes down for an hour in a year that too in the peak time of the portal which leads to loss to the company and vendor will not bear any of those losses because that 1 hour covers the 0.01% exception in a year. So, this plan is not suitable for the portal.
Another plan is to create a platform by mixing and matching the cloud services to meet requirements. Even when we get the services of VPS at low cost, the platform should be designed for scalability, built-in redundancy, encryption of data at REST and also in Transit, avoid single points of failure, should monitor the servers 24×7, able to receive alerts if there is any danger, backup of data and also comply with Indian laws and regulations. So, in this plan, the company has to take responsibility for everything there will be no vendor agreement who takes responsibility.
In order to solve that problem of building a portal, The company uses open-source software that is “TikiWiki”.
Tikiwiki is a content management system.
Tikiwiki features are:
● Interoperable – means it can host on Linux as well as Windows systems.
● Based on PHP and MySQL
● Smart-e templating engine
● Supports Jquery, Bootstrap
● Most built-in features – database tracking system, blogs, forums all the content management features
● Monolithic – No plugin support which helps to improve security. The problems with most plugins are when plugins are vulnerable then the whole platform will also be vulnerable.
So these features made the Tikiwiki as a robust choice to build the platform.
Challenge -1: Needs Multiple Flow Processes
Tikiwiki supports various workflows and one of the flows in the supreme court portal is, a user needs to enter the details in a form along with support documents and then submit the data to create a user account. Later on, the user needs to verify through email and then the user can again log in to an account where he/she can view or change the part of the data if needed. So TikiWiki had all the features to make this flow perfect.
Another flow is the user needs to register first and after verification, the user can log in to accounts and then he/she can submit the claim form with all the support documents. In this case, a single user can have many claims so this flow process is the most appropriate way. so the user will have only a single credential that they can be used to claim for different issues and Tiki has the flexibility to create all these flow processes.
Challenge-2: Needs inbuilt Data Validation
Tiki also has inbuilt features like the conditional flow of forms like when the user selects a value it shows the data or another form based on the user input, It also has inbuilt validation features like when a user enters a wrong data in the wrong section the tiki show an alert to the user to make changes accordingly.
Challenge-3: Works in a robust way
If the user submits 50MB of data in normal HTML form then that HTML tries to upload all the data at the time and if there is a case of low internet connection then this form fails to upload. Tiki has a feature which it uploads the data in real-time like when the user selects the path of the document then tiki uploads the document to the server at that instance which helps to solve the large data upload failure.
Challenge-4: Web content Updates
If the Court officials need to update the content, like when the hearing was done at the court now they need to update the status of that hearing on the website. So Tiki had a feature called wiki syntax which is simple to use and everyone can easily use it to publish the content on the website.
Challenge-5: Back office MIS and data export
The supreme instructs that after every hearing provide the updates on how many claims have been made? What is the total value of the claim? By using the reporting system of TikiWiki which can be able to provide reports to users.
The main reason for the success of this project was the belief in the FOSS system that it may be free or it may be open source but it is as good as anything else in the market.
This article is based on a talk session by the author during Open Source India 2019 at NIMHANS Convention centre, Bengaluru
Note: The talk session has been transcribed by Surya Teja of EFY editorial team.