Skip to content
This repository has been archived by the owner on Jan 10, 2020. It is now read-only.

francisl/vcms

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

[deprecated]

Technical Documentation

vcms.www

WWW - CMS Menu

CMS Menu models is what makes pages appears on the site.

They are responsible for:

  • Linking page or other generic type(ex. links) to menu navigation
  • Make page hidden or to be displayed in menu
  • Create url scheme

WWW - BasicPage

Master parent of the CMS page system. If you want to create a new page types, you should inherit from this models.

  • Sets all basic parameters needed
  • Make page available (publish) or unavailable (draft)
  • Sets the type of it's container (absolute, relative)

The content of a page is made by adding widgets to it. To hold them the page should define containers.

WWW - ContainerWidgets

Make the links between widgets and a page. A widget can be anything (generic relation) as long as it provide a render method.

A container position the widget as specified in the BasicPage Model.

Overview

Workflow

Basic CMS workflow
Condition Action Effect
Request Middle called and validate if url in models CMSMEnu
If in CMSMenu Fetch the menu's page and request controller associated to it CMSMenu request_processor set default variable
Page gets containers, Render all wingets for all containers Return HTMl
If not in CMSMenu Execute normal django urlpatterns

Models hierachy

CMSMenu

Provide Generic Relation should implement
slug (url)
Geniric relation needed

get_controller : return a controller function to call if menu acces

BasicPage ( Can be inherited )

Provide Children should implement

Basic page information

containers tuple (container slug, container translatable name)

containers_type dict { container slug : [relative, absolute] }

ContainerWidgets

Provide Requires

Map widget to a page containers

From page : containers_type for layout

From page : containersp

Widget ( Can be inherited )

Provide Should implement

html part that construct a page

get_absolute_url

render method : return html

Authors

Francis Lavoie, Francois Lebel

About

[deprecated] CMS mean to be simple for user and as simple as possible for the programmer

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published