We wish everyone a happy new year 2015.
See you in Las Vegas for the
FileMaker Developer Conference, in Austin for the
Xojo Developer Conference, the
.fmp[x]Berlin 2015 and at probably a dozen local meetings!
For us it's year to celebrate our 15th year of business
From 2015 on some things
change in VAT rules. The VAT collected is now the VAT of the country of client and no longer the VAT of the seller's country.
One of the good things is that companies like Apple now need to bill us with German VAT instead of Luxembourg or Ireland VAT. They have a different percentage so it was cheaper for Apple to sell from Luxembourg, but we had to do a lot of paper work to reclaim the VAT for our business.
Now from 2015 Apple and also MBS need to charge VAT for EU customers based on their country. But as our company wants to keep things simply and not report VAT for 28 countries, we simply delegate this to Share-it and Apple for our sales to private customers.
So if you are located in the European Union (but not in Germany) and you want to order something from us and you have no VAT ID, we will send you to Share-It. We will no longer process those orders ourself via bank transfer or Paypal.
The year 2014 will end in about a week. Do you need some more licenses?
- You can order licenses for 2015 and have delivery plus payment in 2014.
- You can get ChartDirector and DynaPDF Starter license as part of OmegaBundle
- And of course you can order updates for several years in advance for all your MBS products.
- As all licenses are per developer, you should check if you got a new developer in your team this year and adjust licenses to match team size.
Especially if you run on a budget and you want to spend some money in 2014, you can buy updates for several years.
Frohe Weihnachten und ein gutes neues Jahr!
Merry Christmas & Happy New Year
Joyeux Noël et Bonne Année
Buon Natale e Felice Anno Nuovo
Sebastian, Michael, Monika & Christian Schmitz

The association of Omegabundle vendors announce the expansion of Omegabundle for Xojo 2014, a collection of over $3567 of the best third party development tools for the Xojo cross-platform development environment.
See a list of all products included with Omegabundle for Xojo 2014.
1701 Software, a software services company that specializes in Xojo web application hosting, is providing a three month free subscription to their services for participating customers who order Omegabundle for Xojo 2014.
In addition, 1701 Software will also provide Valentina Server hosting as a part of its service lineup.
Valentina Server is the ultra-fast database and business reports server from Paradigma Software. A license for Valentina Server Unlimited (a $1499 value) is included with Omegabundle for Xojo 2014. Using Valentina Studio Pro ($199, also included in Omegabundle for Xojo 2014), you can create business reports that are served from Valentina Server as web pages, graphics or PDF and can utilize most popular database servers, including MySQL, PostgreSQL, MS SQL Server and more. Reports can incorporate charts, graphs, barcodes, data layouts and other elements. Valentina Server also functions as a complete, object-relational database server.
Omegabundle for Xojo 2014 is immediately available for purchase through the Omegabundle website for only $399.
For more information about the offer, visit the official Omegabundle website at
http://www.omegabundle.com and also 1701 Software at
http://www.1701software.com.
Sometimes people see errors like this:
Now I can include special methods to give a little hint in the error:
But it will take a while to find all those cases and prepare...
Maybe someday it helps one of you plugin users.
Normally if you use FileMaker's feature with encrypted containers, the files are stored right next to the database file. Especially on a server this can limit storage options. Hosting 10 databases on the internal server disk limits you to the size of that disk. All your FM databases use only the space on this disk.
Now you can break the limit and move your encrypted container files to another disk. But how? Well, we use symbolic directory links. That's a feature built into operation systems for decades and supported at very low level. So the key thing is that next to your database file FileMaker puts the RC_Data_FMS file. This is the directory where remote containers store their data. And inside you find a folder for each of your databases using remote containers. And this folder can be replaced with a symbolic link.
So follow this steps:
- Be sure you know how to use Terminal and/or command line on Windows. You may want to consult system admin.
- Make sure nobody uses the database currently.
- Make backup of everything in case you break something.
- Copy the folder inside RC_Data_FMS to an other location, e.g. network share or external hard disk.
- Rename the old data folder.
- on Mac:
- Open Terminal.
- Use cd command to move into the RC_Data_FMS folder
- Use the ln command with the -s option to make a new symbolic link. So enter "ln -s" followed by path to dest path followed by name of new link. All separated with spaces. e.g. in my case: ln -s /Volumes/Ablage1/Test/FMServer_Sample FMServer_Sample
- on Windows:
- Open command line as admin
- Use cd command to move into the RC_Data_FMS folder
- Use the mklink command with the /D option to make a new symbolic link. So enter "mklink /D" followed by name of the new folder and followed by name to dest path. All separated with spaces. e.g. in my case: mklink /D FMServer_Sample "\\vmware-host\Shared Folders\Test\FMServer_Sample"
- open database and put something in a container. You should see FileMaker add a file to the new location.
- Test and see if incremental backup and other server features still work well.
Now there is one issue you may see and that is folder permissions. FileMaker Server (the app) must be allowed to read & write to the folder you specify. On Windows this was easier as permissions were right for me right away. For Mac it's much trickier as normally mounting a network share is mounted for the current user only, not for everyone.

