OpenNTF: XPages AnalogGauge Custom Control

I have just submitted my contribution for the OpenNTF Development Contest. I have created an AnalogGauge Custom control.

You can place multiple Gauge controls on a XPage. Each control can have one or more indicators ( Line, Arrow, Needle) and the Gauge segment can be split into multiple ranges.

See the documentation for more information on how to implement the control in your application. The control uses dojo and the source is pure Javascript. You can easily modify the code if you want to do so.


From the Fix List – DEBUG_AMGR_ENABLE_RETRY_ON_COMPACT

Found this on the fix list for Notes / Domino 8.5.3

SPR# KMUR63DF3V – Fix introduces an ini DEBUG_AMGR_ENABLE_RETRY_ON_COMPACT to allow an agent to run on a time interval once database compact is complete. Previously when a database was being compacted and an attempt was made to load a scheduled agent it would fail and the agent would be marked to not run again unless the user restarted the agent manager or the agent cache refreshed. This fix introduces a notes.ini variable to allow the agent in question to be retried on it’s subsequent time interval.

Notes / Domino Fix List


XPages Seminare in Düsseldorf

Kam gerade per Mail:

… im Mai (23.5. – 25.5. bzw. 23.5. – 27.5.) in Düsseldorf ein (zwei) XPages-Seminar(e) veranstalten (3 Tage Praxis bzw. verlängert 5 Tage Boot-Camp).
… Die Seminare bieten wir ab Montag (2.5.) zum LastMinute-Preis mit einem 20%igen Nachlass an.
Der Veranstaltungsort klärt sich am Montag (2.5.) und wird in der Nähe des Hauptbahnhofes sein, jedoch nicht wie angekündigt bei PC-College.

Wer also in die XPages Programmierung einsteigen möchte, hier ist der Link zur Anmeldung.


Replication of this database is not permitted

I recently investigate an replication issue with an application that refuses to replicate. Not only that the regular replication failed but also the initial

replication after the replication stub was created on the target server.

I ensured that the ACL was set correct and also ensured that the “temporarily disable replication” flag was not set.
Despite all settings seemed to be OK, the application still refuses to replicate to the target server.

After calling Google to the rescue, I found this article by Tony Patton http://www.dominopower.com/issuesprint/issue199904/enhance.html. Cannot figure out the release date but it describes the NotesReplication class methods and properties, intruduces as of Release 5 of Lotus Notes and Domino.

In the article “NeverReplicate” is mentioned as a property. This looked promising because the property best describes the issue that I saw.

So I wrote a few bits and pieces to find out the value for this property in the current database.

Sub Click(Source As Button)
Dim session As New NotesSession
Dim db As NotesDatabase
Dim rep As NotesReplication
Set db = session.CurrentDatabase
Set rep = db.ReplicationInfo
Msgbox rep.NeverReplicate
End Sub

Unfortunately the code throws an error on save: “Not a member: NOTREPLICATE”. And even the Designer help does not mention this property.

So I digged into the CAPI documentation and found this information.

#include <nsfdata.h>


REPLFLG_NEVER_REPLICATE
 – If set, the Server’s Replicator Task Ignores this database. Enable replication by clearing this bit. Since this can only be done programatically, it is a more bullet-proof method than REPLFLG_DISABLE, which can be modified from the user interface.

With this information at hand, I put together some code to set or unset this property using LS2CAPI. Here is what I ended with.

Option Public
Option Declare

%Include "LSERR.LSS"

Const REPLFLG_NEVER_REPLICATE = &h0100

Type TIMEDATE
Innard1 As Long
Innard2 As Long
End Type

Type DBREPLICAINFO
ID As TIMEDATE
flags As Integer
CutoffInterval As Integer
Cutoff As TIMEDATE
End Type

Declare Function W32_NSFDbOpen _
Lib "nnotes.dll" Alias "NSFDbOpen" _
(ByVal dbName As String, hDb As Long) As Integer
Declare Function W32_NSFDbClose _
Lib "nnotes.dll" Alias "NSFDbClose" _
(ByVal hDb As Long) As Integer
Declare Function W32_NSFDbReplicaInfoGet _
Lib "nnotes.dll" Alias "NSFDbReplicaInfoGet" _
(ByVal hDB As Long, retReplicationInfo As DBREPLICAINFO) As Integer
Declare Function W32_NSFDbReplicaInfoSet _
Lib "nnotes.dll" Alias "NSFDbReplicaInfoSet" _
(ByVal hDB As Long, retReplicationInfo As DBREPLICAINFO) As Integer


