OPENode Platform

OPENode Platform

Community Q&A solution and smart knowledge base

Building open source software for public sector

The European Social Fund (ESF) helps millions of Europeans improve their lives by learning new skills and finding better jobs. We had a chance to innovate part of it’s digital ecosystem by rebuilding the ESF Forum for the Czech Ministry of Labour and Social Affairs (MPSV).

Effective Knowledge Sharing

We already had experience with the government segment from building the Transnationality EU portal in 2010 and we are fans of e-government. Although we don’t get involved in tenders too often, this was a “must“ for us because the requirements and the vision of the product being made was perfectly resonating - software can help make the world a better place.

  • Improving communication and effectivity in people's activites
  • Solving real time, well defined problem via online tools
  • No limitations caused by national or language restrictions
  • Building it open source and enable others to re-use it

Sharpening a clear vision and mission

It's crucial to clearly define the vision of the product being build. This initial document is later used to finde optimal synergy and helps in harder decisions in later stages of the project.

Ask > Discuss > Find an answer > Store it

The client’s main goal was to improve external and internal communication and to create a tool enabling collectively to find solutions to complex issues and store wisdom in an easily accessible knowledge base.

Luckily enough Czech government employs enlightened people and recently tried to omit software suppliers “vendors locks”. So a key part of the conditions was building an open source product. Good for us as we love open source and respect the approach that the job should be done by “who can do its best and with highest effectivity”.

Jakub Stogr, Consultant and Project Evaluator, Navereme Boheme

Looking for best discussion
Questions and Answers engine?

We started the design and architecturing work of the sofware but we didn’t have to start designing the system from nothing. The client was using a 10 year old discussion platform and (yet innovated and rethought) topic based discussions were required to be crucial part of the new system.

Don't reinvent the wheel and build on existing products

In the idea of not reinventing the wheel we picked up well documented and easy-to-bend Askbot Q&A engine for this. One crucial part was that it had most of the features needed and was written in Python in which our favorite Django Framework is written.

Well that was the heart but what about other organs of the software beast to be born? We dove into open software oceans and started comparing the requirements against all existing open source products and technical maturity. The goal was to find another pre-made subsystem which could save time and work.

Document Management System
Robust & Open Source

Besides discussions, we identified the need of a robust document management system as important and complicated, or simply said, allow people to attach documents and search in them. Thanks to a couple of open source freaks we have in our team, we soon had Mayan EDBS in our spotlight. It looked optimal because of its licensing, compatible technology and live community around it.

Everything, anytime and from anywhere

We were solving one more big requested functionality: sophisticated search. And we are not speaking about ordinary search of database content but we were aiming to search all attached documents too. And the system should allow to upload different file formats - PDF, DOCs and even images and ZIP files.

At first glance, combining two robust systems under one platform is challenging enough, but we didn’t want to build search layer from scratch. Luckily enough we could pull out another ace from our sleeve. From different projects we had great experience with Elastic search. From from our pros and cons comparison it came out better than Solr, the open source leader in enterprise search solutions.

Architecting infrastructure

No lies, our main software architect had wrinkles and serious conserns about increasing the whole platform complexity by mixing in a third open source product. But yet we love challenges and we had to give it a try. After adding Elastic search to the server config, the software engineers did basic implementation and - it worked seamlessly. It runs nearly as a standalone app, uses separate database and caching and indexes permanently everything in the app database and filesystem.

Thanks to the combination with Mayan and its text recognition (OCR) capabilities, the system is able to recognize text in pictures, index it and return it back every time a user performs a search. And even more, we implemented prioritization (word in heading or in bold is more important than in the text) and created search autocomplete functions helping users by word guessing and whispering. Importantly, everything is cached so everting happens lightening fast and with no performance issues. During the development we were communicating with Mayan EDBS creators and tuning up details.

Conclusions and takeaways

The idea of rebuilding existing software used in public segment while opening its source code to everyone is charming. OPENode is definitely a pioneering open-source product ordered by state and it will be our pleasure to participate on its future development.

As mentioned in the beginning, we are not big fans of tenders and we don’t believe that competetive tendering which rules “minimum price” with “maximum value” is a good way to pick up right suppliers and get best product. In complex software systems it's very difficult even for specialists to pick out the best contractor. However, there are cases which shows that public sector tenders can be very well specified - at the beginning there has to be a well defined problem, outlined possible ways of solution, combined with a good tender specification.