Open Items

A simple data specification and various open-source tooling for pyshical items for coordination in commerce and non-commerce scenarios.

Simple Commerce & Solidarity Sites

We aim to create a very small minimal website editing tool that integrates with NextCloud such that non-technical site owners that can easily edit their site content, and simple commerce listings can happen via EOTL’s Open Inventory software

Problems

The existing landscape of CMS tools today leaves something to be desired IOHO (in our humble opinions). Looking at the various tools and their deficiencies:

  • WordPress - big, clunky, lots of widgets, panels, settings, and optimized for blogs + needs plugins
  • Drupal - same problems as WordPress (configurability + complexity), optimized more broadly
  • SquareSpace - more simple and intuitive, but not open-source + locked into company

The hosted version of wordpress.com and various companies offering easy deploying of both WordPress and Drupal bring them more alignment with SquareSpace. However, the complexity problem remains- average, basic computer users don’t really know how to configure and use these powerful platforms and rely on good configured templates and usually web-developer help.

As web-developers, working with these custom templates and plugins has a specialization overhead. Yes, many people who are not serious software developers can and do manage, but is it fun, easy, and very minimal amount of work? No.

Also, the server requirements (PHP, MySQL, Apache) to run an instance of each of these CMS / sites is nowhere near as minimal as serving static HTML, as well as the attack surface.

Partial Solutions

In the last 5+ years, static sites which render Markdown (or HTML) files to raw HTML have risen massively in popularity.

  • Static Sites (Jekyll, Hugo, Pico CMS) - all very technical to setup and start using… good for web-devs, not so much for end-end users
  • Netlify - makes a decent GUI experience of editing content on a static site, but requires GitHub / GitLab accounts and a developer to setup and configure.

While finding it a bit annoying that each static site generator uses different “front matter” (usually YAML) at the stop of the markdown file to specify page meta-data, and the templating syntax is slightly different for each framework… static site tools are pretty decent and flexible, yet simple, for front-end web-devs.


However

What plagues all of these solutions is that they are a completely separate app, flow, and tooling for a user which requires them “create an account” that only solves one part of their digital life for their small business, project, whatever…

With the neat app ecosystem of NextCloud that helps people do quite a whole lot, it seems managing a simple website would be really helpful feature, enter:

Pico CMS NextCloud

This is a simple tool which allows a NextCloud instance to deploy and edit multiple Pico CMS websites piggy-backing on NextCloud’s nice markdown editor. Unfortunately, Pico CMS leaves things to be desired such as:

  • It requires NextCloud to disable encryption to work
  • Deploys on same server as NextCloud
  • Only works with Pico CMS (not other existing static sites)
  • The front-matter (YAML) at the top of your markdown pages is problematic

Proposed Solution

To make an alternative variation which functions like this:

  • Edits markdown files in similar fashion
  • Use WebDAV to sync specified your-website.com style folders with remote servers
  • Allows for use with Jekyll, Hugo, etc…

Beyond that basic functionality, it would be cool to integrate and extend the NextCloud markdown editor to handle front-mater values such as:

title: About Us

date: 2020-11-23

type: post

Instead the user would be presented with GUI widgets (text input field, date picker, dropdown menu) like how Netlify works. This is really crucial as messing up those values in a markdown files in static-sites often causes the page to not render correctly if at all.

Project Details

2020  2024 
@eotl

Status

This project has only been proposed, but not started.