Class NotesReplicationSettings
Private hDb As Long
Private retReplicationInfo As DBREPLICAINFO
Private prvdb As NotesDatabase
Private flgDBExist As Integer

Sub Delete
If hDb <> 0 Then Call W32_NSFDbClose(hDb)
End Sub

Sub New (inpNotesDatabase As NotesDatabase)
Dim sDatabase As String
Dim uaesession As New NotesSession
Dim rc As Integer
Me.flgDBExist = False
If inpNotesDatabase Is Nothing Then
Error 14104, "Database Object is invalid"
Exit Sub
End If
Set prvdb =_
New NotesDatabase(inpNotesDatabase.Server, inpNotesDatabase.FilePath)
If (prvdb.Server = "") Or (uaesession.IsOnServer) Then
sdatabase = prvdb.filepath
Else
sdatabase = prvdb.server + "!!" + prvdb.filepath
End If
rc = W32_NSFDbOpen(sDatabase,Me.hDb)
If rc <> 0 Then
Me.flgDBExist = False
End If
rc = W32_NSFDbReplicaInfoGet(Me.hDb, Me.retReplicationInfo)
If rc <> 0 Then
Me.flgDBExist = False
End If
Me.flgDBExist = True
End Sub

Private Function DBExist As Integer
DBExist = Me.flgDBExist
End Function

Public Function NeverReplicate(sFlag As Boolean) As Boolean
Dim puActivity As Long
Dim rc As Integer
If Not Me.flgDBExist Then
Error 14104, "Database not opened"
NeverReplicate = False
Exit Function
End If
If sFlag Then
Me.retReplicationInfo.flags =_
(Me.retReplicationInfo.flags _
OR REPLFLG_NEVER_REPLICATE)
Else
Me.retReplicationInfo.flags =_
(Me.retReplicationInfo.flags _
And Not REPLFLG_NEVER_REPLICATE)
End If
rc = W32_NSFDbReplicaInfoSet(Me.hDb, Me.retReplicationInfo)
If rc <> 0 Then
Me.flgDBExist = False
End If
End Function

Public Property Get ReplicationFlags As String
ReplicationFlags =  Me.retReplicationInfo.flags
End Property
End Class

Use the following code to unset the REPLFLG_NEVER_REPLICATE flag.

Sub Click(Source As Button)
Const REPLFLG_DISABLE = &h4
Dim session As New NotesSession
Dim db As NotesDatabase
Dim rep As NotesReplication
Set db = session.CurrentDatabase
Dim rs As New NotesReplicationSettings(db)
Call rs.NeverReplicate(False)
End Sub

After setting the property to “always replicate” the application replicated as expected.

I don’t have a Release 5 client available. Jus wonder what happens to some of the properties described in the article. Some of them like the “DoNotCatalog” had been added to the NotesDatabase class in Release 6. Obviously the “NeverReplicate” has been forgotten.


I’m a beginner with XPages. Where do I get information?

Assume you are a Notes developer starting with XPages development. You are looking for information how to start and do not know exactly where to look into.

Here is a small list of resources that you can use as a starting point.

General information can be found here.

XPages101 is a website run by Matt White. The site has more than 3GB of video tutorials in 50 lessons.The tutorials are frequently updated with new topics. You have to subscribe to get access to the tutorial. XPages101 also offer classroom courses.

NotesIn9 and XPagesTV by David Leedy also has a lot of high class video files that show everything from using CSS frameworks to repeated repeats. David Leedy also released the XPages Cheat Sheet which can be found on xpagescheatsheet dot com.

Tim Clark, Paul Withers and David Leedy are the hosts of the X Cast, a podcast about all things XPages.

Ask your XPages related questions and/ or share your knowledge in the new XPages forum.

If you are from Germany, head over to the German Notes Forum; we also have a subforum for XPages development.

Code snippets and ready to use applications are available for download on OpenNTF.org. Download the extension library and add more than 90 new controls to the set of controls that are delivered with the core product. It’s FREE!!

A must have for every developer is “Mastering XPages – A Step-By-Step Guide to XPages Development” released by IBM Press earlier this year. The book is written by the makers of the XPages development language. Buy a printed copy or at least an electronic copy of the book. It’s worth every cent!!

