External Master Data in Alfresco: Integrating and Keeping Metadata Consistent Across Multiple Systems



Similar documents
EMC E EMC Content Management Foundation Exam(CMF)

Microsoft Office 365 Exchange Online Cloud

Cloud Service Model. Selecting a cloud service model. Different cloud service models within the enterprise

Web-Based Hazus-MH. A Conceptual Approach. Mourad Bouhafs, AVP ATKINS Atlanta mourad.bouhafs@atkinsglobal.com

TABLE OF CONTENTS THE SHAREPOINT MVP GUIDE TO ACHIEVING HIGH AVAILABILITY FOR SHAREPOINT DATA. Introduction. Examining Third-Party Replication Models

SharePoint Training DVD Videos

ELIS Managing Enterprise Level Learning Programs with Moodle

The Power of Classifying in SharePoint 2010

Course Outline. Business Analysis & SAP BI (SAP Business Information Warehouse)

Ektron to EPiServer Digital Experience Cloud: Information Architecture

Using Colligo Contributor to Migrate Lotus Notes Applications to SharePoint

14 Configuring and Setting Up Document Management

Form Management Admin Guide

Architecting Distributed Databases for Failure A Case Study with Druid

Continuous Integration The Full Monty Artifactory and Gradle. Yoav Landman & Frederic Simon

SpringCM Troubleshooting Guide for Salesforce

SalesLogix. SalesLogix v6 Architecture, Customization and Integration

Distributed Computing and Big Data: Hadoop and MapReduce

2007 to 2010 SharePoint Migration - Take Time to Reorganize

Cloud Hosted Data in Digital Forensics

Version Control with Git. Linux Users Group UT Arlington. Rohit Rawat

Test Run Analysis Interpretation (AI) Made Easy with OpenLoad

Colligo Manager 6.0. Offline Mode - User Guide

TE's Analytics on Hadoop and SAP HANA Using SAP Vora

Original-page small file oriented EXT3 file storage system

Configuring SQL Server Lock (Block) Monitoring With Sentry-go Quick & Plus! monitors

whitepaper SolarWinds Integration with 3rd Party Products Overview

Hitachi Content Platform as a Continuous Integration Build Artifact Storage System

Release Automation for Siebel

Visualizing a Neo4j Graph Database with KeyLines

Alfresco. Wiley Publishing, Inc. PROFESSIONAL. PRACTICAL SOLUTIONS FOR ENTERPRISE. John Newton CONTENT MANAGEMENT. Michael Farman Michael G.

SAS IT Resource Management 3.2

IBM Tivoli Storage Manager for Microsoft SharePoint

Request Routing, Load-Balancing and Fault- Tolerance Solution - MediaDNS

MarkLogic Server. Reference Application Architecture Guide. MarkLogic 8 February, Copyright 2015 MarkLogic Corporation. All rights reserved.

SQL Server Integration Services Using Visual Studio 2005

OBIEE 11g Security it s as easy as 1-2-3!

elearning Content Management Middleware

Big Data Visualization with JReport

Mobile Application Development

P R O V I S I O N I N G O R A C L E H Y P E R I O N F I N A N C I A L M A N A G E M E N T

LINKED DATA EXPERIENCE AT MACMILLAN Building discovery services for scientific and scholarly content on top of a semantic data model

A Quick Chat about SOMF Capabilities Page1 Service-Oriented Modeling Framework (SOMF) Building Attribution Models

Google Apps and Open Directory. Randy Saeks

Bitrix Site Manager 4.1. User Guide

What s New in LANDESK Service Desk A tour of the new features and functionality released since Connect 2014

System Administration Training Guide. S100 Installation and Site Management

50 shades of Siebel mobile

Clever School Signup: PowerSchool

Qlik REST Connector Installation and User Guide

The Nuts and Bolts of Autodesk Vault Replication Setup

IBM Security Access Manager for Enterprise Single Sign-On V8.2 Implementation Exam.

Fermilab Service Desk

How To Create A Data Visualization With Apache Spark And Zeppelin

Introduction to Records Management in SharePoint 2013

Introducing Apache Pivot. Greg Brown, Todd Volkert 6/10/2010

