Meridix platform - Technical overview
Introduction
This article describes Meridix Platform from a conceptual and technical view and describes how the system handles the target platforms (current and future) and how it can be integrated into existing environments and portals.
Meridix platform overview
Meridix Platform is a report generator and by itself, Meridix Platform does not have any native support for any specific type of reports or target platforms. Each supported platform is built up as a custom module that is loaded into the Meridix Platform main application. Each of these modules can have any number of reports with different combinations of charts and columns defined.
The system consists of a web-based user interface that is accessed by the user through their browsers and no additional plug-ins are required (e.g. Flash or Silverlight). The system is available both as a cloud service (through PAAS on Microsoft Windows Azure) or as an on-site installation where users access the system through their local area network. Read more about Meridix as a cloud service here.
The user interface is designed to give users a consistent way of creating reports for each of the platforms that the system has loaded, this basically means that once a user has learned to use one type of module in the system they can use all the other supported modules in the same way.
But since not all platforms deliver the same source data and some platforms have a more granular information level than others, each module is created specifically for that target platform data to be able to give as relevant information as possible. So even though the user interface remains consistent the reports and their content is built specifically for each platform to be able to give users as good information as possible for their specific platforms.
Another feature is that the system allows a mixed set of modules in the same installation. This means that if a customer has multiple data sources that they want to create a report for, perhaps a PBX and an external call center system, one single Meridix installation can collect data from both these sources and give the end users an integrated and consistent way of handling their reporting even though the source information comes from multiple platforms.
The system is also built around the principle that different users has different needs and knowledge. Users are therefore divided into separate roles where a user with only basic reporting needs can use a simpler version of the user interface and if needed later upgrade/change to the advanced mode where the full feature set of the system is available. This makes the system easy to get started with and users do not have to be experts from day one to get good value from the reports.
Report distribution
In addition to the on-demand reporting capabilities, the system has a report distribution system that lets users create and schedule reports that are then executed and sent automatically by the system based on user defined schedules. This makes it easy to spread the information throughout the organization without forcing each receiver to learn the system. Reports are sent in well-known formats such as Excel and let the users work in a familiar environment with the reports.
Built-in report descriptions
Another important feature of the system is the built-in (integrated) documentation. End users should always be able to interpret and understand the reports without needing to have external documentation available. This is accomplished by integrating what we refer to as column/report descriptions into the reports and the information is always available directly within the system (through tool-tips, pop-ups etc). This is also the case when a report is exported out of the system (for example to Excel) since the importance of understanding the report values does not go away just because the report leaves the Meridix Platform user interface. The main concept can be summarized by saying: A user should always know exactly what he or she is looking at to be able to understand and make the most of the information at hand.
Multi-tenant support (Multi customer support)
Meridix Platform has support for multiple customers in a single system where each customer can get its own part of the system and work in isolation even though they reside in a larger system with multiple customers. This allows companies to have one single Meridix Platform installation where all their customers reside. This is used by for example carriers (operators) that have a platform that can contain thousands of customers, in these cases a multi customer Meridix installation i set up. (A Meridix installation has support to scale both up and out to allow very large numbers of customers, read more about Meridix scaling possibilities here)
Meridix also configurable support feature sets, read more here.
Support for new or updated platforms
As mentioned in the previous section Meridix Platform available reports are built up by creating modules for the platforms that we want to support. To add support for reports targeting a new platform Meridix needs to create a new module where the platform's source data is handled and interpreted. Once this is done the newly created module can be hooked into the Meridix engine and all the functionality such as the many report grouping options, subscription reports, and Excel exports, etc will be handled by the Meridix Platform main system. Therefore we can easily add support for new releases of existing platforms and add support for new or future platforms without needing to "reinvent the wheel" each time.
This makes Meridix Studio an ideal solution for companies that sell or works with multiple platforms since once they have learned to use Meridix Platform all the knowledge can be applied even if the target platform changes.
Branding and theming
Meridix Platform has very extensive branding support, where the user interface can be changed per installation through our theme package model. This allows a customer to easily modify their installations user interface so that it matches their company profile. Logos, colors, fonts, icons and export appearance and much more can be customized without requiring custom binary builds of the system. This is ideal when the report system should be integrated into a portal or be sold as part of a suite of other products. Read more about or branding and theming support here.
Language support
Meridix has support for multiple languages (English, Swedish, Danish, Finnish, and Japanese) and can easily be translated to additional languages if required (more information about translations). Our current plan is to support all the Nordic languages in the near future.
But to a key feature to make a system easily integrable into other platforms or suites/portals etc. is that the vocabulary used in Meridix Platform can be modified on a per-site basis. Each supported language is integrated into the compiled binary code to achieve the best possible performance, but the system has support for customer-specific overrides. I.e. if a customer wants to change the used vocabulary for a feature/section/page to match the vocabulary used in other products that they sell or work with or just want to use another definition for something than the default all the resources used in Meridix Platform can be overridden at runtime through Meridix Platform support for translation-override-packages. Therefore no changes are required to the original translation files (which would require a newly compiled version of the system to be deployed when a change has been made).
By combining this override feature with a custom theme (see the previous section) a customer can customize almost every aspect of the interface for the end-users.
Integration with other systems
Meridix can be used as a stand-alone product with no integration except for the report source data import. It can also be connected and integrated with other systems to allow seamless logins from existing portals or let another system use the report engine through the Meridix web/HTTP-based API.
Catalog synchronization
For the larger customer, there are usually thousands or even tens of thousands of numbers/users/extensions, etc. that should be targeted when creating reports. If the user were forced to manually enter this information into Meridix it would be a daunting and error-prone task that probably would get out of sync quite fast since organizations change, new users/numbers are added and removed on a daily basis. To enable Meridix to work even for large organizations the system has full support for synchronization against external catalogs, this is the recommended way of handling the catalog in Meridix. I.e. you define a synchronization against a master catalog that Meridix mirrors, then there is zero administration of keeping Meridix up to date with information/catalogs in other systems.
SSO - Single Sign-On and existing portal integration support
Meridix Platform can easily be integrated into an existing portal and the login can be transparent to the end-users through the single sign-on support. With the branding and theming support the Meridix user interface can be restyled in a way that users do not know that they left the portal. For example: if a customer/reseller has an existing customer portal an SSO can be set up so that existing portal users can be logged in into a Meridix Platform installation branded in the same way as the portal so that the end-users won't know they left the portal at all. The login is handled automatically and Meridix can be opened in an iframe or as a new window depending on the portal design. Read more about our SSO support here.
HTTP API - Custom user requirements
No system can probably handle every single user requirement out of the box, there will always be end-users with very specific requirements. Therefore Meridix Platform has a very extensive HTTP-based API that allows end-users and customers to integrate Meridix into other products or systems through its API (Application Programming Interface). Users can then create reports, edit users, handle scheduled reports through their program language of choice. Read more about our API support here.
Webpage: www.meridix.se
Email: support@meridix.se
Tel: +46 (0) 21 38 30 32