Tag Archives: Liferay

Liferay clustering – Part 1

Notes on Liferay clustering:

Email me: Neil@HarwaniSystems.in

Liferay & AIML / Generative AI – Part 1

What all is possible with Liferay & AIML / Generative AI? – Part 1. Liferay being open source we can integrate GAI / AIML with Liferay for:

  • Generating content & images in web content section
  • Generating automated blogs, tags, categories and UIUX flows
  • Assistant which could redirect us to relevant help pages
  • Assistant which could suggest which portlets or features to use from documentation
  • Assistant for suggesting configurations of Liferay
  • Intelligent chatbot which is domain specific
  • Assistant for fault finding & log analysis recommendations
  • Assistant for detecting status of liferay, integrations, file store & database
  • Assistant for analysis of networked components like web server, CDN, hosting / cloud and so on
  • List is endless and this seems to be the just the start of this new area of integrating AIML / GAI into enterprise applications for monitoring, suggestions and assistance

Refer my earlier blog for what kind of disclaimers might be required when working with GAI: What points can be part of fair use disclaimer for Generative AI? – Part 1 | LinkedIn

Email me: Neil@HarwaniSystems.in

How to take knowledge transfer in a discussion for Liferay engagement – Part 1

Here is a list of points which will help in taking a knowledge transfer for a Liferay engagement – Part 1:

1. Check which products of Liferay are in use: DXP, Commerce, Analytics and / or Cloud LXC

2. Take the list of osgi/configs & osgi/modules to get configurations of osgi modules and such

3. Check portal-ext.properties and portal-setup-wizard.properties 

4. Understand the functional flow of usecase fully and draw sequence diagrams for the flows 

5. Check control panel in terms of what is in use like number of private / public pages, server administration, OOTB portlets / apps used, web content, templates, foundation, search, instance / virtual settings, redirects, configurations, LDAP, SSO, system properties  

6. Check theme and style books

7. Get information on file-store, index server, database, clustering and deployment via deployment architecture 

8. Check CI/CD & developer environment details in terms of integration and pipeline

9. Check sizes of file-store and database

10. Get details on type of custom portlets, UI frameworks in use and Lifeary DevStudio usage

11. Check integrations with Liferay and the ecosystem like deployment on in-prem infra and cloud deployment

12. Check CPU / memory usage and errors that frequently come from logs. Get logs for last 7-15 days

13. Check the ecosystem of code quality, monitoring & performance tools if any are present 

14. Get a list of problems from developers, inputs from functional managers, any roadmap, upgrade plans for future usage 

Email me: Neil@HarwaniSystems.in

Checklist for DMS Use Case in Liferay

Find below a checklist for Liferay’s DMS (Document Management System) Use Case:

  • Size your document average size, range of size, number of documents, type, viewers, thumbnail requirements early
  • Decide the workflow templates for start plus growth per quarter & estimated workflow instances per day / week / month in advance which will run on your documents
  • Size your file store and decide on SAN / NAS requirements early based on latency / size of documents / number of folders and so on
  • Switch to advanced file store early if you have large number of documents – this is preferrable right from the start
  • Consider adding multiple repositories in advance if you have multiple file stores and a very large number of documents across repositories
  • Use case of DMS specific software other than Liferay working alongside Liferay mounted via CMIS protocol should be considered early incase of very large number of documents across repositories
  • Full text / partial / multilingual search requirements should be planned early
  • Scanning integration if needed should be considered
  • Anti-virus considerations should be considered depending on use case
  • Response times should be calculated based on network latency for all users
  • Mobile, responsive, desktop, laptop / universal views for documents need to be planned
  • Cloud deployment use case in terms of blob storage / file store considerations should be done early
  • Separate Elasticsearch should be planned
  • Access control, confidentiality, digital rights management related planning and requirements should be done as a prerequisite
  • Liferay file store, Elasticsearch, data folder, filesystem and database should not be directly worked on – We should work via Liferay UI/Control Panel/Groovy/API and so on. Exceptions are there like reindexing problems, performance tuning and so on but they should be more exceptions than norm.
  • Include backup/restore in sync with database. Also in DR.
  • Leverage Ghostscript and Open Office / Libre Office for text extraction and conversion.
  • Include clam-av for portal-based scans when uploads are supported from external sources.

Email me: Neil@HarwaniSystems.in

