Friday, January 25, 2013

And for those of us not going to Connect 2013...

Which pretty much means this won't apply to anyone who reads this.  In my experience, the people who need the most help don't tend to seek it out in either blog posts,, any of the forums or at user group meetings.

In any event, I was recently asked by a client why I sent him design changes in an NSF versus an NTF.  This is a topic I dealt with rather frequently when I was a Technical Director at Teamstudio.  Many people think it has to do with design inheritance, but it doesn't.  The biggest differences are an NTF will not show up in an 'open database' dialog box, hiding it from every day users.  Also, any scheduled agents will not run.  And lastly, design elements in an NTF can not be previewed in a web browser.  Which all make an NTF a great way to manage design changes.

But from an inheritance view point, that is controlled at the database level by the fourth tab on the properties dialog, indicating either inherit from template or it is a template.  At the design element level, it is controlled by a setting in the design tab of the elements properties.

At design refresh time, either manually invoked or by the Design task, databases are refreshed at the database level by the inherit from setting, and then at the design element level.  And as was the case with my client, I was making modifications to the mail template, and wanted to be sure the process was repeatable for the next release of Domino.  So my changes where in a database that could be an NSF or NTF (but best practice says design elements should be in an NTF).  These changes were used to refresh design elements at the element level in the mail template.  This results in a cascading design refresh situation - the template gets refreshed from the custom design element database, and then the user mail files get updated by the mail template.  Note that this element level inheritance is not inherited.  So, the user mail files get ALL their design changes from the mail template, not some from the template and some from the custom design element database.

And in a final comment about design inheritance, a review of what databases are being used in your environment (a common precursor to upgrades, server consolidation, or migration from Notes), needs to include design element level inheritance, and not just database level inheritance as shown in the database Catalog.

I usually recommend a manual refresh of the template from any updates I send, and then allow the design task to refresh all the user files.  This is the cleanest way to ensure updates take place in a controlled manner.

I hope this helps.  And if you are going to Connect 2013, have a great time!