SlideShare a Scribd company logo
Liferay Developer Best Practices March 31 st  2011 Rivet Logic Corporation 1800 Alexander Bell Drive Suite 400 Reston, VA 20191 Ph: 703.955.3480  Fax: 703.234.7711 Presented By Alaaeldin El-Nattar Principal Architect Rivet Logic Corporation
Rivet Logic Overview Award-winning professional services focused on enabling: Collaboration and Community Platforms Enterprise and Web Content Management Next Generation Websites  Using Leading Open Source Software Company Facts Founded 2005, Consistently Profitable, Employee-owned Headquartered in Reston, VA Regional Offices in Boston, New York City, LA Near-shore Development Center in Costa Rica 40+ Consultants Copyright © 2008. Rivet Logic Corporation. All rights reserved.
Rivet Logic and Liferay Certified Partner since 2006 Conduct all Public Training on East Coast USA  Contributor (software, documentation, forums, training material) Host of first ever East Coast User Conference in 2009 20+ Liferay projects underway or completed Copyright © 2008. Rivet Logic Corporation. All rights reserved.
Best Practices What are best practices? “ A  best practice  is a technique, method, process, activity, incentive, or reward that is believed to be more effective at delivering a particular outcome  than  any  other  technique,  method,  process,  etc. when applied to a particular condition or circumstance. ” – Wikipedia Why is it not easy to follow them? Why should we follow them? Copyright © 2010. Rivet Logic Corporation. All rights reserved.
Motivation Better maintenance Better flexibility Higher confidence A great differentiator Copyright © 2010. Rivet Logic Corporation. All rights reserved.
Liferay Best Practices Best practices at three levels Architecture Design/Development Deployment/Operations Copyright © 2010. Rivet Logic Corporation. All rights reserved.
Copyright © 2009. Rivet Logic Corporation. All rights reserved. ARCHITECTURE
Architecture Best Practices Essentials Understanding Liferay’s architecture and roadmap Ability to map real life IA into Communities/Organizations Use what you have Organization hierarchies can be very useful Educate the client e.g. Control Panel is powerful but one must be told why  Copyright © 2010. Rivet Logic Corporation. All rights reserved.
Architecture Best Practices Disciplines Do your best to understand the client’s business model Walk and talk like they do Terminology matters Be 100% transparent Be “Agile” Maintain a clear upgrade path Copyright © 2010. Rivet Logic Corporation. All rights reserved.
Copyright © 2009. Rivet Logic Corporation. All rights reserved. DESIGN / DEVELOPMENT
Design/Development Best Practices Use Expandos for extending models where possible Quick apps can be written using the Liferay WCM and Expandos Think about the pros and cons Copyright © 2010. Rivet Logic Corporation. All rights reserved. Note: This list is not in any particular order http://www.liferay.com/web/raymond.auge/blog/-/blogs/expandos-ii-refactor-of-a-previous-post-for-6-0
Design/Development Best Practices Don’t forget that you can use custom SQL in your plugins Consider caching if custom query is called often Copyright © 2010. Rivet Logic Corporation. All rights reserved. http://www.liferay.com/community/forums/-/message_boards/message/4912728 http://www.liferay.com/community/wiki/-/wiki/Main/Service+Builder+Finders
Design/Development Best Practices Portlet resource permissions in Plugin SDK Important for portlet flexibility Understand the three portlet permission levels Copyright © 2010. Rivet Logic Corporation. All rights reserved. http://www.liferay.com/community/forums/-/message_boards/message/4887808
Design/Development Best Practices You can access Liferay services directly in velocity No need for custom velocity variables Helps when building WCM applications  Copyright © 2010. Rivet Logic Corporation. All rights reserved. http://www.liferay.com/community/forums/-/message_boards/message/4885934
Design/Development Best Practices Before you customize look at portal.properties Use hooks to override properties if you can If hooks don’t allow you to override a property use portal-ext.properties Copyright © 2010. Rivet Logic Corporation. All rights reserved.
Design/Development Best Practices Localization is made simple by Liferay Any database column can be localized Copyright © 2010. Rivet Logic Corporation. All rights reserved. http://www.liferay.com/community/forums/-/message_boards/message/4857873 <column name=&quot;title&quot; type=&quot;String&quot;  localized=&quot;true&quot;  />
Design/Development Best Practices Understand how Liferay counters work Look at  com/liferay/counter/service.xml Override if necessary See  counter-spring.xml Copyright © 2010. Rivet Logic Corporation. All rights reserved. http://www.liferay.com/community/forums/-/message_boards/message/4850927 http://www.liferay.com/community/forums/-/message_boards/message/4841385
Design/Development Best Practices Know when/how to share services between portlets Place service JAR in WEB-INF/lib of each plugin Allows for hot deployable plugins Copyright © 2010. Rivet Logic Corporation. All rights reserved. http://www.liferay.com/community/forums/-/message_boards/message/4686465 http://www.liferay.com/web/juan.fernandez/blog/-/blogs/liferay-modules-communication
Design/Development Best Practices Know how to upgrade your portlets Use Liferay’s UpgradeProcess Use a hook plugin and an Upgrade class Copyright © 2010. Rivet Logic Corporation. All rights reserved. http://www.liferay.com/web/ryan.park/blog/-/blogs/implementing-upgradingprocess-for-your-liferay-portlets!?_33_redirect=%2Fweb%2Fryan.park%2Fblog
Design/Development Best Practices Build your integration layers as services Use Service Builder Standardize development methodology Copyright © 2010. Rivet Logic Corporation. All rights reserved.
Design/Development Best Practices Understand the pros and cons of search/indexing options Solr vs Local Index Copyright © 2010. Rivet Logic Corporation. All rights reserved. http://issues.liferay.com/browse/LPS-15006 http://svn.liferay.com/changelog/plugins?cs=71516
Copyright © 2009. Rivet Logic Corporation. All rights reserved. DEPLOYMENT / OPERATIONS
Deployment/Ops Best Practices Document everything DEV vs QA vs PROD HINT: Use properties  files per environment portal-dev.properties portal-qa.properties portal-prod.properties Copyright © 2010. Rivet Logic Corporation. All rights reserved.
Deployment/Ops Best Practices Deploy Liferay as a service Windows Tomcat can be installed as a service Unix Use init scripts Distro dependant Copyright © 2010. Rivet Logic Corporation. All rights reserved.
Deployment/Ops Best Practices Know how to do hardware sizing Ask the right questions How many concurrent users What are the real life use cases Translate use cases to Liferay functionality Map functionality to resource utilization File system Database Copyright © 2010. Rivet Logic Corporation. All rights reserved. ?
Deployment/Ops Best Practices Performance tuning Profile the portal Tweak the JVM Have a scalability plan Copyright © 2010. Rivet Logic Corporation. All rights reserved.
Deployment/Ops Best Practices High-Availability deployment quirks Clustered cache is affected by underlying network HTTP session replication is usually overkill Educate the client Copyright © 2010. Rivet Logic Corporation. All rights reserved. You can count on me
Summary Best practices span the entire software development lifecycle Try to keep up Liferay is always changing Always promote best practices Copyright © 2009. Rivet Logic Corporation. All rights reserved.
Q & A Copyright © 2010. Rivet Logic Corporation. All rights reserved.
rivetlogic.com blogs.rivetlogic.com forge.rivetlogic.com youtube.com/rivetlogic twitter.com/rivetlogic Learn more… Copyright © 2010. Rivet Logic Corporation. All rights reserved.

