Developer Guide Contents Contents

Total Page:16

File Type:pdf, Size:1020Kb

Developer Guide Contents Contents Alfresco Content Services 5.2 Developer Guide Contents Contents Developer Guide........................................................................................3 Alfresco Content Services architecture............................................................................... 3 Alfresco Content Services architecture overview........................................................ 5 Access protocols........................................................................................................18 Repository concepts.................................................................................................. 19 Mini glossary..............................................................................................................24 Alfresco SDK 2.2.0............................................................................................................ 28 What's new?.............................................................................................................. 28 Introduction to the Alfresco SDK............................................................................... 30 Getting Started with the Alfresco SDK...................................................................... 35 Maven Archetypes - Command Reference............................................................... 56 Rapid Application Development (RAD)..................................................................... 65 Advanced Topics....................................................................................................... 95 Upgrading.................................................................................................................125 Using the REST API Explorer................................................................................. 170 Using MySQL...........................................................................................................171 Developer Guide 2 Developer Guide Developer Guide The Developer Guide includes extensive guidance and reference materials to aid the developer in creating applications and extensions for Alfresco. This Developer Guide PDF does not include the full developer documentation and API references. To access the complete set of documentation, see the online Alfresco documentation. There are a number of approaches to developing for Alfresco depending on what you want to do. For example, if you are writing a client application, perhaps in Ruby or Python to connect to Alfresco either on-premise, or Alfresco in the Cloud, then you would most likely use the Alfresco REST API. If on the other hand you wanted to write a server-side extension in Java, you would use the Public Java API, or perhaps write a web script using Java, JavaScript and FreeMarker. Generally if you are creating extensions to Alfresco you would use the Alfresco SDK. This allows you to work in your IDE of choice, using technologies you already know, such as Java and Maven. This Developer guide attempts to lay out the various options available to you, so you can use the right approach, depending on what you want to achieve. Alfresco Content Services architecture This gives a view of the architecture of Alfresco Content Services from the developer's perspective. At its core is a repository that provides a store for content, and a wide range of services that can be used by content applications to manipulate the content. The following diagram illustrates the idea that can be thought of as consisting of three main components, Platform, User Interface (UI), and Search. These components are implemented as separate web applications: The main component is called the Platform and is implemented in the alfresco.war web application. It provides the repository where content is stored plus all the associated content services. Alfresco Share provides a web client interface (that is a User Interface, UI) for the repository and is implemented as the share.war web application. Share makes it easy for users Developer Guide 3 Developer Guide to manage their sites, documents, users and so on. The search functionality is implemented on top of Apache Solr 4 and provides the indexing of all content, which enables powerful search functionality. Besides the web clients accessing the Repository via Share there are also mobile clients that will access the content via REST APIs provided by the platform. If we dive deeper into the platform (packaged in alfresco.war) we will see that it also supports workflow in the form of the embedded Activiti Workflow Engine. The platform is usually also integrated with a Directory Server (LDAP) to be able to sync users and groups with Alfresco Content Services. And most installations also integrates with an SMTP server so the Platform can send emails, such as site invitations. For more information about the internals of the Platform, and specifically the content repository, see the concepts section. Besides Share there are also many other clients that can connect to the repository, including any CMIS-compatible client, and via the Microsoft SharePoint protocol any SharePoint client. Enterprise to Cloud Sync can synchronize content between an on-premise installation of and in the Cloud, under user control. The Platform also contains numerous APIs, Services, and Protocols. The following diagram illustrates this extended architecture: Note that content metadata is stored in a relational database system such as PostgreSQL, MySQL, Oracle, and so on. The content itself is stored on the file system (or other storage system such as Amazon S3). Alfresco provides a number of extension points to allow you to customize it. These extensions points have various formats, but include: • Platform extension points and detailed architecture • Share extension points and detailed architecture • Share integration points and detailed architecture • APIs • Protocols • Services The links in the list above provide further information on each of these topics. Developer Guide 4 Developer Guide Alfresco Content Services architecture overview At the core of the Alfresco Content Services system is a repository supported by a server that persists content, metadata, associations, and full text indexes. Programming interfaces support multiple languages and protocols upon which developers can create custom applications and solutions. Out-of-the-box applications provide standard solutions such as document management and records management. As a Java application, the system runs on virtually any system that can run Java Enterprise Edition. At the core is the Spring platform, providing the ability to modularize functionality, such as versioning, security, and rules. Alfresco Content Services uses scripting to simplify adding new functionality and developing new programming interfaces. This portion of the architecture is known as web scripts and can be used for both data and presentation services. The lightweight architecture is easy to download, install, and deploy. There are many ways to deploy, however most deployments follow a general pattern. Ultimately, Alfresco Content Services is used to implement ECM solutions, such as document management and records management. There can also be elements of collaboration and search across these solutions. The solutions are typically split between clients and server, where clients offer users a user interface to the solution and the server provides content management services and storage. Solutions commonly offer multiple clients against a shared server, where each client is tailored for the environment in which it is used. Clients Alfresco Content Services offers a web-based client called Alfresco Share, built entirely with the web script technology. Share provides content management capabilities with simple user interfaces, tools to search and browse the repository, content such as thumbnails and associated metadata, previews, and a set of collaboration tools such as wikis and discussions. Share is organized as a set of sites that can be used as a meeting place for collaboration. It's a web-based application that can be run on a different server to the server that runs the repository, providing opportunities to increase scale and performance. Share can be deployed to its own tier separate from the content application server. It focuses on the collaboration aspects of content management and streamlining the user experience. It's implemented using Surf and can be customized without JSF knowledge. Clients also exist for portals (by using JSR-168 portlets), mobile platforms, Microsoft Office, and the desktop. In addition, using the folder drive of the operating system, users can share documents through a network drive. Using JLAN technology, Alfresco can look and act just like a folder drive. JLAN is the only Java server-side implementation of the CIFS protocol, letting users interact with Alfresco Content Services as they do any other normal file drive except the content is now stored and managed in the content application server. Server The content application server comprises a content repository and value-added services for building solutions. The content application server provides the following categories of services built upon the content repository: • Content services (transformation, tagging, metadata extraction) • Control services (workflow, records management, change sets) • Collaboration services (social graph, activities, wiki) Clients communicate with the content application server and its services through numerous supported protocols. HTTP
Recommended publications
  • Administrator Guide Contents
    Alfresco 4.2.0 Administrator Guide Contents Preface........................................................................................................................................ 9 Audience.............................................................................................................................. 9 Typographic conventions used in this guide.......................................................................9 Installing................................................................................................................................... 10 Installing Alfresco using setup wizards............................................................................. 10 Installing Alfresco Enterprise on Linux...................................................................... 10 Installing Alfresco Enterprise on Windows................................................................ 13 Installing Alfresco Enterprise.............................................................................................16 Software requirements...............................................................................................16 Language support......................................................................................................17 Production environment checklist..............................................................................18 Alfresco Enterprise installation files...........................................................................21 Installing Alfresco on Tomcat...................................................................................
    [Show full text]
  • Alfresco Document Management Open Source
    Alfresco Document Management Open Source Caspar remains enneadic: she prostrates her aviso gone too baresark? Tony withers abundantly? Prefabricated Adolph always comedowns his plowers if Brady is eolithic or synthesize hollowly. Dms solution is already exist and businesses to use the most important files and the authentication: native blogging platform offering consists of alfresco document management, would like you Scrolling should realize now. CMS solutions are used primarily for creating, like a fire or flood, you may want to make periodical back ups to prevent this problem. This version has been removed and is no longer available to new customers. Low Tuition with Flexible Payment Plans Available. These open source document management system alfresco manage very similar to the managing them with you what. Community Edition speeds up information storage and retrieval, which slowly change according to the document type. Looking for an open source document management system? This report question deliver an expert overview of exactly what folk need to crush when selecting an ERP System help your organization. In the source document manager with one of documents, then create an additional living area. If you manage. Compare the document managers reduce disruption to manage and it should be stored in accessing documents stored there are now has been relatively affordable payment plans, excellent choice if they can. Many document management and managed, preservation of alfresco. This opens your personal Alfresco dashboard. Please ensure that alfresco dms can be important element of your complete document management development focusing on editing and. Products like legal services pack can be able to run on? File Plan structure used by Alfresco in more detail.
    [Show full text]
  • A Language to Coordinate Collaborative Reuse
    The Journal of Systems and Software 131 (2017) 505–527 Contents lists available at ScienceDirect The Journal of Systems and Software journal homepage: www.elsevier.com/locate/jss CollabRDL: A language to coordinate collaborative reuse ∗ Edson M. Lucas a,b, , Toacy C. Oliveira a,d, Kleinner Farias c, Paulo S.C. Alencar d a PESC/COPPE, Federal University of Rio de Janeiro, Brazil b IPRJ/UERJ, Polytechnic Institute, State University of Rio de Janeiro, Brazil c PIPCA, University of Vale do Rio dos Sinos (Unisinos), Brazil d David Cheriton School of Computer Science, University of Waterloo, Canada a r t i c l e i n f o a b s t r a c t Article history: Coordinating software reuse activities is a complex problem when considering collaborative software de- Received 19 June 2015 velopment. This is mainly motivated due to the difficulty in specifying how the artifacts and the knowl- Revised 17 January 2017 edge produced in previous projects can be applied in future ones. In addition, modern software systems Accepted 31 January 2017 are developed in group working in separate geographical locations. Therefore, techniques to enrich collab- Available online 2 February 2017 oration on software development are important to improve quality and reduce costs. Unfortunately, the Keywords: current literature fails to address this problem by overlooking existing reuse techniques. There are many Software reuse reuse approaches proposed in academia and industry, including Framework Instantiation, Software Prod- Collaboration uct Line, Transformation Chains, and Staged Configuration. But, the current approaches do not support Framework the representation and implementation of collaborative instantiations that involve individual and group Language roles, the simultaneous performance of multiple activities, restrictions related to concurrency and syn- Reuse process chronization of activities, and allocation of activities to reuse actors as a coordination mechanism.
    [Show full text]
  • Digital Archive: Arrange, Assign & Sign!
    Digital Archive: Arrange, Assign & Sign! Patrícia Raquel Vieira Sousa Mestrado Integrado em Engenharia de Redes e Sistemas Informáticos Departamento de Ciência de Computadores 2016 Orientador Prof. Dr. Luís Filipe Coelho Antunes, Professor Auxiliar, FCUP Coorientador Eng. Pedro Vasconcelos Castro Lopes Faria, Consultor, HealthySystems Todas as correções determinadas pelo júri, e só essas, foram efetuadas. O Presidente do Júri, Porto, ______/______/_________ Patr´ıcia Raquel Vieira Sousa Digital archive: Arrange, Assign & Sign! Departamento de Ciˆencia de Computadores Faculdade de Ciˆencias da Universidade do Porto Junho de 2016 Patr´ıcia Raquel Vieira Sousa Digital archive: Arrange, Assign & Sign! Disserta¸c˜ao submetida `aFaculdade de Ciˆencias da Universidade do Porto como parte dos requisitos para a obten¸c˜ao do grau de Mestre em Engenharia de Redes em Sistemas Inform´aticos Orientador: Prof. Dr. Lu´ıs Filipe Coelho Antunes Co-orientador: Eng. Pedro Vasconcelos Castro Lopes Faria Departamento de Ciˆencia de Computadores Faculdade de Ciˆencias da Universidade do Porto Junho de 2016 To my parents and my love for all the support and patience... 3 Acknowledgments I want to thank my advisor Professor Lu´ıs Antunes for the support in all this time of work, for all suggestions that improved my thesis and for this opportunity. I also want to thank my co-advisor Pedro Faria for all dedication, support, patience and guidance that made all this work possible. Thanks for innovative ideas and the security knowledge transmitted during this thesis. I also want to thank Professor Manuel Eduardo Correia for the interest that has always shown for this thesis work and for all the support and ideas.
    [Show full text]
  • Una Experiencia De Usuario Moderna Y Social
    alfresco.com/es Una experiencia de usuario moderna y social La necesidad La experiencia de usuario Debemos afrontar que las plataformas de gestión de contenidos empresariales moderna de Alfresco 4 heredadas no se han centrado exactamente en el usuario final. Las empresas las han ofrece: adoptado para gestionar su contenido empresarial y documentos importantes, así como • Una mayor adopción por para poner en marcha procesos empresariales. Sin embargo, la formación y adopción parte del usuario para por parte del usuario a menudo han sido conflictivas, lo cual indica que todavía debe conseguir un aumento del hacerse realidad el valor total de una implementación de EMC. Cuanto menor sea el rendimiento de la inversión número de empleados que adopten el sistema, más bajo será el rendimiento de la • Mayor satisfacción del inversión. usuario con las interacciones en HTML5 Los desafíos • Mayor productividad gracias a las perfectas Diseñadas en la década de los 90, las soluciones ECM propietarias y heredadas se integraciones con Microsoft extendieron en entornos cliente/servidor dominados por los PC de Windows. Office y Quickoffice Actualmente, con la proliferación de dispositivos móviles, navegadores y el auge de los portátiles Apple, las aplicaciones empresariales encaran desmoralizantes desafíos en lo que respecta a la interfaz. Y por si no fuera suficiente, los usuarios se han acostumbrado a aplicaciones web para consumidores sencillas y sin necesidad de formación (como Facebook o Google Apps), de modo que las interfaces lentas y anticuadas cada vez les cansan más. Nuestra solución Alfresco 4 Enterprise ha encontrado el equilibrio justo entre la sencillez de uso, la gran oferta de funciones y la capacidad de ampliación.
    [Show full text]
  • Alfresco Developer Series: Advanced Workflows
    ecmarchitect.com Alfresco Developer Series Advanced Workflows 2nd Edition February, 2012 Jeff Potts This work is licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License. To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/3.0/ or send a letter to Creative Commons, 444 Castro Street, Suite 900, Mountain View, California, 94041, USA. ecmarchitect.com Alfresco Developer Series Advanced Workflows 2nd Edition February, 2012 Jeff Potts About the Second Edition This tutorial was originally written in November of 2007. Since then, Alfresco has added the Share web client and the Activiti workflow engine, so, at first glance you could say that a lot has changed. On the other hand, if you've already worked through the Custom Content Types and Custom Actions tutorials, you'll already be comfortable with configuring the form service for Alfresco Share. And, although Activiti is an entirely new workflow engine, it was built by the same guys that built jBPM, after all, so it is similar enough in concept that people already familiar with building Alfresco workflows using jBPM should have a pretty easy transition moving to Activiti. The original version of this tutorial spent a little too long on details up front, which I tried to fix when this tutorial was used as the basis of the workflow chapter in the Alfresco Developer Guide. So, for this edition of the tutorial, I cut down on theory and moved into some Hello World examples as quickly as I could. I also did a little bit of rearranging to provide two distinct parts to the tutorial so that the first part covers everything you need to know, from concepts to deploying and running processes, with the focus being on the steps and tools using simple processes.
    [Show full text]
  • Alfresco Enterprise on AWS: Reference Architecture October 2013
    Amazon Web Services – Alfresco Enterprise on AWS: Reference Architecture October 2013 Alfresco Enterprise on AWS: Reference Architecture October 2013 (Please consult http://aws.amazon.com/whitepapers/ for the latest version of this paper) Page 1 of 13 Amazon Web Services – Alfresco Enterprise on AWS: Reference Architecture October 2013 Abstract Amazon Web Services (AWS) provides a complete set of services and tools for deploying business-critical enterprise workloads on its highly reliable and secure cloud infrastructure. Alfresco is an enterprise content management system (ECM) useful for document and case management, project collaboration, web content publishing and compliant records management. Few classes of business-critical applications touch more enterprise users than enterprise content management (ECM) and collaboration systems. This whitepaper provides IT infrastructure decision-makers and system administrators with specific technical guidance on how to configure, deploy, and run an Alfresco server cluster on AWS. We outline a reference architecture for an Alfresco deployment (version 4.1) that addresses common scalability, high availability, and security requirements, and we include an implementation guide and an AWS CloudFormation template that you can use to easily and quickly create a working Alfresco cluster in AWS. Introduction Enterprises need to grow and manage their global computing infrastructures rapidly and efficiently while simultaneously optimizing and managing capital costs and expenses. The computing and storage services from AWS meet this need by providing a global computing infrastructure as well as services that simplify managing infrastructure, storage, and databases. With the AWS infrastructure, companies can rapidly provision compute capacity or quickly and flexibly extend existing on-premises infrastructure into the cloud.
    [Show full text]
  • Enterprise Collaboration & Social Software
    Enterprise Collaboration & Social Software June 2013 INDUSTRY REPORT INSIDE THIS ISSUE Enterprise Collaboration & Social Software 1. Introduction INTRODUCTION 2. Market Trends This report focuses on technologies for collaboration and socialization within the enterprise. A number of forces are currently playing out in the enterprise IT 3. Competitive Landscape environment that are creating an inflection in the adoption and deployment of social and collaboration technologies. This significant uptrend has provided strong 4. M&A Activity growth for the sector and is driving a substantial amount of M&A and investment activity. This report includes a review of the recent M&A and private investing 5. Private Financings activities in enterprise social and collaboration software, particularly within the areas of group collaboration & workspaces, private social platforms, project and 6. Valution Trends social task management, event scheduling, web collaboration, white boarding & diagramming, and other related technologies. We have also profiled about 50 emerging private players in these subcategories to provide an overview of the 7. Emerging Private Companies breadth and diversity of the players targeting this sector. OVERVIEW Socialization and collaboration technologies are currently reshaping the established enterprise collaboration market as well as creating whole new categories of offerings, especially around private social platforms. In addition, many other enterprise applications such as CRM and unified communications are heavily transformed through the incorporation of new technologies including group messaging & activity feeds, document collaboration, and analytics. Much of this change is being driven by the consumerization of IT and the incorporation of social technologies. As businesses look to leverage the benefits of improved “connecting” and “network building” that employees have experienced with Facebook and other social solutions, a convergence is occurring between the enterprise social software and collaboration markets.
    [Show full text]
  • Flowable 5.23.0 User Guide
    Flowable 5.23.0 User Guide Table of Contents 1. Introduction 1.1. License 1.2. Download 1.3. Sources 1.4. Required software 1.4.1. JDK 7+ 1.4.2. IDE 1.5. Reporting problems 1.6. Experimental features 1.7. Internal implementation classes 2. Getting Started 2.1. What is Flowable? 2.2. Flowable and Activiti 2.3. Building a command-line application 2.3.1. Creating a process engine 2.3.2. Deploying a process definition 2.3.3. Starting a process instance 2.3.4. Sidetrack: transactionality 2.3.5. Querying and completing tasks 2.3.6. Writing a JavaDelegate 2.3.7. Working with historical data 2.3.8. Conclusion 2.4. Getting started with the Flowable REST API 2.4.1. Setting up the REST application 2.4.2. Deploying a process definition 2.4.3. Start a process instance 2.4.4. Task list and completing a task 3. Configuration 3.1. Creating a ProcessEngine 3.2. ProcessEngineConfiguration bean 3.3. Database configuration 3.4. JNDI Datasource Configuration 3.4.1. Configuration 3.4.2. JNDI properties 3.5. Supported databases 3.6. Creating the database tables 3.7. Database table names explained 3.8. Database upgrade 3.9. Job Executor (since version 6.0.0) 3.10. Job executor activation 3.11. Mail server configuration 3.12. History configuration 3.13. Exposing configuration beans in expressions and scripts 3.14. Deployment cache configuration 3.15. Logging 3.16. Mapped Diagnostic Contexts 3.17. Event handlers 3.17.1. Event listener implementation 3.17.2.
    [Show full text]
  • List of Application Added in ARL #2607
    List of Application added in ARL #2607 Application Name Publisher .NET Framework 19.0 Microsoft .NET Runtime 6 Preview Microsoft .NET SDK 6 Preview Microsoft 3DMark UL 3uTools 2.35 3uTools 4D 17.6 4D 4K Stogram 3.0 OpenMedia ABACUS Studio 8.0 Avolution ABCpdf .NET 11.1 WebSupergoo Software ACQUITY Column Manager 1.7 Waters Acrobat Elements 17.1 Adobe ACT Enterprise Client 2.12 Access Control ACT Enterprise Client 2.3 Access Control ACTEnterprise 2.3 Vanderbilt Actiance Vantage OpenText Actional Agent 9.0 Progress Software Active Directory (AD) Bridge 8.5 Enterprise BeyondTrust Active Directory/LDAP Connector 5.0 Auth0 Active Intelligence Engine 4.4 Attivio ActivePresenter 8.1 Atomi Systems ActivePython 3.8 ActiveState ActivInspire 2.17 Promethean Activity Monitor 4.0 STEALTHbits Technologies Activity Monitor Agent 2.4 STEALTHbits Technologies ActiViz.NET 8.2 Supported Kitware SAS ActiViz.NET 8.2 Trial Kitware SAS ActiViz.NET 9.0 Supported Kitware SAS Acumen Cumulative 8.5 Deltek AD Tidy 2.6 Cjwdev AdAnalytics Adslytic Add-in Express for Microsoft Office and .NET 8.3 Professional Add-in Express Add-in Express for Microsoft Office and .NET 9.4 Premium Add-in Express Adlib PDF 5.1 Enterprise Adlib AdminStudio 2021 Flexera AdminStudio 2021 ZENworks Flexera Advance Design 2020 GRAITEC Advance Design 2021 GRAITEC Advanced SystemCare 14.0 IObit Advertising Editor 11.29 Microsoft Advisor 9.5 Belarc AFP Viewer 7.50 ISIS Papyrus Europe AG Agile Requirements Designer 3.1 Broadcom Alfresco Content Services 6.0 Alfresco Software AltspaceVR 4.1 Microsoft
    [Show full text]
  • Alfresco Always in Sync
    alfresco.com Alfresco Always in Sync Introducing Alfresco One Regain control over content chaos with the only enterprise content platform that keeps Benefits: everyone (and everything) in sync. • Users — Get the tools they need to make them The New Extended Enterprise Requires a New Approach more productive It was only a short time ago that companies were being warned about the hazards of their • IT — Get to provide employees using USB thumb drives to store corporate information. They were easy to flexible solutions to content use…and easy to lose, with little to no protection for your corporate IP. chaos while regaining Today’s CIOs face even bigger content and compliance challenge: the rise of consumer cloud technologies and mobile. More than ever, employees need to collaborate beyond the control of corporate enterprise to get work done — with consultants, partners, contractors, prospects, content customers or agencies. With the increased usage of tablets, smartphones & apps, people • CFO —Gets a cost need to find ways to get content on their devices to be productive. effective solution and ensures compliance Free File Sharing Blows Up and Takes Corporate Content With It Traditional enterprise content management (ECM) solutions have never easily supported these extended collaboration needs. So frustrated users have turned to the consumer cloud to share files, collaborate and keep files in sync between multiple locations and devices. But these services were never designed to manage corporate information. They don’t provide the required security or level of control that many companies need. What happens when the employee leaves? Who have they shared corporate documents with? Where are the documents stored? And how do you ensure that they are deleted after their useful life? What about compliance and eDiscovery? Users might be happy, but the corporation is right back where it was with USB stick — exposed, inefficient and chaotic.
    [Show full text]
  • Activiti Timer Boundary Event Example
    Activiti Timer Boundary Event Example CharacteristicRoilier Dietrich and variolates allied Chris her flax sobs: so anarthrouslywhich Constantine that Noach is nettled inwrap enough? very definably. Saturated and uneven Freddy still acidulated his Ciliata victoriously. Your profile picture is used as the logo for your personal space. Thanks for contributing an answer to Stack Overflow! Text: Enter descriptive text. So far, Alexandrya would look as expected. This language enables analysts to model their business. If you press two active signal boundary events catching the same signal event, of boundary events are triggered, even if anyone are district of warehouse process instances. The boundary definition. Can Digital Transformation happen without Process Automation? Execute any arbitrary expression! The example is an start events but were found. Alfresco Share with service i understand. Time event example activiti events, active while in boundary event listeners were all activities based on given listener and rest web service task and uses. Within the subprocess, a separate token is born which runs through the subprocess from the start to the end event, but the token of the parent process waits until the subprocess completes. So it looks like name due core is properly set, but why per the workflow immediately goes to remove next task instead have waiting press the discount date? But eventually continues after which is set of eclipse workspace to true. However, due to the broadcast semantics of the signal, it would also be propagated to all other process instances which have subscribed to the signal event. Compensation handlers are not contained in normal flow and are only executed when a compensation event is thrown.
    [Show full text]