06 December, 2012

Liferay to build online environments for regulatory organizations


By Victor Zorin, Enterprise Architect – MyOffice24x7 Pty Ltd
 
(As presented at the Liferay Symposium, San Francisco , 2012)

Challenges of regulatory environments
What is a regulatory environment? One example is an Australian statutory authority that administers state gambling and liquor laws, including management of licensing and compliance.
We had already worked with them to produce a Liferay-based intranet for employees and several specialised extranet portals.
They wanted us to help them come up with an improved way of managing the issuing and renewal for each of their  100+ types of licenses, which were all currently in paper/scanned format. We discovered that the one major challenge faced by these types of organisations is that end users (customers, applicants) expect an uncomplicated, easy to use, and unified front with which to interact BUT regulatory organisations by nature are comprised of a large number of highly disconnected business stakeholders.

05 December, 2012

Using Liferay Portal as an e-Learning Platform



How to use Liferay Portal 6.x to help deliver digital training to your organization affordably and effectively.

Our goal is to show you how Liferay Portal can be used to build a facility where trainees or students are able to undertake
structured, sequenced coursework
under the supervision and assessment of managers and mentors.

Why Liferay?

Liferay Portal does not ship as an e-Learning product, but it does provide
a solid foundation for one:
·          Strong CMS (content management) functionality: its user, role and community
facilities are already well suited to this task.
·          Attractive set of collaboration portlets (wikis, discussion boards, blogs etc) that ship
with the portal.
·          Easily extensible thanks to JSR-168/286 compliance.

Liferay Portal is capable of delivering many of the facilities offered by existing e-Learning products such as Blackboard or Moodle without the associated costs or troubles.
Filling in the Gaps


Liferay Portal is clearly missing some functionality when it comes to achieving our initial goal:
“... a facility where trainees or students are able to undertake structured, sequenced coursework under the supervision and assessment of managers or mentors”
Our priority in conceiving this e-Learning platform is to maximally take advantage of whatever functionality is offered to us by Liferay Portal (or third-party extensions).
Functionalities that are lacking in Liferay Portal:
·          A facility for students/trainees to undertake exercises or ‘lessons’.
·          Facilities for course administrators and supervisors to monitor progress and undertake assessment of completed exercises.
·          A way to implement a community-module-exercise hierarchical structure (Liferay Portal communities cannot really do this natively).

30 November, 2012

Useful Patch for Liferay 6.1.1 GA2 - By Juan

Hi Everyone,

I was just looking out some solution for the problem which is coming out during migration and i found this forum article.

Nice forum article by Juan !!!!
It's really helpful to lookout and solve many issues for Liferay 6.1.1.

He is been doing some years ago, he has  released a patch for solving many issues for 6.1.1 GA2. He has tried to patch only bugs, not improvements.

For patching just unzip the .diff file into liferay 6.1.1 source folder (same folder level as portal-impl, portal-web, etc folders) and use patch command in Linux or other tools for Windows. After that just compile and enjoy!

Example on how to apply patch in Linux: patch -p0 < patch_6.1.1_juan.diff

17 November, 2012

Liferay CRUD portlets with XMLPortletFactory - By Jack Rider



One of the first tasks you find in a project is to create support for the persistence layer, say for example products, clients, suppliers table. This usually accounts for a big load of hours, not to say if you find your self with late changes with fields, versions, requirements....etc

Luckily Liferay developers have this open source tool called XMLPortletFactory, that creates complete portlets with just a small XML definition file, were you can control and implement a load of parameters like:

06 November, 2012

Date picker using alloy UI

Use below code to insert date picker in your jsp file :
<%@ taglib uri="http://java.sun.com/portlet_2_0" prefix="portlet" %>

05 November, 2012

Liferay 6.2 New Features

Guys,
Today i was looking out liferay community and palying with some of article and I found some interesting stuff which would be launching in upcoming version of liferay which is Liferay 6.2 .
So here are some of the attractive features i have listed here.

