Am I a Domino Developer …

… or do you configure applications on the Domino server.

Sometimes when comparing Domino with more “glorious” products, for example SAP or Sharepoint. I have the feeling that most customer think you only have to configure them to work as you want.  Maybe I’m just configuring Domino to, or can it be that they are actually developing?

I like the word configure since it is a very good marketing trick! When comparing develop and configure most people would say configuring is much faster and cost less. It also give the impression it is a standard application you are using!

But comparing how long it takes to “configure” an application/functionality on those systems, I wounder if I’m really a developer?

So to annoy customers and my colleges, I have started to say I can configure such an application!

To get Domino to be more glorious. I believe IBM should do a search for the word develop and replace it with configure.

There is a flaw in my logic! It takes much longer to completely rebuild SAP for Domino then it takes to “configure” SAP to do what you want!

Easy implementation of multiple configurable global stylesheets

The concept is to have a profile document with a multi value field containing the stylsheet path. First entry has the lowest priority the last the highest priority.

First create a profile document and a multi value field
In my example the profile form is named “(DbSetup)” and the field is named “globalCSS”.

In the Form you add the following code into to the “HTML Head Content” form object. Explanation follows.

startTagCSS := "<link rel=\"stylesheet\" type=\"text/css\" href=\"";
endTagCSS := "\">";
s := @Name([CN]; @ServerName);
@If( s= "" ; varGlobalCSS:="css/global.css";varGlobalCSS:=@GetProfileField("(DbSetup)"; "GlobalCSS") );
@Implode((startTagCSS) + varGlobalCSS + (endTagCSS);@NewLine) + @NewLine

First I define the start and end tags. I then try to find out if it runs local or on a server. If it is local it gets the css path from the local application it self, otherwise it gets it from the profile document. Needed that to be able to debug without network access.

Then, on each entry in the GlobalCSS field, the start and end tag is added in front and back of the path. By using @Implode and @NewLine each entry will be separated with a new line. Last but not least I add an extra new line after. To make it look more readable.

If the field GlobalCSS contains [”,, we would get the following in the “<head>” tag on the web page.

<link rel="stylesheet" type="text/css" href="">
<link rel="stylesheet" type="text/css" href="">
<link rel="stylesheet" type="text/css" href="">

This is only for absolute paths, since the relative path changes depending on if the document is new or already exists.
In this case each entry has to be tested for the existence of http or “//” in the beginning of the path and add “../” in the beginning if it is not a new document. Hint use @IsNewDoc in combination with @Transform.