Welcome to XMLPortletFactory Home Site

XMLPortletFactory is a software tool that creates database tables maintenance (CRUD) portlets from XML files.  Portlets generated only work on Liferay portals, and come out with source files (JSPs, .java, etc.) so programmers can extend and modify whatever is being generated to suit your software development needs.  In Help and Support section you will find Wikis, Tutorials and samples to get started.

With XMLPortletFactory you will be able to generate full CRUD working portlets with ease, accelerating your development process, allowing you to focus on higher level tasks.

XMLPortletFactory is licensed under the terms of GNU General Public License version 3.0 (GPLv3), and is OS Independent.

Note: XMLPortletFactory is still a young project, which ha not passed all possible tests and although is very solid and I use it in production environments, you should use it after appropriate tests.

Some of the most noticeable benefits

  • Frees you of 99% coding time in CRUD table maintenance portlets. You obtain full working portlet with all source code, programmers heaven!!!.
  • No more problems with versions. You make one XML file, generate portlet in all 6.0.x, 6.1.x and 6.2.x versions of Liferay.
  • Forget about creating tables. Because XMLPortletFactory uses Liferay's  service builder, tables are automatically created for you at portlet deployment.
  • Languages English, French, Italian, Finnish and Spanish allready implemented, easy to implement other languajes.
  • Is GPLv3 licensed. The GNU General Public License is a free, copyleft license for software and other kinds of works.
  • Your developed XMLs get the benefits of new XMLPortletFactory developments and improvements. 
  • Generated portlets use Liferay's search container, tags, etc. so they have very "Liferay" behavior, melting very well with themes.


Saludos,  Jack A. Rider

Latest Posts

Installation on Mac Yosemite

Hello everybody,
I will tell you mi experience. After put uncompressed folder XMLPortletFactory on SDK folder I try with XMLPortletFactory JAR directly:

liferay-sdk $ cd XMLPortletFactory
XMLPortletFactory $ java -jar XMLPortletFactory.jar
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/xmlbeans/XmlException
    at java.lang.Class.getDeclaredMethods0(Native Method)
    at java.lang.Class.privateGetDeclaredMethods(Class.java:2615)
    at java.lang.Class.getMethod0(Class.java:2856)
    at java.lang.Class.getMethod(Class.java:1668)
    at sun.launcher.LauncherHelper.getMainMethod(LauncherHelper.java:494)
    at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:486)
Caused by: java.lang.ClassNotFoundException: org.apache.xmlbeans.XmlException
    at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
    ... 6 more

After that try by console:

XMLPortletFactory $ ./create.sh hello-world \"Hello World\"
-bash: ./create.sh: Permission denied

FIRST TIP: Add permissions

XMLPortletFactory $ chmod 777 create.sh
XMLPortletFactory $ ./create.sh hello-world \"Hello World\"
-bash: ./create.sh: /bin/sh^M: bad interpreter: No such file or directory

Looking what errors mean, see create.sh code then I found this:
ant -Dportlet.name=$1 -Dportlet.display.name=\"$2\" -Dportlet.filename=$1 create

XMLPortletFactory $ ant -version
-bash: ant: command not found

I discover that ANT is missing by console...
SECOND TIP: ANT dependecy by console on Mac installation. You can use ANT traditional installation or use Homebrew (like me).

XMLPortletFactory $ brew update
XMLPortletFactory $ brew install ant
XMLPortletFactory $ ant -version
Apache Ant(TM) version 1.9.5 compiled on May 31 2015
XMLPortletFactory $ ./create.sh hello-world \"Hello World\"
-bash: ./create.sh: /bin/sh^M: bad interpreter: No such file or directory

Then try again with ANT comand directly:
THIRD TIP: User ANT command directly.

XMLPortletFactory $ ant -Dportlet.name=hello-world -Dportlet.display.name=\"Hello World\" -Dportlet.filename=hello-world create
Buildfile: /Users/myuser/workspaces/liferay-sdk/XMLPortletFactory/build.xml
    Expanding: /Users/myuser/workspaces/liferay-sdk/XMLPortletFactory/XMLPortlet_resources.zip into /Users/myuser/workspaces/liferay-sdk/XMLPortletFactory
    Expanding: /Users/myuser/workspaces/liferay-sdk/XMLPortletFactory/XMLPortlet_resources.zip into /Users/myuser/workspaces/liferay-sdk/XMLPortletFactory
     Copying 6 files to /Users/myuser/workspaces/liferay-sdk/XMLPortletFactory/Resources/PortletStructureAndFiles/docroot/WEB-INF/tld
    Expanding: /Users/myuser/workspaces/liferay-sdk/XMLPortletFactory/XMLPortlet_resources.zip into /Users/myuser/workspaces/liferay-sdk/XMLPortletFactory/hello-world-xmlportletfactory
     Copying 1 file to /Users/myuser/workspaces/liferay-sdk/XMLPortletFactory/hello-world-xmlportletfactory
     Moving 1 file to /Users/myuser/workspaces/liferay-sdk/XMLPortletFactory/hello-world-xmlportletfactory
Total time: 8 seconds

... a little of work, but I get it.

Web Friends and Collaborators

TigerCub Technology is focused on providing reliable, intuitive, and cost effective portal applications as a software service.   

TigerCub Technology


Blog Miguel Pau   

SEO for Liferay