1)  Website Management :


WCM Management User Interface

      • Similar UI to Documents and Media

      • Easy organization via folders

      • Support for workflow per folder per content type

24 October, 2012

Liferay Community Contributor Awards -2012

Jignesh Vachhani

Jignesh has been involved with Liferay from the start of his career in 2008. Gradually, his interest increased toward Liferay with his experience. Initially Jignesh learned a lot and in fact is still learning from Liferay's Blogs, Wikis, and Forums.  He then started to contribute his own knowledge to the community using forum posts (more than 700 of them). Jignesh is also member of BugSquad.
Apart from his contributions on liferay.com, Jignesh has also started a blog  at www.liferaysolution.com around 2 years ago, sharing useful Liferay development tricks faced during project execution.  The blog currently  has more than 100 blog posts and more than 250,000 visitors (some of which are regular visitors). Jignesh is also an active member of LIUG (Liferay's India User Group) and recently coordinated a meetup in Ahmedabad area. He also guides and encourages other interested liferay developers to participate in liferay collaboration activity, especially within his organization (and Liferay partner, CIGNEX Datamatics) since 2008. Jignesh has been involved in more than 13 Liferay projects (from the US, UK, EMEA, and APAC) as a Liferay tech lead and have provided predominant solutions.
Jignesh completed his Bachelors of Engineering in Computer Science in 2008 from Faculty of Technology (DDU, Nadiyad), and wants to contribute as much as he can to the Liferay platform directly or indirectly using liferay.com and its collaboration activity.
Click Here to get more details...

28 September, 2012

Maven build with liferay

Nice tutorial by http://www.eusia.info

Have a look !!!


Assuming that you have JDK and Maven set up in you machine, I will write here how we can have a liferay project in minimal effort and make it distributable in all environments.
We will use Maven archtype plug-in to create liferay project.
Consider a folder as your project home, like: /home/manna/examples/liferay
if you working with maven you can have several maven settings based on project requirements, so better to have a different maven settings file like here we have : /home/manna/.m2/eusiaweb.xml
<settings>
    <profiles>
        <profile>
            <id>examples</id>
            <repositories>
                <repository>
                    <id>sonatype</id>
                    <url>http://oss.sonatype.org</url>
                    <snapshots>
                        <enabled>false</enabled>
                    </snapshots>
                </repository>
                <repository>
                    <id>maven</id>
                    <url>http://repo2.maven.org/maven2</url>
                    <snapshots>
                        <enabled>false</enabled>
                    </snapshots>
                </repository>
            </repositories>
        </profile>
    </profiles>
    <activeProfiles>
        <activeProfile>examples</activeProfile>
    </activeProfiles>
</settings>


14 September, 2012

Get user roles in theme velocity template

Many times we have requirement coming out to fetch user roles in theme velocity template (.vm) file.
So below code you can use for Liferay 6.X :


#set($role=$serviceLocator.findService("com.liferay.portal.service.RoleLocalService"))
$role.getUserRoles($user_id)

Hope this will useful !!!
Best,
Jignesh Vachhani

13 September, 2012

Liferay search container without database

If you want to use search container in which data will come from Array rather than database,
you can simply use below code :


07 September, 2012

Export user fields in CSV file

You can set below property to export user fields in CSV format :

    # Input a list of user attributes that will be included when exporting users
    # to a CSV file. You can include custom fields by adding the prefix
    # "expando:" to the attribute name.
    #
    users.export.csv.fields=fullName,emailAddress,expando:phone

User portrait image settings

User portrait image related settings in portal-ext.properties file :


    # Set the maximum file size for user portraits. A value
    # of 0 for the maximum file size can be used to indicate unlimited file
    # size. However, the maximum file size allowed is set in the property
    # "com.liferay.portal.upload.UploadServletRequestImpl.max.size".
    #
    users.image.max.size=307200

    #
    # Set the maximum user portrait height and width in pixels. A value of 0
    # indicates no restictions on user portrait dimensions.
    #
    users.image.max.height=120
    users.image.max.width=100

Create users without email address

If you want to create user with out email address, just set below properties :

# Set this to false if you want to be able to create users without an email
# address. An email address will be automatically assigned to a user based
# on the property "users.email.address.auto.suffix".

users.email.address.required=false

# # Set the suffix of the email address that will be automatically generated
# for a user that does not have an email address. This property is not used
# unless the property "users.email.address.required" is set to false. The
 # autogenerated email address will be the user id plus the specified suffix.

users.email.address.auto.suffix=@no-emailaddress.com

# Input a class name that implements
# com.liferay.portal.security.auth.EmailAddressGenerator. This class will be
# called to generate an email address for a user that does not specify an
# email address. This class will only be used if the property
# "users.email.address.required" is set to false.

users.email.address.generator=com.liferay.portal.security.auth.DefaultEmailAddressGenerator

User screen name related settings

Here are some of the properties which can be override in portal-ext.properties file as per your requirement :

# Set this to true when you want the validation to allow for creation of
# numeric screen names.
  users.screen.name.allow.numeric=true

# # Set this to true to always autogenerate user screen names even if the user
# gives a specific user screen name. If this is set to true, the LDAP
# importer will fetch users by their email address even if the property
# "company.security.auth.type" is set to screenName.
users.screen.name.always.autogenerate=true

 # # Input a class name that implements
 # com.liferay.portal.security.auth.ScreenNameGenerator. This class will be
# called to generate user screen names.
 users.screen.name.generator=com.liferay.portal.security.auth.DefaultScreenNameGenerator

# # Input a class name that implements
# com.liferay.portal.security.auth.ScreenNameValidator. This class will be
# called to validate user screen names.
users.screen.name.validator=com.liferay.portal.security.auth.DefaultScreenNameValidator #users.screen.name.validator=com.liferay.portal.security.auth.LiberalScreenNameValidator  

User should not be deleted

If you don't want to allow users to be deleted from liferay, just set below property in portal-ext.properties file:

 # # Set this to false if users cannot be deleted.
 users.delete=false

Disable auto deploy

    # Set below property to false to true to disable auto deploy of layout templates, portlets, and
    # themes.
    #
    auto.deploy.enabled=false

Solve ECJ error in liferay IDE

I know that this is very well known error but still think to put it here as it could be helpful in some situation.
  
Task cannot continue because ECJ is not installed. ECJ was automatically installed. Please rerun your task. Total time: 1 second    

31 August, 2012

Solr Integration

If you want to configure solr with liferay, just follow below steps :

I used solr-3.5 and it is indexing and searching as expected.

  1. Download and extract vanilla Liferay + Tomcat bundle to development directory such as C:\liferay-portal-6.1.0-ce-ga1

17 August, 2012

Detect word and convert in URL

Guys,

I know this is not related to Liferay but might be useful in somewhere,
where you need to detect some words and convert it into URL then it would be helpful.

14 August, 2012

Terms of use page in Liferay 6.1

Hi Everyone,

If you want to use web content as a terms of use page we have 2 scenario.

First Scenario :

You can simply set below propeties in portal-ext.properties file  :

    terms.of.use.journal.article.group.id=
    terms.of.use.journal.article.id=

10 August, 2012

Create tab using AUI in liferay 6.1

If you have requirement to create simple tabs in liferay 6.1
AUI().ready('aui-tabs', function(A) {
 var tabs = new A.TabView(
  {
   boundingBox: '#demo',
   items: [
    {
     content: 'This my content 1',
     label: 'Tab 1'
    },
    {
     content: 'This my content 2',
     label: 'Tab 2'
    },
    {
     content: 'This my content 3',
     label: 'Tab 3'
    }
   ]
  }
 )
 .render();
});