Hello Team,
I have few queries related to Content Fragment Editor extension. I am new to App Builder, CF Editor Extension project.
1: Pipeline build deployment:
I have these Adobe IO Runtime workspaces: Local, Dev, Stage, Production.
Local is used for POC purpose. deployed the extension project here(using the command: aio app deploy). Able to test using the url:
https://experience.adobe.com/?devMode=true&ext=https://123456-sample-local.adobeio-static.net&repo=author-p123456-e66666.adobeaemcloud.com#/@xyz/aem/cf/editor/ ... so on
How to do deployment using pipeline? How to provide environment details.
2: Testing after deployment to Dev, Stage
Now, my testing team, authroing team wants to test the feature in dev, stage environemnt. Do they need to use URL with devMode?
example:
https://experience.adobe.com/?devMode=true&ext=https://123456-sample-Dev.adobeio-static.net&repo=author-p123456-e66666.adobeaemcloud.com#/@xyz/aem/cf/editor/ ... so on
https://experience.adobe.com/?devMode=true&ext=https://123456-sample-Stage.adobeio-static.net&repo=author-p123456-e66666.adobeaemcloud.com#/@xyz/aem/cf/editor/ ... so on
Or is there any better way to test?
cc @daniel-strmecki @sarav_prakash @AmitVishwakarma @AMANATH_ULLAH
Thanks in advance
Views
Replies
Total Likes
Hi @Mahesh_Gunaje , sure, lets breakdown the steps per environment
Step | Local | Stage | Production |
---|---|---|---|
Development | Develop extension as web action. Refer here. | -do- | -do- |
Deployment | run command `aio app run` | Setup AIO CI-CD pipeline. Refer here.. You ll create a github action. When commit is pushed into stage branch, the action should deploy into AIO stage workspace. For .env, use Github Secrets. I have used Azure vault KV and reading from vault. | Same as stage. `aio app deploy` command to deploy to production. Additional step is to approve from Adobe App Registry. Follow here. |
Testing |
Test with URL https://experience.adobe.com/?devMode=true#/custom-apps/?localDevUrl=https://localhost:9080
|
Similar to local, test from URL https://experience.adobe.com/?devMode=true#/custom-apps/?localDevUrl=https://245265-562turquoiseshri...
|
No extra querystring required. Upon launching CF editor, the extensions will load |
So to reply to your questions,
1. Pipeline deployment, please refer here.
2. Testing, till stage environment, testing is by manually adding query string. For production, we use Adobe App Registry to load the extensions directly.
Thanks @sarav_prakash for your quick help.
As usual, few queries from my side:
1: I have tested in local, dev, stage. (by appending the devMode details)
Now, I have deployed to production. then Approval process. Done.
Feature works fine for my prod sites. Now, if I open the dev, qa or stage portal content fragment, I will see the changes here too without using the devMode in URL. Am I right?
Note: I was referring to this link: https://medium.com/tech-learnings/aem-cloud-enabling-dynamic-data-fields-in-the-new-content-fragment...
Note: This is "member only article" So, adding the necessary points here.
Approval Process: Submit an internal approval request for the extension.
A System Administrator within the organization must approve the request. Once approved, the extension will be enabled across all environments.
As discussed, once the extension is approved, it will be enabled across allenvironments. There is no direct way to control this behavior, but you can modifythe logic in src/aem-cf-console-admin-1/websrc/src/components/ExtensionRegistration.js to restrict the extension to specificenvironments if needed.
Queries: Is this right approach to control this behaviour? I mean feature should be available only in my prod site (For other lower environment, I need to use devMode in the URL.
Thanks
Views
Replies
Total Likes
Forgot to mention few points in above query.
1: Is it good to write conditions in my Content Framgent Extension project to control the logic "only for production"?. Not sure, if I write this condition, will it work for lower env. (by including devMode in the URL ?)
To restrict the extension to specificenvironments if needed: I think, this is because to control the rate limit of Adobe IO runtime project?
Edited previous query here: As per above code snippet, I think its possible to restrict my CF extension logic only to the necessary web app(i mean prod).
In above snapshot, <CUSTOMER_AEM_HOST> environment variable is used. Is it possible to setup this variable per each environement? If yes, whereI can do?
Thanks
Views
Replies
Total Likes
Here is the friend link, if you need to refer to the complete post: https://medium.com/tech-learnings/aem-cloud-enabling-dynamic-data-fields-in-the-new-content-fragment...
To answer your question- this is the only approach currently available to restrict the extensions across environments, I hope in the future adobe may come up with a better approach to handle the visibility
Regards
Albin
Hi @Albin_Issac @sarav_prakash
I have found out some interesting topic here:
https://www.youtube.com/watch?v=QDc0QEUOBB8
Is this the better one to manage the extension per environment?
I mean, enable, disable, Preview the extension per environment??
Also, Configurations per environment concept?
Thanks
Views
Replies
Total Likes
Views
Likes
Replies