I also recommend listening to the  “This week in Lotus” podcast, the weekly roundtable of all things Social, Collaboration, Technology and Community…

Last but not least, LUGs. Attend ILUG, UKLUG, IamLUG, BLUG or the EntwicklerCamp in Germany and meet some of the best speakers from all around the world. The LUGs are free and there is probably a LUG near your home.  There is even a LUG in Australia.

I know that this list is not complete. There are even more treasures hidden in numerous blog entries. So I recommend adding planetlotus.org to your bookmarks.

Do you have an iPhone? I’ve just found in an article on the XPages Blog that Scoped Solutions Limited has released an app that gives you access to XPages tipps and tricks. The app also allows you to submit your own tip as well.

 

 

 


“See attached file: ” – pesky issue

I recently wrote about how to replace the “See attached file: ” string in an XPage with a link to the attachment. We enhanced the code to display an icon to make the output more like the user would expect it.

Everything worked fine until we implemented the code in one of our productive applications. The code itself works, but for some reason, the filenames that are stored in the $File items do not correspond the actual filenames.

Not sure, why this happens. I’ve tried to reproduce but are not able to. The only hint I found is a technote about a similar issue with iNotes.

Would be great if such issues get generally fixed and not just worked around as it obviously has been done for the XPages download control.


Recognizing advocates for IBM smart solutions

If you not already have heard or read about it; IBM launched the “IBM Champion Program” to recognize and reward exceptional contributors to the technical community. Learn more about the program here.

The IBM Champion program recognizes exceptional contributors to the technical community, non-IBMers who work alongside IBM to build solutions for a smarter planet. An IBM Champion is a developer or IT professional who leads and mentors his or her peers and helps them make best use of IBM solutions and services. Champions can be found running user groups, managing websites, speaking at conferences, answering questions in online forums, and writing blogs, how-to articles, and technical books.

The IBM Champion program recognizes and rewards these innovative thought leaders, amplifying their voice and increasing their sphere of influence on the technical community. The program incorporates existing champions from the Information Management area, who are showcased here, and we’re expanding it to become IBM-wide, with near-term focus on champions associated with WebSphere, Lotus, and Rational, and then more. We invite you to learn more

‘Nuff read? You are ready to nominate yourself or someone else? Here is the direct link.


Replace “See attached file:” in XPages

I got a phone call from a customer today asking if it is possible to replace the “See attached file” string in our corporate intranet by the attachment, so he would not need to scroll down to the end of an article to open an attachment.

After an hour of try and error, I ended up with the following code.

Place the code into the “AfterPageLoad” event of your XPage or Custom Control.

Or you can paste the code as a xp:customConverter directly into the RichText Control.

It searches for all occurrencies of “See attached files” in the RichText field that is displayed on the web with an id of “entryBody” and builds a hyperlink for each attachment as a replacement.

The result looks like this

You can now click the link to open the attached files.You can easily enhance the code to display nice looking images instead of the link text.

If there is a more elegant solution around, pls. let me know.

 


I’ll be speaking at DNUG

On May, 18th, 2011 I’l be speaking at DNUG in Bonn. Together with Werner Motzet I will present a session on how to modernize an existing Applikation by using XPages. I was asked to do a “beginner level”  session.

I decided to take one of the applications that has been delivered in 1999 as the “nifty-fifty“. Not sure which application I will choose, but I have already tested the “transformation” with a few of them.

In addition there will be an open discussion with the attendees of SIG development together with Maureen Leland and Martin Donnelly.


When signing an application, sign ALL elements

I installed and tested the xTalk forum application written by Declan Lynch and available for download at OpenNTF.

A great application and a great piece of open source to learn about XPages.

I ran into an error and tried to figure out, why the error occurs. I thought it is a good idea to share my findings.

When you install the application, you have to sign the template with an appropriate ID that is allowed to run XPages on your server. I used SignEZ from YTRIA to sign the template.

After I’ve created a new application from the template on the server and did the initial setup, I tested with different user accounts and created a couple of sample entries. Then I switched back to my own identity and tried to open one of these entries.

Here is, what I saw on the screen:

Well, obviously something is missing. So I opened the Designer and looked for the “HashMaster” code. The code is a custom JAVA class that is not listed under any of the standard categories in designer. You will see this code only by using the Package Explorer. And it really is in the application. So, what else …

