Wednesday, July 15, 2009

IBM Lotus Foundations

Yesterday I went for the IBM Lotus Foundations Start technical workshop. The product itself, hardware and software, are interesting. Have tested installing on Lotus Foundation on VM. The setup is very easy. Installing Domino and other packages takes a few extra steps but still very easy.

What impress me the most the the backup. It is not a full scale enterprise backup solution but for Small Medium Business SMB, the backup solution should be good enough. In the workshop, I've tried removing the primary harddisk and adding a new primary harddisk on the VM. Restoring the server to the previous state was relatively easy. It can provide the SMB with a more affordable backup and recovery solution.

Now it's time to actually look at the pricing and how it "affordable" it is here in Malaysia.


Friday, June 19, 2009

WebSphere Portal Sametime chat issue on IE8

From WebSphere Portal 6.1.0.1, users are using sametime chat through the web browser. After upgrading to Internet Explorer 8, the sametime chat window can be open but the chat functionality is not working. If a person pings you, a chat window opens but the screen remains empty.

To solve this, add in IE8 into the supported client in the portal administration. Go to Admin Page -- Portal Settings -- Supported Clients.

Initially, the lastest version is IE7. Thus make add a new client with IE 8. All the settings can be the same as the IE7 settings except the User Agent and Version.

After restarting the server, the sametime chat is working fine through IE8.

Wednesday, June 10, 2009

WebSphere Portal.Next Beta - WCM first look

WebSphere Portal.Next Beta is now available. You can get more infomation from the wiki link here.

I have just install it and have a first look at the WCM. First thing you will notice is the additional navigation available at the top area.



Going into the Edit Shared Setting, in the Rich Text Options, there are three option, Standard Editor, Legacy Editor and Custom Editor. By default Legacy editor is selected. To test out the Ephox editor, the Standard Editor have to be selected.



Below is the sample of the Standard Editor (Ephox)


If you go into the Manage Page in the administrator, there's a new option New Web Content Page. This option is available for portal 6.1.0.2 if you install the new Web Content Management Rendering Portlet. That is available at the Portal Catalog.


For this option you can select which content to be display in the page directly and also what template to be use.


It is just a short brief look. I will spend some more time on that later and look into the features in more details.

Thursday, May 07, 2009

Portlet Factory - Web Service Call builder, No trusted certificate found

I am using the Web Service Call builder and testing a call to a https site. When running the application, it return the error "No trusted certificate found".

From the error message, I suspected that the server does not recognise the SSL certification for the site that I'm accessing. Refering to this document, the SSL cert have to be exported and added into the server. Please take note that WebSphere 6.0 used ikeyman to add in the cert while 6.1 is done through the admin console.

Wednesday, May 06, 2009

My 308

Just found myself a new French girlfriend - Peugeot 308. I only manage to spend a few days with her before coming to Denmark for 2 months work.



Here are some upgrade that would be interesting to have, especially the front grille.







Wednesday, April 15, 2009

HTTP 404 errors when previewing new XPages

I'm going through a tutorial on XPages. After creating a new XPage and when I save the document, a message prompt me that Automatic Build is not selected. I ignore the message and proceed. I tried to preview the Xpage but got a 404 error.

It seems that after saving the XPage, it have to be build. It can be done through enabling automatically build or right click on the XPage and click build.

Previous experience developing Lotus application, I do not need to compile or build any forms, scripts, etc. The Lotus designer will handle all of those. Now it seems that the designer is moving something similar to Java Eclipse base IDE. I feel that this is a step backwards. The designer should be keep simple and straightforward as the previous version.

Friday, March 20, 2009

Internet Explorer 8 - IE8

Internet Explorer 8 is officially released. Would be downloading it and test all the web application on it. Wonder how many application will be broken?

Monday, March 16, 2009

WebSphere Portlet Factory Fixpack 6.1.2.1 for Portlet Factory v6.1.2

WebSphere Portlet Factory Fixpack 6.1.2.1 for Portlet Factory v6.1.2 is out. Get the update at IBM update site here.

Thursday, March 05, 2009

Learning XPages By Declan Lynch

Head over to Learning XPages By Declan Lynch site. Looks like a great place to pick up XPages in Lotus Domino 8.5.

Wednesday, March 04, 2009

Adding portlet into People Palette or Content Palette page in WebSphere Portal 6.1

I want to add the Sametime Contact List portlet into the People Palette page in WebSphere Portal 6.1. First thing you will notice is that the page design is lock so you cannot add in any extra portlet. So unlock the portlet area to put additional portlet.

After putting in the Sametime Contact List portlet, I tried to view the People Palette but it is not showing. On IBM support page - Theme does not allow the addition of portlets to flyouts. This is a solution for Portal 6.0. The people finder portlet in the page is automatically maximise thus any additional portlet is hidden. If you restore the people finder portlet, you can see the portlet that is added.

In WPS 6.1, you cannot use the fix from the list. The fix can be done at the theme page, flyout.jspf. On the line

<portal-navigation:urlGeneration contentNode='ibm.portal.People Palette' layoutNode='ibm.portal.People Palette Control' newWindow='true' portletWindowState='Maximized'>


You can remove the portletWindowState='Maximized'. This will show the portlets in default state. Thus when open the people palette page it can show multiple portlets immediately.

This also applies to the Content Palette page.

<portal-navigation:urlGeneration contentNode='ibm.portal.Content Palette' layoutNode='ibm.portal.Content Palette Control' newWindow='true' portletWindowState='Maximized'>

Monday, March 02, 2009

