MBS FileMaker Plugin 6.0 for OS X/Windows

Thursday 28 January 2016 at 1:48 pm
Nickenich, Germany - (January 28th, 2016) -- MonkeyBread Software today is pleased to announce MBS FileMaker Plugin 6.0 for Mac OS X or Windows, the latest update to their product that is easily the most powerful plugin currently available for FileMaker Pro. As the leading database management solution for Windows, Mac, and the web, the FileMaker Pro Integrated Development Environment supports a plugin architecture that can easily extend the feature set of the application. MBS FileMaker Plugin 6.0 has been updated and now includes over 3500 different functions, and the versatile plugin has gained more new functions:

With the new version we got a couple of new DynaPDF functions. One is the new optimize command to rebuild and repair PDF files. You can do that before archiving PDFs or before creating a PDF/A file. If you need to embed XML for your invoice PDFs, please check the ZUGFeRD examples. If you need to extract text from a PDF, you can now decide between DynaPDF.ExtractText for the whole document or DynaPDF.ExtractPageText for individual pages.

Our JSON functions got a major update. We know can pass JSON around as both text and IDs. Using IDs can reduce the work the plugin does with parsing and speed up the process a lot. Please check the new functions JSON.Parse, JSON.CreateArrayRef and JSON.CreateObjectRef to create references and work with them.

Do you have a LDAP server or one for Active Directory? We have new functions to query LDAP server. You can perform a search and get back results. You can add, modify, delete and rename entries.

If you need to loopup an IPv4 or IPv6 for a domain name, you can use our new DNSLookup functions. The reverse way is possible by looking up domain name for an IP.

For handling zip archives we got two new convenience functions: UnZipFile.ExtractFiles expands all files from an open archive while ZipFile.CompressFiles adds files to an archive. If you need more control, we still have individual functions for the tasks.

If you are unfamiliar with SQL, but you like to use powerful commands in FileMaker, please check our new Insert/Update/Delete commands. FM.UpdateRecord lets you update a record without switching layout. With FM.InsertOrUpdateRecord the plugin either updates an existing record or inserts a new one. And with FM.DeleteRecord you can delete a record without a relationship or changing layout. And those functions are available for multiple records, too.

For the FileMaker development, we got a new contextual menu entry for most list controls in FileMaker. Copy the list of fields or tables as text. Our Syntax Coloring feature is now off by default and turns on when you open script editor. This way regular users don't run into it.

We added html functions for clipboard, better hash, more FSEvents and path, new preferences and window, better list matching and PDFKit functions.

Finally we updated DynaPDF to version 3.0.48.143, libXL to version 3.6.5.2, openssl to version 1.0.2e, SQLAPI++ to version 4.1.7 and SQLite to version 3.10.2

See release notes for a complete list of changes.

MBS Xojo plug-ins in version 16.0

Thursday 28 January 2016 at 1:30 pm
NICKENICH, Germany (January 28th, 2016) -- Monkeybread Software releases version 16.0 of the MBS plug-in for Xojo and Real Studio.

The MBS plug-in comprises a collection of several plug-in parts which extend the Xojo (Real Studio) development environment with 2,200 classes featuring over 57,000 documented functions. Our plugins support all three platforms Mac OS X, Windows and Linux with all project types desktop, web and console including 64-bit and ARM targets.

Some of the highlights on the 16.0 update:

For AVFoundation we got a couple of new classes related to working with movies. You can work with tracks and modify them similar to the deprecated QuickTime functions. Merge videos, cut parts of tracks, add new tracks and save the resulting movie as self containing movie or reference movie.

For people interested in USB HID devices we have a new set of classes to use them cross platform. For your Mac, Windows and Linux applications, you can now easily find devices and read/write data.

Windows applications have different ways for drag & drop of files. We now added a third way which allows use to get attachments when people drag & drop them from an email in Microsoft Outlook.

For XL plugin to read and write Excel files without Microsoft Excel, we got an update to latest version. Now you can even use those classes on 64-bit and ARM Linux platforms.

If you like to use zip archives with our plugin, we got two new convenience functions. The ExtractFiles function write the content of a zip archive to a given folder in the file system. Our CompressFiles function on the other side takes a folder and list of files and adds them to a zip archive. If you need more control, you can still use all the individual functions.

In order to write more encoding safe applications, we now have CheckUTF8MBS to replace DefineEncoding for UTF-8. The plugin replaces invalid byte values and makes sure the text is valid UTF-8. For better crash reports, you can now use SetThreadNameMBS method to name the thread and easier identify them in each report.

For better encryption, we added new padding property for CipherMBS class. The RSA sign/verify data functions can now take algorithm parameter to produces signatures using various secure hashes.

We got a new multithreaded SQL Database connection method, so your app is not blocked while connecting. You can now easily create a PDF directly from a NSAttributedStringMBS, good to make a PDF from rtf or word files. We updated the CoreImage classes with new filters, e.g. for QRCodes.

Finally we updated SQLAPI++ to version 4.1.7, DynaPDF to version 3.0.48.143, OpenSSL to version 1.0.2e, libXL to version 3.6.5 and SQLite to 3.10.2. This is the first plugin version without PPC code for older REALbasic versions. Now OS X 10.5 is required for deployment of Carbon applications with Real Studio.

See release notes for a complete list of changes.

Special offer for January: DynaPDF Lite

Wednesday 27 January 2016 at 3:25 pm
Interested in DynaPDF Lite?

