Alfresco Community Edition 7.0 Release Notes

cancel
Showing results for 
Search instead for 
Did you mean: 

Alfresco Community Edition 7.0 Release Notes

EddieMay
Alfresco Employee
4 23 31.2K

Alfresco Community Edition 7.0

Alfresco Community Edition 7.0 is our latest Open Source software release that has improvements to Alfresco Content Services which accelerate development of business solutions. With Alfresco Community Edition 7.0, Alfresco continues to enable open source communities, customers and partners to realize value from their most important information.

Alfresco Community Edition 7.0 delivers functionality to enable developers and customers to customise the product and extend through integrations. Customers can purchase an upgrade from Alfresco Community Edition to Alfresco Content Services 7.0 for advanced features and support of our for-fee Alfresco extensions and applications.

Alfresco Community Edition 7.0 shares much of its code with Alfresco Content Services 7.0 release. This release contains core functionality enhancements completed from the release of Alfresco Content Services 7.0. In addition this release contains an updated stack of supported databases, operating systems and platforms providing up to date support.

The release readiness testing team have successfully completed their regression testing cycles to help give you confidence. 

Goals for this Release

The main goal of this release is to enable customers to create solutions. As Alfresco and Hyland have a continuing commitment to Open Source, we value your feedback.

 Use Cases

  • Provide new features to allow partners and customers to create solutions.

  • Support customers using the Open Source version of our major products and components.

  • Support partners doing open source development for customisations for their customers.

  • Support customers in open source development.

  • Assisting partners and customers to migrate customisations from previous releases to Alfresco Community Edition 7.0.

We have changed the way the Community Edition should raise issues which we anticipate will make it easier to raise issues and manage them. Please report issues with this Alfresco Community Edition 7.0 using GitHub Issuesor by using the discussion tools in this social Community Edition.

Other feedback on Alfresco Community Edition 7.0 can be provided by emailing Community Edition@alfresco.com.

Installation

Alfresco Community Edition 7.0 is available as a distribution zip file for manual installation, or it can be installed using an Ansible playbook (Linux only) for non-containerized environments. It is also available as a set of Docker images that can be deployed in containerized environments using docker-compose or Helm charts (for Kubernetes).

You can find a summary of these options here:

https://www.alfresco.com/products/community/download

Upgrading from previous releases

Care should be taken when upgrading from any previous releases of Alfresco Community Edition 7.0. There are some steps that should be reviewed and planned before you upgrade. Please take the time to familiarize yourself with the guidance below and plan your upgrade.

Please refer to the detailed Upgrading documentation, including Alfresco Content Services upgrade paths.

In particular, please ensure that the following steps are completed before you start your upgrade process:

Specific Release Components

