Simon Willison’s Weblog

9 items tagged “cms”

react-jsonschema-form. Exciting library from the Mozilla Services team: given a JSON Schema definition, react-jsonschema-form can produce a cleanly designed React-powered form for adding and editing data that matches that schema. Includes support for adding multiple items in a nested array, re-ordering them, custom form widgets and more. # 23rd April 2018, 9:38 pm

The key to using Wagtail effectively is to recognise that there are multiple roles involved in creating a website: the content author, site administrator, developer and designer. These may well be different people, but they don’t have to be—if you’re using Wagtail to build your personal blog, you’ll probably find yourself hopping between those different roles. Either way, it’s important to be aware of which of those hats you’re wearing at any moment, and to use the right tools for that job. A content author or site administrator will do the bulk of their work through the Wagtail admin interface; a developer or designer will spend most of their time writing Python, HTML or CSS code. This is a good thing: Wagtail isn’t designed to replace the job of programming. Maybe one day someone will come up with a drag-and-drop UI for building websites that’s as powerful as writing code, but Wagtail is not that tool, and does not try to be.

The Zen of Wagtail # 1st March 2018, 4:10 pm

Wagtail 2.0. The leading Django content management system just released it’s 2.0 version—now Django 2.0 and Python 3 only, and with a new rich text editor based on Draft.js. I really like Wagtail—it’s full-feature,d mature, well-documented and philosophically aligned with how I think a CMS should work. I also like this line about the new Python 3 requirement: “Call us reckless neophiles, but we think that, nine years in, Python 3 is looking pretty solid.” # 1st March 2018, 4:06 pm

A Complete CMS with No Server and 18 Lines of Code | Netlify. Slightly hyperbolic title, but there’s something really interesting going on here. Netlify is a CDN/hosting provider optimized for static site builders—it can hook up to a GitHub repository and build and deploy your site on every commit. Netlify CMS is their open-source CMS tool which works in a fascinating way: it’s a single page React app which stores structured content (as Markdown files with embedded key/value pairs) directly to your GitHub repository. Fire up Chrome DevTools and you can watch it using the GitHub API to construct new commits every time you hit “save”. # 26th November 2017, 5:53 pm

Should I store markdown instead of HTML into database fields?

You should store the exact format that was entered by the user.

[... 95 words]

Using Git as a versioned data store in Python. gitshelve supports the same interface as Python’s built-in shelve module but stores things to a versioned Git repository instead of just a pickled dictionary. I’ve been casually wondering what a Git-powered CMS would look like. # 15th May 2008, 3:25 pm

Website for the masses!

You could try building it on top of a wiki engine, like MediaWiki—see my comment on this older question.

[... 33 words]

How can my non-tech-savvy Mum maintain her own website?

Here’s a trick I’ve used in the past. Find a simple wiki package (I used Tavi). Install it, twice. Point both installations at the same backend database. Now password protect one of them with .htaccess—that’s the one that gets used to edit her site. Make some simple template modifications to the other one to make it not look like a wiki—remove the edit links (and delete the edit saving code for good measure), configure it to display WikiLinks with spaces in the middle, then add the site’s navigation around the top. This wiki will be the public site.

[... 216 words]

Do Content Management Systems really work?

Have you considered trying a Wiki? In my experience, the more permissions / workflow / etc you have in a CMS the more likely it is that people won’t use it. Wikis may be a little unconventional but the barrier to entry is fantastically low and they can work extremely well (I like MediaWiki or TaviWiki myself).

[... 143 words]