Add the following script block to your xpage. Preview the same and close it. Once you close your XPage you will get a prompt which depicts the triggering of the onUnload event in xpages.
<xp:scriptBlock>
<xp:this.value escape="false">
window.onunload=function() {
alert('I run on window unload');
}
</xp:this.value>
</xp:scriptBlock>
A little bit of client techniques to include server side scripts will also work here.
Hope this helps:)
Share your thoughts and find that its getting better every day. This work of mine helps me realize that.
Pages
▼
Tuesday, September 28, 2010
Monday, September 20, 2010
Getting User's Name on the XPage
The content that I am trying to describe on this particular post is fairly simple. Many of you guys out there would have faced it and solved it. But still I would like to share this cos, really XPages are stupid at times.
I had the formula session.getCommonUserName() on a lable which worked for me through out the period I was developing my last application. When I moved the same to a test server to test the same, to my astonishment I found that the label with the above mentioned code displaying my test server's name.
I opened up the XPage in designer, saved it manually,
Signed the database using server id,
compacted the database ,
Restarted my test server etc etc...
All of the above steps failed and it still kept displaying my server name
Later I changed the code to @Name("[CN]",@UserName()), the formula eqivalent in server script.
OOPS that failed tooo...
And after a few brief moments of frustrations, I got the following idea,
@Name("[CN]",session.getEffectiveUserName())
And that eventually saved me.
Feels strange aaha...
Hope this helps :)
I had the formula session.getCommonUserName() on a lable which worked for me through out the period I was developing my last application. When I moved the same to a test server to test the same, to my astonishment I found that the label with the above mentioned code displaying my test server's name.
I opened up the XPage in designer, saved it manually,
Signed the database using server id,
compacted the database ,
Restarted my test server etc etc...
All of the above steps failed and it still kept displaying my server name
Later I changed the code to @Name("[CN]",@UserName()), the formula eqivalent in server script.
OOPS that failed tooo...
And after a few brief moments of frustrations, I got the following idea,
@Name("[CN]",session.getEffectiveUserName())
And that eventually saved me.
Feels strange aaha...
Hope this helps :)
Roles in XPages
I had a hard time working with user roles in XPages.
I used to the following procedure which is a server script equivalent of the lotus script equivalent of the @UserRoles which wont work on server side javascript :) (confusing aaha...)
var acl:NotesACL= database.getACL();
var entry:NotesACLEntry = acl.getEntry(@Name("[CN]",@UserName()))
if (entry==null) {
entry = acl.getEntry(session.getUserName())
}
if (entry==null) {
return "";
}
entry.getRoles();
It did work to some extent. But I really had a very tough time with this. It seemed to work fine for a while but to my astonishment it started showing only my server's role enabled on the database . It was very irritating and I felt ridiculous about it.
Later I explored the web to arrive at the fairly simple decent solution as follows,
context.getUser().getRoles();
Yes the above mentioned line did the job for me. Hope this helps some one :)
I used to the following procedure which is a server script equivalent of the lotus script equivalent of the @UserRoles which wont work on server side javascript :) (confusing aaha...)
var acl:NotesACL= database.getACL();
var entry:NotesACLEntry = acl.getEntry(@Name("[CN]",@UserName()))
if (entry==null) {
entry = acl.getEntry(session.getUserName())
}
if (entry==null) {
return "";
}
entry.getRoles();
It did work to some extent. But I really had a very tough time with this. It seemed to work fine for a while but to my astonishment it started showing only my server's role enabled on the database . It was very irritating and I felt ridiculous about it.
Later I explored the web to arrive at the fairly simple decent solution as follows,
context.getUser().getRoles();
Yes the above mentioned line did the job for me. Hope this helps some one :)
Tuesday, September 14, 2010
Recover a corrupted archive of the Excel format
One of the readers suggested the following tool for recovering corrupted excel files.
It feels like a handy tool to help in case of excel file corruptions. Also it covers a wide variety of files like *.xls, *,xlt, *.xlsx, xlsm, *.xltm, *.xltx, *.xlam.
I haven't had a chance yet to use it 'cos i dont have a corrupted excel file for the time being (but yes of course have gone through its features :)
Wish I could have had it few months back :).
For more details about the recovery tool click here
Not feeling patient.... K download it directly

Hope this Helps :)
It feels like a handy tool to help in case of excel file corruptions. Also it covers a wide variety of files like *.xls, *,xlt, *.xlsx, xlsm, *.xltm, *.xltx, *.xlam.
I haven't had a chance yet to use it 'cos i dont have a corrupted excel file for the time being (but yes of course have gone through its features :)
Wish I could have had it few months back :).
For more details about the recovery tool click here
Not feeling patient.... K download it directly

Hope this Helps :)