diff --git a/docs/README.md b/docs/README.md index c29f7a26fb..f1065f9149 100644 --- a/docs/README.md +++ b/docs/README.md @@ -6,7 +6,8 @@ libraries. Click the name of an item to see its documentation or click the sourc its main source file. Note that ADF is developed continuously, so the source files for some items may be listed here before their documentation is available. See the [Version Index](versionIndex.md) for a list of components ordered by -the ADF version where they were introduced. +the ADF version where they were introduced. You can see the full details of each release +in the [Release notes](release-notes/README.md) section. Components are sometimes marked with an icon to show their status. No icon indicates that the component is complete and suitable for normal use. The other status levels are: diff --git a/docs/release-notes/README.md b/docs/release-notes/README.md new file mode 100644 index 0000000000..9a0d544355 --- /dev/null +++ b/docs/release-notes/README.md @@ -0,0 +1,20 @@ +# Release notes index + +Below are links to the release notes for all released versions of ADF back to v1.6.1. +The first **General available** release was v2.0.0. + +## General available + +- [2.5.0](RelNote250.md) +- [2.4.0](RelNote240.md) +- [2.3.0](RelNote230.md) +- [2.2.0](RelNote220.md) +- [2.1.0](RelNote210.md) +- [2.0.0](RelNote200.md) + +## Limited available + +- [1.9.0](RelNote190.md) +- [1.8.0](RelNote180.md) +- [1.7.0](RelNote170.md) +- [1.6.1](RelNote161.md) diff --git a/docs/release-notes/RelNote161.md b/docs/release-notes/RelNote161.md new file mode 100644 index 0000000000..6bbe1ce85f --- /dev/null +++ b/docs/release-notes/RelNote161.md @@ -0,0 +1,440 @@ +# Alfresco Application Development Framework, version 1.6.1 Release Note + +These release notes provide information for the **1.6.1 release** of Alfresco Application Development Framework. +This is the next **Limited Available** release of Application Development Framework, containing the Angular components to build a Web Application on top of the Alfresco Services. +The release can be found on GitHub at [this link.](https://github.com/Alfresco/alfresco-ng2-components/releases/tag/1.6.1) + +## Goals for this release + +The roadmap for ADF is taking form, and we have a high focus on bringing in engaging design and UX, as well as add more and more content capabilities into ADF. + +Our focus while developing ADF 1.6.1 has been improving the Document List, Improved Preview, Finalize the design of the Login component, External configuration, Performance enhancements for development, improvements in forms as well as paving the way for editing metadata and using forms for content. + +This release builds on last month's contains bug fixes and new feature. See the list below for major details. + +Please report issues with this release in the [issue tracker](https://github.com/Alfresco/alfresco-ng2-components/issues). You can collaborate on this release or share feedback by using the discussion tools on [gitter](https://gitter.im/Alfresco/alfresco-ng2-components). + +## Notable new features + +Below the most relevant features of this release. + +- Ability to convert in PDF the unsupported document +- Datatable loading state +- New extension support in viewer +- Extend TypeScript definitions for JS-API +- ADF Card View +- Task Header Component +- Process and Task attachment list component +- Add people Component +- Breadcrumb root path personalisation +- Form events bus +- Form render independent from APS +- Application settings (server-side) +- Proxy settings and CORS +- Login restyling + +### 1. Ability to convert in PDF the unsupported document + +![](images/Screen+Shot+2017-06-29+at+00.12.55.png) + +*The ng2-alfresco-viewer if the renditions service can convert the unsupported document in PDF will show a pop up with the double possibility to Download the file or convert it to PDF.* + +### 2. Datatable loading state + +Is now possible define your custom loading template that will be shown during the loading of your data in the datatable: + +``` + + +        +            +               +                +                +            +        + + +``` + +![](images/Jun-29-2017+11-34-06.gif) + +Refer to the [datable documentation](https://github.com/Alfresco/alfresco-ng2-components/tree/master/ng2-components/ng2-alfresco-datatable#loading-content-template) for further details. With this modify also the n2-alfresco-documentlist has gained a loading state. + +### 3. New extension support in viewer + +The ng2-alfresco-viewer is now able to show files with txt extension natively and play wav and Mp3 files. + +### 4. Extend TypeScript definitions for JS-API + +We have added more methods in the type definition file of the alfresco-js-api to help you with the autocomplete of your IDE. + +![](images/Jun-29-2017+12-34-21.gif) + +### 5. ADF Card View + +The ADF Card is a generic component, which shows the properties received in input as a material design card.  The main idea was to create a component that can be shared among different components. + +``` + + +``` + +The properties are an array of CardViewModel + +``` +export class CardViewModel { +    label: string; +    value: any; +    key: any; +    format: string; +    default: string; + +    constructor(obj?: any) { +        this.label = obj.label || ''; +        this.value = obj.value; +        this.key = obj.key; +        this.format = obj.format; +        this.default = obj.default; +    } +} +``` + +As properties you can set the label, the value and other optional fields, such as the format and the default values. +Specifically, the **format** propriety is useful to show a value in a custom format, for example, the date in DD/MM/YYYY or MM/DD/YYYY +The **default** values allow initializing some properties as defined, in case the value provided is empty. + +### 6. Task Header Component + +This component was already present in the previous ADF versions but we changed the design and the code using the ADF Card Component. +The Task Header shows all the information related to the task. + +``` +
+   
+        +   
+
+``` + +Result: + +![Task Header Component](images/Screen+Shot+2017-06-29+at+11.28.48.png) + +### 7. Process and Task attachment list component + +This component shows all the attachments added to a task/process as a list. The component is using the data table component to show the list and the context menu with the actions. At the moment, you can open the attachment doing the double click on the row or select the action view from the menu actions. There is also the ability to download the attachment or remove it. + +``` + +    +        +        +        +    + +``` + +Result: + +![Attachment list component](images/Screen+Shot+2017-06-29+at+11.39.00.png) + +### 8. Add people Component + +This component was already present in the previous ADF versions but we changed the design and improve the code. + +With this component, you can easily involve a person into a task. The component itself is composed of two different component, the search component, the people list component. + +The search component has the goal to find a person not involved and show the results in a list. The list is always a data table component with the action menu disabled. + +The people list component shows all the people involved in a task in a list. + +The component is a wrapper of the data-table component with a custom action i.e. Remove the person from the list. + +``` +
+    +        +
+
+   +      +        +          +           
{{getInitialUserName(entry.row.obj.firstName, entry.row.obj.lastName)}}
+         
+       
+        +          +           
{{ getDisplayUser(entry.row.obj.firstName, entry.row.obj.lastName, ' ') }}
+           
{{ entry.row.obj.email }}
+           
can edit
+         
+       
+     
+  
+
+ +``` + +Add people search person result: + +![Add people search person](images/Screen+Shot+2017-06-29+at+11.54.59.png) + +Add people involved person result: + +![Add people involved person](images/Screen+Shot+2017-06-29+at+11.56.30.png) + +### 9. Breadcrumb root path personalisation + +The Breadcrumbs has received a little cosmetic upgrade plus we have added also a new property. + +![](images/Screen+Shot+2017-06-29+at+01.06.36.png) + +The new property is **root**. You can specify in the root property the name of the folder where you want to tart the breadcrumb. Note: The root will always be shown as first element and it will continue to be displayed until you are not in a subfolder of it. + +Example: + +``` + + +``` + +Result: + +![](images/Screen+Shot+2017-06-29+at+01.13.54.png) + +Note: The root will always be showed as first element and it will continue to be displayed until you are not in a subfolder of it. + +Refer to the [document list documentation](https://github.com/Alfresco/alfresco-ng2-components/tree/master/ng2-components/ng2-alfresco-documentlist#properties-1) for further details. + +### 10. Form events bus + +If you want to listen to all the events fired from the form you can subscribe to this Subject: + +``` +formService.formEvents.subscribe((event: Event) => { +  console.log('Event fired:' + event.type); +  console.log('Event Target:' + event.target); +}); +``` + +Refer to the [form documentation](https://github.com/Alfresco/alfresco-ng2-components/tree/master/ng2-components/ng2-activiti-form#listen-all-form-events) +for further details. + +### 11. Form render independent from APS + +The 1.6.1 release lays a foundation for making a Form renderer independent from the backend and APS services to allow more granular control of how it works and where takes/stores its data. + +#### Binding "form" definition + +With this release, it is now possible to bind a form definition via the "form" property. + +``` + + +``` + +And the underlying component controller code can be as follows: + +``` +export class FormDemoComponent implements OnInit { + +  form: FormModel; + +  ngOnInit() { +    let formDefinitionJSON: any = DemoForm.getDefinition(); +    let form = this.formService.parseForm(formDefinitionJSON); +    this.form = form; +  } +} +``` + +#### Parsing form definitions + +The FormService got a new API to parse form definitions from JSON into the FormModel instances without using Form Component like it was previously. + +``` +formService.parseForm(formDefinitionJSON) +``` + +#### Controlling outcome actions + +It is now possible to control what happens when end users click the form outcome buttons, like Save, Complete, etc. The FormService gets a new cancellable event called "executeOutcome" for that purpose. + +``` +export class FormDemoComponent implements OnInit { + +  constructor(private formService: FormService) { +    formService.executeOutcome.subscribe(e => { +      e.preventDefault(); +      console.log(e.outcome); +    }); +  } + +} +``` + +### 12. Application settings (server-side) + +It is now possible to have global (server-side) settings that enable or disable certain features in your web application. + +By default, all application settings are stored in the "app.config.json" file in the root of your web application and have the following defaults: + +``` +{ +    "ecmHost": "http://localhost:3000/ecm", +    "bpmHost": "http://localhost:3000/bpm", +    "application": { +        "name": "Alfresco" +    } +} +``` + +You can get more details on application configuration in the following articles: +- [Demo App Readme](https://github.com/Alfresco/alfresco-ng2-components/blob/development/demo-shell-ng2/README.md#application-settings-server-side) +- [AppConfigService Readme](https://github.com/Alfresco/alfresco-ng2-components/tree/development/ng2-components/ng2-alfresco-core#appconfigservice) + +### 13. Proxy settings and CORS + +To greatly simplify development process the demo and generated applications now feature Proxy settings for webpack development server. That allows using ACS/APS services without any CORS configurations. + +You get the following settings by default (also applied to the Application settings) +- [http://localhost:3000/ecm](http://localhost:3000/ecm) is mapped to [http://localhost:8080](http://localhost:8080) +- [http://localhost:3000/bpm](http://localhost:3000/bpm) is mapped to [http://localhost:9999](http://localhost:9999) + +### 14. Login restyling + +![](images/Jun-29-2017+13-01-12.gif) + +The settings above address most common scenarios for running ACS on port 8080 and APS on port 9999 and allow you to skip the CORS configuration. + +If you would like to change default proxy settings, please edit the "**config/webpack.common.js**" file. + +## References + +Below you can find a brief list of references to help you starting to use the new release. + +[Official GitHub Project - alfresco-ng2-components](https://github.com/Alfresco/alfresco-ng2-components) + +[Getting started guides with Alfresco Application Development Framework](https://community.alfresco.com/community/application-development-framework/pages/get-started) + +[Component catalog](http://devproducts.alfresco.com/) + +[Gitter chat supporting Alfresco ADF](https://gitter.im/Alfresco/alfresco-ng2-components) + +[ADF examples](https://github.com/Alfresco/adf-examples) + +[List of all components](https://github.com/Alfresco/alfresco-ng2-components/tree/master/ng2-components) + +[Alfresco-JS-API](https://github.com/Alfresco/alfresco-js-api) + +[ADF App Generator ](https://github.com/Alfresco/generator-ng2-alfresco-app) + +Please refer to the [official documentation](http://docs.alfresco.com/) for further details and suggestions. + +## Issues addressed + +Below you can find a detailed list of tickets addressed in the new release. For a better understanding, the list is grouped by topic. + +## Feature + +- [[ADF-510](https://issues.alfresco.com/jira/browse/ADF-510)] - Drag and Drop should detect if user has permission to upload +- [[ADF-524](https://issues.alfresco.com/jira/browse/ADF-524)] - Datatable loading state +- [[ADF-573](https://issues.alfresco.com/jira/browse/ADF-573)] - Allow disabling drag and drop upload based on condition +- [[ADF-613](https://issues.alfresco.com/jira/browse/ADF-613)] - Support for Plain Text files in Viewer +- [[ADF-622](https://issues.alfresco.com/jira/browse/ADF-622)] - Extend TypeScript definitions for JS-API +- [[ADF-631](https://issues.alfresco.com/jira/browse/ADF-631)] - Viewer - Should play also the mp3 file +- [[ADF-667](https://issues.alfresco.com/jira/browse/ADF-667)] - It should be possible to disable row selection in Document List +- [[ADF-710](https://issues.alfresco.com/jira/browse/ADF-710)] - Create a Process Attachment List component +- [[ADF-712](https://issues.alfresco.com/jira/browse/ADF-712)] - Task Attachment - Provide a way to attach a new content +- [[ADF-713](https://issues.alfresco.com/jira/browse/ADF-713)] - Process Attachment - Provide a way to attach a new content +- [[ADF-793](https://issues.alfresco.com/jira/browse/ADF-793)] - Convert to PDF the document that the renditions service provide +- [[ADF-804](https://issues.alfresco.com/jira/browse/ADF-804)] - Add proxy configuration in demo shell +- [[ADF-843](https://issues.alfresco.com/jira/browse/ADF-843)] - Form events bus +- [[ADF-845](https://issues.alfresco.com/jira/browse/ADF-845)] - Breadcrumb path personalisation +- [[ADF-847](https://issues.alfresco.com/jira/browse/ADF-847)] - Use application settings file instead of local storage for server URLs + +## Story + +- [[ADF-850](https://issues.alfresco.com/jira/browse/ADF-850)] - Provide ability to use Forms Renderer without APS +- [[ADF-851](https://issues.alfresco.com/jira/browse/ADF-851)] - Provide ability to intercept form outcome button clicks + +## Bug + +- [[ADF-242](https://issues.alfresco.com/jira/browse/ADF-242)] - When deleting a report the content remains on screen. - 1616 Github +- [[ADF-247](https://issues.alfresco.com/jira/browse/ADF-247)] - 'Process definition overview' displays wrong number of 'Total number of process instances' when choosing 'Active' or 'Complete' - 1621 Github +- [[ADF-525](https://issues.alfresco.com/jira/browse/ADF-525)] - Analytics report - Delete report +- [[ADF-571](https://issues.alfresco.com/jira/browse/ADF-571)] - File upload that is in progress is not stopped with the Cancel button +- [[ADF-603](https://issues.alfresco.com/jira/browse/ADF-603)] - Blank page after running the demo of a component - 1870 Github +- [[ADF-610](https://issues.alfresco.com/jira/browse/ADF-610)] - Upload button and DnD area should not upload hidden files and folders +- [[ADF-621](https://issues.alfresco.com/jira/browse/ADF-621)] - Document List draws drop areas on Files +- [[ADF-640](https://issues.alfresco.com/jira/browse/ADF-640)] - After uploading folder with DnD document list does not reload +- [[ADF-643](https://issues.alfresco.com/jira/browse/ADF-643)] - Upload has performance problems +- [[ADF-680](https://issues.alfresco.com/jira/browse/ADF-680)] - DocumentList is displayed as empty if you delete all files and folders in the last page available. +- [[ADF-684](https://issues.alfresco.com/jira/browse/ADF-684)] - Cannot delete an attachment +- [[ADF-686](https://issues.alfresco.com/jira/browse/ADF-686)] - Cannot download a file +- [[ADF-687](https://issues.alfresco.com/jira/browse/ADF-687)] - 'Attachments' header remains after completing a task +- [[ADF-690](https://issues.alfresco.com/jira/browse/ADF-690)] - Upload drag area aborts all files after snackbar expires +- [[ADF-696](https://issues.alfresco.com/jira/browse/ADF-696)] - Entire accordion group header should be clickable +- [[ADF-702](https://issues.alfresco.com/jira/browse/ADF-702)] - Task/Process Filter - Provide a way to change the default filter +- [[ADF-706](https://issues.alfresco.com/jira/browse/ADF-706)] - Cannot tab into a checkbox on a form +- [[ADF-707](https://issues.alfresco.com/jira/browse/ADF-707)] - Cannot tab into a dynamic table row +- [[ADF-709](https://issues.alfresco.com/jira/browse/ADF-709)] - After creating a dynamic table row tab index starts from top of page +- [[ADF-717](https://issues.alfresco.com/jira/browse/ADF-717)] - Multiple NPM errors during the build +- [[ADF-721](https://issues.alfresco.com/jira/browse/ADF-721)] - Translation problem - dev enviroment +- [[ADF-723](https://issues.alfresco.com/jira/browse/ADF-723)] - 'Upload File' isn't working. +- [[ADF-725](https://issues.alfresco.com/jira/browse/ADF-725)] - Upload dialog does not indicate aborted/rejected files +- [[ADF-737](https://issues.alfresco.com/jira/browse/ADF-737)] - Analytics report - Should expose the Models +- [[ADF-739](https://issues.alfresco.com/jira/browse/ADF-739)] - Viewer within tasks and processes does not display all supported file extensions. +- [[ADF-759](https://issues.alfresco.com/jira/browse/ADF-759)] - Cannot use script.sh with node 8.0.0 and npm 5.0. +- [[ADF-765](https://issues.alfresco.com/jira/browse/ADF-765)] - Rating Component is not working. +- [[ADF-766](https://issues.alfresco.com/jira/browse/ADF-766)] - "Remove" file option within the Attachment list is not working. +- [[ADF-779](https://issues.alfresco.com/jira/browse/ADF-779)] - Broken thumbnails are displayed in Processes Attachment list. +- [[ADF-781](https://issues.alfresco.com/jira/browse/ADF-781)] - Folder content is not uploaded if a folder with the same name already exists +- [[ADF-782](https://issues.alfresco.com/jira/browse/ADF-782)] - It is not possible to upload a Folder by dropping on another Folder in Document List +- [[ADF-794](https://issues.alfresco.com/jira/browse/ADF-794)] - Add people assignment component +- [[ADF-797](https://issues.alfresco.com/jira/browse/ADF-797)] - Published components have wrong content +- [[ADF-802](https://issues.alfresco.com/jira/browse/ADF-802)] - 'Attach Document' and DnD in Attachment List are not working +- [[ADF-810](https://issues.alfresco.com/jira/browse/ADF-810)] - Radio button list is selecting the first value behind the scenes when nothing is selected - 1963 Github +- [[ADF-833](https://issues.alfresco.com/jira/browse/ADF-833)] - Data table - single and double click +- [[ADF-842](https://issues.alfresco.com/jira/browse/ADF-842)] - Error is received in console log when a form is completed +- [[ADF-883](https://issues.alfresco.com/jira/browse/ADF-883)] - UserInfo - Build errors +- [[ADF-884](https://issues.alfresco.com/jira/browse/ADF-884)] - FormComponent - Compilation error +- [[ADF-893](https://issues.alfresco.com/jira/browse/ADF-893)] - Create Attachment Task/Process - Compilation error +- [[ADF-897](https://issues.alfresco.com/jira/browse/ADF-897)] - ActivitiPeopleList - use the prexif adf +- [[ADF-906](https://issues.alfresco.com/jira/browse/ADF-906)] - data property on activiti-form component do not react on changes - 2007 Github +- [[ADF-930](https://issues.alfresco.com/jira/browse/ADF-930)] - Not able to attach a file into Attachment List. + +## Task + +- [[ADF-39](https://issues.alfresco.com/jira/browse/ADF-39)] - Migrate demo components to webpack and update documentation - 1399 Github +- [[ADF-604](https://issues.alfresco.com/jira/browse/ADF-604)] - Upgrade to @angular/material to latest version +- [[ADF-685](https://issues.alfresco.com/jira/browse/ADF-685)] - Create test case in test rail around attachment list component +- [[ADF-881](https://issues.alfresco.com/jira/browse/ADF-881)] - Restore setting PS and CS address setting in demo shell + +## Documentation + +- [[ADF-78](https://issues.alfresco.com/jira/browse/ADF-78)] - Update Activiti CORS setup guide - 1438 Github +- [[ADF-602](https://issues.alfresco.com/jira/browse/ADF-602)] - Accordion Component - Documentation +- [[ADF-776](https://issues.alfresco.com/jira/browse/ADF-776)] - Update ADF project from 1.4.0 to 1.5. + +Please refer to [the Alfresco issue tracker](https://issues.alfresco.com/jira/projects/ADF/issues/ADF-581?filter=allopenissues) for other known issues in this release. If you have more questions, please reply here or contact us using [gitter](https://gitter.im/Alfresco/alfresco-ng2-components). diff --git a/docs/release-notes/RelNote170.md b/docs/release-notes/RelNote170.md new file mode 100644 index 0000000000..212c3eddbf --- /dev/null +++ b/docs/release-notes/RelNote170.md @@ -0,0 +1,416 @@ +# Alfresco Application Development Framework, version 1.7.0 Release Note + +These release notes provide information for the **1.7.0 release** of Alfresco Application Development Framework. + +This is the next **Limited Available** release of Application Development Framework, containing the Angular components to build a Web Application on top of the Alfresco Services. +The release can be found on GitHub at [this link.](https://github.com/Alfresco/alfresco-ng2-components/releases/tag/1.7.0) + +## Goals for this release + +In the ADF 1.7 release we've had a big focus on Content capabilities. We brought in a new design for the Document List and the Uploader. Quite a few changes has made its way in to the release, breadcrumbs now has multiple modes (drop down and normal) and has been separated from the document list. The pagination component is now separated from the document list and has a new design too, and we've added toolbars to the document list. We will continue this effort to split up into more granular components and improve the design. + +We have introduced a "Copy and Move" component that integrates into the document list. The idea is to use the same picker for both forms and document list, i.e use it to select content in a form, or select the destination to copy or move items into. This is still work in progress as some of the features in the picker, such as search highlight didn't make it in time for code freeze. We will continue to improve this in the next release. + +This release builds on last month's contains bug fixes and new feature. See the list below for major details. + +Please report issues with this release in the [issue tracker](https://github.com/Alfresco/alfresco-ng2-components/issues). You can collaborate on this release or share feedback by using the discussion tools on [gitter](https://gitter.im/Alfresco/alfresco-ng2-components). + +## Notable new features + +Below the most relevant features of this release: + +- ADF prefix +- Copy and Move Component +- Dropdown sites/favorites Component +- Toolbar Component +- Upload Component New design +- Upload ignore list configuration service +- Start Task New design +- Process Header Component +- Search list Component new delete file feature +- Login new property +- TaskDetails - DueDate and Description editable +- Configuration back end service hostname feature +- User Preferences Service +- Search results highlighting properties +- Change document list style rows based on permissions +- APS Audit REST API in the JS API +- New services in ng2-alfresco-core +- Code Contribution Guide and CLA + +### 1. ADF Prefix + +In the previous release, there was a mixing usage of TAG prefix for all the components ("alfresco-", "activiti-", "adf-" ) . We find out that this approach was quite cumbersome. Now all the component using only the  TAG adf- prefix. +The good news is that you don't need to rename your old component because the old name also if are not suggested anymore to use will be still supported. If you want see the complete list of all our components please follow [this link.](https://github.com/Alfresco/alfresco-ng2-components/tree/master/ng2-components) + +### 2. Copy and Move component + +Two new content actions have been added, the "copy" and the "move" for both folders and files. You can define them the same way as you can do it for the existing content actions. + +``` + + + + +``` + +![](images/copy-move.gif) + +### 3. Dropdown Sites/Favorites Component + +DocumentList now provides a site dropdown component to show and interact with the sites of the current user. + +``` + + +``` + +![](images/dropdown-sites.gif) + +### 4. Toolbar Component + +adf-toolbar is an easy container for headers, titles, actions, breadcrumbs. + +``` + +    +        +    +    +    + +``` + +![](images/toobar.gif) + +### 5. Upload Component New design + +![](images/upload.gif) + +### 6. Upload ignore list configuration service + +Is now possible add an ignore list for files that you don't want to allow upload on your CS. The configuration of this service is made through the [config service](https://github.com/Alfresco/alfresco-ng2-components/tree/master/ng2-components/ng2-alfresco-core#appconfigservice) +In the example below, you can see how filtered out the: '.git', '.DS_Store' and 'desktop.ini'. + +```json +{ +    "ecmHost": "[http://localhost:3000/ecm](http://localhost:3000/ecm)", +    "bpmHost": "[http://localhost:3000/bpm](http://localhost:3000/bpm)", +    "application": { +        "name": "Alfresco" +    }, +    "files": { +          "excluded": [".DS_Store", "desktop.ini", ".git"] +    } +} +``` + +- Standard glob patterns work. +- You can end patterns with a forward slash / to specify a directory. + +### 7. Process Service Start Task New design + +Start Process task form has been redesigned: + +![](images/Screen+Shot+2017-07-31+at+16.37.54.png) + +### 8. Process Header Component + +This component shows all the basic information of a process. + +``` + + +``` + +The component is using the **adf-card-view** component to render all the information like a card. + +![adf process header component](images/adf-process-instance-header-attachment.png) + +### 9. Search list Component new delete file feature + +From now, it is possible to delete files (if you have permission) from within the search results. +This action will do delete the particular file from your contents and NOT just from the search results. + +![](images/search-delete.gif) + +### 10. Login new property + +You can now customize the copyright text in the adf-login component using the copyrightText property: + +![](images/Untitled.gif) + +### 11. TaskDetails - DueDate and Description editable + +The due date and the description of the task details are now editable and integrate into the adf-task-header component + +![](images/description.gif) + +### 12. Configuration back end service hostname feature + +[Application Configuration Service](https://github.com/Alfresco/alfresco-ng2-components/tree/development/ng2-components/ng2-alfresco-core#appconfigservice) (AppConfigService) gets support for dynamic variable substitution for APS and ACS endpoint settings. +It is now possible having a configuration like given below: + +``` +{ +    "ecmHost": "http://{hostname}:{port}/ecm", +    "bpmHost": "http://{hostname}:{port}/bpm", +    "application": { +        "name": "Alfresco" +    } +} +``` + +At runtime, the "hostname" and "port" variables will be automatically replaced with the actual values taken from the client machine. This helps reducing overhead with having multiple CI and E2E environments, all environments can use the same config file. + +You can see more details on this feature in the following article: [Variable substitution in configuration strings](https://github.com/Alfresco/alfresco-ng2-components/tree/development/ng2-components/ng2-alfresco-core#variable-substitution-in-configuration-strings) + +### 13. User Preferences Service + +Developers have now a possibility storing and retrieving user preferences for either ADF or custom components. + +``` +@Component({...}) +class AppComponent { +    constructor(userPreferences: UserPreferencesService) { + +        userPreferences.set('myProperty1', 'value1'); +        userPreferences.set('myProperty2', 'value2'); + +        console.log( +            userPreferences.get('myProperty1') +        ); +    } +} +``` + +The [UserPreferencesService](https://github.com/Alfresco/alfresco-ng2-components/tree/development/ng2-components/ng2-alfresco-core#user-preferences-service) provides an API needed to store preferences based on different profiles. You can now have multiple users on the same machine with different set of preferences (like pagination size, authentication type, etc). + +### 14. Search results highlighting properties + +With the current ADF version, we got a Pipe that has the goal to highlight a specific term found in the text. Basically, when the term has been found, a CSS class is added to the HTML code. By doing so it will be easy to customise the colour just overriding the CSS class. +Note that the Pipe can be used in all the template where this behaviour is needed, but at the moment we are using that only inside the search result. + +![Pipe highlight](images/pipe-highlight.gif) + +### 15. Change document list style rows based on permissions + +You can now customize the document list style row based on the permissions of the node. For more information about this feature please follow this [link](https://github.com/Alfresco/alfresco-ng2-components/tree/master/ng2-components/ng2-alfresco-documentlist#custom-row-permissions-style). + +![](images/Screen+Shot+2017-08-01+at+16.49.37.png) + +### 16. APS Audit REST API in the JS API + +Two new methods has been added into the alfresco-js-api to support retrieve the audit informations inside the process service: + +| API | Name | HTTP method | URL | Description | +| -- | -- | -- | -- | -- | +| *ActivitiPublicRestApi.TaskApi* | [**getTaskAuditJson**](https://github.com/Alfresco/alfresco-js-api/blob/a82ce3bbe56cb0944f8771d14193704b571adf96/src/alfresco-activiti-rest-api/docs/TaskApi.md#getTaskAuditJson) | **GET** | /api/enterprise/tasks/{taskId}/audit | Retrieve audit infromation in json format | +| *ActivitiPublicRestApi.TaskApi* | [**getTaskAuditPdf**](https://github.com/Alfresco/alfresco-js-api/blob/a82ce3bbe56cb0944f8771d14193704b571adf96/src/alfresco-activiti-rest-api/docs/TaskApi.md#getTaskAuditPdf) | **GET** | /app/rest/tasks/{taskId}/audit | Retrieve the task audit infromation in pdf format | + +For further details about those endepoints please refer to the [official documentation](https://github.com/Alfresco/alfresco-js-api/blob/master/src/alfresco-activiti-rest-api/docs/TaskApi.md) + +### 17. New services in ng2-alfresco-core + +In the ng2-alfresco-core component, there are a lot of services that you can use out of the box outside our component and you can find the complete list [here](https://github.com/Alfresco/alfresco-ng2-components/tree/master/ng2-components#services) +The list below is the list of the new services added in 1.7.0: + +- DeletedNodesApiService +- FavoritesApiService +- NodesApiService +- PeopleApiService +- SearchApiService +- SharedLinksApiService +- SitesApiService +- ThumbnailService +- SearchService + +### 18. Code Contribution Guide and CLA + +With the goal to make even easy contribute to our project, we have created a new [Contribution guide](https://github.com/Alfresco/alfresco-ng2-components/blob/master/CONTRIBUTING.md) to help all the people the community to contribute to the ADF code. +To make the contribution process smooth we have also added an automatic CLA (Contributor License Agreement) in our GitHub CI. + +![](images/Screen+Shot+2017-07-31+at+20.16.25.png) + +## References + +Below you can find a brief list of references to help you starting to use the new release. + +[Official GitHub Project - alfresco-ng2-components](https://github.com/Alfresco/alfresco-ng2-components) + +[Getting started guides with Alfresco Application Development Framework](https://community.alfresco.com/community/application-development-framework/pages/get-started) + +[Component catalog](http://devproducts.alfresco.com/) + +[Gitter chat supporting Alfresco ADF](https://gitter.im/Alfresco/alfresco-ng2-components) + +[ADF examples](https://github.com/Alfresco/adf-examples) + +[List of all components](https://github.com/Alfresco/alfresco-ng2-components/tree/master/ng2-components) + +[Alfresco-JS-API](https://github.com/Alfresco/alfresco-js-api) + +[ADF App Generator ](https://github.com/Alfresco/generator-ng2-alfresco-app) + +Please refer to the [official documentation](http://docs.alfresco.com/) for further details and suggestions. + +## Issues addressed + +Below you can find a detailed list of tickets addressed in the new release. For a better understanding, the list is grouped by topic. + +Release Notes - Apps Development Framework - Version 1.7. + +### Documentation + +- [[ADF-537](https://issues.alfresco.com/jira/browse/ADF-537)] - Code contribution guide +- [[ADF-892](https://issues.alfresco.com/jira/browse/ADF-892)] - Blog post on replacing ADF services in apps +- [[ADF-951](https://issues.alfresco.com/jira/browse/ADF-951)] - Article on how to update from 1.5.0 to 1.6. +- [[ADF-961](https://issues.alfresco.com/jira/browse/ADF-961)] - Article integration APS and ACS and cognitive analysis metadata +- [[ADF-987](https://issues.alfresco.com/jira/browse/ADF-987)] - Add information about SaSS in the contribution guidelines +- [[ADF-1007](https://issues.alfresco.com/jira/browse/ADF-1007)] - Add Markdown linter in the build process +- [[ADF-1042](https://issues.alfresco.com/jira/browse/ADF-1042)] - Add documentation on how to search only folder +- [[ADF-1107](https://issues.alfresco.com/jira/browse/ADF-1107)] - Create example: Viewer + adf-card and blog post +- [[ADF-1110](https://issues.alfresco.com/jira/browse/ADF-1110)] - Toolbar documentation +- [[ADF-1136](https://issues.alfresco.com/jira/browse/ADF-1136)] - Provide details on configuring Viewer to display PDF +- [[ADF-1146](https://issues.alfresco.com/jira/browse/ADF-1146)] - Upgrade Angular CLI article to the newest version of CLI/ADF + +### Feature + +- [[ADF-914](https://issues.alfresco.com/jira/browse/ADF-914)] - Form section in the demo shell +- [[ADF-918](https://issues.alfresco.com/jira/browse/ADF-918)] - Activiti Start Task - Refactoring +- [[ADF-920](https://issues.alfresco.com/jira/browse/ADF-920)] - Process Header Component - Use the CardView component +- [[ADF-970](https://issues.alfresco.com/jira/browse/ADF-970)] - Attachment Task/process list - add template for empty list +- [[ADF-971](https://issues.alfresco.com/jira/browse/ADF-971)] - Create Task/process attachment - Improve the functionality +- [[ADF-1032](https://issues.alfresco.com/jira/browse/ADF-1032)] - CLA - External PR automate task +- [[ADF-1108](https://issues.alfresco.com/jira/browse/ADF-1108)] - Task header - Show the parent name clickable +- [[ADF-1114](https://issues.alfresco.com/jira/browse/ADF-1114)] - Process comments - Share the same comment between Task and Process + +### Epic + +- [[ADF-697](https://issues.alfresco.com/jira/browse/ADF-697)] - Provide support for Codelizer +- [[ADF-868](https://issues.alfresco.com/jira/browse/ADF-868)] - Add the adf prefix across all the components + +### Bug + +- [[ADF-195](https://issues.alfresco.com/jira/browse/ADF-195)] - fix 'change detection crash' when using router multiple times - 1550 Github +- [[ADF-334](https://issues.alfresco.com/jira/browse/ADF-334)] - "$" symbol on a currency/amount field is shown against the label - 1707 Github +- [[ADF-523](https://issues.alfresco.com/jira/browse/ADF-523)] - Search Component - Unable to delete a file +- [[ADF-733](https://issues.alfresco.com/jira/browse/ADF-733)] - Activiti start process - AppId should not be mandatory +- [[ADF-770](https://issues.alfresco.com/jira/browse/ADF-770)] - Wrong highlight is displayed around options within DocumentList. +- [[ADF-778](https://issues.alfresco.com/jira/browse/ADF-778)] - "Upload Dialog" displays files that were previously uploaded on a different account. +- [[ADF-790](https://issues.alfresco.com/jira/browse/ADF-790)] - Attachment List displays the attached files within a user task. +- [[ADF-819](https://issues.alfresco.com/jira/browse/ADF-819)] - Snackbar does not appear when uploading files via DnD +- [[ADF-923](https://issues.alfresco.com/jira/browse/ADF-923)] - Involved user should not be able to see 'Complete' button as active in a task. +- [[ADF-939](https://issues.alfresco.com/jira/browse/ADF-939)] - [Login] Sign in button does not stay at the bottom +- [[ADF-943](https://issues.alfresco.com/jira/browse/ADF-943)] - APS ContentApi is not present on index.d.ts and SitesApi is not complete +- [[ADF-945](https://issues.alfresco.com/jira/browse/ADF-945)] - 'Undefined' is displayed in 'attach file' widget after restore. +- [[ADF-950](https://issues.alfresco.com/jira/browse/ADF-950)] - when the Form in readonly mode you can edit the date +- [[ADF-957](https://issues.alfresco.com/jira/browse/ADF-957)] - Duplicate Rest calls are made for fields where Rest end points are given +- [[ADF-966](https://issues.alfresco.com/jira/browse/ADF-966)] - Data table doesn't update on async loading +- [[ADF-978](https://issues.alfresco.com/jira/browse/ADF-978)] - No warning message is displayed to the user when minor changes are made on Settings. +- [[ADF-1001](https://issues.alfresco.com/jira/browse/ADF-1001)] - [Process Diagram Widget] - Long process details are not rendered correctly. +- [[ADF-1003](https://issues.alfresco.com/jira/browse/ADF-1003)] - An unsupported file can't be convert to pdf +- [[ADF-1013](https://issues.alfresco.com/jira/browse/ADF-1013)] - [Login Page] - 'Login footer' cannot be switched off. +- [[ADF-1015](https://issues.alfresco.com/jira/browse/ADF-1015)] - Document List is missing @Input decorator for loading state +- [[ADF-1026](https://issues.alfresco.com/jira/browse/ADF-1026)] - Default "empty" document list view should be translatable. +- [[ADF-1047](https://issues.alfresco.com/jira/browse/ADF-1047)] - AlfrescoSettingsService defaults to 'ALL' on page reload +- [[ADF-1048](https://issues.alfresco.com/jira/browse/ADF-1048)] - Multiple files attached to a task within a form are not displayed +- [[ADF-1056](https://issues.alfresco.com/jira/browse/ADF-1056)] - Form List Component does not display the forms of the user +- [[ADF-1068](https://issues.alfresco.com/jira/browse/ADF-1068)] - Files can be uploaded using drag and drop when 'enable file' is unchecked +- [[ADF-1070](https://issues.alfresco.com/jira/browse/ADF-1070)] - User preferences service does not restore prefix on page reload. +- [[ADF-1072](https://issues.alfresco.com/jira/browse/ADF-1072)] - Unsupported type of file attached to a task or process can not be converted to pdf +- [[ADF-1078](https://issues.alfresco.com/jira/browse/ADF-1078)] - [Tasks] - Task Details are displayed inside Task Filters list. +- [[ADF-1079](https://issues.alfresco.com/jira/browse/ADF-1079)] - [Process Services] - Not able to start a process. +- [[ADF-1081](https://issues.alfresco.com/jira/browse/ADF-1081)] - Scroll bar is missing in comments component +- [[ADF-1097](https://issues.alfresco.com/jira/browse/ADF-1097)] - File with unaccepted extension is uploaded when 'Format' is set to 'All files' +- [[ADF-1134](https://issues.alfresco.com/jira/browse/ADF-1134)] - [Document List] Selection events not raised for certain scenarios +- [[ADF-1138](https://issues.alfresco.com/jira/browse/ADF-1138)] - Start Task Form Assignee dropdown show null value inside +- [[ADF-1140](https://issues.alfresco.com/jira/browse/ADF-1140)] - Task header - Wrong parent name key +- [[ADF-1142](https://issues.alfresco.com/jira/browse/ADF-1142)] - Cannot add comment into a process. +- [[ADF-1143](https://issues.alfresco.com/jira/browse/ADF-1143)] - [TaskList] - Not able to start a task when changing the assignee from the 'Start Task' form. +- [[ADF-1147](https://issues.alfresco.com/jira/browse/ADF-1147)] - [Processes] - Form is not rendered properly when starting a new process. +- [[ADF-1148](https://issues.alfresco.com/jira/browse/ADF-1148)] - [TaskList] - 'Description' is not rendered. +- [[ADF-1149](https://issues.alfresco.com/jira/browse/ADF-1149)] - 'Remove' involved people of a task button is displayed behind the dialog +- [[ADF-1151](https://issues.alfresco.com/jira/browse/ADF-1151)] - [Processes] - 'Show Diagram' option is not displayed. +- [[ADF-1155](https://issues.alfresco.com/jira/browse/ADF-1155)] - The Process and Task filters are not displayed properly in ADF for applications created in APS +- [[ADF-1162](https://issues.alfresco.com/jira/browse/ADF-1162)] - List with forms is not displayed inside Form List. +- [[ADF-1168](https://issues.alfresco.com/jira/browse/ADF-1168)] - Tasks header component and Processes header component have different margins +- [[ADF-1169](https://issues.alfresco.com/jira/browse/ADF-1169)] - [Start Task] - Missing date validation +- [[ADF-1175](https://issues.alfresco.com/jira/browse/ADF-1175)] - Start Process and Start Task Forms don't close when Cancel button is clicked +- [[ADF-1190](https://issues.alfresco.com/jira/browse/ADF-1190)] - Task form - Unable to view task form when the process does not have variables +- [[ADF-1199](https://issues.alfresco.com/jira/browse/ADF-1199)] - MinimalNodeEntryEntity is missing the "allowableOperations" property +- [[ADF-1200](https://issues.alfresco.com/jira/browse/ADF-1200)] - The URL validation error message is still displayed after changing the invalid url with a valid one +- [[ADF-1201](https://issues.alfresco.com/jira/browse/ADF-1201)] - 508 Compliance Resolution for the App tiles. - 2131 Github +- [[ADF-1216](https://issues.alfresco.com/jira/browse/ADF-1216)] - The included packages are not displayed in About Component if the user is logged only on Content Services +- [[ADF-1228](https://issues.alfresco.com/jira/browse/ADF-1228)] - Task Details - The People and Involve component are not aligned +- [[ADF-1229](https://issues.alfresco.com/jira/browse/ADF-1229)] - Task Filter - Wrong task filter is selected when a new task is created + +### New Feature + +- [[ADF-112](https://issues.alfresco.com/jira/browse/ADF-112)] - Task Header in TaskDetails component shows DueDate but is not editable +- [[ADF-402](https://issues.alfresco.com/jira/browse/ADF-402)] - Process Diagram Widget - Show the current process state +- [[ADF-487](https://issues.alfresco.com/jira/browse/ADF-487)] - Info tab should show Content Service and Process service information +- [[ADF-858](https://issues.alfresco.com/jira/browse/ADF-858)] - Provide ability to attach multiple files on process Form- 1988 Github +- [[ADF-917](https://issues.alfresco.com/jira/browse/ADF-917)] - Upload ignore list files configuration +- [[ADF-955](https://issues.alfresco.com/jira/browse/ADF-955)] - Custom icons for selected rows +- [[ADF-960](https://issues.alfresco.com/jira/browse/ADF-960)] - Allow changing copyright section for Login component +- [[ADF-967](https://issues.alfresco.com/jira/browse/ADF-967)] - Evaluate "hostname" and "port" in the app config service +- [[ADF-968](https://issues.alfresco.com/jira/browse/ADF-968)] - Dropdown sites and favorites +- [[ADF-983](https://issues.alfresco.com/jira/browse/ADF-983)] - User Preferences Service +- [[ADF-1038](https://issues.alfresco.com/jira/browse/ADF-1038)] - Dropdown breadcrumbs +- [[ADF-1039](https://issues.alfresco.com/jira/browse/ADF-1039)] - Search results highlighting +- [[ADF-1040](https://issues.alfresco.com/jira/browse/ADF-1040)] - Change document list style rows based on permissions +- [[ADF-1041](https://issues.alfresco.com/jira/browse/ADF-1041)] - Copy and Move Component +- [[ADF-1086](https://issues.alfresco.com/jira/browse/ADF-1086)] - Allow providing "attachment" option value when generating content links +- [[ADF-1109](https://issues.alfresco.com/jira/browse/ADF-1109)] - APS Audit REST API in the JS API +- [[ADF-1115](https://issues.alfresco.com/jira/browse/ADF-1115)] - Improve Document List selection management + +### Task + +- [[ADF-497](https://issues.alfresco.com/jira/browse/ADF-497)] - Improvement to task comment (activiti-comments) component - 1829 Github +- [[ADF-506](https://issues.alfresco.com/jira/browse/ADF-506)] - Unify thumbnail service across search and document list +- [[ADF-861](https://issues.alfresco.com/jira/browse/ADF-861)] - Add codelizer in ng2-alfresco-viewer ng2-alfresco-webscript +- [[ADF-862](https://issues.alfresco.com/jira/browse/ADF-862)] - Add codelizer in ng2-alfresco-login ng2-alfresco-search +- [[ADF-867](https://issues.alfresco.com/jira/browse/ADF-867)] - Add codelizer in demo-shell and genral build +- [[ADF-869](https://issues.alfresco.com/jira/browse/ADF-869)] - Add ADF prefix on ng2-alfresco-core ng2-alfresco-datatatable +- [[ADF-870](https://issues.alfresco.com/jira/browse/ADF-870)] - Add ADF prefix ng2-alfresco-tag ng2-alfresco-social +- [[ADF-871](https://issues.alfresco.com/jira/browse/ADF-871)] - Add ADF prefix ng2-alfresco-login ng2-alfresco-userinfo +- [[ADF-872](https://issues.alfresco.com/jira/browse/ADF-872)] - Add ADF prefix ng2-alfresco-documentlist ng2-alfresco-search +- [[ADF-873](https://issues.alfresco.com/jira/browse/ADF-873)] - Add ADF prefix ng2-alfresco-webscript ng2-alfresco-viewer +- [[ADF-874](https://issues.alfresco.com/jira/browse/ADF-874)] - Add ADF prefix ng2-activiti-diagrams ng2-alfresco-analytics +- [[ADF-875](https://issues.alfresco.com/jira/browse/ADF-875)] - Add ADF prefix ng2-activiti-tasklist ng2-activiti-processlist +- [[ADF-876](https://issues.alfresco.com/jira/browse/ADF-876)] - Add ADF prefix ng2-activiti-form +- [[ADF-924](https://issues.alfresco.com/jira/browse/ADF-924)] - Upload Component - Import the logic/design from EFSS +- [[ADF-973](https://issues.alfresco.com/jira/browse/ADF-973)] - Remove demo projects from components folder +- [[ADF-992](https://issues.alfresco.com/jira/browse/ADF-992)] - Integrate SFS enhancements to Document List +- [[ADF-993](https://issues.alfresco.com/jira/browse/ADF-993)] - Integrate SFS enhancements for Toolbar component +- [[ADF-1002](https://issues.alfresco.com/jira/browse/ADF-1002)] - Attachment Task list - Add Drag and drop functionality +- [[ADF-1030](https://issues.alfresco.com/jira/browse/ADF-1030)] - Datatable - enable isLoading to show the spinner in all the components +- [[ADF-1044](https://issues.alfresco.com/jira/browse/ADF-1044)] - Activiti Comment - use the new design inside the demoshell +- [[ADF-1045](https://issues.alfresco.com/jira/browse/ADF-1045)] - Attachment Process list - Improve the functionality +- [[ADF-1092](https://issues.alfresco.com/jira/browse/ADF-1092)] - Remove DataTable dependency on MDL +- [[ADF-1103](https://issues.alfresco.com/jira/browse/ADF-1103)] - Add custom tslint rules to avoid unwanted Class and File name prefix +- [[ADF-1112](https://issues.alfresco.com/jira/browse/ADF-1112)] - Move JS-API related services to ADF core +- [[ADF-1117](https://issues.alfresco.com/jira/browse/ADF-1117)] - Activiti Start Process - Migrate to MD +- [[ADF-1120](https://issues.alfresco.com/jira/browse/ADF-1120)] - Remove MDL button wrapper from ADF core +- [[ADF-1144](https://issues.alfresco.com/jira/browse/ADF-1144)] - Deprecate MDL sidebar in demo shell + +Please refer to [the Alfresco issue tracker](https://issues.alfresco.com/jira/projects/ADF/issues/ADF-581?filter=allopenissues) for other known issues in this release. If you have more questions, please reply here or contact us using [gitter](https://gitter.im/Alfresco/alfresco-ng2-components). diff --git a/docs/release-notes/RelNote180.md b/docs/release-notes/RelNote180.md new file mode 100644 index 0000000000..7e2f91aad9 --- /dev/null +++ b/docs/release-notes/RelNote180.md @@ -0,0 +1,564 @@ +# Alfresco Application Development Framework, version 1.8.0 Release Note + +These release notes provide information for the **1.8.0 release** of Alfresco Application Development Framework. + +This is the next **Limited Available** release of Application Development Framework, containing the Angular components to build a Web Application on top of the Alfresco Services. +The release can be found on GitHub at [this link.](https://github.com/Alfresco/alfresco-ng2-components/releases/tag/1.7.0) + +## Goals for this release + +In the ADF 1.8 release we've introduced a number of new generic features, such as Info Drawer, theming capabilities and lots of form customizations and accessibility. The task list now works with the pagination component and we have started the work to completely redesign the viewer component. +We continue the effort to migrate to @angular/material, it will be a few more releases before we wrap up that work. The data table and document list continue to get new features and enhancements, with the new data sources and layout presets we open up possibilities for externalizing the layout and sources for the document list. + +This release builds on last month's contains bug fixes and new feature. See the list below for major details. + +Please report issues with this release in the [issue tracker](https://github.com/Alfresco/alfresco-ng2-components/issues). You can collaborate on this release or share feedback by using the discussion tools on [gitter](https://gitter.im/Alfresco/alfresco-ng2-components). + +## Notable new features + +Below the most relevant features of this release: + +- Theming ADF component +- Info Drawer component +- Form style component enhancements +- Empty form template +- Additional data sources input for Document List +- Form validation enhancements +- FormFieldModel/FormModelimprovements +- DataTable** **Accessibility Improvements +- Copy and move component enhancements +- Download as a ZIP functionality +- Tooltips for DataTable/DocumentList cells +- Profile picture in Comments and Involved people +- Support for additional data sources in Document List +- Directive to disable element or component based on node permission +- Task/Process Audit Log Directive +- Task List Pagination +- Migrate to @angular/material date picker component +- File Viewer design update and new features + +### 1. Theming ADF component + +We have added in ADF several pre-built theme css files. These theme files also include all of the styles for core (styles common to all components), so you only have to include a single css file for Angular Material in your app. +When you want more customization than a pre-built theme offers, you can create your own theme file. You need to include the packages only what you really use in your application. For more information about theming please refer to the [offiicial documentation.](https://github.com/Alfresco/alfresco-ng2-components/blob/development/docs/theming.md) + +![](images/theming.gif) + +### 2. Info Drawer component + +It is now possible to use the Info Drawer component, which gives you a sidebar like look with tabbing support. For more information about the usage, check the documentation in the core package. + +![](images/info-drawer.gif) + +### 3. Form style component enhancements + +We have completed the transition from mdl to material2 for the form components. In addition we have also improved the style of some form components. + +![](images/Screen+Shot+2017-09-05+at+16.51.41.png) + +### 4. Empty form template + +You can now add an empty template that will be shown if no form definition are present + +``` + +   
+      