More Related Content

PDF
Introduction to Portlets using Liferay Portal (Part 2)
PDF
Liferay portals in real projects
PDF
Introduction to Portlets Using Liferay Portal
PDF
Using Liferay Portal with LDAP and Single sign-on
PDF
Liferay Portal Introduction
PPTX
Liferay portal – moving beyond content management
PPT
Liferay overview
PDF
Creating Better Customer and Employee Experiences with Liferay Portal and Cra...
Introduction to Portlets using Liferay Portal (Part 2)
Liferay portals in real projects
Introduction to Portlets Using Liferay Portal
Using Liferay Portal with LDAP and Single sign-on
Liferay Portal Introduction
Liferay portal – moving beyond content management
Liferay overview
Creating Better Customer and Employee Experiences with Liferay Portal and Cra...

What's hot (20)

PDF
Liferay DevCon 2014: Lliferay Platform - A new and exciting vision
PDF
[DevDay2018] Liferay DXP – A powerful Enterprise Solution - By Vy Bui, Develo...
PDF
2014 Liferay Roadshow Ambientia Finland
PPTX
Liferay Configuration and Customization
PDF
01/2009 - Portral development with liferay
PPTX
Portlet Framework: the Liferay way
PDF
Making a decision between Liferay and Drupal
ODP
Liferay with xebia
PDF
Liferay Italy Symposium 2015 Liferay Mobile SDK and Liferay Screens
PDF
Liferay architecture By Navin Agarwal
PDF
Moved to https://slidr.io/azzazzel/leveraging-osgi-to-create-extensible-plugi...
PPTX
Liferay on docker
ODP
Liferay and Cloud
PPTX
Liferay 7
PPTX
Liferay portal advantages
PDF
Mavenizing your Liferay project
PPTX
Liferay as solution for legacy applications
PDF
EclipseCon Europe 2015 - liferay modularity patterns using OSGi -Rafik Harabi
PPTX
Benefits of using liferay
PDF
Why choose-liferay
Liferay DevCon 2014: Lliferay Platform - A new and exciting vision
[DevDay2018] Liferay DXP – A powerful Enterprise Solution - By Vy Bui, Develo...
2014 Liferay Roadshow Ambientia Finland
Liferay Configuration and Customization
01/2009 - Portral development with liferay
Portlet Framework: the Liferay way
Making a decision between Liferay and Drupal
Liferay with xebia
Liferay Italy Symposium 2015 Liferay Mobile SDK and Liferay Screens
Liferay architecture By Navin Agarwal
Moved to https://slidr.io/azzazzel/leveraging-osgi-to-create-extensible-plugi...
Liferay on docker
Liferay and Cloud
Liferay 7
Liferay portal advantages
Mavenizing your Liferay project
Liferay as solution for legacy applications
EclipseCon Europe 2015 - liferay modularity patterns using OSGi -Rafik Harabi
Benefits of using liferay
Why choose-liferay
Ad

