# Converting a Complex Portlet to a Simple Portlet

Portlets are classified as either simple or complex.

- A simple portlet is a non-portal web application that contains pageflows and Struts applications. It does not depend upon any portal features (for example, customization). It doesn't require registration, doesn't support URL rewriting in the consumer, and does not support portlet customization.
- A complex portlet requires registration, does support URL rewriting in the consumer, and does support portlet customization.

A simple portlet is often advantageous because it easier to manage and you don't need to have the complete portal installed to run it. You will most commonly see simple portlets used as departmental applications. By default, all portal projects created with WebLogic Workshop 8.1 SP3 are complex portlets.

You can convert a complex portlet to a simple portlet to make its Java Page Flows and Struts applications available as "portlets" to remote
portals. Do this by disabling registration and portlet manamagement services from wsrp-producer-config.xml file, as described in this procedure:

1. From the the complex portlet's WEB-INF/ directory, open the wsrp-producer-config.xml file.

2. Locate and open the <service-config> element. It should look like this:

       <service-config>
          <registration required="true" secure="false"/>
          <service-description secure="false"/>
          <markup secure="false" rewrite-urls="true" transport="string"/>
          <portlet-management required="true" secure="false"/>
       </service-config>

3. Change the <registration required=> and <portlet-management required=> attributes from "true" to "false".
   The <service-config> element should look like this:

       <service-config>
          <registration required="false" secure="false"/>
          <service-description secure="false"/>
          <markup secure="false" rewrite-urls="true" transport="string"/>
          <portlet-management required="false" secure="false"/>
       </service-config>

   Since the markup <markup secure=> and service-description <service-description secure=> interfaces are manadatory, the requires no attributes.

4. Redeploy the project.