Sunday, January 31, 2010

Approach to fill word/excel documents without Office installed

I've had task where we need to fill our word/excel templates with data from notes documents on Server and get URL to users (our application for web uses only). All users have Office installed but Domino server does not have (and will not have installed it).

So after some research I decided to use the most simple way from my point of view.

Idea is next -> put predefined text (f.x. ##fieldName1##, ##fieldName2##) on word/excel documents and then save them as XML. I did not use bookmark because it is impossible (at least looks like impossible) to process them in XML.

So what do we have at this point? Document saved as XML with predefined text on it.
Then when we need to fill and show document to user we just take our XML template, take all content from it and do many replaces (we replace predefined text on our data from notes document), then don't forget to remove all predefined text that were not filled by some reasons, and then important point print it for web user like this:

Print {Content-Type:application/msword}
Print {Cache-Control: public, must-revalidate}
Print {Expires: Sat, 26 Jul 1997 05:00:00 GMT}
Print xml_output

Monday, January 25, 2010

8.5.1. FP1 found problem during installation. Error: version mismatch. Expected to find version "20090929.1223", found version(s): "20091002.1006".

I've tried to update Lotus Notes 8.5.1 on different PC and got problem

Error: version mismatch. Expected to find version "20090929.1223", found version(s): "20091002.1006".

I did not find the reason why I had older version then 20090929.1223 but I found one post on IBM with similar issue.

So, let me show how I avoided it, I unpacked installation to my PC, went to ..\deploy\hotfix folder and changed one variable in file fix.ini -> ForVersion=20091002.1006 (you can add some text to about lotus dialog if you change some another variables).

When you finish it, run setup.exe from root directory, it should installed then correctly.

p.s. Do it on your won risk, I'm not sure that it will not do some affects of LN :-)

Sunday, January 24, 2010

How to check all content-type values?

I have some tasks where I have to open xml document in related application, so I had to know the content type values. I did not know that it could be checked in regedit :-)

so here is a way how we can look at it

HKEY_CLASSES_ROOT \ Mime \ Database \ Content Type \

f.x. for excel it will be like this

Print {Content-Type:application/vnd.ms-excel}
Print {Cache-Control: public, must-revalidate}
Print {Expires: Sat, 26 Jul 1997 05:00:00 GMT}
Print xml_output

got Lotus Notes 8.5.1 FP1 installed ! who will be last ? :)

There are many fixes in that fix pack, so will see how it works :-)

Monday, January 11, 2010

Open XFDF file in Browser using Abobe Reader

I was facing with one simple problem. I had XFDF file on our web suite. Users open that XFDF file as URL (http://database/view/doc/$File/fileName) but it did not open in Adobe Reader, but in Browser as XML. I looked around and found solution. Add these line before XFDF output and it will start to work.

Print {Content-Type:application/vnd.adobe.xfdf}
Print {Cache-Control: public, must-revalidate}
Print {Expires: Sat, 26 Jul 1997 05:00:00 GMT}
Print xml_output