Expand my Community achievements bar.

Submissions are now open for the 2026 Adobe Experience Maker Awards.
SOLVED

What is the end to end process to enable Universal Editor on my local machine?

Avatar

Level 4

Currently, if I try to create a new block, I need to create a structure ( model, filter, definition ) and push it to my remote. Merge it to my main and start editing on the cloud instance. Once I am done authoring the block, I publish it so that I get the data on my localhost:3000 and make further changes on the design/decoration. But this is too much of a burden to always push things to the remote if I need any change in the content model or make changes to the cloud instance ( if the change is to be made on the authoring of content). 

Now I want to be able to make all these changes on the local machine itself. I like the authoring to happen on my localhost, and the same changes should be served from my local to my localhost:3000. 

 

I tried to look at many blogs, many articles, but everything is quite incomplete or is written in a way where it is assumed that assumes the reader is already a master of this tech. I am looking for steps/documentation that will explain end to end process of how to set up Universal Editor on localhost. If anyone has set it up, please share your inputs. 

Even if there is a blog that explains this whole process without skipping steps, please share that as well. (And while writing the answer, you might skip a few points, thinking it is basic and everyone already knows this. But please don't skip, that is the real problem. Everyone is skipping steps.

Topics

Topics help categorize Community content and increase your ability to discover relevant content.

1 Accepted Solution

Avatar

Correct answer by
Level 4

Hi @Ankan_Ghosh 

Create a head.plain.html file inside your blocks/head/ directory (or wherever your site handles head content):

blocks/head/head.plain.html 

inside this add head.html....

Ensure your Franklin site template includes this head block.
If using default Franklin setup, this head block will automatically be injected during rendering.

 

Regards,

Karishma.

View solution in original post

4 Replies

Avatar

Level 4

Hi @Ankan_Ghosh 

1.Set Up AEM for HTTPS

Self-signed cert.

openssl req -newkey rsa:2048 -nodes -keyout author.key -x509 -days 365 -out author.crt

Configure AEM Author to use HTTPS with those certs (update quickstart.jar flags or author-runmode configs).

 

2.Run Universal Editor Service Locally

Download Adobe’s universal-editor-service.cjs file.

In the same folder:

create certs:

openssl req -newkey rsa:2048 -nodes -keyout key.pem -x509 -days 365 -out cert.pem

 Create .env:

UES_PORT=8000
UES_PRIVATE_KEY=./key.pem
UES_CERT=./cert.pem
UES_CORS_PRIVATE_NETWORK=true

Run:

node universal-editor-service.cjs

3.Update your site at localhost:3000

Add this in <head>

<script src="https://localhost:8000/corslib/LATEST" async></script>
<meta name="urn:adobe:aue:system:author" content="aem65:https://localhost:4502">
<meta name="urn:adobe:aue:config:service" content="https://localhost:8000">

 

Hope this may helpful.

 

Regards,

Karishma.

 

Avatar

Level 4

I have done everything mentioned up to point 2. For the 3rd point, where should I add these meta tags? If I add it to the meta tags of the WKND template, how will it reach my site made with the Franklin template?

 

This is how I created my site 

Ankan_Ghosh_0-1750426362729.png

 

Avatar

Correct answer by
Level 4

Hi @Ankan_Ghosh 

Create a head.plain.html file inside your blocks/head/ directory (or wherever your site handles head content):

blocks/head/head.plain.html 

inside this add head.html....

Ensure your Franklin site template includes this head block.
If using default Franklin setup, this head block will automatically be injected during rendering.

 

Regards,

Karishma.

Avatar

Administrator

@Ankan_Ghosh Just checking in — were you able to resolve your issue?
We’d love to hear how things worked out. If the suggestions above helped, marking a response as correct can guide others with similar questions. And if you found another solution, feel free to share it — your insights could really benefit the community. Thanks again for being part of the conversation!



Kautuk Sahni