I made a new website to show you all the 60 articles I made: My XDevMag articles
Want to read the magazine? Ask us via email or comment for a free subscription. We give away three free six month subscriptions. Raffle will happen on Sunday night, so contact us before the deadline to be on the list.
PS: Raffle done. All winners notified.
Enjoy the video and see you at the FileMaker DevCon in Orlando!
For the schedule, years ago, we discovered that the odd months are best. So when the year starts and everyone comes back from holidays, we have a brand new release in mid January. This release increases the major version number. We have a x.0 release and people notice that something changed. Followed by releases over the year till November with last one. The individual releases are usually scheduled around conferences, e.g. the July release is what people get presented at FileMaker DevCon. Doing a release in October would be hard to manage due to conferences. In 2016 for example we visited Xojo Developer Conference, the German FileMaker conference and the Spanish FileMaker Conference. The October was quite full with not much office time left. Odd month numbers work great so far.
The cycle begins after a release. Usually there is a week or two where we can relax and enjoy watching people try the new release. There may be a few bug reports coming in and we may provide updated plugins to just the bug reporters to try. It's also a great time to start on something new for the next release, which may take several weeks to be finished.
The first prerelease usually comes out beginning of the next months (even number). People can enjoy the fixes we made and of course see a few first new features. Over the month we add more and publish a new prerelease about every week. Sometimes there is an update for DynaPDF. With some urgent fixes we may make an extra pr to push it out quickly.
For the release month (odd number), we pick a week for release. Usually trying to avoid a week with vacation, conferences or working on-site for a client. A week before the release we stop adding new features and just fix bugs. We check the new examples whether they work well on all platforms. Usually Sunday we start the checklist for the release to be made on Tuesday. The checklists are long and include a few points like rebuilding all plugins (Mac 32/64, Win 32/64, Linux 32/64 for Intel and Linux 32 for ARM) with proper code signing. We merge new examples with old examples. For Xojo we run our application to test build all examples (See earlier blog post). Than we run Arbed for all examples to create html versions. For FileMaker we run our tool to create the Database Design Reports and than the html for the website. We regenerate the documentation and make sure all new items are included. Next we create PDFs and upload the help files. The release notes file is cleaned up, sorted and links are added for the mentioned items. Monday we pack all the files into zip archives and digitally sign disk images. The upload takes a while as it's over 5 GB per release. Finally we upload new documentation files for Dash application.
On Tuesday we update the website to mention the new release, make blog articles and send emails to the mailing lists, our press list and put it on a few announce websites. Than we wait. A few minutes later some early adapter may have downloaded it, send congratulations or bug reports. And of course some people order updates for their licenses.
On the following Thursday we send a notice to everyone about the new release. The emails are personalized to display whether the license is current and it's a free update or whether a license key is expired and it may be a paid update. This leads to a few sales usually.
Now you know how much work a MBS release is. I suggest you try to approach something similar for your software with either years, half yearly, quarterly or even bi-monthly releases. Two things to note: A lot of customers only purchase if major version number increases, so we do that every year. We do a big portion of our sales with new release going out. But even more with renewal reminders sent on the first day of a month.
Finally all version numbers are arbitrarily chosen. All versions we upload can be used in production and we do that ourself for client projects. The only thing a beta version may have new code (not fully tested) and sometimes include debug messages being logged. But for our pr and final releases, we disable that.
Suche die Zahl als PDF bzw. Suche die Zahl als EPUB
Xojo selber kann kostenlos geladen werden auf Xojo.com, allerdings ist die IDE seit 2014 nur noch in Englisch zu haben. Wer noch eine Deutschsprachige Umgebung haben möchte, muss eine alte 2013er Xojo Variante laden.
Weitere Deutschsprachige Resources findet man auf der Deutschen Seite in der Xojo Dokumentation. Fragen können Sie auf Deutsch im Deutschen Forumsbereich fragen.
In this blog entry I want to show you some functions for the matrix.
At first you create a matrix and fill it with values. We make a 3 by 3 matrix:
Set Variable [ $matrix ; Value: MBS("Matrix.New";3;3) ]
Set Variable [ $r ; Value: MBS( "Matrix.SetColumn"; $matrix; 0;"15¶07¶92" ) ]
Set Variable [ $r ; Value: MBS( "Matrix.SetColumn"; $matrix; 1;"17¶3¶60" ) ]
Set Variable [ $r ; Value: MBS( "Matrix.SetColumn"; $matrix; 2;"15¶1¶87" ) ]
We fill the matrix by single columns with values but you can fill in a similar way by rows (Matrix.SetRow) or single values by navigate with columns- and row numbers (Matrix.SetValue).
With all this functions you can later change data in the matrix.
You can output the matrix with MBS("Matrix.GetText"; $matrix) but the layout of the output is confusing with more then 1 column, because by default the delimiter is an empty text. You can pass Char(9) for using tab character or maybe better use the Matrix.CSV function. There you can define which part of the matrix should be printed and define your own row and column separators, which make it easier to read the output. Default delimiters are new line and semicolon characters.
You can clone a matrix with Matrix.Clone function:
Set Variable [ $CloneMatrix ; Value: MBS("Matrix.Clone";$Matrix) ]
You may need a copy if you want to modify the matrix, but keep the old state somewhere. The function copy the matrix and returns a new reference number. If you are not sure whether your matrix have the right size for a calculation, you can test it. Here is a code example for testing if the matrix have same amount of rows like amount of columns:
If [ MBS("Matrix.Height";$matrix) = MBS("Matrix.Width"; $Matrix) ]
Show Custom Dialog [ "The matrix is quadratic"; "The number of rows and columns is the same!" ]
If you want to sum all numbers of the matrix, at first you can sum all single columns and then sum the results.
Set Variable [ $a ; Value: MBS( "Matrix.Sum"; $matrix; 0 ) ]
Set Variable [ $b ; Value: MBS( "Matrix.Sum"; $matrix; 1 ) ]
Set Variable [ $c ; Value: MBS( "Matrix.Sum"; $matrix; 2 ) ]
Set Variable [ $sum ; Value: $a + $b + $c ]
If you want to add some rows or columns, you can do it with the Matrix.AddColumn, Matrix.AddColumns, Matrix.AddRow and Matrix.AddRows functions easily.
I wish you fun with this 2D data structure. If you have questions or need more information about the plugin please don’t hesitant to contact us.
By Stefanie Juchmes
On your server you may need to run fmsadmin to query or change a setting from FileMaker Server. You can do that with Shell functions in MBS FileMaker Plugin. Just run fmsadmin.exe with various parameters and read standard / error output. For Windows, please pass the full path of the exe file as there is no cmd.exe running to lookup shell variable PATH to find the applicaiton for you.
Here is a little script to query version and pass the credentials:
Set Variable [ $shell ; Value: MBS( "Shell.New" ) ]
Set Variable [ $s ; Value: MBS( "Shell.Execute"; $shell; "C:\Program Files\FileMaker\FileMaker Server\Database Server\fmsadmin.exe"; "-v"; "-u"; "admin"; "-p"; "xxx") ]
If [ MBS("IsError") ]
Show Custom Dialog [ "Failed to run" ; $s ]
# Loop while app runs and collect messages
Set Variable [ $s ; Value: MBS( "Shell.Wait"; $shell; 5) ]
Set Variable [ $result ; Value: MBS( "Shell.ReadOutputText"; $shell; "UTF-8") ]
Show Custom Dialog [ "Result" ; $result ]
Set Variable [ $r ; Value: MBS("Shell.Release"; $shell) ]
For MacOS or Linux, you may need a different path for fmsadmin command line tool.
To give you an update, we have already over 50 attendees signed up from 14 countries:
🇩🇪, 🇬🇧, 🇳🇱, 🇫🇷, 🇨🇭, 🇺🇸, 🇬🇷, 🇸🇮, 🇦🇹, 🇮🇹, 🇺🇦, 🇪🇸, 🇯🇴 & 🇧🇪.
The schedule is nearly complete except some spare room for the case we get another one or two speakers.
Xojo Inc. runs a sale this weekend and the conference tickets are included. Use XDCSale as coupon code for signing up to get 20% on the ticket price.
Oct 23rd: Xojo Training in English
Oct 24th: Conference, first day with dinner event
Oct 25th: Conference, second day
Oct 26th: Xojo Training in German
Registration is open. The early bird offer available till 24th July is just 599 Euro plus VAT. Attending the conference costs regularly 699 Euro plus VAT, including food and beverage in the Dorint Hotel as well as an accompanying social program.
Sessions are to be held in English. Our conference is conceived as a networking event for the Xojo community. The conference is an ideal opportunity for sharing your thoughts and your own development experience with fellow users and developers.
See also conference website, Things to do in Cologne beside our conference and European Xojo Conference FAQ.
Visit Chart Gallery
Try all the metal and 3D effects possible.
We rebuilt the plugin and made a new archive with same name. Download here.
The new Windows plugin has version 9.2.10 and is built 25th May 2019.
The Mac, iOS and Linux version should still be 9.2.09 with date 23rd May 2019.
As usual: Anyone with a Xojo license expired or expiring later this year can just add another year on the license. No need to wait till it expires. Same for MBS Plugin licenses, which can be extended in the future.
Save 20% on new Xojo licenses, renewals and upgrades through Monday! Visit the Xojo Store for pricing, no coupon required.
Third Party Products
Check out our third party store for great Xojo add-ons, all 20% off this weekend only!
XDC Videos Now Available!
The XDC 2019 videos are now available. Also, we have new pricing for the 2018 videos. Shop now!
MBS Xojo Conference 2019 Passes 20% Off
The MBS Xojo Conference is coming up in October in Cologne, Germany. Join MBS, Xojo CEO Geoff Perlman, other members of the Xojo Team, and 50+ (currently registered) Xojo developers from around the world. Tickets to the conference are 20% off this weekend, buy now with coupon code XDCSale.
XOJO.CONNECT 2020 Registration Now Open
XOJO.CONNECT will be held in Nashville, TN March 25-27, 2020 and registration is now open - passes are currently $200 off! Join us for networking, collaboration and learning - think of it as the forums but in person! Check out our highlights video from the 2019 conference.
The coupon code XDCSale also gives 20% on the MBS web store for this weekend. If you want to order via invoice or via PayPal directly, we can provide invoices.
We like to mirror that for MBS Plugin purchases. So if you like to commit to order for up to 5 years, please let us know. We may provide an invoice for you or just give you a special coupon code for the website store. But if there are other sales going on, we may not combine the offers.
PS: This is a great way to lock in the current pricing for future pricing changes.
|FileMaker UK Developer Event||English||London, United Kingdom||14 October||Website|
|FM Conférence||French||Futuroscope near Poitiers, France||16 - 18 October||Website|
|FileMaker Konferenz||German||Hamburg, Germany||16 - 19 October||Website|
|FM Summit||Dutch||Den Bosch, Netherlands||21 - 23 October||Website|
|FileMaker Italian DevCon||Italian||Bologna, Italy||23 - 25 October||Website|
|FileMaker Devcon Scandinavia||English||?||? October||Website|
|FileMaker Spanish DevCon||Spanish||Madrid, Spain||25 - 26 October|
If you are interested in private time for consulting, training or discussion MBS or Xojo topics, we can of course schedule a meeting. Please contact me directly interested.
In order to read it in a browser and for search engines to index it, we put the manual online as a webpage version:
Maybe it helps you?
From time to time we update it with current manual version.
We got links from our plugin documentation to the DynaPDF manual pages for relevant functions.
MBS Plugin 9.2 is updated to support FileMaker 18 on MacOS, Windows, iOS and the FileMaker Cloud.
Our plugin stays compatible to older FileMaker versions, so you can MBS Plugin with any FileMaker version from the last 10 years!
Older MBS Plugin versions may work with FileMaker 18 Platform, but we can't guarantee that. Some versions may not load, other may show problems. We recommend all users to upgrade to version 9.2.
FileMaker 18 requires plugins to be code signed. We do that for years, so all release versions of MBS Plugins should be properly signed. If you get a warning about an unsigned copy, it may be a modified one, so please delete it!
New for FileMaker 18 is the FM.RunSaveAsXML function in MBS Plugin to automate the export of a database as XML representation. In FileMaker 18 the Get(LastExternalErrorDetail) function has been improved for plugins to give a better clear text message when Install Plug-In File script step fails.
For MacOS Mojave we added new ContinuityCamera functions. Those allow you to start a process where a nearby iOS device is asked to take a picture and return the picture to the Mac. You can use both iPhones and iPads nearby with at least iOS 12. If you have multiple devices, you can show a popup menu to pick one. And you can choose to scan a document, which allows to merge several pictures taken into one PDF document.
If you like our data structure functions, you may enjoy the new Matrix functions. They provide you a 2D array data structure which preserves the data type of the values. You can fill them with SQL in FileMaker and query their content as text if needed.
As you may know we have printer functions for both MacOS and Windows. For MacOS we got a new set of PageSetupDialog functions to script the page setup dialog. You can select options there automatically and even decide to not show the dialog at all. This allows you to set different paper format for print preview or PDF creation.
We added new TextView functions for MacOS, Windows and iOS to create a plugin controlled text field on a layout. This control is independent from FileMaker and doesn't belong to a record or a layout. It features already functions to load and save styled text, RTF and HTML. You can configure it to use the OS provided spell checker.
On MacOS if you press command-R in a text area for entering calculation or custom functions, you can see the ruler and we add more tab steps for you. You can press Command-I to show invisible characters.
For DynaPDF we added a function to convert colors in PDF pages to e.g. gray scales. You can set PDF viewing preferences, e.g. to open a PDF document with showing two pages at a time. DynaPDF.Initialize got updated for iOS to allow use of DynaPDF library or framework.
Our ListDialog functions can show more than one column and show column headers. You can show dialogs for PKCS12 and X509 on MacOS to show details for them.
If you enjoy our MapView functions to use Apple Maps in FileMaker, please check the new functions to calculate directions. You can show routes in the MapView and get them detailed as JSON. You can format and parse distances for the user in localized format.
Our Drag & Drop control can accept RTF and HTML text data and return it to you. Merging Word files can add a page break in-between. Printing with PDFKit has more options to set. GraphicsMagick can return attributes as JSON and Screen.Scale function tells you the scale of a display.
Finally we updated CURL to version 7.64.1, DynaPDF to 220.127.116.11, SQLite to 3.28.0 and Xcode to 10.2. LibXL is updated to version 3.8.5 for MacOS and 18.104.22.168 for Linux and Windows.
See release notes for a complete list of changes.
For MacOS Mojave we added a new ContinuityCameraMBS class. This allows you to start a process where a nearby iOS device is asked to take a picture and return the picture to the Mac. You can use both iPhones and iPads nearby with at least iOS 12. If you have multiple devices, you can show a popup menu to pick one. And you can choose to scan a document, which allows to merge several pictures taken into one PDF document.
Our DynaPDF Plugin got a new integration for Xojo's graphics class. You can query DynaPDFMBS object to get a graphics object for drawing in the current PDF page. This supports all the usual drawing commands in graphics including picture, text and polygons. You can draw 2D objects with transparency and all the other options. If you use the report engine in Xojo, you can draw your report into a PDF document via our plugin.
Our JSONMBS class got improved to better handle 64-bit numbers and avoid the conversion to double which involves rounding. The new convert method can convert between JSONMBS objects and a representation with Variant, Dictionary and Xojo arrays.
The SQL Plugin got a new cache engine when using AutoCache property. Use it to make a server side cursor local on your machine and scroll forward and backward. The SQLValueReadMBS class got new functions to return or set Int32, Int64 and UInt32 values. Our plugin now tries to keep connections alive and we got new constants for SQLite.
For Windows, you can use TextArea.WinAutoCorrectionMBS to enable auto correction beside spell checking. With WinShowFontPanelMBS method you can show font panel from Windows for the text ara. The window.ActivateWindowMBS method can bring a window to front, even if the current process is not in front. Similar Application.FrontmostMBS works on Windows now.
We added a XMLValidatorMBS class to validate XML against a schema definition. Our Java array classes got upgraded to better query values or create Java arrays based on Xojo arrays. When merging Word documents with WordFileMBS class, you can now add a page break between the pages. We got a new ShellMBS class to run command line tools. With CIContextMBS we can now output to HEIF image format.
Finally we updated CURL to 7.64.1, DynaPDF to 22.214.171.124, LibXL to version 3.8.5, SQLite to 3.28.0, Xcode to 10.2 and CubeSQL SDK to version 5.7.3.
See release notes for a complete list of changes.
Für MacOS Mojave haben wir neue ContinuityCamera Funktionen, mit denen Sie ein Foto auf einem iOS-Gerät in der Nähe aufnehmen können. Das Bild wird dann auf den Mac übertragen. Sie können sowohl iPhones als auch iPads in der Nähe mit mindestens iOS 12 verwenden. Wenn Sie über mehrere Geräte verfügen, können Sie ein Popup-Menü anzeigen, um ein Gerät auszuwählen. Sie können auch ein Dokument scannen, um mehrere Bilder zu einem PDF-Dokument zusammenzuführen.
Wenn Sie unsere Funktionen für Datenstruktur mögen, schauen Sie sich die neuen Matrix Funktionen einmal an. Sie bieten Ihnen eine 2D-Array-Datenstruktur, die den Datentyp für die Werte beibehält. Sie können sie in FileMaker per SQL füllen und ihren Inhalt bei Bedarf als Text abfragen.
Wie Sie vielleicht wissen, haben wir Druckerfunktionen für MacOS und Windows. Für MacOS haben wir einen neuen Satz von PageSetupDialog Funktionen, um den Dialog zur Seiteneinrichtung zu skripten. Sie können dort automatisch Optionen auswählen und sogar festlegen, dass der Dialog überhaupt nicht angezeigt wird. Auf diese Weise können Sie verschiedene Papierformate für die Druckvorschau oder die PDF-Erstellung festlegen.
Wir haben neue TextView Funktionen für MacOS, Windows und iOS hinzugefügt, um ein Plugin-gesteuertes Textfeld in einem Layout zu erstellen. Dieses Steuerelement ist unabhängig von FileMaker und gehört nicht zu einem Datensatz oder Layout. Es bietet bereits Funktionen zum Laden und Speichern von formatiertem Text, RTF und HTML. Sie können es so konfigurieren, dass die vom Betriebssystem bereitgestellte Rechtschreibprüfung verwendet wird.
Wenn Sie unter MacOS Befehl-R in einem Textbereich drücken, um Berechnungs- oder benutzerdefinierte Funktionen einzugeben, wird das Lineal angezeigt und es werden weitere Tabs eingefügt. Sie können Befehl-I drücken um unsichtbare Zeichen anzuzeigen.
Für DynaPDF haben wir eine Funktion zum Konvertieren von Farben in PDF-Seiten in z.B. Graustufen. Sie können die PDF-Anzeigeeinstellungen festlegen, z.B. um ein PDF Dokument mit zwei Seiten gleichzeitig zu öffnen. DynaPDF.Initialize wurde aktualisiert, damit iOS die DynaPDF-Bibliothek oder das Framework verwenden kann.
Unsere ListDialog Funktionen können mehr als eine Spalte und Spaltenüberschriften anzeigen. Sie können Dialogfelder für PKCS12 und X509 unter MacOS anzeigen, um Details für diese anzuzeigen.
Wenn Sie mit unseren MapView Funktionen Apple Maps in FileMaker verwenden, dann können Sie jetzt Routen planen. Sie können die gefunden Routen im MapView anzeigen und als JSON detailliert abfragen. Entfernungen können Sie formatieren für den Benutzer oder aus Benutzerausgaben auslesen.
Unser Drag & Drop Steuerelement kann RTF- und HTML-Textdaten akzeptieren und an Sie zurückgeben. Beim Zusammenführen von Word-Dateien kann ein Seitenumbruch eingefügt werden. Drucken mit PDFKit hat mehr Optionen zum Einstellen. GraphicsMagick kann Attribute als JSON zurückgeben und die Screen.Scale Funktion den Maßstab einer Anzeige angibt.
Schließlich haben wir CURL auf Version 7.64.1, DynaPDF auf 126.96.36.199, SQLite auf 3.28.0 und Xcode auf 10.2 aktualisiert. LibXL ist auf Version 3.8.5 für MacOS und 188.8.131.52 für Linux und Windows aktualisiert.
Alle Änderungen in den Release Notes.
It will be held March 25-27, 2020 in Nashville, TN at the Sheraton Music City Hotel. Registration is currently $200 off full price till 15th Sep 2019 ($799 instead of $999). Please sign up early to get the best deal.
Check out our conference highlights video if you want to see what it's like - or ask one of the many attendees from the forum!
Looking for a conference this year? Join the European Xojo Conference 2019 in Cologne, October 24-25th.
While Xojo lacks a command line compiler (Feedback case 3215), there is a IDE Communicator tool available (Documentation here). This tool shows you how to talk to Xojo and pass commands or IDE scripts. The IDE Scrips are scripts to run within the IDE and do various things like changing constants and trigger several builds with different configurations. For example we have for one project a script to build three variants of an application like a Demo, a Standard and a Pro version.
Our Test application gets the folder with all Xojo example projects for the plugin as input. It may take several hours to build them all, so a progress bar is really useful for us. If this runs in a virtual machine in the background, it doesn't even interfere with us using the computer for work.
We load each project by launching Xojo with the project file as document to open. If Xojo is running already, the project loads. We wait a second and then have an AppleScript to send ESC key press to Xojo in case there is a deprecation dialog showing. Next we call IDECommunicator command line tool via Shell class. We run our test script, which is just a text file with some commands for Xojo to do. This includes changing the app name, so all test builds have the same application file name. Next we build the project with BuildApp() function. We print the result in the script, so via shell class we can later read the output. Finally the script closes the script. When the shell finishes, we can write the result in a log file. If the result was success, we can delete the project and otherwise, we need to put it in the list to check later manually. We also check built apps what frameworks are used, so we can show that in the plugin documentation.
With the tests using Xojo 2019r1 we got projects updated to build in the newer Xojo version. We fixed a couple of things like changed syntax, graphics object access and removed Mac Carbon classes in our plugin for the upcoming 19.2 release. Enjoy!
- Updated DynaPDF to version 184.108.40.206.
- Added Calendar.Initialize function.
- Updated LibXL to version 220.127.116.11 for Linux and Windows.
- Changed SystemInfo.MACAddress for Windows to look for Ethernet port first, than for Wifi and than for other adapters.
- Changed SystemInfo.HardDiscSerial for Windows to make sure to ignore removable media.
- Updated DynaPDF to version 18.104.22.168.
- Moved CoreAnimation plugin part from AVFoundation to MacCG plugin to reduce dependencies.
- Fixed problem with BigNumberMBS raising RuntimeException instead of BigNumberErrorExceptionMBS.
- Added XMLValidatorMBS class.
- Changed SystemInformationMBS.MacAddress for Windows to look for Ethernet port first, than for Wifi and than for other adapters.
- Changed SystemInformationMBS.HardDiscSerial for Windows to make sure to ignore removable media.
Or ask us to be added to our shared Dropbox folder.
For error and warning messages, we provide them directly via Error and Warning events. We also collect them in an Messages array, which can be useful to check for errors later after validation.
The messages are in XMLValidatorMessageMBS objects, so we can provide the message and metadata like a line number and file name, if possible. Line numbers seem to be correct if you use Unix line endings. For Mac line endings, you get always line 1. So a call to ReplaceLineEndings(XML, endOfLine.Unix) may be useful.
To implement this class, we relay on libxml2 and the validator functions there. As Xojo has built-in XML classes, we have no need to reimplement all of that, but the validation was missing for a client.
Monkeybread Software is happy to sponsor the event and maybe even present in a future year.
Sign-up on the website: filemakerdevcon.ist
After a good breakfast we had the keynote with the Xojo CEO Geoff Perlman. We experienced the newest inventions and get a lookout to future functions like the new platform for Android development and the APIs changes. One thing that I recognize very positive is that you can see the inspector and the library in the shown future version of the Xojo IDE at the same time and can work with it. In my opinion it is very practical for designing a window, without making a lot of clicks while switching between this two areas. (more)
Numbers Please! Part 2 by Markus Winter
Creating a numbers-only textfield sounds easy, but as Markus demonstrates, it's trickier than it looks. This time he explores various coding methods.
Coding in Paradise by Glen Newbury
If you're reading this, you're most likely a programmer, and in theory you can work anywhere there's a computer and an internet connection. So why not? Glen shows how you can rent a co-work space in an exotic location and work in paradise!
XDC 2019 Keynote by Marc Zeedar
Geoff Perlman's XDC Keynote is like a Xojo "State of the Union" address. This year he updates us on Android, API 2.0, the new Web app framework, and more. Find out what was announced -- just don't expect a timeline.
XDC 2019 by Marc Zeedar
It was a long trip to Miami, but it was a fun location for a conference. This year there were some amazing presentations raising the bar about what can be done with Xojo, from machine learning to creating a new language.
PLUS: Creating custom events, Xojo 2019r1, description field, Resource Folders, Time Management Tips, Best of the Web, and more!
- Added scrollWheel and smartMagnifyWithEvent to CanvasGesturesMBS class.
- Updated DynaPDF to version 22.214.171.124.
- Changed Character Spacing for graphics with DynaPDFMBS to be closed to Xojo's behavior.
- Changed WordFileMBS class to not reformat XML unless changed.
- Updated SQLite to version 3.28.0.
- Fixed a problem with FSEventsMBS class.
- Fixed SQLSelect and SQLSelectMT methods in SQLConnectionMBS class to avoid hex encoding for BLOBs.
- Fixed problem with cached recordsets and BLOB values converted to hex unintended.
- Changed various controls and custom views to call beginGestureWithEvent, too.
- Fixed endless loop in ArchiveEntryMBS.fileName getter in some cases.
- Fixed problem with InsertRecord, DatabaseRecord and PictureColumn. We now treat text data with no encoding as BLOB to pass on picture data.
- Change PNGReaderMBS to skip unknown blocks in PNG file.
- Changed CanvasGesturesMBS to call beginGestureWithEvent, even if NSResponder doesn't call it on MacOS 10.11 or newer.
- Changed DynaPDFMBS.PageGraphics to create new document and page if needed.
- Tested all examples to build here for 64-bit with Xojo 2019r1. Fixed dozens of examples.
Or ask us to be added to our shared Dropbox folder.
- Updated DynaPDF to version 126.96.36.199.
- Changed WordFile functions to not reformat XML unless changed.
- Added withEXIF parameter to ImagePicker.MediaEditedImage and ImagePicker.MediaOriginalImage functions.
- Fixed QLPreviewPanel.Clear for iOS.
- Added workaround for SerialPort.Open to avoid Windows bug with COM ports >9
- Updated SQLite to version 3.28.0.
- Little fixes for next FileMaker version.
- We now have over 50 attendees on the list.
- The number of countries reached 12:
🇩🇪, 🇬🇧, 🇳🇱, 🇫🇷, 🇨🇭, 🇺🇸, 🇬🇷, 🇸🇮, 🇦🇹, 🇮🇹, 🇺🇦 and 🇪🇸.
- Dana Brown, Director of Marketing at Xojo Inc. will join our conference and give a session about marketing your own apps.
- Today we send reminders to previous attendees.
- We got featured in the Xojo newsletter. Thanks Xojo Inc!
- The schedule is now nearly complete and arranged. Speakers can still sign-up and then we can move things around a bit.
- The offer for free-tickets for young developers is well received. The deadline is over, but we just got a query from a student to be added and we may grant an extra ticket there. If you know someone who may not be able to pay the ticket and should get the chance to attend, please let us know!
- Recently we published two blog articles:
Things to do in Cologne beside our conference and European Xojo Conference FAQ.
More details and registration on the conference website.
If you want to export data from your FileMaker solution regularly as Excel document, perhaps you want to change the column headers every time. Maybe because you have a long grown database and the column names do not fit anymore. Maybe you work in an international company and need the column names in different languages. Perhaps you changed the column names manually so far, but now is the time to automate it. In huge databases this can be a very annoying task and waste a lot of time. I want to show you one way to make this automatically for your database with the help of the MBS FileMaker Plugin and LibXL.
In this example we load the previously exported Excel file, change the column names and save it with the optional saving dialog.
Einfach in gemütlicher Runde treffen in einem netten Restaurant und beim Abendessen was über FileMaker reden. Vielleicht habt ihr ja auch Fragen und Probleme, wo ich helfen kann?
Zeit wäre ca. 18 bis 22 Uhr, so dass man auch später kommen oder früher gehen kann. So ungefähr einen Abend im Bereich von 23. bis 28. Juni.
Treffpunkt steht noch nicht fest.
Bei Interesse bitte bei mir melden.
Termin steht fest: 26. Juni 2019
Falls sonst noch Bedarf an Schulung, vor Ort Entwicklung oder FileMaker/Xojo Hilfe besteht, bitte wegen Terminfindung bald melden.
Einfach in gemütlicher Runde treffen in einem netten Restaurant und beim Abendessen was über Xojo reden. Vielleicht habt ihr ja auch Fragen und Probleme, wo ich helfen kann?
Zeit wäre ca. 18 bis 22 Uhr, so dass man auch später kommen oder früher gehen kann.
Termin: 25. Juni 2019.
Bei Interesse bitte bei uns melden.
Falls sonst noch Bedarf an Schulung, vor Ort Entwicklung oder FileMaker/Xojo Hilfe besteht, bitte wegen Terminfindung bald melden.
- FMM 201902: Ordnung schaffen mit „DynaPDF“ und „MBS“, PDFs zusammenführen und Seitenzahlen einfügen
- FMM 201902: Dialoge in FileMaker, Selbst erstellt innerhalb eines Scripts
- FMM 201901: TAPI-Funktionen des „MBS“-Plugins, So implementieren Sie die Funktion „Telefon wählen“ von Ralph Nusser
- FMM 201805: Alles in Code, Erzeugen von Barcodes in FileMaker
- FMM 201805: Import von XML und JSON, Die Importierautomatik im MBS-Plugin
- FMM 201803: SQL in FileMaker, Neue Möglichkeiten mit dem MBS - Plugin
- FMM 201802: Universelle Suche, Mein Mitbringsel für die FileMaker Konferenz in Kanada
- FMM 201801: PDF/A und ZUGFeRD, Rechnungen mit eingebettetem XML
- FMM 201706: PDFs drucken, Automatisch via MBS-Plugin
- FMM 201705: Automatisiertes Drucken, Mehr Möglichkeiten mit dem MBS-Plugin
- mehr Artikel
Wir empfehlen allen FileMaker Anwender ein Abo vom Magazin und den Kauf der alten Ausgaben. Das FileMaker Magazin ist eine exzellente Quelle von Informationen, Anleitungen und Profitips.
You can put the actual drawing code into a method with g as graphics parameter and than call it on several places. e.g. call it from Canvas.Paint event to show it in a window, call it with graphics from OpenPrinterDialog to draw in printing context or call it with PageGraphics to draw into a PDF document.
- Visit Cologne's cathedral itself.
- Take the steps up to the towers for a great view inside the structure and over the city
- Visit the treasure chamber below the Cathedral
- Walk though the small streets of the older city center
- Enjoy a beer in one of the old tiny pubs or small breweries
- Rathaus, visit the city hall and it's architecture
- Several older churches show architecture from various centuries: St. Gereon with a spectacular 10 sided dome.
- Hahnentor, one of the city gates from the city wall
- Visit the Chocolate Museum
- Museum Ludwig on the backside of the Cathedral shows modern art
- Römisch-Germanisches-Museum, shows Roman history
- Abenteuermuseum Odysseum, a museum for kids to learn about science
- Wallraf-Richartz-Museum, an art museum from mid ages to modern times
- Römisches Praetorium, see some Roman ruins in the city center
- Go to platform on KölnTriangle to have a great view on the city
- Kölner Seilbahn, a cable car takes you over the Rhine to the other side. Connects Zoo with Rheinpark.
- Kölner Zoo. The Zoo is within the city and next to the Flora, you can go there via tram.
- Flora, the botanic garden
- Volksgarten, a public park in Cologne
- Rheinpark, a nice park on the other side of the Rhine
- Schlösser Brühl, vist the palaces and parks from 18th century
- Phantasialand, a theme park with rollercoasters.
- Haus der Geschichte, museum about German history
- Beethoven house, the birth place of the famous music composer
- Drachenburg, a castle south of Bonn
- Poppelsdorfer Schloss, the former palace which now hosts the botanic garden
Sign up for FileMaker DevCon 2019 before June 7th to save $200 on the ticket. Sign up as group with 3 or more to get a discount on the tickets. Don't forget to add training day and reserve a room as long as rooms are available.
See you in Orlando!
Is the conference in German?
No, it is in English, as most attendees don't speak German.
And everyone can speak English as otherwise reading Xojo's documentation would be hard for you.
For the training, we offer a day with English and one with German as language.
I don't use MBS Plugin, so should I go?
Yes, of course. The conference is hosted by Monkeybread Software. We do one session telling you what's new in the plugins, but otherwise content is similar to sessions at XDC.
Does Xojo Inc. show up?
Yes, Geoff Perlman, the CEO and founder, will come and speak. He will also talk about the technical changes like the progress in Android support or the new web framework.
Dana Brown, Director of Marketing at Xojo Inc. will join our conference and give a session about marketing your own apps.
Some sessions have same title as for XDC sessions?
Yes, some speakers like to use the same session again and update the content. For example they may present a version 1 at XDC in Miami and a version 2 in Cologne.
Why is the conference in Cologne?
First for handling VAT, we prefer to do it in Germany as that minimizes our paper work. Second, for a few years now we cycle through the cities in Germany with more than a million people. After Berlin in the east, Munich in the south, we now are in Cologne in the west part of Germany.
Why in October?
XDC is around April/May and we like to have five to six months distance between conferences. We look for September, October or November to find a date. Usually we ask a couple of hotels for a conference room on a Thursday/Friday with the required capacity of 50 to 100 seats. Other events take place, so we usually get only a few spots available. e.g. for Munich beside Oktoberfest, school holidays, trade shows, we only had to choose between the week in September and one in November. For Cologne we picked a week at the end of October.
Is dinner included?
The dinner for Thursday evening is included. For the other evenings, it may be self paid by attendees. If the finances allow it, we may organize a group dinner and pay it for you.
All the lunches and coffee breaks are included. If you don't get breakfast in your hotel, you may still find a snack and a coffee in the foyer near the conference area.
The Dorint Hotel is expensive, how about an alternative?
For the Dorint, we got a conference rate for 169 Euro/night with a single room and 204 Euro for a double room.
Within walking distance, there are over 20 other hotels. The nearby the Maritim is a 4 star hotel around 100 Euro/night. And the smaller Hotel Monte Christo is just a block away from the Dorint and charges around 70 Euro per night. In the old city of Cologne, you find plenty of small boutique hotels to have a great stay!
And if you stay farer away, you can take a train to the subway station Neumarkt, which is located in front of the Dorint Hotel.
Will there be a 2020 conference in Germany?
Not sure yet. First priority is to make the Cologne conference a success. Then we may decide for a follow up conference in 2020. Please make us happy by attending our conference!
If you have more questions, please don't hesitate to contact us.
- Added PaperSize option to RichText.SetAttribute and RichText.Attribute functions.
- Added Socket.List function.
- Added PKCS12.ShowDialog and X509.ShowDialog functions.
- Changed plugin to not link to EventKit, CalendarStore and TWAIN frameworks directly.
- Improved startup time of the plugin by delaying loading of Calendar, Events, LDAP, GraphicsMagick, CoreML, SmartCard, Windows User Notification APIs until needed.
- Added FM.RunSaveAsXML function.
- Improved error message for SerialPort.Open to include name of the COM port.
- Renamed FM.RunDataDesignReport to FM.RunDatabaseDesignReport, but old name stays valid.
- Added ShellMBS class.
- Added PageGraphics and PageGraphicsPicture properties to DynaPDFMBS class.
- Added ClearPageGraphics method to DynaPDFMBS class.
- Fixed ScreenshotMBS for Linux ARM.
- Fixed problem with GTK and Linux ARM
Or ask us to be added to our shared Dropbox folder.
Dim g as graphics = pdf.PageGraphics
Technically we create a temporary picture with a subclassed graphics class and give you the graphics object from the picture. You can get the temporary picture with PageGraphicsPicture property. All draws go both into the picture and the PDF page:
Dim p as picture = pdf.PageGraphicsPicture
We support normal drawing commands in graphics class and the usual properties. Draw/Fill Oval/Rect/RoundRect/Line/Polygon will just work. DrawString draws text for single and multi line. StringHeight and StringWidth measure text via DynaPDF functions, so the result may be different than in a picture, but you get the right values needed for the PDF output. DrawPicture can draw picture with alpha channel and masks if needed. NextPage method will close current page and make a new one. Or you implement NextPage event to do this yourself. Then you can import existing page as background.
We support vector graphics classes (Object2D) and drawObject command. Most properties should work and this includes transparency and rotation.
As the report engine is built on Object2D, the report engine can output to PDF via our graphics class.
This works in all Xojo versions (And Real Studio), with all DynaPDF editions and come soon with next 19.2 prerelease.
Please join my MBS Plugin session 2nd May @ 1pm o'clock.
- Learn all the features we got since last XDC.
- Learn what is coming for DynaPDF 5.
- Learn what great new feature we got in the DynaPDF plugin for you.
- And learn what class got added to MBS Plugin in the flight to Miami...