Content Repository

  • New REST API Endpoints:

    • File Version Rendition Management API is now available under /nodes/{nodeId}/versions
      POST '/nodes/{nodeId}/versions/{versionId}/renditions'
      GET '/nodes/{nodeId}/versions/{versionId}/renditions'
      GET '/nodes/{nodeId}/versions/{versionId}/renditions/{renditionId}'
      GET '/nodes/{nodeId}/versions/{versionId}/renditions/{renditionId}/content'

    • Site Membership Management API is now available under /sites
      GET '/sites/{siteId}/group-members'
      POST '/sites/{siteId}/group-members'
      GET '/sites/{siteId}/group-members/{groupId}'
      PUT '/sites/{siteId}/group-members/{groupId}'
      DELETE '/sites/{siteId}/group-members/{groupId}'

    • Model API: https://develop.envalfresco.com/api-explorer/?urls.primaryName=Model API

  • Metadata Extract

    The out of the box extraction of metadata is now generally performed asynchronously via a T-Engine connected to the repository as a Local transformer or as part of the Alfresco Transform Service, which is available in Alfresco Content Services. This provides better security, scalability and reliability. The framework used for metadata extraction within the content repository remains, allowing custom extractors / embedders of metadata to still function, as long as they don't extend the extractors that have been removed. Ideally, such custom code should be gradually moved into a T-Engine. For more information see Metadata Extractors.

  • Removal of 3rd party libraries

    With the offloading of both transforms and metadata extraction to T-Engines a number of 3rd party libraries are no longer needed within the content repository. They do still exist within the T-Engines performing the same tasks. Any AMPs that were making use of these will need to provide these libraries themselves. This will reduce the footprint of the repository and allow more frequent releases of the T-Engines to take advantage of new functionality or security patches in these libraries.

    • PdfBox org.apache.pdfboxSmiley Tonguedfbox:2.0.21 removed - transforms are now performed in T-Engines

    • PdfBox org.apache.pdfbox:fontbox:2.0.21 removed - transforms are now performed in T-Engines

    • PdfBox org.apache.pdfboxSmiley Tonguedfbox-tools:2.0.21 removed - transforms are now performed in T-Engines

  • Removal of legacy transforms from Content Repo
    The Alfresco documentation, Transform Service vs. Local and Legacy Transforms provides a summary of the transforms provided in recent ACS versions.  Due to investment in the Transforms Service and Local Transforms, this release deprecates the availability of Legacy Transforms. The code that supports “legacy transforms” within ACS Repo has been removed.  The Legacy Transforms are replaced fully with the Transforms Service and out-of-process Core Transform Engines.

  • Core All-In-One (AIO) Transform Engine

    We have previously introduced T-Engines for Alfresco Community Edition and Alfresco Content Services that run in separate processes. For Alfresco Community Edition deployments it is recommended to run the AIO T-Engine in a single JVM.  In addition, the AIO solution has been updated at Alfresco/alfresco-transform-core with the option to build a single AIO T-Engine. The Core All-In-One (AIO) Transform Engine combines the current 5x core T-Engines (LibreOffice, ImageMagick, Alfresco PDF Renderer, Tika) packaged together into a single Docker image.  Deployments requiring greater scalability in these situations the individual T-Engines will be preferable available in Alfresco Content Services. 

  • Events related to node and association actions
    In Alfresco Community Edition 7.0 the Content Repository publishes events related to an initial set of actions to nodes and associations. This is the first time that this feature is introduced as part of the ACS Core Services, and it will be used in many use cases, as an example by the Alfresco Event SDK. For the moment the supported events are related to node creation/update/deletion, secondary child association creation/deletion, peer association creation/deletion.

REST API Explorer

