DjangoCMS-Cascade is the Swiss army knife for working with Django CMS plugins.
DjangoCMS-Cascade is a collection of plugins for DjangoCMS >= 3.0.8 to add various HTML elements to any CMS placeholder in a hierarchical tree.
It allows web editors to layout their pages, without having to edit Django templates. In most cases, one template with one single placeholder is enough. The editor then can subdivide that placeholder into rows and columns, and add additional elements such as buttons, rulers, and much more.
Currently about a dozen compontents from Bootstrap-3.x are avialble, but Cascade makes it very easy to add additional compontents, often with less than 20 lines of Python code and without any database migrations.
Since all plugins share the same database table, it is very easy to build inheritance trees. For instance, Cascade's own LinkPlugin inherits from a LinkPluginBase, which also is the parent of the ImagePlugin and the ButtonPlugin. This helps to share the common functionality required for linking.
DjangoCMS-Cascade is very modular, keeping its CMS modules in functional groups. These groups have to be activated independently in your settings.py. It also is possible to activate only certain Plugins out of a group. One such group is cmsplugin_cascade.bootstrap3, but it could be replaced by a future Bootstrap-4, the Foundation, YUI or whatever other CSS framework you prefer.
Each Cascade Plugin can be styled individually. The site-administrator can specify which CSS styles and CSS classes can be added to each plugin. Then the page-editor can pick one of the allowed styles to adopt his elements accordingly.
Each Cascade Plugin can be configured by the site-administrator to share some or all of its data fields. This for instance is handy, to keep references onto external URLs in a central place. Or is can be used to resize all images sharing a cetrain property in one go.
It is even possible to group plugins into seperate evaluation contexts. This for instance is used to render different Plugins, depending on whether a user is authenticated or anonymous.
In modern web development, images must adopt to the column width in which they are rendered. Therefore the <img ...> tag, in addition to the well known src attribute, also accepts additional srcset's, one for each media query. DjangoCMS-Cascade calculates the required widths for each image, depending on the current column layout considering all media breakpoints.
If you like this project, please invest some time and test it with Django-1.7/1.8, django-cms-3.1 and if possible Python-3.4.
With migrations added to Django-1.7, testing and developing plugins for django-cms get really messy. I currently have no resources to do all this cross-development.
Travis-CI worked for djangocms-cascade, Django-1.7 and django-cms-3.0.12, but since the last upgrade this is not the case anymore. If someone can find out why, it would be really great.
In addition to easily implement any kind of plugin, DjangoCMS-Cascade makes it possible to add reusable helpers. Such a helper enriches a plugin with an additional, configurable functionality:
Find detailed documentation on ReadTheDocs.
This project started as a simple wrapper for the DjangoCMS TextPlugin, so that text elements could be shifted horizontally using the Grid System 960. Later on, support for 960.gs was dropped in favor of Twitter Bootstrap. Now the aim of the project is to fully support all Bootstrap components and more, so that djangoCMS can be used to build a website with as many widgets as possible, without having to edit templates.
DjangoCMS starting with version 3.0, allows to nest plugins inside other plugins. This feature made it possible to implement this kind of plugin.
Released under the terms of MIT License.
Copyright © 2015, Jacob Rief firstname.lastname@example.org
|File||Type||Python Version||Uploaded On||Downloads|
|djangocms-cascade-0.6.0.tar.gz||Source||Aug. 10, 2015||410|
|0.6.0||Aug. 10, 2015|
|0.5.0||April 29, 2015|
|0.4.5||April 29, 2015|
|0.4.4||March 29, 2015|
|0.4.3||March 11, 2015|
|0.4.2||Jan. 28, 2015|
|0.4.1||Jan. 10, 2015|
|0.4.0||Dec. 27, 2014|
|0.3.2||June 13, 2014|
|0.3.1||June 10, 2014|
|0.3.0||Feb. 5, 2014|
|Aug. 24, 2015, 11 p.m.||djangocms-cascade||0.4.4||Release Created|
|Aug. 24, 2015, 11 p.m.||djangocms-cascade||0.4.5||Release Created|
|Aug. 24, 2015, 11 p.m.||djangocms-cascade||0.4.2||Release Created|
|Aug. 24, 2015, 11 p.m.||djangocms-cascade||0.4.3||Release Created|
|Aug. 24, 2015, 11 p.m.||djangocms-cascade||0.4.0||Release Created|
|Aug. 24, 2015, 11 p.m.||djangocms-cascade||0.4.1||Release Created|
|Aug. 24, 2015, 11 p.m.||djangocms-cascade||0.6.0||Release Created|
|Aug. 24, 2015, 11 p.m.||djangocms-cascade||0.3.0||Release Created|
|Aug. 24, 2015, 11 p.m.||djangocms-cascade||0.5.0||Release Created|
|Aug. 24, 2015, 11 p.m.||djangocms-cascade||0.3.2||Release Created|
|Aug. 24, 2015, 11 p.m.||djangocms-cascade||0.3.1||Release Created|
|Aug. 24, 2015, 11 p.m.||djangocms-cascade||Package Created|