Design once with SIDE then deploy on
        Alfresco 3.2, 3.3 or 3.4

Migrate from Alfresco 2.x to Alfresco
            3.x with SIDE


                            www.bluexml.com
         SIDE – Outils de configuration pour   www.side-labs.com
         Alfresco                                             1
SIDE For Alfresco


1)  MDA Approach
  Modelling →Generation →Deployment on multi fwks

2)  MDA Gains vs classic approach

3)  Demo of Reverse mechanisms from Alfresco
  artefacts
 Alfresco 2.x or 3.x Models → SIDE Models → Update →
 Generation on Alfresco 3.y

4)  Demo of MDA Process for Alfresco
                                                    2
Sustainability Driven Architecture

    MDA Approach
          Production of Models
          Separation between Functional Apps & Implementation




      [Hype Cycle for Emerging
      Technologies, Gartner 2006]


    Benefits
          Durability of Models
          Balance between Design & Development
          Responsiveness to new Frameworks and to their new releases

                                                                       3
MDA/MDE – SIDE Approach

    Approach orientated
          Crossed Function
               Specialized Web Frameworks – Chiba/Forms, jBPM/Workflows
               Development of Specific Meta Models
          6 crossed Functions adressed
               Requirements, Data, Forms, Views, Portals, Workflows



    Benefits SIDE : the sustainability
          Better Interaction of Transverse Functions
          Optimization of Development Processes
          Support & Integration on Alfresco


                                                                           4
Work Measure of Classic/SIDE Approach


                                     Applications




Integration
                                                                   Deployment




                  Config                            Config
                  & Code                            & Code


Development                                                         Generation



                    Spec.                            Model

                                                                     Work Measure
                Classic Approach               SIDE MDA Approach
                              customer's requirements
                                                                                    5
Evolution Work Measure: Classic

              Application                         Application
                        Fwk 1.1, ..., 1.n                   Fwk 2.1, ..., 2.n



Integration




              Config                              Config
              & Code                              & Code



Development


                Spec.

                                                                  Work Measure
                               Classic Approach

                                                                                 6
Evolution Work Measure: SIDE

Application                            Application
              Fwk 1.1, ..., 1.n                      Fwk 2.1, ..., 2.n




                                                       Deployment




Config                                 Config
& Code                                 & Code


                                                         Generation


  Model

                                                          Work Measure
                   SIDE MDA Approach

                                                                         7
SIDE Alfresco extension Modules


Under 'Generation path'/alfresco_3.x, you get the following amp files:
Without checking any option:
- customAssociationManagementEnterprise-x.x.xx.amp : this module is a server
   module which extends the capabilities of Alfresco by the support of associations
   navigation in both ways and the cascading delete for composite associations.
- modelEnterprise-x.x.xx .amp: this module is an Alfresco Configuration Extension
   which allows to define a default content type 'bxcontent' : all the content type
   extension related to Alfresco content are based on this content type. In particular,
   this allows to apply policies or rules limited to the content modeled through SIDE.
- module.SIDE_ModelExtension_myContentType_Model.amp: this module is an
   Alfresco Configuration Extension which contains the content type extension
   related to the 'myContentType' data model.




                                                                                      8
SIDE Alfresco extension Modules
With the 'Alfresco Common webscripts' option:
xformsEnterprise-x.x.xx.amp : this module is a server module which extends the capabilities of
     Alfresco by providing a REST API to handle content type extensions that an external program may call
     through post http call of the form <your alfresco hostname>:<your alfresco hostname>:/
     alfresco/service/xforms/<service name>.
     The API provides :
auth : authenticate a user,

batch : perform a set of CRUD operations against the repository,

delete : delete a content from the repository,

enum : list items of a dynamic enumeration,

help : show an help on these webscripts,

labels : get a translation for a dynamic enumeration litteral,

list : list all objects of a given type,

mkdir : create a path in Alfresco,

nodeinfo : provides information about one or several nodes,

read : read an object of any type from the repository,

service : call functions of chosen services from the Alfresco's API,

upload : upload a file to the repository

workflow : call functions of the Alfresco API WorkflowService interface
                                                                                                      9
SIDE Alfresco extension Modules
With the 'Alfresco FacetMap Extension' option:
webscriptExtension-x.x.xx.amp : this module is a server module which extends the
  capabilities of Alfresco by providing webscripts which encapsulate the CMIS interface in
  order to call it using user authentication ticket.
CmisFacetMap-x.x.xx.amp : this module is a server module which extends the capabilities of
  Alfresco by providing webscripts which allows to authenticate and to query the CMIS
  interface.
This modules are for instance used by the Facetmap web application to display content type
   instances using facet navigation.
With the 'Alfresco Share Extension' option:
uploadEnterprise-x.x.xx.amp : this module is a server module which extends the capabilities
   of Alfresco Share by providing webscripts which allows to set the content type of a file
   before uploading it.
language-picker-x.x.xx.amp : this module is a dashlet to select language.
document-library-sort-x.x.xx.amp : this module is an extension to the document library to
   manage sorting of the lists based on metadata