For January we have a special offer:

DynaPDF Lite for $469 instead of $669 USD. (save $200)

You can use the DynaPDF License from us for the Xojo, Real Studio and FileMaker plugin.
The license is valid for C/C++, Delphi, PHP and Visual Basic.

Interested? Please contact us.

(VAT may apply. Euro price is 429 €)

FileMaker DevCon 2016 Las Vegas

Tuesday 26 January 2016 at 9:43 pm
Mark your calendars and register today for the FileMaker Developer Conference 2016 in Las Vegas, Nevada from July 18-21. Join over 1,500 developers at The Cosmopolitan for the most intensive — and fun — FileMaker educational experience of the year.

Don't forget to visit the MBS booth :-)

PS: Did you know that if you sign up as a company with a group of 4 developers, the 4th ticket is free?

MBS Xojo / Real Studio Plugins, version 16.0pr8

Tuesday 26 January 2016 at 2:49 pm
New in this prerelease of the 16.0 plugins:
  • Improved XL Plugin to work on Linux ARM and 64-bit targets.
  • Improved DelayMBS precision. (broken in earlier pr)
  • Updated libXL to version 3.6.5.
  • Fixed a problem in MimeEmailMBS to not mark some inline text segments as attachments.
  • Improved WinDataObjectMBS.GetFileName function.
  • Updated SQLite to version 3.10.2.
Download: macsw.de/plugin/Prerelease . Or ask us to be added to our shared Dropbox folder.

MBS FileMaker Plugin, version 6.0pr8

Tuesday 26 January 2016 at 1:06 pm
New in this prerelease of the 6.0 plugins:
  • Fixed RichText.ReplaceText to replace more than 100 items.
  • Added Window.Maximize and Window.Minimize.
  • Removed debug messages for launch of plugin.
  • Added DynaPDF.GetTextDrawMode and DynaPDF.SetTextDrawMode.
  • Changed goto line to animate and jump to the middle.
  • Changed Syntax Coloring. Unless you open a script editor, relation graph window or debugger, we keep the colors off. This should avoid your clients see colors in text or search fields.
  • Fixed a problem in email parsing to not mark some inline text segments as attachments.
  • Changed Search Field in scripts. When you close script editor, the search is reset.
  • Fixed bug in Syntax Coloring to make sure some letters like a single a is no longer red.
  • Changed QTMovie.OpenContainer to work better with MP3 files.
  • Updated SQLite to version 3.10.2.
Download at monkeybreadsoftware.de/filemaker/files/Prerelease/ or ask for being added to the dropbox shared folder.

Session Voting for MBS Xojo Conference

Friday 22 January 2016 at 7:39 pm
We have a speaker who offered several topics for a presentation:
  • Creating reports with XojoScript and MBS XL Plugin
  • Database independant programming: using interface
  • Screen designer: how to create an application specific IDE
  • Creating and communicating with a web service using JSON
  • Integrating SIX payment systems saferpay credit card terminal with a web app
  • Creating PDF file with XojoScript and MBS DynaPDF Plugin
Please vote for them in this doodle survey.
Once we know your preferences, we can pick a topic.

Speakers are still welcome as we still have free sessions.

DynaPDF Manual

Friday 22 January 2016 at 5:16 pm
DynaPDF has it's own documentation, which you can find included with our plugin: dynapdf_help.pdf.

In order to read it in a browser and for search engines to soon index it, I put the manual online as a webpage version:

monkeybreadsoftware.de/dynapdf/

Maybe it helps people. From time to time I can update it with current PDF file.

MBS FileMaker Plugin, version 6.0pr7

Wednesday 20 January 2016 at 11:15 pm
New in this prerelease of the 6.0 plugins:
  • Fixed FM.InsertRecordQuery to copy containers, too.
  • Added DynaPDF.Optimize function.
  • Added FM.InsertRecordQueryIgnoreDuplicates function.
  • Fixed problem in QuickList.MatchesSubString not splitting right.
  • Improved XML.Import for some special XMLs.
  • When copying scripts, the plugin now adds links to MBS plugin reference automatically.
  • Added Window.GetTitleVisible, Window.GetTitlebarAppearsTransparent, Window.SetTitleVisible and Window.SetTitlebarAppearsTransparent.
  • Added UnZipFile.ExtractFiles and ZipFile.CompressFiles functions.
  • Added Flags parameter for Hash.MD5.HMAC, Hash.PBKDF2.HMAC, Hash.SHA1.HMAC, Hash.SHA256.HMAC and Hash.SHA512.HMAC so you can define if input is Hex encoded or not.
  • Updated to newer plugin SDK.
  • Updated SQLite to version 3.10.1.
Download at monkeybreadsoftware.de/filemaker/files/Prerelease/ or ask for being added to the dropbox shared folder.

MBS Xojo / Real Studio Plugins, version 16.0pr7

Wednesday 20 January 2016 at 7:42 pm
New in this prerelease of the 16.0 plugins:
  • Added alogrithm options for OpenSSLMBS.SignData and OpenSSLMBS.VerifyData.
  • Added MacAliasMBS CreateAliasFromPath function.
  • Changed MacAliasMBS Create and CreateMinimal to work for non existing files.
  • Added Linux Support for Folderitem.VolumeFreeSizeMBS and folderitem.VolumeSizeMBS functions.
  • Added CheckUTF8MBS function. Like DefineEncoding UTF8, but with replacing bad characters.
  • Added UnZipMBS.ExtractFiles and ZipMBS.CompressFiles.
  • Fixed an alignment problem with DynaPDF.ReplacePattern.
  • Changed WordFileMBS class to work in console apps.
  • Updated SQLite to version 3.10.1.
  • Added AppReceiptVerificatorMBS.FailReason property.
  • Fixed GM16ColorMBS.Constructor for colors to take the right.