REST API Explorer is integrated into alfresco-repository-Community Docker image. It is accessible via the link provided in the /alfresco page either via using /api-explorer context on alfrescoServerPath (alfrescoScheme://alfrescoHost:alfrescoPort).

 to navigate the details of the new REST API endpoints.

  • We have migrated Swagger-UI 2.0 to Swagger-UI 3.0, which is compatible with both OpenAPI 2.0 and OpenAPI 3.0

Alfresco Share

The latest release of Share is 7.0.0. For further details please consult the list of issues fixed in this release at the bottom of the page under Issues Addressed.

Search Services

The latest release of Alfresco Search Services for Community Edition is 2.0. Solr 6 is the underlying search engine for 2.0. Solr 4 will continue to be available for ACS 5.2 users to facilitate upgrades.

Alfresco Governance Services

AGS 3.5 is the latest release but compatibility with ACS 7.0 Community Edition is targeted in the late April 2021 time frame.

Alfresco Mobile

The latest release of Alfresco Mobile Workspace is version 1.0.

The latest release of Content Services for Android is version 1.8.9 which contains a number of minor improvements and fixes.

The latest release of Content Services for iOS is version 2.8 which contains a number of minor improvements and fixes.

SDK

The latest release of the Alfresco in-process SDK is SDK 4.2, which is compatible with Alfresco Community Edition 7.0.   

There is a new Alfresco Event SDK for out-of-process events (SDK v5.0), which is compatible with Alfresco Community Edition 7.0.

Alfresco Extension Inspector

A new utility has been created to help partners and customers better understand the customisations in their existing deployments. The Alfresco Extension Inspector is a utility for AMP inspection for Alfresco Community Edition and Alfresco Content Services 5.2.7, 6.2.2 and 7.0.0. The inspector is recommended for use before installing new versions of our product to help expose any issues that might impede success.

The alfresco-extension-inspector is a tool that scans and validates an Alfresco extension (amp or jar) against an alfresco.war file. The tool parses an extension and generates a report on possible overrides, discouraged usage of nonpublic API, Alfresco's 3rd-party libraries and incompatible libraries.

To download Alfresco Extension Inspector from Nexus click here or from GitHub.

Documentation

The documentation has been refreshed for this release.

https://docs.alfresco.com/content-services/community/

Localization

The Content Repository supports the following languages: French, German, Italian, Spanish, Japanese, Dutch, Norwegian (Bokmål), Russian, Brazilian Portuguese, Polish, Czech, Danish, Swedish, Finnish and Simplified Chinese.

Share supports the following languages: French, German, Italian, Spanish, Japanese, Dutch, Norwegian (Bokmål), Russian, Brazilian Portuguese and Simplified Chinese.

Feature Removals

  • Removal of 3rd party libraries (see notes above)

  • Removal of legacy transform options from Content Repo (see notes above)

Contents

  • Alfresco Content Repository 7.0.0-ga (SCM tag)

  • Alfresco Share 7.0.0 (SCM tag)

  • Alfresco Content Application 2.3.0 (SCM_tag)

  • Alfresco File Transfer Receiver 7.0.0 (SCM tag)

  • Alfresco Search Services 2.0 (SCM tag)

  • Google Docs 3.2.1 (SCM tag)

  • AOS Module 1.4.0 (SCM tag)

Images are available on Docker Hub

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

3rd Party Components installed in the docker containers

  • CentOS 8 x64

  • Open JDK 11.0.7

  • Tomcat 9

  • PostgreSQL 12.4

Library Upgrades

A number of underlying libraries have been updated in both the Repository and Share.

Issues Addressed

We have addressed a number of defects since the last release, whilst we don’t report on all issues we have provided a JQL for resolved issues.

This Issues Addressed query provides a summary but does not differentiate Alfresco Content Services from Alfresco Community Edition.

Known Issues

  • AGS 3.5 compatibility with Alfresco Community Edition 7.0 is targeted in the late April 2021 time frame

  • Alfresco Content Services 7.0 contains a recommended database patch which is not automatically applied during upgrade, as the amount of time needed to create new indexes might be considerable. Details are included in the upgrade documentation.

    Until this step is completed, you will see Schema Validation warnings reported in the alfresco.log on each startup. The log will also indicate that the patch was not run.

     
    1INFO [org.alfresco.repo.domain.schema.SchemaBootstrap] [...] Ignoring script patch (post-Hibernate): patch.db-V6.3-add-indexes-node-transaction ... 2... 3WARN [org.alfresco.repo.domain.schema.SchemaBootstrap] [...] Schema validation found ... potential problems, results written to ...
23 Comments
afaust
Master

The linked upgrade documentation is missing the promised details about the optional schema upgrade patch, or my browser is unable to show me matches for "schema" - and the only match I get for "patch" is in the (invisible / unexpanded) menu, referring to the patch extension point.

bremmington
Alfresco Employee

Thanks for raising that, Axel. I've raised a ticket to get that fixed.

(https://alfresco.atlassian.net/browse/DOCS-6194)

jpotts
Professional

SDK 5.0 link is broken

aleach
Alfresco Employee

Thanks for raising, we're working on the SDK 5.0 link.

The repository is now public so this should be resolved.  Thanks.

unibravo
Active Member II

I trying install with zip distiribution on my Macbook Air.

But I have a small problem. what should I do?

2021-03-18 19:53:00,511 ERROR [web.context.ContextLoader] [main] Context initialization failed
org.alfresco.error.AlfrescoRuntimeException: 02180002 Keystores are invalid

adelaidenx
Alfresco Employee

@afaust Thanks for raising the issue about the missing Upgrade information. This page was updated later in the day yesterday, so you'll see a new section at the end of the page:  Upgrade Community Edition 

Patelvikash09
Active Member

Hello Team, 
I am using acs 7.0 , and used zip method to install acs 7.0 while running the project I am facing Invalid, keystore Error.
Please guide, whats need to be corrected - 

dir.root=C:/Users/XXXX/acs7/alf_data
dir.keystore=${dir.root}/keystore

dir.license.external=C:/Users/XXXX/acs7/licenses

keystore.PNG

I have copied above listed files from alfresco-content-services-distribution-7.0.0.1 ,

Error which I am getting 

ERROR [web.context.ContextLoader] [main] Context initialization failed
org.alfresco.error.AlfrescoRuntimeException: 04040002 Keystores are invalid
        at org.alfresco.encryption.EncryptionChecker$1.execute(EncryptionChecker.java:78)
        at org.alfresco.encryption.EncryptionChecker$1.execute(EncryptionChecker.java:1)
        at org.alfresco.repo.transaction.RetryingTransactionHelper.doInTransaction(RetryingTransactionHelper.java:450)
        at org.alfresco.repo.transaction.RetryingTransactionHelper.doInTransaction(RetryingTransactionHelper.java:319)
        at org.alfresco.encryption.EncryptionChecker.onBootstrap(EncryptionChecker.java:67)
        at org.springframework.extensions.surf.util.AbstractLifecycleBean.onApplicationEvent(AbstractLifecycleBean.java:56)
        at org.alfresco.repo.management.SafeApplicationEventMulticaster.multicastEventInternal(SafeApplicationEventMulticaster.java:221)
        at org.alfresco.repo.management.SafeApplicationEventMulticaster.multicastEvent(SafeApplicationEventMulticaster.java:186)
        at org.alfresco.repo.management.SafeApplicationEventMulticaster.multicastEvent(SafeApplicationEventMulticaster.java:206)
        at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:426)
        at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:383)
        at org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:943)
        at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:591)
        at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:401)
        at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:292)
        at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:103)
        at org.alfresco.web.app.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:70)
        at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4716)
        at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5172)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
        at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:717)
        at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:690)
        at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:706)
        at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:689)
        at org.apache.catalina.startup.HostConfig$DeployDescriptor.run(HostConfig.java:1881)
        at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
        at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
        at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
        at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:118)
        at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:582)
        at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:472)
        at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1611)
        at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:319)
        at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:123)
        at org.apache.catalina.util.LifecycleBase.setStateInternal(LifecycleBase.java:423)
        at org.apache.catalina.util.LifecycleBase.setState(LifecycleBase.java:366)
        at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:936)
        at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:843)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
        at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1384)
        at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1374)
        at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
        at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
        at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:140)
        at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:909)
        at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:262)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
        at org.apache.catalina.core.StandardService.startInternal(StandardService.java:433)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
        at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:930)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
        at org.apache.catalina.startup.Catalina.start(Catalina.java:772)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.base/java.lang.reflect.Method.invoke(Method.java:566)
        at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:342)
        at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:473)
