Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

9.0 website cms theme jne #3

Open
wants to merge 8 commits into
base: 9.0
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
33 changes: 31 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,38 @@
CMS Features for Odoo Website
=============================

This repository includes advanced CMS features for the Odoo website builder:
Includes modules that add advanced CMS functionalities to Odoo.

Main features
-------------

* Separation of concerns between ``page`` (content) and ``view`` (presentation)
* Page types (simple, news, you-own-type)
* Reusable views (create a CMS view and reuse it on your CMS pages)
* Publish media and categorize it
* Automatic navigation and site hierarchy
* Meaningful URLs (read: "speaking URLs")
* Manage redirects within page backend
* Protect your content (set permissions on each page rather than view)
* Full text search

Roadmap
-------

* Improve frontend forms (manage media, reuse backend forms)
* Independent translations branches (skip odoo translation mechanism on demand via configuration)
* Edit permissions control / sharing facilities / notifications, etc
* Simplified interface for managing users and groups
* Publication workflow management
* Content history / versioning
* Full text search using PG built-in search engine (see fts modules)
* Shorter URLs (drop path ids for instance)
* Performance fixes/tuning (use parent_left/right for instance)
* Introduce portlets for sidebar elements
* Add "collections" to fetch contents from the whole website (eg: "News from 2016")
* Improve test coverage
* Default theme

* Different content for translations

[//]: # (addons)
This part will be replaced when running the oca-gen-addons-table script from OCA/maintainer-tools.
Expand Down
5 changes: 5 additions & 0 deletions website_cms/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
.DS_Store
*.pyc
*.pyo
*.~*
*.~
1 change: 1 addition & 0 deletions website_cms/AUTHORS
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
* Simone Orsi at Camptocamp
7 changes: 7 additions & 0 deletions website_cms/CHANGES.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
CHANGELOG
=========

9.0.1.0.2 (2016-10-03)
----------------------

* 1st release
113 changes: 113 additions & 0 deletions website_cms/README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,113 @@
.. image:: https://img.shields.io/badge/licence-AGPL--3-blue.svg
:alt: License

Website CMS
===========

This is a module that adds real CMS features to your Odoo website.

Documentation: TODO

Premise
-------

Odoo has no real "Content Management System" features.
You cannot manage contents, since - beside blogs and blogposts - you don't have any real "web content".
You can design nice pages on the fly using the website builder - which is indeed a powerful and awesome feature -
but that's not the only thing a CMS should be able to do.

Yes, you have "pages" but right now an Odoo page is just a template
with some specific characteristics (flags, and so on) plus a fixed route "/page".
So, every page's URL in the website will be something like "/page/my-nice-article-about-something".
The same goes for blogs and blogposts: you will always have URLs like "/blog/my-nice-blog-1/posts/my-interesting-post-1".

With this limitations you cannot organize contents (a page, an attachment, etc) in sections and sub sections,
hence you cannot build a hierarchy that will allow to expose contents in a meaningful way, for you and your visitors.

The goal of this module is to provide base capabilities for creating and managing web contents.

Note that this module does not provide a whole theme,
but gives you the right tools to create yours.
So you should build your own theme to expose your content, navigation, etc.


Main features
-------------

* Separation of concerns between ``page`` (content) and ``view`` (presentation)

A page is the content you publish and you can assign a view to it.
A view is just an Odoo template that present your content.

* Page types

We define 2 basic types: `Simple` and `News`. You can add more
and list, present, search pages in different ways based on types.

* Reusable views

Create your own views according to your website design and reuse them when needed.

* Publish media and categorize it

A ``media`` could be everything: an image, a video, a link to an image or a video.
You can categorize it rely on auto-categorization based on mimetypes.
Preview images are loaded automatically but you can customize them.

* Automatic navigation and site hierarchy

A page can contain other pages, acting like a folder. By nesting pages you create a hierarchy.
This can be used to show global and contextual navigation without having to
customize menu links every now and then.

* Meaningful URLs

Pages' URLs are built using their hierarchy.
For instance, if you have a section `cars` that contains a sub section `sport`
that contains a page 'Porche' the final URL will be `/cms/cars/sport/porche`.

* Manage redirects within page backend

You can force a page to redirect to another page or to an external link,
and you can choose which kind of redirect status code to use (301, 302, etc)

* Protect your content

On each page you can decide who can view it (edit permission yet to come).
This happens at page level not view's, so that you can have different pages
presented with same view but with different permissions.

* Full text search

The extra module ``website_cms_search`` adds features for doing full text searches.


Bug Tracker
===========

Bugs are tracked on `GitHub Issues <https://github.com/OCA/CMS/issues>`_.
In case of trouble, please check there if your issue has already been reported.


Credits
=======

Contributors
------------

Read the `contributors list`_

.. _contributors list: ./AUTHORS

Maintainer
----------

.. image:: http://odoo-community.org/logo.png
:alt: Odoo Community Association
:target: http://odoo-community.org

This module is maintained by the OCA.

OCA, or the Odoo Community Association, is a nonprofit organization whose mission is to support the collaborative development of Odoo features and promote its widespread use.

To contribute to this module, please visit http://odoo-community.org.
16 changes: 16 additions & 0 deletions website_cms/ROADMAP.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
Roadmap
-------

* Improve frontend forms (manage media, reuse backend forms)
* Independent translations branches (skip odoo translation mechanism on demand via configuration)
* Edit permissions control / sharing facilities / notifications, etc
* Simplified interface for managing users and groups
* Publication workflow management
* Content history / versioning
* Full text search using PG built-in search engine (see fts modules)
* Shorter URLs (drop path ids for instance)
* Performance fixes/tuning (use parent_left/right for instance)
* Introduce portlets for sidebar elements
* Add "collections" to fetch contents from the whole website (eg: "News from 2016")
* Improve test coverage
* Default theme
6 changes: 6 additions & 0 deletions website_cms/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# -*- coding: utf-8 -*-
# © <YEAR(S)> <AUTHOR(S)>
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).

from . import models
from . import controllers
45 changes: 45 additions & 0 deletions website_cms/__openerp__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
# -*- coding: utf-8 -*-
# © <YEAR(S)> <AUTHOR(S)>
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
{
"name": "Website CMS",
"summary": "CMS features",
"version": "9.0.1.0.2",
"category": "Website",
"website": "https://odoo-community.org/",
"author": "Simone Orsi - Camptocamp, Odoo Community Association (OCA)",
"license": "AGPL-3",
"installable": True,
'application': False,
"depends": [
"base",
'website',
],
"data": [
# security
'security/groups.xml',
'security/ir.model.access.csv',
# data
"data/page_types.xml",
"data/media_categories.xml",
# "data/form_settings.xml",
# views
"views/menuitems.xml",
"views/cms_page.xml",
"views/cms_redirect.xml",
"views/cms_media.xml",
"views/cms_media_category.xml",
'views/website_menu.xml',
# templates
"templates/assets.xml",
"templates/misc.xml",
"templates/layout.xml",
"templates/menu.xml",
"templates/page.xml",
"templates/sidebar.xml",
"templates/form.xml",
],
'external_dependencies': {
'python': ['requests', ],
},
}
2 changes: 2 additions & 0 deletions website_cms/controllers/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
from . import main
from . import form
Loading