Our Blog, Filemaker only, Xojo only, Archive (older), Follow us on Twitter or Facebook.


Xojo Stammtisch in Hanau

Saturday 25 June 2016 at 4:33 pm
Peter Bially und Carsten Kümritz haben einen Xojo Stammtisch organisiert für kommende Woche:

Termin: 29. Juni 2016
Zeit: ca. 18.00 - 22.00 Uhr

Fürstenbahnhof Hanau-Wilhelmsbad
Burgallee 127
63454 Hanau

siehe
fuerstenbahnhof-hanau.de

Diskussion im Xojo Forum:
forum.xojo.com/31685-xojo-stammtisch-rhein-main-29-6-2016

Wer kommen möchte, möge sich doch bitte per Forum/Email vorher beim Peter Bially melden, damit da genügend Plätze reserviert sind.

MBS Xojo / Real Studio Plugins, version 16.3pr4

Saturday 25 June 2016 at 12:00 am
New in this prerelease of the 16.3 plugins:
  • Updated to DynaPDF 4.0.1.3
  • Turned PPC back on for most plugins.
  • Added JSONMBS.IsValid property.
  • Added ColorTolerance parameter for DynaPDFMBS.ShowDifference.
  • Added WordFile properties and method to change markers.
  • Updated LibArchive to version 3.2.1.
  • Changed IORegistryMBS.Path to work for entries longer than 511 characters.
  • Added PortMidiMBS.Initialize which you can call to initialize now. Or the plugin calls it internally on the first use of PortMidi.
Download: macsw.de/plugin/Prerelease. Or ask us to be added to our shared Dropbox folder.

MBS FileMaker Plugin, version 6.3pr4

Friday 24 June 2016 at 11:24 pm
New in this prerelease of the 6.3 plugins:
  • Added WebView.Passwords.Clear, WebView.Passwords.Install and WebView.Passwords.Set to provide passwords for web authentication in webviewer.
  • Updated to DynaPDF 4.0.1.3
  • Added ColorTolerance parameter for DynaPDF.ShowDifference.
  • Added JSON.IsValid function.
  • Changed SSH.Connect, SendCommand, ServerSocket.SendQuery and Socket.Connect to resolve domain name and work with IPv6.
  • We now convert line endings for SSH and RSA keys to LF to avoid errors reading keys with CR line endings.
  • Added CUPS.PrintDataEncoding function.
Download at monkeybreadsoftware.de/filemaker/files/Prerelease/ or ask for being added to the dropbox shared folder.

Survey about European MBS Xojo Conferences 2017

Wednesday 22 June 2016 at 8:29 pm
We are checking options for another Xojo related conference in 2017.

Again we look for a place in Germany, but this time we consider whether we go to Berlin instead of Koblenz. Berlin could be a city where people may go for additional days for some sight seeing and entertainment. Berlin will definitive be more expensive as the hotels have higher rates, unless we stay far outside. But if we go there, we need to make that decision soon to reserve the space in advance to get good rates.

Date could be somewhere in May/June 2017 as fall is taken by Xojo Inc. for their Xojo Developer Conference. And I would expect the next XDC in 2018. (@Xojo: If you do something in Spring 2017, please tell me soon!)

If you have time, please fill this survey with just 10 questions. Please leave name/email for further questions. For additional comments, please email us or comment here. Please don't do the survey twice. Thanks.

MBS FileMaker iOS SDK Extension 0.2

Wednesday 22 June 2016 at 12:47 pm
Nickenich, Germany - (June 22nd, 2016) -- MonkeyBread Software today is pleased to announce MBS FileMaker iOS SDK Extension 0.2, the first extension available for FileMaker's iOS SDK used to create branded iOS apps based on FileMaker Go.

Currently we have no plugin SDK for FileMaker iOS SDK or FileMaker Go, so we can't port our MBS FileMaker Plugin with over 4000 functions to iOS. But we created a different way to add a few useful functions for iOS SDK. The result is this new library for you!

