Coder Social home page Coder Social logo

alfresco / alfresco-content-app Goto Github PK

View Code? Open in Web Editor NEW
182.0 92.0 145.0 56.35 MB

Alfresco Content Application

Home Page: https://alfresco-content-app.netlify.app

License: GNU Lesser General Public License v3.0

TypeScript 93.35% JavaScript 0.60% HTML 3.89% Shell 0.27% Dockerfile 0.03% Roff 0.01% SCSS 1.85%
angular angular-cli alfresco adf

alfresco-content-app's Introduction

Alfresco Content Application

Please refer to the public documentation for more details

Requirements

Name Version
Node.js 18.x
Npm 9.x

Compatibility

ACA ADF ACS Node Angular
4.4.x 6.7 23.2 18.x 14.x
4.3.x 6.4 23.1 18.x 14.x
4.2.x 6.3 23.1.0-M4 18.x 14.x
4.1.x 6.2 7.4 18.x 14.x
4.0.x 6.1 7.4 14.x 14.x
3.1.x 5.1 7.3
3.0.x 5.0 7.3

See https://angular.io/guide/versions for more details on Angular and Node.js compatibility

Running

Create an .env file in the project root folder with the following content

BASE_URL="<URL>"

Where <URL> is the address of the ACS.

Run the following commands:

npm install
npm start

Unit Tests

Use following command to test the projects:

nx test <project>

Code Coverage

The projects are already configured to produce code coverage reports in console and HTML output.

You can view HTML reports in the ./coverage/<project> folder.

When working with unit testing and code coverage improvement, you can run unit tests in the "live reload" mode:

nx test <project> -- --watch

Upon changing unit tests code, you can track the coverage results either in the console output, or by reloading the HTML report in the browser.

alfresco-content-app's People

Contributors

adinapitul avatar akashrathod28 avatar aleksandersklorz avatar alfresco-build avatar arditdomi avatar arohilagl avatar azakrzewski-hy avatar baptistemahe avatar bsekula avatar datguychen avatar davidcanonieto avatar denysvuika avatar dependabot[bot] avatar dhrn avatar dominikiwanekhyland avatar eromano avatar gbroadbent avatar jatin2008 avatar john-knowles avatar katarzynakita avatar mauriziovitale avatar michalkinas avatar nikita-web-ua avatar oliveralfresco2018 avatar pionnegru avatar popovicsandras avatar silverskyvicto avatar suzanadirla avatar swapnil-verma-gl avatar vitoalbano avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

alfresco-content-app's Issues

Special characters in navBar item routes (extension.json) break the item link

I'm submitting a...


[ ] Regression (a behavior that used to work and stopped working in a new release)
[x] Bug report  
[ ] Feature request
[ ] Documentation issue or request
[ ] Support request => Please do not submit support request here, instead see https://github.com/Alfresco/alfresco-content-app/blob/master/CONTRIBUTING.md#question

Current behavior

Adding a route for navBar items in an extension.json file with special characters will result in an encoded url, and thus a broken link.

Expected behavior

The url defined in the 'route' property of the extension.json file should also work with query parameters.

