Robust web application server Substance D

Substance D is a web application server written in Python with stable and refined management interface (SDI) that can be quickly built for custom user experience.

Substance D logoDue to the success of Zope Management Interface (ZMI) and later - Plone, other systems (like Django) developed the idea that out-of-the-box UI for interacting with the system must be the key feature of web application framework. This particular experience was used by Substance D and resulted into a powerful system.

Substance D is an open source application server inspired by Zope, written in Python, and built upon several technologies like Pyramid, hypatia, colander, and deform. Substance D is a base for developing a general-purpose web apps like a blog, a shopping cart application, intranet, or any other web app that demands robust workflow, database management, and comprehensible interface.

The Substance D Management Interface

Substance D enables app development with stable and refined management UI that can be quickly built for custom user experience. The Substance D management interface (SDI) allows management of resources and services, including users, groups, security, etc. using functions like adding, deleting, changing, and renaming.

The SDI is for different groups of users:

  • for developers during the application building process;
  • for administrators to configure application settings after deployment;
  • for application users with different level of authority.

The SDI is extensible and allows not only to define a Management View (a view configuration that is only applied when a user uses a URL with the manage prefix, e.g. /manage), but also to add custom views for user content management. Developers can define "content" (e.g. articles, products, news) using Python.

The SDI has a simple and comprehensible layout that contains a header (has username and dropdown menu with account information, a logout link, or other predetermined options), breadcrumbs (path to current location), flash message (for different kinds of notices and the previous operation results; is optional), a footer.

Valuable Substance D features

Substance D requires Python 2.6, 2.7, 3.2 or 3.3. It uses a powerful data grid based on SlickGrid for folders and they offer the basic features: “infinite scrolling”, column resizing and re-ordering, sorting on sort-supported columns, and filtering based on search string. More advanced features include custom content types for management and arbitrary application development purposes, detection and re-layout on responsive design operations.

One of the most useful features offered by Substance D is that almost any transaction done via the management interface or by a retail user can be undone and redone after commit. Database as object is easily managed via the SDI. Details and statistics about the database, the connection, and activity can be invoked from the root object tab. Since Substance D helps to manage relationships between content, support for referential integrity is built-in.
Users and groups in Substance D are called principals and can be managed in the same way as any content. They can be added into folder, edited, deleted, and renamed via the SDI. Other functionality includes password resets and access to some of the SDI tabs like Security, References, etc. Substance D also allows to make highly granular hierarchical security declarations.

Performance, security, and availability monitoring are built-in, as well as the workflows service that provides a powerful system for managing states and transitions. Workflow states can be defined and enforced for different types of content. Auditing is also simple with Substance D, because every action taken by each site user is logged into a built-in audit log facility. With Substance D there is no need for third-party text-indexing system, since built-in text indexing and search facilities give users an opportunity to quickly find the desired content.
Interested in more?
Quintagroup has experience with this Python system and can use Substance D for the development of your particular project. For more information and demo please visit Substance D website and read Substance D documentation, or contact us for professional assistance.

Connect with our experts Let's talk