Version 0.2 adds 5 more commands for writing a file, deleting a file, doing activities to block display sleep and check network availability.

By installing our library into your iOS app, you can now use nine commands:

version: Shows version of the extension.
events.authorize: Asks iOS for permissions to access calendars.
events.newevent: Creates a new calendar event for the calendar on iOS.
events.newreminder: Creates a new reminder.
activity.begin: Start activity and disable display sleep.
activity.end: End activity.
Files.WriteTextFile: Write text file in UTF-8
Files.DeleteFile: Delete a file.
Network.Available: Check if we have Wifi, Cellular or no network available.

We may add more commands in the future based on feedback of users.
So far this works fine for creating events/reminders in our iOS SDK based solutions.

Download MBS FileMaker iOS SDK Extension.dmg

Please try and provide your feedback to use. If you need assistants, help of custom functions, we are available for hire. This extension is currently provided as-is without cost.

XDC sessions

Tuesday 21 June 2016 at 09:06 am
Only a few months left for the 2016 Xojo Developer Conference. If you plan to go, be sure to reserve your flight for a good rate now. And also make a hotel reservation in advance. Xojo Inc. just added another session where Greg O'Lone will talk about supporting Retina and HiDPI in your apps.

XDC will take place in Houston, TX October 5-7, 2016. It features sessions on best practices, special interests and other technical topics, with content for every level of Xojo developer. Educational sessions will cover topics like Xojo iOS, Raspberry Pi, database design, user interface design, debugging techniques, writing secure apps, and much more! Want to know what XDC is like? Watch our highlights video!

XDC Pricing: Register now!
Advanced Registration: till August 22, 2016: $899
Late Registration: August 23 - Conference: $999

XDC will take place at the lovely boutique Hotel Derek in the Galleria area of Houston. It's right in the middle of two airports, giving you plenty of options (and time) to find a great flight! We have negotiated a hotel room rate of $164 a night. Rooms can be reserved here.

If you have any questions about XDC, feel free to email Data Brown.

DynaPDF Invoice example

Monday 20 June 2016 at 6:21 pm
Have you seen the new Invoice example database including with our MBS Plugin?

It shows how to create a multi page invoice PDF from FileMaker using our DynaPDF functions. This includes page breaks if there are a lot of positions on the page. We use a template PDF for the background of the invoices. First page of the template defines the first page of the invoice which includes space for address and company information. Second page from template is used for other invoice pages. Finally we take all the other pages from our template PDF and add in the invoice. This allows us to include extra pages for Terms of Sales or other legal information.

The PDF creation can run on FileMaker Server if needed and the PDF is stored in a container and written as file to disk. Of course you can use the PDF file to email to a client right away.
To layout the invoice we use several text blocks for details like the company info and the address. We show the invoice number, a heading line and the date on the page. For all the items we walk over the records and add them to a layout table in DynaPDF. This table is than drawn over all the pages needed. For the intermediate sum on each page and the final sum with tax calculation we use two extra tables. Finally we loop over pages to add page numbers.

If needed you can use DynaPDF to sign the PDF with a digital signature or create a PDF/A version.
The example is included with 6.3pr3 plugins or newer.

MBS Xojo / Real Studio Plugins, version 16.3pr3

Sunday 19 June 2016 at 4:19 pm
New in this prerelease of the 16.3 plugins:
  • Added more properties to DirectShowVideoInfoHeaderMBS class.
  • Improved string access for all plugins.
  • Added HTMLViewer.IEGetTextArea and HTMLViewer.IESetTextArea.
  • Fixed a problem with handling alpha channel pictures (Broken in 16.2)
  • Changed LDAPMBS.Connect to not raise exception on Mac/Linux and simply return no error.
  • Added SmartCard plugin.
Download: macsw.de/plugin/Prerelease. Or ask us to be added to our shared Dropbox folder.

MBS FileMaker Plugin, version 6.3pr3

