New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Module/extension mechanism #179

Closed
binduwavell opened this Issue Jan 23, 2018 · 8 comments

Comments

Projects
None yet
5 participants
@binduwavell
Contributor

binduwavell commented Jan 23, 2018

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.

@binduwavell

This comment has been minimized.

Contributor

binduwavell commented Jan 23, 2018

I have posted this same info on the community. Let's do the discussion there and keep this for "requirements": https://community.alfresco.com/message/827340-alfresco-contentprocess-app-moduleextension-mechanism

@mikelasla

This comment has been minimized.

mikelasla commented Jan 26, 2018

I published this post trying to expose our view, hope it helps

@john-knowles

This comment has been minimized.

Contributor

john-knowles commented Jan 26, 2018

Thank you both for your input @binduwavell and @mikelasla - @ohej and I are going to discuss this feedback in more detail next week with @DenisVuyka

@eromano

This comment has been minimized.

Contributor

eromano commented Jan 27, 2018

I am really impressed for all these nice feature requests. ADF is a relatively young framework and from my point of view is wonderful to see how we are moving really fast from the simple use cases of the beginning of the last year at this more articulate features.

@binduwavell I would like to have a more deep conversation with you on all these points in order to fully understand the use cases.

@john-knowles please add me to the discussion some of this feature seems to be work for ADF.

@mikelasla nice post

@binduwavell

This comment has been minimized.

Contributor

binduwavell commented Jan 29, 2018

@eromano I’m happy to discuss further. Feel free to hit me up on Skype or send me a meeting invite. I’m in Mountain time zone, which I believe is currently UTC - 7.

@binduwavell

This comment has been minimized.

Contributor

binduwavell commented Jun 27, 2018

@eromano any progress on this?

@john-knowles

This comment has been minimized.

Contributor

john-knowles commented Jun 27, 2018

@binduwavell - requirements are coming together for a discussion on Monday. Please can we discuss with you next month once ideas are fully formed?

@john-knowles

This comment has been minimized.

Contributor

john-knowles commented Sep 6, 2018

Version 1.4, just merged to Master includes the first phase of extensibility work. Please see the documentation for more info on the details: https://alfresco.github.io/alfresco-content-app/#/extending

We are looking forward to feedback on the progress so far on both extensibility in the app, and the associated documentation.

@john-knowles john-knowles added this to the 1.4.0 milestone Sep 6, 2018

@DenysVuika DenysVuika modified the milestones: 1.4.0, 1.5.0 Sep 7, 2018

@DenysVuika DenysVuika closed this Oct 15, 2018

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment