How to override a module in Liferay 7.1

In this case I want to override Liferay Forms email notification template.

At first I read following help doc:

https://help.liferay.com/hc/en-us/articles/360030320832-How-can-I-configure-or-customize-the-look-and-content-of-email-notifications-sent-after-a-form-entry-has-been-submitted-

I'm using liferay 7.1.3 CE and do following steps:

  1. Shutdown my Liferay at first
  2. Create a copy of file named "com.liferay.dynamic.data.mapping.service-3.0.63.jar" from /osgi/marketplace to /osgi/marketplace/override folder
  3. Rename  file to com.liferay.dynamic.data.mapping.service.jar (remove version information)
  4. Open the jar file with winrar and edit META-INF\resources\notification\form_entry_add_body.soy
  5. Start the liferay portal and check you catalina.out log file as bellow:

2020-07-23 12:16:45.863 INFO  [ModuleFramework-Static-Bundles-6][LPKGBundleTrackerCustomizer:523] Disabled Liferay CE Forms and Workflow - Liferay CE Dynamic Data Mapping - Impl:file:/.../liferay-ce-portal-7.1.3-ga4/osgi/marketplace/Liferay CE Forms and Workflow - Liferay CE Dynamic Data Mapping - Impl.lpkg!/com.liferay.dynamic.data.mapping.service-3.0.63.jar
2020-07-23 12:16:47.017 INFO  [ModuleFramework-Static-Bundles-6][DefaultLPKGDeployer:446] Installed override JAR bundle LPKG-Override::/.../liferay-ce-portal-7.1.3-ga4/osgi/marketplace/override/com.liferay.dynamic.data.mapping.service.jar

 

Have a good day!

Blogs

Great, it is so simple if we do that! 

 

In the past, I have try to modify this soy template but it is very complex with an new service with a higher service ranking... 

We spend hours to do that but it never works with our Liferay 7.1 version. 

 

Making a ext is not very beautiful but so simple with your example... I will try this on Monday! 

 

Thanks, 

Eric. 

 

 

 

I have try and it is ok.

But for me I have to clean the work folder and/or the osgi/state folder. And of course reboot. 

 

One reboot it is the pb but only 10 minutes to translate and modify the soy template.

 

I see there is another js file with the same template, do you know for which usage is it?

If I only modify the soy template it works.

 

Thanks, 

Eric. 

Hi Eric,

 

if you change only soy template you must be attention to  all injected variable from js must be used in soy template.

 

another important note is if you change jar file more than one, you must remove jar file and start liferay to uninstall override jar file and again put to override folder and restart your liferay to apply new jar file

 

regards

Mehdi