Interface functionality: managing databases and datasets
When you have opened the data node of your Collections application in the Application browser (see Accessing the database setup), you can edit the properties of each object, but you can also do some object and file management in the tree view. For database and dataset definitions you can do the following:
Find in application tree
To search for a term in the tree view of the Application browser, choose Edit > Find (Ctrl+F) or click the button for it:
In the Search for entry field, type any term or part thereof that you want to search in all of the text displayed in the Application browser tree view.
If the term you type is only part of a word or words you look for, then deselect the Match words option.
Leave the Match case option unmarked if upper and lower case are not important while searching.
Click Find to start the search. A found term is highlighted. To search a next appearance of the searched term, each time click Find next, press F3 or click the button for it:
Moving and copying
Parts of an application in the tree view can be moved by cutting or copying a selection and pasting it elsewhere. Right-click an object and choose Copy (Ctrl+C) or Cut (Ctrl+X) in the pop-up menu. Then select another list or folder, right-click it and choose Paste (Ctrl+V) in the pop-up menu. This way, you can copy an entire database definition and all the objects in it to a different folder. If you copy a database definition to the same folder it originated from, you'll be asked if you want to overwrite the existing file: choose No to paste the file under a different name (which you can adjust later and you'll also want to change the file name of the copied .inf in Windows Explorer after you've closed Designer). If your application is connected to a SQL database, a SQL data table and some associated tables will have to be created too. You can do this easily by right-clicking the new database definition and selecting Clear database in the pop-up menu. It will also create all required index tables. Be sure to apply the Clear database option only to the new database definition, not to your other database definitions as it will empty the relevant SQL tables! It would be wise to create a backup of your SQL database before using this option.
Always paste a copied or cut object on the header node of the list you want to paste it in. If the object already exists in the list, Designer will let you choose between overwriting the existing object and adding the copied or cut object to the list (or cancelling the entire action).
You can also drag objects from one list or folder to another (to where the mouse pointer displays a +). (Dragging means clicking an object, keeping the left mouse button pressed down, and moving the object some place else, and then releasing the mouse button.) Dragging a database or dataset definition means copying it. Always drag an object to the header node of a list, to add it to that list. If you drag an object to a similar object in a list, that object will be replaced!
New items can be created. In the tree structure, select the folder or the object in which you want to create a new folder or new object, and create the object through File > New, or right-click the folder or object and choose the new object through the New option in the pop-up menu. What objects are available in the New menu depends on the node that you selected. For instance, to create a new dataset in a database, you must select or right-click the database name or the Datasets list header, not a dataset. Feedback database references must also be created underneath a database node. A new database definition itself can be created from the data folder node: after you provide a name for the new database definition, an .inf file with that name will be created automatically and if your application is connected to a SQL database, all relevant SQL tables will be created automatically too and the Data storage options in the new .inf will be set identical to those in the other database definitions.
Database and dataset names are not limited to 8 characters but shouldn't contain spaces.
In some Designer tools, like in the Application browser for a selected database definition or application definition, or in the Import or Export job editor, or the Record lock manager, it's possible to generate documentation about the currently selected object or the list of objects, by choosing File > Create documentation or clicking the button for it:
A Documentation window will be opened with a detailed description of the structure of the selected object. For a database definition for instance, this information comprises data on the database, its datasets, fields, indexes and links. And the documentation for an application will contain a detailed overview of its properties, menu texts and data sources.
The overview is nicely laid out, but if you rather have the bare XML view, you can switch to it through the View menu.
In either view you can print the file via the menu or the Print documentation button, or save it as XML file.
You may also select the text, or part of it, with the mouse cursor, and copy (Ctrl+C) and paste it (Ctrl+V) in any other document.
From Designer 7.1.14255.1, the View menu in the Documentation window for a selected database structure also contains the Fieldlist to CSV option. This option generates a .csv file containing a field list with some field properties. The header line contains the property names. For example:
Even more formats have been made available in more recent Designer versions. In some cases you may find the CSV types of documentation a better cross reference than the information produced by the List or XML option.
Database information formats available from Designer 7.11:
Application and Image Field List (CSV) - A list of all fields of the Application or Image data type, with their data type-specific properties. Use this report to check if Application and Image field properties are set in a consistent way throughout the application.
Autonumber Field List (CSV) - A list of all automatic numbering fields with their numbering properties.
Database Info - Comparison Mode (XML) - All database properties in an XML structure, with the indexes and fields sorted on tag. This report does not contain any metadata information on the database definition file itself, nor information on the SQL database storage, since this is not part of the database design. Use this report to compare different versions of a database definition. Compare the reports from the different database versions in a text editor like Notepad++.
Database Info - Sorted On Name (XML) - All database properties in an XML structure, with the indexes and fields sorted on name. Use this report as an alternative to compare different versions of a database definition, especially when field tags have been changed between versions, but the field names have stayed the same.
Database Info - Sorted On Tag (XML) - All database properties in an XML structure, with the indexes and fields sorted on tag.
Enumerative Field List (CSV) - A list of all enumerative fields with their enumeration (neutral) values and translations. From Designer 7.13 this list also includes the Enumeration source, the Enumeration sort and Enumeration source field settings.
Feedback Database Definitions List (CSV) - A list of all Feedback database definitions with their format strings. Use this report to check if feedback database format strings are set in a consistent way throughout the application.
Field Access Rights List (CSV) - A list of all fields with access rights, and their access rights details.
Field List (CSV), Field List - Dutch (CSV), Field List - French (CSV), Field List - German (CSV) - A list of all fields with their main properties. The language list versions include field name and default value translations for the selected language.
Field List for Migrations (CSV) - A list of all fields that can be used as a basis for an Axiell Migration mapping template. The report includes columns to (manually) assign a destination tag and field name to each field, and a column to indicate the field can be ignored during the migration process. The Notes column contains relevant field properties for the mapping process, like the linked database, the link type (single-side, reverse, internal), and the connected linked and link reference fields. The report includes mapping suggestions for specific field types:
• | Include fields should be assessed manually (especially the definition differences from the general field definition. |
• | Temporary fields are set to “ignore” by default. |
• | Context fields are set to “ignore” by default. |
• | Merge fields are set to “ignore” by default. |
• | Linked fields are set to “ignore” by default, with the advice to map the link reference field instead. |
Field List With Index Information (CSV) - A list of all fields with their main properties, as well as index definition details (when available).
Field RecordType Access Rights List (CSV) - A list of all fields with Record Type access rights, and their rights details.
Linked Field List (CSV) - A list of all linked fields with all their linked field-specific properties.
Linked Fields with Relation Texts List (CSV) - A list of all linked fields with a note on how the link is displayed in the Collections Related Records View.
Multilingual Field List (CSV) - A list of all multilingual field with their main properties.
RTF Field List (obsolete field type) (CSV) - A list of all fields of the RTF data type. This data type is no longer supported and should be replaced by either HTML or Text. Use this report to find out if the application contains fields using this obsolete data type.
URI Field List (CSV) - A list of all fields of the URI data type with their data type-specific properties.
Extra database information format available from Designer 7.13:
• | Numeric field list (CSV) - The report includes all fields of the Numeric data type and focuses on the Numeric field properties. It could be useful when you want customisations in numerical fields regarding the number of decimals and/or zero-padding. |
Note that the Documentation window display doesn’t respect the line endings in the generated .csv file, but that the file does contain line breaks, as you can see when you save the file as a .csv file and open it in MS Excel. (Contrary to the screenshot above, all lines are typically displayed consecutively in a single sentence if the window is wide enough.)
Also note that, to save this documentation as a .csv file, in the Save documentation as dialog you have to type the .csv extension behind the desired file name and set the Save as type option to All files.
But that’s not all. The View menu in the Documentation window does not only show the List, XML and Fieldlist to CSV options, but also any other custom XSLT stylesheets in the \DatabaseInfo subfolder of your Designer \Xsl folder. In there, you can already find the FieldListToCsv.xsl stylesheet. You can copy this stylesheet and adjust it to your liking or build an entirely new one based on the XML version of the documentation (there’s no .xsd available currently), to create your own type of database cross reference.
The zipped version of Axiell Designer which you can download from Hornbill can be placed anywhere on your system or network, so you will know where to find it. When you install a new version of Designer, probably in a different folder, you just have to copy your custom stylesheets from \Xsl\DatabaseInfo in your old Designer folder to the same subfolder in your new Designer installation and you’re done.
Deleting objects and clearing databases
Select any node in the tree view (a folder, a database definition, a dataset definition etc.) that you want to delete and either choose Edit > Delete, or right-click the object and choose Delete in the pop-up menu, press the Delete button on your keyboard, or click the Delete button in the toolbar:
Note that deleting any object that has sub-objects, also removes those sub-objects. Folders are deleted along with their contents too. Deletion of files is permanent: you cannot restore deleted files from Windows' recycle bin. Deleted sub-objects within the database definition, can be restored by not saving the changes in the concerning .inf file when you close Designer.
If you want to clear the contents of a database (the relevant tables in a SQL database, including any saved search tables) or of all databases in a folder (to remove all data in it), you may do this either by right-clicking the database, respectively the folder and choosing Clear database or Clear all databases in this folder in the pop-up menu, or select said objects and choose File > Clear database to obtain the same result. When you clear a database, all its indexes will be emptied too. When clearing all databases from the \data folder node at once, the wordlist (which is shared among all databases) will automatically be reinitialised (emptied) too. Note that clearing all databases from the folder node only recreates the application_settings SQL table when you've started Designer as administrator. Log out of all Collections instances before you clear a database.
Before clearing any database, a dialog will pop up asking for confirmation. Click OK to empty the selected database(s), and its/their index tables. So all data saved in records will be removed. Your database structure (the .inf file) will remain intact.
From Axiell Designer 7.0.0.2 there's also a Clear dataset option available. The Clear dataset option clears the content (all data) of the selected dataset from the corresponding SQL data table and the accompanying index tables and the record access table. The function is available in the context menu for a dataset in a SQL database only, and compliments the Clear database option which clears the entire database. You will be asked for confirmation before the relevant tables are actually emptied.
You cannot undo this action. Click Cancel to cancel clearing the database(s) and keep your data.
The Clear database option can also be used for creating a new data table and some other required tables in your SQL database, for a copied (and renamed) database definition (.inf). Apply the Clear database option only to the new database definition! It would be wise to create a backup of your SQL database before using this option.
Create missing tables function for incomplete SQL databases and for optimizing database performance
When you run Designer in administrator mode* - do that by right-clicking AxiellDesigner.exe in Windows Explorer and then select Run as administrator in the pop-up menu - the right-click pop-up menu for the \data folder or a selected .inf in the Application browser now has a Create missing tables function. If tables are missing from the SQL database for whatever reason (if accidentally deleted, if new indexes were not reindexed or if a new table structure was not fully processed for example), then use this option and Designer will check the SQL tables against all the .inf's and their index definitions and will add (and reindex) any missing tables. Even if you think there's nothing wrong with your SQL database, it may help improve search performance in the database to run this option because over the years several improvements have been implemented in the SQL database structure, such as a SQL index on the modification date of records in the main data tables for faster retrieval of records when searching on that date.
(Do create a backup of your database before running the function or tool.)
* You do not have access to network shares when you run Designer in administrator mode, so the Designer folder has to be on the same server or computer as your Axiell application.
See also