Alfresco Content/Process App Module/extension mechanism

cancel
Showing results for 
Search instead for 
Did you mean: 
anakin59490
Established Member II

Re: Alfresco Content/Process App Module/extension mechanism

Hi,

alfresco-content-app is a great job !

But it will be very useful if ADF app could communicate with platform-jar structure in order to reproduce this kind of simple scenario : Form from sdk3 to ADF  

Congratulation for your work !!

ohej
Established Member II

Re: Alfresco Content/Process App Module/extension mechanism

Hi all

I just wanted to give a heads up that we have not forgotten about this topic. We've had quite a few internal meetings about the topic last week, and we are actively exploring options.

Essentially we are working on a mechanism that allows runtime loading of "plugins", which would allow you to hook into different parts of the application - routes, content projection and much, much more.

We're currently doing some internal evaluation to see if the potential solution is fit for purpose. Once we feel good about it, we will start doing some validation with you guys where we present the proposed solution and gather feedback.

We haven't planned out the exact way we share the findings, if it will be a blog, tech talk live, individual or group meetings - most likely a combination. 

We will start sharing some technical details soon!

deas0815
Active Member II

Re: Alfresco Content/Process App Module/extension mechanism

This page seems to be one of the entry points with regards to the recent UI runtime-extensibility-/module efforts. People jumping in at this time might get the impression it is already over. The other day, Denys Vuika mentioned on Twitter it is covered somewhere in TTL. Just saying.

cjose
Senior Member II

Re: Alfresco Content/Process App Module/extension mechanism

I just saw this thread for the first time and thought I'll add an example approach which we took recently for a demo which we built on top of Alfresco Process Workspace aka APW (OOTB ADF based app with APS) and leveraging some components of ACA . In this case I leveraged the "App" container in APS as a case container. Then used the app.config.json in APW to determine the things I want to include/exclude in each Apps. An example entry in the app.config.json show below. Hopefully this will help someone develop case management style apps using ADF!

"1001": {
            "name": "Drone Case Management",
            "defaultLandingPage": "insights/support-cases",
            "showOOTBDashboards": false,
            "apsApp": true,
            "showInsights": true,
            "showProcesses": true,
            "showTasks": true,
            "showCreateTask": true,
            "showCreateProcess": true,
            "showContents": true,
            "showAdvSearch": true,
            "showDataLookup": true,
               "accordionGroups": {
                    "insights": {
                         "default": "support-cases",
                         "items": [{
                        "id": "support-cases",
                        "name": "Cases & Faults"
                    },
                    {
                        "id": "sentiment-analysis",
                        "name": "Sentiment Analysis"
                         }]
                    },
                    "advsearches": {
                         "default": "case-search",
                         "items": [ {
                        "id": "case-search",
                        "name": "Search Cases"
                    },
                    {
                        "id": "fault-search",
                        "name": "Search Faults"
                         }, {
                        "id": "recall-search",
                        "name": "Search Recalls"
                         }, {
                        "id": "repair-search",
                        "name": "Search Repairs"
                         }]
                    },
                    "datalookups": {
                         "default": "models",
                         "items": [{
                        "id": "customers",
                        "name": "Customers"
                         }, {
                        "id": "models",
                        "name": "Drone Models"
                         }]
                    }
               }
        },

The above config resulted in.. 

afaust
Master

Re: Alfresco Content/Process App Module/extension mechanism

This requires the customer / client to override the packaged app.config.json, which violates the idea of an immutable app shipped by the vendor (which was a big argument for Alfresco to push for JAR extensions in ACS). Ideally, any extensibility feature would not require overriding default files.

Are there any plans for APS to support moving away from "magic numbers" for targeting such customisations to specific apps (i.e. the DB ID 1001 for your app) towards proper app naming? I.e. I'd like to be able to create a customisation for process app using the same abstract (logical) ID in DEV, UAT and PROD, without having to account for their different DB IDs, e.g. having separate config files for each target environment.

I hope all those "names" are localised somewhere, i.e. not like the ADF / APW language selection list which is always English even after user already selected German language.

dvuika
Alfresco Employee

Re: Alfresco Content/Process App Module/extension mechanism

Would be nice if you raise a ticket for the language selection list with steps to reproduce and ADF version. If you find JIRA difficult, we also accept the GitHub tickets and then manually move them to JIRA if needed: https://github.com/Alfresco/alfresco-ng2-components/issues/new. Thanks in advance.

afaust
Master

Re: Alfresco Content/Process App Module/extension mechanism

Since APS is an Enterprise product, the proper way is to go through Support, which I can't. The customer has filed their ticket today as ACT 00964167. They are typically a few weeks behind on reporting issues we find in our project(s), because 1st level support is annoyingly inefficient in reproducing obvious out-of-the-box issues and requires a substantial amount of hand-holding.

cjose
Senior Member II

Re: Alfresco Content/Process App Module/extension mechanism

Thanks for the feedback Axel. As I said, this is something that I adopted for the current version of APS. Creating a logical environment-agnostic name for all deployment models is an item that I hope will be tackled as part of Activiti 7 and APS 2.0, and agree it is a pain! Feel free to provide your valuable comments to all the Activiti 7 related RFCs such as https://community.alfresco.com/community/bpm/blog/2018/04/11/rfc-activiti-cloud-application-service 

Btw, the environment specific model ids eg:1001 were replaced with model keys (environment agnostic) in Activiti 6. Another reason for me to believe that it will be fixed in APS 2.0

john_knowles
Active Member II

Re: Alfresco Content/Process App Module/extension mechanism

Quick update for you Denys just merged version 1.4 which includes the first phase of extensibility work. Please see the documentation for more info on the details.

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