By Larry Barker
Delta comparison, or "diff" as it's affectionately known in coder circles, is the Sherlock Holmes of the developer's toolbox. It uncovers the mysteries, the changes or differences (our dear "delta"), between two or more software versions, codebases, or datasets. Given that software development has more iterations than a stubborn cat trying to find the perfect spot to nap, keeping track of changes from one version to the next is crucial.
By narrowing down the specific changes that have occurred, developers can swiftly identify and rectify issues without the need to comb through the entire codebase by hand (or by eye). Additionally, delta comparisons serve as a clear record of alterations made, fostering a more transparent and cooperative development environment. The magic of delta comparison lies in its phenomenal ability to save time, elevate collaboration, and organize code management in ways of which even Marie Kondo would approve.
HCL Notes Database Comparison Tool
Building upon the concept of delta comparison, HCL Domino 12.0.1 introduced a new set of templates to help facilitate application design comparison. The HCL Database Comparison tool templates may be found on your Domino server. Specifically, the 'Comparedbs.ntf' template may be used to create delta comparison configurations and reports. The same database is also used for Design Synopsis and documentation discussed previously in our Design Auditing blog post.
You can compare the design of two Notes databases or templates and generate a report that is saved within the database. Some of the options include the ability to:
Exclude documents from the comparison.
Integrate the reports that are generated with source control applications such as Git or Jira.
Use a diff tool of your choice rather than the built-in tabular report that shows differences between source and target.
Generating a comparison report is a straightforward process. After selecting the 'Code Review' action, you will encounter the configuration form pictured above. Here, you can specify the source and target templates on which you wish to run a 'diff' comparison. The form also allows you to set specific properties for the report and its export options, including some advanced form key field attributes. For a deeper understanding of these features, please refer to the earlier linked HCL documentation.
When all is set, click the 'Create Report' button to produce the delta comparison report. You can then access this report through various built-in views within the comparison tool application.
The differential report generated by the HCL Comparison tool expresses the element design attributes in Notes' built-in DXL syntax. You can use this to identify differences between the source and target designs and have it all neatly captured for later reference and review. The new comparison tool provides a good starting point for enabling delta comparison capabilities within your application development workflow, as long as you don’t mind having everything expressed in DXL.
Delta Comparison From Within Designer
To some Notes developers, reviewing differences in DXL might feel a bit like trying to read the assembly instructions for a piece of IKEA furniture - plenty of head-scratching and "lost in translation" moments. Maybe you're just trying to do a quick compare-and-merge, filter out CD record details, or even attempt to visually spot variations in UI components like a design whiz. There is no need to fret or fear the dread of a flat-packed DXL file.
With Teamstudio Delta, you can enhance your ‘diff’ game further. It offers a straightforward and intuitive process to execute and interpret differential comparisons. The results? They're displayed in a highly customizable user interface that adjusts to fit your unique needs. This allows for a more personalized, efficient inspection of results, catering to the diverse demands of your projects.
Acting like a magnifying glass for your code, Delta empowers you to explore beyond big-picture differences between two designs. With just a few clicks, you can dive deep into the nested intricacies of element attributes, examining differences at the CD record level for more granular analysis. And for those instances where certain details can be overlooked, there's an adjustable smart filter to fine-tune your results, focusing on the aspects of your code that truly require your attention.
Should you wish to venture beyond comparing differences between element attributes, Teamstudio Delta is equipped to handle that too. It allows you to examine the visual or User Interface (UI) aspects of the designs. In addition, you can conduct detailed, line-by-line comparisons between script libraries and or code. All these features are handily available within the same browsable UI.
Once you've zeroed in on the differences that matter to you, there's more you can do than just look. With a swift click, you can merge differences between templates, implementing instant changes. And if you need to capture those changes, we've got you covered. It's only logical that we'd integrate Delta with our popular Teamstudio CIAO! product, allowing for a seamless transition into a version management system.
The Database Compare tool in HCL Domino 12.0.1 is great for assembling basic differential reports expressed in DXL—it's got you covered for many scenarios. But sometimes, you need something that's a notch or two above. Sure, we can do that static report as well. But Delta is a tool designed to whip up an instant, easy-to-navigate 'diff', bundled with a bunch of handy productivity extras. It's just the ticket for a more streamlined application development workflow.
Piqued your curiosity? Drop us a line anytime. Whether you have questions or fancy a demo, we're all ears!