Download: macsw.de/plugin/Prerelease . Or ask us to be added to our shared Dropbox folder.

Optimize PDF Script

Tuesday 19 January 2016 at 9:04 pm

If you like to optimize a PDF with DynaPDF in FileMaker, you can use a script like the one below.

It loops over a table with container fields and imports them all in one PDF In memory.

Than it optimizes the PDF and writes it back to a container field.

For your convenience I included the commands to use files, too:

 

 

#Initialize DynaPDF if needed

If [$$DynaPDFInited  ≠ 1]

Perform Script [“InitDynaPDF”]

End If

#Clear current PDF document

Set Variable [$pdf; Value:MBS("DynaPDF.New")]

#For writing to file instead of container, pass path here:

//  Set Variable [$r; Value:MBS("DynaPDF.OpenOutputFile"; $pdf; "/Users/cs/Desktop/test.pdf")]

#Load PDF from container

Go to Record/Request/Page [First]

Set Variable [$destPage; Value:1]

Loop

#Read from file

//  Set Variable [$r; Value:MBS("DynaPDF.OpenPDFFromFile"; $pdf; "/Users/cs/Desktop/input.pdf")]

#or container

Set Variable [$r; Value:MBS("DynaPDF.OpenPDFFromContainer"; $pdf; Merge PDFs::InputPDF)]

#Import all pages

Set Variable [$r; Value:MBS("DynaPDF.ImportPDFFile"; $pdf; $destpage)]

If [GetAsNumber($r) >0]

Set Variable [$destPage; Value:$r+1]

End If

Go to Record/Request/Page [Next; Exit after last]

End Loop

#Repair & Optimize PDF

Set Variable [$r; Value:MBS("DynaPDF.Optimize"; $pdf)]

#Save to container

Set Field [Merge PDFs::FinalPDF; MBS("DynaPDF.Save"; $pdf; "Merged.pdf")]

Set Variable [$r; Value:MBS("DynaPDF.Release"; $pdf)]



Free tickets for young developers for MBS Xojo Conference 2016

Tuesday 19 January 2016 at 11:02 am
Monkeybread Software is pleased to announce the 5th MBS Xojo Conference in beautiful Koblenz, Germany. Once again we meet in the lovely Contel hotel on the banks of the river Moselle. Beside our two conference days we have accompanying social programme with our dinner event and optional two training days. For the evenings we have casual get-together in the hotel bar or beer garden.

We like to offer young developers the possibility to meet the Xojo community, get in touch with other developers and maybe find first clients or an employer.

For the 2016 conference we decided to do something special. We provide three conference tickets free of charge to three young developers so they have the chance to join our conference. Please apply until 19th February 2016 to get one of the tickets.

Requirements:
  • You speak english and you can follow the conference.
  • You are 25 years old or younger.
  • You have done your first Xojo projects and know Xojo a little bit.
  • You are sure you can cover your cost of travel, food and hotel room.
  • You have the required passport or Visa to travel to Koblenz.
We are happy to have Xojo engineers join our conference. Norman Palardy from Canada and St├ęphane Pinel from France will be there to talk about Xojo. Jens Boschulte, our PDF specialist and creator of the DynaPDF library will be available for questions. And of course we have a few other well known Xojo developers coming.

The schedule:

May 17th: Xojo Training in English
May 18th: Xojo Training in German
May 19th: Conference, first day with dinner event
May 20th: Conference, second day

Registration is open. Attending the conference costs regularly 299 Euro plus VAT, including food and beverage in the Contel Hotel on the banks of the river Moselle as well as an accompanying social programme. The early bird offer available till 19th February is just 199 Euro plus VAT.

Sessions are to be held in English. Our conference is conceived as a networking event. The conference is an ideal opportunity for sharing your thoughts and your own development experience with fellow users and developers. If you like to hold a presentation, please contact us as soon as possible. Speaker receive discounted tickets.

Registration and more Information on our website.
Training days in German and English.

For any questions, please contact me directly.

DynaPDF 4, Optimization and PDF/A

Tuesday 19 January 2016 at 12:04 am
DynaPDF 3 is already 5 years old and a lot of changed since then. Version 3 had the render feature as the big new function, but that involved to more. For example we got a print feature on Windows to directly send PDFs to a printer. Or the render features to write a multi page tiff file for a PDF.

For February DynaForms scheduled the release of Version 4 of the DynaPDF library. The big new features for Version 4 are a much improved PDF/A converter which supports version 1b, 2b and 3b of the PDF/A standard.

With DynaPDF Lite you can create PDF/A files and run the conformance check. This check is required to know which ICC color space to include as an output intent and whether the PDF conforms to the PDF/A standard.

Now if you have DynaPDF Pro plus the PDF/A extension, you can use the conformance check function to actually change the PDF and make it being conform. The current version of DynaPDF does those changes for PDF/A 1b. The converter for PDF/A 2b and 3b is currently in beta stage and will be ready soon.

