Skip to main content

Templates for Plone projects.

Project description

.. image:: https://secure.travis-ci.org/plone/bobtemplates.plone.png?branch=master
:target: http://travis-ci.org/plone/bobtemplates.plone

.. image:: https://coveralls.io/repos/github/plone/bobtemplates.plone/badge.svg?branch=master
:target: https://coveralls.io/github/plone/bobtemplates.plone?branch=master
:alt: Coveralls

.. image:: https://img.shields.io/pypi/v/bobtemplates.plone.svg
:target: https://pypi.python.org/pypi/bobtemplates.plone/
:alt: Latest Version

.. image:: https://img.shields.io/pypi/status/bobtemplates.plone.svg
:target: https://pypi.python.org/pypi/bobtemplates.plone/
:alt: Egg Status

.. image:: https://img.shields.io/pypi/l/bobtemplates.plone.svg
:target: https://pypi.python.org/pypi/bobtemplates.plone/
:alt: License

.. image:: https://badges.gitter.im/plone/bobtemplates.plone.svg
:target: https://gitter.im/plone/bobtemplates.plone?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge
:alt: Gitter channel

==================
bobtemplates.plone
==================

``bobtemplates.plone`` provides `mr.bob <http://mrbob.readthedocs.org/en/latest/>`_ templates to generate packages for Plone projects.

**Note:** bobtemplates.plone supports `plonecli <https://pypi.python.org/pypi/plonecli>`_, which is the recommended way of creating Plone packages.


Features
========

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

Provided templates
------------------

- addon
- theme_package
- buildout


Provided subtemplates
---------------------

These templates are meant to be used inside a package which was created by the addon template.

- theme
- content_type
- vocabulary
- behavior


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 and developers can be found in the "docs" folder.

For easy usage see: `plonecli <https://pypi.python.org/pypi/plonecli>`_

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

Installation
============

You can install bobtemplates.plone as every other normal Python package with `pip <https://pypi.python.org/pypi/pip>`_ inside a `virtuelenv <https://pypi.python.org/pypi/virtualenv>`_ or better with `pipenv <https://pypi.python.org/pypi/pipenv>`_.


Installion with pipenv
----------------------

.. code-block:: console

pipenv install bobtemplates.plone>=3.0.0b2


Installation with pip in a virtualenv
-------------------------------------

You can also install ``bobtemplates.plone`` with pip in a virtualenv.
If you don't have an active virtualenv, you can create one inside your project directory.

.. code-block:: bash

virtualenv .

Then either activate the virtualenv:

.. code-block:: bash

source ./bin/activate

or just use the binaries directly inside the bin folder as below:

.. code-block:: console

./bin/pip install bobtemplates.plone>=3.0.0b2


Use in a buildout
-----------------

.. code-block:: ini

[buildout]
parts += mrbob

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

This creates a mrbob-executable in your bin-directory.


Usage
-----

As bobtemplates.plone is a template for `mr.bob <https://pypi.python.org/pypi/mr.bob>`_, we use mrbob to run the templates.

If you are using `buildout <https://pypi.python.org/pypi/zc.buildout>`_ or an unactivated `virtualenv <https://pypi.python.org/pypi/virtualenv>`_, you can use mrbob like this:

.. code-block:: console

./bin/mrbob bobtemplates.plone:addon -O src/collective.foo

If you are using pipenv or an activated virtualenv, you can use mrbob like this:

Activate pipenv shell:

.. code-block:: console

pipenv shell

or activate your virtualenv:

.. code-block:: console

source bin/activate

.. code-block:: console

mrbob bobtemplates.plone:addon -O src/collective.foo

This will create your Plone package inside the ``src`` directory.

See `the documentation of mr.bob <http://mrbob.readthedocs.org/en/latest/>`_ for further information.


Contribute
==========

- Issue Tracker: https://github.com/plone/bobtemplates.plone/issues
- Source Code: https://github.com/plone/bobtemplates.plone
- Documentation: https://docs.plone.org/develop/addons/bobtemplates.plone/docs/


Support
=======

If you are having issues, please let us know.
We have a Gitter channel here: `plone/bobtemplates.plone <https://gitter.im/plone/bobtemplates.plone>`_


Contributors
============

This package was originally based on `bobtemplates.niteoweb <https://github.com/niteoweb/bobtemplates.niteoweb>`_ and `bobtemplates.ecreall <https://github.com/cedricmessiant/bobtemplates.ecreall>`_

- Maik Derstappen [MrTango]
- 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]
- Alexander Loechel [loechel]


Changelog
=========

3.0.0b3 (2018-03-22)
--------------------

- Add behavior sub-template entrypoint, to make it available in plonecli
[MrTango]
- Update link to document in README.
[kakshay21]


3.0.0b2 (2018-02-27)
--------------------

- fixed FTI configuration, removed the plone_lock_info condition
[MrTango]


3.0.0b1 (2018-02-25)
--------------------

- Quote version strings in YAML. See: https://github.com/travis-ci/docs-travis-ci-com/issues/1540
[thet]

- Use default Travis notifications.
Until now only the creator of the package would get a notification, instead of the committer.
Fixes `issue 208 <https://github.com/plone/bobtemplates.plone/issues/208>`_.
[maurits]

- Fix coveralls for packages created with addon and theme_package by converting the pickle output of createcoverage in .coverage to json.
[pbauer]

- Fixes #235: Different roles in tests for install and uninstall.
Use Manager role in uninstall test.
Then both install and uninstall are executed with role Manager.
[jensens]

- fix linting problems and error in theme_package tests
[MrTango]

- Update setuptools and zc.buildout versions.
[tmassman]

- Improve docs by fixing some reST, typos and grammar
[svx]

- Update link to docs.plone.org in README
[svx]

- Imporve docs template for valid reST generation
[svx]

- use bobtemplate.cfg to store meta data for sub-templates #245
[MrTango]

- fix naming of vocabularies
[MrTango]

- fix buildout template and add some docs about the used buildout.plonetest configuration
[MrTango]

- add behavior sub-template to create Plone behaviors
[MrTango]


3.0.0a3 (2017-10-30)
--------------------

- Fix #222 default travis setup is broken.
[jensens, pbauer]

- Add template registration for mr.bob/plonecli for all provided templates
[MrTango]

- Fix content_type and theme sub templates
[MrTango]

- fix in themes.rst changed plone_addon to addon
[pigeonflight]


3.0.0a2 (2017-10-01)
--------------------

- Cleanup Package - remove unnecessary files from past versions
[loechel]

- Add vocabulary subtemplate
[MrTango]


3.0.0a1 (2017-09-26)
--------------------

- Refacturing to support subtemplates
[MrTango]

- Add theme and content_type subtemplates
[MrTango]

- Add missing plone namespace, to avoid conflicts with other bobtemplate packages
[MrTango]

- Removed bootstrap-buildout.py, Update barceloneta less files for theme_package
[agitator]

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

- Testing of generated skeletons integrated with tox and pytest.
[loechel]


2.0.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
- Update barceloneta less files to 1.7.3 for plone_theme_package
[agitator]
- Removed bootstrap-buildout.py and added DEVELOP.rst
[agitator]

- Update barceloneta less files to 1.7.3 for plone_theme_package
[agitator]

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

- Seperate 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

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-3.0.0b3.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