BaseElements is made by the folks at Goya who have been doing amazing things in FileMaker for years. They refer to BaseElements as “The database for your database” and that is one of the strongest selling point of their tool. The whole thing is just a FileMaker database.
That means you get layout access and can change or link the database in most ways you would want, allowing a developer to deliver custom reports with their own labeling and logos if desired.
We are having a junior developer at our company run each tool through it’s paces, and these were his thoughts:
BaseElements looks very user friendly and it is. … Overall I think BaseElements is useful. It only took around 2 minutes to generate the report. I do not mind the wait if it brings an accurate report of all the errors.
He noted the readme was helpful, and that the reports gave a pretty detailed explanation of the system.
For our testing we are running a client’s system through that they developed in house, converting, upgrading and improving from FileMaker 3 on to FileMaker 16. We are expecting a lot of errors and are getting a lot, which is a good test of a tool like this.
Let me give you the rundown of what the tool reported for our test system:
Time to evaluate:
1 minute 55 seconds
- Custom Functions
- Data Sources
- Table Occurrences
- Layout Objects
- Script Steps
- Privilege Sets
- Extended Privileges
- Menu Sets
- Value Lists
As far as features go, BaseElements, as all these tools do, has a wide array of features, but the three that stood out to us were:
- Built as a FileMaker database
- FMSearchResults integration
- Great developer reporting
We talked about how nice it is for the tool to be in FileMaker already, but using FMSearchResults is a great idea. FMSearchResults was sold by SeedCode for a while although now it seems to be gone from their site. It was a great tool for enabling a simple-to-use, multi-table find into a solution. There is a YouTube video here on its use if you are interested in how it works.
The search works flawlessly in their system. You enter a search criteria in the quick-find box and it returns a result of all occurrences of that term across all concepts in your system. I would like to see the elements searched documented a little more obviously, since you don’t actually have access to run script debugger on the BaseElements file.
The reporting is a whole feature that I didn’t expect. They have reports to help the developer consolidate files, compare analysis of multiple versions and even evaluate the top call statistics from your FileMaker server.
On the topic of ease of use, BaseElements sets the bar pretty high here. You are walked through your first import, prompting you to name the version of your import, the client and the import run. It even has a nice progression of the items being evaluated.
The UI is great as well. Clean, good use of white space and it is easy to follow. This is not a simple task given the complexity of the evaluation it does.
One minor squabble may be that their layouts aren’t a consistent size. If I try to keep the window as small as possible, as I navigate through the system I hit layouts that will scroll if I don’t resize. It would be a nice extra measure if they would pick a standard window size and scale everything to fit that. Layouts resize up in size quite well however, and this is a very minor issue for most usage in the world of multiple monitors.
As you can see in the image to the left, our test evaluation found 634 error, 317 referenced items, 90 warnings and 8,099 performance level issues. That sort of breakdown on the evaluation is very nice to see.
For BaseElements, errors are things like missing field references and the error gives a very detailed evaluation of the cause. Language like this:
Unreferenced items are just what you’d expect, and it is nice to see them listed separately. Its commentary tells you what you can do, and reminds the user that items could well be referenced by items outside the analyzed solution (websites, external file, etc.).
Warnings are for things like cascade deletes, fully commented out scripts and the like. Very helpful to know items, but things that are likely not obviously breaking your system.
Performance items are a great thing to attempt to show. In our test system it pointed out a custom function that was recursive and gave a great description of why that may be an issue. It also pointed out custom CSS styling at the object level, an issue that can have compounding effects.
Overall I would say I am very impressed by the tool. Their insight is fantastic, their interface is great and the speed is very reasonable. I like the versioning control you get with the evaluation version label as well. The pricing is very reasonable as well, starting at $199.00 per year and they offer a 30 day trial.
If you have any comments or think we missed a key feature of the BaseElements tool let us know in the comments below. Look for our next review in a couple weeks!