I then opened the application in ScanEZ and looked at the Designs section. Here I also found the files in question.

Looking closer at the design I saw that these files were still signed by Declan Lynch.

SignEZ seems not to sign these elements in the application design. I then resigned the application using the Admin Client and this solved the issue.
So if you run into a similar issue, look at the signature of any suspect design element.


IBM Launches Maqetta HTML5 Tool

IBM announced Maqetta, an HTML5 authoring tool for building desktop and mobile user interfaces, and also announced the contribution of the open-source technology to the Dojo Foundation.

You can use Maqetta only or donload it to your computer. No install. Just extract the downloaded file to a directory of your choice and start a .bat file on Windows. There are also start files for Linux and Mac.

Source: eWeek.com


Die Bahn – “Lesen Sie die AGB”

Nehmen wir mal an, Sie wollen am Montag mit der Bahn von A-Stadt nach B-Stadt fahren. Auch haben Sie geplant, am Freitag wieder zurückzufahren.

Flugs ins Internet geschaut und ein Ticket für die Hin- und Rückfahrt gebucht. Sparpreis €98,- 1.Klasse. Geil!

Hinfahrt war super. Keine Probleme. Am Ort angekommen müssen Sie erfahren, daß Sie nicht wie geplant am Freitag, sondern bereits am Donnerstag wieder abreisen müssen. Kein Problem. Schliesslich kann man das Ticket bestimmt umtauschen.

Also mal bei der Bahn nachgefragt. DIe Antwort ist wenig erbaulich:

vielen Dank für Ihre Rückfrage.

Beim Sparpreis-Ticket sind Sie Tag-, Zeit- und Zuggebunden, somit ist eine Fahrt am Donnerstag und eine Umbuchung Ihres Tickets nicht möglich.

Desweiteren möchten wir Sie auf unsere Allgemeinen Geschäftsbedingungen hinweisen, diese können Sie unter folgendem Link nachlesen: http://www.bahn.de/p/view/home/agb/agb.shtml .

Auf Seite 12 der 152 Seiten umfassenden “Beförderungsbedingungen für Personen durch die Unternehmen der Deutschen Bahn AG” findet man schließlich

4.2.1.1 Der Umtausch oder die Erstattung von Fahrkarten zu den Sparpreisen (Nr. 3.3) ist gegen Zahlung eines Entgelts in Höhe von 15 € nur bis zu dem Tag möglich, der dem ersten Geltungstag vorausgeht.

Zahlung von € 15,-. OK, kann man mit leben. … “nur bis zu dem Tag möglich, der dem ersten Geltungstag vorausgeht”. Nach erneuter Rückfrage bei der Bahn erklärte man mir, daß ich das Ticket am Sonntag hätte umbuchen können, nicht jedoch am Dienstag und auf keinen Fall nur für die Rückfahrt.

Der erste Geltungstag bezieht sich also auf das gesamte Ticket, also auf Hin- und Rückfahrt.

Meine Frage, ob ich denn die Rückfahrt hätte stornieren können, wenn ich Hin- und Rückfahrt GETRENNT gebucht hätte, also 2 Blatt Papier in der Hand halten würde, beantwortete der hörbar genervte “Servicemitarbeiter” mit :”Ja logisch, das Rückfahrtticket hat ja den ersten Geltungstag noch nicht erreicht, Das können Sie umbuchen”

Die Einzelbuchung der Tickets ist übrigens in Summe genauso teuer wie die Buchung des Tickets für die Hin- und Rückfahrt.

Daher kann ich jedem potentiellen Bahnkunden nur empfehlen, sich die “Beförderungsbedingungen für Personen durch die Unternehmen der Deutschen Bahn AG” vor dem Kauf einer Fahrkarte genau durchzulesen. Und immer schön einzelne Tickets buchen. Wenn mal was dazwischen kommt, ist man auf der sicheren Seite.

 


XPages – categorized view and multiple partial refresh

I am currently working with one of my trainees on a webinterface based on XPages for one of our applications. The application is a contant management system and one of our aims is to avoid modifications on the application and therefore having the XPages design apart from the data in a separate application.

Yesterday we tried to manually build a categorized view using repeated repeats. Thanks to Twitter, David Leedy pointed me to one of his NotesIn9 episodes where he describes, how to build a cat. view based on repeat controls.

There is also an online example that demonstrates, how it looks and works.

