Alfresco Community Changelog

What's new in Alfresco Community 6.0

Jul 11, 2018
  • Content Repository:
  • Code Organization and Package Names
  • The repository source code has been migrated from Subversion to Git. We are releasing from our new code structures, including public GitHub repositories.
  • As part of this process:
  • The code base was split into smaller projects that produce intermediate artifacts with their own versioning.
  • The naming of the artifacts changed. The top-level artifacts include "community" to clarify that they are open source (the proprietary artifacts include "content-services" in their names).
  • The Early Access artifacts are built from a separate POM that includes an EA in the names.
  • Dockerized deployment:
  • These releases come with a set of docker images instead of a GUI installer. These docker images produce a deployment that is more closely aligned with production best practices than the previous installers were capable of creating. If you are interested in how the scripts function, you can find the project that builds the docker images here.
  • To configure Alfresco Community Edition, it is recommended to add -Dkey=value properties to the JAVA_OPTS environment variable in the docker-compose.yml file. In this EA release, all the data is still stored inside the docker containers. This is sufficient for test and development purposes. For production like environments however, it is recommended to mount locations on the host machine into the containers so that all the data (content store, DB and SOLR indexes) gets stored on the host.
  • Anonymous Usage Metrics via Heartbeat:
  • Instances of Alfresco Content Services sends a "heartbeat" status report that Alfresco Software uses to make decisions about those products. We have been improving the heartbeat to report more detailed information so that we can evolve the product in ways that provide the most value to our customers. As part of this process, we are including the new heartbeat in Alfresco Community Edition so that we can better understand how our open source users interact with the product. This will allow us to include the needs of our open source community in our decision making, and better measure the value of our investment in our open source products. The new heartbeat service replaces the previous "Tracking Pixel" method of Community Edition Usage Tracking.
  • Alfresco Community Edition is sending anonymous usage metrics to Alfresco through the heartbeat service. These metrics are sent every 24 hours and include: version information, numbers of users and groups, numbers of models, aspects and types, whether smart folders are enabled or not as well as the JVM total, max and free memory size. On the receiving side, we detect the country where the data is sent from, but we do not store the IP address of reports coming from our open source products.
  • Alfresco is using this data to better target new features and their prioritization to actual usage patterns. We also track the adoption of new versions and features in our install base. To see exactly what is being sent, feel free to look at the log output generated by
  • log4j.logger.org.alfresco.heartbeat.datasender.internal.HBDataConsumer=DEBUG
  • If you wish to deactivate this data transmission, then you just need to add
  • heartbeat.enabled=false
  • to your configuration, either as value in alfresco-global.properties or as part of the JAVA_OPTS environment variable in the docker-compose file.
  • Over the long term, we plan to make this information available to the administrators of Alfresco Community Edition so that they can better understand the usage of their repositories.
  • Replacement of OpenOffice by JodConverter transformers:
  • The OpenOffice transformers have been replaced by JodConverter transformers to provide better reliability. Prior to this release JodConverter had only been available to Enterprise customers, but in both cases they had been using the same LibreOffice process to produce the transformations. The JodConverter automatically restarts LibreOffice processes if they crash and after a fixed number of transformations (mitigating potential memory leaks).
  • To minimize disruption when upgrading, alfresco global properties that configured OpenOffice transformers (properties starting with "content.transformer." and then include "OpenOffice" as part of their name) will also apply to the equivalent JodConverter transformer unless an equivalent property has been defined for JodConverter. The system will also attempt to interpret ooo.enabled, ooo.port and ooo.exe properties so that the JodConverter will start if OpenOffice was previously started. It will only be able to do this for the ooo.exe property if a path including LibreOffice's install directory was provided, as the JodConverter has a jodconverter.officeHome rather than a jodconverter.exe property. If the ooo.exe property value was simply soffice (the process was found on the PATH), the jodconverter.officeHome property must be set.
  • Library Upgrades:
  • The Jackson Library was upgraded. JSON passing entities in webscript extensions and customizations to the REST API framework will need to be rewritten to use Jackson 2 instead of Jackson 1. This usually only requires rewriting the package names and classes.
  • Tika parser, PDFBox and Apache POI libraries have all been updated to the latest versions as part of an effort to keep alfresco up to date on these libraries. Because of this update, some other libraries were required to be updated (see REPO-1066 for details)
  • Quartz library was updated to 2.3.0. As the APIs has changed the trigger and jobs are described in a different way: now the job detail is injected inside the trigger and the trigger is passed to scheduler. Previously the scheduler could be injected in the trigger directly. Java APIs of trigger and job configuration have changed as well.
  • Spring was updated to version 5.0.4.
  • There are some changes that need to be done for the context files to be valid:
  • will need to have an updated xsd declaration
  • the local reference to beans (like idref local) is now an error
  • singleton declaration should be now done via scope. The default scope is singleton
  • Hibernate was completely removed from the product. The dialect detection is now part of alfresco-repository project.
  • JaxB was updated to 2.3.0
  • Guava was updated to 24.0-jre
  • Removed xstream library from the product
  • Updated commons-validator to 1.6 and commons-digester to 1.8.1
  • Bouncycastle libraries have been updated to 1.59
  • Apache Commons FileUpload updated to 1.3.3 and fixed CVE-2016-1000031
  • Excluded unnecessarily c3p0 library
  • Removed JSR-168 Portlets API
  • Vaadin library upgraded to 6.8.18
  • Guava was updated to 24.0-jre
  • Rhino upgraded to official release version of 1.7.9
  • Removed c3p0 library
  • Upgraded xercesImpl library to 2.11.0 and applied Alfresco patch
  • Removed myfaces-api, myfaces-impl & jsp-api
  • Upgraded javax.mail to 1.6.1
  • Jetty (server, security, webapp) upgraded to 8.2.0.v20160908
  • JLan library upgraded to 7.1
  • Improved REST APIs:
  • New Endpoints (since ACS 5.2.1 and Alfresco Community Edition 201707) include:
  • Audit:
  • GET /audit-applications: List audit applications
  • GET /audit-applications/{auditApplicationId}: Get audit application info
  • PUT /audit-applications/{auditApplicationId}: Update audit application info
  • GET /audit-applications/{auditApplicationId}/audit-entries: List audit entries for an audit application
  • DELETE /audit-applications/{auditApplicationId}/audit-entries: Permanently delete audit entries for an audit application
  • GET /audit-applications/{auditApplicationId}/audit-entries/{auditEntryId}: Get audit entry
  • DELETE /audit-applications/{auditApplicationId}/audit-entries/{auditEntryId}: Permanently delete an audit entry
  • GET /nodes/{nodeId}/audit-entries: List audit entries for a node
  • Avatar:
  • GET /people/{personId}/avatar: Get avatar image
  • PUT /people/{personId}/avatar: Update avatar image
  • DELETE /people/{personId}/avatar: Delete avatar image
  • Actions:
  • GET /nodes/{nodeId}/action-definitions: Retrieve actions for a node
  • GET /action-definitions: Retrieve a list of available actions
  • GET /action-definitions/{actionDefinitionId}: Retrieve the details of an action definition
  • POST /action-executions: Execute an action
  • Sites:
  • GET /site-membership-requests: Get the list of site membership requests the user can action
  • POST /sites/{siteId}/site-membership-requests/{inviteeId}/approve: Approve a site membership request
  • POST /sites/{siteId}/site-membership-requests/{inviteeId}/reject: Reject a site membership request
  • Probes:
  • GET /probes/{probeId}: Check readiness and liveness of the repository
  • REST API Explorer:
  • An updated release of the REST API Explorer (v6.0.6-ga) is available on Github - alfresco-rest-api-explorer to navigate the details of the new REST API endpoints. This is included in the SDK, or can be installed by adding the WAR to your Alfresco install and configuring CORS.
  • This release of REST API Explorer also includes logs listing the API changes between Alfresco 5.1, Alfresco 5.2, and Alfresco 6.0. They highlight the OpenAPI spec differences between these Alfresco versions.
  • Default services:
  • FTP support is now disabled by default. Those who want to use it need to activate it manually. This produces a more secure default configuration.
  • CIFS support is now disabled by default. We recommend not using CIFS, as the protocol has been deprecated by Microsoft due to security vulnerabilities. We expect to remove support for CIFS in the future.
  • SDK:
  • The Alfresco SDK is not yet updated with the new code locations. For more details, see More of Alfresco Content Services on GitHub. The support for 6.0.x-ea versions in Alfresco SDK will be added in next releases of Alfresco SDK.
  • Documentation:
  • The documentation has been refreshed for this release. The documentation is currently published at docs.alfresco.com: Alfresco Community Edition
  • Localisation:
  • This release includes: French, German, Italian, Spanish, Japanese, Dutch, Norwegian (BokmÃ¥l), Russian, Brazilian Portuguese and Simplified Chinese versions.
  • Alfresco Share:
  • Spring was updated to version 5.0.4 and Hazelcast - Spring to version 3.7.1.
  • Share is now also delivered in a Docker container.
  • Search Services:
  • Solr is now also delivered in a Docker container.
  • Feature Removals:
  • GUI Installation Bundles: We will be providing a new deployment system based on Docker containers, and we will continue to package the components necessary for a manual installation in a file named distribution.zip.
  • CIFS/SMBv1: Use WebDAV.
  • CIFS Shortcuts
  • NTLMv1: Use Kerberos.
  • Web Application Servers apart from Tomcat: Support for an external Tomcat is likely to also be removed in the future. Use the Tomcat provided with the application.
  • Solr1 and Solr4: Solr6 will be the main search backend. Solr4 will continue to be available to facilitate upgrades.
  • Repository Multi-Tenancy
  • Encrypted Node Properties
  • Meeting Workspace and Document Workspace
  • Some Share Features: site blogs, site calendars, site data lists, site links, and site discussion forums
  • Web Quick Start and the Web Editor