Maybe more interesting on the PDF/A converter is the function to optimize and repair PDFs before archiving them. We can put in broken PDFs and they are rebuild completely. This fixes wrong items and removes duplicate parts, so the resulting PDFs are often smaller. Another optimization which runs optionally is to convert colors from various color spaces like Separation, DeviceN, and N-Channel color spaces to device color space. If you are interested in smaller images, DynaPDF can optionally scale down images in the PDF. e.g. reduce DPI of images and compress them as JPEG so they need less space. Finally DynaPDF can optionally delete invisible paths to further reduce file size.

More coming soon in our plugins.

PS: The Optimize feature can also be used to fix corrupted PDFs created in FileMaker 14. See community thread.

Encrypted Access database in Xojo

Monday 18 January 2016 at 9:13 pm
If you like to use an Microsoft Access database cross platform on Mac OS X, Windows and Linux, your options are quite limited. But some clients have a need to read data from Access database and process it in their own application.

Now we found the ucanaccess project on source forge, an open source Java JDBC Driver implementation to read/write Microsoft Access database. That is a great piece of software in our case. This library uses the Jackcess library for the file IO. And there is an extension called Jackcess Encrypt to handle encrypted Access databases.

We do have a few MBS Plugins here and one is our Java plugin. For that plugin we have classes to use JDBC database connections in Xojo directly. Putting pieces together we can load the ucanaccess JDBC driver in Xojo and connect to the encrypted Microsoft Access database from client. We are happy and the application can query/write data from time to time to keep old and new system in sync.

Now if you like to see how it works, well you need all the jar (java archive) files with the required classes in a folder. This way the application can find the jar files and pass to the virtual machine on creation. Once the VM is initialized, we can create a database object, do a query and show the results:

dim appFolder as FolderItem = GetFolderItem("") // find all jar files in a java folder Dim count As Integer = appFolder.Parent.Child("java").Count dim libjs() as string For i As Integer = 1 to count Dim f As FolderItem = appFolder.Parent.Child("java").item(i) If f <> Nil and f.name.Right(4) = ".jar" Then libjs.append f.NativePath+";" End If Next // init virtual machine dim librery as string = Join(libjs, "") dim vm as new JavaVMMBS(librery) if vm.Handle = 0 then MsgBox "Failed to initialized JavaVM." else // new database connection using specific database driver class dim d as new JavaDatabaseMBS(vm,"net.ucanaccess.jdbc.UcanaccessDriver") // the file Dim DbFile as FolderItem = appFolder.Parent.Child("Database.accdb") // connect dim j as JavaConnectionMBS = d.getConnection("jdbc:ucanaccess://"+DbFile.NativePath, "", "") // run a query dim r as JavaResultSetMBS = j.MySelectSQL("Select * From test") while r.NextRecord MsgBox r.getString("FirstName") +" "+ r.getString("LastName") wend end if // any problem? Exception e as JavaExceptionMBS MsgBox e.message+" errorcode: "+str(e.ErrorNumber)

CheckUTF8MBS function

Monday 18 January 2016 at 09:33 am
We got a new function which may be helpful for you: CheckUTF8MBS

It works like DefineEncoding with encodings.UTF8, but it makes sure that all the bytes are valid UTF-8. You can just drop in our function and pass the placeholder you need to replace invalid bytes. Like in this example which uses a random string:

// some random bytes dim t as string = RandomBytesStringMBS(20, false) // and some text t = t + " äöü 😀" // checked dim s as string = CheckUTF8MBS(t, "😂") MsgBox s
If you like to try, please email me, so I can send you a new MBS Util Plugin copy.

Using CURL with Rosette web service

Sunday 17 January 2016 at 2:11 pm

One developer using MBS Plugin came with a request to connect to Rosette's API to query various functions on language detection and parsing.

From the website they got this cURL command line to translate:

curl "https://api.rosette.com/rest/v1/morphology/complete" \
     -H 'user_key: [your_api-key]' \
     -H 'Content-Type:application/json' \
     -H 'Accept:application/json' \
     -d'{"content": "The quick brown fox jumped over the lazy dog. Yes he did."}'

Now this translates very well into a FileMaker Script. As you see we start a new CURL session, set a couple of options, perform the transfer and check the result.


For building the JSON I highly recommend to check the latest 6.0 prerelease for the new JSON commands we have there. As this webservice is a REST webservice, the input and output is JSON encoded and our functions help to do this very efficiently. 

# Start new CURL transfer

Set Variable [$curl; Value:MBS("CURL.New")]

# Set options like Verbose Debug Messages

Set Variable [$result; Value:MBS("CURL.SetOptionVerbose"; $curl; 1)]

# the url of webservice

Set Variable [$result; Value:MBS("CURL.SetOptionURL"; $curl; "https://api.rosette.com/rest/v1/morphology/parts-of-speech")]

# the header info for tagging, API Key comes from a global field.

Set Variable [$result; Value:MBS("CURL.SetOptionHTTPHeader"; $curl; "user_key: " & RosetteAPISettings::RosetteAPIKey; "Content-Type: application/json"; "Accept: application/json" )]

# We want a POST transfer:

Set Variable [$result; Value:MBS("CURL.SetOptionPost"; $curl; 1 )]

# Build JSON using the plugin function to properly encode a string:

Set Variable [$request; Value:"{\"content\": " & MBS("JSON.CreateString"; TextData::TextAsInput) & "}"]

Set Variable [$result; Value:MBS("CURL.SetOptionPostFields"; $curl; $request)]

#show our JSON in a field for debugging:

Set Field [TextData::CURLInput; $request]

