Published in 01:00 of 11/18/2013 by Bruno Rocha
Bruno Rocha There is more to life than increasing its speed!

Published in 01:00 of 11/18/2013


Quokka CMS new features and roadmap to beta version

I started the development of Quokka CMS in 6th July, and it started as an experiment to learn more about Flask patterns and MongoDB. From the learning experiment I ended creating an extendable CMS.

The new logo created by @guswidrig

Before talking about the project

I have to thank some friends who helped a lot during this development process, @jniltinho who developed the landing page, the demo website, deployment scripts and maintain the demo site, @guswidrig for the help with Quokka-Themes and the development of the new logo, @mrjoes who did not colaborated directly to Quokka core, but made significant enhancements to Flask-Admin which is the base for Quokka CMS, @ellisonleao fixed some compatibility bugs, @avelino for letting me stole some ideas from Opps CMS, @rturk and others who reported issues.

What's new in Quokka CMS?

I'll try to resume the important points of changelog since the first anouncement in July

  • Quokka got a new logo
  • Got a landing page
  • Documentation started to be writen in github wiki (yes we are not going to use sphinx)
  • Theming support (front-end and admin has support for multiple themes)
  • Can use a different theme for each channel or content
  • Reorganization of data models
  • Decoupled admin
  • New theme for front-end default theme based in Bootstrap 3
  • New admin theme based in Cosmo theme from bootstrap/bootswatch 2
  • New media management module (Work in Progress)
  • Decoupled comments and created a new internal "disqus like" comment system
  • Easy to setup disqus, facebook, intense debate etc
  • Google webmaster tools and analytics default settings
  • Better SEO settings in base templates
  • Support for multiple content formats (dafaults to HTML or Markdown)
  • Support for tinymce or lepture markdown editor
  • Pagination support (that was easy with mongoengine)
  • Customized MongoEngine lsit field to get filtering tools
  • Channel can be a redirect point
  • Channel can render a flat page or another content instead of channel lists
  • Dynamic template resolver, multiple template types for channels (list, grid, portal, blog)
  • Decoupled settings (now it is recommended to use settings based in environment variables)
  • " populate" to load sample data
  • Cookiecutter template to create quokka modules
  • Basic recommendation based in tags
  • Tags listings
  • ATOM/Feed for channels

Well that's the important implemented things and now the CMS is really "usable", but there is already some important things to do before the release of a beta version.

Roadmap to beta

There is a lot of basic things to be developed and I am counting on your help!

  • Search (needs full text based in MongoDB features)
  • REST api
  • Module and Themes Package Index python install theme|module module_name
  • Module management center in admin (allow installation of new modules via admin)
  • Theme management in admin (allow installation of new themes via admin)
  • Media management (need better widgets to manage related media in Content admin)
  • In place edit for posts
  • Basic admin index dashboard (it is already possible to customize the dashboard, it needs quick-post forms and other widgets)
  • Social auth
  • A lot of issues in github

Quokka modules

I already developed some Quokka modules ready for use:

  • Quokka-cart is a generic shopping cart
    It is a simple decopled shopping cart to be plugged in any application.

  • Quokka-classes is a classroom management system
    Currently it is only a showcase and course selling, but the idea is to create a complete LMS.

Sites using Quokka

  • YACOWS Academy is using Quokka and Quokka cart
  • (this blog)

Some screenshots

See fullscreen image gallery