wissel.net

Usability - Productivity - Business - The web - Singapore & Twins

By Date: July 2006

IBM's product names finally get a bite?


IBM isn't famous for creating snappy product names and we had a lot of running Jokes on that topic. Would you consider a VPN solution with the name WECM (Sounds like "wack them")? But something is happening. After giving back Sametime and Quickplace their names somebody started thinking. Since WECM does connect you back to you enterprise, why not call it IBM Connect (just watch, it will happen)? Now I read on Jeff Eisen's blog in the Hannover 101 story, that the artist formerly known as "Websphere Everyplace Deployment" (a.k.a WED) will be known as (drum roll) Lotus Expeditor. Seems a lot of Websphere gets removed from the product names.
Now we need to finalize that push an cleanup some more. The Workplace Managed Client (WMC) would be the next candidate. We should call it Workplace Desktop. So we could have the Workplace Notes Desktop and the Workplace Forms Desktop or the Workplace Shared Desktop. Of course the Workplace brand has caused a lot of confusion too and might rather be on the list of endangered species. The Lotus ISV information blog has just been renamed back from The Workplace Channel into The Lotus Channel.

Posted by on 24 July 2006 | Comments (1) | categories: IBM - Lotus

What are you hiding from me?


By now you should be able to extract your database design as DXL. This opens a series of possibilities to run reports against your database to gain more insights into its design. Since Notes is around for so many years you will face the situation to inherit a database you haven't written. To understand its logic you need so see how Hide-when formulas have been used in the all over design. The following XSLT allows you to do this extraction.

Use it at a starting point and play with the layout. Ideas you could look at: Pack the whole report into a single table and load it into your favorite spreadsheet for sorting (a fancy Ajax lib could do that to).

<xsl:stylesheet version= "1.0" >
<xsl:output method= "xml" version= "1.0" encoding= "UTF-8" indent= "yes" />
<xsl:template match= "/" >
<html >
<head >
<title />
<style type= "text/css" />
</head>
<body >
<table >
<xsl:apply-templates select= "//d:form" />
<xsl:apply-templates select= "//d:subform" />
</table>
</body>
</html>
</xsl:template>
<xsl:template match= "d:form" >
<tr >
<th colspan= "3" >
<h1 > Form
<xsl:value-of select= "@name" />
</h1>
</th>
</tr>
<tr >
<th />
<th />
<th />
</tr>
<xsl:apply-templates select= "//d:pardef[d:code/@event='hidewhen']" />
</xsl:template>
<xsl:template match= "d:subform" >
<tr >
<th colspan= "3" >
<h1 > Subform
<xsl:value-of select= "@name" />
</h1>
</th>
</tr>
<tr >
<th />
<th />
<th />
</tr>
<xsl:apply-templates select= "//d:pardef[d:code/@event='hidewhen']" />
</xsl:template>
<xsl:template match= "d:pardef" >
<tr >
<td bgcolor= "#EEEEFF" >
<xsl:value-of select= "@id" />
</td>
<td bgcolor= "#EEFFEE" >
<xsl:value-of select= "d:code/@enabled" />
</td>
<td bgcolor= "#FFEEEE" >
<xsl:value-of select= "d:code[@event='hidewhen']/d:formula" />
</td>
</tr>
</xsl:template>
</xsl:stylesheet>

Posted by on 19 July 2006 | Comments (0) | categories: Show-N-Tell Thursday

Developing OpenSource Software is fun (allways) and paid for (sometime)


