What this book covers
Chapter 1, The Alfresco Platform, is for people new to the Alfresco platform. It walks you through the capabilities of Alfresco and gives some examples of the types of solutions that can be built on the platform. You'll also learn what tools and skills are required to implement Alfresco-based solutions.
Chapter 2, Getting Started with Alfresco, is about getting your development environment set up. Like preparing for a home improvement project, this is the trip to the hardware store to get the tools and supplies you'll need to get the job done. Throughout the book, you will be building and deploying changes. So just as in any software development project, it pays to get that process working up front. You'll also learn about the debugging tools that are available to you. The chapter includes a short and simple customization example to test out your setup.
Chapter 3 , Working with Content Models, starts where all Alfresco projects should begin: defining the content model. You'll learn how to define the content model as well as how to expose the model to Alfresco Share. Once you've got it in place, you'll write some Java code that utilizes the CMIS API to test out the model. This will also be your first taste of the JavaScript API. The exercises set up the initial content model for SomeCo.
Chapter 4 , Handling Content Automatically with Actions, Behaviors, Transformers, and Extractors, begins to show you the power of the repository by exposing you to some of the mechanisms or hooks that can be used to perform "hands off" operations on content. You'll learn about actions, behaviors, transformers, and metadata extractors. The exercises include implementing a rule action for SomeCo's Human Resources department to help manage HR policies, writing a custom behavior to calculate user ratings, and writing a custom metadata extractor to make Microsoft Project files indexable by SolR.
Chapter 5 , Customizing Alfresco Share, takes you through Alfresco Share customizations. First, it establishes whether or not you should be customizing the user interface at all. Once that's out of the way, you learn how to add new menu or action items, how to create your own custom metadata template, how to develop new pages and dashlets, and how to define new dialogs to gather information from a user.
Chapter 6, Creating an Angular Application, shows you how to use the new Alfresco Development Framework (ADF) released in 2016. First, you start by discovering the new JavaScript library that you could include in any of your web applications. Then, you discover the new user interface implemented in AngularJS, and test all available current components. At the time of writing, this framework is only an early release and is not suitable for production. However, we are convinced that this framework will become an important component for any Alfresco developer.
Chapter 7 , Exposing Content through a RESTful API with Web Scripts, focuses on the web script framework. Web scripts are an important part of the platform because they allow you to expose the repository through a RESTful API. The exercises in this chapter are about creating a set of URLs that can be called from the frontend web site to retrieve and persist user ratings of objects in the repository.
Chapter 8 , Advanced Workflows, is about the embedded Activiti workflow engine, how it works and how to define your own workflows, including how to implement your own business logic. The chapter includes a comparison between the capabilities of Alfresco's simple workflow and advanced workflow so that you can decide which one is appropriate for your needs. By the end of the chapter, you will have built a workflow that SomeCo will use to review and approve Whitepapers for external publication.
Chapter 9 , Amazing Extensions, shows you one of the most amazing extensions including the use of facets configured with the search manager. Then, you discover what are smart folders and how to use them. After, you create your own template for SomeCo Whitepapers. Finally, you even create your own mobile application connected to your Alfresco instance.
Chapter 10 , Security, covers a variety of security-related topics. You'll learn how to define your own custom roles, and how to create users and groups with the API. Although not strictly developer-centric, you'll also learn how to configure Alfresco to authenticate and synchronize with an LDAP directory and how to implement Single Sign-On (SSO) between Alfresco and other web resources.