Package: eea.versions
EEA Versions is a versioning system based on a version ID to group certains
objects and EffectiveDate to determine version number.NoteThis add-on doesn’t do anything by itself. It needs to be integrated by a
developer within your own products. For reference you can check
theeea.sparqlpackage.ContentsInstallationSource codeCopyright and licenseContributor(s)FundingChangelog12.4 - (2021-06-17)12.3 - (2020-09-18)12.2 - (2020-07-21)12.1 - (2020-06-19)12.0 - (2020-01-30)11.9 - (2019-12-17)11.8 - (2019-12-05)11.7 - (2019-11-28)11.6 - (2019-10-03)11.5 - (2019-01-28)11.4 - (2018-04-24)11.3 - (2018-04-19)11.2 - (2018-03-05)11.1 - (2018-03-01)11.0 - (2018-01-30)10.9 - (2018-01-26)10.8 - (2018-01-25)10.7 - (2018-01-23)10.6 - (2017-12-12)10.5 - (2017-11-07)10.4 - (2017-09-27)10.3 - (2017-09-26)10.2 - (2017-09-15)10.1 - (2017-08-16)10.0 - (2017-05-15)9.9 - (2017-05-08)9.8 - (2017-04-24)9.7 - (2017-02-21)9.6 - (2016-11-21)9.5 - (2016-11-14)9.4 - (2016-10-26)9.3 - (2016-06-02)9.2 - (2016-05-31)9.1 - (2016-05-27)9.0 - (2016-05-05)8.1 - (2015-12-16)8.0 - (2015-11-03)7.9 - (2015-10-05)7.8 - (2015-08-18)7.7 - (2015-04-02)7.6 - (2015-03-17)7.5 - (2014-12-23)7.4 - (2014-11-20)7.3 - (2014-10-15)7.2 - (2014-09-15)7.1 - (2014-07-15)7.0 - (2014-05-13)6.9 - (2014-03-10)6.8 - (2014-01-23)6.7 - (2014-01-22)6.6 - (2013-12-05)6.5 - (2013-09-23)6.4 - (2013-09-17)6.3 - (2013-09-17)6.2 - (2013-09-06)6.1 - (2013-08-09)6.0 - (2013-05-21)5.9 - (2013-05-21)5.8 - (2013-05-20)5.7 - (2013-05-20)5.6 - (2013-04-17)5.5 - (2013-02-25)5.4 - (2013-01-10)5.3 - (2012-11-27)5.2 - (2012-11-22)5.1 - (2012-11-09)5.0 - (2012-10-08)4.7 - (2012-08-10)4.6 - (2012-06-12)4.5 - (2012-05-03)4.4 - (2012-03-30)4.3 - (2012-02-15)4.2 - (2011-11-22)4.1 - (2011-11-18)4.0 - (2011-11-18)1.10 - (2011-04-07)1.9 - (2011-02-01)1.8 - (2010-10-29)1.7 - (2010-10-29)1.6 - (2010-10-07)1.5 - (2010-10-06)1.4 - (2010-09-30)1.3 - (2010-09-17)1.2 - (2010-09-06)1.1 - (2010-08-16)1.0 - (2010-07-01)Installationzc.buildoutIf you are usingzc.buildoutand theplone.recipe.zope2instancerecipe to manage your project, you can do this:Update your buildout.cfg file:Addeea.versionsto the list of eggs to installTell theplone.recipe.zope2instancerecipe to install a ZCML slug[instance]
...
eggs =
  ...
  eea.versions

zcml =
  ...
  eea.versionsRe-run buildout, e.g. with:$ ./bin/buildoutYou can skip the ZCML slug if you are going to explicitly include the package