#Run transfer

Set Variable [$result; Value:MBS("CURL.Perform"; $curl)]

# Check result and debug messages

Set Field [TextData::CurlDebug; MBS("CURL.GetDebugAsText"; $curl)]

Set Field [TextData::CurlOutput; MBS("CURL.GetResultAsText"; $curl)]

# Cleanup

Set Variable [$r; Value:MBS("CURL.Cleanup"; $curl)]



2016 Xojo Developer Conference Offers 30+ Sessions, Meet the Experts, Networking and More; Call for Speakers Opens

Friday 15 January 2016 at 9:29 pm
2016 Xojo Developer Conference Offers 30+ Sessions, Meet the Experts, Networking and More; Call for Speakers Opens

AUSTIN, Texas USA (January 15, 2016) -- Xojo, Inc., makers of Xojo, a cross-platform development tool for the desktop, web, iOS, and Raspberry Pi, is hosting the 2016 Xojo Developer Conference (XDC) in Houston, Texas October 5 - 7, 2016 at Hotel Derek. XDC includes over 30 technical sessions presented by the company's development staff and leading users from around the globe. In addition, XDC will include a keynote address from Founder and CEO Geoff Perlman, numerous opportunities for attendees to interface with the Xojo engineers themselves, networking events with other Xojo users from the international community, and a new and exciting gaming code battle.

XDC is the best place for Xojo developers to perfect their programming skills, learn from the experts and meet other Xojo developers from all over the world. The conference features sessions on best practices, special interests and other technical issues, with content for every level of Xojo developer - from newcomers and students to advanced sessions for Xojo experts and professionals. With the addition of Raspberry Pi support in Fall of 2015, Xojo engineers will cover sessions at XDC on Raspberry Pi development and best practices.

Conference pricing:

Early Registration Price, Ending March 21, 2016: $799
Advanced Registration Price, March 22, 2016 to August 22, 2016: $899
Late Registration Price, August 23, 2016 to Conference: $999

Register now!

Hotel Derek is offering XDC attendees a special hotel room rate of $164/night during the conference. For more information, including the registration link and the agenda, please visit: xojo.com/xdc.

To learn what XDC is like, view the 2015 XDC Highlights video

Call for Speakers
Xojo is looking for talented and passionate speakers to present at XDC 2016! In addition to the fame, becoming an XDC speaker gets you a 50% discount on conference registration! If you are interested in presenting, we encourage you to submit a proposal with your session topic(s) and brief description(s) (3-5 sentences), along with your full name and contact info, to the XDC Conference Coordinator at dana@xojo.com. If you are interested in presenting, but not sure of a topic, please reach out to us and we can help you develop your session. The deadline to submit proposals is Friday, February 26, 2016.

About Xojo, Inc.
Xojo, Inc. was founded with the idea that software development should be accessible to anyone. With traditional tools, creating software applications can be a very complicated process, but using Xojo anyone can learn to create high quality, native apps for the desktop, web, mobile and Raspberry Pi. With users all over the world, Xojo apps can be found in every conceivable category - from commercial software applications to use in governments, universities, businesses, and the Fortune 500. For more information visit xojo.com.

Tip of the day: Make a 32-bit FileMaker 14 application

Friday 15 January 2016 at 7:38 pm
Need to run FileMaker always in 32-bit independent of the flag in Finder info window and independent of how you launch FileMaker?

One way is to simply remove 64-bit code from FileMaker. If you run in terminal the file command, you see that FileMaker 14 is a 32-bit and 64-bit universal binary:

file ./FileMaker\ Pro\ Advanced.app/Contents/MacOS/FileMaker\ Pro
./FileMaker Pro Advanced.app/Contents/MacOS/FileMaker Pro: Mach-O universal binary with 2 architectures
./FileMaker Pro Advanced.app/Contents/MacOS/FileMaker Pro (for architecture x86_64): Mach-O 64-bit executable x86_64
./FileMaker Pro Advanced.app/Contents/MacOS/FileMaker Pro (for architecture i386): Mach-O executable i386

Now to make it a 32-bit only app, run the following command (one line):

lipo -thin i386 ./FileMaker\ Pro\ Advanced.app/Contents/MacOS/FileMaker\ Pro -output ./FileMaker\ Pro\ Advanced.app/Contents/MacOS/FileMaker\ Pro

This removed 64-bit code and you now have a 32-bit only app:

file ./FileMaker\ Pro\ Advanced.app/Contents/MacOS/FileMaker\ Pro
./FileMaker Pro Advanced.app/Contents/MacOS/FileMaker Pro: Mach-O executable i386

For relative paths to work as above, you need to move in the right folder using cd command in Terminal. Please also make a backup and be aware that any updater will probably restore the app.

PS: Do at your own risk. If something goes wrong you need to reinstall FileMaker 14.

Speakers wanted

Thursday 14 January 2016 at 8:30 pm
Just got notice that Xojo Inc. is looking for speakers for XDC 2016 in Houston:

Looking for speakers for XDC 2016!

Xojo is looking for talented and passionate speakers to present at XDC 2016! In addition to the fame, becoming an XDC speaker gets you a 50% discount on conference registration! If you are interested in presenting, we encourage you to submit a proposal with your session topic(s) and brief description(s) (3-5 sentences), along with your full name and contact info, to the XDC Conference Coordinator at dana@xojo.com. If you are interested in presenting, but not sure of a topic, please reach out to us and we can help you develop your session. The deadline to submit proposals is Friday, February 26, 2016.