CLOUD 401: NAVIGATING ADVANCED TOPICS IN CLOUD COMPUTING

Category: Business Process and Integration Solution for Small Business and the Enterprise

Cloud services in PL-Grid and EGI Infrastructures

Choosing a File Sync & Share Solution. PRESENTATION TITLE GOES HERE Darryl Pace Optimal Computer Solutions

Distributed File System Choices: Red Hat Storage, GFS2 & pnfs

Colligo Manager 6.2. Offline Mode - User Guide

Monitoring PostgreSQL database with Verax NMS

Design Authorization Systems Using SecureUML

Oracle Siebel Marketing and Oracle B2B Cross- Channel Marketing Integration Guide ORACLE WHITE PAPER AUGUST 2014

User's Guide. ControlPoint. Change Manager (Advanced Copy) SharePoint Migration. v. 4.0

Load Testing at Yandex. Alexey Lavrenuke

Dynamic Content Acceleration: Lightning-Fast Web Apps with Amazon CloudFront and Amazon Route 53

day 1 2 Windows Azure Platform Overview... 2 Windows Azure Compute... 3 Windows Azure Storage... 3 day 2 5

Service Description Archive Storage in the Cloud

AJAX Storage: A Look at Flash Cookies and Internet Explorer Persistence

Geodatabase Programming with SQL

Rhomobile cross-platfrom

Agile VPN for Carrier/SP Network. ONOS- based SDN Controller for China Unicom MPLS L3VPN Service

Hadoop: Embracing future hardware

SECURE, ENTERPRISE FILE SYNC AND SHARE WITH EMC SYNCPLICITY UTILIZING EMC ISILON, EMC ATMOS, AND EMC VNX

Installation and Configuration Guide. Sybase Mobile Sales for SAP CRM 1.1

User Guide. You will be presented with a login screen which will ask you for your username and password.

Methods - EpheSoft Intelligent Document Scanning Cloud Consulting Services Ixxus

Advanced Solutions of Microsoft SharePoint Server 2013 Course 20332A; 5 Days, Instructor-led

LearningServer for.net Implementation Guide

MarkLogic 8: Samplestack

Workflow ProducCvity in Splunk Enterprise

Developing Android Apps with the ArcGIS Runtime SDK for Android. Dan

Sentinel Migration Utility

Setting Up Jive for SharePoint Online and Office 365. Introduction 2

Managing Name Resolution

5 Mistakes to Avoid on Your Drupal Website

General principles and architecture of Adlib and Adlib API. Petra Otten Manager Customer Support

Preparing for the cloud: Understanding the infrastructure impacts Eight essential tips for a successful cloud migration

SEARCH G2. Paul Taylor, Solutions Architect October 29, 2014

A Modern Approach to Monitoring Performance in Production

Transcription:

External Master Data in Alfresco: Integrating and Keeping Metadata Consistent Across Multiple Systems Oksana Kurysheva @aviriel Alexey Vasyukov @avasyukov

Who are we? Oksana Kurysheva @aviriel Project Manager / Trainer / Queen of the bees ITD Systems / Order of the Bee Alexey Vasyukov @avasyukov Chief Architect / Alvex Product Manager ITD Systems

Questions for the next 39 minutes 1 2 3 4 What is Master Data? Storing Master Data in Alfresco External Master Data Complicated cases 5 Conclusion

1 2 3 4 What is Master Data? Storing Master Data in Alfresco External Master Data Complicated cases 5 Conclusion

What is Master Data?

Master data management is an integration between Alfresco and a complex set of third-party systems, that you are to meet when trying to use Alfresco in the wild.

1 2 What is Master Data? Storing Master Data in Alfresco 3.1 3.2 Out of the box implementation Data-list based implementation 3 4 Integrating Alfresco with external Master Data Complicated cases 5 Conclusion

Constraints in the content model

Constraints in the content model + - Users can select a value from the list. Master data changes quite frequently. Business users do not like the idea to call IT every time they need new option in the drop-down list.

1 What is Master Data? 2 Storing Master Data in Alfresco 3.1 3.2 Out of the box implementation Data-list based implementation 3 4 Integrating Alfresco with external Master Data Complicated cases 5 Conclusion

