Posts

Showing posts from February, 2022

Good Reads

Planned Liferay DXP Readings  Reference One To be Read https://help.liferay.com/hc/en-us/articles/360017883472-Liferay-Portal-Classloader-Hierarchy-

Summery of Important annotations in Liferay DXP

Image
  @ Component We will need this annotation to define a component and publish into the Liferay OSGI container immediate - ensure the component is started right away and not wait for a reference properties - Used to pass in a set of OSGi properties to bind to the component.  service - Defines the service that the component implements.   EXAMPLE /**   * @author manish   */ @Component ( immediate = true , property = { "com.liferay.portlet.display-category=category.sample" , "com.liferay.portlet.header-portlet-css=/css/main.css" , "com.liferay.portlet.instanceable=true" , "javax.portlet.display-name=VINTracker" , "javax.portlet.init-param.template-path=/" , "javax.portlet.init-param.view-template=/view.jsp" , "javax.portlet.name=" + VINTrackerPortletKeys. VINTRACKER , "javax.portlet.resource-bundle=content.Language" , "javax.portlet.security-role-ref=power-user,user...

Liferay 7 Major changes

  Here are some key changes of interest to existing Liferay developers: many out of the box portlets, features, and associated APIs have been extracted as OSGi modules Adoption of modern OSGi standards its modernized standards, such as Declarative Services, have made learning and using it much easier. Core Public APIs are provided through portal-kernel (previously known as portal-service); all other public APIs are provided by their own modules. You can reuse modules and libraries, and manage the dependencies among them. Registration of classes implementing extension points is now simpler and more consistent; it’s based on the standard  @Component  annotation instead of declarations in  portal.properties  or  portlet.xml .  Complete integration of Liferay specific tools (such as Service Builder) within Maven and Gradle. Additionally we’ve adopted some new tools such as Bnd. There are a lot of benefits of using OSGi and below are some: Easier to manage ...

Liferay Version upgrade process

 Liferay Version upgrade process involves a number of steps at high level 1) Liferay DB upgrade 2) Liferay code upgrade Using Liferay upgrade planner handling the Breaking changes 3) Liferay tomcat setup upgrade  Using Patching tools References and Links  :  https://sourceforge.net/p/lportal/news/2022/01/liferay-61---liferay-74-database-upgrade/

Liferay Upgrade Process

  Liferay Upgrade process is way to perform pre configurations related to portlet or Liferay applications. When we can use Upgrade Process? When we move our applications from one version to another version we may need to do some pre configuration to work well in newer environment. If application need to populate some default data with respect application. Database related SQL script execution.

New Features in Liferay DXP 7.3 and Liferay DXP 7.4

  Liferay DXP 7.4 New and Improved Features Highlights 1. Liferay enterprise search experiences 2. Low code application builder 3. DocuSign Integration 4. Click to Chat connector 5. Accessibility and SEO Audits 6. Auto-Translation of web content Liferay DXP 7.3 New and Improved Features Highlights Visual Fragment Composition Page authors can now save their column compositions as reusable, sharable Fragments so they can be used on other pages. Design and Theme Editor We took Themes to the next level by providing Master Pages, Templates, Fragments and Style Books (see below) to override partially or completely the default theme look and feel. You can now use the classic Liferay theme as a base. Dedicated translation experience for web content A  new translation UI  makes it easy to translate content in a side-by-side UI that optimizes the process. Translators can translate only into languages for which they have permission, and our workflow processes make reviewing those...

Liferay DXP Interview questions References

This blog is intended as a reference to good quick links for LIFERAY DXP related discussions . Blog Links

First visit on the page with portlet check in Liferay

  HttpServletRequest request = PortalUtil.getHttpServletRequest(renderRequest); List<String> headerValuesList=Collections.list(request.getParameterNames()); if (headerValuesList.isEmpty()) { System.out.println("THIS IS FIRST VISIT TO THE PAGE with PORTLET"); doSomething(renderRequest, renderResponse); }

Commands

  Command   to   deploy   the   Liferay   docker   image   from  local  to   liferay   cloud  :--     echo "mkj@abc.com ***********" |  lcp   login  && cd "C:\ Users \MKJ\ Documents \ Liferay  CLI\ liferay " &&  gradle   clean   createDockerfile   deploy  &&  copy   LCP.json  "C:\ Users \MKJ\ Documents \ Liferay  CLI\ liferay \ build \ docker " && cd "C:\ Users \MKJ\ Documents \ Liferay  CLI\ liferay \ build \ docker " &&  lcp   deploy  -p  ktjlrgrp  -- quiet  -e qa4 –verbose     Link :- https://learn.liferay.com/dxp-cloud/latest/en/reference/command-line-tool.html#installing-the-cli-tool  

Forms approach DB mappings

  SELECT * FROM lportal.ddmforminstance;  //  Forminstanceid  and  xml   with   form   name       SELECT * FROM  lportal .ddmforminstancerecordversion;  // Forminstanceid ,  forminstancerecordid   ( this.forminstancerecordversionId  ==  kaleoinstance.classPK )     SELECT * FROM  lportal .kaleoinstance; //  json   with   approve  and  content   ( createDate   is  SUBMITTED date ,  completionDate   is  APPROVED date )    SELECT * FROM  lportal .ddmstructureversion; //Has  the   label   key   etc          SELECT * FROM  lportal .ddmstructure;  //  ddmstructure.StructureId  =  ddmforminstance.StructureId     1) ON CREATE     Entry  in   SELECT * FROM lportal.ddmforminstance;      2)  ON SUBM...