Sunday 19 June 2016 at 2:11 pm
New in this prerelease of the 6.3 plugins:
  • Added FM.DataViewerContent function.
  • The SSH functions now should return better error messages.
  • Improved menu functions to work better in calculations, so you can show a menu with just one Let statement.
  • Added Menubar.IsMenuCommandChecked function.
  • Fixed bug with StoreRegistration function so it now works again.
  • Added MenuItem.GetSelectable and MenuItem.SetSelectable functions.
  • Improved internal item management. Now quicker to find object for item which you notice in menu building for example.
  • Added CURL.GetDebugWithProgress and CURL.SetDebugWithProgress functions.
  • The script search box is now hidden if you disable Syntax Highlighting.
  • Added SystemInfo.WinSystemMetrics function.
  • Improved speed of Menu.DefineQuickMenu a lot.
  • Added Window.GetCurrentTag, Window.GetTag, Window.SetCurrentTag and Window.SetTag.
  • Added SmartCard functions.
Download at monkeybreadsoftware.de/filemaker/files/Prerelease/ or ask for being added to the dropbox shared folder. PS: 6.3pr3 will report version 6.3.0.2. But CompileDate should distinguish it from older version.

Faster String handling

Saturday 18 June 2016 at 7:34 pm
We have a central C++ class in our Xojo plugins to access string content. Recently I discovered that one of the apps here is really slow working on strings with plugin functions. And I discovered most time is spend on text converting.

The string passed to plugin has some encoding and internally we need some encoding to do what we need to do, e.g. a function needs UTF16, but the Xojo string is UTF-8 or Windows ANSI or whatever. So we use ConvertString to convert the encoding. In the plugins we actually call REALGetStringData function from the plugin-sdk.

But most strings are in UTF-8 in Xojo and in fact most times also just ASCII strings. So we can optimize this.
So for converting from ASCII string to Windows ANSI, MacRoman and UTF-8, we don't need to convert at all.
For ASCII string to UTF32 or UTF16 we can omit the convert and just do it ourselves. This saves a lot of time in our tests here.

So by not using the Text Converter here we can save over 90% of the CPU time to get the content of a string in a given encoding.
Of course not for all strings, but for most. Please try in 16.3pr3 soon.

Tip of the day: Show debugger in FileMaker from within a script

Friday 17 June 2016 at 8:52 pm

As we discovered today, we can have a script open the debugger. We can check the menu in FileMaker and if the debugger is not visible, we show it: 

#The menu command as we got it from Menubar.ListMenuCommands

Set Variable [$DebuggerMenuID; Value:49260]

#Do we have a debugger?

If [MBS( "Menubar.HasMenuCommand"; $DebuggerMenuID ) = 1]

#Is it activate already?

If [MBS( "Menubar.IsMenuCommandChecked"; $DebuggerMenuID ) = 1]

#debugger already visible

Else

#show debugger

Set Variable [$r; Value:MBS( "Menubar.RunMenuCommand"; $DebuggerMenuID )]

Pause/Resume Script [Duration (seconds): ,1]

End If

End If

 

#now follows your script that should always run in debugger


The new command Menubar.IsMenuCommandChecked will be part of 6.3pr3 soon. If you like to try, please don't hesitate to contact us. 

Frühbucherrabatt endet heute für FileMaker Konferenz

Friday 17 June 2016 at 11:36 am
Heute endet der Frühbucherrabatt für die FileMaker Konferenz.
Am Tag vorher haben wir eine MBS Plugin Schulung in Salzburg:



Die Anmeldung für die FileMaker Konferenz 2016 läuft.
Vom 13. bis 15. Oktober 2016 treffen sich wieder ca. 200 Teilnehmer im Pitter in Salzburg.

Bitte bald anmelden um ein Ticket zu bekommen. Die Konferenztickets und die Zimmer im Hotel Crowne Plaza Salzburg waren in den vorherigen Jahren schon Wochen vor der Konferenz ausverkauft.

Dieses Jahr gibt es neben meinem MBS Vortrag auch einen zum iOS SDK. Mal sehen, was bis zur Konferenz noch alles kommt von FileMaker. iOS Extension könnte ein Thema sein.

