<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
	
	<channel>
		<title>MonkeybreadSoftware Blog</title>
		<link>https://www.mbsplugins.de/main.php</link>
		<description></description>
		<language>en</language>
		<managingEditor>Chef</managingEditor>
                <copyright>Copyright 2026</copyright>
		<generator>Pivot Pivot - 1.40.8: 'Dreadwind'</generator>
		<pubDate>Wed, 07 Oct 2026 10:52:54 +0200</pubDate>
		<ttl>60</ttl>
		
		
		
		
		<item>
			<title>MBS FileMaker Plugin 16.4 News</title>
			<link>https://www.mbsplugins.de/archive/2026-10-07/MBS_FileMaker_Plugin_164_News</link>
			<comments>https://www.mbsplugins.de/archive/2026-10-07/MBS_FileMaker_Plugin_164_News#comm</comments>
                        <description><![CDATA[ <img src="http://www.mbsplugins.de/image/fmplugin19.png" width="200" align="right">
<p>In this article we want to introduce you the new functions from the <a rel="external" href="https://www.monkeybreadsoftware.com/filemaker/">MBS FileMaker Plugin</a> in version 16.4.</p>

<h3>MongoDB</h3>

<p>In this edition, we'd like to introduce you to the new features related to bulk operations on a MongoDB database. Bulk operations allow you to modify multiple data records simultaneously. This results in significant time savings and improved performance, especially when working with large amounts of data. First, you can use <a rel="external" href="https://www.mbsplugins.eu/MongoDBBulkOperationCreate.shtml">MongoDB.BulkOperation.Create</a> to create a bulk operation. You can then plan operations on your database using methods such as MongDB.BulkOperation.UpdateOne, <a rel="external" href="https://www.mbsplugins.eu/MongoDBBulkOperationRemoveMany.shtml">MongoDB.BulkOperation.RemoveMany</a>, and <a rel="external" href="https://www.mbsplugins.eu/MongoDBBulkOperationInsert.shtml">MongoDB.BulkOperation.Insert</a>. <a rel="external" href="https://www.mbsplugins.eu/MongoDBBulkOperationExecute.shtml">MongoDB.BulkOperation.Execute</a> is then used to execute the block of operations on the database. If you like, you can combine this with a transaction to perform a rollback in case of an error. You can find these and several other new, helpful features related to bulk operations in the documentation.</p><h3>DynaPDF</h3>
<p>
We have some new features in the DynaPDF area. With the <a rel="external" href="https://www.mbsplugins.eu/DynaPDFHaveOpenPath.shtml">DynaPDF.HaveOpenPath</a> function, we can check whether there is an open path in memory that has not yet been closed by a <a rel="external" href="https://www.mbsplugins.eu/DynaPDFClosePath.shtml">DynaPDF.ClosePath</a> or <a rel="external" href="https://www.mbsplugins.eu/DynaPDFClipPath.shtml">DynaPDF.ClipPath</a> function. To discard the path, you can call the new <a rel="external" href="https://www.mbsplugins.eu/DynaPDFAbortPath.shtml">DynaPDF.AbortPath</a> function.
</p>
<p>
There are new functions available that allow you to access the internal error log. DynaPDF uses the error log to store non-fatal errors or warnings when it is not required to break processing or if more detailed error information should be provided than is possible with the normal exception handling.For example, when opening a damaged PDF file with DynaPDF.OpenPDFFromFile the function tries first to open the file in normal mode. All errors which occur in this step are written to the error log. Depending on the kind of found errors, the function maybe falls back into repair mode and reads the file again. If this action is successful then the function returns with success and no error message is provided over the normal exception handling. So, you'll not notice that the file contained damages unless you take a look into the error log. The error log was introduced with DynaPDF 3.0. It is used when reading a PDF file, e.g. <a rel="external" href="https://www.mbsplugins.eu/DynaPDFOpenPDFFromFile.shtml">DynaPDF.OpenPDFFromFile</a>, <a rel="external" href="https://www.mbsplugins.eu/DynaPDFImportPDFPage.shtml">DynaPDF.ImportPDFPage</a>, <a rel="external" href="https://www.mbsplugins.eu/DynaPDFImportPDFFile.shtml">DynaPDF.ImportPDFFile</a>, and when parsing or rendering PDF pages, e.g. <a rel="external" href="https://www.mbsplugins.eu/DynaPDFParseContent.shtml">DynaPDF.ParseContent</a>, <a rel="external" href="https://www.mbsplugins.eu/DynaPDFIsEmptyPage.shtml">DynaPDF.IsEmptyPage</a>, <a rel="external" href="https://www.mbsplugins.eu/DynaPDFIsColorPage.shtml">DynaPDF.IsColorPage</a>, <a rel="external" href="https://www.mbsplugins.eu/DynaPDFExtractPageText.shtml">DynaPDF.ExtractPageText</a>, <a rel="external" href="https://www.mbsplugins.eu/DynaPDFRenderPage.shtml">DynaPDF.RenderPage</a>, <a rel="external" href="https://www.mbsplugins.eu/DynaPDFRenderPDFFile.shtml">DynaPDF.RenderPDFFile</a>, and so on. To determine the number of entries in the ErrorLog, use the <a rel="external" href="https://www.mbsplugins.eu/DynaPDFErrLogMessageCount.shtml">DynaPDF.ErrLogMessageCount</a> function. If you want to retrieve a single error, you can do so by specifying the index of the corresponding error using the <a rel="external" href="https://www.mbsplugins.eu/DynaPDFErrLogMessage.shtml">DynaPDF.ErrLogMessage</a> function.
<pre>
{
	"Message": "syntax error at line 1",
	"ObjNum": -1,
	"Offset": 1,
	"SrcFile": "../svg/svg_loader.cpp",
	"SrcLine": 421,
	"ErrCode": -1,
	"ErrType": -1
}
</pre>

If you want to read all of them at once, use the <a rel="external" href="https://www.mbsplugins.eu/DynaPDFErrLogMessages.shtml">DynaPDF.ErrLogMessages</a> function. As with the single-error version, you'll receive a JSON response listing all errors along with their corresponding information.
</p>
<p>
We've also introduced new features related to vector graphics. For example, you can insert your company logo if it's available as an SVG. Using the <a rel="external" href="https://www.mbsplugins.eu/DynaPDFLoadSVG.shtml">DynaPDF.LoadSVG</a> and <a rel="external" href="https://www.mbsplugins.eu/DynaPDFLoadSVGFile.shtml">DynaPDF.LoadSVGFile</a> functions, you can load an existing SVG either from a container or from a file on your hard drive. Using the <a rel="external" href="https://www.mbsplugins.eu/DynaPDFInsertSVG.shtml">DynaPDF.InsertSVG</a> function, you can then place and scale the graphic in your PDF. The function uses a native SVG-to-PDF converter that translates SVG graphics directly into PDF drawing operations and resources. Vector graphics remain vector-based whenever possible, preserving their scalability and rendering quality.
<pre>
# Start new PDF document
Set Variable [ $pdf ; Value: MBS("<a rel="external" href="https://www.mbsplugins.eu/DynaPDFNew.shtml">DynaPDF.New</a>") ]
Set Variable [ $r ; Value: MBS("<a rel="external" href="https://www.mbsplugins.eu/DynaPDFAppendPage.shtml">DynaPDF.AppendPage</a>"; $pdf) ]
# 
# Load SVG
Set Variable [ $r ; Value: MBS("<a rel="external" href="https://www.mbsplugins.eu/DynaPDFLoadSVG.shtml">DynaPDF.LoadSVG</a>"; $pdf; SVG::SVG) ]
# 
# Place the image
Set Variable [ $width ; Value: 500 ]
Set Variable [ $Height ; Value: 0 // automatic ]
Set Variable [ $r ; Value: MBS("<a rel="external" href="https://www.mbsplugins.eu/DynaPDFInsertSVG.shtml">DynaPDF.InsertSVG</a>"; $pdf; 0; 0; $width; $height) ]
# 
# close page and save
Set Variable [ $r ; Value: MBS("<a rel="external" href="https://www.mbsplugins.eu/DynaPDFEndPage.shtml">DynaPDF.EndPage</a>"; $pdf) ]
Set Field [ MyTable::ContainerField; MBS( "<a rel="external" href="https://www.mbsplugins.eu/DynaPDFSave.shtml">DynaPDF.Save</a>"; $pdf; "report.pdf" ) ]
Set Variable [ $r ; Value: MBS("<a rel="external" href="https://www.mbsplugins.eu/DynaPDFRelease.shtml">DynaPDF.Release</a>"; $pdf) ]
</pre>

In addition to inserting SVG files, you can also retrieve additional information about a loaded SVG-such as its size-using <a rel="external" href="https://www.mbsplugins.eu/DynaPDFGetSVGSize.shtml">DynaPDF.GetSVGSize</a> and <a rel="external" href="https://www.mbsplugins.eu/DynaPDFGetSVGSizes.shtml">DynaPDF.GetSVGSizes</a>. An SVG file can consist of multiple embedded SVG graphics. You can determine the number of these using <a rel="external" href="https://www.mbsplugins.eu/DynaPDFGetSVGSymbolCount.shtml">DynaPDF.GetSVGSymbolCount</a>. The functions <a rel="external" href="https://www.mbsplugins.eu/DynaPDFGetSVGSymbolName.shtml">DynaPDF.GetSVGSymbolName</a> and <a rel="external" href="https://www.mbsplugins.eu/DynaPDFGetSVGSymbolNames.shtml">DynaPDF.GetSVGSymbolNames</a> return the names of the SVG symbols.
</p>

<h3>Encryption</h3>
<p>In the <a rel="external" href="https://www.mbsplugins.eu/component_Encryption.shtml" translate="no">Encryption</a> section, we have two new functions designed to help you with AES encryption using GCM mode. The <a rel="external" href="https://www.mbsplugins.eu/EncryptionSetGCMTag.shtml">Encryption.SetGCMTag</a> function sets the GCM authentication tag for the next decryption. The <a rel="external" href="https://www.mbsplugins.eu/EncryptionGetGCMTag.shtml">Encryption.GetGCMTag</a> function retrieves the GCM authentication tag from the last encryption.</p>


<h3>Relationships in JSON</h3>
<p>
Let's move on to a tool designed to help you gain an overview of the database structure, for example, when working with external solutions. We're talking about the <a rel="external" href="https://www.mbsplugins.eu/FMRelations.shtml">FM.Relations</a> function. This function displays the relationships in the database as JSON. The relationships for each individual table are specified in this JSON. Take a look, for example, at this JSON, which was generated from the relationship diagram shown in the image:
</p>
<img src="http://www.mbsplugins.de/image/FM16.4_Image1.png" width="1180" >
<pre>
[
	{
		"TableName": "Customer",
		"TableID": 1065090,
		"BaseTableName": "Customer",
		"BaseFileName": "16.4",
		"ModCount": 1,
		"Relations": [
			{
				"Source": "16.4",
				"Table": "Orders",
				"Options": "",
				"Conditions": [
					"Orders::Customer_ID = Customer::P_Customer_ID"
				]
			}, 
			{
				"Source": "16.4",
				"Table": "Mails",
				"Options": "",
				"Conditions": [
					"Mails::Customer_ID = Customer::P_Customer_ID"
				]
			}, 
			{
				"Source": "16.4",
				"Table": "Shipping_Addresses",
				"Options": "",
				"Conditions": [
					"Shipping_Addresses::Customer_ID = Customer::P_Customer_ID"
				]
			}
		]
	}, 
	{
		"TableName": "Items",
		"TableID": 1065092,
		"BaseTableName": "Items",
		"BaseFileName": "16.4",
		"ModCount": 2,
		"Relations": [
			{
				"Source": "16.4",
				"Table": "Orders",
				"Options": "",
				"Conditions": [
					"Orders::P_Orders_ID = Items::Orders_ID"
				]
			}
		]
	}, 
	{
		"TableName": "Mails",
		"TableID": 1065093,
		"BaseTableName": "Mails",
		"BaseFileName": "16.4",
		"ModCount": 2,
		"Relations": [
			{
				"Source": "16.4",
				"Table": "Customer",
				"Options": "",
				"Conditions": [
					"Customer::P_Customer_ID = Mails::Customer_ID"
				]
			}
		]
	}, 
	{
		"TableName": "Orders",
		"TableID": 1065091,
		"BaseTableName": "Orders",
		"BaseFileName": "16.4",
		"ModCount": 2,
		"Relations": [
			{
				"Source": "16.4",
				"Table": "Customer",
				"Options": "",
				"Conditions": [
					"Customer::P_Customer_ID = Orders::Customer_ID"
				]
			}, 
			{
				"Source": "16.4",
				"Table": "Items",
				"Options": "",
				"Conditions": [
					"Items::Orders_ID = Orders::P_Orders_ID"
				]
			}
		]
	}, 
	{
		"TableName": "Shipping_Addresses",
		"TableID": 1065094,
		"BaseTableName": "Shipping_Addresses",
		"BaseFileName": "16.4",
		"ModCount": 2,
		"Relations": [
			{
				"Source": "16.4",
				"Table": "Customer",
				"Options": "",
				"Conditions": [
					"Customer::P_Customer_ID = Shipping_Addresses::Customer_ID"
				]
			}
		]
	}, 
	{
		"TableName": "Table",
		"TableID": 1065089,
		"BaseTableName": "Table",
		"BaseFileName": "16.4",
		"ModCount": 1,
		"Relations": []
	}
]

</pre>

<p>In comparison to the relational diagram, the JSON sometimes makes it even easier to understand the relationships, since-in addition to the table names-we also learn the BaseTable name and exactly how the relationships between the tables are defined. We hope this tool will be helpful to you in your analyses.</p>

<h3>Window</h3>
<p>You may be familiar with this situation: You're working in FileMaker when a dialog box pops up, and instead of clicking OK, you have to click a different button, such as Cancel. And this dialog box appears not just once, but multiple times. Each time, you have to move your hands from the keyboard to the mouse to press the correct button in the dialog box. But you can now solve this problem with the <a rel="external" href="https://www.monkeybreadsoftware.com/filemaker/">MBS FileMaker Plugin</a>, because the <a rel="external" href="https://www.mbsplugins.eu/WindowEnableEscForCustomDialog.shtml">Window.EnableEscForCustomDialog</a> function lets you use the Escape key to confirm a button of your choice in the dialog box. In the function, you specify the name of the desired button in the parameters. If the parameter is set to an empty string, this function is disabled again. Now, if you press the Esc key while the dialog is open, the corresponding button in your dialog will be clicked.</p>

<h3>Signatures</h3>
<p>When installing the <a rel="external" href="https://www.monkeybreadsoftware.com/filemaker/">MBS FileMaker Plugin</a>, you may want to know before installation whether the file has been modified. You can perform this check using <a rel="external" href="https://www.mbsplugins.eu/FilesCheckSignature.shtml">Files.CheckSignature</a>. This function validates the signature of an application, library, or plugin. If you want more information about a code-signed file, use the <a rel="external" href="https://www.mbsplugins.eu/FilesSignatureInfo.shtml">Files.SignatureInfo</a> function. It returns a JSON object containing the available information.</p>

<pre>
MBS( "<a rel="external" href="https://www.mbsplugins.eu/FilesSignatureInfo.shtml">Files.SignatureInfo</a>"; "/Users/cs/Desktop/MBS.fmplugin" )

Example result: 
{
  "source" : "embedded",
  "teamIdentifier" : "RZ52899P4B",
  "format" : "bundle with Mach-O universal (x86_64 arm64)",
  "mainExecutable" : "\/Users\/cs\/Dokumente\/FileMaker Output\/MBS.fmplugin\/Contents\/MacOS\/MBS",
  "unique" : "mws\/4QAWUpL6HIfwKDQQaunjLnE=",
  "CertificateChain" : [
    {
      "Issuer" : "C=US,O=Apple Inc.,OU=Apple Certification Authority,CN=Developer ID Certification Authority",
      "Index" : 0,
      "SerialNumber" : "2D:9C:3E:B8:13:65:65:86",
      "ValidUntil" : "2027-02-01 22:12:15 +0000",
      "Name" : "Developer ID Application: Christian Schmitz Software GmbH (RZ52899P4B)",
      "ValidFrom" : "2022-04-07 09:25:24 +0000",
      "Subject" : "C=US,O=Christian Schmitz Software GmbH,OU=RZ52899P4B,CN=Developer ID Application: Christian Schmitz Software GmbH (RZ52899P4B),UID=RZ52899P4B"
    },
    {
      "Issuer" : "CN=Apple Root CA,OU=Apple Certification Authority,O=Apple Inc.,C=US",
      "Index" : 1,
      "SerialNumber" : "18:7A:A9:A8:C2:96:21:0C",
      "ValidUntil" : "2027-02-01 22:12:15 +0000",
      "Name" : "Developer ID Certification Authority",
      "ValidFrom" : "2012-02-01 22:12:15 +0000",
      "Subject" : "C=US,O=Apple Inc.,OU=Apple Certification Authority,CN=Developer ID Certification Authority"
    },
    {
      "Issuer" : "CN=Apple Root CA,OU=Apple Certification Authority,O=Apple Inc.,C=US",
      "Index" : 2,
      "SerialNumber" : "02",
      "ValidUntil" : "2035-02-09 21:40:36 +0000",
      "Name" : "Apple Root CA",
      "ValidFrom" : "2006-04-25 21:40:36 +0000",
      "Subject" : "CN=Apple Root CA,OU=Apple Certification Authority,O=Apple Inc.,C=US"
    }
  ],
  "identifier" : "de.monkeybreadsoftware.fmplugin.MBS",
  "HashAlgorithm" : "SHA-256",
  "flags" : 0,
  "timestamp" : "2026-08-17 10:27:16 +0000"
}

</pre>

<h3>Querying Version Numbers</h3>
<p>In the Plugin section, we've included three small functions that may be useful to you depending on the context, such as when debugging. <a rel="external" href="https://www.mbsplugins.eu/PluginLibXMLVersion.shtml">Plugin.LibXMLVersion</a> queries the version of the XML library. <a rel="external" href="https://www.mbsplugins.eu/PluginLibXSLTVersion.shtml">Plugin.LibXSLTVersion</a> returns the version number of the current XSLT library. The <a rel="external" href="https://www.mbsplugins.eu/PluginLicenseExpiration.shtml">Plugin.LicenseExpiration</a> function returns the expiration date of the plugin license.</p>
<p>

In the <a rel="external" href="https://www.mbsplugins.eu/component_Llama.shtml" translate="no">Llama</a> section, we've also added a new <a rel="external" href="https://www.mbsplugins.eu/LlamaVersion.shtml">Llama.Version</a> function that queries the version of the loaded llama-cpp library.
</p>

<h3>XL</h3>
<p>We've also added a new function in the LibXL section. The <a rel="external" href="https://www.mbsplugins.eu/XLClearLicense.shtml">XL.ClearLicense</a> function removes the license key without unloading the library. It's very similar to the long-standing <a rel="external" href="https://www.mbsplugins.eu/XLUninitialize.shtml">XL.Uninitialize</a> function, with the difference that this function simply forgets the license key and the library does not need to be reloaded.</p>

<h2>Mac</h2>
<p>There are also new features for Mac</p>
<h3>ScriptWorkspace</h3>

<p>There are new features in the <a rel="external" href="https://www.mbsplugins.eu/component_ScriptWorkspace.shtml" translate="no">ScriptWorkspace</a> section. The <a rel="external" href="https://www.mbsplugins.eu/ScriptWorkspaceCurrentTabIsPreview.shtml">ScriptWorkspace.CurrentTabIsPreview</a> function allows you to check whether the current tab has a preview button. If you also want to trigger this button via script, the <a rel="external" href="https://www.mbsplugins.eu/ScriptWorkspaceCurrentTabTogglePreview.shtml">ScriptWorkspace.CurrentTabTogglePreview</a> function can help you do so. You can now also close the current tab programmatically by using <a rel="external" href="https://www.mbsplugins.eu/ScriptWorkspaceCurrentTabToggleClose.shtml">ScriptWorkspace.CurrentTabToggleClose</a> to toggle the close button on the current tab.</p>

<p>In addition, you can now programmatically set the focus to the script using <a rel="external" href="https://www.mbsplugins.eu/ScriptWorkspaceSetFocusToScript.shtml">ScriptWorkspace.SetFocusToScript</a>.</p>

<h3>Syntax Coloring</h3>
<p>The next feature I'd like to introduce to you was explicitly requested by some of you. With the <a rel="external" href="https://www.mbsplugins.eu/SyntaxColoringAddCustomFunctionTooltip.shtml">SyntaxColoring.AddCustomFunctionTooltip</a> function, you can add a tooltip to a custom function. The idea is to have the start script in your solution add tooltips for the custom functions you use in the solution. The tooltips are not saved, so they need to be set whenever FileMaker Pro is launched.</p>
<p>Here's how you can set a tooltip for the MBS function:

<pre>MBS("<a rel="external" href="https://www.mbsplugins.eu/SyntaxColoringAddCustomFunctionTooltip.shtml">SyntaxColoring.AddCustomFunctionTooltip</a>"; "MBS"; "Best function ever!")</pre>
</p>

<p>You can use the <a rel="external" href="https://www.mbsplugins.eu/SyntaxColoringSetFieldTooltipsEnabled.shtml">SyntaxColoring.SetFieldTooltipsEnabled</a> and <a rel="external" href="https://www.mbsplugins.eu/SyntaxColoringGetFieldTooltipsEnabled.shtml">SyntaxColoring.GetFieldTooltipsEnabled</a> functions to set and check whether tooltips for fields are enabled in the database design dialog.</p>

<p>This area we're currently discussing has become particularly well-known due to script syntax highlighting. If you want to know which elements are highlighted in which colors during script syntax highlighting, you can now use the <a rel="external" href="https://www.mbsplugins.eu/SyntaxColoringGetTagsJSON.shtml">SyntaxColoring.GetTagsJSON</a> function to retrieve a JSON list of the colors associated with the corresponding elements.</p>
<img src="http://www.mbsplugins.de/image/FM16.4_Image2.png" width="873" >


<p>We hope you will also find some interesting new features. We wish you a lot of fun with <a rel="external" href="https://www.monkeybreadsoftware.com/filemaker/">MBS FileMaker Plugin</a> Version 16.4. If you need a license or have any questions, please contact us.</p>

<p><small>This text was translated using Ki Tools.</small></p> ]]></description>
			<guid isPermaLink="false">6355@https://mbsplugins.de/pivot/</guid>
			<category>filemaker</category>
			<pubDate>Wed, 07 Oct 2026 10:52:00 +0200</pubDate>
		</item>
		
		
		
		<item>
			<title>When to buy the license</title>
			<link>https://www.mbsplugins.de/archive/2026-10-06/When_to_buy_the_license</link>
			<comments>https://www.mbsplugins.de/archive/2026-10-06/When_to_buy_the_license#comm</comments>
                        <description><![CDATA[ We usually recommend you to order a license long before deployment to make sure you have the license in place for development and testing. At least a few days before you do your testing with clients to verify your application or solution works.<br />
<br />
What could go wrong?<br/><br />
When you present your solution to a client, you may not want to have the MBS Plugin show a dialog that the license is missing or expired. <br />
<br />
Or when you plan to deploy today, you like to order the license. But that day the web shop is on maintenance, your credit card fails for the transaction or your order gets flagged for manual review and we are on the road, so nobody is in the office to handle it.<br />
<br />
Even worse would be if you work on a client solution. You update a few scripts, test them locally and they work fine. Then you copy the scripts to the solution for the client's server. You notice the script doesn't work yet as you use a few newer MBS functions, that are not in the version of the plugin on the server. You decide to update the plugin on the server. After you restart the script engine to load the new plugin, the script starts to work fine and you call it a day.<br />
<br />
What you may not have noticed is that the old license on the client's server doesn't cover the newer plugin version. The plugin loads and discards the old license key. Then the start script tries to register the same license key, but that fails. You hopefully implemented the recommended registration script, which on server emails you in case something happens. If you don't catch the problem quickly, you may be in trouble by Monday. The plugin works for some time, but eventually stops due to the missing license. And then your client starts to complain when processes don't complete.<br />
<br />
Once you have a license, please archive the license email and the plugin download. We recently got a couple of people contacting us about not finding their license key. Sometimes you need to reinstall on a new computer and it is great to have a copy at hand. <br />
<br />
When you buy a license renewal, please put the new license into the script before you update the plugin to avoid the license dialogs to show up.<br />
And if you don't like to buy renewals every year, you can purchase your renewal for up to 5 years.<br />
<br />
Please order your licenses a bit before you need them. Thanks. ]]></description>
			<guid isPermaLink="false">6354@https://mbsplugins.de/pivot/</guid>
			<category>default</category>
			<pubDate>Tue, 06 Oct 2026 04:29:00 +0200</pubDate>
		</item>
		
		
		
		<item>
			<title>MBS Xojo Plugins, version 26.5pr1</title>
			<link>https://www.mbsplugins.de/archive/2026-10-01/MBS_Xojo_Plugins_version_265pr</link>
			<comments>https://www.mbsplugins.de/archive/2026-10-01/MBS_Xojo_Plugins_version_265pr#comm</comments>
                        <description><![CDATA[ <img src="http://www.mbsplugins.de/images/xojoplugin.png" width="128" height="128" align="right">New in this prerelease of the 26.5 plugins:
<ul>

<li>Fixed a possible crash with folders and FolderItem.<a rel="external" href="https://www.monkeybreadsoftware.net/folderitem-commentmbs.shtml#c2">CommentMBS</a> function.</li>
<li>Updated Xcode to version 27.0.</li>
<li>Minimum macOS version is version 11.0 on Apple Silicon and 10.9 on Intel. iOS is 15.6</li>
<li>Removed DVDPlaybackMBS class.</li>
<li>Added TouchScrollingEnabled, maximumNumberOfTouchesForScrolling, and minimumNumberOfTouchesForScrolling properties to <a rel="external" href="https://www.monkeybreadsoftware.net/class-nsscrollviewmbs.shtml">NSScrollViewMBS</a> class.</li>
<li>Added role properties to <a rel="external" href="https://www.monkeybreadsoftware.net/class-nssegmentedcontrolmbs.shtml">NSSegmentedControlMBS</a> and <a rel="external" href="https://www.monkeybreadsoftware.net/class-nstoolbaritemgroupmbs.shtml">NSToolbarItemGroupMBS</a> class.</li>
<li>Updated openssl to version 3.5.9.</li>
<li>Added <a rel="external" href="https://www.monkeybreadsoftware.net/module-windowscredentialsmbs.shtml">WindowsCredentialsMBS</a> module, <a rel="external" href="https://www.monkeybreadsoftware.net/class-windowscredentialmbs.shtml">WindowsCredentialMBS</a> and <a rel="external" href="https://www.monkeybreadsoftware.net/class-windowscredentialattributembs.shtml">WindowsCredentialAttributeMBS</a> classes.</li>

</ul>

<p><a rel="external" href="https://www.monkeybreadsoftware.net/newinversion265.shtml">New functions in documentation</a></p>

<p>Download Links: <a rel="external" href="https://monkeybreadsoftware.com/cgi-bin/prerelease.php?type=xojo&format=dmg&cdn=1" download>Download Mac dmg</a> or <a rel="external" href="https://monkeybreadsoftware.com/cgi-bin/prerelease.php?type=xojo&format=zip&cdn=1" download>Download Windows/Linux zip</a></p>

<p>Download: <a rel="external" href="https://www.monkeybreadsoftware.de/xojo/download/plugin/Prerelease/">monkeybreadsoftware.de/xojo/download/plugin/Prerelease/</a>. <br />
Or ask us to be added to our shared DropBox folder.</p>

<p>You can subscribe to our <a rel="external" href="https://monkeybreadsoftware.de/mbsxojoplugin" title="">Xojo mailing list</a> to get notified for new pre-release and release versions.</p> ]]></description>
			<guid isPermaLink="false">6353@https://mbsplugins.de/pivot/</guid>
			<category>realstudio</category>
			<pubDate>Thu, 01 Oct 2026 10:55:00 +0200</pubDate>
		</item>
		
		
		
		<item>
			<title>MBS FileMaker Plugin, version 16.5pr1</title>
			<link>https://www.mbsplugins.de/archive/2026-10-01/MBS_FileMaker_Plugin_version_1</link>
			<comments>https://www.mbsplugins.de/archive/2026-10-01/MBS_FileMaker_Plugin_version_1#comm</comments>
                        <description><![CDATA[ <img src="http://www.mbsplugins.de/image/fmplugin19.png" width="200" align="right">New in this prerelease of version 16.5 of the <a rel="external" href="https://www.monkeybreadsoftware.com/filemaker/">MBS FileMaker Plugin</a>:
<ul>

<li>Added <a rel="external" href="https://www.mbsplugins.eu/ScriptWorkspaceIsFocusOnScript.shtml">ScriptWorkspace.IsFocusOnScript</a> function.</li>
<li>Enabled remembering column width for script picker dialog.</li>
<li>Improved <a rel="external" href="https://www.mbsplugins.eu/PrinterPrint.shtml">Printer.Print</a> for Windows to wait for OK button to be ready. We set source before paper format for the sub dialog.</li>
<li>Fixed crash with <a rel="external" href="https://www.mbsplugins.eu/DragDropSetAutoResizingMask.shtml">DragDrop.SetAutoResizingMask</a> in FileMaker 26.</li>
<li>Improved <a rel="external" href="https://www.mbsplugins.eu/PluginSetLicenseKeyHidden.shtml">Plugin.SetLicenseKeyHidden</a> to hide license from the plugin info string.</li>
<li>Updated Xcode to version 27.0.</li>
<li>Minimum macOS version is version 12.0. iOS is 15.6</li>
<li>Added new search for relationships.</li>
<li>Updated openssl to version 3.5.9.</li>
<li>Rewrote how we position the title bar controls in Script Workspace on macOS.</li>
<li>Improved search in custom functions.</li>

</ul>

<p><a rel="external" href="https://www.mbsplugins.eu/newinversion165.shtml">New functions in documentation</a></p>

<p>Download Links: <a rel="external" href="https://monkeybreadsoftware.com/cgi-bin/prerelease.php?type=filemaker&format=dmg&cdn=1" download>Download Mac dmg</a> or <a rel="external" href="https://monkeybreadsoftware.com/cgi-bin/prerelease.php?type=filemaker&format=zip&cdn=1" download>Download Windows/Linux zip</a></p>

<br  clear="all" />
<p>Downloads at <a rel="external" href="https://www.monkeybreadsoftware.com/filemaker/files/Prerelease/">monkeybreadsoftware.com/filemaker/files/Prerelease/</a>: </p>
<br  clear="all" />

<p>You can subscribe to our <a rel="external" href="https://monkeybreadsoftware.com/mbsfmplugin" title="">FileMaker mailing list</a> to get notified for new pre-release and release versions.</p> ]]></description>
			<guid isPermaLink="false">6352@https://mbsplugins.de/pivot/</guid>
			<category>filemaker</category>
			<pubDate>Thu, 01 Oct 2026 09:59:00 +0200</pubDate>
		</item>
		
		
		
		<item>
			<title>EngageU 2026 starts</title>
			<link>https://www.mbsplugins.de/archive/2026-09-30/EngageU_2026_starts</link>
			<comments>https://www.mbsplugins.de/archive/2026-09-30/EngageU_2026_starts#comm</comments>
                        <description><![CDATA[ <p>Today the EngageU conference starts in Malm&ouml;, Sweden. Over 200 FileMaker developers meet to exchange ideas, present new things and spend time together. If you can't make it, you may later watch recording on <a rel="external" href="https://www.youtube.com/@engageu_eu" title="">YouTube</a>.</p>

<img src="http://www.mbsplugins.de/image/engage2026.jpg" width="780" style="border-radius:10pt;">

<p>If you like to join another conference, please check our <a rel="external" href="https://www.monkeybreadsoftware.com/filemaker/events/">list of events here</a>.</p><br  />
<b>Conference Offer</b>
<p>If you haven't yet the luck to get a MBS Plugin license, you can order one this month with a 20% discount. Use coupon code FileMakerConference at checkout in the web shop. The discount must show up in the shopping cart before you finish the order. We can't apply a coupon retroactive after the order was sent.</p> ]]></description>
			<guid isPermaLink="false">6351@https://mbsplugins.de/pivot/</guid>
			<category>filemaker</category>
			<pubDate>Wed, 30 Sep 2026 09:44:00 +0200</pubDate>
		</item>
		
		
		
		<item>
			<title>Upcoming Xcode version upgrade</title>
			<link>https://www.mbsplugins.de/archive/2026-09-29/Upcoming_Xcode_version_upgrade</link>
			<comments>https://www.mbsplugins.de/archive/2026-09-29/Upcoming_Xcode_version_upgrade#comm</comments>
                        <description><![CDATA[ <p><img src="http://www.mbsplugins.de/image/xcode27.png" width="256" height="256" align="right">
For next <a rel="external" href="https://www.monkeybreadsoftware.com/filemaker/">MBS FileMaker Plugin</a> we upgrade to Xcode 27. The recommended minimum macOS version is 12.0 due to upgrades in C++ libraries for that version. 
</p>

<p>
We change the deployment target for <a rel="external" href="https://www.monkeybreadsoftware.com/filemaker/">MBS FileMaker Plugin</a> 16.5 to macOS 12.0. If you still need support for macOS 10.13 or 11.0, please use version 16.4 or older. For macOS 10.9, please use <a rel="external" href="https://www.monkeybreadsoftware.com/filemaker/">MBS FileMaker Plugin</a> 13.1.</p><table cellpadding="3">
<tr><th>MBS FileMaker</th><th>MBS Xojo</th><th>Xcode</th><th>iOS Minimum</th><th>macOS Minimum</th></tr>
<tr><td>16.5</td><td>26.5</td><td>27.0</td><td></td><td>12.0 for FileMaker</td></tr>
<tr><td>16.4</td><td>26.4</td><td></td><td></td><td></td></tr>
<tr><td>16.3</td><td>26.3</td><td>26.6</td><td></td><td></td></tr>
<tr><td>16.2</td><td>26.2</td><td>26.4</td><td></td><td></td></tr>
<tr><td>16.1</td><td>26.1</td><td>26.2</td><td>15.6</td><td></td></tr>
<tr><td>16.0</td><td>26.0</td><td>26.1.1</td><td></td><td></td></tr>
<tr><td>15.5</td><td>25.5</td><td>26.0</td><td></td><td></td></tr>
<tr><td>15.4</td><td>25.4</td><td></td><td></td><td></td></tr>
<tr><td>15.3</td><td>25.3</td><td>16.4</td><td></td><td></td></tr>
<tr><td>15.2</td><td>25.2</td><td>16.3</td><td></td><td></td></tr>
<tr><td>15.1</td><td>25.1</td><td></td><td></td><td></td></tr>
<tr><td>15.0</td><td>25.0</td><td>16.2</td><td></td><td></td></tr>
<tr><td>14.5</td><td>24.5</td><td>16.0</td><td></td><td></td></tr>
<tr><td>14.4</td><td>24.4</td><td></td><td></td><td></td></tr>
<tr><td>14.3</td><td>24.3</td><td>15.4</td><td></td><td></td></tr>
<tr><td>14.2</td><td>24.2</td><td>15.3</td><td></td><td></td></tr>
<tr><td>14.1</td><td>24.1</td><td></td><td></td><td></td></tr>
<tr><td>14.0</td><td>24.0</td><td>15.2</td><td></td><td></td></tr>
<tr><td>13.5</td><td>23.5</td><td>15.0</td><td></td><td></td></tr>
<tr><td>13.4</td><td>23.4</td><td></td><td></td><td></td></tr>
<tr><td>13.3</td><td>23.3</td><td></td><td></td><td></td></tr>
<tr><td>13.2</td><td>23.2</td><td>14.3</td><td></td><td>10.13</td></tr>
<tr><td>13.1</td><td>23.1</td><td></td><td></td><td></td></tr>
<tr><td>13.0</td><td>23.0</td><td>14.2</td><td></td><td></td></tr>
<tr><td>12.5</td><td>22.5</td><td>14.0.1</td><td>12.0</td><td></td></tr>
<tr><td>12.4</td><td>22.4</td><td></td><td></td><td></td></tr>
<tr><td>12.3</td><td>22.3</td><td></td><td>13.4</td><td></td></tr>
<tr><td>12.2</td><td>22.2</td><td></td><td></td><td></td></tr>
<tr><td>12.1</td><td>22.1</td><td>13.2.1</td><td></td><td></td></tr>
<tr><td>12.0</td><td>22.0</td><td></td><td></td><td></td></tr>
<tr><td>11.5</td><td>21.5</td><td>13.1</td><td></td><td></td></tr>
<tr><td>11.4</td><td>21.4</td><td></td><td></td><td></td></tr>
<tr><td>11.3</td><td>21.3</td><td>12.5.1</td><td></td><td></td></tr>
<tr><td>11.2</td><td>21.2</td><td></td><td></td><td></td></tr>
<tr><td>11.1</td><td>21.1</td><td>12.4</td><td></td><td></td></tr>
<tr><td>11.0</td><td>21.0</td><td>12.3</td><td></td><td></td></tr>
<tr><td>10.5</td><td>20.5</td><td>12.1</td><td></td><td></td></tr>
<tr><td>10.4</td><td>20.4</td><td>11.6</td><td></td><td></td></tr>
<tr><td>10.3</td><td>20.3</td><td>11.5</td><td></td><td></td></tr>
<tr><td>10.2</td><td>20.2</td><td></td><td></td><td></td></tr>
<tr><td>10.1</td><td>20.1</td><td></td><td></td><td></td></tr>
<tr><td>10.0</td><td>20.0</td><td>11.3</td><td>10.1</td><td>10.9</td></tr>
</table> ]]></description>
			<guid isPermaLink="false">6350@https://mbsplugins.de/pivot/</guid>
			<category>filemaker</category>
			<pubDate>Tue, 29 Sep 2026 10:23:00 +0200</pubDate>
		</item>
		
		
		
		<item>
			<title>The importance of code signing plugins</title>
			<link>https://www.mbsplugins.de/archive/2026-09-25/The_importance_of_code_signing</link>
			<comments>https://www.mbsplugins.de/archive/2026-09-25/The_importance_of_code_signing#comm</comments>
                        <description><![CDATA[ <p>
Recently at the Full Access conference, there was a discussion about AI and plugins. For the last 40 years the art of making a plugin was pretty difficult. You had to be a decent C++ developer, have some interest in FileMaker and work yourself through the plugin SDK.
</p>
<p>
Today you can ask your favorite AI agent to read in the SDK and produce you a plugin. This may enable a lot of people to make their own custom plugin. And since AI helps, they may vibe code it and we may see a flood of new plugins.
</p>

<p>
With a lot of plugins, we need to think about where you get it, how they are distributed and how to make sure you got the plugin. Especially how to avoid someone to provide you an imposter plugin that steals your credentials.</p><p>
The solution is probably to check the code signatures. On macOS the dmg is code signed as well as the application. For Windows the application is also signed, but Linux is still kind of a problem. We started years ago to publish the SHA256 hashes for our files, maybe Claris could do the same for theirs? At least you need to make sure you download the files via your ESD website directly from Claris web server and our plugin from our website.
</p>

<p>
A few improvements were suggested at the conference related to plugins and we'll see if Claris can implement a few:
</p>

<p>
For the server admin console:</p>

<ol>
<li>Show the path of the three plugin folders.
<li>Show which plugins are installed. 
<br  />This is currently only there for Script Engine, but could be added for Web Direct and Data API.
</ol>

<p>
For FileMaker in general the <a rel="external" href="https://help.claris.com/en/pro-help/content/get-installedfmpluginsasjson.html">Get(InstalledFMPluginsAsJSON)</a> function should list the plugin folder for the current engine. Also it could list the code signing identity for the certificate used and who issued it for each plugin. In my case this would be Christian Schmitz Software GmbH.
</p>

<p>
In FileMaker Pro the plugin section in the preferences dialog could also display the signing identity, so you could see who signed the plugin. 
</p>

<p>
There could also be an option for both Server and Pro to only allow signed plugins at all. The key here is to prevent AI made imposter plugins.
</p>

<p>
An even more strict thing could be the option for assistive installation to disable unsigned plugins. And the possibility to have FileMaker only install a new plugin if it is code signed and if the plugin is updated, the old and new signing identity matches. You know, to catch someone modifying a plugin and resigning it with their own signature.
</p>

<p>
Anyway, we'll see what Claris does with future updates to strengthen the security level on code signatures. For our plugin we recently added <a rel="external" href="https://www.mbsplugins.eu/FilesCheckSignature.shtml">Files.CheckSignature</a> and <a rel="external" href="https://www.mbsplugins.eu/FilesSignatureInfo.shtml">Files.SignatureInfo</a> functions.</p> ]]></description>
			<guid isPermaLink="false">6349@https://mbsplugins.de/pivot/</guid>
			<category>filemaker</category>
			<pubDate>Fri, 25 Sep 2026 08:07:00 +0200</pubDate>
		</item>
		
		
		
		<item>
			<title>Scale down images to save space</title>
			<link>https://www.mbsplugins.de/archive/2026-09-24/Scale_down_images_to_save_spac</link>
			<comments>https://www.mbsplugins.de/archive/2026-09-24/Scale_down_images_to_save_spac#comm</comments>
                        <description><![CDATA[ <p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-width: normal; font-size: 12px; line-height: normal; font-family: Helvetica; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal">
With <a rel="external" href="https://www.monkeybreadsoftware.com/filemaker/">MBS FileMaker Plugin</a>, we can take existing images and scale them down. A typical use case is a user of your solution picking an image to import into a container field. But that image may be in different formats and may be huge. Typical images from modern digital cameras or mobile phones may come in high resolutions with file sizes over 5 MB. When storing thousands of images, we like to keep an eye on the file sizes and scale images down before writing them into container.
</p>
<p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-width: normal; font-size: 12px; line-height: normal; font-family: Helvetica; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal">
&nbsp;
</p>
<img src="http://www.mbsplugins.de/image/ImageScaling.png" width="879"><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-width: normal; font-size: 12px; line-height: normal; font-family: Helvetica; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal">
The first script takes an image from a container field. Of course we can directly read it from a file path or a variable. But often we use global fields as the first place to store the newly imported image. We load it and scale it down to a maximum of 2000 by 2000 pixels. That is usually good to print the image on a paper. At 300 dpi this would be 6.6 inches or 16.9cm in size. You may use smaller sizes if the images are only needed to show on the web or for emails.
</p>
<p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-width: normal; font-size: 12px; line-height: normal; font-family: Helvetica; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; min-height: 14px">
&nbsp;
</p>
<p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-width: normal; font-size: 12px; line-height: normal; font-family: Helvetica; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal">
Then we like to save them either as PNG or JPEG. We use PNG whenever the input image has an alpha channel. JPEG images can't handle transparency. We build a new file name based on the input file name without the extension. Just to make sure that FileMaker has a file name for exporting the field content.
</p>
<p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-width: normal; font-size: 12px; line-height: normal; font-family: Helvetica; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; min-height: 14px">
&nbsp;
</p>
<p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-width: normal; font-size: 12px; line-height: normal; font-family: Helvetica; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal">
Since we like to keep files a bit smaller than a million bytes, we go down to 80% for the quality. In some solutions where the size really matters, we may even go down with size and quality until we hit the maximum size allowed. Here is the sample script:
</p>
<p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-width: normal; font-size: 12px; line-height: normal; font-family: Helvetica; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; min-height: 14px">
&nbsp;
</p>
<p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-width: normal; line-height: normal; font-family: 'Helvetica Neue'; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal">
<strong># Scale and save in file Image Scaling</strong>
</p>
<p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-width: normal; font-size: 12px; line-height: normal; font-family: Helvetica; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; min-height: 14px">
&nbsp;
</p>
<p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-width: normal; font-size: 12px; line-height: normal; font-family: Helvetica; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: #004d00">
# Scale picture down to save space and save as JPEG or PNG
</p>
<p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-width: normal; font-size: 12px; line-height: normal; font-family: Helvetica; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: #004d00">
#&nbsp;
</p>
<p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-width: normal; font-size: 12px; line-height: normal; font-family: Helvetica; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: #004d00">
# Load from container
</p>
<p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-width: normal; font-size: 12px; line-height: normal; font-family: Helvetica; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: #660066">
Set Variable [ $Image ; Value: MBS(&quot;<a rel="external" href="http://www.mbsplugins.eu/GMImageNewFromContainer.shtml">GMImage.NewFromContainer</a>&quot;; Image Scaling::InputImage) ]
</p>
<p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-width: normal; font-size: 12px; line-height: normal; font-family: Helvetica; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: #004d00">
# In case of error
</p>
<p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-width: normal; font-size: 12px; line-height: normal; font-family: Helvetica; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: #0066ff">
If [ MBS(&quot;<a rel="external" href="http://www.mbsplugins.eu/IsError.shtml">IsError</a>&quot;) ]
</p>
<p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-width: normal; font-size: 12px; line-height: normal; font-family: Helvetica; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: #9900cc">
<span style="color: #000000"><span class="Apple-tab-span" style="white-space: pre">	</span></span>Show Custom Dialog [ &quot;Failed to load image&quot; ; $image ]
</p>
<p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-width: normal; font-size: 12px; line-height: normal; font-family: Helvetica; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal">
<span class="Apple-tab-span" style="white-space: pre">	</span>Set Field [ Image Scaling::Info ; $Image ]
</p>
<p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-width: normal; font-size: 12px; line-height: normal; font-family: Helvetica; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: #0099ff">
<span style="color: #000000"><span class="Apple-tab-span" style="white-space: pre">	</span></span>Exit Script [ Text Result:&nbsp; &nbsp; ]
</p>
<p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-width: normal; font-size: 12px; line-height: normal; font-family: Helvetica; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: #0066ff">
Else
</p>
<p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-width: normal; font-size: 12px; line-height: normal; font-family: Helvetica; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: #004d00">
<span style="color: #000000"><span class="Apple-tab-span" style="white-space: pre">	</span></span># Scale down to maximum 2000 by 2000 pixels
</p>
<p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-width: normal; font-size: 12px; line-height: normal; font-family: Helvetica; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: #660066">
<span style="color: #000000"><span class="Apple-tab-span" style="white-space: pre">	</span></span>Set Variable [ $r ; Value: MBS(&quot;<a rel="external" href="http://www.mbsplugins.eu/GMImageScale.shtml">GMImage.Scale</a>&quot;; $Image; &quot;&gt;2000x2000&quot;) ]
</p>
<p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-width: normal; font-size: 12px; line-height: normal; font-family: Helvetica; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: #660066">
<span style="color: #000000"><span class="Apple-tab-span" style="white-space: pre">	</span></span>Set Variable [ $r ; Value: MBS(&quot;<a rel="external" href="http://www.mbsplugins.eu/GMImageSetQuality.shtml">GMImage.SetQuality</a>&quot;; $Image; 90) ]
</p>
<p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-width: normal; font-size: 12px; line-height: normal; font-family: Helvetica; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: #004d00">
<span style="color: #000000"><span class="Apple-tab-span" style="white-space: pre">	</span></span># get a new file name
</p>
<p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-width: normal; font-size: 12px; line-height: normal; font-family: Helvetica; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: #660066">
<span style="color: #000000"><span class="Apple-tab-span" style="white-space: pre">	</span></span>Set Variable [ $filename ; Value: MBS( &quot;<a rel="external" href="http://www.mbsplugins.eu/FilesFileName.shtml">Files.FileName</a>&quot;; GetAsText ( Image Scaling::InputImage ) ) ]
</p>
<p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-width: normal; font-size: 12px; line-height: normal; font-family: Helvetica; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: #660066">
<span style="color: #000000"><span class="Apple-tab-span" style="white-space: pre">	</span></span>Set Variable [ $filename ; Value: MBS( &quot;<a rel="external" href="http://www.mbsplugins.eu/FilesFileNameWithoutExtension.shtml">Files.FileNameWithoutExtension</a>&quot;; $filename ) ]
</p>
<p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-width: normal; font-size: 12px; line-height: normal; font-family: Helvetica; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: #004d00">
<span style="color: #000000"><span class="Apple-tab-span" style="white-space: pre">	</span></span># For images with alpha channel, we use PNG, otherwise JPEG
</p>
<p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-width: normal; font-size: 12px; line-height: normal; font-family: Helvetica; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: #0066ff">
<span style="color: #000000"><span class="Apple-tab-span" style="white-space: pre">	</span></span>If [ MBS( &quot;<a rel="external" href="http://www.mbsplugins.eu/GMImageGetMatte.shtml">GMImage.GetMatte</a>&quot;; $Image ) ]
</p>
<p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-width: normal; font-size: 12px; line-height: normal; font-family: Helvetica; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: #004d00">
<span style="color: #000000"><span class="Apple-tab-span" style="white-space: pre">		</span></span># write out
</p>
<p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-width: normal; font-size: 12px; line-height: normal; font-family: Helvetica; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal">
<span class="Apple-tab-span" style="white-space: pre">		</span>Set Field [ Image Scaling::Result ; MBS(&quot;<a rel="external" href="http://www.mbsplugins.eu/GMImageWriteToPNGContainer.shtml">GMImage.WriteToPNGContainer</a>&quot;; $Image; $filename &amp; &quot;.png&quot;) ]
</p>
<p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-width: normal; font-size: 12px; line-height: normal; font-family: Helvetica; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: #0066ff">
<span style="color: #000000"><span class="Apple-tab-span" style="white-space: pre">	</span></span>Else
</p>
<p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-width: normal; font-size: 12px; line-height: normal; font-family: Helvetica; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal">
<span class="Apple-tab-span" style="white-space: pre">		</span>Set Field [ Image Scaling::Result ; MBS(&quot;<a rel="external" href="http://www.mbsplugins.eu/GMImageWriteToJPEGContainer.shtml">GMImage.WriteToJPEGContainer</a>&quot;; $Image; $filename &amp; &quot;.jpg&quot;) ]
</p>
<p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-width: normal; font-size: 12px; line-height: normal; font-family: Helvetica; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal">
<span class="Apple-tab-span" style="white-space: pre">		</span><span style="color: #004d00">#&nbsp;</span>
</p>
<p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-width: normal; font-size: 12px; line-height: normal; font-family: Helvetica; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: #004d00">
<span style="color: #000000"><span class="Apple-tab-span" style="white-space: pre">		</span></span># let's check size
</p>
<p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-width: normal; font-size: 12px; line-height: normal; font-family: Helvetica; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: #660066">
<span style="color: #000000"><span class="Apple-tab-span" style="white-space: pre">		</span></span>Set Variable [ $size ; Value: MBS(&quot;<a rel="external" href="http://www.mbsplugins.eu/ContainerGetTotalSize.shtml">Container.GetTotalSize</a>&quot;; Image Scaling::Result) ]
</p>
<p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-width: normal; font-size: 12px; line-height: normal; font-family: Helvetica; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: #0066ff">
<span style="color: #000000"><span class="Apple-tab-span" style="white-space: pre">		</span></span>If [ $size &gt; 1000000 // over 1 MB ]
</p>
<p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-width: normal; font-size: 12px; line-height: normal; font-family: Helvetica; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: #004d00">
<span style="color: #000000"><span class="Apple-tab-span" style="white-space: pre">			</span></span># try again with 80% quality
</p>
<p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-width: normal; font-size: 12px; line-height: normal; font-family: Helvetica; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: #660066">
<span style="color: #000000"><span class="Apple-tab-span" style="white-space: pre">			</span></span>Set Variable [ $r ; Value: MBS(&quot;<a rel="external" href="http://www.mbsplugins.eu/GMImageSetQuality.shtml">GMImage.SetQuality</a>&quot;; $Image; 80) ]
</p>
<p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-width: normal; font-size: 12px; line-height: normal; font-family: Helvetica; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal">
<span class="Apple-tab-span" style="white-space: pre">			</span>Set Field [ Image Scaling::Result ; MBS(&quot;<a rel="external" href="http://www.mbsplugins.eu/GMImageWriteToJPEGContainer.shtml">GMImage.WriteToJPEGContainer</a>&quot;; $Image) ]
</p>
<p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-width: normal; font-size: 12px; line-height: normal; font-family: Helvetica; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: #0066ff">
<span style="color: #000000"><span class="Apple-tab-span" style="white-space: pre">		</span></span>End If
</p>
<p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-width: normal; font-size: 12px; line-height: normal; font-family: Helvetica; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: #0066ff">
<span style="color: #000000"><span class="Apple-tab-span" style="white-space: pre">	</span></span>End If
</p>
<p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-width: normal; font-size: 12px; line-height: normal; font-family: Helvetica; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal">
<span class="Apple-tab-span" style="white-space: pre">	</span>Set Field [ Image Scaling::Info ; MBS(&quot;<a rel="external" href="http://www.mbsplugins.eu/GMImageGetWidth.shtml">GMImage.GetWidth</a>&quot;;$Image) &amp; &quot; x &quot; &amp; MBS(&quot;<a rel="external" href="http://www.mbsplugins.eu/GMImageGetHeight.shtml">GMImage.GetHeight</a>&quot;;$Image) ]
</p>
<p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-width: normal; font-size: 12px; line-height: normal; font-family: Helvetica; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: #0066ff">
End If
</p>
<p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-width: normal; font-size: 12px; line-height: normal; font-family: Helvetica; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: #004d00">
# Release image
</p>
<p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-width: normal; font-size: 12px; line-height: normal; font-family: Helvetica; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: #660066">
Set Variable [ $r ; Value: MBS(&quot;<a rel="external" href="http://www.mbsplugins.eu/GMImageRelease.shtml">GMImage.Release</a>&quot;;$Image) ]
</p>
<p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-width: normal; font-size: 12px; line-height: normal; font-family: Helvetica; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; min-height: 14px">
&nbsp;
</p>
<p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-width: normal; font-size: 12px; line-height: normal; font-family: Helvetica; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal">
If you like, you can remove some metadata from the image before saving. We can remove XMP, EXIF and IPTC with the following lines. Just call them before doing the write:
</p>
<p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-width: normal; font-size: 12px; line-height: normal; font-family: Helvetica; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; min-height: 14px">
&nbsp;
</p>
<p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-width: normal; font-size: 12px; line-height: normal; font-family: Helvetica; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: #004d00">
<span style="color: #000000"><span class="Apple-tab-span" style="white-space: pre">	</span></span>#&nbsp; remove metadata
</p>
<p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-width: normal; font-size: 12px; line-height: normal; font-family: Helvetica; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: #660066">
<span style="color: #000000"><span class="Apple-tab-span" style="white-space: pre">	</span></span>Set Variable [ $r ; Value: MBS( &quot;<a rel="external" href="http://www.mbsplugins.eu/GMImageSetProfile.shtml">GMImage.SetProfile</a>&quot;; $Image; &quot;EXIF&quot;; &quot;&quot; ) ]
</p>
<p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-width: normal; font-size: 12px; line-height: normal; font-family: Helvetica; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: #660066">
<span style="color: #000000"><span class="Apple-tab-span" style="white-space: pre">	</span></span>Set Variable [ $r ; Value: MBS( &quot;<a rel="external" href="http://www.mbsplugins.eu/GMImageSetProfile.shtml">GMImage.SetProfile</a>&quot;; $Image; &quot;IPTC&quot;; &quot;&quot; ) ]
</p>
<p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-width: normal; font-size: 12px; line-height: normal; font-family: Helvetica; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: #660066">
<span style="color: #000000"><span class="Apple-tab-span" style="white-space: pre">	</span></span>Set Variable [ $r ; Value: MBS( &quot;<a rel="external" href="http://www.mbsplugins.eu/GMImageSetProfile.shtml">GMImage.SetProfile</a>&quot;; $Image; &quot;XMP&quot;; &quot;&quot; ) ]
</p>
<p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-width: normal; font-size: 12px; line-height: normal; font-family: Helvetica; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; min-height: 14px">
&nbsp;
</p>
<p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-width: normal; font-size: 12px; line-height: normal; font-family: Helvetica; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal">
Since FileMaker 26 can handle WebP images, we can leverage this for even smaller file sizes. We set a quality and use <a rel="external" href="http://www.mbsplugins.eu/GMImageWriteToWebPContainer.shtml"><span style="color: #660066">GMImage.WriteToWebPContainer</span></a> function to write the image as WebP. If you go down on the quality to a lower number, the file size may even be smaller.&nbsp;
</p>
<p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-width: normal; font-size: 12px; line-height: normal; font-family: Helvetica; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; min-height: 14px">
&nbsp;
</p>
<p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-width: normal; line-height: normal; font-family: 'Helvetica Neue'; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal">
<strong># Scale and save as WebP in file Image Scaling</strong>
</p>
<p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-width: normal; font-size: 12px; line-height: normal; font-family: Helvetica; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; min-height: 14px">
&nbsp;
</p>
<p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-width: normal; font-size: 12px; line-height: normal; font-family: Helvetica; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: #004d00">
# Scale picture down to save space and save as WebP if smaller
</p>
<p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-width: normal; font-size: 12px; line-height: normal; font-family: Helvetica; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: #004d00">
#&nbsp;
</p>
<p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-width: normal; font-size: 12px; line-height: normal; font-family: Helvetica; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: #004d00">
# Load from container
</p>
<p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-width: normal; font-size: 12px; line-height: normal; font-family: Helvetica; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: #660066">
Set Variable [ $OriginalSize ; Value: MBS(&quot;<a rel="external" href="http://www.mbsplugins.eu/ContainerGetTotalSize.shtml">Container.GetTotalSize</a>&quot;; Image Scaling::InputImage) ]
</p>
<p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-width: normal; font-size: 12px; line-height: normal; font-family: Helvetica; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: #660066">
Set Variable [ $Image ; Value: MBS(&quot;<a rel="external" href="http://www.mbsplugins.eu/GMImageNewFromContainer.shtml">GMImage.NewFromContainer</a>&quot;; Image Scaling::InputImage) ]
</p>
<p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-width: normal; font-size: 12px; line-height: normal; font-family: Helvetica; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: #004d00">
# In case of error
</p>
<p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-width: normal; font-size: 12px; line-height: normal; font-family: Helvetica; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: #0066ff">
If [ MBS(&quot;<a rel="external" href="http://www.mbsplugins.eu/IsError.shtml">IsError</a>&quot;) ]
</p>
<p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-width: normal; font-size: 12px; line-height: normal; font-family: Helvetica; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: #9900cc">
<span style="color: #000000"><span class="Apple-tab-span" style="white-space: pre">	</span></span>Show Custom Dialog [ &quot;Failed to load image&quot; ; $image ]
</p>
<p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-width: normal; font-size: 12px; line-height: normal; font-family: Helvetica; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal">
<span class="Apple-tab-span" style="white-space: pre">	</span>Set Field [ Image Scaling::Info ; $Image ]
</p>
<p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-width: normal; font-size: 12px; line-height: normal; font-family: Helvetica; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: #0099ff">
<span style="color: #000000"><span class="Apple-tab-span" style="white-space: pre">	</span></span>Exit Script [ Text Result:&nbsp; &nbsp; ]
</p>
<p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-width: normal; font-size: 12px; line-height: normal; font-family: Helvetica; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: #0066ff">
Else
</p>
<p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-width: normal; font-size: 12px; line-height: normal; font-family: Helvetica; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: #004d00">
<span style="color: #000000"><span class="Apple-tab-span" style="white-space: pre">	</span></span># Scale down to maximum 2000 by 2000 pixels
</p>
<p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-width: normal; font-size: 12px; line-height: normal; font-family: Helvetica; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: #660066">
<span style="color: #000000"><span class="Apple-tab-span" style="white-space: pre">	</span></span>Set Variable [ $r ; Value: MBS(&quot;<a rel="external" href="http://www.mbsplugins.eu/GMImageScale.shtml">GMImage.Scale</a>&quot;; $Image; &quot;&gt;2000x2000&quot;) ]
</p>
<p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-width: normal; font-size: 12px; line-height: normal; font-family: Helvetica; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: #660066">
<span style="color: #000000"><span class="Apple-tab-span" style="white-space: pre">	</span></span>Set Variable [ $r ; Value: MBS(&quot;<a rel="external" href="http://www.mbsplugins.eu/GMImageSetQuality.shtml">GMImage.SetQuality</a>&quot;; $Image; 80) ]
</p>
<p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-width: normal; font-size: 12px; line-height: normal; font-family: Helvetica; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: #004d00">
<span style="color: #000000"><span class="Apple-tab-span" style="white-space: pre">	</span></span># get a new file name
</p>
<p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-width: normal; font-size: 12px; line-height: normal; font-family: Helvetica; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: #660066">
<span style="color: #000000"><span class="Apple-tab-span" style="white-space: pre">	</span></span>Set Variable [ $filename ; Value: MBS( &quot;<a rel="external" href="http://www.mbsplugins.eu/FilesFileName.shtml">Files.FileName</a>&quot;; GetAsText ( Image Scaling::InputImage ) ) ]
</p>
<p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-width: normal; font-size: 12px; line-height: normal; font-family: Helvetica; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: #660066">
<span style="color: #000000"><span class="Apple-tab-span" style="white-space: pre">	</span></span>Set Variable [ $filename ; Value: MBS( &quot;<a rel="external" href="http://www.mbsplugins.eu/FilesFileNameWithoutExtension.shtml">Files.FileNameWithoutExtension</a>&quot;; $filename ) &amp; &quot;.webp&quot; ]
</p>
<p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-width: normal; font-size: 12px; line-height: normal; font-family: Helvetica; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: #004d00">
<span style="color: #000000"><span class="Apple-tab-span" style="white-space: pre">	</span></span># write out
</p>
<p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-width: normal; font-size: 12px; line-height: normal; font-family: Helvetica; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: #660066">
<span style="color: #000000"><span class="Apple-tab-span" style="white-space: pre">	</span></span>Set Variable [ $Result ; Value: MBS(&quot;<a rel="external" href="http://www.mbsplugins.eu/GMImageWriteToWebPContainer.shtml">GMImage.WriteToWebPContainer</a>&quot;; $Image; $filename) ]
</p>
<p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-width: normal; font-size: 12px; line-height: normal; font-family: Helvetica; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: #004d00">
<span style="color: #000000"><span class="Apple-tab-span" style="white-space: pre">	</span></span># check size and only save if new image is smaller&nbsp;
</p>
<p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-width: normal; font-size: 12px; line-height: normal; font-family: Helvetica; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: #660066">
<span style="color: #000000"><span class="Apple-tab-span" style="white-space: pre">	</span></span>Set Variable [ $NewSize ; Value: MBS(&quot;<a rel="external" href="http://www.mbsplugins.eu/ContainerGetTotalSize.shtml">Container.GetTotalSize</a>&quot;; $Result) ]
</p>
<p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-width: normal; font-size: 12px; line-height: normal; font-family: Helvetica; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: #0066ff">
<span style="color: #000000"><span class="Apple-tab-span" style="white-space: pre">	</span></span>If [ $NewSize &lt; $OriginalSize ]
</p>
<p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-width: normal; font-size: 12px; line-height: normal; font-family: Helvetica; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal">
<span class="Apple-tab-span" style="white-space: pre">		</span>Set Field [ Image Scaling::Result ; $Result]
</p>
<p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-width: normal; font-size: 12px; line-height: normal; font-family: Helvetica; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal">
<span class="Apple-tab-span" style="white-space: pre">		</span>Set Field [ Image Scaling::Info ; MBS(&quot;<a rel="external" href="http://www.mbsplugins.eu/GMImageGetWidth.shtml">GMImage.GetWidth</a>&quot;;$Image) &amp; &quot; x &quot; &amp; MBS(&quot;<a rel="external" href="http://www.mbsplugins.eu/GMImageGetHeight.shtml">GMImage.GetHeight</a>&quot;;$Image) ]
</p>
<p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-width: normal; font-size: 12px; line-height: normal; font-family: Helvetica; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: #0066ff">
<span style="color: #000000"><span class="Apple-tab-span" style="white-space: pre">	</span></span>Else
</p>
<p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-width: normal; font-size: 12px; line-height: normal; font-family: Helvetica; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal">
<span class="Apple-tab-span" style="white-space: pre">		</span>Set Field [ Image Scaling::Result ; $Result ]
</p>
<p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-width: normal; font-size: 12px; line-height: normal; font-family: Helvetica; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: #0066ff">
<span style="color: #000000"><span class="Apple-tab-span" style="white-space: pre">	</span></span>End If
</p>
<p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-width: normal; font-size: 12px; line-height: normal; font-family: Helvetica; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: #0066ff">
End If
</p>
<p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-width: normal; font-size: 12px; line-height: normal; font-family: Helvetica; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: #004d00">
# Release image
</p>
<p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-width: normal; font-size: 12px; line-height: normal; font-family: Helvetica; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; color: #660066">
Set Variable [ $r ; Value: MBS(&quot;<a rel="external" href="http://www.mbsplugins.eu/GMImageRelease.shtml">GMImage.Release</a>&quot;;$Image) ]
</p>
<p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-width: normal; font-size: 12px; line-height: normal; font-family: Helvetica; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; min-height: 14px">
&nbsp;
</p>
<p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-width: normal; font-size: 12px; line-height: normal; font-family: Helvetica; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal">
You may find these scripts in our Image Scaling.fmp12 sample file. Depending on the project you may modify them:&nbsp;
</p>
<p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-width: normal; font-size: 12px; line-height: normal; font-family: Helvetica; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; min-height: 14px">
&nbsp;
</p>
<p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-width: normal; font-size: 12px; line-height: normal; font-family: Helvetica; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal">
Do you convert all images to JPEG, PNG or WebP?&nbsp;
</p>
<p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-width: normal; font-size: 12px; line-height: normal; font-family: Helvetica; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal">
Or do you like to only save the new image if it is smaller?
</p>
<p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-width: normal; font-size: 12px; line-height: normal; font-family: Helvetica; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal">
Do you like to scale down or leave the pixel size?&nbsp;
</p>
<p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-width: normal; font-size: 12px; line-height: normal; font-family: Helvetica; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal">
Do you like to remove metadata?
</p>
<p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-width: normal; font-size: 12px; line-height: normal; font-family: Helvetica; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal; min-height: 14px">
&nbsp;
</p>
<p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-width: normal; font-size: 12px; line-height: normal; font-family: Helvetica; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal">
Please try and let us know if you have questions.</p> ]]></description>
			<guid isPermaLink="false">6348@https://mbsplugins.de/pivot/</guid>
			<category>filemaker</category>
			<pubDate>Thu, 24 Sep 2026 08:07:00 +0200</pubDate>
		</item>
		
		
		
		<item>
			<title>MBS @ FMTraining.TV - Code Signatures in FileMaker Plug-ins</title>
			<link>https://www.mbsplugins.de/archive/2026-09-23/MBS_@_FMTrainingTV_-_Code_Sign</link>
			<comments>https://www.mbsplugins.de/archive/2026-09-23/MBS_@_FMTrainingTV_-_Code_Sign#comm</comments>
                        <description><![CDATA[ <p>Check out the <a rel="external" href="https://fmtraining.tv/">FMTraining.tv</a> website. Richard Carlton and his team do a <a rel="external" href="https://fmtraining.tv/#LIVE" title="">daily free live stream</a> about FileMaker to watch. </p>

<p>A few days ago Christian Schmitz from Monkeybread Software joined a live episode to talk a bit about the <a rel="external" href="https://www.monkeybreadsoftware.com/filemaker/">MBS FileMaker Plugin</a>. Watch it on <a rel="external" href="https://www.youtube.com/watch?v=2LdeIey0bK8" title="">YouTube</a>.</p>

<a rel="external" href="https://www.youtube.com/watch?v=Ggx186ik8ls"><img src="http://www.mbsplugins.de/image/mbsfmtraining89.jpg" width="640" height="360"></a>

<p>We talk about code signatures for macOS and Windows in conjunction with FileMaker plugins. See also:</p>
<ul>
<li><a rel="external" href="/archive/2026-08-20/How_to_Verify_the_Code_Signatu/monkeybreadsoftware_blog_filemaker">How to Verify the Code Signature of the MBS Plugin on macOS</a>
<li><a rel="external" href="/archive/2026-08-19/Checking_plugin_signature_on_W/monkeybreadsoftware_blog_archive">Checking plugin signature on Windows</a>
<li><a rel="external" href="https://www.mbsplugins.eu/FilesCheckSignature.shtml" translate="no">Files.CheckSignature</a> function
<li><a rel="external" href="https://www.mbsplugins.eu/FilesSignatureInfo.shtml" translate="no">Files.SignatureInfo</a> function
</ul><p>More videos</p>
<ul>

<li><a rel="external" href="https://www.youtube.com/watch?v=Ggx186ik8ls">Code Signatures in FileMaker Plug-ins</a></li>
<li><a rel="external" href="https://www.youtube.com/watch?v=4z6JccrFgeU">FileMaker MonkeyBread Plug-in 16.3 Update</a></li>
<li><a rel="external" href="https://www.youtube.com/watch?v=BZaahEDAmAI">Shell Asynchronously with the FileMaker MBS Plug-in</a></li>
<li><a rel="external" href="https://www.youtube.com/watch?v=2LdeIey0bK8">FileMaker MonkeyBread Plug-in 16.2 Update</a></li>
<li><a rel="external" href="https://www.youtube.com/watch?v=mK8mmHaRxW8">MonkeyBread Plug-in PDFs & Search Functionality in FileMaker Q&amp;A/a></li>
<li><a rel="external" href="https://www.youtube.com/watch?v=66IDZqfonYw">FileMaker MonkeyBread Plug-in 16.1 Update</a></li>
<li><a rel="external" href="https://www.youtube.com/watch?v=3zFhi2oNRTI">Installing the MBS Plug-in In FileMaker Via Script</a></li>
<li><a rel="external" href="https://www.youtube.com/watch?v=7iCFkkoodNs">FileMaker MonkeyBread Plug-in 16.0 Update</a></li>
<li><a rel="external" href="https://www.youtube.com/watch?v=e3EIDmbZFDA">FileMaker MonkeyBread Plug-in 15.5 Update</a></li>
<li><a rel="external" href="https://www.youtube.com/watch?v=4NJUfNedO60">FileMaker MBS Plug-in Q&A</a></li>

<li>More in the <a rel="external" href="https://youtube.com/playlist?list=PLvH3LgGie0XOOeMweFff2blaukf47WJyi">YouTube playlist...</a></li>
</ul>
<p>Do you like this video? Please let us and RCC know!</p> ]]></description>
			<guid isPermaLink="false">6347@https://mbsplugins.de/pivot/</guid>
			<category>filemaker</category>
			<pubDate>Wed, 23 Sep 2026 07:13:00 +0200</pubDate>
		</item>
		
		
		
		<item>
			<title>MBS Plugin 16.4 for Claris FileMaker</title>
			<link>https://www.mbsplugins.de/archive/2026-09-22/MBS_Plugin_164_for_Claris_File</link>
			<comments>https://www.mbsplugins.de/archive/2026-09-22/MBS_Plugin_164_for_Claris_File#comm</comments>
                        <description><![CDATA[ <p><img src="http://www.mbsplugins.de/image/fmplugin19.png" width="200" align="right">
Nickenich, Germany - (September 22nd, 2026) -- Monkeybread Software today is pleased to announce <a rel="external" href="https://www.monkeybreadsoftware.com/filemaker/">MBS FileMaker Plugin</a> 16.4 for Claris FileMaker for macOS, iOS, Linux and Windows, the latest update to their product that is easily the most powerful plugin currently available for Claris FileMaker produce line. As the leading database management solution for Windows, macOS, iOS and the web, the Claris FileMaker Pro Integrated Development Environment supports a plugin architecture that can easily extend the feature set of the application. <a rel="external" href="https://www.monkeybreadsoftware.com/filemaker/">MBS FileMaker Plugin</a> 16.4 has been updated and now includes over 7900 different functions, and the versatile plugin has gained more new functions:
</p>


<p>
We add SVG support for our <a rel="external" href="https://www.mbsplugins.eu/component_DynaPDF.shtml" translate="no">DynaPDF</a> functions. You can load a Scalable Vector Graphics from file or a container. Then you query the number of symbols in the SVG and their sizes. You can draw a symbol on the current page, e.g. to draw a company logo as vector graphics. 
</p>

<p>
Our plugin provides functions to connect to MongoDB from FileMaker. The <a rel="external" href="https://www.mbsplugins.eu/MongoDBBulkOperationCreate.shtml">MongoDB.BulkOperation.Create</a> and related functions submit multiple write operations to the server in one batch. By sending all requests together, you can achieve better performance compared to doing each operation on its own. You can combine this with a transaction to roll back in case of an error.
</p>

<p>
We improved the search over all scripts. You can store settings and auto load them the next time. Regular expression get syntax highlighting and you can filter for disabled script steps. The search for follow up script steps can find you combinations of script steps, e.g. Enter Find Mode in combination with Go To Layout.
</p>

<p>
We show tooltip for fields in database design dialog to show field annotations and display names. This can be configured with <a rel="external" href="https://www.mbsplugins.eu/SyntaxColoringSetFieldTooltipsEnabled.shtml">SyntaxColoring.SetFieldTooltipsEnabled</a> function. Use <a rel="external" href="https://www.mbsplugins.eu/SyntaxColoringAddCustomFunctionTooltip.shtml">SyntaxColoring.AddCustomFunctionTooltip</a> to add tooltips to your custom functions. And the relationship search shows up in the manage database dialog triggered from a field calculation for macOS and Windows. The contextual menu for the data viewer can copy names and values.
</p>

<p>
If you implement tools around the Script Workspace, you can use ScriptWorkspace.CurrentTabPreview to check if the current script is a preview and change the state with <a rel="external" href="https://www.mbsplugins.eu/ScriptWorkspaceCurrentTabTogglePreview.shtml">ScriptWorkspace.CurrentTabTogglePreview</a> function. Use <a rel="external" href="https://www.mbsplugins.eu/ScriptWorkspaceSetFocusToScript.shtml">ScriptWorkspace.SetFocusToScript</a> to move the focus to the script. Use <a rel="external" href="https://www.mbsplugins.eu/FMRelations.shtml">FM.Relations</a> to get an overview of all relationships in the current file.
</p>

<p>
For increased security, you can use <a rel="external" href="https://www.mbsplugins.eu/FilesCheckSignature.shtml">Files.CheckSignature</a> function to verify code signatures of applications, frameworks or libraries - including plugins. Use <a rel="external" href="https://www.mbsplugins.eu/FilesSignatureInfo.shtml">Files.SignatureInfo</a> function to provide details about the signature.
</p>

<p>
We added support for password fields for our <a rel="external" href="https://www.mbsplugins.eu/component_Dialog.shtml" translate="no">dialog</a> functions on Windows. Use <a rel="external" href="https://www.mbsplugins.eu/WindowEnableEscForCustomDialog.shtml">Window.EnableEscForCustomDialog</a> to enable users to close custom dialogs with ESC key. Use <a rel="external" href="https://www.mbsplugins.eu/EncryptionSetGCMTag.shtml">Encryption.SetGCMTag</a> for AES encryption with GCM authentication tag.
</p>

<p>
Finally we updated CURL to version 8.22.0, DynaPDF to 5.0.5.16, expat to 2.8.4, libxml2 to 2.15.3, libxslt to 1.1.45, llama headers to 0.3.0, mongo-c-driver to 2.5.3, openssl to 3.5.8, PCRE2 to 10.48, phidgets to 1.26.20260821, Saxon libraries to 12.10, SQLAPI to 5.4.3, taglib to 2.3.1 and zxing-cpp to 3.1.1.
</p>


<p>
See <a rel="external" href="https://monkeybreadsoftware.com/filemaker/releasenotes164">release notes</a> for a complete list of changes – 
<a rel="external" href="https://mbsplugins.eu/newinversion164">New functions in documentation</a> – 
<a rel="external" href="https://www.monkeybreadsoftware.com/filemaker/download.shtml">Download</a> – 
<a rel="external" href="https://www.monkeybreadsoftware.com/filemaker/pricing.shtml">Pricing</a>.</p> ]]></description>
			<guid isPermaLink="false">6346@https://mbsplugins.de/pivot/</guid>
			<category>filemaker</category>
			<pubDate>Tue, 22 Sep 2026 10:05:00 +0200</pubDate>
		</item>
		
		
		
		<item>
			<title>MonkeyBread Software Releases the MBS Xojo Plugins in version 26.4</title>
			<link>https://www.mbsplugins.de/archive/2026-09-22/MonkeyBread_Software_Releases_</link>
			<comments>https://www.mbsplugins.de/archive/2026-09-22/MonkeyBread_Software_Releases_#comm</comments>
                        <description><![CDATA[ <p><img src="http://www.mbsplugins.de/images/xojoplugin.png" width="128" height="128" align="right">
Nickenich, Germany - (September 22nd, 2026) -- Monkeybread Software today is pleased to announce <a rel="external" href="https://www.monkeybreadsoftware.de/xojo/">MBS Xojo Plugins</a> 26.4 for macOS, Linux and Windows, the latest update to their product that is easily the most powerful plugin collection currently available for Xojo. <a rel="external" href="https://www.monkeybreadsoftware.de/xojo/">MBS Xojo Plugins</a> have been updated and now includes over 3000 classes and 85,000 documented features, and the versatile plugins have gained more new functions:
</p>


<p>
We add SVG support for our <a rel="external" href="https://www.monkeybreadsoftware.net/topic-dynapdf.shtml">DynaPDF functions</a>. You can load a Scalable Vector Graphics from file or memory. Then you query the number of symbols in the SVG and their sizes. You can draw a symbol on the current page, e.g. to draw a company logo as vector graphics.
</p>

<p>
Our plugin provides classes to connect to MongoDB from Xojo. The <a rel="external" href="https://www.monkeybreadsoftware.net/class-mongobulkoperationmbs.shtml">MongoBulkOperationMBS</a> class submits multiple write operations to the server in one batch. By sending all requests together, you can achieve better performance compared to doing each operation on its own. You can combine this with a transaction to roll back in case of an error.
</p>

<p>
We upgraded our Phidgets support. The <a rel="external" href="https://www.monkeybreadsoftware.net/class-phidgetdataadaptermbs.shtml">PhidgetDataAdapterMBS</a> class allows you to interface third party devices and microcontrollers within the Phidgets ecosystem.
</p>

<p>
For our WebView2 control on Windows, we improved PrintToPdf to take a folderitem as destination. The <a rel="external" href="https://www.monkeybreadsoftware.net/class-webview2browsermbs.shtml">WebView2BrowserMBS</a> class got ZoomFactor, DefaultBackgroundColor, EnvironmentHandle and ControllerHandle properties.
</p>

<p>
We upgraded the classes for Google MobileAd framework for iOS. The newer framework brings a placementID properties and loadWithAdResponseString methods to various ad classes. Banner views can be collapsible and the UMP request parameters can pass a consent sync ID. 
</p>

<p>
For our RegEx plugin we improved PCRE2 classes. You can configure optimizations in regular expressions using SetOptimize method and related constants. The TurkishCasing, NeverCallout, EffectiveLinksize, CaselessRestrict, and AltExtendedClass properties configure the regular expressions compiler.
</p>

<p>
The <a rel="external" href="https://www.monkeybreadsoftware.net/folderitem-extracticonmbs.shtml#e2">ExtractIconMBS</a> method can return an icon from a DLL or EXE file on Windows. In <a rel="external" href="https://www.monkeybreadsoftware.net/class-avaudiounitmbs.shtml">AVAudioUnitMBS</a> class you can save and load the full state as dictionary or JSON. We improved the <a rel="external" href="https://www.monkeybreadsoftware.net/module-keychainmanagermbs.shtml">KeychainManagerMBS</a> module for iOS, improved the performance for <a rel="external" href="https://www.monkeybreadsoftware.net/class-icscannerdevicembs.shtml">ICScannerDeviceMBS</a> class and improved <a rel="external" href="https://www.monkeybreadsoftware.net/class-cgimagesourcembs.shtml">CGImageSourceMBS</a> and <a rel="external" href="https://www.monkeybreadsoftware.net/class-cgimagedestinationmbs.shtml">CGImageDestinationMBS</a> classes to take <a rel="external" href="https://www.monkeybreadsoftware.net/class-cfdictionarymbs.shtml">CFDictionaryMBS</a> and Dictionary everywhere for options. Barcode reading with zxing adds support for Telepen barcodes.
</p>

<p>
Finally we updated CURL to version 8.22.0, DynaPDF to 5.0.5.16, expat to 2.8.4, GoogleMobileAds iOS SDK to 13.7.0, libxml2 to 2.15.3, libxslt to 1.1.45, llama headers to 0.3.0, mongo-c-driver to 2.5.3, openssl to 3.5.8, PCRE2 to 10.48, phidgets to 1.26.20260821, Rockey library for the <a rel="external" href="https://www.monkeybreadsoftware.net/class-rockey4ndmbs.shtml">Rockey4NDMBS</a> class for macOS, Saxon libraries to 12.10, SQLAPI to 5.4.3, taglib to 2.3.1, whisper headers to 1.9.2 and zxing-cpp to version 3.1.1.
</p>


<p>
See <a rel="external" href="https://monkeybreadsoftware.de/xojo/newinversion264">release notes</a> for a complete list of changes
–
<a rel="external" href="https://monkeybreadsoftware.net/newinversion264">New functions in documentation</a>
–
<a rel="external" href="https://www.monkeybreadsoftware.de/xojo/download.shtml">Download</a>
–
<a rel="external" href="https://www.monkeybreadsoftware.de/xojo/pricing.shtml">Pricing</a></p> ]]></description>
			<guid isPermaLink="false">6345@https://mbsplugins.de/pivot/</guid>
			<category>realstudio</category>
			<pubDate>Tue, 22 Sep 2026 09:08:00 +0200</pubDate>
		</item>
		
		
		
		<item>
			<title>Neues MBS Plugin 16.4 für Claris FileMaker</title>
			<link>https://www.mbsplugins.de/archive/2026-09-22/Neues_MBS_Plugin_164_für_Clar</link>
			<comments>https://www.mbsplugins.de/archive/2026-09-22/Neues_MBS_Plugin_164_für_Clar#comm</comments>
                        <description><![CDATA[ <p><img src="http://www.mbsplugins.de/image/fmplugin19.png" width="200" align="right">
22. September 2026 - Monkeybread Software ver&ouml;ffentlicht heute das <a rel="external" href="https://www.monkeybreadsoftware.com/filemaker/">MBS FileMaker Plugin</a> f&uuml;r Claris FileMaker in Version 16.4, mit inzwischen &uuml;ber 7900 Funktionen eines der gr&ouml;&szlig;ten FileMaker Plugins &uuml;berhaupt. Hier einige der Neuerungen:
</p>


<p>
Wir haben unsere <a rel="external" href="https://www.mbsplugins.eu/component_DynaPDF.shtml" translate="no">DynaPDF</a>-Funktionen um SVG-Unterst&uuml;tzung erweitert. Sie k&ouml;nnen eine Scalable Vector Graphics-Datei aus einer Datei oder aus einem Container laden. Anschlie&szlig;end k&ouml;nnen Sie die Anzahl der Symbole im SVG sowie deren Gr&ouml;&szlig;en abfragen. Sie k&ouml;nnen ein Symbol auf der aktuellen Seite zeichnen, z.B. um ein Firmenlogo als Vektorgrafik einzuf&uuml;gen. 
</p>

<p>
Unser Plugin bietet Funktionen, um von FileMaker aus eine Verbindung zu MongoDB herzustellen. Die Funktion <a rel="external" href="https://www.mbsplugins.eu/MongoDBBulkOperationCreate.shtml">MongoDB.BulkOperation.Create</a> und die damit verbundenen Funktionen senden mehrere Schreibvorg&auml;nge in einem Stapel an den Server. Durch das gemeinsame Senden aller Anfragen erzielen Sie eine bessere Leistung als bei der Ausf&uuml;hrung jedes einzelnen Vorgangs f&uuml;r sich. Sie k&ouml;nnen dies mit einer Transaktion kombinieren, um im Fehlerfall einen Rollback durchzuf&uuml;hren.
</p>

<p>
Wir haben die Suche in allen Skripten verbessert. Sie k&ouml;nnen Einstellungen speichern und beim n&auml;chsten Mal automatisch laden lassen. Regul&auml;re Ausdr&uuml;cke werden syntaktisch hervorgehoben, und Sie k&ouml;nnen nach deaktivierten Skriptschritten filtern. Mit der Suche nach nachfolgenden Skriptschritten k&ouml;nnen Sie Kombinationen von Skriptschritten finden, z. B. Suchenmodus aktivieren in Kombination mit Gehe zu Layout.
</p>

<p>
Im Dialog Datenbank verwalten werden Tooltips f&uuml;r Felder angezeigt, um Feldanmerkungen und Anzeigenamen darzustellen. Dies l&auml;sst sich mit der Funktion <a rel="external" href="https://www.mbsplugins.eu/SyntaxColoringSetFieldTooltipsEnabled.shtml">SyntaxColoring.SetFieldTooltipsEnabled</a> konfigurieren. Verwenden Sie <a rel="external" href="https://www.mbsplugins.eu/SyntaxColoringAddCustomFunctionTooltip.shtml">SyntaxColoring.AddCustomFunctionTooltip</a>, um Ihren benutzerdefinierten Funktionen Tooltips hinzuzuf&uuml;gen. Unter macOS und Windows wird die Beziehungssuche im Dialogfeld Datenbank verwalten angezeigt, das durch eine Feldberechnung ausgel&ouml;st wird. &Uuml;ber das Kontextmen&uuml; des Datenbetrachters k&ouml;nnen Namen und Werte kopiert werden.
</p>

<p>
Wenn Sie Tools rund um den Skript-Arbeitsbereich implementieren, k&ouml;nnen Sie mit ScriptWorkspace.CurrentTabPreview &uuml;berpr&uuml;fen, ob es sich bei dem aktuellen Skript um eine Vorschau handelt, und den Status mit der Funktion <a rel="external" href="https://www.mbsplugins.eu/ScriptWorkspaceCurrentTabTogglePreview.shtml">ScriptWorkspace.CurrentTabTogglePreview</a> &auml;ndern. Verwenden Sie <a rel="external" href="https://www.mbsplugins.eu/ScriptWorkspaceSetFocusToScript.shtml">ScriptWorkspace.SetFocusToScript</a>, um den Fokus auf das Skript zu setzen. Verwenden Sie <a rel="external" href="https://www.mbsplugins.eu/FMRelations.shtml">FM.Relations</a>, um einen &Uuml;berblick &uuml;ber alle Beziehungen in der aktuellen Datei zu erhalten.
</p>

<p>
Um die Sicherheit zu erh&ouml;hen, k&ouml;nnen Sie die Funktion <a rel="external" href="https://www.mbsplugins.eu/FilesCheckSignature.shtml">Files.CheckSignature</a> verwenden, um die Codesignaturen von Anwendungen, Frameworks oder Bibliotheken &ndash; einschlie&szlig;lich Plugins &ndash; zu &uuml;berpr&uuml;fen. Verwenden Sie die Funktion <a rel="external" href="https://www.mbsplugins.eu/FilesSignatureInfo.shtml">Files.SignatureInfo</a>, um Details zur Signatur abzurufen.
</p>

<p>
Wir haben die Unterst&uuml;tzung f&uuml;r Passwortfelder in unseren <a rel="external" href="https://www.mbsplugins.eu/component_Dialog.shtml" translate="no">Dialog</a>funktionen unter Windows erweitert. Verwenden Sie <a rel="external" href="https://www.mbsplugins.eu/WindowEnableEscForCustomDialog.shtml">Window.EnableEscForCustomDialog</a>, damit Benutzer benutzerdefinierte Dialoge mit der ESC-Taste schlie&szlig;en k&ouml;nnen. Verwenden Sie <a rel="external" href="https://www.mbsplugins.eu/EncryptionSetGCMTag.shtml">Encryption.SetGCMTag</a> f&uuml;r die AES-Verschl&uuml;sselung mit GCM-Authentifizierungstag.
</p>

<p>
Au&szlig;erdem haben wir CURL auf Version 8.22.0, DynaPDF auf 5.0.5.16, expat auf 2.8.4, libxml2 auf 2.15.3, libxslt auf 1.1.45, die llama-Header auf 0.3.0, den mongo-c-Treiber auf 2.5.3, OpenSSL auf 3.5.8, PCRE2 auf 10.48, Phidgets auf 1.26.20260821, die Saxon-Bibliotheken auf 12.10, SQLAPI auf 5.4.3, Taglib auf 2.3.1 und zxing-cpp auf 3.1.1 aktualisiert.
</p>


<p>
Alle &Auml;nderungen in den <a rel="external" href="https://monkeybreadsoftware.com/filemaker/releasenotes164">Release Notes</a> – <a rel="external" href="https://mbsplugins.eu/newinversion164">Neue Funktionen in der Dokumentation</a> – <a rel="external" href="https://www.monkeybreadsoftware.com/filemaker/download.shtml">Download</a> – <a rel="external" href="https://www.monkeybreadsoftware.com/filemaker/pricing.shtml">Pricing</a>.</p> ]]></description>
			<guid isPermaLink="false">6344@https://mbsplugins.de/pivot/</guid>
			<category>filemaker</category>
			<pubDate>Tue, 22 Sep 2026 08:58:00 +0200</pubDate>
		</item>
		
		
		
		<item>
			<title>ZUGFeRD Rechnungen validieren</title>
			<link>https://www.mbsplugins.de/archive/2026-09-21/ZUGFeRD_Rechnungen_validieren</link>
			<comments>https://www.mbsplugins.de/archive/2026-09-21/ZUGFeRD_Rechnungen_validieren#comm</comments>
                        <description><![CDATA[ <div lang="de">
<p>
Sie m&ouml;chten elektronische Rechnungen validieren f&uuml;r ihren Rechnungs Ein- oder Ausgang?
</p>

<p>
Mit den <a rel="external" href="https://www.mbsplugins.eu/component_Saxon.shtml" translate="no">Saxon</a> Funktionen im <a rel="external" href="https://www.monkeybreadsoftware.com/filemaker/">MBS FileMaker Plugin</a> k&ouml;nnen Sie die ZUGFeRD Schema Dateien verwenden um die Struktur zu pr&uuml;fen.
</p>

<p>Sie w&uuml;rden folglich folgende Sachen pr&uuml;fen:</p>


<ul>
<li>Ist die Datei ein PDF Dokument?</li>
<li>Ist ein XML enthalten?</li>
<li>Ist es ein g&uuml;ltiges XML?</li>
<li>Welches Rechnungsprofil liegt vor?</li>
<li>Passt das XML zur Schemadatei (XSD)?</li>
<li>Passt die Rechnung zu den Business Regeln?</li>
</ul>
</div><div lang="de">
<p>Es w&auml;re peinlich, wenn ein Empf&auml;nger die Rechnung ablehnt, weil etwas im XML Syntax nicht passt. Oder wenn der Steuerpr&uuml;fer in ein paar Jahren den Vorsteuerabzug verweigert, weil die Rechnung nicht g&uuml;ltig war bzw. die PDF Rechnung kein Mehrst&uuml;ck darstellt zum XML und wir doch zwei verschiedene Rechnungen erzeugt haben. </p>
<img src="http://www.mbsplugins.de/image/SaxonZUGFeRDValidation4.jpg" width="800">
<p>Die Frage nach dem Rechnungsprofil kam auf, weil unsere <a rel="external" href="https://www.mbsplugins.eu/component_Saxon.shtml" translate="no">Saxon</a> Funktionen zum Pr&uuml;fen immer die gleiche XSD Datei verwendet hatte. Korrekterweise muss nat&uuml;rlich je nach der Rechnungsprofil die jeweilige Datei rausgesucht werden. Wir laden f&uuml;r EN16931, BASIC oder EXTENDED jeweils die passende Datei mit dem Schema.</p>


<p>Das Rechnungsprofil lesen wir aus dem XML folgenderma&szlig;en aus:</p>


<pre>
<span style="Color:blue;font-weight: bold;">MBS</span>("XML.GetPathValue"; <span style="Color:purple">ZUGFeRD Validation::Invoice XML</span>;
	<span style="Color:blue">"rsm:CrossIndustryInvoice.rsm:ExchangedDocumentContext.ram:"</span> & 
	<span style="Color:blue">"GuidelineSpecifiedDocumentContextParameter.ram:ID"</span>; 3)</pre>

<p>Dort bekommen wir mehrere verschiedene Werte f&uuml;r die verschiedenen Profile:</p>


<table cellpadding="3">
<tr><th>Profil</th><th>Wert</th></tr>

<tr><td valign="top">Minimum</td><td>urn:factur-x.eu:1p0:minimum<br  />urn:zugferd.de:2p0:minimum</td></tr>

<tr><td valign="top">Basic WL</td><td>urn:factur-x.eu:1p0:basicwl<br  />urn:zugferd.de:2p0:basicwl</td></tr>

<tr><td valign="top">Basic</td><td>urn:cen.eu:en16931:2017#compliant#urn:factur-x.eu:1p0:basic<br  />urn:cen.eu:en16931:2017#compliant#urn:zugferd.de:2p0:basic</td></tr>

<tr><td valign="top">EN16931</td><td>urn:cen.eu:en16931:2017</td></tr>

<tr><td valign="top">Extended</td><td>urn:cen.eu:en16931:2017#conformant#urn:factur-x.eu:1p0:extended<br  />urn:cen.eu:en16931:2017#conformant#urn:zugferd.de:2p0:extended</td></tr>

</table>

<p>F&uuml;r elektronische Rechnungen ist Minimum mit nur den grundlegende Rechnungsdaten nicht zul&auml;ssig. BASIC WL ohne Detailpositionen ist ebenfalls nicht erlaubt. Folglich sollten wir nur BASIC, EN 16931 oder EXTENDED bekommen.</p>

<p>Aus dem ZUGFeRD_2.5.2 Ordner k&ouml;nnen wir jetzt die passenden Pfade ausw&auml;hlen, z.B. f&uuml;r Extended:</p>

<p><span style="Color:blue;font-weight: bold;">MBS</span>(<span style="Color:blue">"Path.AddPathComponent"</span>; <span style="Color:purple">ZUGFeRD Validation::Folder</span>; <span style="Color:blue">"Schema"</span>; <span style="Color:blue">"4_Factur-X_1.09.2_EXTENDED"</span>; <span style="Color:blue">"Factur-X_1.09.2_EXTENDED.xsd"</span>)</p>


<p>und f&uuml;r das XSLT mit den Gesch&auml;ftsregeln:</p

<p><span style="Color:blue;font-weight: bold;">MBS</span>(<span style="Color:blue">"Path.AddPathComponent"; <span style="Color:purple">ZUGFeRD Validation::Folder</span>; <span style="Color:blue">"Schema"</span>; 
 <span style="Color:blue">"4_Factur-X_1.09.2_EXTENDED"</span>; <span style="Color:blue">"_XSLT_EXTENDED"</span>; "FACTUR-X_EXTENDED.xslt"</span>)</p>

<p>Wir haben unser Beispiel <a rel="external" href="https://www.mbsplugins.eu/MBS-FileMaker-Plugin-Examples/Saxon/Saxon%20ZUGFeRD%20Validation.html">Saxon ZUGFeRD Validation.fmp12</a> f&uuml;r die Pluginversion 16.4 &uuml;berarbeitet. Damit validieren wir jetzt die jeweilige elektronische Rechnung mit dem jeweilig passendem Schema (XSD Datei) und den Geschäftsregeln (XSLT Datei).</p>

<p>Siehe auch:
</p>

<ul>
<li><a rel="external" href="/archive/2026-09-12/Elektronische_Rechnungen_in_Fi/monkeybreadsoftware_blog_filemaker">Elektronische Rechnungen in FileMaker mit dem MBS Plugin lokal erzeugen</a>
<li><a rel="external" href="/archive/2025-03-04/Elektronische_Rechnungen_in_Fi/monkeybreadsoftware_blog_filemaker">Elektronische Rechnungen in FileMaker</a>
<li><a rel="external" href="/archive/2024-12-27/PDF_Rechnung_mit_oder_ohne_ZUG/monkeybreadsoftware_blog_archive">PDF Rechnung mit oder ohne ZUGFeRD empfangen?</a>

<li><a rel="external" href="/archive/2026-08-25/Validate_electronic_invoices_w/monkeybreadsoftware_blog_archive" lang="en">Validate electronic invoices with Saxon - ZUGfERD 2.5</a>

<li><a rel="external" href="/archive/2026-08-24/Visualize_electronic_invoices_/monkeybreadsoftware_blog_archive" lang="en">Visualize electronic invoices with Saxon - ZUGfERD 2.5</a>

</ul>


</div> ]]></description>
			<guid isPermaLink="false">6343@https://mbsplugins.de/pivot/</guid>
			<category>filemaker</category>
			<pubDate>Mon, 21 Sep 2026 07:48:00 +0200</pubDate>
		</item>
		
		
		
		<item>
			<title>MBS Xojo Plugins, version 26.4pr7</title>
			<link>https://www.mbsplugins.de/archive/2026-09-17/MBS_Xojo_Plugins_version_264pr</link>
			<comments>https://www.mbsplugins.de/archive/2026-09-17/MBS_Xojo_Plugins_version_264pr#comm</comments>
                        <description><![CDATA[ <img src="http://www.mbsplugins.de/images/xojoplugin.png" width="128" height="128" align="right">New in this prerelease of the 26.4 plugins:
<ul>

<li>Improved <a rel="external" href="https://www.monkeybreadsoftware.net/class-cgimagesourcembs.shtml">CGImageSourceMBS</a> and <a rel="external" href="https://www.monkeybreadsoftware.net/class-cgimagedestinationmbs.shtml">CGImageDestinationMBS</a> classes to take <a rel="external" href="https://www.monkeybreadsoftware.net/class-cfdictionarymbs.shtml">CFDictionaryMBS</a> and Dictionary everywhere for options.</li>
<li>Removed SetPropertiesCF, AddImageCF and AddImageFromSourceCF methods from <a rel="external" href="https://www.monkeybreadsoftware.net/class-cgimagedestinationmbs.shtml">CGImageDestinationMBS</a> class.</li>
<li>Removed AuxiliaryDataInfoAtIndexCF, PropertiesAtIndexCF and PropertiesCF methods from <a rel="external" href="https://www.monkeybreadsoftware.net/class-cgimagesourcembs.shtml">CGImageSourceMBS</a> class.</li>
<li>Added CopyImageSource to <a rel="external" href="https://www.monkeybreadsoftware.net/class-cgimagedestinationmbs.shtml">CGImageDestinationMBS</a> class.</li>
<li>Added returnCFDictionary parameters to AuxiliaryDataInfoAtIndex, PropertiesAtIndex and Properties methods in <a rel="external" href="https://www.monkeybreadsoftware.net/class-cgimagesourcembs.shtml">CGImageSourceMBS</a> class.</li>

</ul>

<p><a rel="external" href="https://www.monkeybreadsoftware.net/newinversion264.shtml">New functions in documentation</a></p>

<p>Download Links: <a rel="external" href="https://monkeybreadsoftware.com/cgi-bin/prerelease.php?type=xojo&format=dmg&cdn=1" download>Download Mac dmg</a> or <a rel="external" href="https://monkeybreadsoftware.com/cgi-bin/prerelease.php?type=xojo&format=zip&cdn=1" download>Download Windows/Linux zip</a></p>

<p>Download: <a rel="external" href="https://www.monkeybreadsoftware.de/xojo/download/plugin/Prerelease/">monkeybreadsoftware.de/xojo/download/plugin/Prerelease/</a>. <br />
Or ask us to be added to our shared DropBox folder.</p>

<p>You can subscribe to our <a rel="external" href="https://monkeybreadsoftware.de/mbsxojoplugin" title="">Xojo mailing list</a> to get notified for new pre-release and release versions.</p> ]]></description>
			<guid isPermaLink="false">6342@https://mbsplugins.de/pivot/</guid>
			<category>realstudio</category>
			<pubDate>Thu, 17 Sep 2026 14:22:00 +0200</pubDate>
		</item>
		
		
		
		<item>
			<title>MBS FileMaker Plugin, version 16.4pr7</title>
			<link>https://www.mbsplugins.de/archive/2026-09-17/MBS_FileMaker_Plugin_version_1</link>
			<comments>https://www.mbsplugins.de/archive/2026-09-17/MBS_FileMaker_Plugin_version_1#comm</comments>
                        <description><![CDATA[ <img src="http://www.mbsplugins.de/image/fmplugin19.png" width="200" align="right">New in this prerelease of version 16.4 of the <a rel="external" href="https://www.monkeybreadsoftware.com/filemaker/">MBS FileMaker Plugin</a>:
<ul>

<li>Improved <a rel="external" href="https://www.mbsplugins.eu/JSONInsertRecord.shtml">JSON.InsertRecord</a>, <a rel="external" href="https://www.mbsplugins.eu/JSONInsertRecords.shtml">JSON.InsertRecords</a>, <a rel="external" href="https://www.mbsplugins.eu/JSONInsertOrUpdateRecord.shtml">JSON.InsertOrUpdateRecord</a>, <a rel="external" href="https://www.mbsplugins.eu/JSONUpdateRecord.shtml">JSON.UpdateRecord</a> and <a rel="external" href="https://www.mbsplugins.eu/JSONUpdateRecords.shtml">JSON.UpdateRecords</a> to detect containers encoded as JSON object with name and base64 encoded data and decode them.</li>
<li>Improved relationship search to show up in the smaller manage database dialog triggered from a field calculation for Windows.</li>
<li>Added <a rel="external" href="https://www.mbsplugins.eu/SyntaxColoringAddCustomFunctionTooltip.shtml">SyntaxColoring.AddCustomFunctionTooltip</a> function.</li>

</ul>

<p><a rel="external" href="https://www.mbsplugins.eu/newinversion164.shtml">New functions in documentation</a></p>

<p>Download Links: <a rel="external" href="https://monkeybreadsoftware.com/cgi-bin/prerelease.php?type=filemaker&format=dmg&cdn=1" download>Download Mac dmg</a> or <a rel="external" href="https://monkeybreadsoftware.com/cgi-bin/prerelease.php?type=filemaker&format=zip&cdn=1" download>Download Windows/Linux zip</a></p>

<br  clear="all" />
<p>Downloads at <a rel="external" href="https://www.monkeybreadsoftware.com/filemaker/files/Prerelease/">monkeybreadsoftware.com/filemaker/files/Prerelease/</a>: </p>
<br  clear="all" />

<p>You can subscribe to our <a rel="external" href="https://monkeybreadsoftware.com/mbsfmplugin" title="">FileMaker mailing list</a> to get notified for new pre-release and release versions.</p> ]]></description>
			<guid isPermaLink="false">6341@https://mbsplugins.de/pivot/</guid>
			<category>filemaker</category>
			<pubDate>Thu, 17 Sep 2026 13:42:00 +0200</pubDate>
		</item>
		
		
		
	</channel>
</rss>
