On 20th February 2015, Kotti 1.0.0 final was released. This is a big occasion for the Kotti (and Pyramid) community, so let's have a look at the road behind us and the hurdles still in front of us.
Our experience with Kotti
We started using Kotti pretty early on, in the beginnings of 2012. Jure <ibi> attended the Plone Konferenz München 2012 where Daniel Nouri, the creator of Kotti, had a presentation on it. Needless to say, Jure was impressed with what he saw and quickly booted Kotti up and started hacking away.
We have since then used Kotti in both professional and personal projects, organised a Kotti sprint and continued working with Daniel on several different projects.
According to a blog post by Daniel, he started implementing a then unnamed Plone-inspired 'new CMS with Pyramid' on the 24th of January, 2011.
The first commit is dated 28th January 2011 and added the starting 24 files and 1,251 lines of code, tests, configuration files and documentation. The readme at the time said this about Kotti:
Kotti is a minimal CMS based written in Python and based on the two most excellent libraries Pyramid and SQLAlchemy. Kotti tries to leverage these libraries as much as possible, thus: - minimizing the amount of code written, - and allowing users familiar with these frameworks to feel right at home. Kotti aims to use few abstractions, yet it aims to be somewhat extensible. You can extend Kotti with new content types and views from your own Python packages. If all that you want is replace templates and styles, then it's sufficient to hook up your static files in the configuration, i.e. without writing a single line of Python.
It has been a few years, but the core ideas have definitely stayed the same.
The road to 1.0
Since it's humble beginnings in 2011, Kotti, with a lot of help from some great people, grew into what we have today. A lot has happened:
- 115 issues were opened and fixed on the issue tracker
- 251 pull requests were submitted
- The documentation was heavily extended and now includes a tutorial
- Continuous integration for all supported versions of Python on SQLite, PostgreSQL and MySQL was created
- A high coverage percent and high quality coding standards are adhered to
- There is a mailing list and IRC channel (#kotti on irc.freenode.net)
- Scaffolds to easily create add-ons were created
- Kotti now sports a modern, responsive and mobile-first theme built using Bootstrap 3
- Kotti is translated into 8 languages (DE, EN, FR, IT, JA, KO, NL, PT)
- And much more ...
All this of course only takes into account the work done on the base Kotti package. There were also several add-ons created by the community and a lot of extra functionality can be added by using them.
What awaits us?
Even though Kotti is currently is sitting in a nice place with v1.0.0, there are of course still things being worked on. What are some of these things?
The main milestones for new releases currently are:
- Integration of Depot for extra flexibility on saving files. This has already been done and is a part of the 1.1.0-alpha1 build already available on PyPi
- Providing a full, easily extendible REST API
- Python 3 support
More long term goals also include:
- Versioning support
- Thinning out Kotti core, move things like CMS functionality in an add-on
- Having a modern front-end development story
Do you have any ideas about possible improvements? A bug fix to report? Just want to share your Kotti story? Join us on the IRC channel, on the mailing list, or leave a comment below.
Share this post
comments powered by Disqus