doc/book/devrepo/cubes/cc-newcube.rst
author Philippe Pepiot <philippe.pepiot@logilab.fr>
Fri, 15 Mar 2019 17:12:20 +0100
changeset 12517 34c4157b1071
parent 11689 213f60272d49
permissions -rw-r--r--
[test] drop CubicWebConfigurationWithLegacyCubesTC This is used to test legacy cube import which is planned for removal in cubicweb 3.27, so drop the code.

Creating a new cube from scratch
--------------------------------

Let's start by creating the cube environment in which we will develop ::

  cd ~/myproject
  # use cubicweb-ctl to generate a template for the cube
  # will ask some questions, most with nice default
  cubicweb-ctl newcube mycube
  # makes the cube source code managed by mercurial
  cd cubicweb-mycube
  hg init
  hg add .
  hg ci

If all went well, you should see the cube you just created in the list
returned by ``cubicweb-ctl list`` in the  *Available cubes* section.
If not, please refer to :ref:`ConfigurationEnv`.

To reuse an existing cube, add it to the list named
``__depends_cubes__`` which is defined in :file:`__pkginfo__.py`.
This variable is used for the instance packaging (dependencies handled
by system utility tools such as APT) and to find used cubes when the
database for the instance is created.