New in this prerelease of the 14.5 plugins:
- Added TiffPictureMBS.SampleFormat property.
- Added ConvertFromFloat16MBS and ConvertToFloat16MBS functions to support 16 bit floating point numbers.
- Fixed Windows MouseClick functions in RemoteControlMBS module. Now moves mouse again in absolute coordinates mode.
- Added NSFileWrapperMBS and NSTextAttachmentMBS classes.
- Fixed bug in WindowsDirectoryChangeMBS class which did not notice folder creation.
- Added code to detect Windows 8.1. Due to Windows 8.1 reporting itself as 8.0, we have to do special things to check for 8.1.
- Added CLLocationManagerMBS.CheckEvents for Web/Console projects.
- Added shared methods to AVAudioPlayerMBS class to create instances quickly.
- Fixed bug with multi threaded functions where mutexes were not released properly.
- Added WinIsWindowVisible, WinIsWindowMinimized and WinShowWindow to RemoteControlMBS module.
- Disabled OpenSSL loading config files in CURL which can cause error message dialog on Windows.
- Changed AVPlayerItemVideoOutputMBS.copyPixelBufferForItemTime so it now returns CVPixelBufferMBS. Existing method renamed to copyCIImageForItemTime.
- Renamed DynapdfPDFAnnotationMBS to DynaPDFAnnotationMBS.
- Fixed some typos in function names.
Download:
macsw.de/plugin/Prerelease. Or ask us to be added to our shared Dropbox folder.

