Tech Tip: The Ten Most Frequently Asked Frequently Asked Questions about CIAO!

Weird as it may sound, that headline is not a typo. Teamstudio CIAO!, our source code control system for HCL Notes and Domino, has many frequently asked questions, so we thought it would be useful to publish the most frequently asked of those frequently asked questions. Confused? We hope not.

Of course, our friendly technical support team is always available to answer any questions you might have about CIAO! (or any of our other products). But if there’s something that’s been bugging you and you just didn’t have the urge to open a ticket, or maybe you’re just curious, we hope this list might prove useful. So we asked the tech team what the most frequently asked questions about CIAO! are. Here’s what they told us.

1. 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 the recommendations in this IBM Redbook on the subject of configuring development, QA and production servers.

2. We have a distributed development environment. How should CIAO! be set up?

CIAO! can work in a distributed development environment even though any design can only by watched in one place (it’s a centralized SCC solution). We strongly recommend that you contact us to discuss your environment so we can help you to work out what options are available for your specific situation.

3. Can we replicate the configuration and log databases to other development servers or locally?

No. CIAO! uses the database ID and the full path to identify which databases to watch, so any other copies of the designs being watched will be considered to be completely different. This is why CIAO! does not work on clustered servers.

4. We have different versions of CIAO! in use across the organization. Is that a problem?

This is not an ideal situation and we strongly recommend bringing everyone up to the latest version. Although small discrepancies between versions of the client are unlikely to cause a problem, if you are using CIAO! Server, all developers should use the same version of the CIAO! client as the CIAO! server module, as well as the CIAO! config and log databases.

Additionally, the CIAO! client must be a version that supports the version of Domino Designer being used. Please check CIAO! release notes before upgrading Designer to a new version.

5. We don’t use templates. Is that a problem?

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. So we do recommend the use of templates as a way of controlling releases.

6. Should we keep full copies of our data in our development databases for testing purposes?

This is not necessary and will negatively impact CIAO! performance. We recommend the use of 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 perform basic testing in an NSF on the development server before promoting to test.

7. 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 approach should only be used when the designs being watched hold lookup or configuration data that will not change once the database leaves development.

8. Can I use CIAO! to watch a database in production that contains critical data?

Although this is technically possible, we do not recommend it. CIAO! is designed to work in the development environment. Source control is not a recommended process for test or live production environments.

9. What is the purpose of the CIAO! client?

The CIAO! client serves as the primary 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.

10. What do the CIAO! Config and Log databases do?

The CIAO! configuration database is the heart of CIAO!, it controls what databases are watched by CIAO! and in what ways. It controls where the log is that contains all the database versioning information, plus it can be used to initiate 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 databases contains all the versions of all design elements and the entire database. It is the central repository of design changes that is used for audit reports and rolling back to previous versions.

Of course you should back up the config and the development database, but 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 considered best practice to have one CIAO! log for each development database to ensure the size of the log does not grow too large. Very large log databases negatively impact the performance of CIAO!

Still have questions?

Click below to contact our friendly support team. We’re always happy to chat!