alfresco tech talk live share extensibility metadata and actions for 4.1

16
Alfresco Share 4.1 Custom Metadata and Actions Mike Farman

Upload: alfresco-software

Post on 08-May-2015

3.046 views

Category:

Technology


3 download

DESCRIPTION

Slide deck to accompany episode 63 of Alfresco Tech Talk Live on share extensibility in Alfresco 4.1

TRANSCRIPT

Page 1: Alfresco tech talk live share extensibility metadata and actions for 4.1

Alfresco Share 4.1 Custom Metadata and Actions Mike Farman

Page 2: Alfresco tech talk live share extensibility metadata and actions for 4.1

Objectives

•  Extend Share without deep knowledge of how Share is built

•  Avoid copy-paste of existing code •  Simplify ungraded – avoid diff/merge •  Easier Deployment

Page 3: Alfresco tech talk live share extensibility metadata and actions for 4.1

Customizing the Document Library

• Metadata

•  Actions

… with configuration - no code

Page 4: Alfresco tech talk live share extensibility metadata and actions for 4.1

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

Page 5: Alfresco tech talk live share extensibility metadata and actions for 4.1

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

Page 6: Alfresco tech talk live share extensibility metadata and actions for 4.1

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

Page 7: Alfresco tech talk live share extensibility metadata and actions for 4.1

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

Page 8: Alfresco tech talk live share extensibility metadata and actions for 4.1

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

Page 9: Alfresco tech talk live share extensibility metadata and actions for 4.1

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

Page 10: Alfresco tech talk live share extensibility metadata and actions for 4.1

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:

Page 11: Alfresco tech talk live share extensibility metadata and actions for 4.1

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

Page 12: Alfresco tech talk live share extensibility metadata and actions for 4.1

Example New Action: Import ACP/ZIP

•  share-config-custom.xml Action Definition

Form Definition - Select destination for extracted files

Page 13: Alfresco tech talk live share extensibility metadata and actions for 4.1

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

Page 14: Alfresco tech talk live share extensibility metadata and actions for 4.1

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

Page 15: Alfresco tech talk live share extensibility metadata and actions for 4.1

Example: Mimetype Evaluator

• Only show Import for ACP/ZIP files o  share-config-custom.xml

o  custom-slingshot-context.xml

Page 16: Alfresco tech talk live share extensibility metadata and actions for 4.1

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