Elasticsearch with Liferay – Notes & Links – Part 1

Below are the important notes & links for configuring Liferay DXP with Elasticsearch.

Email me: Neil@HarwaniSystems.in

How to debug Liferay? – Some pointers – Part 1

How to debug Liferay? Some pointers. – Part 1. Many a times, we only check at specific places and forget other areas while debugging. This small blog acts as a checklist to check and debug Liferay.

  • Look at installing and using GLOWROOT
  • Check the slow traces / web transactions / errors and the related graphs in GLOWROOT
  • Check the logging levels module wise and overall
  • Check all the Liferay nodes if in a cluster
  • Check the app server logs
  • Check JNDI & JDBC settings
  • Check the things by simulating on default vanilla instance / bundle
  • Use help center articles
  • Check your webserver, load balancer and database configurations plus logs
  • Check your portal & system properties
  • Check configurations in control panel for the related work
  • Check your custom API list
  • Check details via GoGo shell commands
  • Check the code in Liferay DevStudio or your favorite IDE
  • Check marketplace apps that are installed
  • Consider using Groovy scripting for debugging
  • Check virtual instances if in use
  • Check OSGI configurations if added
  • Check your elastic search server status
  • Check your heap size and thread dumps plus configurations in setenv.sh/bat

Blog also gives you an idea on the configurability and extent of Liferay modularity. It makes our work easier when many of the things are configurable.

References:

Liferay upgrade learnings – Part 1

Some learnings below from various Liferay upgrades that I have been part of:

  • Upgrades need us to plan various dry runs in advance on non-production environment
  • Divide your upgrade between core / database and non-core upgrade
  • Core includes Liferay engine, configurations and database
  • Non-core includes themes, custom code, integrations and such
  • Understand how to use database upgrade tool for core upgrade
  • Logging of upgrade should be at much more verbose level than normal
  • You can upgrade with document library or without it using portal-ext.properties configurations
  • Upgrades between DXP from 7.x to 7.x are easier whereas upgrades from 6.x to 7.x need more planning
  • For database upgrade tool, you have an option of 3 property files or you can use command prompt to enter required details
  • Make sure you are at the latest version of whichever 7.x you are upgrading to
  • Bad and corrupt data are perpetual problems which need to be analyzed properly before upgrade
  • Use groovy to fix bad data not SQL
  • Consider analysis and compliance from Liferay compatibility matrix, Liferay whitepapers on cloud, security, upgrade & scaling before planning your upgrade
  • Create a template document for upgrade with all major areas pre-covered in analysis via the whitepapers on Liferay.com
  • Understand the breaking changes with every major version release
  • Learn to use the upgrade planner for code upgrade
  • Docker containers are available and should be considered
  • Consider headless, clustering, cloud, advanced file store, CMIS repository options right at the analysis phase of Liferay upgrade
  • For your data storage requirements in future as per scaling – understand and analyze the load to confirm to the right choices of infrastructure like Cloud, SAN / NAS and so on
  • Learn to use the basic Linux commands (if you are using Linux) like top, free, tail, ps, grep, liferay bin commands, sudo, vim, thread dumps and such to monitor / manage the upgrade well
  • Look at top thread dump analyzers like: Smart Java thread dump analyzer – thread dump analysis in seconds (fastthread.io)
  • Consider learning basics of operating system / network you are using, JVM & database tuning / optimization for threads, core allocations, monitoring and using Eclipse IDE to analyze threads, heap, etc.
  • Keep reference guide for system.properties and portal-ext.properties handy during upgrade of core part
  • Keep headless, GraphQL, Liferay / Java API details handy during code upgrade
  • Explore 7.4 DXP features if you are upgrading to this version: Liferay DXP 7.4 New Features
  • Refer help center articles and open documentation both, they have lot of good, useful content
  • Reference: Upgrade Basics — Liferay Learn

Email me: Neil@HarwaniSystems.in

Notes on Liferay search optimization – Part 1

Notes on Liferay search optimization – Part 1.

There are two parts to search optimization in Liferay. One is the internal search and other is the SEO / Digital Marketing for content. Below, I am sharing concepts and keywords to explore for both areas.

