DynaPDF has a feature to quickly encrypt or decrypt a PDF with the simplified EncryptPDF and DecryptPDF functions. You need an instance of DynaPDFMBS class and then you can call those methods with the right file reference. Pass in the parameters needed like the user password (for viewing) and the owner password (to remove restriction and encryption). We provide several encryption variants, so you can pick the oldest acceptable one. In our example we use 256 bit AES. Here is an example snippet with two example methods:
Sub DecryptPDF(file as Folderitem)
Dim pdf AsNew DynapdfMBS
pdf.SetLicenseKey "Lite"//ForthisexampleyoucanuseaLite,ProorEnterpriseLicenseCall pdf.DecryptPDF(File, pdf.kptOwner, "ownerpass")
MsgBox "Decrypted."Catch d As DynaPDFErrorExceptionMBS
MsgBox "FailedtodecryptPDF:"+d.message
EndSub
Sub EncryptPDF(file as Folderitem)
Dim pdf AsNew DynapdfMBS
pdf.SetLicenseKey "Lite"//ForthisexampleyoucanuseaLite,ProorEnterpriseLicenseDim flags AsInteger = pdf.krsPrint //forbitprinting
flags = flags Or pdf.krsCopyObj //denycopyingcontent//userpasstojustopenandread//ownerpasstodecryptandremoverestrictionsCall pdf.EncryptPDF(File, "userpass", "ownerpass", pdf.kklAES256, flags)
MsgBox "Encrypted."Catch d As DynaPDFErrorExceptionMBS
MsgBox "FailedtoencryptPDF:"+d.message
EndSub
Please try it, play with the various options on the restrictions. If you make a new PDF with DynaPDF, you can of course also apply the same encryption options for saving the new file. Let us know if you have questions.
Xojo Inc. announced a sale for the next few days:
If you waited to get a Xojo license or to renew your license or to upgrade to Xojo Pro, this is your chance.
As usual, if your Xojo license is up for renewal in August or September, you can update now and enjoy a discount. If your Xojo license expired already, just get a new one. With discount this is cheaper than a regular update.
Conference tickets and add-ons are on sale, too. If you like to get one of the MBS articles there, you can use the sale price at Xojo Store or we match the price if you buy directly from us. Please contact us if you need a MBS Plugin license.
Claris just announced a price increase for all of their products going effective on 24th September 2022. All prices are said to raise by 10%.
While pricing adjustments are often unavoidable, it brings the opportunity to buy at the old prices until 23rd September 2022. So if you have a license of Claris FileMaker, please consider to order updates for adding additional years to it. You may pay for a license 3 or 5 years in advance. Even if your license expired in 2023 or 2024, you may be able to add more time now.
save around 10% by buying now.
save more by ordering multi year licenses.
Also be aware that the around September/October, Claris may be introduce their new pricing for the Claris Studio part of the product. That offer will be more expensive than the existing licenses as the Studio part has an additional cost and you may be able to upgrade.
For MBS Plugin, you can of course also order at current price list and enjoy our multi year offers. Please contact us if you like to order bigger.
For 20 years we used the built-in XML classes in Xojo. While they do the job basically, we had a desire for years to get something better. We now started to make an alternative implementation of XML classes based on the xerces-c project.
Flexibility
By implementing our own classes, we are very flexible on what we support. A lot of utility code we had in various projects to work on xml trees, can now be built-in to the plugin classes and run much faster. Be can also offer more customization on various options.
Unicode support
The new plugin should handle all the unicode details and work well with various text encodings. Usually we use UTF-8 or UTF-16, but we want it to work well with other encodings.
Exceptions
We use exceptions for reporting errors. The exceptions should include all details needed in the message text. As usual our plugin includes for example the index value and the ubound/count value in an OutOfBoundsException.
We like to avoid a couple of common pitfalls, so you can for example freely move nodes between documents. But please avoid recursion in your xml trees.
(more)
For MBS Plugin 12.4 we implemented a long standing wish from various FileMaker developers: Code Folding.
As you know our plugin highlights matching script lines for If and Loop blocks. So you see what lines belongs to what other line. Now when we detect such a block, we add a little control on the between the line number and the text. You can click that control to hide some lines and later click it again to show them.
When you save the script, FileMaker reloads it or you start dragging a line, all lines show again. Our line hiding is only temporary until something unhides them.
Please try and let us know the if you find issues.
As usual, this feature is macOS only. If you like to see a Windows version, please contact Claris Inc. directly to implement this cross platform in a future version.
Some of your clients may have MongoDB databases and your application may need to connect and insert a record. Here is a bit of sample code on how to this:
Sub Action()
//prepareURItoserversDim URI AsNew MongoURIMBS("mongodb://localhost/")
//optionallywithauthentication'URI.UserName="test"'URI.Password="secret"//connectDim client AsNew MongoClientMBS(URI)
//pickdatabaseDim database As MongoDatabaseMBS = client.Database("test")
//pickcollectionDim collection As MongoCollectionMBS = database.Collection("clients")
//nowbuildarecordasJSONDim NewRecord AsNew JSONItem
NewRecord.Value("firstName") = "Bob"
NewRecord.Value("lastName") = "Jones"
NewRecord.Value("city") = "LosAngeles"
NewRecord.Value("phone") = "555-1234-567"//andinsertDim Result AsString = Collection.InsertOne(NewRecord.toString)
Dim j AsNew JSONItem(Result)
Dim n AsInteger = j.Lookup("insertedCount",0)
If n = 1then
MessageBox "Recordsaved"Else
MessageBox "Failedtoinsert:"EndIfException m As MongoExceptionMBS
MessageBox m.message
EndSub
As you see we use our MongoURIMBS class to prepare the connection data like the server URL, port, user name and password. Then we use MongoClientMBS class to establish a connection. We select which database and collection (table) to use and finally insert our record as JSON to it.
Optionally the new InsertMany function in the upcoming 22.4 plugin can be used to insert multiple documents at once. You would pass either a JSON Array with the records or a Xojo array with the JSON objects.
Please try and let us know if it works or whether you have questions.
Today you got the new Xojo version 2022r2 and it can build applications for Windows on ARM CPUs. Not a big needed feature, but a nice to have one. Over the next years clients may get an ARM CPU in their new computers and then you can deliver your applications for them natively.
MBS Plugins 22.3 already contain our plugins with ARM code. Feel free to try them and let us know what you see. Basically now is the time to test and then we can have everything bug free until you need to ship those ARM based Windows applications.
Currently our plugin don't include XL and ChartDirector support for Windows on ARM. That will follow later this year when the libraries are ready.
PS: if you look for a fast running ARM based computer, you may check with Apple and the Parallels software.
A cool new thing comes with the MBS FileMaker Plugin 12.3 for us:
You can connect in FileMaker to a Mongo DB server and create on this server databases,
collections and documents with various functions, search in documents and delete them as needed.
The special thing about Mongo DB is that it is not a relational database based on tables and relations,
but its data has a JSON like structure.
This allows you to make queries that were previously not possible due to the restriction of relationships or table boundaries.
So find out who is longer in your company: the carpet in the warehouse or your trainee.
We add a new example file about Mongo DB to our plugin examples.
I would like to show you this example here.
To use this example you can download the free local community server of Mongo DB and install it on one of your computers. For my Mac, I can just use homebrew with a few Terminal commands. To work with the server we need a URI to locate it.
If you also installed the Compass graphics environment when you installed the server,
you can simply get it when you open Compass.
A few days ago Christian Schmitz from Monkeybread Software joined the DIG FM Meeting to talk a bit about the MBS FileMaker Plugin. Watch it on YouTube:
We talked about what is new in MBS Plugin 12.3, showed off some evergreens and answered questions.
Just two months until the Claris FileMaker conference in Montreal. If you speak some French, please consider joining this conference:
Le Regroupement FMQC.CA vous convie à son grand rassemblement, les 15 et 16 septembre 2022, à l’Auberge Saint-Gabriel du Vieux-Montréal, afin d’apprendre les astuces enseignées par des intervenants de la scène internationale et de découvrir les nouveautés de la plateforme FileMaker qui nous tient tant à cœur et qui nous passionne.
Un total de 16 sessions et topos seront présentés par des intervenants provenant de la France, des États-Unis, de l’Ontario et du Québec. La CQDF 2022 regroupera près de 100 développeurs de tous les niveaux, qui ensemble, rejoignent un bassin de plus de 5000 utilisateurs FileMaker de tous les coins du Québec ainsi qu’ailleurs dans le monde.
Situé en plein cœur du Vieux-Montréal, l’Auberge Saint-Gabriel est à quelques minutes de marche de la station de métro Place d’Armes (ligne Orange). L’accès internet sans fil sera offert tout au long des conférences.
Monkeybread Software sponsors this event and if possible, I hope to see you there!
Last month we had plenty of discussion in the MVP chat about small annoying bugs, which never climb the priority latter to move into the top 100 on the priority list. While a big bug in Xojo gets attention of the team quickly, there are plenty of smaller bugs, which:
only are relevant to a small number of people e.g.
only to plugin developers.
only to developers using the debugger
only to developers with huge projects
easy to work around, so nobody pushes for a fix. But still we run into the same known issues again every few weeks.
have no impact on sales, so the company has little incentive to ever look on them.
As of today, we have 6289 open cases. From that 2028 issues are labeled as bug. From that Xojo Inc may look to around 100 issues, which Xojo engineers can work on in August. Please don't mark all 2000 bug issues as candidates as that would not help much. Pick wisely and find the small issues you would like to see fixed.
If you like to find the issues, you can search for [BugBash2022Nominee] in comments (needs to be logged in to find something). And later in August you can search for the label: Label= Bug Bash 2022. Already, we have over 140 issues marked.
To avoid people nominate too many cases, the bot may only pick one of your cases to add the label. Once that case is handled and the flag removed, the bot may do another case. This way it only has one active bug bash label per Xojo customer.
I hope this bug bash will make a difference for all Xojo developers.
Monkeybread Software today is proud to announce Combine PDFs 5.6, an update to their popular PDF merge and split tool for Mac OS. With a focus on ease-of-use, Combine PDFs is a lightweight utility which allows anyone to merge PDF files and images into a single PDF file. The user need only drag & drop files onto the program icon. The main window appears, allowing the user to set the order in which the files are joined.
Changes in Version 5.6:
Added Apple Silicon support.
Improved french translation. Thanks Jean-Luc Evrard.
If you are new to our MBS FileMaker Plugin, please take some time to get familiar with the plugin. Our plugin provides a toolbox of useful functionality to extend your Claris FileMaker solution. Take the time to watch two of those videos to learn what is new in the plugin and how to install it:
You can start without a license and use the plugin in demo mode. Beside an annoying dialog, you can use the plugin for a few hours and then restart FileMaker. If you do more testing, get a trial license key and try it for about six weeks.
If you need to purchase a new license, check the pricing page. In July you can still use our coupon code FileMakerKonferenz to get a little discount on a new license.
In this article I want to introduce you the new functionalities from the MBS Xojo Plugins in version 22.3.
MongoDB
The coolest feature in new release is the new Mongo DB plugin.
You can now use Xojo to access MongoDB databases, read, write and delete data.
The special thing about Mongo DB is that it is not a rational database that is limited by relationships and tables,
but is based on a JSON-like structure that also allows unusual queries.
For example, you can formulate searches to see who has been in your company longer,
the carpet in the warehouse or your employee. In rational databases,
your carpet wouldn't normally appear in the same table as your employee.
So you would have to design a separate table to be able to make this query.
In Mongo DB, the records, here called documents, can coexist in the same collection and a simple query can be made.
If you would like to try Mongo DB, please check out our examples.
In this article we want to introduce you the new functions from the MBS FileMaker Plugin in version 12.3.
MongoDB
The coolest feature in new release is the new Mongo DB topic.
You can now use FileMaker to access MongoDB databases, read, write and delete data.
The special thing about Mongo DB is that it is not a relational database that is limited by relationships and tables,
but is based on a JSON-like structure that also allows unusual queries.
For example, you can formulate searches to see who has been in your company longer,
the carpet in the warehouse or your employee. In relational databases, your carpet wouldn't
normally appear in the same table as your employee.
So you would have to design a separate table to be able to make this query.
In Mongo DB, the records, here called documents, can coexist in a collection and a
simple query can be made.
If you would like to try Mongo DB, please check out our examples.
Please reserve the days from 18th to 21st September in your calendar. You may want to use the weekend to come to Nashville earlier to enjoy the city and then join the get-together on Sunday evening. Two days of conference follows with a special developer adventure on the second day. Yes, instead of lots of sessions in a ballroom, Dana organized something different this time. I bet you'll enjoy it! Be sure sure to stay the night on Tuesday, so you can enjoy the dinner and travel home a day later.
You can either stay in the conference hotel ($269 USD/night) or maybe better get a cheaper hotel outside and drive daily to downtown for the conference. Or maybe you like to share a room when traveling with your colleague?
Since the conference hotel allows you to cancel, it may be good to reserve a room and later rebook it or cancel, when you find a lower rate. See you there!
Take the .so file from the archive, rename it if needed and upload to the Linux server.
We include the new libraries of course as part of the upcoming 12.4pr1 version of MBS Plugin.
PS: This is not a problem with our DynaPDF plugin for Xojo since we fixed a similar issue years ago for all our Xojo plugins.