Speaking at such a great Xojo conference is of course a big honor and you save some money for your ticket.

If you like to speak in Europe at a smaller conference, you can of course submit a session for our MBS Xojo Conference, too. I would expect only around 10 people to visit both conferences, so you could even do a presentation first in Europe and later an updated one in USA.

Hiding window title bar

Thursday 14 January 2016 at 7:28 pm
In the screenshot below, do you see all 4 FileMaker windows?

We have here:
  1. Normal window with status toolbar
  2. Window without toolbar, but with title bar
  3. Window with toolbar, but without title bar
  4. Window without titlebar and without toolbar
We'll see how useful this will be in the future.

FileMaker Pro Gurus

Thursday 14 January 2016 at 09:09 am
Did you see the interview from Don Clark with me at last DevCon in Las Vegas?
Here it is:


If you like to watch, just go to filemakerprogurus.com on the interview page.

MBS FileMaker Plugin, version 6.0pr6

Wednesday 13 January 2016 at 2:31 pm
New in this prerelease of the 6.0 plugins:
  • Updated DynaPDF to version 3.0.47.141.
  • Updated libXL library to version 3.6.5.2.
  • Added contextual menus to most tables in FileMaker on Mac to copy content of table.
  • Added SyntaxColoring.ContextualMenuEnabled.SetEnabled and SyntaxColoring.ContextualMenuEnabled.GetEnabled functions.
  • Added Clipboard.GetHTMLText and Clipboard.SetHTMLText.
  • Updated SQLite to version 3.10.0.
  • For addressbook properties and labels you can now both pass with or without kAB prefix. So kABUIDProperty and UIDProperty work now.
  • Rewrote most of JSON so you can now optionally use JSON reference numbers for JSON objects for faster processing.
  • Added JSON.Release, JSON.CreateArrayRef, JSON.Parse and JSON.CreateObjectRef functions.
  • Changed JSON.Add* functions to allow multiple parameters to be passed to add a lot of values.
  • Added JSON.AddBooleanToObject and JSON.CreateBoolean functions.
  • Fixed Plugin.Path function for Windows.
  • Fixed bug in FM.SQL.Field function.
  • Fixed a memory leak in the internal function to query idle time on Mac.
  • Fixed a bug in FM.StopScriptIdle and in FM.RunScriptIdle.
  • Added Preferences.HasValue and Preferences.DeleteValue functions.
Download at monkeybreadsoftware.de/filemaker/files/Prerelease/ or ask for being added to the dropbox shared folder.

MBS Xojo / Real Studio Plugins, version 16.0pr6

Wednesday 13 January 2016 at 12:03 pm
New in this prerelease of the 16.0 plugins:
  • Updated DynaPDF to version 3.0.47.141.
  • Added more functions to NSAttributedStringMBS, NSFileWrapperMBS and NSMutableAttributedStringMBS classes.
  • Added ChromiumWebPluginInfoMBS class.
  • Added RegExMBS.Match functions to easily match against text, array of text and array of variant.
  • Added JSONMBS.Clone.
  • Changed CIVectorMBS.vectorWithCGAffineTransform, CIVectorMBS.vectorWithCGPoint and CIVectorMBS.vectorWithCGRect to work on OS X before 10.9.
  • Updated SQLite to version 3.10.0.
  • Added DynaPDFMBS.GetDocumentColorSpaces and DynaPDFMBS.GetPageColorSpaces easier get color spaces for current PDF or a page.
  • Added more convenience parameters to DynaPDFColorSpaceMBS class.
Download: macsw.de/plugin/Prerelease . Or ask us to be added to our shared Dropbox folder.

FileMaker iOS App SDK

Tuesday 12 January 2016 at 8:25 pm
FileMaker Inc. today put a new SDK online for creating iOS apps based on FileMaker Go.

So if you have Xcode and an iOS app developer account with Apple, you should be able to build an iOS app which includes your fmp12 file as user interface.
You can have your own icon, URL scheme, startup screen and much more.

Now I wonder if a plugin SDK for iOS is coming, too...

see help.filemaker.com/app/answers/detail/a_id/15531
and help.filemaker.com/app/answers/detail/a_id/15582/

MBS Xojo Conference 2016 in Koblenz, Germany

Tuesday 12 January 2016 at 12:34 pm
Monkeybread Software is pleased to announce the 5th MBS Xojo Conference in beautiful Koblenz, Germany. Once again we meet in the lovely Contel hotel on the banks of the river Moselle. Beside our two conference days we have accompanying social programme with our dinner event and optional two training days. For the evenings we have casual get-together in the hotel bar or beer garden.

We are happy to have Xojo engineers join our conference. Norman Palardy from Canada and Stéphane Pinel from France will be there to talk about Xojo. Jens Boschulte, our PDF specialist and creator of the DynaPDF library will be available for questions. And of course we have a few other well known Xojo developers coming.

The schedule:

May 17th: Xojo Training in English
May 18th: Xojo Training in German
May 19th: Conference, first day with dinner event
May 20th: Conference, second day

Registration is open. Attending the conference costs regularly 299 Euro plus VAT, including food and beverage in the Contel Hotel on the banks of the river Moselle as well as an accompanying social programme.
The early bird offer available till 19th February is just 199 Euro, till 19th March 249 Euro plus VAT.