Liferay internal search:

  • Search BluePrints
  • Search Insights
  • Custom Indexers
  • Tags & Categories
  • ReIndexing
  • Facets
  • Suggestions
  • Boosting
  • Sorting
  • Low level search
  • Search Options
  • Similar Results
  • Queries & Filters
  • Google Search console / Bing search console / Google Analytics analysis and feedback into internal search

Liferay SEO:

  • Open Graph
  • Friendly URLs
  • SiteMap
  • Robots
  • Meta Tags
  • LightHouse / PageSpeed Insights score
  • Google Analytics
  • PIWIK
  • Headless

References:

  • https://learn.liferay.com/dxp/latest/en/using-search/liferay-enterprise-search/search-experiences/creating-and-managing-search-blueprints.html
  • https://learn.liferay.com/dxp/latest/en/using-search/getting-started/search-overview.html
  • https://learn.liferay.com/dxp/latest/en/using-search/getting-started/searching-for-content.html
  • https://help.liferay.com/hc/en-us/articles/360029046411-Building-Search-Queries-and-Filters
  • https://learn.liferay.com/dxp/latest/en/site-building/site-settings/configuring-open-graph.html
  • https://learn.liferay.com/dxp/latest/en/site-building/site-settings/adding-a-new-analytics-service.html
  • https://analytics.google.com/analytics/web/
  • https://marketingplatform.google.com/about/analytics/
  • https://piwik.pro/
  • https://developer.chrome.com/docs/lighthouse/overview/
  • https://pagespeed.web.dev/

Email me at Neil@HarwaniSystems.in

Navigating Liferay as a Customer & Partner – Part 1

Single ready reference of important links for customers & partners of Liferay:

  • Where is the customer portal: https://www.liferay.com/customers
  • Where do I find the documentation – Version & Product wise: https://learn.liferay.com/
  • Where is the developer portal: https://www.liferay.com/developers
  • Where is the partner portal: https://www.liferay.com/partners
  • Where can I get online trainings: https://www.liferay.com/learning
  • Where are the blogs: https://www.liferay.com/blog
  • Where can I get the case studies: https://www.liferay.com/resources/case-studies
  • Where is the list of upcoming events: https://www.liferay.com/events
  • Where are the details for Subscription services: https://www.liferay.com/subscription-services
  • What is DXP: https://www.liferay.com/products/dxp
  • What is Liferay Experience Cloud: https://www.liferay.com/products/liferay-experience-cloud
  • What are the major Use-cases & Industries that Liferay caters to: https://www.liferay.com/ – Navigate to Solutions
  • Where is the MarketPlace: https://web.liferay.com/marketplace
  • Where is the resource library: https://www.liferay.com/resources
  • Where is the YouTube channel: https://www.youtube.com/user/liferayinc
  • Where is the LinkedIn page: https://www.linkedin.com/company/liferay-inc-/
  • Where do I raise a product request for technical support, licenses and similar points: https://help.liferay.com/hc/articles/360018414031
  • Where is the page for careers: https://www.liferay.com/careers

Keywords for Identity & Access Management plus Single Sign on with links from Liferay ecosystem – Part 1

Keywords in the identity & access management space along with single sign on:

  • Active Directory
  • LDAP
  • OAuth
  • Kerberos
  • OpenID
  • SAML
  • CAS
  • Seamless login
  • Shibboleth
  • IAM
  • SSO
  • JWT
  • Identity provider
  • Service provider
  • MFA
  • TFA
  • Principal
  • Identity synchronization
  • Identity lifecycle management
  • Entitlement
  • Authorization
  • Authentication
  • Federated identity
  • B2B & B2C

Links from Liferay documentation for above:

  • https://learn.liferay.com/dxp/latest/en/installation-and-upgrades/securing-liferay/configuring-sso.html
  • https://learn.liferay.com/dxp/latest/en/installation-and-upgrades/securing-liferay.html
  • https://learn.liferay.com/dxp/latest/en/headless-delivery/using-oauth2/creating-oauth2-applications.html
  • https://help.liferay.com/hc/en-us/articles/360033738332-Authenticating-Using-SAML
  • https://help.liferay.com/hc/en-us/articles/360026505211-Authenticating-with-Kerberos
  • https://www.liferay.com/resources/whitepapers/Identity+Management+in+Liferay+DXP
  • https://help.liferay.com/hc/en-us/articles/360018176491-OAuth-2-0
  • https://en.wikipedia.org/wiki/Identity_management

Email me: Neil@HarwaniSystems.in