New in this prerelease of the 4.5 plugins:
- Changed plugin to load QTkit Framework dynamically so we can be accepted for the Mac App Store.
- Fixed an issue where FileMaker would block after Registration of plugin.
- Added code to detect Windows 8.1. Due to Windows 8.1 reporting itself as 8.0, we have to do special things to check for 8.1.
- Added MovieView.PauseDelayed and QTMovie.StopDelayed functions to play video and stop later.
- Added QTMovie.ParseTime and QTMovie.FormatTime functions.
- Changed functions for global variables to store data in their native type (no longer converts everything to text).
- Added DynaPDF.RenderPDFFile function.
- Added parameter to DynaPDF.RenderPage function to write directly to file.
- Added FM.StopScriptIdle function to stop idle timer. Also idle timer is cancelled when you start new timer.
- Added error user notifications for Mac OS X to notice you about script errors.
- Added Trace.EnableErrorNotifications, Trace.DisableErrorNotifications and Trace.AreErrorNotificationsEnabled functions.
- Added List.BestMatch and QuickList.BestMatch function.
- Added MovieView.SetCurrentTime function.
- Disabled OpenSSL loading config files in CURL which can cause error message dialog on Windows.
- Changed PDFKit functions to accept also file paths where they used to accept only URL.
- Added offset parameter to RegEx.Execute function.
- Improved error messages from calendar functions if calendar/reminder/event could not be saved or deleted.
Download at
monkeybreadsoftware.de/filemaker/files/Prerelease/ or ask for being added to the dropbox shared folder.
Just got some example code for you on how to apply fonts in a Mac Cocoa app made with Xojo to a PopupMenu control's menu.
So each item in the menu item is rendered using the font it represents.
Sub ApplyFontsToItems(xp as PopupMenu)
// Apply font to menu items in a popupmenu
#if TargetCocoa then
// graphics for measurement of height
dim g as new NSGraphicsMBS
dim si as new NSSizeMBS(1000, 1000)
// the Cocoa popup control and it's menu
dim p as NSPopUpButtonMBS = xp.NSPopUpButtonMBS
dim m as NSMenuMBS = p.menu
// font size to use?
dim fontSize as Double = xp.TextSize
if fontsize <= 8 then
fontsize = NSFontMBS.systemFontSize
end if
// walk over all items
dim mu as integer = m.numberOfItems-1
for mi as integer = 0 to mu
dim item as NSMenuItemMBS = m.Item(mi)
// get the title and use it to make font
dim name as string = item.Title
dim f as NSFontMBS = NSFontMBS.fontWithName(name, fontSize)
// now build attributed string with that font
dim a as new NSMutableAttributedStringMBS
if a.initWithString(name) then
dim r as new NSRangeMBS(0, a.length)
a.addAttribute(a.NSFontAttributeName, f, r)
// calculate bounding Rectangle
dim re as NSRectMBS = g.boundingRectWithSize(a, si, 0)
if re.Height <= 22 then
// only apply font if height is not too much
item.attributedTitle = a
end if
end if
next
#endif
End Sub
Today a quick tip. If you have properties on the app class, simply turn them into shared properties.
The change has as far as I see no influence on your project, but the access is at least 5 times faster!
This is due to the app function calls internally GetAppObject function in framework which will of course lock the object and return it. Now that extra call is completely optimized away if you switch to a shared property.
The year 2014 will end in three weeks. Do you need some more licenses?
- You can order licenses for 2015 and have delivery plus payment in 2014.
- You can get ChartDirector and DynaPDF Starter license as part of OmegaBundle
- And of course you can order updates for several years in advance for all your MBS products.
- As all licenses are per developer, you should check if you got a new developer in your team this year and adjust licenses to match team size.
Especially if you run on a budget and you want to spend some money in 2014, you can buy updates for several years.

The new release is there before Christmas and it includes iOS support. I hope everyone is happy now. It took a long time, but finally arrived.
If you like to see a review, you can check Bob Keeney's article here:
bkeeneybriefs.com/2014/12/xojo-2014-release-3/
For the prices changes, see the Xojo blog article:
xojo.com/blog/en/2014/12/license-and-pricing-changes-for-2014r3.php
There is some news on 64-bit progress:
xojo.com/blog/en/2014/12/an-update-on-64-bit.php
On the Plugin side nothing changed. Plugins still run the same. There is not yet an updated plugin SDK with new things like access to text data type or the new auto data type. While we can use the UInteger type, I prefer to use UInt64 instead for backwards compatibility.
Sorry, but there are no plugins for iOS. There is no plugin SDK yet and no timeframe given. I'd hope we could soon find a way with one of the next releases to link in static libs, so we could provide features like DynaPDF, ChartDirector and SQL to iOS.
And if you use our MBS Plugins with the new Xojo release, please upgrade to current plugins. At least you should have version 14.3. Of course 14.4 or 14.5 betas may be better.

New in this prerelease of the 14.5 plugins:
- Updated DynaPDF to version 3.0.37.106.
- Fixed potential problem with destructors of AVVideoCompositionInstructionMBS and AVVideoCompositingMBS classes.
- Added NSToolbarItemGroupMBS class.
- Fixed bug with formatting date in CURLEmailMBS class.
- Added NSColorMBS.colorWithColorSpace function.
- Fixed a problem with internal NSDictionary to Dictionary conversion and handling booleans.
- Improved BCC handling in CURLEmailMBS class.
Download:
macsw.de/plugin/Prerelease. Or ask us to be added to our shared Dropbox folder.