MBS Plugin Schulung
Am Tag vor der Konferenz (12. Oktober) findet der MBS Plugin Workshop statt. Einen Tag mal Intensiv das MBS Plugin anschauen, durch die Beispiele gehen, einen Webservice implementieren und Funktionen ausprobieren. Limitierte Anzahl von Plätzen und gleiches Hotel wie Konferenz, also bald anmelden.
(Mindestteilnehmerzahl erreicht. Die Schulung findet definitiv statt.)

FileMaker Developer Meeting in Kopenhagen

Tuesday 14 June 2016 at 10:13 am
Yesterday we had a nice meeting with FileMaker developers in Kopenhagen:



Talking about WWDC news, MBS Plugin news, FileMaker 15 and upcoming developer conferences.
See you in Las Vegas!

4000 functions in 10 years

Saturday 11 June 2016 at 09:46 am
Did you notice we just passed the 4000 function mark with version 6.3pr2?

We know that this is just a number and we had to reach that eventually. But of course we are all proud of this achievement here. Especially we are happy to reach that number now as we already ordered posters for our DevCon booth with the number 4000 mentioned. You come to Las Vegas to visit our booth?

Nobody expected that our plugin would get that big when a few clients (using our REALbasic plugin) asked to port a few (!) functions to FileMaker. And thanks to Todd Geist who asked in 2006 for an AppleScript execute function and finally convinced me to start writing a FileMaker plugin. So we started with AppleScript, added Window and Screenshot functions and released version 1.0 in September 2006. In October we released version 1.1 with already 50 functions.

One of the early decisions was to make it just one plugin file for easy installation. Another one of the decisions early in 1.0 development was to use one MBS function instead of filling the calculation dialog with 20+ functions as an one of the development versions did.

We did license individual parts at that time. With just a few parts (AppleScript, WindowsScript, Window, Screenshot, etc.) this was easy. But today with 114 parts it would be difficult to track who has a license for which part. So a few years later we lowered prices and gave a Complete license to everyone instead of just the part they ordered. Today you still buy the complete pack for the first function you need and the rest is included for free.

Which functions people use? Well, that is difficult as we can't analyze your databases. At least we know everyone probably uses the Register function. And probably the Version function and IsRegistered or Trace. From feedback with users I know a lot use CURL for web services, menu functions to show popup menus and various window functions. Also popular should be showing progress dialogs, image scaling, file management and barcodes. But only you know what you code and your users know what they click.

Thanks to all the people who supported us the last years. Thanks for talking about our plugin, for referring it to clients and friends and of course for purchasing licenses. Also thanks for endless hours of beta testing and good feature wishes. Your ideas make our plugin better. And thanks for all the fun at the conferences and meetings!

4 month till German FileMaker Conference in Salzburg, Austria

Friday 10 June 2016 at 9:25 pm
Nur noch vier Monate bis zur FileMaker Konferenz und zur MBS Plugin Schulung in Salzburg:



Die Anmeldung für die FileMaker Konferenz 2016 läuft.
Vom 13. bis 15. Oktober 2016 treffen sich wieder ca. 200 Teilnehmer im Pitter in Salzburg.

Bitte bald anmelden um ein Ticket zu bekommen. Die Konferenztickets und die Zimmer im Hotel Crowne Plaza Salzburg waren in den vorherigen Jahren schon Wochen vor der Konferenz ausverkauft.

Dieses Jahr gibt es neben meinem MBS Vortrag auch einen zum iOS SDK. Mal sehen, was bis zur Konferenz noch alles kommt von FileMaker. iOS Extension könnte ein Thema sein.

MBS Plugin Schulung
Am Tag vor der Konferenz (12. Oktober) findet der MBS Plugin Workshop statt. Einen Tag mal Intensiv das MBS Plugin anschauen, durch die Beispiele gehen, einen Webservice implementieren und Funktionen ausprobieren. Limitierte Anzahl von Plätzen und gleiches Hotel wie Konferenz, also bald anmelden.
(Mindestteilnehmerzahl erreicht. Die Schulung findet definitiv statt.)

MBS Xojo / Real Studio Plugins, version 16.3pr2

Friday 10 June 2016 at 5:03 pm
New in this prerelease of the 16.3 plugins:
  • Fixed bug in DynaPDFPageLabelMBS class.
  • Updated to DynaPDF 4.0.1.2
  • Added SSH2SessionMBS.UserAuthPublicKeyFromMemory.
  • Added SQLSelectMT and SQLExecuteMT methods to SQLPreparedStatementMBS class.
Download: macsw.de/plugin/Prerelease. Or ask us to be added to our shared Dropbox folder.

MBS FileMaker Plugin, version 6.3pr2

Friday 10 June 2016 at 12:43 pm
New in this prerelease of the 6.3 plugins:
  • Updated to DynaPDF 4.0.1.2
  • Added GMImage.GetXMP and GMImage.SetXMP.
  • Added Files.CreateHardLink and Files.CreateSymbolicLink.
  • Added EmailParser.ParseContainer function.
  • Added SyntaxColoring.GetRelationGraphSearchBoxPreferredSize and SyntaxColoring.SetRelationGraphSearchBoxPreferredSize.
Download at monkeybreadsoftware.de/filemaker/files/Prerelease/ or ask for being added to the dropbox shared folder.

The power of global variables

Thursday 09 June 2016 at 10:06 am
As you may know we have global variables via plugin functions available in FileMaker.
While normal $ variables expire at the end of the script and $$ variables are tight to the current file, the plugin offers true global variables for all files (or when none is open). There is actually a feature request for $$$ variables: $$$Variable. So you can put a value in a variable and later pick it, even after a file changed. Some developers use this for login. The user starts the solution with one database file which performs some setup things and sets a few global variables, e.g. with the current user name and some permission settings. For example whether user is admin or debugging is enabled. Now in other files, they can check the variables and do things depending on the values.

To set a global variable, you call FM.VariableSet. To query it later you can use FM.VariableGet. If you like to know if a variable exists, you can query FM.VariableExists or check the list returned by FM.VariableList. To clear a variable you can cal FM.VariableClear.

On a server the global variables are in memory for all scripts run on server. So if one script sets a value, another script can read it. And that works even for different users. This way you can pass values from one client to other by performing scripts on server.

As you may know we store native values in those variables and our dictionary functions. This allows to store container or date values without converting them to text in-between.

Our dictionary functions allow you to have assoziative arrays in memory where you can lookup values based on a key value. Typically the keys are numbers or text and the value can be anything. For example you can load zip codes into a dictionary and later look them up quickly. The lookup is by using a hash table, so it's quicker than a database lookup.

xDev Magazine Launches xDevLibrary

Wednesday 08 June 2016 at 11:00 pm

June 8, 2016 -- xDev Magazine is delighted to announce the re-launch of RBLibrary as xDevLibrary, following the purchase of the classic à la carte article site in April. To celebrate the grand re-opening, for the first week everything on the site is 10% off the normal price!

xDevLibrary gives Xojo developers a way to instantly purchase terrific books, tutorials, how-tos, and other programming articles from top Xojo writers. Currently the site contains mainly the same content as the former RBLibrary, but xDev is committed to enhancing existing products, as well as regularly adding new content, including articles from past issues of xDev Magazine.

With that in mind, the site is launching with with a brand new book from Eugene Dakin: "I Wish I Knew How to... Program Raspberry Pi 2 B Electronics with Xojo." This fantastic 380+ page book will guide you in using Xojo to program your Raspberry Pi motherboard and includes examples such as ultrasonic distance, LCD words, graphics, and custom glyphs, infrared sensors, photo and video recording, servos, LEDs, infrared receivers, and more.

Interested readers can find out more and save 10% on their purchase of the book (through June 15th) at xDevLibrary.