Caused by: org.alfresco.error.AlfrescoRuntimeException: 04040001 Failed to create key: metadata
 in key store:
   Location: C:/Users/898103/acs7/alf_data/keystore/keystore
   Provider: null
   Type:     pkcs12
        at org.alfresco.encryption.AlfrescoKeyStoreImpl.createKey(AlfrescoKeyStoreImpl.java:664)
        at org.alfresco.encryption.AlfrescoKeyStoreImpl.validateKeys(AlfrescoKeyStoreImpl.java:915)
        at org.alfresco.encryption.AlfrescoKeyStoreImpl.validateKeys(AlfrescoKeyStoreImpl.java:188)
        at org.alfresco.encryption.KeyStoreChecker.validateKeyStores(KeyStoreChecker.java:49)
        at org.alfresco.encryption.EncryptionChecker$1.execute(EncryptionChecker.java:73)
        ... 57 more
Caused by: org.alfresco.error.AlfrescoRuntimeException: 04040000 Unable to get secret key: no key information is provided
        at org.alfresco.encryption.AlfrescoKeyStoreImpl.getSecretKey(AlfrescoKeyStoreImpl.java:775)
        at org.alfresco.encryption.AlfrescoKeyStoreImpl.createKey(AlfrescoKeyStoreImpl.java:642)
        ... 61 more
May 04, 2021 3:30:52 PM org.apache.catalina.core.StandardContext listenerStart
SEVERE: Exception sending context initialized event to listener instance of class [org.alfresco.web.app.ContextLoaderListener]
org.alfresco.error.AlfrescoRuntimeException: 04040002 Keystores are invalid

 
Please guide me, how to resolve this.

Thanks,
Vikash

afaust
Master

@Patelvikash09 Such questions should ideally raised in a separate thread / post, as they do not relate to the release notes specifically. You should check the documentation about keystores - there is a change with regards to configuration in ACS 7.0 that requires you to specify some properties about the keystore via -D flags in the start script / task you use to run Alfresco. See keystore configuration 

EddieMay
Alfresco Employee

@unibravo see @afaust comments above.

