Monday, April 07, 2008

PAL Portal 1.0.4 Released

PAL Portal is JSR 168 compliant portal server. This portal is Jetspeed2 based server and includes portlets which PAL project provides. In this release, features are:
  • Bug fixes
  • Added UserManagerServlet to do a batch processing for user info.
It is much appreciated if you can provide any feedback to us.

Download from: PAL Portal 1.0.4

How to install:

Note: Before running PAL Portal, you will need to install
Java SDK(1.5.x or later) and set environment JAVA_HOME
properly.

1. Download PALPortal-install-1.0.4.jar
2. Run installer
Open command shell, or DOS command box, type:
$ java -jar PALPortal-install-1.0.4.jar
You will see the installer executed. (Don't type '$')
3. Execute /bin/startup.[sh|bat]
4. Access http://localhost:8080/palportal to display
PAL Portal. To login as an administrator, you can use
admin/admin as Username/Password. To modify default pages,
use site/site as Site manager.

How to deploy PALab's portlets:

1. Login as admin
2. Navigate to Root >> Portal Administration >> Portlet Management
3. Click Deploy link you want to deploy

How to uninstall:

1. Delete the install directory,

Labels:

Tuesday, April 01, 2008

How to configure PAL Portal and OpenSSO

PAL Portal supports OpenSSO by putting PAL's OpenSSOFilter to web.xml. If you use Jetspeed2, you can apply the same procedure to your J2. The procedure is below:

1. Setup OpenSSO.
2. Download palportal-sso-2.1.3_pal-1.0.3.jar and openssoclientsdk.jar, and copy them to webapps/palportal/WEB-INF/lib/.
3. Edit webapps/palportal/WEB-INF/web.xml



...
<filter>
<filter-name>OpenSSOFilter</filter-name>
<filter-class>jp.sf.pal.portal.sso.opensso.OpenSSOFilter</filter-class>
<init-param>
<param-name>loginURL</param-name>
<param-value>http://servername:8080/opensso</param-value>
</init-param>
</filter>
...
<filter-mapping>
<filter-name>OpenSSOFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
...

Labels:

How to manage user data by a remote access

If you want to manage user data by a remote access on PAL Portal, you can use UserManagerServlet(If you use Jetspeed2, download UserManagerServlet.class).

An usage is simple. Please put the servlet information to web.xml:


  <servlet>
<servlet-name>UserManagerServlet</servlet-name>
<servlet-class>jp.sf.pal.portal.servlet.UserManagerServlet</servlet-class>
</servlet>

<servlet-mapping>
<servlet-name>UserManagerServlet</servlet-name>
<url-pattern>/userManager</url-pattern>
</servlet-mapping>



and then access http://localhost:8080/palportal/userManager?name1=value1&... UserManagerServlert has the following features:


  • Check a user authentication

  • Add a user

  • Update a password

  • Delete a user



An example of an output format is below:


<?xml version="1.0" encoding="UTF-8" ?>
<results>
<status>string</status>
<message>string</message>
<result>
<name>string</name>
<value>string</value>
</result>
</results>



Check a user authentication

Parameters passed on URL:
[Request Parameters]="Value"
action=authenticate
username="User name"
password="Password"

Value of "status":
success -> Success!
authentication-failed -> Authentication failed.
invalid-parameter -> Invalid request parameter(s).
excluded-user -> a given user name is excluded.

Add a user

Parameters passed on URL:
[Request Parameters]="Value"
action=create
username="Username"
password="Password"

Value of "status":
success -> Success!
user-already-exists -> User already exists.
server-error -> Server error.
invalid-parameter -> Invalid request parameter(s).
excluded-user -> a given user name is excluded.

Update a password

Parameters passed on URL:
[Request Parameters]="Value"
action=update
username="User name"
password="Password"

Value of "status":
success -> Success!
user-not-found -> User not found.
server-error -> Server error.
invalid-parameter -> Invalid request parameter(s).
excluded-user -> a given user name is excluded.

Delete a user

Parameters passed on URL:
[Request Parameters]="Value"
action=update
username="User name"
password="Password"

Value of "status":
success -> Success!
user-not-found -> User not found.
server-error -> Server error.
invalid-parameter -> Invalid request parameter(s).
excluded-user -> a given user name is excluded.

Labels:

How to setup PAL Portal(Jetspeed2) on GlassFish 2ur1

An procedure about how to configure PAL Portal on GlassFish is below. Since PAL Portal is based on Jetspeed 2, if you want to setup J2 on GlassFish, you can refer the procedure. First of all, you need to download jetspeed-portal-glassfish.zip and jetspeed-security-glassfish-2.1.3_pal-1.0.3.jar, and then unzip jetspeed-portal-glassfish.zip to [palportal_home]/webapps/palportal/WEB-INF/classes.
The procedure is(if you apply it to j2, replace palportal with jetspeed and skip some steps):


$ java -Xmx256m -jar /tmp/glassfish-installer-v2ur1-b09d-linux.jar
$ mv glassfish/ glassfish-v2ur1
$ cd glassfish-v2ur1/
$ chmod -R +x lib/ant/bin
$ lib/ant/bin/ant -f setup.xml
$ cp /tmp/Portal/shared/lib/jetspeed-* domains/domain1/lib/
$ cp /tmp/Portal/shared/lib/p* domains/domain1/lib/
$ cp -r /tmp/Portal/webapps/palportal webapps/
$ vi webapps/palportal/WEB-INF/assembly/security-providers.xml
<!--constructor-arg index="2"><value>login.conf</value></constructor-arg-->
<constructor-arg index="2"><ref bean="org.apache.jetspeed.security.spi.CredentialHandler"/></constructor-arg>
<constructor-arg index="3"><ref bean="org.apache.jetspeed.security.spi.UserSecurityHandler"/></constructor-arg>
$ vi domains/domain1/config/login.conf
Jetspeed {
org.apache.jetspeed.security.impl.GlassFishLoginModule required;
};
$ vi webapps/palportal/WEB-INF/assembly/deployment.xml
<!--
<bean id="org.apache.jetspeed.tools.pamanager.servletcontainer.ApplicationServerManager"
class="org.apache.jetspeed.tools.pamanager.servletcontainer.TomcatManager"
init-method="start" destroy-method="stop"
>
<constructor-arg index="0"><value>${autodeployment.catalina.base}</value></constructor-arg>
<constructor-arg index="1"><value>${autodeployment.catalina.engine}</value></constructor-arg>
<constructor-arg index="2"><value>${autodeployment.server}</value></constructor-arg>
<constructor-arg index="3"><value>${autodeployment.port}</value></constructor-arg>
<constructor-arg index="4"><value>${autodeployment.user}</value></constructor-arg>
<constructor-arg index="5"><value>${autodeployment.password}</value></constructor-arg>
</bean>
-->
<bean id="org.apache.jetspeed.tools.pamanager.servletcontainer.ApplicationServerManager"
class="org.apache.jetspeed.tools.pamanager.servletcontainer.GlassFishManager"
init-method="start" />
$ vi webapps/palportal/WEB-INF/assembly/portal-url-generation.xml
<bean id="PortalURL"
class="org.apache.jetspeed.container.url.impl.GlassFishPathInfoEncodingPortalURL"
$ cp /tmp/jetspeed-security-glassfish-2.1.3.jar domains/domain1/lib/
$ pushd domains/domain1/lib/classes/
$ jar xvf ../jetspeed-security-glassfish-2.1.3.jar
$ rm -r META-INF/
$ mkdir -p ../../../../webapps/palportal/WEB-INF/classes/org/apache/jetspeed/security/impl/
$ mv ./org/apache/jetspeed/security/impl/GlassFishLoginModule.class ../../../../webapps/palportal/WEB-INF/classes/org/apache/jetspeed/security/impl/
$ rm ../jetspeed-security-glassfish-2.1.3.jar
$ popd
$ cp /tmp/mysql-connector-java-5.0.4.jar domains/domain1/lib/
$ vi domains/domain1/config/domain.xml
<java-config classpath-suffix="${com.sun.aas.instanceRoot}/lib/classes" ...
$ ./bin/asadmin start-domain domain1
$ echo adminadmin > passwordfile
$ ./bin/asadmin create-auth-realm --classname org.apache.jetspeed.security.impl.GlassFishRealm --user admin --passwordfile passwordfile --host localhost --port 4848 --property "jaas-context=Jetspeed:auth-type=jetspeed" Jetspeed
$ ./bin/asadmin stop-domain domain1
$ ./bin/asadmin start-domain domain1
-> Create Connection Pool(JetspeedDSPool) and JDBC Resource(jdbc/jetspeed)
$ ./bin/asadmin deploydir --user admin --passwordfile passwordfile webapps/palportal/
$ pushd webapps/
$ mkdir pal-admin
$ mkdir pal-wcm
$ cd pal-admin
$ jar xvf ../pal-admin.war
$ cd ../pal-wcm
$ jar xvf ../pal-wcm.war
$ popd
$ rm webapps/pal-admin/WEB-INF/lib/geronimo-ejb_2.1_spec-1.0.jar
$ ./bin/asadmin deploydir --user admin --passwordfile passwordfile webapps/pal-admin
$ ./bin/asadmin deploydir --user admin --passwordfile passwordfile webapps/pal-wcm

Labels: