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.
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)
- "manage.py 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 manage.py 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
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
- BrunoRocha.org (this blog)
How to join the project
You can help in different ways, testing, reporting issues, fixing some issues, developing new themes and modules or becoming a core developer, just fork it and send the pull requests.
comments powered by Disqus Go Top