• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Liferay Developer Best Practices for a Successful Deployment
 

Liferay Developer Best Practices for a Successful Deployment

on

  • 10,147 views

Liferay is one of the leading open source portals in today’s market. However, it’s more than just a portal, it’s also a framework. And with good frameworks, comes flexibility, and with ...

Liferay is one of the leading open source portals in today’s market. However, it’s more than just a portal, it’s also a framework. And with good frameworks, comes flexibility, and with flexibility comes the need to understand and follow best practices.

This webcast will share lessons learned and best practices gathered from some of our very own customer Liferay implementations. The presentation will cover the gamut of a Liferay implementation lifecycle.

Statistics

Views

Total Views
10,147
Views on SlideShare
9,305
Embed Views
842

Actions

Likes
23
Downloads
8
Comments
2

6 Embeds 842

http://localhost 692
http://localhost:8080 131
http://team.servercentralen.net 16
http://10.100.21.92 1
http://wiki.servercentralen.net 1
http://www.linkedin.com 1

Accessibility

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel

12 of 2 previous next

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
  • It's really good presentation on best practices..Thanks for sharing...
    Are you sure you want to
    Your message goes here
    Processing…
  • Its great... and easy to understand.....!!!! Cheers up mannnn!
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Liferay Developer Best Practices for a Successful Deployment Liferay Developer Best Practices for a Successful Deployment Presentation Transcript

    • 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.