Skip to main content

Templates for Plone projects.

Project description

https://secure.travis-ci.org/plone/bobtemplates.plone.png?branch=master Coveralls Downloads Latest Version Egg Status License Gitter channel

bobtemplates.plone

bobtemplates.plone provides a mr.bob template to generate packages for Plone projects.

Features

Package created with bobtemplates.plone use the current best-practices when creating an add-on.

Buildout

The package is contained in a buildout that allows you to build Plone with the new package installed for testing-purposes.

Tests

The package comes with a test setup and some tests for installing the package. It also contains a robot-test that tests logging in. The buildout also contains a config to allow testing the package on travis that sends notifications by email to the package author.

Profile

The package contains a Generic Setup Profile that installs a browserlayer. For Plone 5 it also contains a uninstall-profile.

Locales

The package registers a directory for locales.

Template-Overrides

The package registers the folder browser/overrides as a directory where you can drop template-overrides using z3c.jbot.

Setuphandler

The package contains a setuphandlers.py where you can add code that is executed on installing the package. For Plone 5 there is also a method in setuphandler.py that is run on uninstalling.

The package-types Dexterity and Theme add the following to Basic:

Dexterity

Adds a simple content-type (you get asked about its name) in profiles/default/types/ with a python-schema in interfaces.py.

Theme

Adds the Default Plone 5 theme Barceloneta in the folder theme/ and registers it in profiles/default/theme.xml

Compatibility

Add-ons created with bobtemplates.plone are tested to work in Plone 4.3.x and Plone 5. They should also work with older versions but that was not tested. It should work on Linux, Mac and Windows.

Documentation

Full documentation for end users can be found in the “docs” folder.

It is also available online at http://docs.plone.org/develop/addons/bobtemplates.plone/bobtemplates.plone/README.html

Installation

Use in a buildout

[buildout]
parts += mrbob

[mrbob]
recipe = zc.recipe.egg
eggs =
    mr.bob
    bobtemplates.plone

This creates a mrbob-executable in your bin-directory. Call it from the src-directory of your Plone project like this.:

../bin/mrbob -O collective.foo bobtemplates:plone_addon

Or to create a new theme package:

mrbob -O plonetheme.tango bobtemplates:plone_theme_package
cd plonetheme.tango/
pip install -r requirements.txt
buildout bootstrap
bin/buildout

And launch the buildout using the command:

bin/instance fg

Installation in a virtualenv

You can also install bobtemplates.plone in a virtualenv.:

pip install bobtemplates.plone

With pip 6.0 or newer mr.bob will automatically be installed as a dependency. If you still use a older version of pip you need install mr.bob before bobtemplates.plone.:

pip install mr.bob

Now you can use it like this:

mrbob -O collective.foo bobtemplates:plone_addon

This will create a new folder collective.foo. Inside the folder you have usually a buildout setup, which you can initialize as follow:

pip install -r requirements.txt

if you don’t see any requirements.txt, add this file with the following content before you run the pip command above:

setuptools == 24.3.0
zc.buildout == 2.5.3

Now run:

buildout bootstrap

Your buildout should be ready to use now.

See the documentation of mr.bob for further information.

Contribute

Support

If you are having issues, please let us know.

Contributors

This package is based on bobtemplates.niteoweb and bobtemplates.ecreall

  • Philip Bauer [pbauer]

  • Cédric Messiant [cedricmessiant]

  • Vincent Fretin [vincentfretin]

  • Thomas Desvenain [thomasdesvenain]

  • Domen Kožar [iElectric]

  • Nejc Zupan [zupo]

  • Patrick Gerken [do3cc]

  • Timo Stollenwerk [timo]

  • Johannes Raggam [thet]

  • Sven Strack [svx]

  • Héctor Velarde [hvelarde]

  • Aurore Mariscal [AuroreMariscal]

  • Víctor Fernández de Alba [sneridagh]

Changelog

2.0 (2017-08-28)

  • Set the zope_i18n_compile_mo_files environment variable. [maurits]

  • Fixed i18n attributes for View/Edit actions in dexterity type xml. [maurits]

  • Separate theme template from addon template, we now have plone_addon and plone_theme_package [MrTango]

  • Update pins in the generated buildout.cfg [ale-rt]

  • Change default values for code analysis’ return-status-codes directive: it is now False on development and True on CI. [hvelarde]

  • Pin flake8 to latest (3.3.0) to allow use of latest pycodestyle (2.3.1) [fulv]

  • Imrove wording [svx]

  • Add requirements.txt and update README.txt to use it [MrTango]

  • Make cleanup hook windows friendly. [gforcada]

  • Move LICENSE.rst out of docs folder into top level. [gforcada]

  • Get rid of the last two code violations on generated package [sneridagh]

  • Comment the toolbar rule by default in backend.xml and add a comment on how to add it properly if backend.xml is used. Declaring the toolbar rule twice causes the toolbar JS stop working properly [sneridagh]

