Another day, another BaseElements release. This time is special though, it will certainly be the last for a few days, as I fly out to San Diego tomorrow for DevCon. I’m really looking forward to it this year it should be a good show.

And finally I have no outstanding issues in BaseElements land, and so I’m declaring this version to be a final candidate. Or release candidate. Or whatever it is that comes after beta. We’ve solved the plugin issues, and also added a workaround for the character encoding issue thanks to some nifty programming and text editing by our intrepid plugin developer.

On to the links :

BaseElements_Mac.dmg – fp7 files.
BaseElements_Mac_Runtime.dmg – Runtime.

BaseElements_Win.zip – fp7 files.
BaseElements_Win_Runtime.zip – Runtime.

Other than an updated plugin, the other changes since b10 are :

  • Fixed an issue that would cause the files not to display or show record access issues in some situations.
  • Fixed a false out of memory error when importing files with large ( 10 MB ) nodes caused by large embedded images.
  • Added in the new BE logo.
  • Resolved some startup window position issues.
  • Some minor layout tweaks.

I’ve also posted a fairly complete BaseElements 3 New Features page.

The character encoding problem.

I’m really glad that we were able to build in a workaround for a new behaviour in the FMPA 11 DDR that causes XML validation issues in some situtations. I’ve filed a bug report about it to FileMaker, but that may not get fixed for a while and in the mean time telling people to wait until “someone else fixes it” or “change your solution”, isn’t a satisfactory answer for me.

Side note : if anyone else notices this issue, and it causes problems, it would be great help if you could either add a comment to that report, or file your own with a sample file. The more reports the more likely this will be fixed sooner.

The issue is that when you have certain legitimate characters inside a calculation quote, the DDR output doesn’t properly encode these characters and so produces invalid XML. The problem is that it can’t be imported back into anything as it fails the first check of validity. It also affects copy paste actions in FMP.

The character encoding solution.

We’ve added a checkbox to BaseElements setup that is called “Filter XML”. I’ll write up a more detailed FAQ page about this, but the quick version is that it preprocesses your XML files and removes any invalid XML. This doesn’t affect the output as these can only be inside quoted text, so you still have all the available data, but now your xml is also valid and will import just fine. By building this into the plugin we were able to make the process quite quick.

In fact a big solution that takes about 33 minutes to import only had 40 seconds added to the import time by the preprocessing of it’s 500MB of XML data. I’m really excited that we were able to make this happen at all and to make it happen with an almost insignificant cost in import time is a double bonus.

Now I’m just looking forward to showing off the new version at DevCon and catching up with everyone.

And if you’re not coming to DevCon, don’t forget the 30% discount coupon : “elementary”. Only valid until the 18th of August.