Reworked handling of path lookup failures to not throw exceptions
internally, to improve performance of certain layered directory
operations. Unfortunately there remains at least one scenario,
handling of bulk loads, and promotions of deeply nested directories in
layered contexts, in which performance is considerably less than
ideal.
Made AVMService.createBranch() and AVMSyncService.update() perform
implicit snapshots of source tree's stores before proceeding.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/BRANCHES/WCM-DEV2/root@3812 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
preferred parlance or submit if you have a certain background) is
substantially working, passing a handful of basic tests. Compare
harmlessly returns no differences always, so Kev can program against
it if he's so inclined.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/BRANCHES/WCM-DEV2/root@3785 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
without the bad aftertaste. It's needed for the AVMSyncService's
update method which will move new versions of nodes from one AVM
tree to another. Also a checkpoint for AVMSyncService. One can safely
call compare and get back an empty List of AVMDifferences.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/BRANCHES/WCM-DEV2/root@3784 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
cm:avmcontent and cm:avmfolder are 'abstract'. cm:avmplaincontent is derived
from cm:avmcontent and is just a plain file. cm:avmlayeredcontent is derived
from cm:avmcontent and is (surprise) a layered file and has a d:noderef mandatory
property, cm:avmfileindirection, that is the (possibly non-existent) file that
the layered file is transparent to. cm:avmplainfolder is derived from
cm:avmfolder and is just a plain directory. cm:avmlayeredfolder is a layered
directory and has a property, cm:avmdirinderection, that is the (possibly
non-existent) directory that the layered directory is transparent to.
The ContentModel QName constants are.
TYPE_AVM_PLAIN_FOLDER
TYPE_AVM_LAYERED_FOLDER
TYPE_AVM_PLAIN_CONTENT
TYPE_AVM_LAYERED_CONTENT
PROP_AVM_DIR_INDIRECTION
PROP_AVM_FILE_INDIRECTION
One can now create all four flavors of avm nodes through
AVMNodeService.createNode(). The advantage of using these over the
corresponding AVMService methods is that since (for now) AVMService, is
permission and indexing unaware.
Backed out cm:mounted aspect and dispatching code in DbNodeServiceImpl.
(Dave and Derek, you may now relax) as we are implementing the UI with
AVM dedicated screens.
Finally, beginning interface for AVM node tree synchronization and comparison.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/BRANCHES/WCM-DEV2/root@3764 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
- Full tests of archive and restore against the contentModel.xml
- TODO: Test permissions of archive store
- Currently on a single, simple restoreNode method on NodeService
- TODO: NodeRestoreService implementation to provide helpers around mass restoration, purging, etc
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@2782 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
- Added a new action to the repository for executing JavaScript files
- Added script action UI to rule framework, means we can execute a JavaScript file as part of a rule
- Lucene search and Saved Search functionality added to default data-model for scripts
- Added Scripts folder to Data Dictionary (created during bootstrap)
- Created patch to add the Scripts folder to existing schemas
- Added ScriptService to ServiceRegistry bean
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@2740 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
- Additions to the Alfresco JavaScript data-model
. JUnit test for each entry point into Rhino and the ScriptService
- tests for various API calls on the Scriptable Node object
. More javadoc clean-up in templating and script services
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@2726 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
. Refactored common simple workflow code into a util class.
. Example template that demonstrates both querying for workflow information on a document (useful anyway) and executes the servlet to perform both the Approve and Reject actions if appropriate for the document.
. TemplateNode template API object now exposes the browse navigation servlet URL for a Space as the "url" API call
. Fix long standing bug in UIRichList (since PR1!) - subtle behaviour issue where under very high server loads, the richlist component would render the wrong number of items per row.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@2590 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261