New in this prerelease of the 4.5 plugins:
- Updated DynaPDF to version 3.0.37.106.
- Fixed bug with formatting date in SendMail functions.
- Fixed bug where default text encoding was not used when needed. (introduced bug in pr1)
- Tracing will now also log script starts.
- Added TAPI.Transfer function.
- Improved BCC handling in SendMail function.
Download at
monkeybreadsoftware.de/filemaker/files/Prerelease/ or ask for being added to the dropbox shared folder.

It's december and Xojo Inc. announced a few things this year. One of them is that 2014r3 will include iOS target. Another promise is that iOS target may cost some extra money for existing users. Especially I think they mentioned something like $200 extra for existing Pro users as an add-on.
This gives some possibilities for future pricing. One of them is that old Pro license will not cover iOS, so there may be a new iOS including Pro license?
But if existing Pro users pay an extra to upgrade, there is the chance for a new higher price for Pro license with iOS.
But what happens with people who don't want to pay extra for iOS. e.g. because they don't own a Mac?
Well, we have some cases for them:
- Pro is a new target and sold separately. Fine, you can update your license now or later, it doesn't matter. And if you need iOS, you can buy it.
- Pro is getting more expensive as it includes iOS in future. In that case you may want to extend your license now before iOS target ships.
- Xojo sells Pro and Pro+iOS with different prices. In that case you can also wait and see which pack you want.
Anyway, if you are not interested in iOS, you should update now before something changes.
If you like to program with Xojo for iOS target, be happy as we all bet Xojo 2014r3 ships before Christmas (engineers want holidays, too).

The
FileMaker Magazine just released a video showing a couple of FileMaker tools and tricks.
I enjoyed watching it, learnt a few new shortcuts for FileMaker and got a different view on my
syntax coloring feature:
filemakermagazine.com/videos/developer-tools-tips
Thanks Matt Petrowsky for sharing this video and we hope for more in the future!

NICKENICH, Germany (December 3rd, 2014) -- Monkeybread Software releases version 1.3 of the
MBS SQLite Extension.
The MBS SQLite Extension is a multifunctional extension to any SQLite powered application. You can use it as:
- a plug-in for Cube SQL 4.0 from SQLabs or newer.
- a plug-in for Studio Stable Database Server 2.0 or newer.
- an extension to SQLiteDatabase class in Xojo
- an extension to REALSQLDatabase class in Real Studio
- a plug-in for the REAL Server from REALsoftware
- an extension for SQLite which you can use in all SQLite based database applications like SQLiteManager application (from SQLabs).
New in Version 1.3:
- Updated Xojo examples to set LoadExtensions property.
- Added Windows 64bit version.
- Added GeoDistanceMBS function.
- Updated to Xcode 6.1
Our SQLite Extension supports Mac OS X, Windows and Linux.
Example projects for Xojo and Real Studio are included for SQLiteDatabase, REALSQLDatabase, REALSQLServerDatabase and CubeSQLDatabase classes.
You can test the extension for free up to 10 minutes per launch in a demo mode. Licenses are available for 99 Euro per developer with one year of free updates. If you have feature requests for additional functions, please send us an email.
Maybe someone from the area in wants to join this group?
see forum posting