Viewers also liked (14)

PDF
SAML and Liferay
PDF
Developing Liferay Plugins with Maven
PDF
Manual Basico De Struts
PDF
Liferay maven sdk
PDF
Liferay 6 and vaadin portlets
PDF
Step by Step Guide for building a simple Struts Application
PDF
Struts Basics
PPT
Alfresco P Tardif V1 0 Mars 2009
PDF
mimacom & Liferay Roadshow : Introduction to Liferay platform
PPTX
Liferay
PPTX
Liferay
PPTX
7 plugins de la communauté à ne pas manquer ! - Liferay France Symposium 2016
PPT
O que é o Liferay? Porque usar?
PDF
Arquitectura y Funcionalidades Liferay Portal
SAML and Liferay
Developing Liferay Plugins with Maven
Manual Basico De Struts
Liferay maven sdk
Liferay 6 and vaadin portlets
Step by Step Guide for building a simple Struts Application
Struts Basics
Alfresco P Tardif V1 0 Mars 2009
mimacom & Liferay Roadshow : Introduction to Liferay platform
Liferay
Liferay
7 plugins de la communauté à ne pas manquer ! - Liferay France Symposium 2016
O que é o Liferay? Porque usar?
Arquitectura y Funcionalidades Liferay Portal
Ad

Similar to Liferay Developer Best Practices for a Successful Deployment (20)

PDF
Increase Customer Engagement and Drive Revenue with Liferay Audience Targeting
PDF
MSLC Company Profile
PPTX
Liferay MVC Portlet Development with Liferay IDE
PDF
Liferay Road Show Helsinki, What’s New and Upcoming, 2012-09-13
PDF
Liferay Go-Live Program
PDF
Liferay - The Value of Relationship
PDF
Liferay administration-guide
PDF
Building and Deploying a Global Intranet with Liferay
PPTX
Life ray training
PPTX
Fundamentals of Liferay Development for Non-Tech-Savvy Decision-Makers.pptx
PDF
DeltaFixes - Liferay Portal Development Company
PPT
Liferay introducing
PDF
Advanced liferay architecture clustering and high availability
PDF
iProfs-Liferay Roadshow-03-10-13 - LPSF Highlights
PPTX
Liferay Platform Overview
PDF
Les2012 lightning talk_exporting_and_importing_company-level_data
PDF
Liferay 62 User Interface Development Xinsheng Chen Jonas X Yuan
TXT
Link. portali
PDF
Building Enterprise Customer Portals With Liferay
Increase Customer Engagement and Drive Revenue with Liferay Audience Targeting
MSLC Company Profile
Liferay MVC Portlet Development with Liferay IDE
Liferay Road Show Helsinki, What’s New and Upcoming, 2012-09-13
Liferay Go-Live Program
Liferay - The Value of Relationship
Liferay administration-guide
Building and Deploying a Global Intranet with Liferay
Life ray training
Fundamentals of Liferay Development for Non-Tech-Savvy Decision-Makers.pptx
DeltaFixes - Liferay Portal Development Company
Liferay introducing
Advanced liferay architecture clustering and high availability
iProfs-Liferay Roadshow-03-10-13 - LPSF Highlights
Liferay Platform Overview
Les2012 lightning talk_exporting_and_importing_company-level_data
Liferay 62 User Interface Development Xinsheng Chen Jonas X Yuan
Link. portali
Building Enterprise Customer Portals With Liferay

