This article is a legacy article. It applies to previous versions of the Liferay product. While the article is no longer maintained, the information may still be applicable.
Ext-plugins were created to replace the extension environment that was used in Liferay 5.2.x EE and previous versions. Because of the switch, many environments at some point will need to migrate Extension environments into ext-plugin. This article aims to outline that.
First, read the sections that pertain to the Liferay Portal version you are using:
A successful migration means the Ext plugin functions exactly the same as the old extension environment. When you deploy an Ext plugin, you would need to restart the application server in order for it to take effect (same as the class ext environment) since there are jars involved. The advantage of using Ext plugin is that there is no limitation to what you can do in terms of customizations.
Themes, Layouts, Hooks, Webs, Portlets
Keep in mind that parts of your Ext plugin can be converted into a Theme, Layout, Hook, Webs, or Portlet plugin. The advantage of the afore mentioned plugins is that they can be hot deployed without needing to restart the application server. Documentation for developing the different types of plugins can be found here: Liferay Developer's Guide for Portal 6.0.
In terms of general development strategy in Liferay 6, you would need to decide what you are able to accomplish given the limitations of your devleopment team and the limitations of each type of plugin. For example, you may be totally familiar with creating new services in the classic EXT environment, so developing services as an EXT plugin would be no problem for you. However, you may want develop the service in the form of a portlet plugin for greater flexibility, but you don't know how to do it. Go through the documentation as well as the community resources. If you aren't able to do this, you should stick with Ext plugins or sign up for a Liferay Development training. Another example is that portal-ext.properties is totally customizable from Ext plugins, but only a few of the settings can be customized as a Hook. See the Hook dtd to see which properties can be overriden via a Hook.
Upgrading customizations, migrating old Ext environment to Ext plugins, reconciling API changes, and converting code into a Theme, Layout, Hook, Webs, or Portlet plugin are not supported under the standard Enterprise Subscription agreement since these are regarded as development questions. If you need help on these items, please contact your Account Manager.