But we wanted to have the view to look and behave more like the client. No problem to replace the buttons by plus/minus images and to put them in front of the category.

Next problem to solve was to hide one of the images according to the expand / collapse state of the category.

This can simply be done by setting the rendered property. But you have to do a partial refresh to hide or unhide the images. In the Designer UI you can only set ONE partial refresh, but we needed to do at least 2 partial updates. So we got stuck a little.

Twitter to the resque once again. Per Lausten replied minutes after my call for help and wrote that Matt White had talked about multiple partial refresh in one of his recent xpages101 online lessons.

Now we had everything to build the custom control. Here is how it looks in the designer.

And here is the result. Left picture shows the view in the client and the picture on the right the output of the control on the web.

Last but not least, here is the sourcecode. Source: categorized view with multiple partial refresh.

The client side code to perform the partial refresh was first mentioned by Tim Tripcony.

It might not be perfect and perhaps there is a better way to build the view, but we both learnt a lot.

And once again this example shows that Notes has a great community and there is plenty of knowledge spread all over the internet. You only have to ask for help if you get stuck.

 


BLUG – A brief recap

BLUG 2011 started for me on wednesday. I drove to Antwerp by car. It is only a 200 something km trip. My satnav took me on a 30 km detour due to some heavy traffic. Took me one extra hour.

I arrived at the hotel and Theo was already busy setting up the venue. At the reception I ran into Martin Donnelly, one of the author of the “Mastering XPages” book.

Some of the usual suspect were already at the venue and after a short talk, we all started with packing the bags for the attendees. Lot of stuff to put into. Lot of bags to pack.

BLUG had about 270 registered attendees and appr. 220 of them showed up at each of the 2 days.

Off to the bar to have some decent beer. Belgium has a lot of different kinds of beer. If you come to Antwerp and you like to drink a glass of beer you surely have to try “the Antwerp Bolleke”.
In fact it is a creation of Johannes Vervliet in 1833 but after his death the company was taken over by Carolus De Koninck. The “Antwerp Bolleke” is called the daily beer of the real Antwerp habitants. It is the only city in Belgium which has such a strong tie with his local beer. The high fermentation of this beer makes it as one of the best in the world.

More and more speakers showed up. Paul Mooney and Tim Clark finally arrived after a long bike tour.

After a few more rounds of Antwerp Bolleke, we took the lift to the 16th floor to have our speakers dinner. A great choice of cold and warm food was offered along with more beer, wine and non-alcoholic beverages.

Tim Clark embarressed me by talking about my donation to Movember. He handed me over a copy of DeBretts “Guide for the Modern Gentleman”.

This beautiful guide shows the average man how to act like and become a gentleman. Every day things are listed here, things like how to replace bicycle tires to the more gentleman-like things like how to interact with your suit tailor. A very entertaining read to say the least, and the whole book is beautifully illustrated.

Day 1 started with the keynote by Kevin Cavanaugh. Theo asked me to do a live blogging of the keynote. I tried my best and according to the statistics we even had some followers. Tim Clark joined me a s a panelist and so did Chris Miller. ( flickr pic )

The breakout sessions started right after the keynote. No surprise that there were many sessions about XPages.  40 sessions in 4 tracks delivered by 36 speakers.

Over the day all tweets and pics with the #blug hashtag were displayed on a big screen in the sponsors area. Twitterfountain has been used to get the content from Twitter.

Later on, Speedsponsoring. Speedsponsoring is like Speed Dating. Every sponsor has a 5 minutes timeframe to tell visitors at the booth about their product. After the 5 minutes every group moves on to another sponsor.This goes on for 60 minutes. Imagine the level of noise having 12 sponsors delivering their content. For the speakers it must be like having gargled with razorblades at the end.

Great fun. Paul Mooney was the emcee and I saw Tim Clark constantly bringing beer to the speakers to cool the vocal cords.

The beer was for free. IBM sponsored the bar at day 1.

Day 2 started after a short night for many of us. Rumours have been heard about “Microsoft will migrate to Lotus Notes”, “The iPad 2 is available for €249,- at the Apple Store in Antwerp”. Well, such things happen on April, 1st …

More sessions on XPages and other topics. All sessions I attended were of high quality. It was sometimes hard to follw Martin Donnelly talking about the extension library. This man talks sooo blooooody fast.

