Create specific applications in Plone without developing. Created by Makina Corpus.
Plomino is a powerful and flexible web-based application builder for Plone.
create your own custom applications from a web interface without programming
create and design forms in WYSIWYG mode
easily embed charts or maps
create specific actions with formulas (compute fields, send emails, …)
adapt the application behaviour depending on the user access rights and roles
import/export your application structure and/or your application data, including replication between Plomino instances
Plomino is a through-the-web application builder, hence:
it is not a through-the-web content-type builder like Dexterity, which is perfect to create a custom content type but that will always stick to the standard content management scenario, while Plomino allows any custom scenario,
it is not just a form generator like PloneFormGen, as Plomino provides all the services (data storage, search, automation, import/export, etc.) to build an entire application. Regarding form generation itself, a major difference with PloneFormGen is that Plomino allows editing the form layout in its entirety, while PloneFormGen uses a fixed pre-defined form layout.
Resources and documentation
Screencasts and how-tos are available on http://www.plomino.net/ .
Plomino documentation is available on ReadTheDocs.
Note: if you think something is missing in the documentation, please send your pull request at https://github.com/plomino/PlominoDoc .
Plomino itself is internationalized and translated in seven languages. Applications built with Plomino can be internationalized (see the related documentation).
To deploy Plomino, you need to edit your buildout.cfg file and add the following in the eggs section:
eggs = ... Products.CMFPlomino
and also add the following in the versions block:
[versions] ... collective.js.datatables = 2.0.1
Then you have to run buildout to realize your configuration:
Installation on Plone 4.0 and 4.1
If you’re using Plone version older than 4.2 you’ll need to add some more directives to your buildout.cfg.
Plomino depends on plone.app.registry, and plomino.tinymce requires Products.TinyMCE>=1.2.13. To make Plomino work on pre-4.2 Plone sites you need to pin those versions in your versions.cfg section:
and use a known good set for plone.app.registry.
This means extending your buildout from:
replacing 4.0.9 with the actual version you need.
You can find support on the freenode IRC channel #plomino or using the GitHub issue tracker
The complete list is available here <http://www.plomino.net/credits>.
edit your buildout.cfg and add Products.CMFPlomino to the eggs list:
eggs = ... Products.CMFPlomino
Then you have to run your buildout:
$ ./bin/buildout -N
JSON export compliant with Plomino 2 [mamogmx]
Enable fields validation in Page forms [ebrehault]
Allow to define a custom JS validation callback (window.plomino_custom_validation_callback) [ebrehault]
Pass a TemporaryDocument context to hidewhen evaluation [instification]
Allow to display request data with alternate forms and read/edit mode [instification]
Check for hidden subforms when validating inputs [instification]
Adapt to rows for datagrid field in PlominoForm.tojson [instification]
Add max year option for date/time field [ivanteoh]
Fix isCurrentUserAuthor (the doc creator is always Onwer, so we should test Plone rights in the db context, not the doc) [ebrehault]
Fix sorting of view docs [jean]
Fix importDesignFromZip for when there are script resources [jean]
Generate canonical URLs for local resources [jean]
Forgot to bump the version string [jean]
Enable standard behaviour when looking up portal_skins resources [jean]
Allow to post data with open_url util [manuelep]
Enable multiple file upload [robystar]
Fixes [ebrehault, ivant, fulv, gaudenz]
Datagrid inline editing [davisp1]
jQuery-ui datepicker widget for DATETIME fields [manuelep]
Redirect on save document if a value for plominoredirecturl is specified in request [manuelep]
Make views searchable: accept a query as URL parameter [manuelep]
Inject computed HTML attributes based on name, and not id [manuelep]
Allow indexing of computed display fields [djay, ivant]
Working on BaseField.getFieldValue, handling of field defaults
Fix few Chameleon compatibility issues
Improve document properties page
Split key column from sort column
Remove Close action from views
Fixes for dates and decimal
Fix timezone support in date conversion
Fix temporary doc behaviour when evaluation hide-when
support for labels associated to fields
disabled formula editing for PlominoDesigner (so we can allow a user to change form layouts without breaking the formulas)
fix a major vulnerability in open_url (now, targeted sources must be declared safe from an local package)
allow to load specific CSS and JS in a PlominoForm
GenericSetup import/export for Plomino db marked as templates
allow to inject HTML attributes on fields
extended translation support for views
Reorder validation, so that submitted values can be massaged [jean]
Enable Views to use field rendering [jean]
Allow forms to specify their HTTP submit method [jean]
Dynamic titles [jean]
Add labels in layout [jean]
add import from zip function for database design [davismr]
add export as zip function for database design [davismr]
fix missing encoding on exportCSV view [jpcw]
filtering feature in datatabse design tab [davisp1]
Depend on zope.app.component and zope.globalrequest so that our users on Plone 4.0 don’t have to [silviot]
Test Plone 4.0, 4.1, 4.2 and 4.3 on travis [silviot]
Don’t choke on XML import when there is an empty file
Hide/display checkboxes in views
Make sure formulas are compiled with db manager rights
use coveralls.io for test coverage reporting
Add headers (based on fields titles) on datagrid in static mode
Fix action bar displaying at both top and bottom
Fix batching in dynamic view
Add Boolean field type
Add onBeforeSave event
Date serialization support in the JSON API
Give access to i18n support directly from Plomino forms and fields
Pass JQueryUI dialog settings through datagrid field configuration
Fix “run as owner” agent behavior
Avoid transaction save when viewing a document [silviot]
clean up pdb
new Plomino util function: is_email
new Plomino util function: urlquote
fix field validation
Plone 4.3 compliancy fixes
various fixes for datagrids
integrate jsonutils to manage decimal [jean]
use iframe in overlay for datagrid popup [silviot]
working on Plone4.3 support [alert]
hide-when fixes [manuelep]
static display for datagrids in read mode [ebrehault]
server-side pagination and filtering for dynamic views
new Plomino utils: decimal and escape_xml_illegal_chars
offer selection lists instead of free text entries in various design parameters (source view, sorting column, …)
re-sync all .po
Fix getItem to return a deepcopy
Migration fix: initialize and refresh documents as BTreeFolder properly
Performance profiling utility.
Sort search results according search view sorting settings.
Plone 3 compliancy: define __nonzero__ method on PlominoDocument (as it is not defined in Plone 3 by CMFBTreeFolder2)
Czech translation (contributed by Jakub Svab)
Depends on collective.js.datatables [toutpt]
fix buildout for Plone 3
fix popups for Plone 3
Display validation errors in a nice popup.
Fix importFromXML bugs.
Fix File attachment indexing.
Use CMFBTreeFolder instead of basic PortalFolder for PlominoDocuments so existing (<1.14) attached files keep accessible.
PlominoDocument is not Archetypes-based anymore, it uses pure CMF now.
‘Plomino’ package is renamed ‘Products.CMFPlomino’.
Plone 4.2 compliancy.
Fix design portlet on Plone 3.
JSON API improvements
Add JSON utils: json_dumps and json_loads
Add CSS class containing the element id on the Plomino element portlet
Fix agent security when running as owner
New content-type addable in PlominoForm: PlominoCache, to indicate cache fragments
Fix exportCSV and exportXLS for views
Fix OpenDatabase when doc counting is active
getCache and setCache which use plone.memoize to cache data
getRequestCache and setRequestCache to cache data into the request
Allow keyword args for agent __call__
fix transform exceptions in attached file indexing
fix editor permissions to allow file attachment deletion
fix reader access control on getfile
add cgi_escape to utils
create plomino_workflow and fix permissions
integrate plone.app.async support to enable asynchronous agent execution and asynchronous refreshdb
allow to run agent as current user or as owner
don’t use File for everything in /resources/; use Script (Python) for script libraries
use onSave returned value to redirect to url after save
getAllDocuments() returns PlominoDocuments (and not brains anymore, unless getObject=False)
(for Plone 4 only) use MailHost.send instead of secureSend
fix document portal indexation behaviour
fix permission issues with Document id formula
fix Mandatory field checking with File attachments fields
fix translation method
display rendered values in datagrid in edit mode
Only use Unicode in the Plomino index,
Fix ConflictError issue: avoid writing annotations in fields objects constantly,
Plone 4.1 compliancy fixes.
Plone 3 compliancy (broken after Plone 4.1 compliancy)
Plone 4.1 compliancy
Fix applyHideWhen behaviour to avoid meaningless errors when applyHideWhen is not used for actual rendering.
Enable Plomino documents in sitemap
Use Plomino_SearchableText field in search form to match SearchableText
Display design tree into the design portlet
Fix processImportAPI separator
Support field validation at submit time in datagrid popup forms
Fix behaviour with hidden fields passed as param in request
Update french translation
Fix resources import/export
Fix dynamic view for IE<9 compliancy
Fix conflicts with Collage
Update french translation
enable JQuery UI theme support in datatables
load accordions content on click if url provided
external utils pluggin mechanism
fix richtext field bug with Products.TinyMCE 1.1.8 (a commit was missing in 1.9.4)
isDocument method in PlominoUtils to test if context is a document
fix categorized dynamic view (when column contains multivalues)
fix richtext field bug with Products.TinyMCE 1.1.8
File handling fixes
onSearch event (for Search forms)
Fix view generation
Allow Plomino designers to manage Plomino element portlets
Fix import/export encoding problems
Fix error traceback pop-up rendering
Document id formula to compute document id at creation time.
Display error traceback in a pop-up (showing error message and formula code).
Import/export documents to/from a server local folder
Validator to avoid using underscores in views and columns ids.
Fix URLs in virtual hosting context.
Plomino_Readers: Plomino_Readers allows to restrict the list of users, groups, and/or user roles allowed to view the document.
Use collective.js.jqueryui instead of custom jqueryui. IMPORTANT NOTE: in Plone 3, please use collective.js.jqueryui = 126.96.36.199
Fix replication (file attachments support with blob + push/pull behavior).
Plomino element portlet can be conditionally displayed.
Generate a view based on a form (use fields for columns, set selection formula, and create “Add new” button).
Clean “browserims” (make sure Plomino API works when REQUEST is not defined to allow proper usage from a script).
Plomino documents are not necessarily indexed into the portal catalog.
Replace mode for design import (existing design is entirely replaced by the imported one).
User-friendly error messages for failing formulas.
TEXT and NAME fields indexed as FieldIndex (instead not ZCTextIndex) to allow sorting.
New field mode “Computed on save”: value is computed when document is saved and stored, it is not re-computed when the document is opened.
Online debugger (integration with Clouseau): failing formula can be executed step-by-step from the web interface.
Documents stored in a BTreeFolder.
If available, use plone.app.blob to store file attachments.
When importing design or documents, use savepoints instead of actual commit.
CSV import uses fields definition (so values are casted accordingly, instead of storing everything as strings).
Excel export method on views.
Categorized views supported with dynamic mode.
Fix file attachment bug under Plone 4.
Dynamic picklist for selection field
fix datagrid (it was storing rendered values and not raw values)
localization for datatables: en, es, fr, it, lt, nl
dynamic hidewhen are now manage at hidewhen level (and not as a global setting in the form)
few minor fixes
fix delete button in Plomino views when using the Dynamic view rendering
fix XML import with indexed datagrid fields
fix jqueryui skin elements access
Remove dependencies with: collective.js.jquery, collective.js.jqueryui, plone.app.jquerytools.
Fields can be provided by external products as plugin utilities.
Fields improvements: picklist for names and doclinks.
Store all texts in unicode.
Improve import/replication/refresh performances and display a progress bar.
Plone 4 compliant
JQueryUI accordion integration (ability to create collapsible sections in forms)
New portlet to insert a Plomino form anywhere in your Plone site
Installation using a buildout extend
Force form for a document using ?openwithform=formid in the request
German translation fixes
ability to restrict documents XML export to a given view
sort elements by id in the Design tab
XML export improvements: elements are sorted, xml is pretty (so diff and svn play nicely), CDATA escaping has been removed, and lxml is used if installed
unlock webdav-locked elements before importing
fix: column sorting and summing
fix: openWithForm encoding errors
fix: do not call onSave when importing document from replication or XML file
JQuery datatables to render Plomino views
Datagrid field type
Fulltext indexing in local Plomino index
Documents import/export via XML files
Ability to define column values using existing fields
Portlet with useful links for design management (add items, acl, etc…)
Google visualization table to display views
Fixes for Plone 4 compliancy (work in progress)
Access control fix : Owner is author of any document (just like PlominoManager role)
MissingValue() method in PlominoUtils : it returns Missing.Value which can be useful when processing ZCatalog brains (=search results) as Missing.Value cannot be imported into formulas.
Do not compute column values in index if the document does not belong to the view. Note: it does not really change the performances when indexing, but it does reduce the index size. It also reduce the amount of error traceback in debug mode.
Fix: escape CDATA in XML import/export (Jean Jordaan contribution)
Fix: handle empty multiselect and empty checkboxes
Fix: do not default to PlominoAuthor right if Authenticated generic right is PlominoAuthor whereas the current user as PlominoReader right
Fix: set encoding in exportCSV
Fix: insufficient privileges error when changing Anonymous access right from PlominoAuthor to No Access
Enable multiple Google Visualization fields in the same form
hide selection box in views if no remove permission
refresh() method on PlominoDocument: same as save() but do not trigger onSaveDocument
more i18n French translations
Validation formula improvments (ability to test the current doc id + bug fixes)
Security fix: when a group has PlominoAuthors rights, members of this group are just authors on their own documents
TinyMCE support fix
Google chart integration : pie chart, bar chart, etc. (see http://code.google.com/intl/en/apis/chart/types.html )
Ability to display the sum of a column in view (when columns contain figures)
Google Visualization integration : organizational charts, dynamic charts, map, etc. (see http://code.google.com/intl/en/apis/visualization/documentation/gallery.html )
CSV support improvement
Ability to restrict a Names field to a given member group
Import/export and replication improvements
Control Kupu height for Richtext fields
Delete button confirmation message
Ability to hide Default Actions in forms
Group support in user roles and in Plomino_Authors
Import/export database settings and ACL settings
XML import/export design to/from file
Replication filtering using a view (feature financed by ACEA)
Delete documents from view
Custom start page
Form as page (no action bar)
fr-fr fallback for i18n fr files
Date/Time widget fix for Plone 3.2
IMPORTANT NOTE: this version does not support Plone versions < 3.2
Better error handling for field rendering
Clean up debug trace
Fix migration script
1.3RC1 - Unreleased
Release history Release notifications | RSS feed
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.