doc/book/devrepo/cubes/cc-newcube.rst
author Denis Laxalde <denis.laxalde@logilab.fr>
Fri, 12 Jan 2018 10:56:30 +0100
branch3.25
changeset 12247 4a619b42263d
parent 11689 213f60272d49
permissions -rw-r--r--
Added tag 3.25.4, centos/3.25.4-1, debian/3.25.4-1 for changeset b8567725c473

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.