BaseElements is designed to work within the data structure of your actual data, so the reports available are deliberately setup for functions you can't get directly from the data. There are two reports :
- Change Report
- Consolidation Report
Reports are available from the Home screen.
Once the report has been run or selected, all of the records generated for the report are available to view as either a standard FileMaker List or Table. You can search within the report, or even across multiple reports. As well there is an additional Notes field and a checkbox, for you to keep track of changes that are made, or other notes about the report items.
All List view Report layouts ( as well as all list layouts across the entire system ) have a matching print layout already. You don't need to perform any special actions to print a report layout, when you invoke the Print menu item, either via shortcut key, or via the menu, it will automatically take you to the correct print format layout, and go through a scripted print process. The Print layouts don't display in the Layout Menu by default, but you can edit them yourself or look at the details used by going into Layout mode first.
The Change Report will compare a file in two different Analysis of the same solution and tell you what changed between each version.
To run this report select and Old and New Analysis, and also an Old and New File within that Analysis.
The comparison report only looks at functional differences, and not aesthetic ones. So for example, it will tell you if a field is used on a layout. It won't tell you if the field is moved around on the same layout, or there are more copies of that same field added, or if you change the formatting of the field. It looks generally at total lists of elements used on a layout.
So it will list every field used on a layout across all the various options ( e.g. buttons, formatting, fields, text etc ). It only lists each element once and won't compare an element used in different places.
The Consolidation Report is a step by step process for moving sections of one file to another. It was developed primary as a tool to merge a multiple file solution into a single ( or at least fewer ) file solution. It runs with the data from a single Analysis, and you select a Source File and a Destination File. You can also optionally select only one or more tables if you're moving a table from one file to another.
The consolidation report is a highly optimised process that allows you to do these large scale migrations with a minimum of effort and with minimal renaming or breaking of your existing functionality. There are a lot of built in smarts that optimise when to do certain changes and what changes are dependent on what other sections being done.
All of the various steps are outlined below, and you can perform these manually if you wanted, but the Consolidation Report puts all of these into a simple, easy to follow checklist.
- Create File References that don't exist in the new file, making sure to match by name, so that a Reference to File A has the same name in both Files.
- Create Custom Functions. You need to be careful in terms of checking for dependencies in Custom Functions. It's simple to copy and paste, but you also need to be aware that Custom Functions can refer to fields and you may not have access to the fields yet. Where there are any issues create the Function but leave the calculation empty, or make a note inside the calc to resolve this later.
- Create Value Lists. If a VL with the same name exists, then : 1) If it's an external VL pointing to the other file and it's custom, make it the same custom values as the other file. 2) If it's based on fields, leave it as is. 3) If it's Custom Values, and is different from the other one, you will need to rename one or both. 4) If it's external and points to another file, you'll need to rename the original one, and create a new VL with the same values and the same name. If any of the VLs to be created need fields, mark them to be fixed later.
- Check you don't already have a Table with the name of each of the Tables to be created, and also check that there aren't any TOs with the same name as the Table to be moved. If any exist, rename them in the Destination file.
- You then create TOs in the new file to match the graph that you are moving, for every TO except one - the only one you don't create should be the "base" TO and should have the same name as the Table. Use File References to have all of the TOs pointing to the correct Base Tables. Do not create any relationships between these new TOs, you essentially create the Graph without any joins. It's easier if you put things in the same positions if possible. You also don't need to create a TO for any table that only has a single TO, and where that one TO is the same name as the Table.
- Copy and Paste all of the Tables in the old file into the New. This will also create a TO for each of the Tables, and a layout. Note, that all of the Calculations will still work, even though the Relationships between fields don't exist.
- Join up all of the Relationships that were missing in the Graph.
- Change any of the Base Tables for the TOs you created earlier, to move anything that is coming out of the old file to be TOs for Tables in the current file. Change them to use the local file, not a File Reference.
- Go back to your ValueLists and repoint any that were using Fields to use the new local Tables.
- Go back to your CustomFunctions and put back any calculations that used Fields that were left empty before.
- Create all of the Layouts that were in the Source file, but leave them empty.
- Create all of the Privilege Sets that exist in the new file. If there are special Privileges for Scripts, leave this section aside until later.
- Create all of the Custom Menu Sets, but leave them empty if they use Scripts.
- Copy and paste all of the Scripts.
- Import Any Themes that are required.
- Change the Layouts and setup the Layout parts and sizes.
- Copy and Paste all of the Layout objects.
- Add any Layout Triggers.
- Alter any Privilege Sets that used special Privileges for Scripts.
- Alter any Custom Menus that use Override actions and call Scripts.
- Change all of the script steps that call scripts in the old file to point to the new local file. These will be local scripts, but also scripts in other files that need to be changed from the Source to the Destination.
The advantage of using the comparison report is that it will outline all the specific ValueLists, Functions or Steps that require special treatment. It knows which ones require that they be altered after creation, or which ones will be affected by the process. You can find these yourself, but the report makes it easier.
Once you've done all of the grunt work of moving the details, you should run a new DDR and import of all of the files ( including the now old, no longer required source file ) into BaseElements. You want to check for errors in the Destination that weren't there before in case any mistakes were made.
You also want to look at any references that point to the Source file. You want to go through each File Reference and change the places that use this Reference until each it is no longer used anywhere. At that point the Reference can be deleted. Once you've no longer got any References pointing to the Source file you have detached it from the solution and it can be excluded.