![Oracle Drags Its Feet in the JavaScript Trademark Dispute](https://cdn.sanity.io/images/cgdhsj6q/production/919c3b22c24f93884c548d60cbb338e819ff2435-1024x1024.webp?w=400&fit=max&auto=format)
Security News
Oracle Drags Its Feet in the JavaScript Trademark Dispute
Oracle seeks to dismiss fraud claims in the JavaScript trademark dispute, delaying the case and avoiding questions about its right to the name.
The Swiss army knife for working with Django-CMS plugins.
DjangoCMS-Cascade is a collection of plugins for Django-CMS placeholders. Instead of creating one database model for each CMS plugin, Cascade shares one database model for all of them. The payload then is stored inside a JSON field instead of declaring each attribute explicitly. This furthermore prevents us to handle all kind of nasty database migration problems.
Since Cascade keeps track on the widths of all columns, <img>
and <picture>
elements can
be rendered in a responsive way, so that the browser only loads the image required for the visible
viewport.
Using a JSON field to store the payload gives us much more flexibility. We can for instance enrich our plugins with additional attributes, configured during runtime. This can be used to optionally share attributes across different plugins (referenced by an alias name), add CSS classes and styles, or offer alternative rendering templates.
Another nice aspect of this approach is, that we can override the functionality used to set links onto pages which are not part of the CMS. This is specially useful, since we do not want to re-implement this functionality for all plugins, which require links, ie. images, pictures, buttons and text-links.
Since the payload of plugins is already serialized, we can even copy them from one site to another site supporting djangocms-cascade.
Find detailed documentation on ReadTheDocs.
Please see the Release Notes before upgrading from an older version.
DjangoCMS-Cascade is very modular, keeping its CMS modules in functional groups. These groups
have to be activated independently in the project's settings.py
. It also is possible to activate
only certain plugins out of a group. Currently Bootstrap-4 is implemented, but this app could
easily be extended for other CSS frameworks.
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. Here djangocms-cascade calculates the
required widths for each image, depending on the current column layout considering all media
breakpoints.
This is also implemented for the <picture>
element with all of it's children, normally
<source srcset="...">
.
It also supports resolutions of more than one physical pixel per logical pixel as found in Retina displays.
<img>
and <picture>
elements in a responsive way, so that more than one image URL
points onto the resized sources, one for each viewport using the srcset
tags or the
<source>
elements.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:
id
tag, CSS classes and inline styles. This
is configurable on a plugin and site base.If someone wants to start a subproject for a CSS framework, other than Bootstrap-4/5.
If you are a native English speaker, please check the documentation for spelling mistakes and grammar, since English is not my mother tongue.
FAQs
Build Single Page Applications using the Django-CMS plugin system
We found that djangocms-cascade demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Oracle seeks to dismiss fraud claims in the JavaScript trademark dispute, delaying the case and avoiding questions about its right to the name.
Security News
The Linux Foundation is warning open source developers that compliance with global sanctions is mandatory, highlighting legal risks and restrictions on contributions.
Security News
Maven Central now validates Sigstore signatures, making it easier for developers to verify the provenance of Java packages.