Either the elements of the route string from the json file should get parsed and passed in the correct way in the sideNav component (as queryParams/fragments), or the extension.schema.json should add the ability to define queryParams for a route. (=> this will probably have an impact on https://issues.alfresco.com/jira/browse/ACA-215)

Minimal reproduction of the problem with instructions

In an extension.json file, define a route with special characters.

"navbar": [
      {
        "id": "app.navbar.primary",
        "items": [
          {
            "id": "app.navbar.testLink",
            "order": 100,
            "icon": "extension",
            "title": "Test link",
            "description": "Test link",
            "route": "search;q=test"
          }
       ]
      }
     ]

In the Content App, click on the link. The special characters in the url will get encoded and lead to a broken link.

What is the motivation / use case for changing the behavior?

We need to store links to specific searches, which include query parameters.

Environment


ACA version: 1.6.0

Browser:
- [x] Chrome version XX
- [ ] Firefox version XX
- [ ] Safari version XX
- [ ] Edge version XX
- [ ] IE11

Menu item showing as "Favorite" for already favorited items

Describe the bug
When we select the file and click on Favorite in the context menu. Then when you right click , you still see the "Favorite" option in the context menu. Ideally we should see the "UnFavorite" option
To Reproduce
Steps to reproduce the behavior:

  1. Go to a document / folder
  2. Click on the document / folder
  3. Select "Favorite" option
  4. The document / folder will be set as favorite.
  5. Click on the document again and you still see the favorite option. Ideally we should see the "Unfavorite" option here. Currently it does un favorite but this is confusing to the users as there is no other way they know whether the file got already favorited or not

Expected behavior
A clear and concise description of what you expected to happen.
Ideally it should show unfavorite option. Also if we can have some symbol on the file which shows the file is favorited. Currently there is no way user knows whether file got favorited or not.
Screenshots
If applicable, add screenshots to help explain your problem.

Desktop (please complete the following information):

  • OS: [e.g. iOS]
  • Browser [e.g. chrome, safari]
  • Version [e.g. 22]

Smartphone (please complete the following information):

  • Device: [e.g. iPhone6]
  • OS: [e.g. iOS8.1]
  • Browser [e.g. stock browser, safari]
  • Version [e.g. 22]

Additional context
Add any other context about the problem here.

Add possibility to modify baseHref at docker runtime

I'm submitting a...


[ ] Regression (a behavior that used to work and stopped working in a new release)
[ ] Bug report  
[ ] Feature request
[ ] Documentation issue or request
[ ] Support request => Please do not submit support request here, instead see https://github.com/Alfresco/alfresco-content-app/blob/master/CONTRIBUTING.md#question

Current behavior

Expected behavior

Minimal reproduction of the problem with instructions

What is the motivation / use case for changing the behavior?

Environment


ACA version: X.Y.Z


Browser:
- [ ] Chrome version XX
- [ ] Firefox version XX
- [ ] Safari version XX
- [ ] Edge version XX
- [ ] IE11
 
For Tooling issues:
- Node version: XX  
- Platform:  

Others:

Dropdown List /Combo Box in ACS / ADF

I'm submitting a...


[ ] Regression (a behavior that used to work and stopped working in a new release)
[ ] Bug report  
[x] Feature request
[ ] Documentation issue or request
[ ] Support request => Please do not submit support request here, instead see https://github.com/Alfresco/alfresco-content-app/blob/master/CONTRIBUTING.md#question

Current behavior

Though the ADF 2.5 has a dropdown list component in Metadata card/Info drawer components, but it doesn't pick values from custom property in ACS, which is configured with List of Values constraint.

Expected behavior

Info Drawer / ADF 2.5 list box component should be able to fetch list of values from ACS custom property and possibly allow users to even add New Values, which can update List of values in ACS content model.

Minimal reproduction of the problem with instructions

What is the motivation / use case for changing the behavior?

Alfresco Share metadata form automatically shows the list of values configured in custom property. ADF / ACS Content App should behave the same way.

Environment


ACA version: X.Y.Z


Browser:
- [ ] Chrome version XX
- [ ] Firefox version XX
- [ ] Safari version XX
- [ ] Edge version XX
- [ ] IE11
 
For Tooling issues:
- Node version: XX  
- Platform:  

Others:

Search on mobile opens Sidemenu

Describe the bug
When I use the Content App on a mobile device and search for something the sidemenu opens.

To Reproduce
Steps to reproduce the behavior:

  1. Log in to the application
  2. Enter a search term
  3. Hit enter
  4. Now the side menu is open

Expected behavior
Expected behavior would be to see the search results.

Screenshots
https://drive.google.com/open?id=1Z0XoFvnu9P1FF2DvmMFCEeBnN7fuwVuf

Smartphone (please complete the following information):

  • Device: [e.g. iPhone 5]
  • OS: iOS 8
  • Chrome

Allow sidebar items to be added dynamically

I'm submitting a...


[ ] Regression (a behavior that used to work and stopped working in a new release)
[ ] Bug report  
[x] Feature request
[ ] Documentation issue or request
[ ] Support request => Please do not submit support request here, instead see https://github.com/Alfresco/alfresco-content-app/blob/master/CONTRIBUTING.md#question

Current behavior

At the moment, the extension mechanism enables the defining of navbar items in an extension.json file. This is static configuration.

Expected behavior

It would be useful to allow items/links to be added dynamically (e.g. 'pinning' pages/items to the sidenav).

What is the motivation / use case for changing the behavior?

Example: We want to enable end-users to save their search results as links in the sidenav. So when they are on a search results page, they could press a 'save search' button or similar, and the page link would appear in the sidenav. (Perhaps each user could have their own extension.json file, which is dynamically updated by a service?)

Discovery Product info are not available from Rule Context

Is your feature request related to a problem? Please describe.
It is not possible at the moment perform some rule evaluation based on the modules installed on the content applications.

Describe the solution you'd like
Rule context should provide the discovery information retrieved from the discovery api. In this way it will be simple to perform the needed check

Describe alternatives you've considered

Additional context

Sidemenu can't be closed on certain devices

Describe the bug
When using a smartphone device with a small screen, for example the iPhone 5 SE you can't close the sidemenu, since it is taking the full screen space. You can only close it by going back (in the browser at least) or by choosing a menu item.

To Reproduce
Steps to reproduce the behavior:

  1. Login
  2. Open side menu
  3. Can't be closed

Expected behavior
Side menu should be closeable on all resolutions. On bigger screens there is the background of the main content, where you can click to close it.

Maybe introduce a close icon/ button, which does exactly that.

Screenshots

Big device: https://drive.google.com/open?id=17uwbbD_6y7wlf_RZhXHUjXgOu6yrCXyl
Small device: https://drive.google.com/open?id=1MXAqo55QysjAqhuIldIWYKj5yyukW5S1

Overwrite default AuthGuard using extensions [Kerberos]

Provide ability to override the default "AppAuthGuard" in app.routes.ts file with extension module. Currently we can configure the auth guards for the new routes but can't override the default auth guard. This provides more flexibility in handling the authentication.


[ ] Regression (a behavior that used to work and stopped working in a new release)
[ ] Bug report  
[X ] Feature request
[ ] Documentation issue or request
[ ] Support request => Please do not submit support request here, instead see https://github.com/Alfresco/alfresco-content-app/blob/master/CONTRIBUTING.md#question

Current behavior

We have configured kerberos (using withCredentials) and has written custom auth guard to prevent users to redirect to login screen. In this case we have to modify the default auth guard in app.routes.ts file. We don't see an option to override the default auth guard using extensions.

Expected behavior

We should be able to override the auth guard without modifying the default app.routes.ts file.

Environment

Content app 1.6.0


ACA version: 1.6.0
Browser:
- [ ] Chrome version XX
- [ ] Firefox version XX
- [ ] Safari version XX
- [ ] Edge version XX
- [ ] IE11
 
For Tooling issues:
- Node version: 9.5.0 
- Platform:  Mac/ Windows / Linux

Unable to import adf-core

I'm submitting a...


[ ] Regression (a behavior that used to work and stopped working in a new release)
[ x] Bug report  
[ ] Feature request
[ ] Documentation issue or request
[ ] Support request => Please do not submit support request here, instead see https://github.com/Alfresco/alfresco-content-app/blob/master/CONTRIBUTING.md#question

Current behavior

When I make an extension and add an "import { AlfrescoApiService } from '@alfresco/adf-coreโ€™;โ€ in my component, I get a compile error complaining about the absence of WebKitFileEntry type used by "node_modules/@alfresco/adf-core/utils/file-utils.d.tsโ€.

Looking at documentation in https://github.com/Microsoft/TypeScript-wiki/blob/master/Breaking-Changes.md, I see this WebKitFileEntry type has been removed in typescript 3.1. Since the OOTB package.json uses typescript version 3.1.6, I think the file-utils.d.ts file should not reference the type.

When I downgraded the angular version from 7.1.1 to 6.1.10 and the typescript version from 3.1.6 to 2.9.2, my extension with the adf-core import builds without any issues.

I get the following exception without updating the angular and typescript versions:
image

Expected behavior

adding "import { AlfrescoApiService } from '@alfresco/adf-coreโ€™;โ€ in my extension and running a build should not throw the WebKitFileEntry type

Minimal reproduction of the problem with instructions

  1. clone the current ACA 1.6.0 app
  2. follow the steps in https://aca-dev-docs.netlify.com/#/extending/redistributable-libraries to create a extension
  3. Add the following lines
  • Import adf-core import { AlfrescoApiService } from '@alfresco/adf-core';
  • Update the constructor constructor(alfApiService: AlfrescoApiService) { }
  1. Run command "npm run build:my-extension"

What is the motivation / use case for changing the behavior?

I want to use the AlfrescoApiService in my extension.

Environment


ACA version: 1.6.0


Browser:
- [ x] Chrome version XX
- [ ] Firefox version XX
- [ ] Safari version XX
- [ ] Edge version XX
- [ ] IE11
 
For Tooling issues:
- Node version: v11.0.0
- Platform:  Mac

Others:

Visibility filter based on Mime Type for "Open With" extension point

I'm submitting a...


[ ] Regression (a behavior that used to work and stopped working in a new release)
[ ] Bug report  
[X] Feature request
[ ] Documentation issue or request
[ ] Support request

Current behavior

Extension point features.viewer.openWith has no property to control visibility by mimetype.

Expected behavior

"features": {
    "viewer": {
        "openWith": [
            ...
            "fileExtension": "docx",
            ....
        ]
    }
}

What is the motivation / use case for changing the behavior?

I was thinking on adding an "Open with Office" extension when I realised that, as no every mimetype should be affected by this extension.

Environment


ACA version: 1.4.0

Browser:
- [X] Chrome version XX
- [] Firefox version XX
- [ ] Safari version XX
- [ ] Edge version XX
- [ ] IE11
 
For Tooling issues:
- Node version: 10.9.0
- Platform:  OS X Mojave

Others:

Showing "No Recent Files" for a moment before loading the files

Describe the bug
When we click on the left side navigations (Recent Files / Favorites), we are seeing "No Recent Files" /"No Favorites" for a moment before the data gets loaded. This behavior we are observing after the upgrade from development branch of ACA
To Reproduce
Steps to reproduce the behavior:

  1. Go to Recent Files, You will see "No Recent files" for a moment before it loads the files. Its same for Favorites functionality as well

Expected behavior
When we click on the navigation items, ideally it should display a processing icon if there is a delay in loading items.

Screenshots

Application SDK library project

Is your feature request related to a problem? Please describe.

Extension libraries cannot have Application as a dependency, and there is no way to reuse common/shared application components from within external libraries.

For example, an extension cannot inherit PageComponent to build a DocumentList-friendly page,
all NgRx types and effects are not accessible too (though can be invoked in a generic/untyped way).

Describe the solution you'd like

  • Move reusable extensibility content to the ADF level
  • Create a separate Application SDK library project that contains a shared/reusable content from the application (reusable content that makes sense only within ACA/ADW)
  • Allow Application and Extensions reference it to solve circular dependency issues.
  • Publish SDK library to NPM to allow better upgrades and simplify Digital Workspace integration

Describe alternatives you've considered

Note that all cross-project content will be moved to the ADF level. This feature request is about ACA-specific implementations.

Additional context

Things to move to an application SDK level in the first iteration:

  • NgRx: actions, effects, selectors
  • Components and UI building blocks: PageComponent, etc
  • Extensibility: app-specific rules, evaluators, interfaces

Corresponding Jira ticket: ACA-2196

Issue with sharing preview links to users that are not already logged in

I navigate to a preview page (http://localhost:3000/#/preview/99cb2789-f67e-41ff-bea9-505c138a6b23).
I copy the link.
I log out of the application.
I paste the link.
I am prompted with a basic auth dialog (yuck).
I cancel this dialog and am prompted with the login page.

Expected result:
I see the preview I pasted the link for

Actual result:
I am taken to: http://localhost:3000/#/personal-files/99cb2789-f67e-41ff-bea9-505c138a6b23 which is a very strange page that looks like this:

image

"More information" and "Less information" is shown incorrectly.

I'm submitting a...


[ ] Regression (a behavior that used to work and stopped working in a new release)
[x] Bug report  
[ ] Feature request
[ ] Documentation issue or request
[ ] Support request => Please do not submit support request here, instead see https://github.com/Alfresco/alfresco-content-app/blob/master/CONTRIBUTING.md#question

Current behavior

Properties panel shows "More information" when already expanded and "Less information" when collapsed.

Expected behavior

Properties panel should show "More information" when metadata is collapsed and "Less information" when expanded.

Minimal reproduction of the problem with instructions

Upload a document.
Preview the document.
Click view details
Properties (this is expanded by default)
img
img

What is the motivation / use case for changing the behavior?

Because it's incorrect

Environment

ACA 1.4.0



Browser:
- [64.0.3282.186] Chrome version XX
- [ ] Firefox version XX
- [ ] Safari version XX
- [ ] Edge version XX
- [ ] IE11
 
For Tooling issues:
- Node version: 8.11.3  
- Platform:  Linux 

Others:

Need better zero state for login page when repo has not started

I'm working on a blog post about getting this app up and running very quickly (adding the gui81/alfresco docker image to the docker-compose.yaml file and updating the nginx config to do the reverse proxying.) What I have noticed is this apps obviously starts way faster than the repo. If I navigate to this app it loads with a a blank page. Once the repo starts I get a basic auth login dialog. If I cancel that, the page loads properly. Would be great if there was some sort of progress/zero-state that indicated that we were attempting to reach out to the servers...

Raise snackbar notifications on Favorite actions

Is your feature request related to a problem? Please describe.

The only way to see if a library (or any other node) has been successfully favorited/unfavorited is to invoke the menu (toolbar, context) once again to see that the "star" icon changed.
This behavior is not very user-friendly.

Describe the solution you'd like
Every time a favorite/unfavorite action is performed, the user should see a corresponding Snackbar (info or error).

Describe alternatives you've considered

No alternatives

Additional context

No extra context

It is not possible to select and preview locked files

Describe the bug
Once the File node becomes locked, it is not possible to select it by clicking, and not possible to preview the content by double-clicking.

Environment

  • ACA version: 1.6
  • ACS version: any

To Reproduce
Steps to reproduce the behavior:

  1. Go to Share, upload a file and select Edit Offline action
  2. Log into ACA
  3. Try to select a file or double-click to preview it

Expected behavior
It should be possible to select or preview the File.

Content app always displays blank page when previewing the office documents for the first time

Describe the bug
Content app always displays blank page when previewing the office documents for the first time. This happens only in kerberos authentication.
Environment

  • ACA version: [e.g. 1.6] 1.7 (development)
  • ACS version: [e.g. 6.1] 5.2 & 6.1 (not tested with 6.1 but looks like this is specific to kerberos)

To Reproduce
Steps to reproduce the behavior:

  1. Upload new office document
  2. Click on the document in ADF
  3. It will display preview with blank page
  4. when you close the preview and reopen it will display this time the proper rendition.

Expected behavior
For the first time itself rendition should get displayed
Screenshots
If applicable, add screenshots to help explain your problem.

Desktop (please complete the following information):

  • OS: [e.g. iOS]
  • Browser [e.g. chrome, safari]
  • Version [e.g. 22]

Smartphone (please complete the following information):

  • Device: [e.g. iPhone6]
  • OS: [e.g. iOS8.1]
  • Browser [e.g. stock browser, safari]
  • Version [e.g. 22]

Additional context
Add any other context about the problem here.

Analytics - Event tracking

Is your feature request related to a problem? Please describe.
We need to track user clicks on documents / edit in ms office/ copy/ move kind of scenarios.

Describe the solution you'd like
Something like google analytics to have entire usage of analysis of the content applications from users perspective
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.

Additional context
Add any other context or screenshots about the feature request here.

Check settings before publishing to Docker

Check the following environment variables prior to publishing to Docker:

  • DOCKER_REPO
  • DOCKER_USERNAME
  • DOCKER_PASSWORD

This should prevent issues when external developers fork the project and don't want Docker integration automatically enabled and failing.

Error when viewing document list detail

FilesComponent.html:18

ERROR Error: ExpressionChangedAfterItHasBeenCheckedError: Expression has changed after it was checked. Previous value: 'true'. Current value: 'false'.

Not able to view the text files [Kerberos]

Describe the bug
File Preview not working for the text files
To Reproduce
Steps to reproduce the behavior:

  1. Upload any text file
  2. Click on the uploaded file
  3. You will see blank page instead of the text file content

Expected behavior
Text file has to be displayed. And user should have option to edit inline
Screenshots
If applicable, add screenshots to help explain your problem.

Desktop (please complete the following information):

  • OS: [e.g. iOS]
  • Browser [e.g. chrome, safari]
  • Version [e.g. 22] ACS 5.2 & ACA 1.6 (latest from development)

Smartphone (please complete the following information):

  • Device: [e.g. iPhone6]
  • OS: [e.g. iOS8.1]
  • Browser [e.g. stock browser, safari]
  • Version [e.g. 22]

Additional context
Add any other context about the problem here.

The adf-content-metadata-card does not refresh to show the new values set for properties

I'm submitting a...


[ ] Regression (a behavior that used to work and stopped working in a new release)
[x] Bug report  
[ ] Feature request
[ ] Documentation issue or request
[ ] Support request => Please do not submit support request here, instead see https://github.com/Alfresco/alfresco-content-app/blob/master/CONTRIBUTING.md#question

Current behavior

When using the preview component to read a document, if any property is changed using the embedded adf-content-metadata-card, once the user clicks the save button, the change is not reflected in the properties panel.
In order to see the new value, the user has to refresh the page.
Not even hiding and showing the info panel again solves the problem.

Expected behavior

Once the user clicks save, the new value should be presented into the adf-content-metadata-card.

Minimal reproduction of the problem with instructions

Open any document using preview, and then use the adf-content-metadata-card to change any property value.

What is the motivation / use case for changing the behavior?

Environment


alfresco-content-app version 1.2.0


Browser:
- [ ] Chrome version XX
- [ ] Firefox version XX
- [ ] Safari version XX
- [ ] Edge version XX
- [ ] IE11
 
For Tooling issues:
- Node version: XX  
- Platform:  

Others:

Module/extension mechanism

I believe that there has been some work to create a module system where we can create an Alfresco Content App (ACA) customization artifact and drop it into a location in the OOTB app without extending the code of the ACA. It would be great to have some discussion about the approach(es).

There are a few higher level goals here:

  • Provide a way for implementors to create re-usable enhancements to ACA that can be composed when creating a solution.
    • e.g. I want to add AOS and Case Management
  • Provide a way for implementors to create enhancements that are likely to be upgrade safe

Following is an initial list of highly desirable features of such a system (in my opinion):

  • It should be possible to add page components to the router via configuration
    • It should be possible to configure that certain custom pages show up in the toolbar
    • It should be possible to configure that certain custom pages don't show up in the toolbar (if they are contextual.)
  • It should be possible to add buttons to the main toolbar
  • It should be possible to configure actions for the "New" menu
  • It should be possible to configure actions for the User menu (far right of toolbar)
  • It should be possible to add document list actions (and associated logic for when to display/enable the same) via configuration
    • Ideally it should be possible to affect the ordering of these actions via configuration
    • Ideally it should be easy to add an action to route to a custom page
    • Ideally it should be easy to route to another ADF app; passing context, credentials and a back link (I will create an ADF issue for this.)
    • Ideally one action can be configured as the default in certain conditions (i.e. don't go to preview, instead route to another application when a document is activated.)
  • It should be possible to configure custom result columns
    • Ideally it should be possible to configure different columns depending on context. e.g. under contracts I want to show one set of columns, under finance a different set of columns should be displayed
  • It should be possible to configure custom cell content renderers
  • It should be possible to configure flag providers
  • Once search is fleshed out it should be possible to configure advanced search providers
    • It should be possible to configure the zero state when a search returns zero results
  • It should be possible to configure additional "smart folders" like "My Favorites", "Shared Documents" etc.
    • Ideally it should be possible to affect the ordering of these via configuration
  • It should be possible to configure preview components
  • It should be possible to configure metadata forms (create, edit, view at least)
  • It should be possible to configure custom field renderers fro metadata forms.
  • It should be possible to configure Open With menu items
  • It should be possible to configure "More Options" items
  • Would be great to allow us to configure components to trigger during the upload process
    • Some might be passive (once upload completes perform some API calls against the uploaded docs)
    • Some might be active, gather metadata before or after the upload
  • It should be possible to configure left and right trays based on contextual information/logic
  • Ideally "modules" can interact with each other. As such, having some control over load order of modules may be important.

As an overarching goal there should be a single config file in ACA and one in each "module" that plugs the module into the ACA. i.e. don't make devs sift through many different configuration files. Ideally configuration merging/replacement strategies will be well documented and easy to determine the effective configuration once all modules have been deployed.

I'm sure other folks will have additional ideas, I hope this is a reasonable starting point.

Dynamic icons based on rules

Is your feature request related to a problem? Please describe.

It is not possible to change the icon based on some conditions.
For example, rendering a different icon based on metadata, or mime type.

Describe the solution you'd like

  • Provide support for the icon rules/evaluators.
  • Provide support for string-based evaluators

Describe alternatives you've considered
No alternatives so far.

Additional context

Possible format example:

{
  "id": "some.id",
   "icon": "default-icon",
   "rules": {
      "enabled": "some.boolean.rule",
      "icon": "some.string.rule"
    }
}

In the example above, the default-icon is what used initially if no rules provided, and some.string.rule rule/evaluator provides an icon value based on runtime context.

Version compatibility matrix

Is your feature request related to a problem? Please describe.
It is not clear what versions of ACS/APS does a particular version of ACA support.

Describe the solution you'd like
Provide compatibility matrix similar to the one of ADF: example

Additional context
Corresponding Jira ticket: ACA-2203

Metadata card not displaying custom group in the Recent Files navigation. It displays properly in "My Libraries" navigation

Describe the bug
We have defined the custom preset in the app.extensions.json like below

"content-metadata-presets": [
      {
        "id": "app.content.metadata.custom",
        "custom": [
          {
            "id": "app.content.metadata.customGroup",
            "title": "Test",
            "items": [

              {
                "id": "app.content.metadata.testAspect",
                "aspect": "test:TestDocument",
                "properties": [
                  "test:documentType",
                  "test:access",
                  "test:eligibility"
                ]
              }
            ]
          }
        ]
      }
    ]

Then the custom properties is getting displayed when we navigate to "My Libraries" and click on "i" icon.

But when we navigate to recent files and click on "i" icon, the custom group is not displayed in the side panel.
To Reproduce
Steps to reproduce the behavior:

  1. Go to Recent Files Navigation
  2. Select the document
  3. Click on "i" icon on top right corner.
  4. You don't see customized metadata group.

Expected behavior
It should display the configured custom metadata.

Screenshots
If applicable, add screenshots to help explain your problem.

Disable login redirect for Kerberos(withCredentials)

If content services is configured with Kerberos, we don't need to redirect user to login / logout screens. All the apis are automatically authenticated with kerberos using "withCredentials". So in this case we need to modify the default auth guard to achieve this. Provide this with some kind of configuration


[ ] Regression (a behavior that used to work and stopped working in a new release)
[ ] Bug report  
[ X] Feature request
[ ] Documentation issue or request
[ ] Support request => Please do not submit support request here, instead see https://github.com/Alfresco/alfresco-content-app/blob/master/CONTRIBUTING.md#question

Current behavior

Currently even we enable "withCredentials" we have to override auth guard for the user to navigate to the app without login page.

Expected behavior

If we enable "withCredentials" user has to be redirected directly to the application as he doesn't need to login manually to the app.

Minimal reproduction of the problem with instructions

What is the motivation / use case for changing the behavior?

Environment


ACA version: X.Y.Z


Browser:
- [ ] Chrome version XX
- [ ] Firefox version XX
- [ ] Safari version XX
- [ ] Edge version XX
- [ ] IE11
 
For Tooling issues:
- Node version: XX  
- Platform:  

Others:

ng Build Failure

I'm submitting a...


[ ] Regression (a behavior that used to work and stopped working in a new release)
[ ] Bug report  
[ ] Feature request
[ ] Documentation issue or request
[ ] Support request => Please do not submit support request here, instead see https://github.com/Alfresco/alfresco-content-app/blob/master/CONTRIBUTING.md#question

Current behavior

/var/www/html/alfresco-content-app$ ng build

Date: 2018-09-21T12:17:51.674Z
Hash: 46aef71c8f37814eec43
Time: 20015ms
chunk {main} main.js, main.js.map (main) 625 bytes [initial] [rendered]
chunk {polyfills} polyfills.js, polyfills.js.map (polyfills) 680 bytes [initial] [rendered]
chunk {runtime} runtime.js, runtime.js.map (runtime) 5.22 kB [entry] [rendered]
chunk {scripts} scripts.js, scripts.js.map (scripts) 851 kB [rendered]
chunk {styles} styles.js, styles.js.map (styles) 643 kB [initial] [rendered]

ERROR in src/app/extensions.module.ts(2,35): error TS2307: Cannot find module 'aca-dev-tools'.

Expected behavior

/var/www/html/alfresco-content-app$ ng build

Date: 2018-09-21T12:17:51.674Z
Hash: 46aef71c8f37814eec43
Time: 20015ms
chunk {main} main.js, main.js.map (main) 625 bytes [initial] [rendered]
chunk {polyfills} polyfills.js, polyfills.js.map (polyfills) 680 bytes [initial] [rendered]
chunk {runtime} runtime.js, runtime.js.map (runtime) 5.22 kB [entry] [rendered]
chunk {scripts} scripts.js, scripts.js.map (scripts) 851 kB [rendered]
chunk {styles} styles.js, styles.js.map (styles) 643 kB [initial] [rendered]

Minimal reproduction of the problem with instructions

What is the motivation / use case for changing the behavior?

Environment


ACA version: X.Y.Z


Browser:
- [ ] Chrome version XX
- [ ] Firefox version XX
- [ ] Safari version XX
- [ ] Edge version XX
- [ ] IE11
 
For Tooling issues:
- Node version: XX   v6.12.3
- Platform:   Ubuntu

Others:

Share link not functional

Describe the bug
When we select a document and click on "Share" , the url provided there does not work for us.
To Reproduce
Steps to reproduce the behavior:

  1. Go to a document
  2. Click on "Share" in the context menu
  3. Copy the share url
  4. If we browse the url, its not working. It redirects to the home page of the share. The below is the URL
    https://<>/#/preview/s/Jk6qSKsfSpiUVyOOuVNM5w

Expected behavior
A clear and concise description of what you expected to happen.

Screenshots
If applicable, add screenshots to help explain your problem.

Desktop (please complete the following information):

  • OS: [e.g. iOS]
  • Browser [e.g. chrome, safari]
  • Version [e.g. 22]

Smartphone (please complete the following information):

  • Device: [e.g. iPhone6]
  • OS: [e.g. iOS8.1]
  • Browser [e.g. stock browser, safari]
  • Version [e.g. 22]

Additional context
Add any other context about the problem here.

withCredentials Kerberos - Preview and User Info not working

Type of issue: (check with "[x]")

  • New feature request
  • [X ] Bug
  • Support request
  • Documentation

We are testing the kerberos authentication through ADF. We have taken the latest alfresco-js-api from develop which has changes related to "withCredentials". We have hard coded that value to "true" in local and build the content app pointing to the latest alfresco-js-api.

Authentication looks working fine but found couple of issues

  1. Document preview doesn't work as document preview delegates http call to pdfJs library which does not consider the "withCredentials" setting. So authentication is failing for CORS requests.
    https://github.com/Alfresco/alfresco-ng2-components/blob/development/lib/core/viewer/components/pdfViewer.component.ts#L134

  2. The current logged in user name and the icon on the tool bar top right corner is not getting displayed. When we upload the content it identifies the user but not getting displayed on the UI toolbar.
    Expected behavior:
    The above two issues should be working as expected even with Kerberos

Steps to reproduce the issue:

  1. Have the alfresco server with CORS enabled and kerberos setup
  2. Run the alfresco content app with latest alfresco-js-api from develop branch
  3. Observe on the home page user info not displayed on the top right corner on the toolbar.
  4. Click on word document and it fails to preview

Component name and version:
alfresco content app

Browser and version:
all
Node version (for build issues):
V9.5.0

Slashes not escaped when searching

Type of issue: (check with "[x]")

  • New feature request
  • Bug
  • Support request
  • Documentation

Current behaviour:
I have a folde with following name: "myFolder 1/18" containing a slash "/".

When I search for it, the quick search shows the correct results. Once I hit enter and go to the search page I will receive an error, since the slashes are not escaped and the Angular Routing understands them as part of the URL.

When I search for it using the alfresco

Expected behavior:
I should be able to search with a string containing a slash.

Component name and version:
It's inside the search.effect.ts :

this.router.navigateByUrl('/search;q=' + action.payload);

Back button in preview misbehaves if link is copied and pasted into new tab

I login to the app and navigate to the preview for a file.
I copy the link.
I paste the link into a new tab.
I click the back button in the app toolbar in the new tab.

Expected result:
I go back to the folder containing the document

Actual result:
I browse back to my browsers tab zero-state page

Use case:
As a user of the app I want to share a document with someone. I go into the preview and copy the link, I share this link with a friend. They open the preview and wonder about related content in the same folder so they click the back button. They expect to go back to the containing folder.

An alternative would be to not show the back button in this case. However, I think there is a lot of value in it being there and behaving as described.

Responsiveness in General

Current behaviour
Using the Content-App and the ADF Components I noticed there are many things not responsive. I have collected some things, using an iPhone 5 screen, since it's one of the smallest screen(even though the issues I have found also occur with bigger phones).

Keep in mind, these are just my findings, there may be more issues with other components. Maybe a full test round needs to happen, and also maybe integrate some kind of automatic test / Pull request requirement to ensure new developments won't break responsiveness.

The problem is, as a developer you currently need custom CSS fixes, which can break with the next releases, so it would be better to have them inside the ADF/Content-App code.

Here is the corresponding ADF issue: Alfresco/alfresco-ng2-components#4298

Toolbar

https://drive.google.com/open?id=1H-O51SvUphsKGeU1ucTPO49KhPNH7m1r

As you can see in the screenshot, the searchbar presses the UserInfoComponent to the right side and it gets cut off.

Search Results

https://drive.google.com/open?id=1kSbrtnao0TYWV30kurVjFI07HXRQ_oqE

The filter is visible but not the search results themselves. Maybe a floating action button for toggling the filter would be solution.

Empty Info

https://drive.google.com/open?id=15RCI8NsjB26ib5aQKgbHz7rq1NLOw4P7

The message for when a user is inside an empty folder or similar gets cut by the screen.

Breadcrumbs

https://drive.google.com/open?id=1H-O51SvUphsKGeU1ucTPO49KhPNH7m1r

Breadcrumbs become useless at a certain resolution and with a node selected. in the Screenshot you can see there are only dots left from the text-ellipsis. Maybe move it it's own bar or at the bottom.

Generic Viewer route to invoke file preview

Is your feature request related to a problem? Please describe.
For the time being it's not easy to invoke a file preview from within the extensions.
The existing Preview component (ADF Viewer wrapper) is bound only to ACA-specific routes.

Describe the solution you'd like
Provide a generic "/viewer/" route that allows extensions invoking file preview.

Describe alternatives you've considered
N/A

Additional context
N/A

Use ACA Components in a seperate Module not supported

I'm submitting a...


[ ] Regression (a behavior that used to work and stopped working in a new release)
[ ] Bug report  
[ X] Feature request
[ ] Documentation issue or request
[ ] Support request => Please do not submit support request here, instead see https://github.com/Alfresco/alfresco-content-app/blob/master/CONTRIBUTING.md#question

Current behavior

Cannot use existing ACA Components in a new Module

Expected behavior

I would like to be able to create a module to group functionality and views for a use case. In my case it is a module to manage organisations outside of Alfresco. The aca components such as aca-info-drawer should be available within my new module to use.

Minimal reproduction of the problem with instructions

What is the motivation / use case for changing the behavior?

Ability to use aca components and directives in an extension module for the aca application.

Environment

aca 2.4, ACS 5.2


ACA version: X.Y.Z


Browser:
- [ ] Chrome version XX
- [ ] Firefox version XX
- [ ] Safari version XX
- [ ] Edge version XX
- [ ] IE11
 
For Tooling issues:
- Node version: XX  
- Platform:  

Others:

Edit in Office: File is not getting unlocked after closing the word document

Describe the bug
When User selects "Edit in Microsoft Office" system opens the word document. In ACA we can see the document got locked. But when user closes the word document, the document is not getting unlocked. It remains locked. This works fine from Alfresco share.
Document remains locked even though user closed the word document.
To Reproduce
Steps to reproduce the behavior:

  1. Go to a word document
  2. Click on "Edit in Microsoft Office"
  3. Modify the word document and you can see the changes reflected in ADF by refreshing
  4. Once user closes the document, the document remains locked. Ideally it should unlock through aos calls. This works currently in Alfresco share.

Expected behavior
A clear and concise description of what you expected to happen.

Screenshots
If applicable, add screenshots to help explain your problem.

Desktop (please complete the following information):

  • OS: [e.g. iOS]
  • Browser [e.g. chrome, safari]
  • Version [e.g. 22]

Smartphone (please complete the following information):

  • Device: [e.g. iPhone6]
  • OS: [e.g. iOS8.1]
  • Browser [e.g. stock browser, safari]
  • Version [e.g. 22]

Additional context
Add any other context about the problem here.

Add possibility to load custom template/sub-menus when navigating to some routes

Is your feature request related to a problem? Please describe.
We would like to have a custom menu items or the possibility to load custom templates in the side nav menu based on conditions via the extensions.
For example :
Navigate to /whatever
-> show extra menu options
OR
-> load custom template component in the side nav.

Describe the solution you'd like
For extra menu options the rules should be re-evaluated on rerouting.

Describe alternatives you've considered

Additional context

name change in properties requires a refresh

Describe the bug
When user updates the name in the metadata panel, it still displays the old name in the document list. Ideally it should refresh the document list and display new name.
To Reproduce
Steps to reproduce the behavior:

  1. Go to any document and open metadata panel
  2. Modify the name of the document
  3. Page is not refreshed and user still sees the old name in the document list.

Expected behavior
Ideally user should see the new name in the document list.

Screenshots
If applicable, add screenshots to help explain your problem.

Desktop (please complete the following information):

  • OS: [e.g. iOS]
  • Browser [e.g. chrome, safari]
  • Version [e.g. 22]

Smartphone (please complete the following information):

  • Device: [e.g. iPhone6]
  • OS: [e.g. iOS8.1]
  • Browser [e.g. stock browser, safari]
  • Version [e.g. 22]

Additional context
Add any other context about the problem here.

Edit in Office Icon

Describe the bug
Please change the Icon of Edit in Office. Currently it displays MS-WORD Icon for both Word and Excel documents. Either it should show separate icons based on the file type (Word / Excel/ Powe POint) or a generic icon for Office.
Environment

  • ACA version:1.6 ( from Development)
  • ACS version: 5.2.4

To Reproduce
Steps to reproduce the behavior:

  1. Go to a office document
  2. Right Click on the document
  3. See the Edit in Office Icon

Expected behavior
Icon shold be either generic or based on the file type
Screenshots
If applicable, add screenshots to help explain your problem.

Desktop (please complete the following information):

  • OS: [e.g. iOS]
  • Browser [e.g. chrome, safari]
  • Version [e.g. 22]

Smartphone (please complete the following information):

  • Device: [e.g. iPhone6]
  • OS: [e.g. iOS8.1]
  • Browser [e.g. stock browser, safari]
  • Version [e.g. 22]

Additional context
Add any other context about the problem here.

Login

The credentials for access to the application are not documented.

Support document list reload via NgRx actions

Is your feature request related to a problem? Please describe.

It is not possible for an extension to trigger active document list reload if underlying data has changed.
There are many feature-specific events/subjects that allow reloading data upon folder/library/favorite CRUD operations, but no NgRx actions to support generic reload events.

Describe the solution you'd like

Provide an NgRx action to reload active document list component.
In this case any extension can reload the data once needed.

Describe alternatives you've considered

Emitting other events like "folderEdited" to cause the reload, but most of them have side effects

Additional context

N/A

Select all feature in the document list

Is your feature request related to a problem? Please describe.
Currently we don't have option to select all the documents at once. We need to select one after the another. Provide the ability to select all the files / folders in the page
Describe the solution you'd like
Select all feature need to be provided.

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.

Additional context
Add any other context or screenshots about the feature request here.

Generic Preview Component

Is your feature request related to a problem? Please describe.
We are trying to build new navigational item. It will look like other navigational items (recent-files, shared, favorites,..) but with different search criteria. For this we have to use many existing components in ACA like PageComponent, PreviewComponent. So we have to write these new custom components in ACA instead of extensions library. We need to modularize all these components so that we can use them in extension libraries.
Describe the solution you'd like
We need to keep all reusable modules to be moved as separate libraries so that we can reuse them in extension libraries.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.

Additional context
Document list with all the features is the common feature we use to develop new components. Its ideal all the preview/ page components / and any other components related to this will be part of separate library to reuse in the custom extensions library.

The Share Link dialog has unfriendly "copy" button.

Is your feature request related to a problem? Please describe.
When sharing a file, it's difficult to understand that the "link" icon is, in fact, a "copy url" button.

Describe the solution you'd like
Use traditional copy icon instead of the "link" icon to give users a clue that URL can be copied.

Describe alternatives you've considered
None

Additional context

screenshot 2019-02-15 at 15 49 04

Impossible to define relative routes in navbar configuration

Describe the bug
When including a route/path for a sidenav item, it automatically gets changed into an absolute route/path. It seems the extension service adds a slash in front of every route defined in the extension jsons. Seems like a responsibility for the developer to add this slash in the json if that's what they want.

To Reproduce
Steps to reproduce the behavior:

  1. In the navbar configuration of app.extension.json (or your own custom extension json), define a NavBarLinkRef with a relative route (e.g. './details').
  2. In the app, click on the link.
  3. Instead of '/details' being added to the current url, it is transformed to an absolute path and you'll land on the error page.

Expected behavior
When defining a relative path, I would expect it to behave as a relative path.

Desktop (please complete the following information):

  • OS: [OSX]
  • Browser [chrome]

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.