More from rivetlogic (20)

PDF
Storytelling for CX: Make Your Audience the Hero
PDF
How to Accelerate Your Digital Transformation With Design Thinking
PDF
Ensuring the Success of a Global Partner Network - How Dropbox is managing it...
PDF
How a Product Development Portal Can Help Turn Innovative Ideas Into Marketab...
PDF
Reimagine Your Video Communications With Video Center on AWS
PDF
Elevate Your Digital Experiences with Cloud Content Management on Box
PDF
Delivering Connected Digital Experiences for Engaging the Modern Day Customer
PDF
5 Reasons Why You Should Consider Migrating Web Apps to the Cloud on AWS
PDF
5 Reasons Why Your CMS Should Move to the Cloud
PDF
Improve Employee Engagement With a Mobile Enabled Intranet
PDF
Incorporating Mobile Into Your Digital Experience Strategy
PDF
Marketing Asset Center - Enabling Consistency & Productivity Across Sales & M...
PDF
NoSQL Design Considerations and Lessons Learned
PDF
Increase Your Marketing Productivity With the Marketing Asset Center for Alfr...
PDF
Social Intranets for Smarter Enterprise Collaboration
PDF
AT&T’s Mobile Developer Community: Social, Personalized, and Built for Scale
PDF
SEO with Liferay
PDF
Implementing an SEO Strategy for Your Liferay Websites
PDF
Building Engaging Customer Experiences Powered by MongoDB
PDF
Social Intranets on Liferay for Smarter Enterprise Collaboration
Storytelling for CX: Make Your Audience the Hero
How to Accelerate Your Digital Transformation With Design Thinking
Ensuring the Success of a Global Partner Network - How Dropbox is managing it...
How a Product Development Portal Can Help Turn Innovative Ideas Into Marketab...
Reimagine Your Video Communications With Video Center on AWS
Elevate Your Digital Experiences with Cloud Content Management on Box
Delivering Connected Digital Experiences for Engaging the Modern Day Customer
5 Reasons Why You Should Consider Migrating Web Apps to the Cloud on AWS
5 Reasons Why Your CMS Should Move to the Cloud
Improve Employee Engagement With a Mobile Enabled Intranet
Incorporating Mobile Into Your Digital Experience Strategy
Marketing Asset Center - Enabling Consistency & Productivity Across Sales & M...
NoSQL Design Considerations and Lessons Learned
Increase Your Marketing Productivity With the Marketing Asset Center for Alfr...
Social Intranets for Smarter Enterprise Collaboration
AT&T’s Mobile Developer Community: Social, Personalized, and Built for Scale
SEO with Liferay
Implementing an SEO Strategy for Your Liferay Websites
Building Engaging Customer Experiences Powered by MongoDB
Social Intranets on Liferay for Smarter Enterprise Collaboration

Recently uploaded (20)

