Skip to content

Instantly share code, notes, and snippets.

@henning
Last active December 28, 2015 01:29
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
Star You must be signed in to star a gist
Save henning/7420794 to your computer and use it in GitHub Desktop.
Ideas about what we do to make the aldryn installer help users get terribly easy started with django CMS

We've been dicussing the Aldryn CMS installer and what it needs to make it a very good tool that serve's it's puprose very well.

First i gonna define what I, as a user, believe what an installer must do.

I believe in 80% and more it's the new and/or caual user wanting to testdrive, or setting up the system once a year for development. Experts, longterm and production use will and should always be handled with automated deployments(ansible, chef, puppet), selfmade distribution packages(rpm, deb,..) and such!

That means the installer must be able, to get a ready to use CMS system, for simple use cases, installed as simple and fast as possible, allowing the user to add more specific settings, further features and adjustments and extensions of functionally later as needed.

Here we realize: Its not only the installer, but a combination of documentation, configurability, extensibility, adjustability of the system itself, and the installer has to prepare a system that works well and easy as fast as possible, with enforcing as less decisions as possible to the user(experts and long time users do everything their own way, anyway) so for 80% percent of all of them all works out of the box as fast as possible!

That means, after running the installer, the user needs to do nothing more than run the system, login, and can start adding content as he likes, and the content(web pages! if a blog shall be included is subject to be discussed) can immediately be published and shown to the outside world, with a nice looking theme(not sophisticated, simple, but good, and probably mobile enabled), with a menu, with a proper title tag in the html.

That means also

  • No languages decision - start with single language - the one thats the system default the installer runs on! But docs and the system in general must make adding more languages afterwards simple like a single command - "aldryn add_language de" !
  • No django and cms version selection! Latest stable - everything else is for experts and special situations!
  • Versioning support? Why would someone not want it? Must be an expert! Normal user wants it, even though he doesn't know yet...
  • timezone? Current system timezone!
  • database? Might be something everybody wants to chose. But for a test install sqlite always is enough. Better have the cms have an easy way to export and import settings and content(both separately!) from test/dev to production and the other way round(settings often travel dev->pro while content pro->dev, but may be different according to situation)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment