Paradicms, a minimum viable CMS
#I found out about Paradicms when searching for advice about working with RDF data in JavaScript.
(The name appears to be a combination of “paradigms” and “CMS”.)
The pitch is that they’re building a CMS for digital humanities projects like archives and museums in a minimal computing way.
- Data is stored in non-coder-friendly systems like spreadsheets.
- The final result is a static site, with no server to host or babysit.
- The same data can be built into different site layouts depending on the project’s needs, and Paradicms provides several templates.
RDF comes in between the data sources (e.g. a spreadsheet) and the static site generation. Spreadsheets in a conventional format are pulled into a linked data graph, which is then queried to create the data on each page. Critically, this happens at build time, not at page load time.
I like:
- Using RDF as an “integration” or “enrichment” layer between different data sources. It feels like all data models eventually become RDF anyway, when they are asked to accommodate enough use cases.
- The focus on minimal computing, avoiding complexity for non-technical users.
- We will truly never escape spreadsheets, and this approach leans into this truth and meets users where they are, rather than attempting to reinvent data management.
I worry about:
- The UX of editing linked data in spreadsheets is… not good. I’m not yet convinced “real people” can work with this. A significant issue is having to pick IDs from dropdowns.
- Is static site generation from RDF “simple enough” or is this where all the complexity moves to? The project provides some templated site types based on their digital collections data model, but what if I wanted to build something different?
- It uses Python instead of JavaScript, the universal scripting language of the web. (Yes, this is a silly nitpick and slightly tongue-in-cheek.)
I wish RDF were more popular as a concept, with apps providing schemas/grammars for their data export.
I’d like to try out the Paradicms approach on some small projects for local groups I’m part of that aren’t technical. I hope this could be a way to responsibly deliver a small data-backed site or app to a group that aren’t coders.