New in this prerelease of the 4.5 plugins:
- Added Menu.ItemAtIndex and Menu.Items functions.
- Fixed Menu.SelectedItem function for Windows.
- Changed Menu.AddItems to now make separators if you add a line with minus and added a parameter for tags.
- Fixed FM.ExecuteFileSQL function, broken in pr1.
- Rewrote parts of TAPI, so we now have TAPI IDs for the calls, so you can distinguish between different calls. You have to change your scripts!
- Added TAPI.SetCallStateScript, TAPI.GetCallStateScriptName, TAPI.GetCallStateScriptFileName, TAPI.SetNewCallScript, TAPI.GetNewCallScriptName and TAPI.GetNewCallScriptFileName and removed TAPI.SetCallScript, TAPI.GetCallScriptName, TAPI.GetCallScriptFileName. Now we pass call ID to parameter.
- Changed DLL loading on Windows to automatically try a 64 before the DLL extension when running on 64bit FileMaker (Server).
- Added Is64bit function.
- Changed ListDialog to show on Windows always one column with vertical scrolling.
- Added ListDialog.GetAllowEmptySelection and ListDialog.SetAllowEmptySelection functions.
- The listdialog on Windows now reacts on escape and return key
- The list in the listdialog on Windows now has a border line and the buttons are higher.
- Updated DynaPDF to version 3.0.37.105.
- Added checks to addressbook functions to report back if user denied addressbook access.
- Added BuildNumber function.
- Added SystemInfo.HostDNSName function.
- Upgraded Xcode to version 6.1
- Added more keys for TAPI.CallInfo function: Ref, Privilege, Origin, Reason, CallerIDAddressType, CalledIDAddressType, ConnectedIDAddressType, RedirectionAddressType and RedirectedAddressType.
- Fixed DynaPDF error reporting, so that IsError function also notices them.
- Fixed Zipfile.CreateFile bug (introduced in pr1)
- Improved DynaPDF.SetBBox to fix wrong boundary boxes automatically.
- Added TAPI.ListenOnAddress.
- Fixed bug in TAPI.CreateCall function.
- Added 30 new functions for DynaPDF to query, create and change annotations.
- The function to disable webviewer alerts now disables more alerts.
Download at
monkeybreadsoftware.de/filemaker/files/Prerelease/ or ask for being added to the dropbox shared folder.

New in this prerelease of the 14.5 plugins:
- Updated DynaPDF to version 3.0.37.105.
- Added CALayerMBS.contents, CGImageMBS.CreateImageWithFile, AVMutableVideoCompositionMBS.renderSize for new AVFoundation example to show how to overlay video with image.
- Fixed a possible crash with PDFPageMBS object being destroyed too early.
- Fixed bug in NSObject to Variant conversion to handle NSColor, too.
- Changed UDPSocketMBS to use 255.255.255.255 as valid IP for sending to.
- Fixed a problem with AVFoundation object releasing if run on Xojo thread.
- Upgraded Xcode to version 6.1
- Fixed CURL sftp which broke in pr1.
- Deprecated SQLAnywhereDatabaseMBS in favor of SQLDatabaseMBS
- Improved CMSampleBufferMBS class.
Download:
macsw.de/plugin/Prerelease. Or ask us to be added to our shared Dropbox folder.

The
.fmp[x]Berlin 2015 conference is a big meeting of FileMaker developers from around the world in the center of Europe.
It's planned for 4 - 6 June 2015 in the Upstalsboom Hotel Friedrichshain, Berlin, Germany.
So mark the dates in the calendar and plan your trip to Berlin. Tickets are available mid January and the conference is in english. Last time I think there were 75 people coming.

Here is a nice custom function for showing a menu right away:
Let ( [
/* Create a menu */
menu = MBS( "Menu.CreateMenu" );
/* add items from our parameter */
m2 = MBS( "Menu.AddItems"; menu; Items );
/* show menu at mouse position */
m3 = MBS( "Menu.PopUp"; menu; "mouse"; 0; 0 );
/* query selected item */
selectedItem = MBS( "Menu.SelectedItem"; menu );
/* if something is selected, query its text */
result = If( Length(selectedItem )>0; MBS( "MenuItem.GetTitle"; selectedItem ); "");
/* Cleanup menu */
m5 = MBS( "Menu.Release"; menu; 1 )
];
/* return selection */
result )
You can just call it anywhere, pass a list of items and get back the selected item from the list. Feel free to copy and modify it. Like adding more options to it. For next plugin, we already added option for
Menu.AddItems to create separators for lines containing only a minus.