group-management-x.x.xx.amp : this module is an extension to allow a site manager to
   create user groups limited to the current site; he can then add users to invite them to join
   the sites through the group or declare a dynamic expression to invite all the users who
   checks the expression based on user's metadata.                                          10
SIDE Alfresco extension Modules


With the 'Alfresco Random Data Generator' option:
dataGeneratorEnterprise-x.x.xx.amp : this module is a server module which
   provides a webscript to load test data in the Alfresco repository according to the
   data models. In order to load the test data, call the webscript http://
   <your_host>:<your_port>/alfresco/service/data/form/fillparameters and fill the
   parameters.


With the 'Alfresco Report Webscripts' option:
This option will allow to extend the generated
   'module.SIDE_ModelExtension_myContentType_Model.amp' Alfresco
   Configuration Extension with a set of webscripts to audit the generated content
   types in Alfresco regarding the number of associated documents for instance.




                                                                                        11
SIDE Alfresco extension Modules


With the 'Alfresco SQL' option:
sqlEnterprise-x.x.xx.amp : this module is a server module which extends the
   capabilities of Alfresco by providing the synchronization of alfresco referential data
   in a relational database. This mechanism uses a transactional pol and allow to
   have all the content metadata requestable through SQL in a this replicated
   relational database.


With the 'Content Uniqueness' option:
unicityEnterprise-x.x.xx.amp : this module is a server module which extends the
  capabilities of Alfresco by providing unicity control based on metadata attributes
  for a content type. By default, Alfresco does not support unicity: this module gets
  the unicity information from the alfresco module and control defined unicity rule
  each time a new content is added.



                                                                                      12
SIDE Alfresco extension Modules
With the 'Java Webservice Business API' option:
eclipseProject.SIDE_ModelExtension_myContentType_Model.WebServicesAPI.
   zip : this module is an Eclipse Java project which provides a web service API to
   manage (create, delete, update, search, add aspect, …) content types defined in
   model.
   Client application of Alfresco may use this business API without having to deal
   with the generic Alfresco web service API.
   This module comes with a Junit-based test framework of all the business methods.

With the 'Java Business API' option:
eclipseProject.SIDE_ModelExtension_myContentType_Model.API.zip : this
   module is an Eclipse Java project which provides a business API to manage
   (create, delete, update, search, add aspect, …) content types defined in model.
   This API is based on the Java direct API of Alfresco and is dedicated to alfresco
   extensions which runs in the same application server container than alfresco:
   Typically, this API may be used to defined actions in workflow as workflow runs in
   the context of the alfresco server.
   This module comes with a Junit-based test framework of all the business methods.

                                                                                 13
Design once with SIDE then deploy on
        Alfresco 3.2, 3.3 or 3.4

           Regis Baudu
       rbaudu@bluexml.com
         +33 (2) 40466278

                            www.bluexml.com
         SIDE – Outils de configuration pour   www.side-labs.com
         Alfresco                                            14