Tim Tripcony showed how to use themes to make the development of an XPages application easier. The presentation is available here. Many more presentations are available on the speakers blog sites.

The raffle at the closing session was a perfect end to a great conference. Many valuable prices were handed over to lucky winners.

Again the bar was opened; this time it were the sponsors who made all beverages available for free.

A great thank you to the organizers, sponsors, speakers and attendees for this great 2-days conference.  If you could not attend BLUG this year, you should definitely put it onto the list of FREE conferences to attend during 2012.


BLUG – Session slides

Here is the slidedeck from my session: “When Plato Left The Cave – A brief history of Lotus Notes”.

Thanks to all who attended.

And here is the talk for the first slides

13.7 bllion years BL – Before Lotus User Groups –
on a Friday
at approximately 8:20 pm
the universe was born

For a long time PI was the best thing since sliced bread

A couple of years later – in 1974 –

In a Harvard dormitory, Bill Gates is goofing off playing poker and pinball.
His habit to always be late gave us pictures like this one.

To earn some money he started selling softener at local stores but found that selling software could increase his income dramatically.
On April, 4 th 1975 he gathered together some friends and founded Microsoft.
Would you have invested in this company ?

Over in India, Steve Jobs, future cofounder of Apple, has shaved his head and is wandering around seeking enlightenment.
His style didn’t change much over the years. Apple’s products are stylish and shiny. But it turns out that you have to hold them in some special way so they will work as expected.

Out in Hawaii, Steve Case, future cofounder and head of AOL Time Warner, is busy writing album reviews for his Honolulu high school newspaper.
If his review is cause for a foto like this is unknown.

While these future billionaire CEOs of Internet-industry behemoths are busy enjoying their last teenage years, at a university town in Illinois the ‘Net’ has already arrived. Indeed: it’s in full swing!

Out here in the middle of cornfield country, there’s a rich, vibrant online community of teachers, professors, hackers, slackers, pranksters, and software and hardware engineers thriving on email, chat rooms, instant messaging, addictive multiplayer games, multimedia, news, movie reviews, and message forums on everything from art, science, and literature, to sex, drugs, and rock and roll. How can this be?

Welcome to PLATO.
Sorry, we are not going to talk about this guy, although there are some really interesting quotes …


Packt Publishing – “IBM Lotus Quickr 8.5 for Domino Administration”

A couple of days ago, a new book arrived on my desk. “IBM Lotus Quickr 8.5 for Domino Administration” was published by Packt Publishing in January 2011.
“IBM Lotus Quickr 8.5 for Domino Administration” is a step-by-step manual, with explanation from installation and upgrading, to the development and management of Quickr, to what-to-do-next when you finally have everything set up.
The book has been written by Lotus Community members Keith Brooks, Mark Harper, David Byrd and Olusola Omosaiye and also the reviewers are well known members of the Yellowverse ( Alex Kabasov, Dennis van Remortel ). All authors have a deep insight knowledge of IBM Lotus Quickr.

I was a bit surprised when reading thru the “Who is this book written for”. Business Analysts, Managers … Yes, it CAN be read by this group of non technical people, but I doubt that this is the audience the book is really targeting. I have never heard of any Business Analyst or a Manager installing fixpacks and modifying the notes.ini of a Domino server. And, putting my administrator’s hat on, I would never allow them to do this tasks.

The target audience for this book is clearly a Domino Administrator who wants to install IBM Lotus Quickr. If you as an administrator have never setup an IBM Lotus Qickr server, then this book is for you.

All steps from installing the Domino server to applying fixpacks and installing the IBM Quickr server are explained on the first 58 pages of the book. Many screenshots help also those administrators that are not native english speakers. After doing some post installation configuration you will have a running IBM Lotus Quickr installation.

Chapter 6 (Managing IBM Lotus Quickr Servers) helps you with the daily administration of your Quickr server.
If you already have a runing IBM Lotus Quickr installation and you want to upgrade to release 8.5, you could start reading Chapter 7 first. Chapter 7 discusses the process required to upgrade Lotus QuickPlace and Quickr services to the new release 8.5.

Be aware that you need to have at least more than only some vague administration skills to get the most out of “IBM Lotus Quickr 8.5 for Domino Administration”.

I can recommend this book to all Domino Administrators who want to successfully install, run and mantain IBM Lotus Quickr 8.5.

Packt currently is offering a 20% discounts!! Read all about it here.