Ytria Workshop f�r Administratoren und administrierende Entwickler

21. Oktober 2014 Posted by Jens Polster

Zusammen mit unserem Partner Ytria veranstalten wir am 13.11.2014 in Frankfurt am Main einen Workshop f�r Administratoren und administrierende Entwickler. Neben einem allgemeinen �berblick �ber die Tools werden wir konkrete Beispiele und tiefer gehende Anwendungsf�lle zeigen.

Weitere Informationen zum Workshop und zur Anmeldung sind auf der Website von Ytria zu finden

Do you know Conan Keough?

19. Februar 2013 Posted by Jens Polster

I was searching for information on a weird error message one of my colleagues was seeing at a customer. The message was

the certificate table does not contain enough valid certificates to verify the public key of its own
So I looked in the IBM Support Portal and got this response:



Of course I also searched English documents, but I did not get any usable results.

So if anybody has seen this error message or knows what causes it, please let me know. Thanks!

Connect Comes To You 2013 in Frankfurt am 21./22.02.2013 mit neuem Keynote Speaker

5. Februar 2013 Posted by Jens Polster

Wie auf der Connect 2013 verk�ndet, wird Ed Brill in K�rze innerhalb der IBM neue Aufgaben �bernehmen. Daher wird die Keynote unserer allj�hrlichen "Lotusphere Nachlese", der diesj�hrigen Connect Comes To You, am 21. und 22.02.2013 von Scott Souder, Program Director Messaging & Collaboration, Client Strategy gehalten. Er ist bereits seit 1989 bei Lotus/IBM und im Lotus-Umfeld t�tig. Wir freuen uns darauf, mit ihm einen weiteren engagierten und erfahrenen Sprecher f�r unsere Veranstaltung begr��en zu d�rfen.


In technischen JumpStart-Sessions werden wir am ersten Tag Themen aus der Anwendungsentwicklung und der Infrastruktur behandeln. Bei der Entwicklung steht die Realisierung mobiler Anwendungen, XPages Best Practices sowie die Erweiterung von Anwendungen um soziale Komponenten im Mittelpunkt. Im Bereich der Infrastuktur wird neben Tipps&Tricks f�r die Administration u.a. die Hochverf�gbarkeit von Traveler gezeigt werden.

Die Hauptveranstaltung richtet sich gleicherma�en an IT-Leiter wie auch an Anwendungsentwickler und Administratoren. Neben der Collaboration & Messaging Strategie werden die Neuigkeiten in Notes 9, iNotes 9 sowie Domino 9 demonstriert. Nat�rlich spielt aber "social" auch hier eine gro�e Rolle. Die Neuerungen in Connections 4.5, Sametime Next und IBM Docs werden ebenso vorgestellt wie die Einbindung mobiler Endger�te und die soziale Erweiterung von XPages-Anwendungen.

Neben weiteren Gastrednern - Niklas Heidloff (Software Architect bei IBM, Member of the Board at OpenNTF and Chairman of the Technical Committee at OpenNTF ), Florian Vogler (CEO of panagenda ) und Thomas Lang (Gesch�ftf�hrer von at once GmbH) - werden Hans-Peter Kuessner, Henning Kunz und Jens Polster von SP Integration die wichtigsten Themen der Connect 2013 f�r Sie zusammenfassen, aufbereiten und bewerten.

Weitere Informationen finden Sie unter

Lotusphere 2012 Mobile Agenda Access

7. Januar 2012 Posted by Jens Polster

Only a few days left until our annual trip to Orlando for Connect Lotusphere 2012. This year might be the first I don't bring my laptop and rely on mobile devices only. One of the most important things I am doing while at the conference is checking my schedule and the slides of sessions I am considering to attend. Fortunately there are multiple ways to access the schedule. Apart from the standard "Social Business Online" website there's the mobile and mobile lite version.

As always there's Ben's LS Agenda Database which is also available for BlackBerry, iPhone and iPad (thanks to the kind folks of Turtle Partnership).

The official "Social Business Online 2012 Mobile Agenda" is available for iPhone, Android and probably also for BlackBerry.

Ytria databaseEZ – Another really useful tool for Domino Admins and Developers

18. April 2011 Posted by Jens Polster

I have been working with Ytria's excellent tools for many years now and there's not a single day in my life as a Domino developer or admin I don't use scanEZ or one of the other tools. That's one of the reasons we became a business partner with Ytria.

For one of our customers who is running several dozens of Domino-based enterprise web sites I had to change the "inherit design from master template" name in 46 databases. Doing this manually would have been very tedious, but using the soon-to-be-released tool "databaseEZ" made this a matter of only a few seconds.

