Sensor Station

Vesica Piscis

Hyssop

Flexible CMS

Hyssop

Many of our clients request a content management system to update their website without developer assistance. Dissatisfied with the available options, we set out to design a system formed by our ideals: independent, simple, lightweight, and flexible. We feel deeply obligated to provide our clients with lasting value from their investment rather than producing a house of cards. Please contact us to discuss how Hyssop might be a good fit for your project.


Hyssop is a content management system that allows developers to easily balance free-form content creation with design constraints.

Rationale

Classic CMS solutions like WordPress and Craft require a SQL database, posing the following problems:

  • additional hosting and security requirements

  • separate backup procedures for code and content

  • developer overhead for migrating and syncing production, staging, and development database content

Newer solutions like Sanity and ButterCMS remove some database concerns from the developer and relax the strictness that SQL imposes on your data, but is not without problems. Namely:

  • always-on internet connection is required to fetch and manipulate content

  • your content is hosted for an exorbitant monthly fee

  • your content is held hostage to the terms, conditions, uptime, and overall behavior of another company

  • multiple developers simultaneously working on a single live dataset can be wrought with time-wasting conflicts

diagram showing schema and JSON files funneling into a web UI, which produces a static site

Hyssop stores content as plain JSON in the Git repository alongside the templates and stylesheets, considerably simplifying the development environment and setup requirements. On the surface this may seem like a crude solution in comparison to the power of SQL or GraphQL, but in practice most projects require no more than tens of documents; the entire dataset easily fits in memory, and JSON encoding/decoding is a small drop in the bucket relative to other intensive tasks like image processing. Any file encoding scheme can be used; JSON was an easy default to reach for because of its ubiquity. The file-based nature of storing content allows version control systems like Git to be used to keep a history of content and work on multiple branches simultaneously.

screenshot showing a CMS interface

Hyssop makes quick work of defining the data structures that make up a project, with hooks for easily defining custom serialization and validation. Given this structure, Hyssop generates a friendly web UI to update the stored content as edits are made. This web UI can be served locally with zero additional requirements, or hosted password-protected over the Internet for easy client access. Git's merge tools can be used by the developer to reconcile any asynchronous content changes between herself and the client. SQL migrations are not relevant here. Hyssop also provides UI hooks to easily create custom input widgets that are not part of the Hyssop standard library.

Paired with our custom Indigo static site generator, we have created a complete solution for managing the modern high-end website. Our solution is environmentally friendly and economical, as it requires bare-minimum hosting requirements. We bundle and license the entire CMS with each project, avoiding any proprietary lock-in and empowering each client to move freely between hosting providers as they see fit.