alfresco tech talk live #92 - model management
TRANSCRIPT
Model ManagementTech Talk Live
Ole Hejlskov, Mike Farman16/12/2015
Content Models - BackgroundBackground• Metadata is key to providing context around content…
Capture the business data around your content to drive your content workflows and discovery
• Alfresco already offers an extremely rich and flexible metadata modelling capability (based around Types & Aspects)
• Models are key differentiator between content management applications and file sharing type apps
however…
But don’t we have Dynamic Models already?• Dynamic Models is an existing capability where XML model
definitions can be stored in the repository Data Dictionary/Models folder (as opposed to the filesystem)
• Limited changes can be made at runtime– Typically Additive i.e. add new property to existing model
• XML based - no tool to edit/verify• Share XML form definitions are *still* required to support the model
also need manual deployment and server restarts
Dynamic M
odels
Solution Description• Allow Business Analyst level of
user to define and manage models via Share UI
• Hide the technical details & protect the user from errors– UI constrains the user to what is
possible– Users cannot make changes that
will break the server• Remove the need for IT involvement
– No file system based deployment required
– Deployment Lifecycle managed via the property groups feature set
• Designed to address most common modelling use cases– Targeted at business analyst
– not Java developer– Does not expose 100% of
the modelling capabilities• Includes Types and Aspects• Builds on the existing Dynamic
Modelling capability– Primarily UI on top of
existing capabilities– Does not require major re-
architecture/refactor of modelling capabilities
Solution Description
Model Management
Items Value
Support Types and Aspects Flexible options for defining hierarchal (Type) and cross-cutting (Aspect) content models
Define different property datatypes Capture different content types such as text, dates, booleans and more
Property Value Constraints Restrict the values users can enter to ensure metadata is applicable for intended usage
Search Indexing Controls Allow users to search and find content effectively and ensuring efficient storage
Model Lifecycles Allow business analyst to ensure models are only available to users as appropriate
Valid Models Ensure that a model is well specified before making the model live
Property Form Designer Control the UX for end users by allowing design of forms via simple, drag n’ drop style design
Export/Import Model Easily move models between dev/test/production environments
Value Bundle
UI Driven model creation, management and deployment toolsWhich allows customers to define application specific content models via simple UI without hand coding or configuration
Modelling Lifecycle
Create
Model
Create Type/Aspec
t
Add Propertie
s
Layout
Form
Activate
Change Type/Manage
Aspects
Lifecycle
NamespacePrefixNameStatus: Inactive
NameParent Type
NameType
Automatic orManual
Status: Active
Business Analyst End User
DEMO
Indexing Options - Non-Text Fieldsint, long, float, double, date, datetime
Indexing Option Searchable Wildcard Facetable Model XML
None No <index enabled="false"> </index>
Basic Yes Yes No <index enabled="true"> <tokenised>TRUE</tokenised> </index>
Enhanced Search Yes Yes Yes <index enabled="true"> <tokenised>TRUE</tokenised> <facetable>true</facetable> </index>
Indexing Options
Indexing Options – Text Fields text, mltext, content
Indexing Options
Indexing Option Searchable Wildcard Facetable Model XML
None No n/a n/a <index enabled="false"> </index>
Free Text Yes Yes No <index enabled="true"> <tokenised>TRUE</tokenised> </index>
List of Values – Whole Matche.g. Country Code
Yes No Yes <index enabled="true"> <tokenised>FALSE</tokenised> <facetable>true</facetable> </index>
List of Values – Partial Matche.g. Locale, Keywords
Yes Yes Yes <index enabled="true"> <tokenised>BOTH</tokenised> <facetable>true</facetable> </index>
Pattern – Unique Matchese.g. Social Security Number, ISBN
Yes No No <index enabled="true"> <tokenised>FALSE</tokenised> <facetable>false</facetable> </index>
Pattern – Many Matchese.g. Filename, zip/post code
Yes Yes No <index enabled="true"> <tokenised>BOTH</tokenised> <facetable>false</facetable> </index>
Changing Active Models• Restrictions on changing properties for active models
Active Models
Properties Changeable
Name Display Label Description Data Type Requirement Multiple Default Value Constraint Indexing
Types/Aspects Changeable
Name Parent Type/Aspect Display Label Description
Form Layout can be changed at any time
TroubleshootingSymptom Cause Resolution
Model Manager tool is missing from Share Admin Console
User is not a member of the ALFRESCO_MODEL_ADMINISTRATORS group
Add user to ALFRESCO_MODEL_ADMINISTRATORS
Cannot deactivate an Active model Model in use Use “Find Where Used” action to locate nodes using model. Remove Aspects or for Types, delete nodes including purge from Trashcan
Custom Type/Aspect not visible to Share end users
Model is inactive Activate model via Model Manager
Model has no layout form Models only available to end users if they have a form. Add layout using Layout Designer
Share extension module for model not deployed
Deploy using Module Deployment page /share/page/modules/deploy
Form for Type is missing standard properties (e.g. name, title, description, created…)
Standard properties have not been included in Share Form
Add missing properties to form using Layout Designer
Questions?