Benno Stoll just published his master thesis at the University of Zurich in Switzerland. He researched the motivation of OpenSource developers. From the summary:
42% of the time spent for open source is financially compensated. However, we have to take into account that these figures may underestimate the amount of paid work. Paid open source developers are members of well-known open source projects. Such projects, however, can afford their own project infrastructure and are not dependent on platforms like SourceForge. Thus, the share of paid open source programmers may be rather underrepresented in the study's sample. (...)
In view of the importance of fun, the present study yielded the following results:
  • Fun matters: a simple model containing fun and spare time as independent variables can explain roughly 27% to 34% of the engagement for open source.
  • Spare Time matters: the amount of time spent by open source developers is significantly determined by the quantity of spare time the programmers have. However, the availability of spare time does not matter if the open source developers are asked for their willingness for future activities for open source.
  • The joy of programming does not wear off: each additional unit of fun is transferred linearly into additional commitment.

Go read the full report

Posted by on 14 July 2006 | Comments (1) | categories: Software

Getting hold of your replication formulas (SnTT Sunday edition)


Since R6 we are able to manipulate replication formulas using Lotus Script. You simply retrieve the entry and update or delete it. There is only one problem: If you don't know what custom replication pairs are in your database you can't do anything about it. Since "wild" custom replication formulas are a nightmare to track down I created the following script and XSLT stylesheet to extract this information using DXL. My script simply creates documents that document the settings. It will be easy to extend the script to include deletion of the entries. Or you could modifiy it to track replication formulas in multiple databases.

As usual: your mileage might vary!

 
Option Public Option Declare Sub Initialize Dim db As NotesDatabase Dim notecol As NotesNoteCollection Dim exporter As NotesDXLExporter Dim importer As NotesDXLImporter Dim transformer As NotesXSLTransformer Dim result As String Dim stream As NotesStream Dim s As New NotesSession 'Setup envionment Set db = s .CurrentDatabase 'Create the collection Set notecol = db .CreateNoteCollection ( False ) Call notecol .SelectAllAdminNotes ( True ) 'ACL, Replication Formulas Call notecol .BuildCollection Print "Build the collection ..." 'Get the transformation stylesheet Set stream = getRichTextSource ( "DocumentCustomReplicationFormulas" ) 'Create the import/export/transformer Set exporter = s .CreateDXLExporter Set transformer = s .CreateXSLTransformer Set importer = s .CreateDXLImporter 'Now we need to wire the exporter to the transformer to the importer Call exporter .SetInput (notecol ) Call exporter .SetOutput (transformer ) Call transformer .SetStylesheet (stream ) Call transformer .setOutput (importer ) Call importer .setOutput (db ) 'Set the parameters for processing exporter .ExitOnFirstFatalError = False importer .ReplaceDBProperties = False importer .ReplicaRequiredForReplaceOrUpdate = False importer .ACLImportOption = DXLIMPORTOPTION_IGNORE importer .DesignImportOption = DXLIMPORTOPTION_IGNORE importer .DocumentImportOption = DXLIMPORTOPTION_CREATE Print "Processing" On Error Resume Next Call exporter .Process Print "Backup completed" result = exporter . log Call stream . Close Beep Msgbox result , 0 , Cstr (importer .importednotecount ) & " Documents created" End Sub Function getRichTextSource (SourceName As String ) As NotesStream 'Retrieves a RichTextitem from the XSLTDefinitions view Dim db As NotesDatabase Dim doc As NotesDocument Dim v As NotesView Dim tmpStream As NotesStream Dim rt As NotesRichTextItem Dim s As New NotesSession Set db = s .CurrentDatabase Set v = db .GetView ( "XSLTDefinitions" ) Set doc = v .GetDocumentByKey (SourceName , True ) If doc Is Nothing Then Msgbox "XSLT Definition " & SourceName & "not found" Exit Function End If Set rt = doc .GetFirstItem ( "Body" ) Set tmpStream = s .CreateStream tmpStream .WriteText (rt .GetUnformattedText ) tmpStream .Position = 0 Set getRichTextSource = tmpStream End Function
This LotusScript was converted to HTML using the ls2html routine,
provided by Julian Robichaux at nsftools.com.

Read more

Posted by on 09 July 2006 | Comments (0) | categories: Show-N-Tell Thursday