[FIX] website features integration section
This commit is contained in:
parent
85a3fcf510
commit
fdb6218f44
|
@ -178,44 +178,42 @@ First, we'll install the ``website`` module: restart your server with
|
||||||
$ ./openerp-server --addons-path=../web/addons,../addons,../my-modules \
|
$ ./openerp-server --addons-path=../web/addons,../addons,../my-modules \
|
||||||
-d academy -i website --db-filter=academy
|
-d academy -i website --db-filter=academy
|
||||||
|
|
||||||
.. todo:: is it possible that the page has *not* been replaced?
|
If you navigate to `your openerp`_, your basic page may have been replaced by
|
||||||
|
the generic index page of the ``website`` module. Don't panic! (if it has not
|
||||||
|
been replaced, don't panic either). The problem here is that both ``website``
|
||||||
|
and ``academy`` try to handle the ``/`` (root) URL, and which one *gets* it
|
||||||
|
depends on the order in which they're loaded (the last loaded module gets the
|
||||||
|
last say), which itself depends on a bunch of irrelevant stuff and is
|
||||||
|
essentially non-deterministic at this point.
|
||||||
|
|
||||||
If you navigate to `your openerp`_, your basic page has now been replaced by
|
To make loading order deterministic, we can add ``website`` as a dependency
|
||||||
the generic empty index page. Because you are not logged-in yet, the page has
|
to ``academy``:
|
||||||
no content and just basic placeholders in the header and footer. Click on the
|
|
||||||
:guilabel:`Sign In` link, fill in your credentials (``admin``/``admin`` by
|
|
||||||
default), click :guilabel:`Log in`.
|
|
||||||
|
|
||||||
You're now in OpenERP "proper", the backend/administrative interface. We'll
|
|
||||||
deal with it in :ref:`a latter section <howto-website-administration>`. For
|
|
||||||
now, click on the :menuselection:`Website` menu item in the top-left of the
|
|
||||||
browser, between :menuselection:`Messaging` and :menuselection:`Settings`.
|
|
||||||
|
|
||||||
You're back to your website, but are now an administrator and thus have access
|
|
||||||
to the advanced edition features of an OpenERP-built website.
|
|
||||||
|
|
||||||
Building your pages with OpenERP Website
|
|
||||||
========================================
|
|
||||||
|
|
||||||
As we've seen, your index page has "disappeared" and been replaced by the one
|
|
||||||
provided by ``website``. The page is not lost, but because ``website`` was
|
|
||||||
installed after the ``academy`` module, its index page takes over routing (two
|
|
||||||
index pages exist, and one is picked over the other).
|
|
||||||
|
|
||||||
To fix the issue, we can simply add ``website`` as a dependency to ``academy``
|
|
||||||
(that is, tell OpenERP that ``academy`` needs ``website`` to work correctly):
|
|
||||||
|
|
||||||
.. needs -u all to update metadata
|
|
||||||
|
|
||||||
.. patch::
|
.. patch::
|
||||||
|
|
||||||
This will cause ``academy``'s index page to overwrite ``website``'s.
|
This tells OpenERP that ``academy`` needs ``website`` to work correctly, and
|
||||||
|
that it must only be loaded after ``website`` has already been loaded. This
|
||||||
|
ensures ``academy``'s index page overwrites ``website``'s.
|
||||||
|
|
||||||
Reload `your openerp`_. Your old index page is back.
|
.. note::
|
||||||
|
|
||||||
However, none of the website edition tools are available. That is because much
|
because a change in dependencies is a metadata alteration, you'll need
|
||||||
of these tools are inserted and enabled by the website layout template. Let's
|
to force an update to your module: restart your server with
|
||||||
use that layout instead of our own page structure:
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
$ ./openerp-server --addons-path=../web/addons,../addons,../my-modules \
|
||||||
|
-d academy -u academy --db-filter=academy
|
||||||
|
|
||||||
|
instead of the previous command (note: ``-i`` was replaced by ``-u``)
|
||||||
|
|
||||||
|
If you reload `your openerp`_, you can see that your old index page hasn't
|
||||||
|
changed at all. Which is odd since we wanted to use the new ``website``
|
||||||
|
tools.
|
||||||
|
|
||||||
|
That is because much of these tools are inserted and enabled by the "layout
|
||||||
|
template" provided by ``website``. Let's use that layout instead of our own
|
||||||
|
page structure:
|
||||||
|
|
||||||
.. patch::
|
.. patch::
|
||||||
|
|
||||||
|
@ -226,20 +224,47 @@ use that layout instead of our own page structure:
|
||||||
(e.g. snippets). Although technically not mandatory, some things will not
|
(e.g. snippets). Although technically not mandatory, some things will not
|
||||||
work if they're not there.
|
work if they're not there.
|
||||||
|
|
||||||
|
Reload `your openerp`_, the page has changed and new content has appeared
|
||||||
|
(footer, menus, …) but there's still no advanced edition tools in sight, as
|
||||||
|
you are not yet logged-in. Click on the :guilabel:`Sign In` link, fill in your
|
||||||
|
credentials (``admin``/``admin`` by default), click :guilabel:`Log in`.
|
||||||
|
|
||||||
|
You're now in OpenERP "proper", the backend/administrative interface. We'll
|
||||||
|
deal with it in :ref:`a latter section <howto-website-administration>`. For
|
||||||
|
now, click on the :menuselection:`Website` menu item in the top-left of the
|
||||||
|
browser, between :menuselection:`Messaging` and :menuselection:`Settings`.
|
||||||
|
|
||||||
|
You're back to your website, but are now an administrator and thus have access
|
||||||
|
to the advanced edition features of an OpenERP-built website.
|
||||||
|
|
||||||
* if you go in the HTML editor (:menuselection:`Customize --> HTML Editor`),
|
* if you go in the HTML editor (:menuselection:`Customize --> HTML Editor`),
|
||||||
you can see and edit your template
|
you can see and edit your template
|
||||||
|
* if you click the :menuselection:`Edit` button in the top left, you'll switch
|
||||||
|
to "Edition Mode" where the blocks (snippets) and rich text edition are
|
||||||
|
available.
|
||||||
|
* there are a number of other features in the advanced editor, which we will
|
||||||
|
not cover here
|
||||||
|
|
||||||
|
.. todo:: link to document walking through editor features
|
||||||
|
|
||||||
.. todo:: website template generator
|
.. todo:: website template generator
|
||||||
|
|
||||||
If you try to add content to the TA pages using snippets, for instance insert
|
You can play around and add blocks or edit content on the home page, however
|
||||||
an :guilabel:`image-text` snippet to add a picture and a short biography for a
|
if you go to a TA's page and edit it things seem to work at first (e.g. insert
|
||||||
TA, you'll notice things don't work right: because snippets are added in the
|
a :guilabel:`image-text` snippet to one of the TAs, as if adding a picture
|
||||||
template itself, they're content which is the same across all pages using that
|
and a short bio), but if you go to a different TA's page after saving the
|
||||||
template.
|
first one… he has the exact same snippet inserted (and the same content, if
|
||||||
|
you edited the snippet's content)!
|
||||||
|
|
||||||
|
Because snippets are added in the template itself, they're content which is
|
||||||
|
the same across all pages using that template, and all the teaching assistants
|
||||||
|
share the same template (``academy.ta``).
|
||||||
|
|
||||||
Thus snippets are mostly for generic content, when a given template is only
|
Thus snippets are mostly for generic content, when a given template is only
|
||||||
used for a single page, or to add content in HTML fields.
|
used for a single page, or to add content in HTML fields.
|
||||||
|
|
||||||
|
.. todo:: link HTML fields to HTML fields doc?
|
||||||
|
|
||||||
.. note::
|
.. note::
|
||||||
|
|
||||||
When creating a new page (e.g. via :menuselection:`Content --> New Page`),
|
When creating a new page (e.g. via :menuselection:`Content --> New Page`),
|
||||||
|
@ -286,6 +311,8 @@ a TA name, and you'll see an error message. Let's fix the TA view now:
|
||||||
noupdate and updating the module will have no effect for no known
|
noupdate and updating the module will have no effect for no known
|
||||||
reason. That's really quite annoying.
|
reason. That's really quite annoying.
|
||||||
|
|
||||||
|
Ensure that ``-i`` does discard the noupdate-marked template
|
||||||
|
|
||||||
.. patch::
|
.. patch::
|
||||||
|
|
||||||
There are a few non-obvious things here, so let's go through them for clarity:
|
There are a few non-obvious things here, so let's go through them for clarity:
|
||||||
|
|
Loading…
Reference in New Issue