Sessions are to be held in English. Our conference is conceived as a networking event. The conference is an ideal opportunity for sharing your thoughts and your own development experience with fellow users and developers. If you like to hold a presentation, please contact us as soon as possible. Speaker receive discounted tickets.

Registration and more Information. Training days in German and English.
For any questions, please contact me directly.

Copy Table Content Menu Command for FileMaker on Mac

Monday 11 January 2016 at 3:51 pm
Do you need to copy the contents of a table in FileMaker easily?

in your field definitions:


or in script debugger:


With next plugin version we will include a new feature: For all tables where FileMaker doesn't have it's own contextual menu, we can add one with a command to copy the content to the clipboard. This is very helpful if you like to copy a call stack or the list of fields from your solution. And probably 10 other tables you can now copy, too.
The copy is just a right mouse click away.

Save the dates

Thursday 07 January 2016 at 2:33 pm
We do have some dates to share with you:
  • 11th March 2016, Xojo Meeting in Chicago, USA
  • 16th March 2016, Xojo Meeting in Cleveland, USA
  • 17th May 2015, Xojo Training in English
  • 18th May 2016, Xojo Training in German
  • 19th/20th May 2016, MBS Xojo Conference in Koblenz, Germany
For the training, we decided that english training is first, so our international guests have a day to visit the city in-between. And the following weekend is excellent for some sight seeing. Maybe we can even rent a bus and do something cool on saturday.
As our German attendees normally just come for a few days, we put the German training on Wednesday.

AES in FileMaker and PHP

Thursday 07 January 2016 at 11:06 am

You may have seen the AES blog post recently for AES encryption in both PHP and Xojo (Real Studio). The same AES encryption works in FileMaker, too.

Here is the example script:

# prepare

Set Variable [$keyHash; Value:MBS( "Hash.Digest"; "SHA256"; "Text"; AES like PHP::keyPlainText; "UTF-8"; "hex")]

Set Field [AES like PHP::keyHash; $keyHash]

Set Variable [$IVHash; Value:MBS( "Hash.Digest"; "SHA256"; "Text";AES like PHP::ivPlainText; "UTF-8"; "hex")]

Set Variable [$IVHash; Value:Left($IVHash; 32)]

Set Field [AES like PHP::IV; $IVHash]

# encrypt

Set Field [AES like PHP::EncryptedData; MBS( "Encryption.Cipher"; "encrypt"; AES like PHP::algorithm; "hex"; AES like PHP::keyHash; ""; "text"; AES like PHP::dataPlaintext; "UTF-8"; "base64"; ""; "hex"; AES like PHP::IV )]

# decrypt

Set Field [AES like PHP::DecryptedData; MBS( "Encryption.Cipher"; "decrypt"; AES like PHP::algorithm; "hex"; AES like PHP::keyHash; ""; "base64"; AES like PHP::EncryptedData; ""; "text"; "UTF-8"; "hex"; AES like PHP::IV; "" )] 


xDev Magazine Issue 14.1

Tuesday 05 January 2016 at 09:35 am
The January/February 2016 (14.1) issue of xDev Magazine is now available. Here's a quick preview of what's inside:

* London 2015 * by Richard Duke
There was another Xojo conference and you weren't there. That's because it was in the UK and travel is expensive. But don't worry, we've got all the details for you here!

* The MBS SQL Plugin * by Christian Schmitz
Did you know there are advantages to using the MBS SQL Plugin? Christian explains why and how you should use his plugin.

* The Magic of Barcodes * by Mark StricklandIt
sounds like a fantastic tale, but it works. Mark explains his system of using an iPhone app to scan barcodes for his Xojo Web App for inventory management.

* A Multicore Processing Primer, Part 2 * by Markus Winter
In this installment of his primer on multitasking, Markus explains about Linux.

* Medication Alerts, Part Two * by JC Cruz
JC's epic health journal app series concludes, this time covering presenting medical alerts to the user.

Plus articles on dates and the new framework, ergonomics, JSON, Role Party Model, Michel Bujardet, Getting the mouse cursor location in Xojo Web, transparent listboxes, and much more.

Special offer for January: DynaPDF Lite

Monday 04 January 2016 at 10:50 pm
Interested in DynaPDF Lite?

For January we have a special offer:

DynaPDF Lite for $469 instead of $669 USD. (save $200)

You can use the DynaPDF License from us for the Xojo, Real Studio and FileMaker plugin.
The license is valid for C/C++, Delphi, PHP and Visual Basic.

Interested? Please contact us.

(VAT may apply. Euro price is 429 €)

FileMaker Conference .fmp[x]Berlin 2016

Monday 04 January 2016 at 3:49 pm
There is a European Filemaker conference in english planed for Berlin, Germany: 
 
.fmp[x]Berlin 2016
THE pan-European Unconference for FileMaker Developers
2. - 4. Juni 2016
GLS Campus Berlin, Kastanienallee 82, 10435 Berlin

www.dotfmp.com
www.gls-campus-berlin.de
 
If you like to join an english speaking conference in Europe which is not organized by FileMaker, you are right here.

AES in Xojo and PHP

Sunday 03 January 2016 at 8:57 pm

Today we had the question how to encrypt text in Xojo or PHP and get same results. As both PHP and MBS Plugin can use OpenSSL library to encrypt, we can use the same parameters for both.