The 5 Most Under-Used HTML Tags

Sitepoint highlighted 5 most underused HTML Tags, <label>, <fieldset> <legend>, <optgroup>, <dl> <dt> <dd> and <q> <cite>.
Personally, I do use <fieldset> <legend> and <optgroup>. Click here to view the full article.

Friday, February 27, 2009

Portlet Factory update design shortcut tips - copy model directly

When developing in Portlet Factory, I do the testing on my local server because it is faster than deploying onto the development websphere portal server. But somethings we have to develop and test directly in a portal server. What you have to do is to deploy the project onto the portal server. As you know the deployment will take some time. So a faster way is to copy the model directly from your Portlet Factory Eclipse workspace into the Portal deployment path.

From
<workspace path>\<project>\WebContent\WEB-INF\models\helloworld.model

To
<portal wp_profile path>\installedApps\<cell>\<app.ear>\<app.war>\WEB-INF\models\helloworld.model

Once you copy from your workspace to the server. Log out of the portal and log back in. Presto, the model update is there. This is only recommended for development and testing purposes only. For production environment it is better to package the project and update the application deployment.

Wednesday, February 18, 2009

Portlet Personalization, visibility rules using only lower case

In Websphere Portal, we want to hide some portlets in certain pages according to the user's group. Personalization function in the portal can be used for this.

I want to show the portlet if the user is in the group MYUsers. The fullname of the group is CN=MYUsers. Thus I've created a new Rule type Visibility.

Show page or portlet when
current Portal Users.Groups includes CN=MYUsers
Otherwise hide

By applying the rule to the portlet, it should hide the portlet if the login user is not in the MYUsers group. But there are some issue for the above rule. Using an LDAP browser, the group name is CN=MYUsers. But when applying it to the rule, it doesn't seem to be working.

The group name have to be set to lowercase to get it working.

Show page or portlet when
current Portal Users.Groups includes cn=myusers
Otherwise hide

The documentation does not state that the group name have to be in lowercase. Thanks to my colleague, after much trying around, he found that lowercase group name is working.

Thursday, February 12, 2009

Apple's Design Process

There's an interesting article here from Michael Lopp, senior engineering manager at Apple, who tried to assess how Apple can ‘get’ design when so many other companies try and fail.

10 to 3 to 1
Apple designers come up with 10 entirely different mock ups of any new feature. Not, Lopp said, "seven in order to make three look good", which seems to be a fairly standard practice elsewhere. They'll take ten, and give themselves room to design without restriction. Later they whittle that number to three, spend more months on those three and then finally end up with one strong decision.

Tuesday, February 03, 2009

IBM Lotus Web Content Management Rendering Portlet

IBM have release an update to the Web Content Viewer portlet. You can download it from the portlet catalog.

The IBM® Lotus® Web Content Management Rendering Portlet provided with this package is a solution which updates and improves how the rendering of Web content is performed in IBM WebSphere® Portal. While the existing Web Content Viewer portlet (referred to in the WebSphere Portal documentation as a "rendering portlet") has evolved throughout several versions to implement sophisticated Web content rendering functions, it is still based on the deprecated IBM Portlet API. By contrast, the new JSR 286 Web Content Viewer has been entirely redeveloped based on the Java™ Portlet Specification 2.0 (JSR 286). In addition to the benefits afforded by JSR 286, the JSR 286 Web Content Viewer in this package also enables other features for Web content management, such as a new Web content portal page type and support for the standard search seedlist 1.0 format.

Wednesday, January 14, 2009

Hiding navigation on web page when printing

When printing a web page, we want to maximise the content area for printing. To do this, I want to hide the navigation area when user is printing the page.

For example in a page, there are 3 area, header, left navigation and content.

<div id="header">header</div>
<div id="nav">Left navigation</div>
<div id="content">Content area</div>


When user click on print, only the content area is printed. This can be control using a seperate CSS to hide certain area when printing.
The sample is below.

Add the css link in the page. The media type = "print".

<link rel="stylesheet" type="text/css" media="print" href="print.css" />


In print.css

#header{display:none}
#nav{display:none}


This would hide the header and the nav div tag when printing.

Portlet Factory 6.1.2

Portlet Factory 6.1.2 is out. You can get the 60 days trial version here.
It looks like 6.1.2 is a new version and not an upgrade or fixpack for PF 6.1.

Friday, January 09, 2009

Highlighted Selected Content in Menu - WebSphere Content Management System

In a WebSphere Portal page, I inserted a few Web Content Viewer portlets. The top portlets shows a menu list the content. The bottom portlet will display the selected content from the list. The issue I had was highlighting the selected content in the menu.

From the forum, there were some suggestions but it didn't work for my case.

I manage to solve it by using the Content ID. The idea is, when the content is loaded, it can find which link in the menu is selected by the Content ID. Thus you can add in code to change the attributes.

In the menu component, I add in a class which is the content ID into the links.

<A HREF="<Placeholder tag="href"/>" class="<Placeholder tag="Idnum"/>"><Element context="autoFill" type="content" key="headline"/></A>


Then in the presentation template I added dojo code to put in another class into the selected content.

<script>
dojo.addOnLoad(function(){
dojo.query(".<IDCmpnt context="current" type="content" field="id"/>")
.addClass("selectedContent")
});
</script>
<style>
.selectedContent{color:black;font-weight:bold;}
</style>


Thus when the content is loaded, it will search the page for the class <Idnum> and add in the class selectedContent. For the Idnum here, I use a class instead of id because in certain pages, there are more than 1 links to the same content.