Empty form

+    
+
+``` + +### 5. Form Validation Enhancements + +New events that allow taking control over the Form and Field validation: + +``` +validateForm: Subject +validateFormField: Subject() +``` + +The [validateForm](https://github.com/Alfresco/alfresco-ng2-components/blob/development/ng2-components/ng2-activiti-form/src/events/validate-form.event.ts) event is raised every time the entire Form is re-validated. This happens also every time a field value or some of the properties is changed (for example the "required" property). The [validateFormField](https://github.com/Alfresco/alfresco-ng2-components/blob/development/ng2-components/ng2-activiti-form/src/events/validate-form-field.event.ts) event is raised every time a single Form Field is re-validated. + +Both events are "cancellable", that means you can apply your own validation rules, change corresponding field validation state, or even prevent the default behaviour if needed. + +Example: + +``` +this.formService.validateFormField.subscribe( +  (event: ValidateFormFieldEvent) => { +    const field = event.field; +    const form = event.form; +    // do some custom validation based on field or form + +    // set validation as "failed" and prevent any further checks +    event.isValid = false; +    event.preventDefault(); +  } +); +``` + +### 6. FormFieldModel/FormModel improvements + +#### FormFieldModel + +The "required" property now re-validates the corresponding Field and entire Form upon every change. That enables scenarios when the "required" constraint is changed dynamically for a field based on some external factors. + +#### FormModel + +New "getFieldById" method to simplify certain scenarios when accessing multiple fields by id + +``` +getFieldById(fieldId: string): FormFieldModel +``` + +The Form now controls all Field validators. It becomes possible managing existing validator instances, replacing them, or extending form validation with custom rules and error messages. The "adf-form" component now also supports binding custom validator sets to the underlying FormModel, that allows defining validation sets in your code and binding via HTML. + +You can read more details on the new Validation layer in the Form readme: [Form Field Validators](https://github.com/Alfresco/alfresco-ng2-components/tree/development/ng2-components/ng2-activiti-form#form-field-validators). The "demo shell" application has been also extended to demonstrate custom validators in action. You can check the code here: [Demo Field Validator](https://github.com/Alfresco/alfresco-ng2-components/blob/development/demo-shell-ng2/app/components/activiti/demo-field-validator.ts). + +### 7. DataTable Accessibility Improvements + +The "**DataTable**" component has got multiple accessibility improvements. That means all derived components (Document List, Tas/Process List, etc) get the same set of features automatically. + +The major features are: + +- tabbing through the column headers (including Shift-Tab to tab backwards) +- tabbing through the individual row cells (including Shift-Tab to tab backwards) +- focus rings for row cells and column headers +- keyboard (Enter key) support for column headers: sorting order change +- keyboard (Enter key) support for rows: navigate to a folder or initiate a file preview + +### 8. Copy and move component enhancements + +Further enhancements were implemented for the Copy & move dialog. From now, you can see the path of a selected item, navigate back with the breadcrumbs and select the folder you entered. + +![](images/copy-and-move-II.gif) + +### 9. Download as a ZIP functionality + +The ADF framework provides support for downloading nodes (Files and Folders) as "ZIP" archives. The **alfresco-js-api** library features new support for the [Downloads](https://api-explorer.alfresco.com/api-explorer/#/downloads) API. In addition, the Core library (ng2-alfresco-core) provides a "DownloadZipDialogComponent" that allows invoking "Download as Zip" dialogues from any place in your code. + +![](images/download-as-zip.gif) + +You can see a working button handler code in the following [resource](https://github.com/Alfresco/alfresco-ng2-components/blob/development/demo-shell-ng2/app/components/files/files.component.ts#L234). + +### 10. Tooltips for DataTable/DocumentList cells + +It is now possible to provide a custom tooltip for every column in the DataTable and derived components. + +``` + + +``` + +And the code behind in this case can be as follows: + +``` +import { DataColumn, DataRow } from 'ng2-alfresco-datatable'; + +@Component({...}) +export class MyComponent { +    ... + +    getNodeNameTooltip(row: DataRow, col: DataColumn): string { +        if (row) { +            return row.getValue('name'); +        } +        return null; +    } +} +``` + +### 11. Profile picture in Comments and Involved people + +With the new ADF release, if the user has a profile picture, it will be shown inside the Comment/Involved People component: + +![involved people component with images](images/Screen+Shot+2017-09-05+at+11.31.50.png) + +![adf comment component with profile image](images/Screen+Shot+2017-09-05+at+11.38.58.png) + +### 12. Support for additional data sources in Document List + +#### Column Types + +DocumentList component now provides various enhancements for existing, and support for additional column types: + +- **date**: additional "timeAgo" format value for dates, automatically switches to full date for periods longer than a week +- **fileSize**: displays the size of the File node, including conversion to KB, MB, etc. +- **location**: renders a hyperlink to the node's parent folder, allows navigating to a particular route based on the "format" value settings + +You can get more details on the column types in the "[Column Types](https://github.com/Alfresco/alfresco-ng2-components/tree/development/ng2-components/ng2-alfresco-documentlist#column-types)" section of the documentation. + +#### Data Sources and Layout Presets + +DocumentList now also supports extra data sources. You can now set the "**currentFolderId**" property to one of the following values: + +- -trashcan- +- -sharedlinks- +- -sites- +- -favorites- +- -recent- + +The component provides reasonable column defaults for each custom source, so you can use an empty **adf-document-list** tag in HTML templates, and the layout will be automatically adopted. + +![](images/dl-custom-sources.gif) + +You can get more details on the data sources and default presets in the [Data Sources](https://github.com/Alfresco/alfresco-ng2-components/tree/development/ng2-components/ng2-alfresco-documentlist#data-sources) section. + +### 13. Directive to disable element or component based on node permission + +The Core ADF library (ng2-alfresco-core) features a new **adf-node-permission** directive that allows you to selectively disable or enable an HTML element or an Angular component based on the node permissions. You can bind one or multiple nodes by means of the **adf-nodes** property that becomes available for each element. + +For example toggling the state of the toolbar button based on the DocumentList selection state (selected nodes): + +``` + +    + + + + ... + +``` + +You can find all the details and usage examples in the directive documentation: [Node Permission Directive](https://github.com/Alfresco/alfresco-ng2-components/tree/development/ng2-components/ng2-alfresco-core#node-permission-directive). + +### 14. Task/Process Audit Log Directive + +With the latest ADF release, we got two new directives **adf-process-audit** and **adf-task-audit**. Using these directives is very easily create a button to download the Task Audit or the Process Audit pdf. +In the case you are using the **adf-process-audit**  the only parameters that are needed are: + +- process-id +- fileName +- format (pdf or json) + +``` + +``` + +You can see how it looks like the button after the bind: + +![](images/Screen+Shot+2017-09-05+at+09.42.03.png) + +On the click process audit pdf will be downloaded: + +![download process audit ](images/Screen+Shot+2017-09-04+at+12.10.25.png) + +In the case you are using the **adf-task-audit**  the only parameters that are needed are: + +- task-id +- fileName +- format (pdf or json) + +``` + +``` + +You can see how it looks like the button after the bind: + +![](images/Screen+Shot+2017-09-05+at+16.31.30.png) + +On the click the task audit pdf will be downloaded: + +![task audit pdf](images/Screen+Shot+2017-09-05+at+10.58.23.png) + +### 15. Task List Pagination + +With the latest ADF release, the adf-tasklist is fully compatible with the adf-pagination component. Although ADF doesn't provide a  single component that includes the adf-tasklist and the adf-pagination in a single component, is not so difficult create your custom component that binds the adf-tasklist and the adf-pagination. + +This is how the pagination looks like: + +![task list pagination](images/Screen+Shot+2017-09-04+at+13.15.18.png) + +tasklist-pagination.html + +``` + + + + + +``` + +tasklist-pagination.ts + +``` +import { Component, OnInit } from '@angular/core'; +import { Pagination } from 'alfresco-js-api'; +import { TaskListService } from 'ng2-activiti-tasklist'; + +@Component({ +    selector: 'tasklist-paginator', +    templateUrl: './activiti-tasklist-paginator.component.html' +}) +export class TasklistPaginatorComponent implements OnInit { + +    pagination: Pagination = { +        skipCount: 0, +        maxItems: 5, +        totalItems: +    }; + +    page: number = 0; + +    constructor(private taskListService: TaskListService) { +    } + +    ngOnInit() { +        this.taskListService.tasksList$.subscribe( +            (tasks) => { +                this.pagination = {count: tasks.data.length, maxItems: this.pagination.maxItems, skipCount: this.pagination.skipCount, totalItems: tasks.total}; +            }, (err) => { +            console.log('err'); +        }); + +    } + +    onPrevPage(pagination: Pagination): void { +        this.pagination.skipCount = pagination.skipCount; +        this.page--; +    } + +    onNextPage(pagination: Pagination): void { +        this.pagination.skipCount = pagination.skipCount; +        this.page++; +    } + +    onChangePageSize(pagination: Pagination): void { +        const { maxItems, skipCount } = pagination; +        this.page = (skipCount && maxItems) ? Math.floor(skipCount / maxItems) : 0; +        this.pagination.maxItems = maxItems; +        this.pagination.skipCount = skipCount; +    } + +    onChangePageNumber(pagination: Pagination): void { +        this.pagination.skipCount = pagination.skipCount; +        this.page = Math.floor(pagination.skipCount / pagination.maxItems); +    } + +} +``` + +You can still tune the styles for the focus rings from within your application, or switch them off if needed via custom css. + +### 16. Migrate to @angular/material date picker component + +From 1.8.0 we moved all the date picker present in the ng2-activiti-form and ng2-activiti-diagrams to the standard @angular/material date picker + +![](images/Screen+Shot+2017-09-05+at+16.21.35.png) + +### 17. File Viewer design update and new features + +With 1.8.0 release ADF starts building a foundation for a new Viewer Dialog and Viewer Service implementations to back the improved file viewing experience. +In the current release, you can test a basic implementation of the Viewer Dialog component used to view image/text/video/music/pdf files. + +![](images/Screenshot+2017-09-05+14.00.57.png) + +This dialogue does not require extra HTML elements in your templates and can be opened from any place in your code using Viewer Service: + +``` +if (node.isFile) { +  this.viewerService.showViewerForNode(node); +} +``` + +Note that the dialog component and the underlying service are in the early preview and APIs are subject to change in the future releases. + +## References + +Below you can find a brief list of references to help you start to use the new release. + +[Official GitHub Project - alfresco-ng2-components](https://github.com/Alfresco/alfresco-ng2-components) + +[Getting started guides with Alfresco Application Development Framework](https://community.alfresco.com/community/application-development-framework/pages/get-started) + +[Component catalog](http://devproducts.alfresco.com/) + +[Gitter chat supporting Alfresco ADF](https://gitter.im/Alfresco/alfresco-ng2-components) + +[ADF examples](https://github.com/Alfresco/adf-examples) + +[List of all components](https://github.com/Alfresco/alfresco-ng2-components/tree/master/ng2-components) + +[Alfresco-JS-API](https://github.com/Alfresco/alfresco-js-api) + +[ADF App Generator ](https://github.com/Alfresco/generator-ng2-alfresco-app) + +Please refer to the [official documentation](http://docs.alfresco.com/) for further details and suggestions. + +## Issues addressed + +Below you can find a detailed list of tickets addressed in the new release. For a better understanding, the list is grouped by topic. + +Release Notes - Apps Development Framework - Version 1.8. + +## Documentation + +- [[ADF-1281](https://issues.alfresco.com/jira/browse/ADF-1281)] - Test naming convention in the contribution guide + +## Bug + +- [[ADF-129](https://issues.alfresco.com/jira/browse/ADF-129)] - Erratic Data Picker - GitHub 1223 +- [[ADF-224](https://issues.alfresco.com/jira/browse/ADF-224)] - Custom stencil components not getting rendered on a completed task/start form - 1597 Github +- [[ADF-662](https://issues.alfresco.com/jira/browse/ADF-662)] - Cannot preview document on completed start event +- [[ADF-1048](https://issues.alfresco.com/jira/browse/ADF-1048)] - [Form] Multiple files attached to a task within a form are not displayed +- [[ADF-1052](https://issues.alfresco.com/jira/browse/ADF-1052)] - [Process Services] - Left and right menu arrows are not active. +- [[ADF-1095](https://issues.alfresco.com/jira/browse/ADF-1095)] - Date Range picker remains on screen. +- [[ADF-1096](https://issues.alfresco.com/jira/browse/ADF-1096)] - Process details are not fully displayed on Process Definition Heat Map. +- [[ADF-1143](https://issues.alfresco.com/jira/browse/ADF-1143)] - [TaskList] - Not able to start a task when changing the assignee from the 'Start Task' form. +- [[ADF-1197](https://issues.alfresco.com/jira/browse/ADF-1197)] - Cannot upload more than one files on a form. +- [[ADF-1208](https://issues.alfresco.com/jira/browse/ADF-1208)] - [Safari] Favorites Api service returns invalid dates for "createdAt" and "modifiedAt" fields. +- [[ADF-1219](https://issues.alfresco.com/jira/browse/ADF-1219)] - Folder contents are not displayed when double clicking an empty folder in Search Page component +- [[ADF-1252](https://issues.alfresco.com/jira/browse/ADF-1252)] - When closing the Process Diagram the Tasks page is displayed +- [[ADF-1259](https://issues.alfresco.com/jira/browse/ADF-1259)] - Process Filter - Wrong process filter is selected when a new process is created +- [[ADF-1262](https://issues.alfresco.com/jira/browse/ADF-1262)] - Breadcrumb does not shrink when part of the Toolbar header +- [[ADF-1265](https://issues.alfresco.com/jira/browse/ADF-1265)] - Task Header - Datapicker is not showed in the middle +- [[ADF-1267](https://issues.alfresco.com/jira/browse/ADF-1267)] - [Datatable] csra 508 add tabbing datatable - 2157 Github +- [[ADF-1286](https://issues.alfresco.com/jira/browse/ADF-1286)] - getProfilePicture in userApi on alfresco-js-api doesn't return nothing. +- [[ADF-1307](https://issues.alfresco.com/jira/browse/ADF-1307)] - Header Bar colour should always be orange. +- [[ADF-1313](https://issues.alfresco.com/jira/browse/ADF-1313)] - isLoggedIn method of EcmAuth client is returning "true" when ticket expires - 2178 Github +- [[ADF-1316](https://issues.alfresco.com/jira/browse/ADF-1316)] - Can not assign a task to a user without an actual email address +- [[ADF-1327](https://issues.alfresco.com/jira/browse/ADF-1327)] - Attach File widget is not displayed. +- [[ADF-1328](https://issues.alfresco.com/jira/browse/ADF-1328)] - Multi-line text widget is not displaying a value after completing a form. +- [[ADF-1329](https://issues.alfresco.com/jira/browse/ADF-1329)] - "Multi-line text" widget is not rendered properly. +- [[ADF-1346](https://issues.alfresco.com/jira/browse/ADF-1346)] - Attachment list component is shown for completed tasks/processes +- [[ADF-1348](https://issues.alfresco.com/jira/browse/ADF-1348)] - Upload Dialog - 'Cancel All' button does not render +- [[ADF-1360](https://issues.alfresco.com/jira/browse/ADF-1360)] - An error appears in console when clicking on Content Services in Demo Shell +- [[ADF-1368](https://issues.alfresco.com/jira/browse/ADF-1368)] - A file deleted from Document List is still displayed as uploaded in Uploader +- [[ADF-1370](https://issues.alfresco.com/jira/browse/ADF-1370)] - PDF viewer not using web worker +- [[ADF-1384](https://issues.alfresco.com/jira/browse/ADF-1384)] - ADF Form - The placeholder is overlapping the label +- [[ADF-1386](https://issues.alfresco.com/jira/browse/ADF-1386)] - if pagination attribute is undefined shows inconsistent range +- [[ADF-1394](https://issues.alfresco.com/jira/browse/ADF-1394)] - Favorites Api not passing the "include" settings to server +- [[ADF-1395](https://issues.alfresco.com/jira/browse/ADF-1395)] - The title of the reports is not aligned. +- [[ADF-1407](https://issues.alfresco.com/jira/browse/ADF-1407)] - Editing a Report title should be aligned. +- [[ADF-1419](https://issues.alfresco.com/jira/browse/ADF-1419)] - Document List does not show node icon for certain nodes +- [[ADF-1420](https://issues.alfresco.com/jira/browse/ADF-1420)] - [Copy/Move] A folder selected in 'Destination chooser' dialog does not get deselected when selecting it's parent folder +- [[ADF-1425](https://issues.alfresco.com/jira/browse/ADF-1425)] - [Copy/Move]The list of folders is not changed when selecting a site in the 'Destination chooser' dialog +- [[ADF-1426](https://issues.alfresco.com/jira/browse/ADF-1426)] - [Copy/Move]The list of folders is not changed when deleting the 'Search' field input in the 'Destination chooser' dialog +- [[ADF-1428](https://issues.alfresco.com/jira/browse/ADF-1428)] - User is not able to copy/move a file/folder to the root folder. +- [[ADF-1432](https://issues.alfresco.com/jira/browse/ADF-1432)] - Can not create a task +- [[ADF-1442](https://issues.alfresco.com/jira/browse/ADF-1442)] - No able to navigate to a task from within a process. +- [[ADF-1454](https://issues.alfresco.com/jira/browse/ADF-1454)] - [Login Demo] - Switches on Login Page have wrong behaviour. +- [[ADF-1456](https://issues.alfresco.com/jira/browse/ADF-1456)] - timeAgo Pipe - Return invalid date when the input is empty +- [[ADF-1458](https://issues.alfresco.com/jira/browse/ADF-1458)] - 'Enable upload' button is not working. +- [[ADF-1459](https://issues.alfresco.com/jira/browse/ADF-1459)] - Filter selection is not displayed. +- [[ADF-1466](https://issues.alfresco.com/jira/browse/ADF-1466)] - Ng2-activiti-tasklist module uses NO_ERRORS_SCHEMA schema, which hides underlying error +- [[ADF-1476](https://issues.alfresco.com/jira/browse/ADF-1476)] - Row borders (top and bottom) overlap each other for DataTable +- [[ADF-1478](https://issues.alfresco.com/jira/browse/ADF-1478)] - Pagination is not properly displayed when resizing the browser window. +- [[ADF-1479](https://issues.alfresco.com/jira/browse/ADF-1479)] - Pagination is not working properly on Document List. +- [[ADF-1480](https://issues.alfresco.com/jira/browse/ADF-1480)] - Padding is missing from Task List. +- [[ADF-1484](https://issues.alfresco.com/jira/browse/ADF-1484)] - Switching to custom data source won't change default column layout in DL +- [[ADF-1485](https://issues.alfresco.com/jira/browse/ADF-1485)] - 'Sorting' options are not visible on the Document List. +- [[ADF-1486](https://issues.alfresco.com/jira/browse/ADF-1486)] - Pagination arrows are not visible on search results. +- [[ADF-1487](https://issues.alfresco.com/jira/browse/ADF-1487)] - Checklist placeholder remains on screen. +- [[ADF-1489](https://issues.alfresco.com/jira/browse/ADF-1489)] - Cannot rate a file +- [[ADF-1490](https://issues.alfresco.com/jira/browse/ADF-1490)] - 'Sorting' options are not visible on the 'About'. +- [[ADF-1491](https://issues.alfresco.com/jira/browse/ADF-1491)] - 'Sorting' options are not visible on 'Form List'. +- [[ADF-1494](https://issues.alfresco.com/jira/browse/ADF-1494)] - Padding and highlighting missing on process list +- [[ADF-1495](https://issues.alfresco.com/jira/browse/ADF-1495)] - Task List is not loading. +- [[ADF-1497](https://issues.alfresco.com/jira/browse/ADF-1497)] - Image not displayed when folder is empty +- [[ADF-1498](https://issues.alfresco.com/jira/browse/ADF-1498)] - Pagination on Task List is not aligned when having two tasks or more. +- [[ADF-1499](https://issues.alfresco.com/jira/browse/ADF-1499)] - Advanced "Date Widget" properties do not apply on Demo Shell. +- [[ADF-1500](https://issues.alfresco.com/jira/browse/ADF-1500)] - Dynamic table does not display column names. +- [[ADF-1501](https://issues.alfresco.com/jira/browse/ADF-1501)] - Date widget value is not updated when is cleared. +- [[ADF-1502](https://issues.alfresco.com/jira/browse/ADF-1502)] - AoT problems when using ADF with Angular CLI +- [[ADF-1509](https://issues.alfresco.com/jira/browse/ADF-1509)] - 'Form Name' displays 'No form' after editing 'Due Date' or 'Description'. +- [[ADF-1510](https://issues.alfresco.com/jira/browse/ADF-1510)] - Report button tooltips are missing translation. +- [[ADF-1512](https://issues.alfresco.com/jira/browse/ADF-1512)] - Form is expanding when required label is displayed. +- [[ADF-1513](https://issues.alfresco.com/jira/browse/ADF-1513)] - Form List doesn't display form Tabs. + +## New Feature + +- [[ADF-365](https://issues.alfresco.com/jira/browse/ADF-365)] - Add support for 'empty form' template - 1736 Github +- [[ADF-459](https://issues.alfresco.com/jira/browse/ADF-459)] - [Document List] Ability to copy and move documents and folders +- [[ADF-832](https://issues.alfresco.com/jira/browse/ADF-832)] - Migrate to @angular/material date picker component +- [[ADF-1021](https://issues.alfresco.com/jira/browse/ADF-1021)] - Provide ability defining tooltips for DataTable/DocumentList cells +- [[ADF-1041](https://issues.alfresco.com/jira/browse/ADF-1041)] - Copy and Move Component +- [[ADF-1051](https://issues.alfresco.com/jira/browse/ADF-1051)] - DT/DL components should apply i18n pipes for the title content out of the box +- [[ADF-1083](https://issues.alfresco.com/jira/browse/ADF-1083)] - The profile picture is not displayed at 'Comments' and 'Involved people' in a task +- [[ADF-1213](https://issues.alfresco.com/jira/browse/ADF-1213)] - Provide ability to rename root element name in Breadcrumb +- [[ADF-1220](https://issues.alfresco.com/jira/browse/ADF-1220)] - Provide support for additional data sources in Document List +- [[ADF-1227](https://issues.alfresco.com/jira/browse/ADF-1227)] - Directive to disable element or component based on node permission +- [[ADF-1234](https://issues.alfresco.com/jira/browse/ADF-1234)] - DataTable and DocumentList should not unselect on double-click +- [[ADF-1261](https://issues.alfresco.com/jira/browse/ADF-1261)] - Task Audit Log Directive +- [[ADF-1287](https://issues.alfresco.com/jira/browse/ADF-1287)] - Fix issues related to noUnusedLocals rule in TypeScript +- [[ADF-1300](https://issues.alfresco.com/jira/browse/ADF-1300)] - Download as a ZIP functionality demo (5.2.1 repo) +- [[ADF-1318](https://issues.alfresco.com/jira/browse/ADF-1318)] - Create 'time ago' date converter +- [[ADF-1356](https://issues.alfresco.com/jira/browse/ADF-1356)] - Single configuration of i18n service per project +- [[ADF-1372](https://issues.alfresco.com/jira/browse/ADF-1372)] - Provide support for custom tooltips for Upload Button component +- [[ADF-1404](https://issues.alfresco.com/jira/browse/ADF-1404)] - Data Column enhancements for Document List +- [[ADF-1421](https://issues.alfresco.com/jira/browse/ADF-1421)] - Provide default column layout for Document List +- [[ADF-1427](https://issues.alfresco.com/jira/browse/ADF-1427)] - Show custom root in the breadcrumb even if node is not loaded +- [[ADF-1434](https://issues.alfresco.com/jira/browse/ADF-1434)] - Theming ADF component +- [[ADF-1435](https://issues.alfresco.com/jira/browse/ADF-1435)] - Info Drawer + +## Task + +- [[ADF-1188](https://issues.alfresco.com/jira/browse/ADF-1188)] - Upload drag drop component - Add a property to disable the component +- [[ADF-1306](https://issues.alfresco.com/jira/browse/ADF-1306)] - Process Task Audit Directive +- [[ADF-1309](https://issues.alfresco.com/jira/browse/ADF-1309)] - Pagination of task list +- [[ADF-714](https://issues.alfresco.com/jira/browse/ADF-714)] - Unify pagination across all components +- [[ADF-1116](https://issues.alfresco.com/jira/browse/ADF-1116)] - Task list without any status filter +- [[ADF-1139](https://issues.alfresco.com/jira/browse/ADF-1139)] - People Search - Provide a way to reset the search field when a user is selected +- [[ADF-852](https://issues.alfresco.com/jira/browse/ADF-852)] - [Form] Update Form widget to Material library +- [[ADF-520](https://issues.alfresco.com/jira/browse/ADF-520)] - remove the debug button from Analytics Component +- [[ADF-157](https://issues.alfresco.com/jira/browse/ADF-157)] - upload dialog Wrong number on File Upload Count - 1511 Github +- [[ADF-569](https://issues.alfresco.com/jira/browse/ADF-569)] - Provide support to Undo uploaded files in the Upload component +- [[ADF-720](https://issues.alfresco.com/jira/browse/ADF-720)] - Review all the template use +- [[ADF-994](https://issues.alfresco.com/jira/browse/ADF-994)] - [Pagination] Integrate SFS enhancements for Pagination component +- [[ADF-1180](https://issues.alfresco.com/jira/browse/ADF-1180)] - Add test cases to cover process list component +- [[ADF-1236](https://issues.alfresco.com/jira/browse/ADF-1236)] - Remove mdl from ng2-alfresco-login +- [[ADF-1237](https://issues.alfresco.com/jira/browse/ADF-1237)] - Remove mdl from ng2-alfresco-userinfo +- [[ADF-1239](https://issues.alfresco.com/jira/browse/ADF-1239)] - Remove mdl from ng2-alfresco-social +- [[ADF-1240](https://issues.alfresco.com/jira/browse/ADF-1240)] - Remove mdl from ng2-alfresco-tag +- [[ADF-1241](https://issues.alfresco.com/jira/browse/ADF-1241)] - Remove mdl from ng2-alfresco-upload +- [[ADF-1242](https://issues.alfresco.com/jira/browse/ADF-1242)] - Remove mdl from ng2-alfresco-viewer +- [[ADF-1243](https://issues.alfresco.com/jira/browse/ADF-1243)] - Remove mdl from ng2-alfresco-documentlist +- [[ADF-1244](https://issues.alfresco.com/jira/browse/ADF-1244)] - Remove mdl from ng2-alfresco-datatable +- [[ADF-1270](https://issues.alfresco.com/jira/browse/ADF-1270)] - Upgrade ACS to 5.2.1 +- [[ADF-1340](https://issues.alfresco.com/jira/browse/ADF-1340)] - File Viewer dialog preparation +- [[ADF-1374](https://issues.alfresco.com/jira/browse/ADF-1374)] - Move Download Zip dialog to the ADF +- [[ADF-1378](https://issues.alfresco.com/jira/browse/ADF-1378)] - Remove old MDL toolbar from the Document List +- [[ADF-1381](https://issues.alfresco.com/jira/browse/ADF-1381)] - Implement form control UX +- [[ADF-1388](https://issues.alfresco.com/jira/browse/ADF-1388)] - Add a toggle button for the allowDropFiles property to Demo Shell +- [[ADF-1403](https://issues.alfresco.com/jira/browse/ADF-1403)] - Upload Dialog - Trigger event for deleted files +- [[ADF-1437](https://issues.alfresco.com/jira/browse/ADF-1437)] - Update project generator 1.8. +- [[ADF-1453](https://issues.alfresco.com/jira/browse/ADF-1453)] - Restructure README.md files +- [[ADF-1457](https://issues.alfresco.com/jira/browse/ADF-1457)] - Upload Dialog - Cancel all confirmation dialog +- [[ADF-1468](https://issues.alfresco.com/jira/browse/ADF-1468)] - Upload Dialog - Remove color import + +Please refer to [the Alfresco issue tracker](https://issues.alfresco.com/jira/projects/ADF/issues/ADF-581?filter=allopenissues) for other known issues in this release. If you have more questions, please reply here or contact us using [gitter](https://gitter.im/Alfresco/alfresco-ng2-components). diff --git a/docs/release-notes/RelNote190.md b/docs/release-notes/RelNote190.md new file mode 100644 index 0000000000..6c7ec79edf --- /dev/null +++ b/docs/release-notes/RelNote190.md @@ -0,0 +1,360 @@ +# Alfresco Application Development Framework, version 1.9.0 Release Note + +These release notes provide information for the **1.9.0 release** of Alfresco Application Development Framework. + +This is the next **Limited Available** release of Application Development Framework, containing the Angular components to build a Web Application on top of the Alfresco Services. +The release can be found on GitHub at [this link.](https://github.com/Alfresco/alfresco-ng2-components/releases/tag/1.7.0) + +## Goals for this release + +In the ADF 1.9 release we've enhanced a number of components, such as Document List, Viewer and Breadcrumbs. We continue the effort to migrate to @angular/material, only a few more components remain until we are fully switched to Angular Material Design. Again in this release we have enhanced the accessibility and we have started to consolidate, streamline and enhance our documentation. Before everything was inside the individual README.md files, this has now been pulled out into a [separate directory](https://github.com/Alfresco/alfresco-ng2-components/tree/master/docs), and a new [Doc Index](https://github.com/Alfresco/alfresco-ng2-components/blob/master/docs/README.md) to help navigate it. + +This is the last LA release, we are targeting ADF 2.0 by the end of November at which point it will become **General Available** and **fully supported** by Alfresco. As part of this effort we have increased the efforts on resolving bugs and stabilisation. + +This release builds on last month's contains bug fixes and the new features. See the list below for major details. + +Please report issues with this release in the [issue tracker](https://github.com/Alfresco/alfresco-ng2-components/issues). You can collaborate on this release or share feedback by using the discussion tools on [gitter](https://gitter.im/Alfresco/alfresco-ng2-components). + +## Notable new features + +Below the most relevant features of this release: + +- Infinite scrolling +- Requeue option added to adf-task-header +- Tasklist now support multi-select +- Page title service +- Viewer enhancements +- Document List presets +- Login redirect options +- Logout directive +- Breadcrumb enhancements +- Documentation + +### 1.Infinite scrolling + +The document list now provides two different way to paginate the results the normal pagination or the infinite scrolling. +In order to enable this feature, you need to specify the paginationStrategy properties 'Infinite'. The infinite scrolling is also now used as default in the object picker component + +![](images/infinite-scrolling.gif) + +### 2.Requeue option added to adf-task-header + +The requeue feature has been added into the ADF 1.9.0. This means that after a task has been claimed by the user, the user will see a button Requeue to un-claim the task. + +![Unclaim the task](images/Screen+Shot+2017-10-09+at+16.07.53.png) + +### 3.Tasklist multi-selection support + +With the latest code, the tasklist component exposes the **multiselect** property. If the value is true a checkbox is rendered at the beginning of each row. In this way, the user can select more than one row. + +``` + + +``` + +### + +This is the result: + +![Tasklist multiselection](images/Screen+Shot+2017-10-09+at+15.51.31.png) + +The component also provides a new event **rowSelected** that contains all the selected rows: + +``` + + +``` + +![task list rowsSelected ](images/Screen+Shot+2017-10-09+at+16.01.46.png) + +### 4.Page Title Service + +The 1.9.0 version features a new service "PageTitleService" in the "ng2-alfresco-core" package. This service allows changing the title of the page (browser tab) on demand from the code. The format of the title is always "<Application Name> - <Title>" where "<Application Name>" is taken from the application configuration file: + +``` +{ +  "application": { +    "name": "Alfresco ADF Appplication" +  } +} +``` + +### 5.Viewer Enhancements + +Viewer component has been updated with improved UI and support for integration with Angular Router. +The major features and improvements are: + +- New toolbar component for all Viewer types +- Automatic PDF rendition fetching for various content types (".docx", ".pptx", etc.) +- Floating action toolbar for the PDF viewer + +### 6.Document List Presets + +It is now possible to store layouts for Document List in the global application configuration file ("app.config.json") for default mode or special aliases like "-trashcan-", "-favorites-", etc. The DocumentList component automatically falls back to the defaults if no customizations are present. + +``` +{ +    ..., + +    "document-list": { +        "supportedPageSizes": [5, 10, 15, 20], +        "presets": { +            "-trashcan-": [ +                { +                    "key": "$thumbnail", +                    "type": "image", +                    "srTitle": "ADF-DOCUMENT-LIST.LAYOUT.THUMBNAIL", +                    "sortable": false +                }, +                { +                    "key": "name", +                    "type": "text", +                    "title": "ADF-DOCUMENT-LIST.LAYOUT.NAME", +                    "cssClass": "full-width ellipsis-cell", +                    "sortable": true +                }, +                { +                    "key": "path", +                    "type": "location", +                    "title": "ADF-DOCUMENT-LIST.LAYOUT.LOCATION", +                    "format": "/files", +                    "sortable": true +                }, +                { +                    "key": "content.sizeInBytes", +                    "type": "fileSize", +                    "title": "ADF-DOCUMENT-LIST.LAYOUT.SIZE", +                    "sortable": true +                }, +                { +                    "key": "archivedAt", +                    "type": "date", +                    "title": "ADF-DOCUMENT-LIST.LAYOUT.DELETED_ON", +                    "format": "timeAgo", +                    "sortable": true +                }, +                { +                    "key": "archivedByUser.displayName", +                    "type": "text", +                    "title": "ADF-DOCUMENT-LIST.LAYOUT.DELETED_BY", +                    "sortable": true +                } +            ], + +            "default": [ +                ... +            ] +        } +    } +} + +``` + +### 7.Login redirect options + +The Login component provides a new **successRoute** property as a way to automatically redirect the user to the particular application route upon successful sign in. + +``` + +``` + +### 8.Logout directive + +You can turn any clickable HTML element or other Angular Component into a Logout feature. ADF provides a new **adf-logout** directive to help you building application menus or toolbar buttons that sign the user out: + +``` + +``` + +### 9.Breadcrumb enhancements + +The Breadcrumb component exposes a new **rootId** property to allow you restricting the root element to a particular node. Component automatically trims the elements if full node path needs to be cut. You can use this together with the **root** property that allows renaming the root (first) element of the path. + +``` + +``` + +### 10.Documentation + +All the documentation was inside the individual README.md files of any components, this has now been pulled out into a separate directory, and a new [Doc Index](https://github.com/Alfresco/alfresco-ng2-components/blob/master/docs/README.md) to help navigate it. + +## References + +Below you can find a brief list of references to help you start to use the new release. + +[Official GitHub Project - alfresco-ng2-components](https://github.com/Alfresco/alfresco-ng2-components) + +[Getting started guides with Alfresco Application Development Framework](https://community.alfresco.com/community/application-development-framework/pages/get-started) + +[Component catalog](http://devproducts.alfresco.com/) + +[Gitter chat supporting Alfresco ADF](https://gitter.im/Alfresco/alfresco-ng2-components) + +[ADF examples](https://github.com/Alfresco/adf-examples) + +[List of all components](https://github.com/Alfresco/alfresco-ng2-components/tree/master/ng2-components) + +[Alfresco-JS-API](https://github.com/Alfresco/alfresco-js-api) + +[ADF App Generator ](https://github.com/Alfresco/generator-ng2-alfresco-app) + +Please refer to the [official documentation](http://docs.alfresco.com/) for further details and suggestions. + +## Issues addressed + +Below you can find a detailed list of tickets addressed in the new release. For a better understanding, the list is grouped by topic. + +Release Notes - Apps Development Framework - Version 1.9. + +### Documentation + +- [[ADF-1603](https://issues.alfresco.com/jira/browse/ADF-1603)] - remove all the reference to deprecated `