PDF
Chapter 3 Spatial Domain Image Processing.pdf
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
Encapsulation_ Review paper, used for researhc scholars
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
Electronic commerce courselecture one. Pdf
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
Approach and Philosophy of On baking technology
PDF
CIFDAQ's Market Insight: SEC Turns Pro Crypto
PPTX
Cloud computing and distributed systems.
PDF
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
PPTX
Big Data Technologies - Introduction.pptx
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
NewMind AI Monthly Chronicles - July 2025
PPTX
MYSQL Presentation for SQL database connectivity
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
DOCX
The AUB Centre for AI in Media Proposal.docx
Chapter 3 Spatial Domain Image Processing.pdf
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
The Rise and Fall of 3GPP – Time for a Sabbatical?
Encapsulation_ Review paper, used for researhc scholars
Digital-Transformation-Roadmap-for-Companies.pptx
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Electronic commerce courselecture one. Pdf
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Understanding_Digital_Forensics_Presentation.pptx
Approach and Philosophy of On baking technology
CIFDAQ's Market Insight: SEC Turns Pro Crypto
Cloud computing and distributed systems.
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
Big Data Technologies - Introduction.pptx
Building Integrated photovoltaic BIPV_UPV.pdf
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
NewMind AI Monthly Chronicles - July 2025
MYSQL Presentation for SQL database connectivity
Advanced methodologies resolving dimensionality complications for autism neur...
The AUB Centre for AI in Media Proposal.docx

