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.
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.
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.
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.
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.
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.)
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!
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!
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.)
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.
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.
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
The licensing for FileMaker got more complicated over the years.
How easy was it 10 years ago when you got a few boxes from shop for Pro and Server and just used the license keys inside. Well, that time passed and now you have to ask questions:
How many employers has the company?
Because with site licensing you buy FileMaker for the total headcount of the company, not just for those using FileMaker.
And a few companies got audited and are in trouble. Maybe only the accountants use a FileMaker based solution, but still they need to license it for all in the company, even the sales people who never use FileMaker. This volume licensing is great if maybe 90% of the people in the company use FileMaker regularly. Some even considered moving all FileMaker users into a subsidiary to reduce the head count to a more realistic number.
How many users has the company?
Because FLT would go by users, even if they share devices. That means everyone using FileMaker solution is counted, even if they just use FileMaker for a little thing every few weeks like printing a report. On the other side some companies use FileMaker heavily and save now licenses as FLT for 100 people is cheaper than regular FM Pro licenses for 100 people.
How many people work at the same time?
Because connection based licenses go by concurrent users.
With a front office desk used 24h/day with 3 people on different shifts, you would need one FM Pro, one connection or three FLT users.
Same if you have 1000 workers who need to report something every few days, so only maybe 10 report at the same time.
How many servers do you need?
A solution running lonely on one iPad could go without a license or a server.
Or a solution with one to five FM Pro installations could live without server and share data.
Do you want to update to latest version regularly?
If the solution is installed and you do not plan to move to newer FM versions when they are released, it may be cheaper to buy perpetual licenses and update those only if needed (or buy newer ones). As subscription usually costs 1/3 per year of normal price, you get a cheaper licensing if you keep software unchanged for over three years.
How do you plan to license in a few years?
As FMI announced changes in the connection prices, it may be worth staying with connections till 2020 with current pricing and than decide if you move to FLT or pay the higher prices announced now. Especially as FMI may change the licensing again till 2020.
Now what to buy?
The answer is we don't know. There are a lot of variables included and trying to make a calculator or a decision graph is nearly impossible for all the special cases. For some cases it doesn't matter as FileMaker aligned their pricing. So either 5 pack FLT including server or 5 times FM Pro plus server for annual licensing costs both the same $888. Another thing to consider are the buy one, get two offers from FileMaker which can lower the cost for some packages. And finally if you resell the licenses to clients, it could happen that FileMaker tries to directly sell licenses or updates to your clients.
As you see the licensing options got complicated with individual licenses, annual licensing, site licensing and now FLT. I hope FileMaker will find something better. FLT is not the answer as it doesn't help for small solutions using less than 5 people or without server. Also it does not work for occasional users. We'll see what is announced at
DevCon.
The
Xojo licensing is quite easy compared to other tools. You start with downloading and installing Xojo and develop your apps without a license. Later when you need to build something, you can order the license you need: Desktop, Web, iOS or Pro.
If you work in a team, you certainly want to use the some kind of version control, so you need the Xojo text based project format. This requires a valid license of Xojo, so with a company you buy your license keys earlier for that feature. And this feature makes sure you buy a license for every developer.
For the team one can have a team account and add the other accounts for your employees. Than you can buy licenses for everyone and assign them. This way all the license payments go through one person (Accountant or CEO of company) and individual developers don't notice changes. The IDE will automatically find the new key when updating the next time.
On the other side a typical school installation can go without a license. Or maybe just one for one computer which does all the builds. That makes Xojo an excellent tool for learning programming.
A new license currently is $699 for Pro. The others are cheaper, but on the long run most professional developers get the Pro as they use several targets. And with Pro you get the benefit of joining the beta program, so you can test newer version before release. At least you should open your projects in a beta and try if things still work. Would be bad if a new release breaks your project only because you did not report a problem in beta cycle.
Purchasing Xojo usually goes through their
website. In the past Xojo was/is also available through various resellers or local distributors. And they participated in some bundle offers in the past.
From time to time Xojo does sales like on
programmers day (256th day of the year) or
Black Friday. You can find old announcements for those sales and try to predict future sales. With a typical discount of 20 or 30%, you can just buy a new license if your existing one expires within 2 months and you still save money.
You can have your license auto renew. We normally turn this off and see what we do when we come closer to the renewal day. If there is a sale for updates, you can add a year or two to your license plan. Or if your license expires, you can skip a few months and continue with old license before you buy a new license. You save more than the 10% for auto renew if you skip 2 month before buying a new license. Clever planning can save money!
I also keep an eye here for licensing and post regular about sales. If you look for a discount,
feel free to email me, so I can remind you when something is available. For conferences or local meetings we had in the past discount coupons to raffle away.
PS: And if you like to support Xojo Inc. even more, you can of course just buy a second license. My account has currently 3 licenses listed. Or you join
XDC to meet Xojo Inc. employers in person.
Today we had once again had a FileMaker developer complaining about more or less random crashes in FileMaker since yesterday. The problem went away once we moved a deactivated plugin out of the Extensions folder.
If you deactivate any plugin on Mac, this can result in crashes in FileMaker. Especially in low level cocoa runtime methods.
e.g. in method_setImplementation or in +[
initialize].
The cocoa class accessed is in the deactivate plugin. FileMaker loaded the plugin, the class was registered, the plugin unloaded. The class registration entry in the global data structures now points to memory which has been freed when the plugin was unloaded.
So please never deactivate plugins on Mac. Remove them from the extension folder if necessary.
(more)
New in this prerelease of the 6.3 plugins:
- Added Text.Speak function.
- Added EventMonitor.GetEnabled and EventMonitor.SetEnabled.
- Changed Files.RevealFile, so you can pass a list of paths on Mac
- Added SSH functions.
- The events functions now look for events ±4 years in the database if we don't find them by ID.
- Added FM.MouseWheelScriptTrigger function.
- Updated to DynaPDF 4.0.1.1
- Fixed for GraphicsMagick to change resolution to DPI and not just return cm resolution as DPI.
Download at
monkeybreadsoftware.de/filemaker/files/Prerelease/ or ask for being added to the dropbox shared folder.