AEM 6.5 <B> to <strong> in RTE | Community
Skip to main content
JakeCham
Level 6
January 7, 2021
Solved

AEM 6.5 <B> to <strong> in RTE

  • January 7, 2021
  • 4 replies
  • 2580 views

I have a requirement that <b> tag should be converted into <strong> after submitting. I was able to achieve this by introducing below node structure as a sibling to rtsPlugins of my text component in apps.

<htmlRules jcr:primaryType="nt:unstructured">
    <docType jcr:primaryType="nt:unstructured">
         <typeConfig jcr:primaryType="nt:unstructured">

                   @useSemanticMarkup Boolean true         

         </typeConfig>
     <docType
<htmlRules

Problem is in our site already we have used RTE for more that 500 odd places and those RTE ,The new change is not getting reflected unless manually editing those RTE components(need to hit twice B icon).Is there anyway to overcome that existing RTE s in pages not getting reflected that change <b> to <strong>.

Thanks in advance. 

This post is no longer active and is closed to new replies. Need help? Start a new post to ask your question.
Best answer by Ravi_Pampana

Hi,

 

You can try replacing the <b> to <strong> in java while reading value from node property and displaying in htl. This will not replace <b> to <strong> in the jcr node but for in html it will have <strong> instead of <b> for already added rte's. 

 

 

4 replies

arunpatidar
Community Advisor
Community Advisor
January 7, 2021

Hi,

It is not possible to change the existing stored content without editing manually or via script.

Arun Patidar
Ravi_Pampana
Community Advisor
Ravi_PampanaCommunity AdvisorAccepted solution
Community Advisor
January 7, 2021

Hi,

 

You can try replacing the <b> to <strong> in java while reading value from node property and displaying in htl. This will not replace <b> to <strong> in the jcr node but for in html it will have <strong> instead of <b> for already added rte's. 

 

 

Ankur_Khare
Community Advisor
Community Advisor
January 8, 2021

Write a groovy script to update existing nodes ,

raj_mandalapu
Level 7
January 8, 2021

The content is already stored in the repository, so the only way you can fix this is by writing Groovy Script, the below script can help you to fix this

 

Note: the code is not tested and it is self-understanding you can modify it if it does not work for you

 

def search = "<b>"
def replace = "<strong>"
def path = "/content"
def property = 'jcr:description';
def query = createSQL2Query(path, search , property)
def result = query.execute()
result.nodes.each{node ->
def description = node.get(property)
println description
node.set('jcr:description', description.replaceAll(search ,replace))
println node.path
}
save()
def createSQL2Query(path, search, property) {
def queryManager = session.workspace.queryManager
def statement = "SELECT * FROM [nt:base] AS s WHERE ISDESCENDANTNODE([${path}]) and s.[${property}] like '%${search}%'"
def query = queryManager.createQuery(statement, "JCR-SQL2")
query
}

JakeCham
JakeChamAuthor
Level 6
January 21, 2021
Using Bulk Editor option can we do this ?