Data-list based implementation (1/5) Simple solution Several extensions to do it: Tony Parzgnat implementation https://github.com/parzgnat/alfresco-value-assistance Angel Borroy implementation https://github.com/keensoft/alfresco-datalist-constraints Alvex releases older 2.1

Data-list based implementation (2/5) <appearance> <field id= dm:color > <control template= /form-controls/dynamic-dropdown.ftl > <control-param name= picklistname >Color</controlparam> </control> </field> </appearance>

Data-list based implementation (3/5)

Data-list based implementation (4/5) Solves basic issue quickly Business users can edit constraints in browser!

Data-list based implementation (5/5) - Updating a list of values Share-Tier Performance Permissions No native constraint Still no sync with external Master Data

1 2 3 What is Master Data? Storing Master Data in Alfresco External Master Data 3.1 3.2 The Good The Bad 4 Complicated cases 5 Conclusion

External Master Data Assumptions: Master data is in 3rd party systems. These systems have remote APIs. Let's query them for reference data.

Architectural Choice Share Tier vs Repo Tier

Architectural Choice: Share-tier

Architectural Choice: Share-tier <field id= alvexdt:contract > <control template= /alvex-masterdata-select.ftl > <control-param name= url > http://www.alvexsoftware.com/files/contacts_sample.json </control-param> <control-param name= path ></control-param> <control-param name= label >contactcompany</control-param> <control-param name= value >contactcompany</control-param> </control> </field>

Architectural Choice: Repo Tier

Architectural Choice: Repo Tier <constraint name="alvexdt:docstatus" type="com.alvexcore.repo.masterdata.masterdataconstraint"> <parameter name="datasourcename"> <value>test</value> </parameter> </constraint>

1 What is Master Data? 2 Storing Master Data in Alfresco 3 External Master Data 3.1 3.2 The Good The Bad 4 Complicated cases 5 Conclusion

External Master Data Quite obvious idea becomes tricky: Live data vs Cached data Performance and bottlenecks Changes in reference data

Dilemma: Live Data vs Cached Data Live Data Always actual Cached Data May be outdated Simple implementation Complex implementation Slow network Fast Service is unavailable? Always available

Performance Constraint is expected to be extremely fast Just reading field with list constraint with N values causes N+1 call to Constraint class. Caching of classifiers in Repo is not enough.

Changes in Reference Data Processing Updates Update items Processing Deletion Leave old value in existing fields Add new data Allow creating new data from Alfresco Migrate existing fields to the new one

Implementation Details (1/5)

Implementation Details (2/5)

Implementation Details (3/5)

Implementation Details (4/5)

Implementation Details (5/5)

Changes in Reference Data Processing Updates Update items Processing Deletion Leave old value in existing fields Add new data Allow creating new data from Alfresco Migrate existing fields to the new one

External Master Data: Demo

2 3 4 Storing Master Data in Alfresco External Master Data Complicated cases 4.1 4.2 Handling Tree-Like Structures Constraints Inter-Dependencies 4.3 One-To-Many Relations 5 Conclusion

Complicated Cases Reference data is complex IRL: Tree-like hierarchies Inter-dependencies of constraints One-to-many mapping (one master data object to many content object properties)

Handing Tree-Like Structures

Handing Tree-Like Structures Jean Barmash implementation (2008) https://forums.alfresco.com/comment/80963#co mment-80963

Constraints Inter-Dependencies

One-To-Many Relations

1 2 3 4 What is Master Data? Storing Master Data in Alfresco External Master Data Complicated cases 5 Conclusion

Fear and Loathing Under The Hood

Getting forms

Getting forms

Validations on Node Create/Edit

Validations on Node Create/Edit

Fear and Loathing Under The Hood: Summary Overloaded components: /api/formdefinition MasterDataAwareScriptFormService MasterDataAwareIntegrityChecker MasterDataAwarePropertiesIntegrityEvent

Roadmap Completely solve Complicated Cases Extract Master Data from Alvex to a separate extension

Resources GitHub Repo: https://github.com/itdsystems/alvex Contacts: @aviriel & @avasyukov & @alvexsoftware ping@itdhq.com