Blue xml alfresco_webinar_20110214final

  • 1.
    Design once withSIDE then deploy on Alfresco 3.2, 3.3 or 3.4 Migrate from Alfresco 2.x to Alfresco 3.x with SIDE www.bluexml.com SIDE – Outils de configuration pour www.side-labs.com Alfresco 1
  • 2.
    SIDE For Alfresco 1) MDA Approach Modelling →Generation →Deployment on multi fwks 2)  MDA Gains vs classic approach 3)  Demo of Reverse mechanisms from Alfresco artefacts Alfresco 2.x or 3.x Models → SIDE Models → Update → Generation on Alfresco 3.y 4)  Demo of MDA Process for Alfresco 2
  • 3.
    Sustainability Driven Architecture   MDA Approach   Production of Models   Separation between Functional Apps & Implementation [Hype Cycle for Emerging Technologies, Gartner 2006]   Benefits   Durability of Models   Balance between Design & Development   Responsiveness to new Frameworks and to their new releases 3
  • 4.
    MDA/MDE – SIDEApproach   Approach orientated   Crossed Function   Specialized Web Frameworks – Chiba/Forms, jBPM/Workflows   Development of Specific Meta Models   6 crossed Functions adressed   Requirements, Data, Forms, Views, Portals, Workflows   Benefits SIDE : the sustainability   Better Interaction of Transverse Functions   Optimization of Development Processes   Support & Integration on Alfresco 4
  • 5.
    Work Measure ofClassic/SIDE Approach Applications Integration Deployment Config Config & Code & Code Development Generation Spec. Model Work Measure Classic Approach SIDE MDA Approach customer's requirements 5
  • 6.
    Evolution Work Measure:Classic Application Application Fwk 1.1, ..., 1.n Fwk 2.1, ..., 2.n Integration Config Config & Code & Code Development Spec. Work Measure Classic Approach 6
  • 7.
    Evolution Work Measure:SIDE Application Application Fwk 1.1, ..., 1.n Fwk 2.1, ..., 2.n Deployment Config Config & Code & Code Generation Model Work Measure SIDE MDA Approach 7
  • 8.
    SIDE Alfresco extensionModules Under 'Generation path'/alfresco_3.x, you get the following amp files: Without checking any option: - customAssociationManagementEnterprise-x.x.xx.amp : this module is a server module which extends the capabilities of Alfresco by the support of associations navigation in both ways and the cascading delete for composite associations. - modelEnterprise-x.x.xx .amp: this module is an Alfresco Configuration Extension which allows to define a default content type 'bxcontent' : all the content type extension related to Alfresco content are based on this content type. In particular, this allows to apply policies or rules limited to the content modeled through SIDE. - module.SIDE_ModelExtension_myContentType_Model.amp: this module is an Alfresco Configuration Extension which contains the content type extension related to the 'myContentType' data model. 8
  • 9.
    SIDE Alfresco extensionModules With the 'Alfresco Common webscripts' option: xformsEnterprise-x.x.xx.amp : this module is a server module which extends the capabilities of Alfresco by providing a REST API to handle content type extensions that an external program may call through post http call of the form <your alfresco hostname>:<your alfresco hostname>:/ alfresco/service/xforms/<service name>. The API provides : auth : authenticate a user, batch : perform a set of CRUD operations against the repository, delete : delete a content from the repository, enum : list items of a dynamic enumeration, help : show an help on these webscripts, labels : get a translation for a dynamic enumeration litteral, list : list all objects of a given type, mkdir : create a path in Alfresco, nodeinfo : provides information about one or several nodes, read : read an object of any type from the repository, service : call functions of chosen services from the Alfresco's API, upload : upload a file to the repository workflow : call functions of the Alfresco API WorkflowService interface 9
  • 10.
    SIDE Alfresco extensionModules With the 'Alfresco FacetMap Extension' option: webscriptExtension-x.x.xx.amp : this module is a server module which extends the capabilities of Alfresco by providing webscripts which encapsulate the CMIS interface in order to call it using user authentication ticket. CmisFacetMap-x.x.xx.amp : this module is a server module which extends the capabilities of Alfresco by providing webscripts which allows to authenticate and to query the CMIS interface. This modules are for instance used by the Facetmap web application to display content type instances using facet navigation. With the 'Alfresco Share Extension' option: uploadEnterprise-x.x.xx.amp : this module is a server module which extends the capabilities of Alfresco Share by providing webscripts which allows to set the content type of a file before uploading it. language-picker-x.x.xx.amp : this module is a dashlet to select language. document-library-sort-x.x.xx.amp : this module is an extension to the document library to manage sorting of the lists based on metadata group-management-x.x.xx.amp : this module is an extension to allow a site manager to create user groups limited to the current site; he can then add users to invite them to join the sites through the group or declare a dynamic expression to invite all the users who checks the expression based on user's metadata. 10
  • 11.
    SIDE Alfresco extensionModules With the 'Alfresco Random Data Generator' option: dataGeneratorEnterprise-x.x.xx.amp : this module is a server module which provides a webscript to load test data in the Alfresco repository according to the data models. In order to load the test data, call the webscript http:// <your_host>:<your_port>/alfresco/service/data/form/fillparameters and fill the parameters. With the 'Alfresco Report Webscripts' option: This option will allow to extend the generated 'module.SIDE_ModelExtension_myContentType_Model.amp' Alfresco Configuration Extension with a set of webscripts to audit the generated content types in Alfresco regarding the number of associated documents for instance. 11
  • 12.
    SIDE Alfresco extensionModules With the 'Alfresco SQL' option: sqlEnterprise-x.x.xx.amp : this module is a server module which extends the capabilities of Alfresco by providing the synchronization of alfresco referential data in a relational database. This mechanism uses a transactional pol and allow to have all the content metadata requestable through SQL in a this replicated relational database. With the 'Content Uniqueness' option: unicityEnterprise-x.x.xx.amp : this module is a server module which extends the capabilities of Alfresco by providing unicity control based on metadata attributes for a content type. By default, Alfresco does not support unicity: this module gets the unicity information from the alfresco module and control defined unicity rule each time a new content is added. 12
  • 13.
    SIDE Alfresco extensionModules With the 'Java Webservice Business API' option: eclipseProject.SIDE_ModelExtension_myContentType_Model.WebServicesAPI. zip : this module is an Eclipse Java project which provides a web service API to manage (create, delete, update, search, add aspect, …) content types defined in model. Client application of Alfresco may use this business API without having to deal with the generic Alfresco web service API. This module comes with a Junit-based test framework of all the business methods. With the 'Java Business API' option: eclipseProject.SIDE_ModelExtension_myContentType_Model.API.zip : this module is an Eclipse Java project which provides a business API to manage (create, delete, update, search, add aspect, …) content types defined in model. This API is based on the Java direct API of Alfresco and is dedicated to alfresco extensions which runs in the same application server container than alfresco: Typically, this API may be used to defined actions in workflow as workflow runs in the context of the alfresco server. This module comes with a Junit-based test framework of all the business methods. 13
  • 14.
    Design once withSIDE then deploy on Alfresco 3.2, 3.3 or 3.4 Regis Baudu rbaudu@bluexml.com +33 (2) 40466278 www.bluexml.com SIDE – Outils de configuration pour www.side-labs.com Alfresco 14