Alfresco tech talk live share extensibility metadata and actions for 4.1
-
Upload
alfresco-software -
Category
Technology
-
view
3.045 -
download
3
description
Transcript of Alfresco tech talk live share extensibility metadata and actions for 4.1
Alfresco Share 4.1 Custom Metadata and Actions Mike Farman
Objectives
• Extend Share without deep knowledge of how Share is built
• Avoid copy-paste of existing code • Simplify ungraded – avoid diff/merge • Easier Deployment
Customizing the Document Library
• Metadata
• Actions
… with configuration - no code
Custom Metadata Display
• Control the metadata that is displayed in the Document List o e.g. Title, Status, EXIF Props etc
• Supports OOTB and custom model properties
• Config driven, no coding required o Optional Label o Property only displayed if present on node o Can use client-side JS for advanced rendering
Out-of-the-box Configuration
• webapps/share/WEB-INF/classes/alfresco/
share-documentlibrary-config.xml • Templates
• webapps/share/WEB-INF/classes/alfresco/
slingshot-documentlibrary-context.xml • Evaluators
Extend/Override
• shared/classes/alfresco/web-extension
share-config-custom.xml o Override existing o Add new templates
• shared/classes/alfresco/web-extension
custom-slingshot-context.xml • Custom evaluators
Example Metadata Template
• Config: shared/classes/alfresco/web-extension/share-config-custom.xml
• Template ID: exif • Add line index 60 – exif_model with label
• Evaluator o Reusing evaluator.doclib.indicator.exifMetadata from the core
Document Library Actions
• Simplified & consolidated config for actions available on the DocLib, DocDetails and FolderDetails pages
• Single Configuration File for OOTB Actions o share-documentlibrary-config.xml
• Can be overridden via extensions o Add New, Remove Existing, Change Order of UI Actions o share-config-custom.xml
• Actions Groups and Actions o Similar approach to Explorer
Out-of-the-Box Actions & ActionGroups
• Like metadata, OOTB Actions defined in: o share/WEB-INF/classes/alfresco/share-documentlibrary-config.xml
• <actions> section defines the individual actions • <actionGroups> defines where and the order in
which they appear o Note: Action must be in an ActionGroup to appear
• Extend/Override in share-config-custom.xml i.e.: o shared/classes/alfresco/web-extensions/share-config-custom.xml o No need to copy full OOTB Action/ActionGroup definitions
Example: Removing Existing Actions
• share-config-custom.xml Config applies to DocLibActions
Start Workflow Action ID
Upload New Version Action ID
disableAction Evaluator
Before:
After:
Adding New Actions
• Configuration only, no coding required • 2 types of action: Simple and Advanced • Simple Action: No user input (i.e. dialog)
o e.g. Extract Metadata o Returns success or failure message
• Advanced Action: User provides parameters for action o e.g. Transform – Need to select target format and output location o Uses Forms service define dialogs
• see share-form-config.xml for OOTB definitions o Can plug in your own actions and forms
• Can be used to execute the OOTB Actions or your own custom actions
Example New Action: Import ACP/ZIP
• share-config-custom.xml Action Definition
Form Definition - Select destination for extracted files
Controlling when actions are available
• Evaluators o Control display of actions based on context e.g.
• Type, Aspect, Property, Site, Mimetype etc
• Can use OOTB evaluators or define your own
• Chain them together, all need to evaluate to true
• See slingshot-documentlibrary-context.xml for OOTB evaluators
Action Types
• Three main action types: o “link” – external link or link to content o “pagelink” – to another Share page (e.g. details) o “javascript” – client-side action
• onActionSimpleRepoAction e.g. Simple Workflow approve/reject
• onActionFormDialog e.g. Transform (to image), Run Action
Example: Mimetype Evaluator
• Only show Import for ACP/ZIP files o share-config-custom.xml
o custom-slingshot-context.xml
Further Reading
• Mike Hatfield's blog: Share Document Library Extensions in v4.0: http://blogs.alfresco.com/wp/developer/2011/09/26/share-document-library-extensions-in-v4-0/
• Forms: http://wiki.alfresco.com/wiki/Forms
• Forms Developer Kit: http://wiki.alfresco.com/wiki/Forms_Development_Kit#Form_Console
• Custom Models: http://wiki.alfresco.com/wiki/Data_Dictionary_Guide#Step_by_Step_Model_Definition