User Tools

Site Tools


advanced:design_overview

Design Overview

An overview of the Digital-Clay platform from a design and architectural point of view.

Goals

Digital-Clay is a generic and comprehensive platform enabling users to build almost any conceivable system that revolves around data, without writing a single line of code, script or SQL query.

The user interface is layered, showing extremely simple, user-friendly and intuitive tools for basic users, while still providing underlying, powerful and very flexible tools and features for more advanced users or developers building a system, all using a point-and-click interface. See below for more on the basic types of users.

Note that Digital-Clay is not designed to be a front-end to other systems, but is a stand-alone and complete system with its own database, which is capable of being integrated with other systems with minimal programming. See below for integration options.

The system is designed so that a single implementation may be deployed with a variety of databases and clients. Most features work identically regardless of the underlying database, and users can connect to a single Digital-Clay system via desktop clients, web browsers, and an Outlook plugin. Users may also work offline.

Scope

Digital-Clay covers a wide range of functionality and is completely generic. Digital-Clay has been implemented to manage everything from CRM data, human resources, and accounting, to school curriculums, warehouses, disaster management, article management, various BI and analysis projects, billing systems, various unique service providers, etc.

The core functionality categories covered by Digital-Clay are:

  • Data management: tables, fields & links, security permissions, and data-entry.
  • Application building, custom interfaces, layouts, menus and user actions.
  • BI, reporting, analysis and dashboards.
  • Automation, business rules, workflows, data-integrity control, notifications, etc.
  • Basic document-management, attachments and a document repository.


Each of these categories include thousands of features for customizing the system based on years of working closely with customers. Features are constantly being added and improved at a rapid pace based on customer feedback.

Architecture

The diagram on the right presents the layered architecture stack of the Digital-Clay platform. Some notes:

  • All clients connect to the ClayCentral server, not to the database. ClayCentral provides database abstraction, automation triggers, and enforces security permissions and field properties.
  • The database can and should be locked down so that only ClayCentral can connect to it. That is, unless you need to extract information directly from the database for external systems. Note, however, that while any system may read from the database, only ClayCentral is allowed to write to it. See below for integration options.
  • Clients can communicate with ClayCentral using different protocols including a slower mail protocol that can bypass firewalls.
  • Offline Usage is available with desktop clients, retrieving data from a local synchronized MDB database.

Users

A Digital-Clay system allows for a separation, as necessary, between the following types of users:

  • System Administrators: Standard server, database and network administrators with minimal knowledge of Digital-Clay. Responsibilities may include hardware and operating system configuration, network administration, database administration, backup systems, web-server configuration, failover clusters, Digital-Clay deployment and installations, etc. Most of these tasks may be offloaded to a third-party or hosted by a solution provider.

  • Digital-Clay Administrators: These are usually advanced Clay users or experts, either handled by in-house administrators, or by project managers via third-party solution providers. These users typically use the ClayStudio and ClayIntegrator clients. Their responsibilities may be further separated as follows, but these are often handled by the same people:

    • Database structure, tables, fields and links. No SQL knowledge is necessary but understanding of basic database concepts is useful. Also, because of Digital-Clay's unique Custom Links abstraction, all other users do not have to know the table structure or how to join tables for queries and analysis.

    • Automation: Building the logic to enforce company business rules. This is usually handled by the same person that builds the tables.

    • Profile and user management, permissions, layouts, toolbars, etc. Managers can centrally manage their employees, fine-tuning their permissions, adding queries, templates, and other objects to the profile toolbars as needed, all customized per user or group of users.

    • Integration: Importing and exporting data, or calling external systems. This is usually handled by experts of both systems, but in basic cases may involve a simple import session using the ClayIntegrator.

  • End-users: These users often require little or no training and use the various types of ClayStation clients. Power users may customize their own local profiles, otherwise they use profiles assigned to them and built by their administrator. Users can add and use filters and columns easily without understanding table structures, and analysts can use powerful BI tools with minimal training and without building SQL queries or joining tables.

Integration

Integrating Digital-Clay with other systems is done primarily through any of the several options listed here for importing and exporting data.

If custom logic is required beyond the standard Custom Functions in Digital-Clay, External Functions may be used to program custom functions using database code, or via web applications (custom or third-party) in order to retrieve or transform values.

If programming a customized GUI is required, or the user interface must be integrated with an external application, see Add-Ons/External GUI for some available options.

A REST API is also available for complete programmable control of Clay from external applications, or for use in a completely custom-programmed front-end to Clay.

Tip for synchronizing data between applications: When synchronizing records between Digital-Clay and an external data source, a custom field can be added that contains the external ID used for identifying the record, or a combination of fields (e.g. Name+Phone) may be used to uniquely identify the record.

Importing Data

  • For importing many records at once, either one time or periodically, use ClayIntegrator. ClayIntegrator can also mass-transform data using advanced transformation rules. This is a pull action that can run on a schedule.
  • To import or update individual records in real-time triggered by external applications or database triggers, use Data Injection. Automation rules can be used to further process the incoming data in real-time. This is a push action.
  • To import data from web forms, or external systems outside of the network, use Data Injection via e-mail.
  • For retrieving field values dynamically and on-demand from other systems or web sites, use External Functions. This is a pull action that runs based on Digital-Clay triggers.

Exporting Data

  • Lists and analysis results can always be exported manually from Digital-Clay clients to CSV/Excel. But you can also use an Automation event to schedule periodical exports to CSV files or e-mails.
  • Use External Functions to send updates in real-time to web sites, databases and web services.
  • To pull information from Digital-Clay, or to extract data with custom SQL queries, you can connect to the ClayCentral database directly. Bulk Actions may be used to create pre-aggregated data on large tables. Note that this is for reading data only. Writing data into the database directly is forbidden as this bypasses ClayCentral and can therefore cause numerous problems or even corrupt data.
  • Another option is to use SQL Server triggers in the Digital-Clay database for real-time updates, or scheduled database/system tasks to extract data from the ClayCentral database.
  • Reports can be generated manually with Document Templates and sent via e-mail. But you can also automate this and periodically send reports to external users and systems using Automation.
advanced/design_overview.txt ยท Last modified: 2018/01/24 08:20 by Zev Toledano

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki