Announcing ADF 2.0 GA

cancel
Showing results for 
Search instead for 
Did you mean: 

Announcing ADF 2.0 GA

Alfresco Employee
7 2 3,655

We're pleased to announce that the Application Development Framework 2.0 has now been released!

While this release had a high focus on stabilization and bug fixes, we have also introduced new and enhanced features. These include a completely revamped Viewer component, a new metadata component and file versioning. We have updated to Angular 5 and Angular Material. Also, ADF is now localized into 11 different languages. In total, we have closed around 242 issues in JIRA. 

Please see the ADF 2.0.0 Release Note‌ for all the juicy details!

Since we follow SEMVER, we can only introduce breaking changes in major releases. We started ADF in April 2016 and we have learned a lot since then. We have taken this opportunity to restructure our packages, refactor components and keep up with the developments from the Angular community. Unfortunately, this means that we have done some breaking changes which we blogged about a few weeks ago in https://community.alfresco.com/community/application-development-framework/blog/2017/11/28/preparing...‌. You can also find more details in the release notes, and we will be providing guidance on how to upgrade existing projects to 2.0.

With ADF 2.0 we have embraced Angular CLI for developing ADF applications, which means you can now leverage this tool during development to help scaffold components, modules and much more. We have updated our Yeoman generators to reflect this, so it will now give you three choices, either create a Process + Content app, Process app or a Content app. The end result is a basic ADF based application that gives you a great starting point. 

We have continued to improve on the documentation and we can now officially share the new site for ADF's documentation: ADF Component Catalog

We are currently updating all our "Getting Started" material to reflect the latest and greatest, but here are some quick instructions to get the latest and greatest running: https://community.alfresco.com/community/application-development-framework/blog/2017/11/29/taking-ad...‌.

As part of the changes for 2.0, we will also be renaming the Github repositories for ADF, however, we couldn't get this done prior to the release so this will happen shortly. Luckily, Github will automatically set up redirects so we don't expect any issues regarding this. 

ADF 2.0 is the first General Available release of ADF. This means that Enterprise customers can now get support via the support portal, and customers with Developer Support will have you covered.

The Alfresco University team has been hard at work developing training content. We will be releasing two new courses, with the first of these available on the release date: 

Alfresco Application Development Framework Overview
This eLearning course is designed for those wishing to learn about the new Application Development Framework (ADF). Through a series of lectures, videos, and demonstrations, students will walk away with a thorough understanding of the ADF platform.

Shortly after ADF 2.0 is released the second course will be available:
Creating and Customizing an Application using Alfresco ADF
This eLearning course is designed for those wishing to learn more about the Application Development Framework (ADF). Using a scenario-based approach and through a series of lectures, videos, demonstrations, and lab exercises, students will learn how to create and customize an ADF application.

As always we welcome feedback! Join the Gitter channel where the entire team hangs out, raise an issue or pull request on Github, or leave a comment below.

About the Author
After five years as an active member of the Alfresco Community I helped co-found The Order Of the Bee and was initially on the board, until I joined Alfresco as Developer Evangelist in April 2015. I have more than 14 years of experience in the industry ranging from tech support, systems administration, development, project management, team lead and now developer evangelism. I have been a big contributor to the Alfresco SDK, proud member of The Order Of the Bee, written various tutorials and video tutorials on both Aikau, Alfresco and Alfresco SDK.
2 Comments
Established Member II

Hi,

 

   I am going through ADF 2.0.0 and it works good if i run it using yomen generator i have following questions with regards the ADF 2.0.0 changes.

 

1. I cant see the source code in node_modules as in previous version like ADF 1.9 I use to get full source code in the node modules( source code here means the exact components and template file which is present in GitHub repo). I can only see the typescript definition file. This is required as I am unable to debug the code.

 

2. I have a template on angular cli 1.5 which also uses material module and other stuff as ADF application. I want ADF components to be lazy loaded within my template. I tried with including  simple process list component but I was getting the following error. I have already imported BrowserModule in my templates app.module.ts which might be conflicting with the ADF component.

 

ERROR Error: Uncaught (in promise): Error: BrowserModule has already been loaded. If you need access to common

directives such as NgIf and NgFor from a lazy loaded module, import CommonModule instead.
Error: BrowserModule has already been loaded. If you need access to common directives such as NgIf and NgFor from a lazy loaded module, import CommonModule instead.
    at new BrowserModule (platform-browser.js:4547)
    at _createClass (core.js:10622)
    at _createProviderInstance$1 (core.js:10596)
    at initNgModule (core.js:10549)
    at new NgModuleRef_ (core.js:11792)
    at createNgModuleRef (core.js:11782)
    at Object.debugCreateNgModuleRef [as createNgModuleRef] (core.js:14092)
    at NgModuleFactory_.create (core.js:15216)
    at MapSubscriber.eval [as project] (router.js:4444)
    at MapSubscriber._next (map.js:79)
    at new BrowserModule (platform-browser.js:4547)
    at _createClass (core.js:10622)
    at _createProviderInstance$1 (core.js:10596)
    at initNgModule (core.js:10549)
    at new NgModuleRef_ (core.js:11792)
    at createNgModuleRef (core.js:11782)
    at Object.debugCreateNgModuleRef [as createNgModuleRef] (core.js:14092)
    at NgModuleFactory_.create (core.js:15216)
    at MapSubscriber.eval [as project] (router.js:4444)
    at MapSubscriber._next (map.js:79)
    at resolvePromise (zone.js:757)
    at resolvePromise (zone.js:728)
    at eval (zone.js:805)
    at ZoneDelegate.invokeTask (zone.js:414)
    at Object.onInvokeTask (core.js:4620)
    at ZoneDelegate.invokeTask (zone.js:413)
    at Zone.runTask (zone.js:181)
    at drainMicroTaskQueue (zone.js:574)
    at <anonymous>
defaultErrorLogger @ core.js:1350
ErrorHandler.handleError @ core.js:1411
next @ core.js:5376
schedulerFn @ core.js:4223
SafeSubscriber.__tryOrUnsub @ Subscriber.js:239
SafeSubscriber.next @ Subscriber.js:186
Subscriber._next @ Subscriber.js:127
Subscriber.next @ Subscriber.js:91
Subject.next @ Subject.js:56
EventEmitter.emit @ core.js:4203
(anonymous) @ core.js:4651
ZoneDelegate.invoke @ zone.js:381
Zone.run @ zone.js:141
NgZone.runOutsideAngular @ core.js:4577
onHandleError @ core.js:4651
ZoneDelegate.handleError @ zone.js:385
Zone.runGuarded @ zone.js:157
_loop_1 @ zone.js:640
api.microtaskDrainDone @ zone.js:649
drainMicroTaskQueue @ zone.js:582
Promise resolved (async)
scheduleMicroTask @ zone.js:557
ZoneDelegate.scheduleTask @ zone.js:403
onScheduleTask @ zone.js:290
ZoneDelegate.scheduleTask @ zone.js:394
Zone.scheduleTask @ zone.js:225
Zone.scheduleMicroTask @ zone.js:245
scheduleResolveOrReject @ zone.js:803
resolvePromise @ zone.js:752
(anonymous) @ zone.js:683
webpackJsonpCallback @ inline.bundle.js:22
(anonymous) @ app-list.module.chunk.js:1

Alfresco Employee

Hi, 

As the Angular Package Format - Google Docs  suggest we distribuite in the NPM packages only the bundle/sourcemap/description/assets files. You can find the source code here GitHub - Alfresco/alfresco-ng2-components: Alfresco Angular Components .

Have the code inside the packages can bring you a lot of problem at the building time of your app .

Another possible problem the  download time of the packages and node_modules folder size.