Oct
5
Bento Power Users: Beware!
Filed Under Bento Bugs, Bento Tips, Editorial | 12 Comments
My first important Bento 3 project was a disaster: Bento crashed about 50 times in the process! Before I go on I want to stress that this long article is mainly for the benefit of Bento power users like me. What is a “power user” ? Here’s my personal definition (a summary):
I read all versions of the Bento user’s guide from cover to cover, I was an award winning beta tester for Bento 3, I am using Bento for countless ongoing and archival projects, both personal and business. I’ve learned to use most features to the extreme and to my advantage to create highly useful, informative, and visually pleasing Bento Libraries.
By now, I’m also experienced in finding workarounds for Bento’s shortcomings. But most importantly, I’m expecting Bento to cooperate. In other words, I expect a stable environment AND consistency: the advertised features have to work as described and should yield predictable results. And they really don’t in many cases. But that will be the subject of another comprehensive (power user’s) post.
Back to my problem over the weekend. I visited my daughter at college and gave her a copy of Bento 3. Then I wanted to give her the elaborate Library Collections I had compiled from her athletic prowess in High School. Databases of races and events from three sports: Cross Country Running, Nordic Skiing, and Track. Since Bento supposedly can export & import templates and data files, it should be a straight forward process, especially for a power user…
But first there is that huge (template) export/import bug that nobody but me seems to care about (see my previous report). The bug only involves the iCal and Address Book Libraries and their Collections. Unfortunately, my project ONLY consisted of iCal Events Collections. But I know exactly how to edit the exported Collection templates to squash the bug and make them usable on another computer. It just takes a lot of time. I start with a virgin database file, import the template to delete erroneously duplicated forms, collections and fields (I even forgot that last step this time). And since you can’t import any data into Smart Collections I also had to “convert” them to regular Collections before exporting the now “clean” template again. And this was the point where all the crashes started:
Bento 3 has a potentially great feature: you can now copy Forms within the same Library and its Collections. Now I am given a TOOL to convert a Smart Collection into a regular one, so I can import my data. All I have to do is copy all the forms from the Smart Collection into a regular Collection and then delete the Smart Collection before exporting the template.
After copying several forms successfully, Bento crashed all of a sudden when I ctrl-clicked a form to copy it! And after the crash the database file became so corrupt that Bento would not restart! So I had to ditch the database file and had to start over with a fresh one. And that happened over and over again, now triggered by various actions. I saved the template a few times anticipating the crashes but I could never finish it before Bento crashed again.
Finally, I figured out that I could keep editing the template even after Bento crashed – because the application didn’t actually quit, even though the pop-up window said so…
But the final template file is not working perfectly – it displays some strange behavior, sometimes random, sometimes consistently – both are very annoying. At least just using the template and editing its data doesn’t trigger crashes… and until the Bento team fixes all the bugs, I can say I found another workaround I can live with, even though it doesn’t make me happy.
Bottom line: the new feature of copying forms is not stable! It was a last minute addition and should have been tested much more thoroughly. Make sure you work with a copy of your database file before you use it! It was clearly the main trigger of the crashes, together with the incomplete and misleading (template-) import/export function (I really call it a bug too). This function has to be totally re-designed, but at this point I’ve given up hope…
My clear verdict: even the newest version of Bento does not even come close to satisfy the high standards of a power user like me. And that has nothing to do with a lack of features. IMHO, it just has sloppy implementations of even the most basic features which I wlll explain in detail in my next post.
And I would rather wait longer for an upgraded version if it would mean that all features were tested more thoroughly before its release.
May
11
I knew about these problems for a while, but only recently discovered all the details.
In my opinion, being able to exchange templates is one of the best features added to Bento 2. It makes Bento effectively a multi-user database app and creates a global community besides the immense promotional benefits!
But there is some unexpected behavior every user who wants to exchange templates should know about.
As a starting point, here’s a description of the Bento feature: you can export the template (without any Records) of any Custom Library plus any Related Data Libraries that get attached through the inclusion of a Related Records List field. These RRLs can also be Collections from iCal or Address Book, or references to the iCal/AddressBook Parent Libraries.
You CAN NOT export the template of only a single Collection of any Library
(which is a feature I would love to see – it would even make sense to limit it to iCal/Address Book Collections/Smart Collections).
Every Parent Library template automatically includes all its Collections which is behavior you would want and expect with Custom Libraries. The problem starts when iCal or Address Book are involved. Because of the integration of those two Libraries, it’s easy to include related data of events, projects, or contact information. I even dare to say that the majority of templates will take advantage of that integration.
So here is what happens:
If you have a RRL in your Custom Library that is referencing a single Collection of iCal Events, iCal Tasks, or Address Book, then ALL your Collections will be attached to the template (like the default behavior for Custom Libraries – but this instance should be treated as an exception to the rule).
And logic tells us why this behavior is still unexpected: after all, the RRL is only referencing a single Collection. Since Bento allows us to do that, it should be man enough to handle the results correctly. You can choose NOT to include Related Libraries, but if you created custom forms, you would want to!So whoever imports the template will be getting all your “Fishing Buddies” and “Frank’s Plumbing business” Collections, or you now have two “Friends” Collections all of a sudden (the second one will be called “Friends 1″). In the case of Address Book, these unwanted Collections will even be “conveniently” available as Groups outside of Bento in your Mac Address Book!
Secondly, you are inheriting all the Forms of the template owner. Again, the Forms you get should be limited to custom forms of the Library/Collection that is referenced by the RRL field.
Thirdly, you also get all the custom fields from those extra collections and the main Address Book and iCal libraries.
Most importantly, after I had sent them an (admittedly overheated) email, Filemaker, Inc. Management called me today, acknowledging the problem and my concerns, and promising to have it checked out.
The template exchange here at BentoUsers.com is also safe, because I’m going through the painstaking process of “cleaning up” all templates before I publish them. I import them into a test database file, delete all unwanted (unrelated) Collections, and re-export the template.
Warning: if you are planning to clean up your own templates before you export them, be aware that all Address Book Collections you delete, will also be deleted from the Mac Address Book! I don’t use any Groups, so I’m lucky.
But this elaborate workaround costs me a lot of extra time
Update (January 2010): The problem has still not been fixed, and probably never will be!