Marc Zeedar, the publisher of xDev Magazine, feels that xDevLibrary is a great complement to the resources already offered by his publication. "Now we can offer the best of both worlds: the value of a subscription-based service and the instant purchasing of individual articles and books."

Former RBLibrary owner Norman Palardy is also excited about the transition to the new site. "xDev has been providing REALbasic users with learning resources for over 14 years and we're pleased to see them continue their commitment to the Xojo community."

xDevLibrary is re-launching with a simple one-page design, but a more elaborate design is planned for the long-term. Feedback and suggestions as to what readers would like to see is encouraged! (more)

FileMaker developer meeting in Kopenhagen

Tuesday 07 June 2016 at 8:12 pm
We meet with FileMaker developers in Kopenhagen:

If you like to join, please contact me soon:

13rd June 2016, Kopenhagen
We meet with a couple developers in downtown Kopenhagen.
Topics will include the WWDC keynote from Apple, recent plugin changes and what's new in FileMaker world.

We meet at 18 o'clock, but of course you can come later.
Joining is free of cost except for your own traveling, food and beverages. Register

Older blog entries:

2016-06-05 XDC in 4 months
2016-06-04 FileMaker License Guide
2016-06-04 Xojo License guide
2016-06-03 Please don't deactivate plugins
2016-06-01 MBS Xojo / Real Studio Plugins, version 16.3pr1
2016-06-01 MBS FileMaker Plugin, version 6.3pr1
2016-05-30 SQLite turned 16
2016-05-26 DynaPDF 4.0
2016-05-25 MBS Xojo Conference done
2016-05-25 Austin and Koblenz
2016-05-24 MBS Xojo / Real Studio plug-ins version 16.2
2016-05-24 MBS FileMaker Plugin 6.2 for OS X/Windows
2016-05-24 New Archive classes for handling zip and tar archives
2016-05-24 FileMaker conferences and meetings
2016-05-22 Developer Meetings for Sweden and Denmark
2016-05-20 MBS Xojo / Real Studio Plugins, version 16.2pr10
2016-05-20 MBS FileMaker Plugin, version 6.2pr10
2016-05-20 MBS Xojo Conference: Some Pictures
2016-05-20 Webviewer certificate overwrite
2016-05-19 MBS Xojo Conference started

Archives

Jun 2016
May 2016
Apr 2016
Mar 2016
Feb 2016
Jan 2016
Dec 2015
Nov 2015
Oct 2015
Sep 2015
Aug 2015
Jul 2015
Jun 2015
May 2015
Apr 2015
Mar 2015
Feb 2015
Jan 2015
Dec 2014
Nov 2014
Oct 2014
Sep 2014
Aug 2014
Jul 2014
Jun 2014
May 2014
Apr 2014
Mar 2014
Feb 2014
Jan 2014
Dec 2013
Nov 2013
Oct 2013
Sep 2013
Aug 2013
Jul 2013
Jun 2013
May 2013
Apr 2013
Mar 2013
Feb 2013
Jan 2013
Dec 2012
Nov 2012
Oct 2012
Sep 2012
Aug 2012
Jul 2012
Jun 2012
May 2012
Apr 2012
Mar 2012
Feb 2012
Jan 2012
Dec 2011
Nov 2011
Oct 2011
Sep 2011
Aug 2011
Jul 2011
Jun 2011
May 2011
Apr 2011
Mar 2011
Feb 2011
Jan 2011
Dec 2010
Nov 2010
Oct 2010
Sep 2010
Aug 2010
Jul 2010
Jun 2010
May 2010
Apr 2010
Mar 2010
Feb 2010
Jan 2010
Dec 2009
Nov 2009
Oct 2009
Sep 2009
Aug 2009
Jul 2009
Apr 2009
Mar 2009
Feb 2009
Dec 2008
Nov 2008
Oct 2008
Aug 2008
May 2008
Apr 2008
Mar 2008
Feb 2008
XML: RSS Feed XML: Atom Feed