In thise case we use AES 256bit with CBC encryption. This requires a key length of 32 bytes exactly, so we use SHA 256 to get from the key a 32 byte key from whatever we have a plain text key. Be aware that different text encoding can produce different keys. So best make sure the key is UTF-8 before hashing. For the initialization vector, we also use a hashed text and pick first 16 bytes. The number of bytes for IV is variable as different encryptions may use different IV lengths.

(more)

Introducing Runtime Shrinker 2.0

Saturday 02 January 2016 at 8:10 pm
With our 6.0pr5 plugin we included the FileMaker Runtime Shrinker for Mac OS X. Download it on our prerelease plugin download page. This is a little tool which can shrink your FileMaker runtimes significantly. The application looks like this:



As you see we have 4 options:
  • First you can remove PPC code. As FileMaker does not even run on PowerPC based Macs, you can safely remove the old PPC code. (for FileMaker 11-13)
  • Second, we remove duplicate libraries. Yes, the runtime contains a few shared libraries several times and it works fine if you remove the duplicates.
  • Third, there are some icon files in the runtime which are not assigned to file types, so the operation system will never use them. You can remove them easily with this option.
  • Forth, you can remove 32-bit and/or 64-bit code for FileMaker 14. As the runtime requires OS X 10.7 you only need to ship either 32-bit or 64-bit depending on the plugins used. If there are plugins in the extension folder next to the runtime, those will also be shrunken.
  • Finally you can reduce the number of languages you support.
When we click the shrink button with all options and leaving only one language, we get the runtime smaller and the result dialog:


As you see we save 54 MB (32%) for a FileMaker 14 runtime here.

We already had questions for a Windows version. FileMaker runtimes on Windows include a lot of DLLs and most are required as far as we see. You still can yourself delete some localization files if you like. Also you don't need to include the Microsoft Runtime folders on Windows 7 as far as we see. Those libraries do ship with Windows 7, but please test that yourself.

Please give it a try and if you have questions, please do not hesitate to ask us.
if you want to share this news with friends, please point them to our website/blog so they can download the latest version. This app will probably need updates regularly for newer versions of FileMaker.

MBS Xojo / Real Studio Plugins, version 16.0pr5

Saturday 02 January 2016 at 5:55 pm
New in this prerelease of the 16.0 plugins:
  • Fixed bug in Registration code for Windows 64-bit.
  • Fixed a bug with Progress properties in CURLSMBS
  • Changed JSONMBS.SuffixObject to return the reference to new JSON node.
  • Added AVFoundation classes for movies: AVFragmentedMovieMBS, AVFragmentedMovieTrackMBS, AVMediaDataStorageMBS, AVMovieMBS, AVMovieTrackMBS, AVMutableMovieMBS and AVMutableMovieTrackMBS classes.
  • Disabled PPC code for Real Studio plugins. Moved minimum OS version for OS X for MachO target to 10.5.
  • Fixed CIDetectorMBS constructor.
  • Added HIDAPI classes to use HID devices cross platform.
  • Fixed OpenDialogMBS.File property for Cocoa.
Download: macsw.de/plugin/Prerelease . Or ask us to be added to our shared Dropbox folder.

MBS FileMaker Plugin, version 6.0pr5

Saturday 02 January 2016 at 3:59 pm
New in this prerelease of the 6.0 plugins:
  • Added more options for QuickList.MatchesPostfix and QuickList.MatchesPrefix.
  • Added QuickList.MatchesSubString function.
  • Updated Runtime Shrinker to version 2.0 for FileMaker 11 to 14.
  • Fixed bug in ServerSocket.SendQuery when reporting connection errors.
Download at monkeybreadsoftware.de/filemaker/files/Prerelease/ or ask for being added to the dropbox shared folder. PS: Version number on the pr5 is still 4.

Happy New Year 2016

Friday 01 January 2016 at 1:42 pm
Already 2015 is finished and we a looking forward to a great new year!

This is year 16 for our Xojo plugins and year 10 for our FileMaker plugin. Yes ten, even as we will deliver version 6. We synchronized version numbers to the year number long ago.

What was new in 2015?
  • LDAP Functions
  • CURL with multiple asynchronous transfers
  • Markdown functions in plugin and via Javascript.
  • Running JavaScript without webviewer.
  • Excellent email sending functions for multiple attachments, right text encoding, properly encrypted connection and inline graphics.
  • Elliptic curve cryptography
  • and much more
In total 700 new functions for FileMaker and 300 new classes for Xojo with over 5500 new features in total. Year end we have 3500 functions in our FileMaker plugin and over 57000 documented things in our Xojo plugins. Over the years little babies get grown up.

Wishes for 2016?
We have quite a long list of wishes from people, but maybe you have a few new ideas?

Already on the list are new functions for Xojo to talk directly to HID USB devices on Mac, Windows and Linux. For OS X we may get some AVFoundation movie classes for easier editing of video files.

A big thing to do could be rewriting scanner support for OS X and Windows in our FileMaker plugin. TWAIN is getting dated and drivers are harder to find for 64-bit.

Conferences 2016

We are looking forward to meet you. For Xojo there is of course the XDC 2016 in Houston, Texas. We have meetings planned for Cleveland and Chicago and probably a few more to be named. We are still considering doing our own European conference, but need to fix a date and location.

For FileMaker, we plan to meet you at Las Vegas conference as well as the PauseOnError in Cleveland. In October we probably have once again a few conferences in Europe for FileMaker in Salzburg and other cities.

Archives

Feb 2017
Jan 2017
Dec 2016
Nov 2016
Oct 2016
Sep 2016
Aug 2016
Jul 2016
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