Customize the Plone
Project description
Summary
This product make possible the customization of the Plone “Add new…” menu, commonly filled from the Plone available content types.
This is designed for avoiding useless content types but, at the same time, help UI experience of non-technical users.
This product has been tested on Plone 3.3 and Plone 4.
You can use this to add new non-standard stuff to the menu (like Javascript links). See below.
Idea behind this
The case is related to developed content types that gets added to Plone only for usability enhancements.
One example: have you ever used Plone4ArtistsVideo, or collective.flowplayer? In those products users that want to add new video to a site must use the “Add new…” menu and select the File content.
So the editor (that is never a developer in real life… you must accept it) must know that when he add a new file, it magically became a video… This is not so simple to understand; also is impossible to understand it without a training or by past experience. Can’t be better if the user could read “Add new video” in the menu instead?
Right now the best usability choice is to add a new content type to the menu, or develop a new helper portlet that show some links like “add a new video here”.
In the first case, just copy/paste the original used content if enough (copy/paste the File content type and rename it in something like “Video”). But you know… we don’t really need those new content types.
In the second case all is ok, but what Plone users know is to look at the right menu to search for addable types, not to look in a menu and also in another place.
So:
user know that for adding new content types, they must use the “Add new…”
users often ignores the magic behind Plone (like the File that became a Video)
developer don’t like to add new silly content types only to help end users (no, the are not bad guys).
The problem above is related to the not-customizable state of the “Add new…” menu: the editor and the developer will be both happy if a new, fake entry could be added to this menu. Going back to the video example:
the classic File entry (that point to http://myhost/mysite/createObject?type_name=File)
a new “Video” entry (again pointing to http://myhost/mysite/createObject?type_name=File)
This products is designed only for this or similar usability issues, however can help you to customize existing elements of the menu on context (for example: the action of adding a new “News Item” content in a folder can be customized to be an alias for another content type, but only for this special folder)
How to use
Installation
Simply add the egg to your buildout, and re-run it. Remember to add also the ZCML overrides.
[instance] ... eggs = ... redturtle.custommenu.factories ... zcml = ... redturtle.custommenu.factories redturtle.custommenu.factories-overrides ...
After this, install the new product in Plone.
Uninstallation
You can reinstall the products safely without lose any customization data. If you uninstall it, all customization will be removed from your Plone site, leaving no garbage behind.
TALES expressions
In the TALES expression above, you can use those variables:
- context
The current context, as Plone normal meaning
- container
The container of the current context, or the context itself if the context is a container. This is useful when writing expression that keep in mind the default document in a folder.
- portal_url
The portal_url tool, taken from the Plone site.
Examples and advanced features
Take a look to the README.txt file included to see some examples and to discover what this products can do in your Plone site.
TODO
localization
javascript features for managing entries
code needs refactoring
think about inherit customizations not only from portal root
Changelog
0.2.0b - (2010-02-17)
now local customizations must be enabled and disabled per-context
fixes to XHTML structure and validation
fixed CSS class names to be camelCase as Plone does
added tests
fixed templates to be test compatible
fixed a bug on entry deletion
added missing check on required element for entries (in facts were optional)
added egg support for z3c.autoinclude
now False condition for an element with id hide inherited element with same id
added Plone 4 compatibility
0.1.0a - (2010-01-04)
initial release
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Hashes for redturtle.custommenu.factories-0.2.0b.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | a10a9b002786d4201885fa8382c08521b6a5320594dcf4c829fa0b4a156e9e5f |
|
MD5 | 272e62e027da83a23fb9eb36f8822b59 |
|
BLAKE2b-256 | 0c6ca549938f4bfd282b67082a8918414b544503b8465f47ad0f360070a3c3c4 |
Hashes for redturtle.custommenu.factories-0.2.0b-py2.6.egg
Algorithm | Hash digest | |
---|---|---|
SHA256 | 03f7f4260a08a56c232facfbb0458bc040d35cdd50c45fae29ca64af462ecd10 |
|
MD5 | 37f374939cb53d7e50023f7c3c228a86 |
|
BLAKE2b-256 | 7d2c046c3ae56497de1f8d058f5c800d1f2fba8a177ea1914229686d6c9bcdb9 |
Hashes for redturtle.custommenu.factories-0.2.0b-py2.4.egg
Algorithm | Hash digest | |
---|---|---|
SHA256 | be840058821539feca5fbd6a86b60f329d77c82cf71c9c65372f3683846900c6 |
|
MD5 | 1cc3dfc09decf0a4a82fbb9c57d8fdab |
|
BLAKE2b-256 | 046e742692c8f7bec18873de62bacdf550d77b1319cb471373e37ffa1a498918 |