Product features

Automation in Conquest tools

Automate what can be automated
That's one of the best conclusions we've ever made working as an agile team. This addresses everyone from a lead product developer to a junior technical writer. Along with being time- and cost-efficient, automation should also be easy and fast to introduce in the existing workflow. With this in mind, we automated part of the frequently used procedures in the Conquest products, and attempted to make the automation UI&UX simple and intuitive.

In ClearDB Documenter and ClearSQL, the automation feature is implemented in as a Job & Schedule Manager. First, you create a job for a procedure you want to automate. Second, you set its frequency. Ta-da, that's it! Well, there are some settings you might want to configure, too. Let's now take a look at the real examples from both products.
ClearDB Documenter
Automate report generation. The procedure is similar to manual: connect to a database you want to document, select DB objects, and define generation and content options. The only difference is that as a first step you need to create a job and schedule its execution: one time, daily, weekly, or monthly. This is most helpful when you need to receive regular database reports for the same database. Though scheduling is not mandatory. You can as well run the job on demand and proceed working in ClearDB Documenter because the job will run in another instance. In addition, there are options to automatically close the app or power off the PC after the job completion, or run it in the background.

The automation of report generation is a great saving, especially for large databases containing thousands of objects. Schedule a job to run nightly, and by the morning you'll get a fresh database report to read over a cup of coffee.
The mechanism is the same, but gives more opportunities for automation: code analysis, project report generation, and export of analysis results.

There are two types of a job you can create:
Based on an existing project
Choose this type to analyze scripts from one of the projects you previously created in ClearSQL. The job can synchronize and analyze the project, generate an HTML report, and export the analysis data. All data produced as a result of running such a job will later be available from the ClearSQL's UI.

You do not necessarily need to include the whole project into the job. Uncheck odd scripts in the Project Tree, loaded to the Job Manager, and save the selection.
Based on an embedded project
Choose this type if you only need an analysis report and export analysis data. A project is created on the fly and will be available in the job only, i.e. you will not be able to upload it to the ClearSQL's UI.
Bidirectional script synchronization is available for both job types. By "bidirectional" we mean refreshing project scripts from their sources and writing changes from project scripts back to their sources. You've got to be careful with these two because the changes cannot be undone. For more details about the bidirectional synchronization, better check out this post.
A project analysis report has a similar structure and look&feel as a database report generated in ClearDB Documenter. It is also generated in HTML, has a hierarchical structure, and contains code audit and code review information for each project script. Code illustrations are included as well. The report is available not only from the job, but also from a standard mode, and there's an option to save the report settings to a file for further reuse.

Analysis data export works with Summary tables that are generated during project analysis and are shown on the Summary tab of the main window, e.g. Average Subprogram Cyclomatic Complexity, Code Metrics, Parser Errors, Top Violated Code Review Rules, etc. The data can be exported either from the project or script level in HTML, CSV, XLS, or XML formats.
There is also an option to create a standalone batch file to initiate job execution via a command line script from a third party scheduler. Soon this feature will be added to ClearDB Documenter as well.
There is a feature to record macros – a series of keystrokes and mouse movements and clicks. First, you record a certain sequence of actions, and then play it to complete the task without your interference.

Also you can use command line parameters to open and control the application:
CONNECT – starts the application and either automatically connects to a database or skips the connection.
EXECUTE – starts the application and automatically executes the selected script in the SQL Editor.
FORMAT_SQL – formats a file using the Code Analyzer without starting the application.
AUTO_TERMINATE – automatically closes the application after an operation completes; can be used with the EXECUTE parameter.
Check out the benefits of automated procedures yourself – download ClearSQL, and SQLDetective and enjoy. Good luck!