New in Alfresco Community 5.2 Build 201707 (Aug 1, 2017)

  • Notable New Features in this Release:
  • Content Repository:
  • GhostScript Removal:
  • Due to a license change in GhostScript, we replaced it with PDFium. PDFium is the PDF engine shipped with Chromium. In our tests, PDFium produces equivalent results to GhostScript with less processing or memory usage. PDFium is wrapped with an alfresco-pdf-renderer executable, and the Administration Console has two new properties specifying the location of the alfresco-pdf-renderer executable and working directory, but these properties should not be touched in a normal installation.
  • New REST APIs:
  • New Endpoints (since Community 201612) include:
  • Group Management API, retrieving & managing Group Membership is now available under /groups
  • Downloads API, for downloading a set of files as a ZIP is now available under /downloads
  • Password Reset (including email notification) can now be requested via POST /people/{personId}/request-password-reset
  • Password Reset (including email notification) can now be reset via POST /people/{personId}/reset-password
  • Updated Endpoints (since Community 201612) include:
  • POST /shared-links/{sharedId}/email sends email with app-specific url including identifier sharedId.
  • Shared Link API now has option to "include=path"
  • Favorites API now has option to "include=path"
  • REST API EXPLORER:
  • An updated release of the REST API Explorer (v5.2.g) is available (Github - alfresco-rest-api-explorer) to navigate the details. This is included in the SDK, or can be installed by adding the WAR to your Alfresco install and configuring CORS.