from another package’s configure.zcml file.Source codeLatest source code (Plone 4 compatible):
-Plone Collective on Github-EEA on GithubCopyright and licenseThe Initial Owner of the Original Code is European Environment Agency (EEA).
All Rights Reserved.The EEA Versions (the Original Code) is free software;
you can redistribute it and/or modify it under the terms of the GNU
General Public License as published by the Free Software Foundation;
either version 2 of the License, or (at your option) any later
version.Contributor(s)Tiberiu Ichim (Eau de Web),Alec Ghica (Eau de Web),Antonio De Marinis (European Environment Agency)More details under docs/License.txtFundingEEA- European Enviroment Agency (EU)Changelog12.4 - (2021-06-17)Change: earlier versions of a given object now return with moddified urls
to have/viewappended in case the object.portal_type is in
site_properties.typesUseViewActionInListings.
See docs/versions.txt for tests on how this affects the returned results.
[ichim-david refs #108348]Change: ds_resolve now returns link with/viewif needed
[ichim-david refs #108348]Change: latest version portal message now point user to obj + ‘/view’ if needed
[ichim-david refs #108348]12.3 - (2020-09-18)Change: Removed extra icon from older versions
[ichim-david refs #120397]12.2 - (2020-07-21)Change: Changed portlet_versions so that we no longer have a div with the
id ‘eea-versions-portlet’ and now we attached the id to the accordion panel
class
[iulianpetchesi refs #119540]Change: removed documentDescription class from assign_version when checking
current version set as that is not documentDescription
[ichim-david refs #117296]Bug fix: avoid Unauthorised error when checking if context is report within
portlet_versions
[ichim-david refs #117296]12.1 - (2020-06-19)Change: versions data is now hidden behind an accordion
[ichim-david refs #117295]12.0 - (2020-01-30)Bug fix: Fixed the older versions viewlet for Data and EEAFigures
[alecghica refs #113639]11.9 - (2019-12-17)Change: Revert previous allowed_attributes change for older versions viewlet
[iulianpetchesi refs #112194]11.8 - (2019-12-05)Change: Refs #110020 Fix version viewlet error.
[iulianpetchesi refs #110020]11.7 - (2019-11-28)Change: Modified the older versions viewlet to use publication version series
for publications(Report)
[iulianpetchesi refs #110020]11.6 - (2019-10-03)Change: Modified the older versions viewlet to use effective/creation date
instead of lastUpload
[iulianpetchesi refs #102731]11.5 - (2019-01-28)Jenkins: Add sonarqube step
[avoinea refs #101552]Change: updated URLs pointing to eea.europa.eu withhttps://[alecghica refs #95849]11.4 - (2018-04-24)Bug fix: fix for non version enhanced objects
[valipod refs #93975]11.3 - (2018-04-19)Bug fix: fix for default view being linked as a version of the parent folder
[valipod refs #93975]11.2 - (2018-03-05)Bug fix: Don’t crash folder move/rename due to Catalog indexing queue
[avoinea refs #92869]11.1 - (2018-03-01)Feature: Fix tests to work with Products.CMFCore >= 2.2.12
[avoinea refs #92869]11.0 - (2018-01-30)Bug fix: Dropcanonical_objectcall for default_page. Use instead aq_parent
[avoinea refs #91514]10.9 - (2018-01-26)Bug fix: avoid crash of versions method because of unrestricted search
[valipod refs #90671]10.8 - (2018-01-25)Bug fix: fixed bug in create version for folders with changed default view
when parent folder is not IVersionEnhanced
[alecghica refs #89997]10.7 - (2018-01-23)Bug fix: fixed bug in create version for folders with changed default view
[valipod refs #89997]Bug fix: fixed bug in older versions portlet in case of folders with changed
default view
[valipod refs #89997]10.6 - (2017-12-12)Change: Replace eeacms/zptlint with eeacms/plone-test:4 zptlint
[avoinea refs #90415]Change: make new version warning simpler, more visible and user friendly.
[demarant refs #87958]10.5 - (2017-11-07)Change: Remove Sphinx generated documentation
[petchesi-iulian refs #88212]10.4 - (2017-09-27)Bug fix: Remove hardcoded EEA ‘SITE’ language from versions
[petchesi-iulian refs #87470]10.3 - (2017-09-26)Bug fix: Added language entry to the latest version link in order for it to
work properly
[petchesi-iulian refs #87470]10.2 - (2017-09-15)Bug fix: Changed the versions catalog search to use unrestrictedSearchResults
for anonymous users
[iulianpetchesi refs #87488]Change: assignVersion and revokeVersion now redirect to absolute_url + ‘/view’
for portal_types defined in site_properties.typesUseViewActionInListings
[ichim-david refs #87691]10.1 - (2017-08-16)Bug fix W3C compliance modifications
[valipod refs #86295]10.0 - (2017-05-15)Change: fixed PyLint warnings and errors
[eduard-fironda refs #84949]9.9 - (2017-05-08)Feature: customize canonical url viewlet to point to latest version
[ichim-david refs #83306]9.8 - (2017-04-24)Change: updated package information
[eduard-fironda]9.7 - (2017-02-21)Feature: Remove older version portlet from PDF export
[avoinea refs #81054]9.6 - (2016-11-21)Feature: permalinks are now visible on all content types
[alecghica refs #76194]Feature: permalinks and older versions are displayed as accordion
[alecghica refs #76194]9.5 - (2016-11-14)Feature: all permalinks logic moved under this package, e.g. ds_resolveuid
[alecghica refs #76194]Feature: permalink macro is now generic, ds_resolveuid can be
called now from any context
[alecghica refs #76194]9.4 - (2016-10-26)Bug fix: Drop eea.rdfmarshaller hard dependency
[avoinea refs #1 (github)]9.3 - (2016-06-02)Change: create EEA Permalink Mapping objects if eea.dataservice is
installed when migrating versions to new schema
[ichimdav refs #72875]9.2 - (2016-05-31)Bug fix: reindex getVersionId when performing a revoke in order to ensure
that the version viewlet no longer takes into consideration the revoked
object as part of the previous versioning chain
[ichimdav refs #72875]9.1 - (2016-05-27)Feature: added prefix_language option for version object which if enabled
allows you to have a language suffix for all versions
[ichim-david refs #72521]Feature: translated objects from LinguaPlone get version plus language prefix
as version id if version object is defined in order to avoid adding a new
prefixed object in case we have a new translation
[ichim-david refs #72521]Feature: migration now sets version plus language prefix as version id
if version object is defined in order to avoid adding a new prefixed object
in case we have a new translation
[ichim-david refs #72521]Feature: migration of objects now allows rerun if prefix is different
[ichim-david refs #72521]Feature: productID exposed in rdf output
[alecghica refs #72025]9.0 - (2016-05-05)Feature: added ability to create prefixes in order to have non random version
ids
[ichimdav refs #70786]Feature: added tests for versioning process
[ichimdav refs #70786]Feature: added ability to migrate content types from the random to the prefixed
incremented versions
[ichimdav refs #70786]8.1 - (2015-12-16)Bug fix: reset relations on versioned objects as the paste seems to loose the
relationship
[ichimdav refs #31440]8.0 - (2015-11-03)Feature: Performance improvement when creating new version
by usign the patched manage_pasteObjects and so avoid the rename after
the copy/paste operation
[chiridra refs #14598]7.9 - (2015-10-05)Change: fixed issue 2 - to have previous versions shown on all versions.
[chiridra refs #28681]Change: removed js code that dealt with hiding of the older versions, this was
a design implementation that isn’t generic and was moved to another eea theme
package
[ichimdav refs #27220]7.8 - (2015-08-18)Change: Auto-include zcml within plone context in order to make this package
work without having to add it within buildout zcml directive.
[avoinea]7.7 - (2015-04-02)Change: added missing commit for ticket 23017 which changes the portalMessage
of older versions to archiveMessage
[ichimdav refs #23017]7.6 - (2015-03-17)Change: Switched to curl in the jenkins build install script
[olimpiurob refs #22402]Change: Changed fetch url for jenkins build install script to the install
script from the main EEA CPB repository
[olimpiurob refs #22402]Change: added eea.versions.older viewlet with logic that was previously
within eea.versions.status viewlet about displaying older revisions
[ichimdav refs #23017]7.5 - (2014-12-23)Feature: Ajax versioning is now checking if a version isn’t already in
progress in which case no new versioning is attempted until previous version
call is terminated
[ichim-david refs #22047]Bug fix: Added browserlayer for viewlets, so don’t throw error when
eea.versions is installed but not activated yet.
[szabozo0]7.4 - (2014-11-20)Bug fix: Display also archived (expired) versions within versioning viewlet
for anonymous users.
[voineali refs #21515]7.3 - (2014-10-15)Upgrade step: run SITE/@@updateCreationDate
[ichim-david refs #21326]Feature: added updateCreationDate BrowserView which will set the CreationDate
to that of the EffectiveDate if the CreationDate is smaller than the
EffectiveDate
[ichim-david refs #21326]Change: order of versions no longer takes into consideration that
effective_date needs to be older than the creation date, opting to sort
by effective_date if that is found on the object.
This reverts the logic change done in ticket 20827
[ichim-david refs #21326]Bug fix: user must be able to create a new version with Add Portal
Content permission. Semantically creating new versions means adding new
content to the site. This way users can create new versions of published
content which it may be not editable anymore.
[demarant refs #21369]7.2 - (2014-09-15)Bug fix: check if effective_date isn’t smaller than that of the creation_date
when returning the versions of an object and if so sort by creation_date
since the order of the versions determine which is latest version
[ichimdav refs #20827]7.1 - (2014-07-15)Bug fix: fixed permission for @@can_version, it is now set to zope2.View
instead of wrong ModifyPortalContent one.
[ghicaale refs #20381]Change: GetVersions class no longer requires a request which isn’t found
when class is called from plone.app.async
[ichimdav refs #19859]Bug fix: fix create new version ajax method when the operation takes
too much time.
[ghicaale refs #20193]7.0 - (2014-05-13)Change: fixed pylint warnings
[ichimdav refs #18316]6.9 - (2014-03-10)Change: getLatestVersionUrl can now be called from the getLatestVersionUrl
browser page
[ichimdav refs #18316]6.8 - (2014-01-23)Feature: added test which documents the way versions are returned when
viewed by anonymous users
[ichim-david refs #18155]Bug fix: archiving an object no longer messes the order of versions for
anonymous users
[ichim-david refs #18155]Change: creating a version now sets the currently logged in user as the
creator of the object while also preserving the previous creators
[ichim-david refs #18142]6.7 - (2014-01-22)Bug fix: removed wrongly added blockquotes within README.rst
[ichim-david refs #18064]Feature: adding Sphinx-generated documentation in Page Template format
[batradav refs #9502]6.6 - (2013-12-05)Feature: added a portlet_versions viewlet
[tiberich refs #17321]6.5 - (2013-09-23)Bug fix: code cleanup; slightly refactor the way the random versionId is
calculated
[tiberich]6.4 - (2013-09-17)Bug fix: added a script to migrate old objects storage to new versions storage
for objects which were not IVersionEnhanced
[tiberich #14751]6.3 - (2013-09-17)Bug fix: Fixed inconsistent information message regarding assessment state for
anonymous users.
[tiberich #14613]Bug fix: don’t calculate versions if versionId is empty
[tiberich #16751]Bug fix: Removed endless loop while generating random_id
[voineali refs #16723]6.2 - (2013-09-06)Bug fix: use POST instead of GET when creating a new version
[tiberich #16641]6.1 - (2013-08-09)Change: when a newer version is present, only show the latest version in the
portlet_versions, instead of showing a list of all newer versions6.0 - (2013-05-21)Bug fix: fix bug caused by missing proper security wrapper in init of a view
[tiberich #14568]5.9 - (2013-05-21)Bug fix: fix getLatestVersionUrl, it needs to be a separate view
[tiberich #14568]5.8 - (2013-05-20)Bug fix: bump version in metadata.xml to ensure automatic upgrades
[tiberich #14008]5.7 - (2013-05-20)Feature: added IVersionControl.can_create_new_version and
@@can_create_new_version view as the basis of a mechanism to disable creation of
new versionsChange: refactor the versioning to simplify code and make it easier to use.
Added and improved tests.
[tiberich #14008]Pre-upgrade step: run as first step!
Go to portal_setup, Upgrades, choose eea.versions:default, execute upgrade step
[tiberich #14361]5.6 - (2013-04-17)Bug fix: improve message show in portlet versions about the latest version
[tiberich #14050]5.5 - (2013-02-25)Feature: added information for contributors
[ciobabog refs #13892]Bug fix: don’t strip obj of aquisition context when deleting conversation,
avoids possible reindexing errors
[tiberich #13836]5.4 - (2013-01-10)Change: hide older version listing by default, listing can be seen by
clicking on older versions link
[ichimdav #10182]Change: moved older versions listing to the portalMessage div containing
new and old versions
[ichimdav #10182]Bug fix: avoid page reload when clicking on previous version
[ichimdav #10182]5.3 - (2012-11-27)Bug fix: fix migration code for #98475.2 - (2012-11-22)Bug fix: make revoke action hidden by default
[tiberich]5.1 - (2012-11-09)Feature: Added i18n translations
[avoinea]Bug fix: don’t fail if reindex fails for children of copied (versioned)
objects. They will be reindexed anyway in a later step
[tiberich #9946]5.0 - (2012-10-08)Bug fix: added a page to detect and fix objects that have a recorded
versionId but they don’t publish this to the catalog
[tiberich refs #5502]Upgrade step: go to
/www/@@missing_values_for_index?portal_type=Specification&index=getVersionId&fix=true
Visit it two times. Note the output should be empty the second time.
[tiberich refs #5502]4.7 - (2012-08-10)Bugfix: made eea.versions compatible with plone 4.0
[szabozo0 refs #5387]4.6 - (2012-06-12)Bug fix: fixed markup of HISTORY.txt file
[ciobabog refs #5231]Feature: updated for plone.app.discussion 2.0.10
[szabozo0 #5189]Bug fix: fix pylint warnings
[tiberich #5111]Bug Fix: Fixed duplicate key for translation in .pt files
[prospchr refs #5162]4.5 - (2012-05-03)Bug fix: no longer depend on collective.indexing
[tiberich #5111]4.4 - (2012-03-30)Bug fix: check if ver.talkback is None to avoid crash
[tiberich #5020]Bug fix: don’t start an uncontrolled number of timeouts in javascript
versions popup
[tiberich #5020]Bug fix: moved createVersionAjax to its own class; use @@createVersion
view to do the versioning. This allows packages to override version
creation
[tiberich #5020]Feature: added test to see if using collective.indexing is faster
[tiberich #5033]4.3 - (2012-02-15)Feature: added method for checking if context object is latest
[demarant]4.2 - (2011-11-22)Bug fix: Fixed versions portlet for items with non-ASCII chars
[voineali #4760]4.1 - (2011-11-18)Rerelease broken egg4.0 - (2011-11-18)Change: Cleaned up versions.py, the modal box copes with server errors, it displays an error message in case of any error (except apache timeout)
[szabozo0 #4612]Feature: Avoid timeout error message on creating new version, display fancybox while copying, show link to the new version when copy is done
[szabozo0 #4612]Bugfix: fixed “Permalink to latest version” in case if only one entry is available
[szabozo0 #4630]Feature: added a utility view, @@get_interfaces
[tiberich #4275]Feature: Added upgrade steps
[voineali #4392]Feature: Plone 4.x compatible release
[tiberich #4275]1.10 - (2011-04-07)Bug fix: omitted the change of object to obj which broke the version portlet
[ichimdav]Cleanup: of pyflakes warnings
[ichimdav #4141]Cleanup: of pylint violations
[ichimdav #4140]1.9 - (2011-02-01)Feature: make versioning trigger IVersionCreated event
[tiberich #3988]Change: set effective and expiration date to None when creating a version
[tiberich #4000]1.8 - (2010-10-29)API Change: renamed has_versions to isVersionEnhanced, also coresponding view
[tiberich #3278]1.7 - (2010-10-29)Change: changes _get_random() to make catalog checks,
so that it doesn’t return duplicated versionIds
[tiberich #3758]1.6 - (2010-10-07)Use getToolByName instead of acquisition to retrieve portal_membership.
[tiberich]1.5 - (2010-10-06)Add a nextURL parameter in the @@assign_version view
[tiberich #3650]1.4 - (2010-09-30)Feature: Delete comments when creating a new version
[ghicaale #3601]1.3 - (2010-09-17)Bug fix: fixed getting workflow state title
[ghicaale]1.2 - (2010-09-06)Feature: Messages now display title of the workflow state instead of its id
[ghicaale #3576]Feature: Versions listing colored based on review_state
[ghicaale #3576]Bug fix: Do not display versions in ‘public draft’ for anonymous
[ghicaale #3576]1.1 - (2010-08-16)Feature: If there is no EffectiveDate, version
number is computed based on CreationDate
[ghicaale #3506]1.0 - (2010-07-01)Initial release, based on code from eea.dataservice
[tiberich]