Custom reports are reports that you define yourself. You can base custom reports on existing algorithms and algorithm groups or new ones that you write yourself. For example, suppose you are preparing to migrate to Windows 7 and a 64-bit platform and want one combined report rather than separate reports for each platform. You can create a custom report that is based on the algorithms in both the Windows 7 and the 64-bit reports. You can also create new algorithms based on your own specialized knowledge of your environment. This topic supplements the Custom reports topic with key considerations when creating custom reports.
AppDNA does not restrict the number of custom reports that you can create or the number of algorithm groups you can add to a custom report. However, each additional custom report adds to the size of the database and adds another column to the Overview Summary report. This can eventually lead to the Overview Summary report becoming unreadable or all of the available disk space being used up. Similarly each algorithm group adds a column to the Application Issues report view and a bar to the bar chart in the Issues View. These can become unreadable if you add too many algorithm groups. The Application Actions report view and the Actions View can be affected in a similar way if you add too many algorithms.
The Custom Reports Manager screen is flexible and it does not restrict you from adding a mixture of web and desktop algorithms in a custom report. Similarly, AppDNA does not restrict which applications you can analyze against a custom report. This means that it is possible to create a custom report that mixes algorithms from the IE and Windows 7 reports, for example. You could then analyze both desktop and web applications against this custom report. Depending on the algorithms involved, this may not make much sense.
Some of the AppDNA algorithms test applications for dependencies on features that are provided by the operating system (OS). When relevant, these tests interrogate the OS image DNA that has been loaded into the AppDNA database – for example, to find out whether features have been enabled in the image. These are called image-dependent algorithms.
If you add any image-dependent algorithms to a custom report, AppDNA adds an entry for the custom report to the OS image settings. Use this to select the default OS image for the custom report.
For an overview of how AppDNA uses OS images, see Operating systems.
AppDNA comes with a number of templates for creating new algorithms in custom reports. When you create a new algorithm that you define yourself, you select the template you want to use from a drop-down list on the final page of the New Algorithm wizard (as described in Create custom reports).
Each template defines an issue that, when found in an application, triggers the algorithm. The template defines a generic issue and you enter a specific value. For example, if the generic issue is that the application contains a particular file or installs to a specific path, you enter the particular file or path that causes the problem.
The templates provide an example value that you then edit to meet your specific requirements. You can use the percent sign (%) as a wildcard character to match zero or more characters. The following table lists the templates that are available and the example value.
|Application triggers algorithm if||Example value|
|It has a specific file||filetofind.ini|
|It installs to a specific path||D:\SomePath%|
|It sets a specific registry entry||HKEY_LOCAL_MACHINE\Software\MyApplication|
|It has an INI file that contains specific contents||FileContentMatchString|
|Its installer contains a custom action with specific contents||CustomActionMatchString|
|It imports APIs from a particular file||msvbvm%.dll|
When using the registry entry template, you can search for a key and value name. To do this, prefix the value name with two backslashes (\\). For example, to find all services with a port value, use: HKEY_LOCAL_MACHINE\%services%\\port.
Advanced users can create raw SQL queries to define the logic for new custom report algorithms. However, Citrix cannot guarantee that these will work in future versions of AppDNA because the structure of the database may change from version to version.