Liferay Developer Best Practices for a Successful Deployment

  • 1. Liferay Developer Best Practices March 31 st 2011 Rivet Logic Corporation 1800 Alexander Bell Drive Suite 400 Reston, VA 20191 Ph: 703.955.3480 Fax: 703.234.7711 Presented By Alaaeldin El-Nattar Principal Architect Rivet Logic Corporation
  • 2. Rivet Logic Overview Award-winning professional services focused on enabling: Collaboration and Community Platforms Enterprise and Web Content Management Next Generation Websites Using Leading Open Source Software Company Facts Founded 2005, Consistently Profitable, Employee-owned Headquartered in Reston, VA Regional Offices in Boston, New York City, LA Near-shore Development Center in Costa Rica 40+ Consultants Copyright © 2008. Rivet Logic Corporation. All rights reserved.
  • 3. Rivet Logic and Liferay Certified Partner since 2006 Conduct all Public Training on East Coast USA Contributor (software, documentation, forums, training material) Host of first ever East Coast User Conference in 2009 20+ Liferay projects underway or completed Copyright © 2008. Rivet Logic Corporation. All rights reserved.
  • 4. Best Practices What are best practices? “ A best practice is a technique, method, process, activity, incentive, or reward that is believed to be more effective at delivering a particular outcome than any other technique, method, process, etc. when applied to a particular condition or circumstance. ” – Wikipedia Why is it not easy to follow them? Why should we follow them? Copyright © 2010. Rivet Logic Corporation. All rights reserved.
  • 5. Motivation Better maintenance Better flexibility Higher confidence A great differentiator Copyright © 2010. Rivet Logic Corporation. All rights reserved.
  • 6. Liferay Best Practices Best practices at three levels Architecture Design/Development Deployment/Operations Copyright © 2010. Rivet Logic Corporation. All rights reserved.
  • 7. Copyright © 2009. Rivet Logic Corporation. All rights reserved. ARCHITECTURE
  • 8. Architecture Best Practices Essentials Understanding Liferay’s architecture and roadmap Ability to map real life IA into Communities/Organizations Use what you have Organization hierarchies can be very useful Educate the client e.g. Control Panel is powerful but one must be told why Copyright © 2010. Rivet Logic Corporation. All rights reserved.
  • 9. Architecture Best Practices Disciplines Do your best to understand the client’s business model Walk and talk like they do Terminology matters Be 100% transparent Be “Agile” Maintain a clear upgrade path Copyright © 2010. Rivet Logic Corporation. All rights reserved.
  • 10. Copyright © 2009. Rivet Logic Corporation. All rights reserved. DESIGN / DEVELOPMENT
  • 11. Design/Development Best Practices Use Expandos for extending models where possible Quick apps can be written using the Liferay WCM and Expandos Think about the pros and cons Copyright © 2010. Rivet Logic Corporation. All rights reserved. Note: This list is not in any particular order http://www.liferay.com/web/raymond.auge/blog/-/blogs/expandos-ii-refactor-of-a-previous-post-for-6-0
  • 12. Design/Development Best Practices Don’t forget that you can use custom SQL in your plugins Consider caching if custom query is called often Copyright © 2010. Rivet Logic Corporation. All rights reserved. http://www.liferay.com/community/forums/-/message_boards/message/4912728 http://www.liferay.com/community/wiki/-/wiki/Main/Service+Builder+Finders
  • 13. Design/Development Best Practices Portlet resource permissions in Plugin SDK Important for portlet flexibility Understand the three portlet permission levels Copyright © 2010. Rivet Logic Corporation. All rights reserved. http://www.liferay.com/community/forums/-/message_boards/message/4887808
  • 14. Design/Development Best Practices You can access Liferay services directly in velocity No need for custom velocity variables Helps when building WCM applications Copyright © 2010. Rivet Logic Corporation. All rights reserved. http://www.liferay.com/community/forums/-/message_boards/message/4885934
  • 15. Design/Development Best Practices Before you customize look at portal.properties Use hooks to override properties if you can If hooks don’t allow you to override a property use portal-ext.properties Copyright © 2010. Rivet Logic Corporation. All rights reserved.
  • 16. Design/Development Best Practices Localization is made simple by Liferay Any database column can be localized Copyright © 2010. Rivet Logic Corporation. All rights reserved. http://www.liferay.com/community/forums/-/message_boards/message/4857873 <column name=&quot;title&quot; type=&quot;String&quot; localized=&quot;true&quot; />
  • 17. Design/Development Best Practices Understand how Liferay counters work Look at com/liferay/counter/service.xml Override if necessary See counter-spring.xml Copyright © 2010. Rivet Logic Corporation. All rights reserved. http://www.liferay.com/community/forums/-/message_boards/message/4850927 http://www.liferay.com/community/forums/-/message_boards/message/4841385
  • 18. Design/Development Best Practices Know when/how to share services between portlets Place service JAR in WEB-INF/lib of each plugin Allows for hot deployable plugins Copyright © 2010. Rivet Logic Corporation. All rights reserved. http://www.liferay.com/community/forums/-/message_boards/message/4686465 http://www.liferay.com/web/juan.fernandez/blog/-/blogs/liferay-modules-communication
  • 19. Design/Development Best Practices Know how to upgrade your portlets Use Liferay’s UpgradeProcess Use a hook plugin and an Upgrade class Copyright © 2010. Rivet Logic Corporation. All rights reserved. http://www.liferay.com/web/ryan.park/blog/-/blogs/implementing-upgradingprocess-for-your-liferay-portlets!?_33_redirect=%2Fweb%2Fryan.park%2Fblog
  • 20. Design/Development Best Practices Build your integration layers as services Use Service Builder Standardize development methodology Copyright © 2010. Rivet Logic Corporation. All rights reserved.
  • 21. Design/Development Best Practices Understand the pros and cons of search/indexing options Solr vs Local Index Copyright © 2010. Rivet Logic Corporation. All rights reserved. http://issues.liferay.com/browse/LPS-15006 http://svn.liferay.com/changelog/plugins?cs=71516
  • 22. Copyright © 2009. Rivet Logic Corporation. All rights reserved. DEPLOYMENT / OPERATIONS
  • 23. Deployment/Ops Best Practices Document everything DEV vs QA vs PROD HINT: Use properties files per environment portal-dev.properties portal-qa.properties portal-prod.properties Copyright © 2010. Rivet Logic Corporation. All rights reserved.
  • 24. Deployment/Ops Best Practices Deploy Liferay as a service Windows Tomcat can be installed as a service Unix Use init scripts Distro dependant Copyright © 2010. Rivet Logic Corporation. All rights reserved.
  • 25. Deployment/Ops Best Practices Know how to do hardware sizing Ask the right questions How many concurrent users What are the real life use cases Translate use cases to Liferay functionality Map functionality to resource utilization File system Database Copyright © 2010. Rivet Logic Corporation. All rights reserved. ?
  • 26. Deployment/Ops Best Practices Performance tuning Profile the portal Tweak the JVM Have a scalability plan Copyright © 2010. Rivet Logic Corporation. All rights reserved.
  • 27. Deployment/Ops Best Practices High-Availability deployment quirks Clustered cache is affected by underlying network HTTP session replication is usually overkill Educate the client Copyright © 2010. Rivet Logic Corporation. All rights reserved. You can count on me
  • 28. Summary Best practices span the entire software development lifecycle Try to keep up Liferay is always changing Always promote best practices Copyright © 2009. Rivet Logic Corporation. All rights reserved.
  • 29. Q & A Copyright © 2010. Rivet Logic Corporation. All rights reserved.
  • 30. rivetlogic.com blogs.rivetlogic.com forge.rivetlogic.com youtube.com/rivetlogic twitter.com/rivetlogic Learn more… Copyright © 2010. Rivet Logic Corporation. All rights reserved.