- caterpillar contains the portlet JAR, a set of rake tasks and a Rails plugin
- html2jsr286 is a Java portlet that handles communication between the portlet container and the web app
- lportal is the ActiveRecord library for communicating with the Liferay database from Rails – currently this is unmaintained, and has been tested to work only with Liferay 5 PostgreSQL database
User ID (UID) and group ID (GID) are passed from Liferay to Rails in a session cookie. Caterpillar contains filters to retrieve these values to the Rails controller. Please refer to the LiferayController in portlet test bench sources for their usage.
To protect Rails server from accepting requests that are not coming from the Liferay container, the Rails server and a portlet have a shared secret that is passed in a cookie with each request. A new secret is generated when the caterpillar generator is run, and is stored to config/portlets.rb. Please refer to Caterpillar README and LiferayController for its usage.