Our development server is also our test server.
This is not good practice. You will gain far more efficiency and productivity by having a dedicated development server and a far more thorough, reliable testing process by having a dedicated testing environment. http://ibm.co/1hTEzdc
Our development server is part of a clustered pair, will CIAO work?
CIAO will not work within a load balancing cluster, but can work within a failover cluster if care is taken to ensure that the log does not get fragmented when the main server is not available.
Development servers rarely require clustering. If you have a cluster for testing purposes and use the same cluster for both testing and development then you should consider setting up a dedicated development server as per Best Practice recommendations http://ibm.co/1hTEzdc
The CIAO configuration database is the heart of CIAO, it controls what databases are watched by whom and in what ways. It controls where the log is that contains all the database and versions, plus it can be used to initialise promotions to the next environment.
On a single development server there should only be one configuration database on the server, with none locally. This is because any database being developed should only be watched in one configuration database to avoid fragmentation of the log.
The CIAO Log contains all the versions of elements and the whole database. It is the history of design changes that gets used for audit reports and rolling back to previous version.
Although you should back up the config and the development database, it is imperative that the CIAO log is backed up as the history it contains can’t be recreated without redoing the development work.
It is best practice to have one CIAO log for each development database to ensure the size of the log is not too big. Very large log databases affect the performance of CIAO.
We have a distributed development environment.
CIAO can work in a distributed development environment even though any design can only by watched in one place. It is best to discuss your environment with us to work out what options are available for your organisation’s situation.
Can we replicate the config and logs to other development servers or locally?
No. CIAO watches databases by DBID and the full path so any other copies of the designs being watched will be seen as completely different. This is why CIAO does not work on clustered servers.
The CIAO client is the interface for the user. With a full CIAO system in place the client is the only way to get your changes saved.
The client watches changes made by the developer based on the Notes location (Office, Home etc). Each location can be set to use a different CIAO config database, or to switch to a CIAO config database based on the target database’s server. Care must be taken not to make changes to a watched database from a location that has not been CIAO enabled as the changes may be lost.
We have different versions of CIAO in use across the organisation.
This is not an ideal situation and can potentially inhibit the developers. Although small discrepancies between the versions are unlikely to cause a problem, all developers should use the same version of the CIAO client as the CIAO server module, as well as the CIAO config and log versions.
Additionally, the CIAO client must be a version that supports the version of Designer being used. Please check CIAO release notes before upgrading Designer.
We don’t use templates.
CIAO won’t have a problem with watching an NTF or an NSF but if you don’t have a master copy of the design permanently in development for CIAO to watch, then every copy of the design created that is put under CIAO control will be seen as a completely different database and will record changes into the log for that database rather than with the previous changes.
Our development databases have full copies of our data for testing.
This is not necessary and will impact CIAO performance. Use a dedicated testing environment for thorough testing. In development you can use a small amount of data to ensure changes basically work before being promoted to the test environment. Alternatively, develop in an ntf and do basic testing in an nsf on the development server before promoting to test.
Can I use CIAO to watch a specific database with critical data?
CIAO is designed to work in the development environment. Source control is not a recommended process for test or live production environments.
Can CIAO watch profile, lookup or configuration documents?
Profile documents are seen as part of the design and can be watched by CIAO without any modification. Lookup or configuration documents are data notes rather than design notes and are ignored by CIAO by default.
It is possible to get CIAO to watch them and the process is documented in the user guide. However, CIAO is not designed to watch live databases so this functionality should only be required when the designs being watched hold lookup or configuration data that will not change after the database leaves development.