[
https://jira.nuxeo.com/browse/NXP-6054?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Florent Guillaume updated NXP-6054:
-----------------------------------
Impact type: [API added, Content model Change] (was: [API added])
Upgrade notes:
The LOCKS table should not have a foreign key to HIERARCHY anymore. It can be
deleted by hand:
ALTER TABLE locks DROP CONSTRAINT locks_id_hierarchy_fk
New APIs:
CoreSession.setLock(docRef)
CoreSession.getLockInfo(docRef)
CoreSession.removeLock(docRef)
DocumentModel.setLock()
DocumentModel.getLockInfo()
DocumentModel.removeLock()
NXQL.ECM_LOCK_OWNER = "ecm:lockOwner"
NXQL.ECM_LOCK_CREATED = "ecm:lockCreated"
CoreSession.IMPORT_LOCK_OWNER = "ecm:lockOwner"
CoreSession.IMPORT_LOCK_CREATED = "ecm:lockCreated"
LockActions.LOCK_CREATED = "document.lock.created"
Deprecated APIs (use those above instead):
CoreSession.getLock(docRef)
CoreSession.setLock(docRef, key)
CoreSession.unlock(docRef)
DocumentModel.getLock()
DocumentModel.setLock(key)
DocumentModel.unlock()
NXQL.ECM_LOCK = "ecm:lock"
CoreSession.IMPORT_LOCK = "ecm:lock"
LockActions.LOCK_TIME = "document.lock.time"
NXQL must now use "ecm:lockOwner" and "ecm:lockCreated" instead of "ecm:lock"
(which is still here but returns the ecm:lockOwner value).
Nuxeo Automation document JSON output now includes "lockOwner" and
"lockCreated" (full ISO 7601 date).
Import through CoreSession.importDocuments must now use
CoreSession.IMPORT_LOCK_OWNER and CoreSession.IMPORT_LOCK_CREATED instead of
CoreSession.IMPORT_LOCK which is deprecated.
LockActions.getLockDetails returns a map with an additional
LockActions.LOCK_CREATED field with a Calendar for the creation date.
LockActions.LOCK_TIME is deprecated.
The LockingRestlet RESTAPI (Locking) has a new "state" action returning the
full created date in the form someuser/2001-01-27T11:22:33+01:00 (GET
/nuxeo/restAPI/{repoId}/{docId}/Locking/state). The "status" action is
deprecated.
was:
New APIs:
CoreSession.setLock(docRef)
CoreSession.getLockInfo(docRef)
CoreSession.removeLock(docRef)
DocumentModel.setLock()
DocumentModel.getLockInfo()
DocumentModel.removeLock()
NXQL.ECM_LOCK_OWNER = "ecm:lockOwner"
NXQL.ECM_LOCK_CREATED = "ecm:lockCreated"
CoreSession.IMPORT_LOCK_OWNER = "ecm:lockOwner"
CoreSession.IMPORT_LOCK_CREATED = "ecm:lockCreated"
LockActions.LOCK_CREATED = "document.lock.created"
Deprecated APIs (use those above instead):
CoreSession.getLock(docRef)
CoreSession.setLock(docRef, key)
CoreSession.unlock(docRef)
DocumentModel.getLock()
DocumentModel.setLock(key)
DocumentModel.unlock()
NXQL.ECM_LOCK = "ecm:lock"
CoreSession.IMPORT_LOCK = "ecm:lock"
LockActions.LOCK_TIME = "document.lock.time"
NXQL must now use "ecm:lockOwner" and "ecm:lockCreated" instead of "ecm:lock"
(which is still here but returns the ecm:lockOwner value).
Nuxeo Automation document JSON output now includes "lockOwner" and
"lockCreated" (full ISO 7601 date).
Import through CoreSession.importDocuments must now use
CoreSession.IMPORT_LOCK_OWNER and CoreSession.IMPORT_LOCK_CREATED instead of
CoreSession.IMPORT_LOCK which is deprecated.
LockActions.getLockDetails returns a map with an additional
LockActions.LOCK_CREATED field with a Calendar for the creation date.
LockActions.LOCK_TIME is deprecated.
The LockingRestlet RESTAPI (Locking) has a new "state" action returning the
full created date in the form someuser/2001-01-27T11:22:33+01:00 (GET
/nuxeo/restAPI/{repoId}/{docId}/Locking/state). The "status" action is
deprecated.
> Better lock format to store user and timestamp; always enforce single locker
> ----------------------------------------------------------------------------
>
> Key: NXP-6054
> URL: https://jira.nuxeo.com/browse/NXP-6054
> Project: Nuxeo Enterprise Platform
> Issue Type: Improvement
> Components: Core, Core SQL Storage
> Affects Versions: 5.3.2
> Reporter: Florent Guillaume
> Assignee: Florent Guillaume
> Priority: Major
> Fix For: 5.4.1
>
>
> Currently the lock API is
> CoreSession.setLock(DocumentRef docRef, String key)
> Where the key is of the form "jdoe" or "jdoe:Nov 29, 2010" and has to be
> generated by the caller.
> Conversely the getLock() API returns a String that has to be parsed if we
> want to extract the date.
> Problems:
> - there's many repeated places where date generation/parsing occurs,
> - it's not possible to store a precise timestamp.
> -> Change the lock API to generate the timestamp automatically, and provide
> an API that returns it.
> Also, store the timestamp in the database in a proper column (with database
> migration).
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
https://jira.nuxeo.com/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
_______________________________________________
ECM-tickets mailing list
[email protected]
http://lists.nuxeo.com/mailman/listinfo/ecm-tickets