dba100
Active Member II

hi,

 

what is the data thoughput requirement of Alfresco community edition 7? I know from previous edition that it is about 200MB/s.

if we colocate content store to a NAS only, I am not sure if Alfresco community edition 7 can support the slow SAN.

any NAS IO/ IOPS /thoughput requirement ?

John1244
Active Member

If i used docker-copmpose to run alfresco were is the location or directory to place my contentstore
and contentsotre.deleted folders.

timothyz
Member II

"It is accessible via the link provided in the /alfresco page either via using /api-explorer context on alfrescoServerPath (alfrescoScheme://alfrescoHost:alfrescoPort)."

But provided link is wrong. In my case it provides http://<my host>:443/... but alfresco.protocol is set to https. All other links are provided correctly.

chandank
Customer

Hello,

I am using Alfreco Enterprise - 5.1.1 (.4 r130429-b148)  currently and would like to upgrade to version 7. Is it possible to upgrade from 5 to 7? 
If so, please share the step by step documents to do please....

amanda_roberts
Established Member

Hi @chandank -

To upgrade to Community Edition 7.0, please see the upgrade documention.

For upgrading Enterprise versions earlier than 5.2.x to 7.0, you will need to reach out to Alfresco Support for assistance. 

Hope that helps!

dba100
Active Member II

@amanda_roberts 

Hi,

  Here any one know what is the content service performance boost after upgrading from Afresco community 5.0 to Latest enterprise edition / Alfresco community edition 7?

  Any offical doc say this is a big boost of content service performance and what is the business case to proof that?

  We are considering to upgrade to Alfresco enterprise edition, this benchmark record can be good for approval.

afaust
Master

@dba100 It would not be professional to claim any specific performance "boost" numbers. Performance is reliant on too many factors, such as use case, infrastructure, implementation choices during customisation etc. that it would be childs play to invalidate any "boost" claims with slight differences in benchmark setup / execution. Alfresco certainly have done their own, internal benchmarks, and as an Enterprise customer, you should reach out to your customer relationship manager and/or partner, who can best judge which benchmarks / improvements are relevant to your very specific use case.

dba100
Active Member II

tks.

" It would not be professional to claim any specific performance "boost" numbers. Performance is reliant on too many factors, such as use case, infrastructure, implementation choices during customisation etc. that it would be childs play to invalidate any "boost" claims with slight differences in benchmark setup / execution"

some other SW say it from time to time and we have concern on if we upgrade the Alfresco from community 5 to 7 , will it be better.

what I read from Alfresco communtiy 7.0 page it say performance boost but we just didn't konw how much improved.  

and the doc about enterprise edition:

http://pages.alfresco.com/rs/alfresco/images/en-enterprise-community-edition-comparison.pdf

also said it is faster but didn't say how many percentage on average will be that.

 Alfresco certainly have done their own, internal benchmarks, and as an Enterprise customer, you should reach out to your customer relationship manager and/or partner, who can best judge which benchmarks / improvements are relevant to your very specific use case."

May I have the internal benchmark after upgrade to latest enterprise edition ?

 

 

dba100
Active Member II

@amanda_roberts 

 

do you have any idea on alfresco benchmark for upgrade from community 5.0 to 5.2 and 5.2 to 7?

and community 5.0 to latest enterprise edition?

 

dba100
Active Member II

any information, from communtiy edition 5.0 to 7.0, any improvement on the speed of loading doc/pdf from alfresco ?

ainsof
Active Member II
dba100
Active Member II

@ainsof 

 

hi tks. but we are focusing on content store performance when loading doc/pdf, it seems the link do not say much on performance improvement from upgrading from community edition 5 to 7, or you are saying this:

 

  • reduced number of queries when loading the file plan and the document library in Share 
  • better performance on viewing the retention schedule metadata for a category containing numerous children
  • better response time for My Files, Sites, and Records Management in a large repository

?

 

WE only use Alfresco API functions, do you think upgrading from communtiy 5 to community 7 give any improvement on that ?

and I see community 7 come with Alfresco Search Services for Community Edition is 2.0 and Solr 6 is the underlying search engine for 2.0, will it helps on any Alfresco API functions?

dba100
Active Member II

@angelborroy 

 

please help to suggest

dba100
Active Member II

@angelborroy  

any idea ?