1.0.5 (2016-10-16)

  • Use same lines width than package name for title ## [AuroreMariscal]

  • Get rid of travis.cfg configuration as its use is no longer considered best practice. [hvelarde]

  • Update bootstrap-buildout.py to latest version. [hvelarde]

  • Fix imports to follow conventions. [hvelarde]

  • Avoid usage of double quotes on strings. [hvelarde]

  • Avoid usage of invokeFactory. [hvelarde]

  • Remove dependency on unittest2 as package is not intended to be compatible with Python 2.6. [hvelarde]

  • Use selenium v2.53.6. [hvelarde]

  • Use plone:static instead of browser:resourceDirectory to allow ttw-overrrides. [pbauer]

  • Bump flake8 version to 3.x. [gforcada]

  • Update theme template, include complete working Barceloneta resources + grunt setup [MrTango]

1.0.4 (2016-07-23)

  • Upgrade some pinns. [pbauer]

  • Upgrade to 5.0.5 and test against that. [pbauer]

  • Add i18n:attributes for action nodes in FTI profile. [thet]

  • Pin versions of coverage/createcoverage [staeff]

  • Default to Plone 5.0.4. [jensens]

  • Validate type name input (fixes #81). [pbauer]

  • Git ignore .installed.cfg and mr.developer.cfg by default. [jensens]

  • isort style checks are enabled, but no config was set. i Added config according to http://docs.plone.org/develop/styleguide/python.html#grouping-and-sorting [jensens]

  • Ordered sections of generated FTI xml into semantical block and added comments for each block. [jensens]

  • Bump setuptools version to 21.0.0 in buildout.cfg.bob [staeff]

  • Configure buildout to install all recommended codeanalysis plugins [staeff]

1.0.3 (2016-04-13)

  • Fix Plone default version (Plone 4.3.9). [timo]

1.0.2 (2016-04-13)

  • Create uninstall profile also for Plone 4.3.x, since it already depends on Products.CMFQuickInstallerTool >= 3.0.9. [thet]

  • Update Plone versions to 4.3.9 and 5.0.4. [thet]

  • Update robot test framework versions including Selenium to work with recent firefox releases. [thet]

  • Replaced import steps by post_handlers. Needs GenericSetup 1.8.2 or higher. This is included by default in Plone 4.3.8 and 5.0.3 but should be fine to use on older Plone versions. [maurits]

  • Removed .* from the .gitignore file. This would ignore the .gitkeep files, which would mean some directories are not added when you do git add after generating a new project. [maurits]

  • Note about disabled z3c.autoinclude in test layer setup. [thet]

  • Remove the xmlns:five namespace, as it is not used at all. [thet]

  • Fix build failure on Plone 4.x due to plone.app.contenttypes pulled in and having a plone.app.locales >= 4.3.9 dependency in it’s depending packages. [thet]

  • Declare the xml encoding for all GenericSetup profile files. Otherwise the parser has to autodetect it. Also add an xml version and encoding declaration to theme.xml. [thet]

  • Add “(uninstall)” to the uninstall profile title. Otherwise it cannot be distinguished from the install profile in portal_setup. [thet]

  • Simplify concatenation of .rst files for setup.py. [thet]

  • Update .gitignores in repository to exclude lib64, pip-selfcheck.json and all .* except necessary. Update .gitignore.bob in templates with these changes too. Add .gitattributes in repository for union-merge CHANGES.rst files. [thet]

  • Update docs and README [svx]

1.0.1 (2015-12-12)

  • Register locales directory before loading dependencies to avoid issues when overriding translations. [hvelarde]

1.0 (2015-10-02)

  • Upgrade to Plone 4.3.7 and 5.0. [timo]

  • Avoid pyflakes warnings for long package names. [maurits]

1.0b1 (2015-09-17)

  • Always start with 1.0a1. No more 0.x releases please. [timo]

  • Use Plone minor version for setup.py classifier. So 4.3 instead of 4.3.6. [maurits]

  • Enabled robot part in generated package. [maurits]

  • Add depedency on plone.testing 5.0.0. Despite the major version number, this change does not contain breaking changes. [do3cc]

  • Fix #84 Make travis cache the egg directory of the generated package. [jensens]

  • Update tests to use Plone 5.0b3. [jensens]

  • Remove unittest2 dependency. [gforcada]

0.11 (2015-07-24)

  • Fix update.sh [pbauer]

  • Add i18ndude to buildout [pbauer]

  • Fix package-creation on Windows. Fixes #72. [pbauer]

  • Add packagename to licence. [pbauer]

  • Add uninstall-profile for Plone 5. [pbauer]

  • Fix indentation to follow the conventions of plone.api. [pbauer]

  • Move badges from pypin to shields.io. [timo]

  • Fix coverage on travis template. [gil-cano]

  • Enable code analysis on travis and fail if the code does not pass. [gforcada]

0.10 (2015-06-15)

  • Add check-readme script that detects Restructured Text issues. [timo]

  • Use only version up to minor version in setup.py of package #56. [tomgross]

  • Use class method to load ZCML in tests. [tomgross]

  • Upgrade default Plone version to 4.3.6. [timo]

  • Add zest.releaser to package buildout. [timo]

  • Update README according to Plone docs best practice. [do3cc, timo]

  • Add flake8-extensions to code-analysis. [timo]

  • Upgrade Selenium to 2.46.0. [timo, pbauer]

  • Don’t create a type-schema unless it is needed. [pbauer]

0.9 (2015-03-24)

  • Add Theme package type with simple bootstrap-based theme. [timo]

  • Add Dexterity package type. [timo]

  • Remove example view. [timo]

  • Remove question for keywords. [timo]

  • Remove question for locales. [timo]

  • Remove questions for version and license. [timo]

  • Remove questions for profile, setuphandler, and testing. [timo]

  • Unify buildout configuration in buildout.cfg [timo]

  • Fix bootstrap command in travis.yml. [timo]

0.8 (2015-02-06)

  • Add includeDependencies. This fixes #23. [timo]

0.7 (2015-02-05)

  • Use latest buildout-bootstrap.py. [timo]

  • Fix failing nosetests. [timo]

  • Add test that creates an add_on and runs all its tests and code analysis. [timo]

  • Run tests on travis. [timo]

  • Run code analysis on travis. Build fails on PEP8 violations. [timo]

  • Add code analysis. [timo]

  • Remove z2.InstallProducts. Not needed any longer. [timo]

  • Use testing best practices and follow common naming conventions. [timo]

  • Remove testing profile. Global testing state is considered an anti-pattern. [timo]

  • Add example robot test. [timo]

  • Add travis and pypip.in badges. [timo]

  • Run code analysis on the generated addon as well within the tests to make sure we always ship 100% PEP8 compliant code. [timo]

  • Add REMOTE_LIBRARY_BUNDLE_FIXTURE to acceptance test fixture. [timo]

0.6 (2015-01-17)

  • Use PLONE_APP_CONTENTTYPES_FIXTURE for tests on when using Plone 5. [pbauer]

0.5 (2015-01-17)

  • Remove useless base-classes for tests. Use ‘layer = xxx’ instead. [pbauer]

  • Fix some minor code-analysis issues. [pbauer]

  • Added .editorconfig file. [ale-rt]

0.4 (2014-12-08)

  • Remove grok. [pbauer]

  • Fix missed removals when testing was deselected. [pbauer]

  • Only use jbot when there is a profile and a browser layer. [pbauer]

  • Get username and email from git. [do3cc]

0.3 (2014-12-07)

  • Pinn robotframework to 2.8.4 to fix package-tests. [pbauer]

  • Add browserlayer to demoview to allow multiple addons. [pbauer]

  • Fix creation of nested packages (wrong __init__.py). [pbauer]

0.2 (2014-12-07)

  • Fix documentation [pbauer]

0.1 (2014-12-07)

  • Get namespace, name and type from target-dir. [pbauer]

  • Remove obsolete plone_addon_nested. Auto-nest package in after-render hook. [pbauer]

  • Add many new features. Most of them are optional. [pbauer]

  • Initial import based on bobtemplates.ecreall by cedricmessiant, vincentfretin and thomasdesvenain. [pbauer]

Project details


Release history Release notifications | RSS feed

This version

2.0

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

bobtemplates.plone-2.0.tar.gz (1.4 MB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page