Category Archives: FileMaker Utilities

FMCode: new FileMaker resources site

Hey FileMaker developers and advanced users. Someone in the FileMaker community is helping us out. Next time you say to yourself, “someone else must have figured out this FileMaker need before”, head over to FMCode and have a look see. I’m grateful for the efforts. I could not find an About screen and it looks like the site is just now coming online. Bookmark it and keep an eye on this timely resource.

Getting Your Mac Disk Catalog into a FileMaker Database

Diskcatalogmaker

I don’t know about you, but as a FileMaker developer, I have about 12 usable hard drives in my house. I don’t seem to ever get around to reconciling them so that I can stop buying hard drives for a while.

I was getting into the project last night because I have a misbehaving 1 terabyte drive I need to exchange. That means I need to move a terabyte somewhere else temporarily. To do this, I need to eliminate 1 terabyte worth of redundancy in a hurry.

So, I figured, I’ll create a FileMaker database: a table called hard drives and a table called folders. I looked in Automator to see if it would take a folder and give me a list of its contents as text. Let me know if I missed this. I can’t imagine someone hasn’t added this to an automator script but I couldn’t find one on short notice. That lead to me typing in about 50 folders and a couple drives. NOT!

Today is a new day, and I wanted a utility to give me the contents of a drive as a text file. Voilà, I found one called DiskCatalogMaker and it works great. Prints catalogs. It’s fast too.

You get 60 days to try this out with full functionality so that’s where I am with it for now. MacDiskCatalog is a nice little Cocoa app. VERY straightforward. You select Scan and it gives you an open dialog. You select a hard drive and it scans that sucker into its own catalog in 3 minutes or so for maybe 300 gigs of files.

Then you have a nice and handy export to text button. It creates a tab-delimited (I think) file with 5 fields: Name, Size, Type, Creator, Date Modified. I just dragged and dropped the exported text file onto FileMaker Pro 9 Advanced and it gave me the option to use the first row as field names – choose yes.

I wound up with a 179 mb file after I had done some Finds and Replace commands on it. Name is the full file path with the file name at the right of that path. I got rid of the hard drive as part of the path for my current purposes and put that name into its own hard drive field. I can always create a calculation to get that drive name back into the path if I need it.

From here, I’ll do a bit more cleaning and perhaps export summary data cause I don’t really want to know all the files on here or at least want to work with less than about 500,000 files for most purposes. If you want to be able to use filemaker to see how many copies of things you have, give DiskCatalogMaker a try!

For me this is fun and is a great relief. I might learn something about FileMaker 9’s capabilities when handling a 1/2 million records at a time along the way. Remember, I got a lot more hard drives left to do but it is going to be very fast to get them in here.

Now that I have my hard drive files and directories safely in FileMaker, I’m still playing around with DiskCatalogMaker to see what all it can do. If it was smart enough to tell me what to delete without my searching on big folders, I’d be totally sold. As it is though, I’ve got a terabyte I need getting rid of and I think I can use it to guide me to some quick scores.

Make Sure You Know About AdminAnywhere

Admin_anywhere_large_2Wow! I was browsing 3rd party apps over at the FileMaker site and they are featuring AdminAnywhere from 360Works. Looks like a great little helper app for anyone who needs to administer a FileMaker Server and can carry an iPhone or Treo.

See my more detailed write-up over on Studio Manager Bulletin. I want my customers to take advantage of this awesome tool. I can especially imagine all my IT guys and gals using this. They like to do IT things by mobile. Click to see the photo full-size.

I know for a fact that no card-carrying iPhone or Treo owner is going to pass this opportunity up. Did I mention that it’s only $49? Have fun!

Using BaseElements for FileMaker Pro 9 to get PrivilegeSet data

Baseelements_privilegesets

I purchased BaseElements from Goya in mid December and it is a must have tool from my perspective as a FileMaker developer. I need all the help I can get to document my solutions, check them for errors and find my way around my solution when I’m building new features or debugging something that’s not working the way I want.

BaseElements takes the XML in the DDR and puts it into nice little FileMaker records where we can see exactly what is going on and get to the heart of the matter in a hurry.

I’m enjoying having this tool very much but I found it even more valuable after making a discovery. The solution is pretty open but where it is really wide-open is when you create new layouts. I was trying to get all the table and field access details of the 16 privilegesets in Studio Manager into records so I could print them out as documentation and use them as a reference without having to go into Manage Accounts & Privileges.

It wasn’t obvious how to do this because all I could see was a privilegeset record with some tabs, one of which showed each table in a portal with things like whether you could create, edit or delete records in that table given the current privilegeset. I wanted all the custom field access. What fields could they not see? That seemed to require getting down to a lower level of granularity but there was no tab for that.

I happened to try creating a new layout and voilá all the related tables within the PrivilegeSets table were there for my choosing. End of problem. You can export data too. I don’t really need to export, but creating a simple custom report layout will give me what I need.

