« Kevin Simpson | Main| SuperNTF Logo Competition »

OpenNTF Project Release Checklist

QuickImage Category   


The following blog entry was dictated using a new piece of software called Dragon NaturallySpeaking.  And a good thing too considering I'm only able to type with one hand at the moment, but more on that later...

One of the challenges of having your own OpenNTF project (SuperNTF), or for that matter doing any sort of Lotus Notes development, is how to handle new releases in an efficient manner.  The first thing you have to realize is that a development database is quite a bit different from a release database. A development database may include incomplete design elements, or elements that may never end up being used. It may include sample documents, profile documents, deletion stubs, agent settings, replication settings, etc. that should not be included in a release database. This means that a fair bit of cleanup is necessary in order to take a development database and prepare it for release.

To ensure that these and other release preparation tasks are not overlooked, I have prepared a checklist for SuperNTF rollouts that is general enough to apply to pretty much any OpenNTF project.  It goes something like this:

Checklist version 2 (June 22, 2008)
  1. If you haven't already, create a new "Release Template" database, which will allow you to maintain ACL settings distinct from the development database, and that is more appropriate to a release database. This will mean that you do not have to perform Step 2 for every release.  You might also want different database properties enabled, such as design locking, only on the development database.
  2. Cleanup ACL entries, and the ACL change log, as appropriate.
  3. Refresh the design of the release template database from the development database.
  4. Go through the design of the released template database and eliminate any design elements which are "half-baked" or otherwise not used. These may include elements that are backups of actual elements, and would only serve to confuse users if left in the design.
  5. Make sure all database properties are set appropriately.
  6. Update the version and date on the About Page and any other design elements where that information appears.  In the case of SuperNTF, I have a page design element called "About SuperNTF" which includes this information as it pertains to the SuperNTF framework elements, and allows the database developer to use the standard About Page for more application-specific information.
  7. Remove any log documents or activity document records or other "junk" documents which are not necessary for the release database. conversely make sure that any documents that are necessary, such as configuration documents, ARE included in the release.
  8. Use Ytria's ScanEZ to run a design cleanup on the database. this will remove all traces of previous design element editors and suppress potential cross certification errors or prompts that often are experienced by users of OpenNTF databases. I tend to do this process twice for good measure.  If you can't afford Ytria ScanEZ, I have included a view in SuperNTF which can be dropped into any other application database and which contains an action button that will perform essentially the same process on all design elements selected in that view.
  9. Change the design template name of the release database to reflect the version of the release template.  This is necessary to avoid potential confusion with previous releases, and will ensure that existing deployments based on previous releases do not inherit the wrong code.
  10. Remove deletion stubs.  Again the Ytria ScanEZ product contains functionality to accomplish this very easily, however there are ways of doing this by by temporarily changing database settings changing database settings : Go to Replication Settings, Space savers tab.  There is a setting for Remove documents not modified in the last xx days. This is not normally checked, uncheck it if it is. Put in the number zero (0) and close the dialog box. Wait for the deletion stubs to be removed. Open the Replication Settings, Space savers tab, and put in the oild number. (Thanks Lars for the supplement)
  11. Update any credits page that you may have which gives credit to other developers who have contributed to the project.
  12. Update the release notes for the project to reflect bug fixes and enhancements which have been included in the release.
  13. Make sure that any scheduled agents are not set to run on inappropriate servers.  One way to avoid problems is to have the agents set to select the server when the agent is enabled. Of course you should make sure that all scheduled agents are disabled in the release database.
  14. Recompile all LotusScript.
  15. Compact the database.  If you have Domino Administrator, you should use its compact functionality so that you can select the option shown here:

A picture named M2

Comments

1 - changing database settings nsert more here
should read:
changing database settings : Go to Replication Settings, Space savers tab. There is a setting for Remove documents not modified in the last xx days. This is not normally checked, uncheck it if it is. Put in the number zero (0) and close the dialog box. Wait for the deletion stubs to be removed. Open the Replication Settings, Space savers tab, and put in the oild number.

Tip: this parameter is also a tuning point. For single replica or high volume databases, turning this dial lower will keep less old cruft around. If you need robust replication, even if very infrequent (say once every 4 months) make this number larger.
If you replicate a db whith the deletion stubs removed, the 'deleted' documents will reappaer as they are present in the old db.

Cheers,

Lars

2 - Kevin, I have used the command line copy on XP Clients to drop indexes and such from a command window. I think I had to stop the client, then open a cmd window and cd to the executables, then invoke ncompact (insert commands here). Seemed to work ok, if you don't have an admin client/server available.

Post A Comment

:-D:-o:-p:-x:-(:-):-\:angry::cool::cry::emb::grin::huh::laugh::lips::rolleyes:;-)

Your Host

KevinPettitt.jpg
Kevin Pettitt View Kevin Pettitt's profile on LinkedIn

Tools I Use

Idea Jam

Subscribe to This Blog

 Full Posts  Comments

MyYahoo
netvibes Add to Netvibes

Contact

Hosted by

OpenNTF

Disclaimer

This site is in no way affiliated, endorsed, sanctioned, supported, nor blessed by Lotus Software nor IBM Corporation, nor any of my past or future clients (although they are welcome to do so). The opinions, theories, facts, etc. presented here are my own and in no way represent any official pronouncement by me on behalf of any other entity.

© 2005-2017 Kevin Pettitt - all rights reserved as listed below.

Creative Commons License
Unless otherwise labeled by its originating author, the content found on this site is made available under the terms of an Attribution / NonCommercial / ShareAlike