Universal Edition – Electronic Document Management Tool

Electronic Document Management Tool Universal Edition

Electronic document delivery ecosystem development for music publishing

About Universal Edition

In a cooperative project between the Austrian music publisher Universal Edition and sofasession GmbH, the project participants approached us to supply parts of such a system. Universal Edition (UE) is our oldest Client, as they have been operating on the market since 1901. UE has an extensive database of sheet music in the form of electronic documents. This sheet music or documents are their products, which can be ordered through the e-shop. Our solution will allow them to easily manage documents and help their customers to make order.

Our Expertise

Software Development

Web Development

Scope

  • Discovery phase
  • Product development
  • Maintenance
  • QA

Vertical

Entertainment

SaaS

Key results

  • Systems help the client manage their products and make shopping for their customers easier

See what Altamira can do for you

01

The Challenge

Requirements

Some systems are self-sufficient, some are plug-ins that can be used for any e-shop, and others are third-party systems. The symbiosis of these systems allows the final product to be delivered to the customer.

The complexity consists of several system features, such as the size of the document database, their safe storage, administration, ordering via any e-shop, or delivery of these documents to a third-party app.

Up to five systems are involved in the ordering process. They communicate with each other to achieve a common goal, which is the successful delivery of an electronic document to the customer.

  1. Hydra – Document storage and management system
  2. Universaledition.com – Document ordering system (e-shop)
  3. Getnote e-shop plugin – E-shop plug-in for sending orders to Getnote
  4. Getnote – Document delivery system
  5. Newzik – Document viewing system (third party)

The client has terabytes of PDF documents, i.e., products that must be securely stored and managed. Under managing, we can imagine, for example, their creation, editing, marking, trimming, splitting, merging, etc. These documents are stored in the client’s infrastructure for security reasons.

In addition to our client, another provider can supply the documents. Therefore, the system must allow the instance that will provide the documents of this other provider for the system to run. The provider will then be able to import the products from the CSV file and assign them to the files representing the documents.

Electronic documents can be sold by any e-shop (in our case, we are talking about sheet music). Therefore, this system must be able to deliver documents from any e-shop to a third-party app that allows them to be viewed. As this is a third party, the system may become unavailable. There are mechanisms in place to treat this.

The documents must be stored securely and are only available if the customer successfully passes the ordering process and pays.

Communication with third parties

The plug-in that connects the customer’s account in the document browser to the document deliverer must be secure to prevent theft of documents. It must also support integration with any system.

Several mechanisms have been used to secure this, such as encryption, temporary stamping, obfuscation (obfuscation of the program’s source code), compilation of JavaScript code into a byte code, limitation to one specified domain, or back-authentication with the server. Interestingly, the resulting code cannot be read by a human. Only the machine can read and run it.

Integrating the plug-in with existing e-shops is easy. The system generates codes in various programming languages, which can be copied and pasted into any e-shop.

Delivering documents to a third party is more complex. The system must create a virtual contract between the provider and the customer that contains the metadata about the documents, including which pages are in the document. Therefore, the system must be able to read the PDF document.

In addition, the document itself may be large (e.g., 2 GB), or there may be a large amount of them (e.g., 2,000). Several systems need to work together to make all this possible. The core of the system – the web server and the client making the requests – must have increased file size and connection length limits. For example, the system can keep the connection for a long time if a large file is uploaded.

Therefore, the component that ensures the delivery of the documents to the third party must include corrective mechanisms in case of an error. For example, the file may not load correctly or entirely.

Importing and mapping metadata to documents

Providers have their documents and metadata stored in various databases and formats, but almost everyone allows them to be exported to an XLS file. Therefore, our system also allows the import of metadata from large XLS files (100+ MB).

The XLS file does not have to be in a specific format, but our system provides a user interface where each column of the XLS file can be mapped by the user to our database. For example, if the XLS file has an artist’s name in the third column, the user can create this mapping, and the system will create metadata where the artist’s name will be in the third column.

After importing the metadata, you need to map this metadata to documents. However, this is a challenging task because there is no identifier in the metadata by which we can find the documents. Files are often named differently; finding a record by number is difficult.

For example, if there is a document code file in the folder, say Mahler-AB12345-test.txt, but no other code exists, all documents in this folder are assigned under the number AB12345.

Editing PDF documents

The documents need to be edited because they are not the same size, are split, have a separate header from the content, or are too large.

The document storage and management system can edit documents – for example, create, edit, tag, split, and merge using drag-and-drop technology, split pages in half, crop marks for printing, and compress. These features are included in the web interface, so working with documents is very convenient.

Some of the functions are automated. In addition to editing, the system detects double-sided pages on one side of a document, crop marks, etc.

doručovanie dokumentov

02

The Solution

Altamira team worked with the client on systems for storing, managing, and delivering documents. In addition, we created an e-shop plug-in that allows us to send an order to an electronic document delivery system. We also worked on integrating third-party systems, i.e., a system for viewing documents.

We built the systems on Vue.js, Laravel, MySQL, LAMP, and Docker technologies. Vue.js is a fast and modern frontend framework. Laravel is a framework that allows good architectural principles to be followed by default. MySQL is a database that has been tested for years, which allows processing a larger number of records.

LAMP and Docker technologies have been advantageous because they allow us to quickly run systems at multiple document providers or deploy them to a server.

Smooth communication between systems enables successful document delivery to the client. The system supports multiple document providers that have documents stored securely. Providers upload their documents to Hydra – a system for storing and managing documents. Subsequently, Getnote – the document deliverer, downloads their metadata. If the customer completes the order on the universaledition.com e-shop, the deliverer downloads the documents from the provider and sends them to Newzik – a browser where the client can view them.

Strive for excellence with Altamira

Join our community of successful customers, whom we helped to build and grow their businesses.

03

The Result

We have developed several systems for clients to manage and order electronic documents. Customer requirements increased the complexity of the solution, so we had to deal with several challenges, such as integration with third parties or importing XML documents.

They were astonishing. If we had time issues, it was on our side. They were really responsive to our deadlines. There are often a lot of internal processes that have to happen before we can react to our quotas, which accounted for the delays on our end.

The most important thing for me was that I always knew what was being worked on and the next steps that were required. It was a transparent process, which is what I valued about our relationship with them.

They’re perfectionists in some cases, which sets them apart because they always strive to deliver a product that's right. They always add an extra effort to the project, and put in a lot more thought into it than just fulfilling what was asked for.

Head of Services

Case Studies

Artificial IntelligenceRetail
Mobile App DevelopmentSocial Network
Mobile App DevelopmentSocial Network