Alfresco Community Edition 6.0

Document created by resplin on Aug 24, 2017Last modified by alfresco on Jun 28, 2018
Version 15Show Document
  • View in full screen mode

What's new in Alfresco Community Edition 6.0


This page lists the new features added to Alfresco Community Edition during the 6.0 line of releases. Release bundles are named for the month they were generated, and may contain components from different versions of the product.

 

As a major release, Alfresco Community Edition 6.0 contains some changes which are not backwards compatible.

 

 

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.

 

The source code for the packaging project that is used to create and run docker images and build the distribution zip can be found here.

 

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

 

For details on new and updated endpoints, please see the following list of JIRA issues:

[REPO-2247] Tags: GET tags endpoint should provide aggregation info - Alfresco JIRA 

[REPO-2170] Enhance People API to return capabilities - Alfresco JIRA 

[REPO-3344] Web Api Parameter `required` is not being used - Alfresco JIRA 

[REPO-2093] Allow site managers to accept and reject site invitations - Alfresco JIRA 

[REPO-2339] Trashcan REST API: optionally restore node to new location - Alfresco JIRA
[REPO-3504] Deployment: Create and add Liveness and Readiness Probes 

 

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.

 

See also Alfresco public REST APIs to find links to more information about the new REST APIs.

 

 

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.

Mobile

 

Records Management

Alfresco Developer Framework

SDK

General

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.

Feature Removals

A number of features are considered deprecated and will be removed in a future release:

  • 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. See Moving from SMB to WebDAV
  • CIFS Shortcuts
  • NTLMv1: Use Kerberos. See Moving from SMB to WebDAV
  • 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

More information is available in Architecture changes for Alfresco Content Services version 6.0 and beyond

 

Release Notes

Unreleased Alfresco Community Edition 201709 EA

Alfresco Community Edition 201711 EA

Alfresco Community Edition 201802 EA

Alfresco Community Edition 201803 EA 

Alfresco Community Edition 201804 EA  

Alfresco Community Edition 201806 GA Release Notes 

6 people found this helpful

Attachments

    Outcomes