Paster AddOn Template for Kotti
kotti_paster provides “starter” scaffolding for creating a projekt or an addon for Kotti. See the Kotti documentation for detailed documentation.
kotti_paster has bobtemplates.kotti as successor and will not be developed any further. If you are new to Kotti development and interested in developing a theme or an addon you probably want use mr.bob in conjunction with bobtemplates.kotti. However, if you want explicitly use templer or looking for a scaffold to create yourself a buildout structure for your kotti addon you are on the right place.
You just install the package from PyPi with easy_install. This will install PasteScript and Cheetah. So you may want to create a new virtualenv to install it there:
$ easy_install kotti_paster
After the installation you have two more paster templates: kotti_project and kotti_addon.
Create a project
The kotti_project scaffold allows you to easily generate a buildout based project for Kotti. You do this with the “paster create” command in your virtualenv:
$ paster create -t kotti_project my_project_name
This will create a my_project_name buildout with a my_project_name development package.
To run the buildout project bootstrap, run buildout and start your project with pserve:
$ cd my_project_name $ python boostrap.py $ ./bin/buildout $ ./bin/pserve development.ini
The server will be start on port 6543 on default. Visit http://localhost:6543 to see Kotti with your addon in action.
The addon contains example code - change it and add your fancy stuff. See the Kotti documentation for further informations.
There are some parameters to adjust the project to your needs. Some of the options are only available with the expert mode on the interactive prompt, so choose this if you want to overwrite the defaults of the options omelette, codeintel and supervisor.
If you use git as versioning control system a
.gitignore file is usefull in your project. By default
this file will be created. If you don’t need it, set the option
$ paster create -t kotti_project my_project_name --no-interactive gitignore=false
If you plan to host your project on github travis is a handy way to set up continuous integration with almost no effort. Add the parameter travis=true to the command line and a file named .travis.yml will be integrated in your project. This option defaults to false:
$ paster create -t kotti_project my_project_name --no-interactive travis=true
omelette is a recipe that sets up a directory structure that mirrors the actual python namespaces, with symlinks to the egg contents. If you won’t have this in your buildout, you can exclude it:
$ paster create -t kotti_project my_project_name --no-interactive omelette=false
The codeintel recipe generates a configuration file for SublimeCodeIntel, a SublimeText plugin, what is extremely usefull, but only if you use SublimeText as your editor and have the plugin installed. Use the command line option codeintel to activate this option:
$ paster create -t kotti_project my_project_name --no-interactive codeintel=true
The supervisor recipe integrates supervisor section to your buildout. Supervisor is a client/server system that allows its users to monitor and control a number of processes on UNIX-like operating systems. Read more about it in the supervisor documentation. Set supervisor=true on the command line to get this section in your buildout:
$ paster create -t kotti_project my_project_name --no-interactive supervisor=true
Create a addon
The primary job of kotti_paster is to provide a scaffold which allows you to easily generate an addon for Kotti. You do this with the pcreate command in your virtualenv.
The kotti_addon scaffold allows you to create an AddOn for Kotti:
$ paster create -t kotti_addon my_addon_name
This will create a my_addon_name package in the current directory. You can use this package alone inside an own virtualenv for development purposes or you can add it to your buildout.cfg:
[sources] ... my_addon_name = fs my_addon_name [application] ... eggs = my_addon_name
and your development.ini:
kotti.configurators = ... my_addon_name.kotti_configure
You can include an example for a Kotti content type, see the section for content types in the Kotti developer manual for more info:
$ paster create -t kotti_addon my_addon_name --no-interactive content_type=true
The addon contains example code - change it and add your fancy stuff. See the Kotti documentation for further informations. In the documentation you will find a tutorial where you get more information how to start an addon with kotti_paster.
- Update to use Kotti 9.2.0. [j23d]
- Fixing domain for translation. [jon1012]
- Use the development requirements directly from Kotti itself. [j23d]
- Rename static.py to fanstatic.py for consistency. [j23d]
- Added example for a test that uses pytest fixtures from Kotti. [j23d]
- Added a ini file for addons. [j23d]
- Change imports to PEP8 style. [disko]
- Change entry_points to dict style. [disko]
- Fix bug in gitignore template. [disko]
- Update to Kotti >= 0.8:
- Use fanstatic include in kotti_configure.
- Use form classes instead of generic form functions.
- Pin Cheetah to meet the requirements of templer.core.
- First public release.