My next experiment will be to try out the compare file capability introduced in version 1.6 that lets you compare one version of a solution with another. I already purchased and wrote about FMdiff and recommend it to the skies for those who need a near instantaneous way of comparing two filemaker files.

Bought BaseElements 1.6.5 Today

I was able to purchase BaseElements for $399 because I am an fmpug member ($100 off. I already have Inspector but like the traditional and intuitive relational design of Base Elements much better.

If not for the cost, I would have bought the 1.0 version. I’m finishing up a new version of Studio Manager (v 9) and need the error checking and references and dependencies. Great program. Highly recommended!

Check it out at www.goya.com.au.

FMDiff is Very Useful

Fmdiff_icon
I just found a really helpful tool. It’s called FMDiff and is made by Huslik Verlag GmbH in Germany. It’s late on the Labor Day weekend day 1 – Saturday and I don’t have a lot of time to write.

The important thing is that FMDiff will identify places where there are differences in scripts, fields, value lists and layouts between any two FileMaker files of the same file format. And it does the comparison in less than a minute even with my big Studio Manager product.

Just like anyone else, I occasionally have a confusion about which version of a FileMaker file is the most recent. And sometimes, I have guessed wrong which has led to there being some things added or modified in File A and other things added or modified to File B. This tool will help me resolve those questions. Invaluable!

I’m very pleased to have a tool that can do this so simply. By the way, the tool doesn’t use FileMaker at all. It is written in C++ and just somehow manages to compare the two files piece by piece.

If you think you might be interested, there is a free, limited version which you can use to try it out. FMDiff costs $199. As a professional FileMaker developer, I’m glad it wasn’t more because I have to have this tool.

HVG has another product that also seems very interesting called FMChecker. The version that will work on FileMaker 7-8.5 files is not yet available but scheduled to be released in early 2007. It seems to have more valuable features that I’ll want.

Analyzer 4 is a Great Debugging Tool

ToolBoxIcon_smallAnalyzer 4 came out in September but it’s taken me a while to adjust to its differences and discover its power. It runs about $400 for a brand new copy and less as an upgrade. I’ve been a long-time user of Analyzer and have always found it valuable to help me find errors in systems and fix them.

Analyzer 4 is different enough that I didn’t immediately understand how to use it. Unfortunately for me, I wasn’t really using it much the first few months I had it. I’m in the final stages of perfecting Studio Manager 7 and necessity has compelled me to learn it. Here’s what I found: (1) it’s not very hard to learn and (2) once you do, it’s a real winner.

The famous red dot – the problem report – is what is helping me right now. I run it and it finds all the syntax errors throughout Studio Manager. Studio Manager has 12,500 layout objects – mostly buttons and fields and other layout objects, 642 scripts with 4,681 script steps, 44 base tables with 249 layouts and 171 relationships. This sheer volume provides lots of room for little mistakes.

One especially cool thing is that there are no false positives. If you get a count of 500 errors, you’ve got 500 errors – actually more because Analyzer can’t find your logical errors. When I saw the 550 errors I got in early December, I thought, oh there are mostly false positives in there. Wrong!

I’m down to 7 scripting errors and about 120 layout object errors. I have about 600 scripts as I mentioned in my last post and probably 30,000+ layout objects. I can eliminate all of those 120 last layout object errors today. And then I’ll get back to the final 7 scripting errors some of which I’m debating other issues about so don’t know whether to fix, change or eliminate them.

Here are my top 4 favorite features

Problem Reports with Red dots work great.

Lets you find for Script names which is a life saver when you have lots of scripts in one long list.

Hot links between elements take you where you need to go fast.

Compares analyses to each other – this really helps when you aren’t sure which version is which or you need to replicate the changes you made elsewhere.

One last thing, you get much faster at using it with a few hours of use. You gradually learn how to very quickly find what’s wrong and fix it by using the various features of the program. Clearly, Vince Menanno was using it and improving it incrementally along the way. That’s why you appreciate it more and more with use.

FileMaker 7 Custom Functions Rock

FM_Dev7_BoxI just got a big smile on my face a minute ago. I’ve been careful not to put spaces into table, field, layout and table occurrence names in building Studio Manager 7 because web publishing and other IT tools can’t handle spaces. So much for user friendly!

I’m using underscores instead of spaces. It’s readable but geeky. But sometimes I want to display something with spaces instead of the underlines. For example, I put the base Table name on each layout. Since I expect to need this ability to use spaces instead of underlines often, I decided to create a custom function for it.

You need the developer version of FileMaker 7 which I have (it’s free if you are a FileMaker Solutions Alliance member and otherwise costs an extra $200 over the basic version).

It takes about 2 seconds to create a custom function like this. You just choose File/Define–>Custom Functions and then name it, name any parameters you need and put in the calculation which in this case looks like this: Substitute ( text ; “_” ; ” ” ). I named the function subSpace.

I got the smile on my face after using my custom function to get the underscores out of the table name with this calculation: TableName = subSpace(gTable).

I forgot to mention that I had already created a Custom Function for Get(LayoutTableName). That’s where the gTable comes from.

At the most basic level, these custom functions serve as great little *Type-It-For-Me* shortcuts. I’ll be covering Custom Functions more in the future as I find really useful ones to share.

MetaDataMagic 2 Roadtest, Part 2

metadatamagic_logo.gif

MetaDataMagic 2 rocks bigtime! I did two new things with it since my last report:

  1. Fixed the File References in my product.
  2. Built a Conversion Issues report for it.

Both of these functions are excellent with the second providing more value to me than the first.

FIXING FILE REFERENCES
Prior to FileMaker Pro 5.5, you couldn’t specify that you only wanted relative file references which are great because if all your files reside in one folder, then you can move that folder anywhere and none of the file references break. Prior to 5.5, less robust file references like IP addresses were stored and, worse, the references weren’t directly accessible for modification. They are in FM7, but even so, the manual method can’t compete with MDM’s file reference powertools.

There’s an *auto-fixer* that will eliminate all references to files outside your solution *and* convert and set your file references to *relative path only* – all the rest go away. I ran auto-fixer without a hitch in less than 2 minutes on my complex 27-file Studio Manager product. That’s time savings!

I had tons of file references in these files and was left with the minimum I need to have things work correctly and as fast as possible. I’ll let you know when I try the performance out how much performance gain I get in FM6 and FM7.

FINDING CONVERSION ISSUES
Whoa! This thing is amazing! New Millenium has identified a total of 82 different possible issues so far. I had 23 of them applicable to my solution. Of those 23, 18 were considered high impact and 7 medium impact. You get a brief description of the element that is causing the issue and then a potentially multi-paragraph description and pointers directly to the files impacted in your solution so you can go fix them right now.

I was tempted and on the verge of converting my Studio Manager files to FM7 without doing much cleanup in the hopes everything would be OK until I ran this report. Here’s just the first 3 of 23 conversion issues found:
(42) Go to Related Record button function
(216) Go to Related Record Script step
(25) External subscript transfer focus to another file

Ack! Those numbers in parentheses beside each issue are the number of occurrences of that issue in my files. I’ve got some serious work to do. It will be easy work with this information and tool but it will be a lot of work.

Luckily, I will at least have a hope in hell of doing the fixes in an organized way and I can run the report on my files to see where I stand in handling the issues. There’s a checkbox that lets me tell it to ignore that issue for now which I bet will come in handy.

FREE STUFF ALERT
You get the Conversion Issues database free when you download the trial version of MDM2. There’s a lot of information in there. Go forth and download!

MetaDataMagic 2 Roadtest, Part 1

metadatamagic_logo.gif

I’ve run three complete FileMaker 6 databases through MetaDataMagic 2 with no problem in the last 48 hours. The biggest one so far, my Studio Manager product, took about an hour to process with its 27 files and tons of fields, layouts and scripts. I was quite pleased with the level of detail of information I got and the ease of getting it.

mdm_2_log_file_large

I love that I don’t just see a progress bar during the analysis but instead a list of records with time elapsed as each analysis task is completed on each file. There are 27 analysis tasks. Some tasks are quick and others take longer. The longest task in most situations is going to be *get layout item data* – that’s the step where every layout object is itemized and described down to it’s exact position on the layout.

One of the most interesting pieces of information I found out about my Studio Manager product was how many times files had not been closed properly. Many of these files have been around for several years and I could scan the list to see how much wear and tear they have endured. Good to know. In one file the number of improper closes was 20. Since I’m having no problems with it, I won’t do anything about it right now, but this information would go into my decision-making for whether or not I would want to rebuild it from scratch in FileMaker 7. I like this information!

The process. Here’s what I did to get started.

  1. Went to New Millenium’s website and downloaded MDM using their shopping cart
  2. Cracked open the ReadMe file for basic operating instructions.
  3. Opened the main FileMaker file.
  4. Decided which system to analyze first.
  5. Clicked the *Process a New Solution…* button
  6. Selected the folder to process, entered master passwords and clicked *Go*
  7. Immediately up came a second window with records listing progress and duration
  8. I watched most of it go because it was fun and then did something else while waiting for completion
  9. Then I jumped to looking at any error listings.
  10. Next stop was the Files Not Closed Properly list…
  11. Later, I wanted to do a 2nd analysis for files for one of my clients.
  12. To do that, I just duplicated the folder for the first analysis, renamed it and started MDM up again.
  13. Then I clicked the *Delete all Metadata* button.
  14. Then clicked *Process a New Solution…*

I needed one of my analyses for a specific purpose: to give my client a correct list of relationships in all the files so that she could double-check them to make sure they were correct. She had opened files from a remote machine when only some of the files were open on the server and some of the relationships got misdirected. I was able to go to the Relationships file for her analysis and quickly send her a pdf by email.

More soon as I use MDM 2 for helping me analyze my product’s readiness for conversion to FileMaker 7!