When databaseEZ has started, the UI is very similar to aclEZ or agentEZ. The navigation pane on the left allows me to select the databases I want to see in the grid. Even when I select all databases on the server, the grid updates in a breeze. Since the property "Inherit from" is not displayed in the grid by default, I have to select it in the "Grid Data Composition" panel on the right, press "Apply" and the information is populated instantly. Then I just need to group the databases by this property, select the ones I want to change and select "Edit Database Design Properties" from the context menu. There I can change the name of the template the databases inherit from and after OK'ing the dialog the grid is updated with the new data. In order to actually save my changes I press CTRL-S or select "Server - Apply Changes" from the menu and I'm done.

That's just one of the many features in databaseEZ which make my Domino life so much easier. I will post a more detailed review of the tool soon, just wanted to share this today. Thank you guys!


Lotusphere Comes To You 2011 Frankfurt and a late Lotusphere Recap

27. Februar 2011 Posted by Jens Polster

Lotusphere Comes to You 2011

Last Thursday and Friday we hosted our annual Lotusphere Comes To You event. The time between Lotusphere and the event was rather short and thus very intense this year. But as much work as it is, we always enjoy giving the presentations and workshops. While preparing for the event we are diving into a lot more sessions than we could ever have attended at Lotusphere - even though we go there with three people and try to have minimal overlap in our sessions. During preparation we always get a much better understanding of what actually happened at Lotusphere than just by having been there.

The event was very successful, attendance was good and the feedback very positive. This year, the event was spread over two days. Thursday afternoon we had two parallel technical jumpstart sessions. One was focusing on XPages and Web 2.0 development, the other one had a focus on infrastructure stuff like DAOS, ID vault, Lotus Notes silent client install, IBM Lotus Traveler and TDI.

Another first was having Ed Brill as the keynote speaker. His Messaging and Collaboration Strategy session was well received and the Q&A afterwards had some very interesting questions. It certainly helped to explain and emphasize the importance of social software in today's and tomorrow's business world.

As Alistair Rennie said in the OGS, this might have been the most important Lotusphere so far. IBM switched from defense to offense mode. The "which e-mail system is better" fight is becoming less and less important. In the collaboration model of the future, e-mail is just one of many ways to collaborate. The real value for business users is having one platform which allows working in one consistent UI. The UI provides access to all important back-end systems and applications, fully integrated into the user experience.

We have seen some great paradigms which will be part of the future products. An Activity Stream syndicates social activity, enriched by social analytics which helps to find relevant content. Embedded Experiences allow to interact with data from external applications without leaving the current UI and the Share Box provides a simple and effective was to create content in various applications like Blog entries, status updates or requests in a workflow application. The Social Business Toolkit will provide the means to bring it all together. In my view, IBM is perfectly positioned to lead this social business market.

Another very important statement was that IBM is now again seeing Domino as an application development platform. XPages was everywhere on the agenda. If you are a Notes/Domino developer, you should seriously consider learning XPages. IBM is investing heavily in expanding the XPages capabilities. The XPages extension library is available on OpenNTF since last fall and much of it will be incorporated into the product. Distributing it as Open Source via OpenNTF allows us developers to use it now instead of waiting for the next (or even a later) product version. Of course, deployment is an issue - especially in larger infrastructures - but with the new Plugins Deployment project this will become much easier.

Of course there's much more I could add but let me stop here and again say a big THANK YOU to Ed Brill for joining us.

Lotusphere 2011 Mobile Agenda iPhone App

16. Januar 2011 Posted by Jens Polster

I just saw the Lotusphere 2011 Mobile Agenda in the itunes app store (released yesterday).

Lotusphere 2011 Mobile Agenda allows you to synchronize your session schedule with Lotusphere 2011 Online. It also allows you to create your session schedule on your device and synchronize it back to the server.
There's no hint that it's authorized by IBM - Lotusphere online is linked in the description but it is not online yet.

Logging in is not yet possible and I also did not find any information on the creator's website or blog about the app. So hopefully within the next days we'll learn more about it.


Of course there's also Ben's LS11 agenda database and the LSMobile iPhone app by the Turtle Partnership (and also the LSMobile HD iPad app).

Also, IntraVision again have a great ls11 web app with session data, searching and planning features. Thanks guys.

As described in the Lotusphere Blog, there's also a mobile access to the Lotusphere Online site.

