Showing posts with label Liferay DXP. Show all posts
Showing posts with label Liferay DXP. Show all posts

Monday, 15 January 2018

Lets under stand what are changes with Liferay 7/DXP version

Latest and stable Liferay version :

  • Liferay Community Edition = Liferay 7.1
  • Liferay Enterprise Edition = Liferay DXP

Technological update required:


  • Tomcat 8
  • JDK 8
  • Mysql 5.7
  • Eclipse Update / Liferay IDE 3

 Look and Feel :


  • Lexicon Design Language
    • set of patterns (visual and interaction)
    • designed to be fluid and extensible
  • Optimized product navigation
  • New Forms user experience
  • Geolocate any content
  • New image, file and media selector
  • Fast response - avoiding full page refreshes
  • Single Page Applications – senna.js
  • Very Good News - IE support 10,11/Edge

Modularity - OSGI


  • Monolithic to Microservices
  • Now 500+ new modules (bundles in the osgi world),
  • We can change any way we like, simply by overriding them with our own modules.
  • No ext plugins any more.

OSGI:


  • Liferay Module Framework
    • Apache Felix
    • Declarative Services (replaces .xml configurations)
    • Bndtools
    • Gogo Shell for manipulating the module lifecycle and many other things
  • Semantic Versioning
  • Blade Tool/Blade CLI

Others :


  • Lucene Gone, Elastic Search(Separate Server)
    • Optionally Solr, support only in EE
  • Goodbye Ant, Hello Gradle (maven is still there)
  • Build tool based on Node.js for Theme development
  • New mobile SDK with Liferay screens 2
  • Clustering not supported in CE

Wednesday, 15 November 2017

Implicit Objects From Liferay JSP

We Can access Various Information related to the user, portlet, layout, theme, etc in the JSP files Using Liferay JSP Implicit Objects. Let's see what are all Complete List of Liferay Implicit Objects available in Liferay 7.

In Liferay have two tag libraries which grant access to Liferay JSP Implicit Objects.

Implicit Objects From Portlet:defineObjects Taglib.

To Get all these implicit objects, <portlet:defineObjects /> must be added In the JSP, these objects hold the information about the portlet parameters and related data.

actionRequest
actionResponse
eventRequest
eventResponse
liferayPortletRequest
liferayPortletResponse
portletConfig
portletName
portletPreferences
portletPreferencesValues
portletSession
portletSessionScope
renderRequest
renderResponse
resourceRequest
resourceResponse
searchContainerReference

Implicit Objects From Liferay-Theme:defineObjects Taglib

To Get all these implicit objects, <liferay-theme:defineObjects /> must be added In the JSP, these objects hold various information related user, portlet, layout, theme, portal, permissions etc.

account
colorScheme
company
contact
layout
layouts
layoutTypePortlet
locale
permissionChecker
plid
portletDisplay
portletGroupId
realUser
scopeGroupId
theme
themeDisplay
timeZone
user

Implicit Objects From JSP

These are the default implicit objects available from the JSP, you don't have to include any Taglib for them.

application
config
out
page
pageContext
request
response
session

Tuesday, 22 November 2016

Liferay 7 (DXP) Module Framework (OSGI)


I am sure you would be happy to see Liferay in some new way of development rather than just what you are doing currently.

Yes, I am talking about Liferay 7.


I know very few people aware that LIFERAY is going to launch the new version of Liferay (Liferay 7) very soon(Maybe early months of 2016).

Friends,

Be ready to see some good changes in Liferay 7 as I heard and attend some workshop from Liferay 7 comes up with OSGi based Module Framework.

Liferay’s module framework makes it easier than ever for developers to create Liferay applications and to Liferay Customization!

How it would be helpful to Liferay Developer :
  •     Easier to manage dependencies across module or plugin level.
  •     And the most interesting feature is,Modules can be installed and uninstalled during running   server itself and no need to bounce the server.
  •     Module versioning will helpful developers to reduce/stop class conflict for individual version of modules
  •     Deployment would be quite easy once you understand the build and deployment process through blade tool
  •     Service contract is loosely coupled. It means services can be published and consume from service registry.
  •     It's very fast due to small and secure with small package/bundle.
  •     One more interesting stuff here is, during development you don't need to be dependent on Liferay SDK until and unless your module or individual project follows Liferay's OSGi standards.
  •     In short, this new framework will give very good flexibility to a developer for the development and will increase productivity as well.

Liferay 6.2 and Liferay 7

You would be thinking that how the old plugin creation approach works using Liferay 7. So yes
Liferay 7 actually supports both the implementation still for backward compatibility.

  •     You can still create the portlet in older fashion the way which you were doing with Liferay 6.2 by following JSR-286 standards and creating WAR files for deployment.

  •     With Liferay 7, It simply creates a jar file as it follows module framework architecture. and this is the recommended approach for your new application development.

But yes here you would have to be familiar with OSGi standards and understand the module and component framework here.

Module:

Module is something which is group of Java classes, other optional resources, and a MANIFEST.MF file, packaged together as into a  single JAR file. Liferay 7 uses three modules/bundles.
Modules can have multiple components.

Component:

Component is nothing but implementation of interface like the way we were doing with *LocalServiceImpl class in older fashion. So here what you need to do is, you just will have to load components through annotations in implementation class.These loaded/declared components would be part of modules.

Here Lifecycle of modules and component will be handled through Liferay's OSGi based module framework.