Scroll to top
Back
Software

Document Management System for Low-Bandwidth Network

    Scroll

    The Context

    The shipping industry accounts for roughly 90% of world trade. Manned by over 1.5 million seafarers of virtually every nationality, it was among the very first industries to adopt uniform safety and operational standards. At the heart of this well oiled maritime machinery is the need for an effective communication channel for sharing and distributing manuals, circulars and other important and highly secure documents. A well known player in the international shipping industry wanted to develop a web based document management system to enhance the efficiency of their process. Having worked with the shipping industry in the past, Tismo was brought on board to develop a Document Management System.

    The Problem

    The Document Management System’s primary function would be document creation, editing and version control. In the vast expanse of the open sea, connectivity to the internet would be quite scarce. This would mean that the software would have to make do with minimum bandwidth while ensuring the successful transmission of sensitive documents, with zero data loss. Tismo’s task was to create an app that integrated document creation, versioning, updates and distribution while adhering to stringent constraints on internet data usage.

    The Challenges and the Work-Around

    Tismo understood that the biggest challenge would be finding a workaround for the stringent data usage restrictions. The team was able to formulate certain principles that could be implemented on the Document Management System, to counter this issue:

    • Access privilege could be granted at a section/subsection level within a document rather than to the entire document. Thus, the users on the ships could view only the necessary piece of information, rather than the entire document
    • New versions of a document would update only certain sections/subsections of the document, instead of the entire document. Only theses updated sections/subsections would be transmitted to the ships
    • Documents uploaded as an attachment to one document could be referenced by another document. Thus, bandwidth consumption due to duplication would be avoided

    The Solution – A Comprehensive Document Management System

    The Document Management System was implemented as a web app, using C# on ASP.NET Core framework. The User Interface was developed using Bootstrap on AngularJS. The MVC architecture pattern was followed. The Pdf.js library from Mozilla was used for rendering the PDFs.

    The jQuery library was used to simplify the HTML DOM tree traversal and manipulation, as well as event handling, CSS animation and Ajax. The following jQuery plugins were used while developing the Document Management System:

    • Bootstrap-treeview – to display the hierarchical tree structure (tree-view), using bootstrap styling
    • Pagination.js – to create customizable pagination to display the search results
    • EasyAutocomplete – to implement autocomplete for search queries

    The Document Management System had a 2-step authentication process for login. Functionalities included creation and saving of documents, editing of section/subsection, means for approval, rejection, revision etc. Users had the provision to view only the changes in the document and bookmark sections within them. Additionally, the software tracked the sections read by the users on ships, so as to ensure complete coverage of transmission of vital information. The documents could be downloaded as a PDF file using either the Word API or the SautinSoft Library. To ensure that the data entered into the Document Management System is properly versioned and updated, Tismo created an application to run in the background using jQuery and Mintril.js (a modern client-side JavaScript framework for building Single Page Applications)

    Architecture of the Document Management System Developed by Tismo

    Architecture of the Document Management System Developed by Tismo

    Adding Value through Elasticsearch

    Tismo understood that in an industry that is as vast as shipping, the ability to comb through a tremendous amount of data and search for specific keywords, would be a huge value addition for the Document Management System. To this end, Tismo implemented Elasticsearch, to search and analyze the vast document repository through a single user interface. Elasticsearch is a search engine based on Apache Lucene. It provides a distributed, multitenant full-text search engine with an HTTP web interface. It also provides fast and precise searches and supported auto-complete, misspellings, filters and other advanced search features.

    Tika on .NET Core

    The development team recognized that since data was stored in various formats (text documents, Excel spreadsheets, PDFs, images, multimedia files etc.), applications such as search engines and Document Management Systems needed additional support for easy extraction of data. Tismo used Tika on the ASP.NET Core implementation to further support document type detection and content extraction. Tika is an Apache Foundation open source project written in Java. It uses various existing generic APIs, document parsers and document type detection techniques to detect and extract data from multiple file formats.

    Summary

    Tismo developed a web app to serve the purpose of a Document Management System for the shipping industry. It was designed to operate in extremely low-bandwidth scenarios and was built using C# on ASP.NET Core framework.