To login in the iPhone app, use your conference ID, this is the local part of your conference Email address ( and your confirmation number as password. To get the conference ID, log in to Lotusphere online with a browser using your Name and confirmation number.

Dynamically Create vCard Download from LotusScript

14. Juli 2010 Posted by Jens Polster

Reading Matt's entry about the content-disposition http header reminded me of a LotusScript agent I wrote recently which also uses this technique.

I have created a nice looking office locator for one of our clients which uses the Google Maps API and Dojo Toolkit to display the results. For every office you can also download a vCard which is dynamically created from a company record stored in a Notes document*. The vCard is created by an agent which is called with the UNID of the company doc in a URL parameter. The agent created the vCard text and returns it as an attachment with a custom file name using the aforementioned content-disposition http header.

Please read on for the agent code.

Of course you might have to change the field names in strOutPutFieldsList etc. I have used Jake Howlett's ExplodeQueryString routine with some minor modifications for simplicity and Julian Robichaux' excellent OpenLog for error handling.

Call the agent with an URL like http://hostname/db.nsf/agGetVCard?Open&id=the_unid_of_a_company_doc.

See download link at the bottom of the page.

'/** ' * Agent (Get vCard) ' * URL-triggered agent which returns a vCard for the company specified by the ID parameter (this is the UNID) ' * @author Jens Polster (jens dot polster at domblog dot de) ' */ Option Public Option Declare Use "OpenLogFunctions" Sub Initialize() On Error GoTo ErrorHandler Dim sess As New NotesSession Dim dbCurrent As NotesDatabase Dim docContext As NotesDocument Dim strCompanyID As String Dim docCompany As NotesDocument Dim strResult As String Dim strOutputFieldsList List As String Dim strEvaluateMacro As String Dim varEvaluateResult As Variant Dim strNL As String Dim AgentArgs List As String Set dbCurrent = sess.Currentdatabase Set docContext = sess.Documentcontext strNL = Chr$(13) & Chr$(10) ' put URL parameters in a list Call ExplodeQueryString (docContext.Query_String_Decoded(0), AgentArgs) If IsElement( AgentArgs ("id") ) Then strCompanyID = AgentArgs ("id") ' get the company doc's UNID from the list End if If Len(strCompanyID) = 0 Then Error 1001, |No id specified| End If Set docCompany = dbCurrent.GetdocumentbyUNID(strCompanyID) If docCompany Is Nothing Then Error 1003, |Company document with ID | & strCompanyID & | not found.| End If ' create a list of field names and @formula expressions to compute the values strOutputFieldsList("N")=|@ReplaceSubstring(CompanyName; "<br>"; " ")| strOutputFieldsList("FN")=|@ReplaceSubstring(CompanyName; "<br>"; " ")| strOutputFieldsList("ADR;INTL;POSTAL;WORK")=|@Implode("":"":OfficeStreetAddress:OfficeCity:| &_ |"":OfficeZIP:OfficeCountry; ";")| strOutputFieldsList("TEL;PREF;WORK")=|CompanyPhoneNumber| strOutputFieldsList("TEL;FAX")=|OfficeFaxPhoneNumber| strOutputFieldsList("EMAIL")=|CompanyMailAddress| strOutputFieldsList("GEO")= |@ReplaceSubstring(@Text(Latitude); ","; ".") + "," + | & _ |@ReplaceSubstring(@Text(Longitude); ","; ".")| strOutputFieldsList("ORG")=|@ReplaceSubstring(CompanyName; "<br>"; " ")| strOutputFieldsList("URL;WORK")= |CompanyWebsite| strOutputFieldsList("Version")= |"2.1"| strOutputFieldsList("PHOTO")=|OfficePictureURL| strResult = |BEGIN:VCARD| ForAll i In strOutputFieldsList varEvaluateResult = Evaluate(i, docCompany) strResult = strResult & strNL & ListTag(i) & ": " & varEvaluateResult(0) End ForAll strResult = strResult & strNL & |END:VCARD| DefaultExit: strEvaluateMacro = |@ReplaceSubstring(@Ascii(CompanyName); "<br>":" "; " ":"_")| varEvaluateResult = Evaluate(strEvaluateMacro, docCompany) ' set content-type to prevent Domino from creating HTML markup Print |content-type: text/x-vCard; charset=iso-8859-1| ' make the browser handle the data as an attachment Print |content-disposition: attachment; filename="| & varEvaluateResult(0) & |.vcf"| ' the next line is necessary to avoid that "BEGIN:VCARD" is being interpreted as a http header Print Print strResult Exit Sub ErrorHandler: strResult = || Call LogError() Resume DefaultExit End Sub '/** ' * Sub ExplodeQueryString ' * Create a list of all query_string parameters. ' * Slightly modified version from Jake Howlett's blog entry at ' * @param QueryString URL Query_String ' * @param AgentArgs List in which the URL parameters are returned ' */ Private Sub ExplodeQueryString (QueryString As String, AgentArgs List As String) On Error GoTo ErrorHandler Dim Args As String Dim ArgsList As Variant Dim ArgKey As String Dim ArgValue As String Args = StrRight(QueryString, "OpenAgent&") ArgsList = Evaluate ({@LowerCase(@Explode("} & Args & {"; "&"))}) ForAll Arg In ArgsList ArgKey = StrLeft(Arg, "=") ArgValue = StrRight(Arg, "=") AgentArgs(ArgKey) = ArgValue End ForAll DefaultExit: Exit Sub ErrorHandler: Call LogError() Resume DefaultExit End Sub
This LotusScript was converted to HTML using the ls2html routine,
provided by Julian Robichaux at

* Of course the vCard text does not have to be dynamically created and could/should be stored in the company document for better performance.

Download agGetVCard.lss.