We, the developers of Docsvision, call this product a platform. It is a platform on the basis of which you can create various design solutions.
To make these solutions easier and faster to create, and later change, for the Docsvision platform, we made various tools (designers, modules, gateways) that allow you to simulate a solution for a specific customer on the platform, taking into account its requirements.
Using the same tools, we also prepared a set of ready-made applications for the Docsvision platform that solve a specific business problem (for example, automating the meeting process). And, if a similar business problem needs to be solved by the customer, then such a ready-made application can be taken as a basis in the implementation process, it will remain only with the help of the same platform tools to customize it.
')

Visually, all this can be represented as a four-layer pyramid, where the Docsvision platform (the first layer) lies at the base, various designers, modules and gateways (the second layer) are developed for it, applications (the third layer) are created using them, and the customer gets customized for it design solution (fourth layer).
And such a four-layer structure was not chosen by chance. When designing it, we formulated four principles for ourselves, which we decided to rely on when developing the latest version of Docsvision:
- Openness
- Flexibility.
- Modularity.
- Performance.
Next, we would like to reveal these principles and at the same time tell in more detail about each layer of the pyramid in the Docsvision structure. So:
Principle number 1: Openness.
Docsvision platform should be open for development on it.Therefore, the server part of the Docsvision platform is written based on .NET technologies. The server is a web \ WCF service. There is a mechanism to extend the functionality of the server with the help of connected server extensions that can be written using .NET. These server extensions can be used from the client side using the available API. The client part of the Docsvision platform is written using .NET and COM-technologies.
There are a number of public APIs and interfaces with which you can modify the client part of Docsvision, and for this you can use both widely used modern programming languages ​​(C #, VB.NET) and also popular in the past Visual Basic 6.0 and C ++.
More details about the architecture of the Docsvision platform (including about the kernel, object model, system modules, process engine, etc.) in our one of our next posts.Principle # 2: Flexibility.
In the Docsvision platform, everything should be customized "for yourself," and there should be tools that allow you to do this without programming.To do this, in the latest version of Docsvision, we have developed as many as ten designers:
- Card Designer.
- Process Designer.
- Reference Designer.
- State constructor.
- Role Designer.
- Report Designer.
- Search query builder.
- Script Builder
- Constructor of approvals.
- Numbering Constructor.
Card Designer.
Process Designer.
Role Designer.We provide all these designers to our integrating partners for free so that they can create various design solutions for their customers. Operation of a ready-made solution created on the Docsvision platform does not require the customer to purchase these designers, only if the customer wants to independently modify the solution on his own.
We will not discuss in detail the capabilities of each designer, but even their number gives an idea of ​​how flexible the Docsvision platform is, and that many changes in it can be made simply by “setting the necessary ticks.”
In the following posts, we will definitely describe the capabilities of some of the most interesting designers, such as Card Designer, which allows you to simulate your card shapes and modify existing ones.Principle number 3: Modularity.
The architecture of the Docsvision platform must be modular, so that the customer can purchase only those components that he needs.At the moment, for the Docsvision platform we have developed the following, so-called, ready-made modules, from which the customer can choose what he needs and use this:
1. A set of ready-made applications
This, for example, applications such as "Contracts", "Meeting Management", "Document Management". These are all independent finished products that add relevant objects to the Docsvision platform - card forms (for example, the Contract card), directories (for example, the Currencies directory), roles (for example, Agreeing, Signatory). As mentioned above, we make all our applications using the design tools of the Docsvision platform, which means that in the design solution these applications can be adapted to the requirements of the customer.
2. A set of integration gateways.
At the moment we have developed gateways to mail (SMTP / POP3), to 1C: Enterprise, to SharePoint and to SAP B1. These are a kind of ready-made connectors, which, due to their configuration, allow Docsvision to integrate with external systems. The main functions of all gateways are monitoring objects in the external system, as well as reading and writing data.

3. A set of jobs users.
For the Docsvision platform, we have developed a number of jobs for different user groups. Here is a brief description of them:
- Navigator is an application developed using WPF / WinForms technologies, the principle of which is similar to that of Windows Explorer, where the tree of folders is displayed on the left and card files on the right. This is the main workplace providing access to all Docsvision user functionality.
What does the "Navigator" look like?
- “Client for SharePoint” is the web parts that we developed for SharePoint that allow you to work with Docsvision functions directly through the portal. Web parts display such elements of Docsvision as a ribbon of tools, folder structure, contents of folders in different views, search forms.
What does “Client for SharePoint” look like?
- “Easy Client” is a web client that allows you to work with Docsvision without installing any software on the client workstation. Light Client is a web application and works as a Single Page Application on ASP.NET MVC 4 technology using HTML5, CSS3 and jQuery. In this workplace, we transferred not all the functionality of the Navigator, so as not to overload it and make it really easy, but only the basic functions that an ordinary manager or manager needs.
What does “Easy Client” look like?
- “Manager for Outlook” is a Microsoft Outlook Add-in entirely rewritten in C #, which allows Outlook to work with Docsvision tasks. To display tasks Docsvision uses its own class of MS Outlook tasks, the form is replaced through the Form Regions mechanism.
What does "Manager for Outlook" look like?
- Top Manager is an iPad and iPhone application that implements executive work scenarios. It can work both online and offline. Interaction with the Docsvision system is organized using a special connector that performs data exchange.
What does the "top manager" look like?
- Android Assistant is an Android OS application that notifies you of assignments assigned to Docsvision. The architecture is a client-server application, where the server is a WCF service, which gains access to the server part of the Docsvision platform and performs processing of client commands, and the client is a regular application for the Android platform.
What does the “Assistant for Android” look like?
Principle number 4: Performance.
The Docsvision platform should be fault-tolerant and productive under load for up to several tens of thousands of users.To verify and confirm this, we deployed a special multi-server infrastructure designed for load testing the system, which we perform using software emulation of user actions in the Visual Studio Load Test environment.

But in more detail about this stand, and also about our technique of testing products, we will already tell in our next post.