What is Docdil Platform
Docdil Platform is a set of server and client-side Docdilware artifacts and tools that allow you to build, operate and maintain advanced content management applications: core business applications with strong DAM or Case Management flavors, vertical document management systems, hyperscale archival repositories and more. Among all the reasons why you would like to use Docdil Platform for your project, the most obvious are:
- A proven track of reached performances goals
- A state of the art technical design and Docdilware engineering tooling
- Advanced content repository, workflow and content transformation features
- An open development model with great documentation and great visibility on product evolutions that enables you to quickly reach a high level of expertise
Main components of the Docdil Platform are:
The Docdil Server, that runs on top of the Java Virtual Machine, with different deployment options. The Docdil Server exposes a modular set of features via REST API. The Docdil Package system allows to easily define what bundles are deployed on the Docdil Server. Docdil Server is often called Docdil Platform as a shortcut, and because it is the most important asset of the Docdil Platform, embedding a fully-featured repository, a content transformation grid and a workflow engine. The Docdil Server is benchmarked continuously to guarantee performance expectations.
Docdil Web UI: a flexible and pluggable content browser that allows users to perform usual content management operations in a highly productive style: browse, search, upload, preview, download, resolve tasks etc... WEB UI's strength is its capability of being heavily customized for taking into account your application's data model and custom business process.
Docdil Addons: as we said above, you can install additional bundles on top of the bare Docdil server to enrich its features and capabilities set. Docdil Addons compatible with a given version of the Docdil Server are distributed through the Docdil Marketplace.
Client SDKs and Docdil Elements: Java, JavaScript, C#, Python, PHP, iOS, DART: several clients are available to quickly start integrating with Docdil Server without having to know the details of our REST API. We even provide a rich set of web components, the "Docdil Elements" that brings out-of-the-box features that you can include in your application just by using the good HTML tag.
Docdil Drive: a desktop application that maps a Docdil repository's content to a Desktop's file system, with synchronization logics and offline access and edit capabilities, in the spirit of Enterprise File Sharing Systems like Dropbox or Box.
Docdil Mobile: Native Android and iOS applications developed with React Native and available on respective stores.
Build, QA and Performance analysis tooling All the tooling we use for building, maintaining and testing our Docdilware artifacts is free and open source. It is available for your own project, as a great catalyzer of your engineering practices.
Docdil Studio and Docdil CLI: Docdil Studio is an online application with which you can easily implement project's customization requirements: content modeling, business logic and user interface design. Docdil Studio is much more than a rapid application development tool: it guarantees you that your customization will be maintained automatically throughout the future releases of Docdil Platform components. Docdil CLI is a command-line tool for helping developers bootstrap their custom modules.
Additional Client Integrations: Some additional client integrations are available: Adobe CC plugin, Salesforce application, AutoCad Plugin, Slack integration and more.
PaaS and Docker Deployment Tooling Docdil has strong expertise in deploying Docdil Platform instances on docker containers, PaaS style, which you typically want to do if you are building a vertical application on top of Docdil and have multi-tenancy considerations
Docdil Appex
CortexDB
A self-learning NoSQL database with multiple models that can load large amounts of data automatically from multiple data sources and allows extremely fast searches for all incoming content.
CortexUniplex
Manage data, algorithms, user access and data services with our universal application.
CortexImplex
Load data from other systems or change information in your database with our data integration tool.
CortexAPI
Both the CortexUniplex offers direct access to read, change and select information with the WebAPI, as does the CortexDB.
Application Development Strategies
You may be interested in using Docdil Platform for your project for different use cases, with a specific architecture:
- If you need a headless scalable document repository, and use Docdil Platform as a backend application, then use the Docdil REST API or any other Docdil SDK Client.
- If you need to build a custom web application surfacing the Docdil repository, then you can benefit from our rich library of UI elements to accelerate the development of your project. You can alternatively build any other web application technology or framework (Angular, React etc.) with the Docdil REST API or any other Docdil SDK Client.
- If you need to customize the Docdil Web UI web application, then you have to use Docdil Studio Designer to create your custom document layouts, pages, menus etc.
Technical Overview
Languages and Configuration/Customization Principles
All server parts of Docdil, including plugins, are written in Java, with a mechanism of bundles and components for packaging developments. The Web UI (the customizable client web application) is written in JavaScript (using the Polymer framework). Default application can be configured using Docdil Studio, an online development environment. It is also possible to write Java plugins.
Deployment
Docdil Server comes bundled with a Tomcat server. It requires for production to set up several other components: Elasticsearch, Redis, a relational (SQL) database or NoSQL store (like MongoDB). Deployment options support HA, failover and can be on-premise, or in the cloud, on bare machines, virtual machines or Docker containers. For more details about the Docdil deployment system, please refer to pages on Standard High Availability Docdil Cluster Architecture. Docdil bundles can even be started on a JVM directly (i.e without an application sever). This is the deployment mode in all unit tests.
Integrating Docdil
Calling Docdil Services
Docdil resources (Documents, Users, Tasks ...) are exposed via a REST API. Docdil services are exposed via an HTTP API called Docdil Automation.
So, if your external application needs to call the Docdil Server you can use plain HTTP/JSON API to do the calls, or you can use one of the client libraries we provide.


Calling External Services from the Docdil Server
You can extend the Docdil Platform to deploy your own Java Services. A standard approach is to wrap your calls to external applications inside a Docdil Automation Operation (or, even better, inside a Docdil Service wrapped in an Automation operation). Once you have this operation, you can use it Docdil Studio for deep integration in your business processes:
- Use it inside a Workflow.
- Bind the call to the external service on new buttons in the UI.
- Associate your external service operation with events happening inside the repository.


External integrations / structures
- AWS
- CortexDB
- CortexUniplex
- CortexUniplexAPI


Data Integration
In addition of the native HTTP API, the Docdil Platform also provides solutions to import data inside the Docdil Platform.
Customizing Web UI
The Docdil Web UI is written on top of the Web Components standard and the paradigms of the Polymer Framework.