NICKENICH, Germany (February 26th, 2013) -- Monkeybread Software releases version 2.3 of the MBS Xojo SOAP Kit.
With this SOAP Kit, you can parse the webservice description file (WSDL) and generate source code for all the methods, constants and classes defined in your webservice. You add this code to your project together with additional source code provided from MBS. Now you can call the web service methods like any other method in your code.
The new versions adds a new sample project for VAT service of European Union, improves handling of arrays and some keywords. The generated code now contains Clone methods, Copy and Value constructors for easier usage.
Complete SOAP solution for professional Xojo (Real Studio) users
Parses the description of your webservice as WSDL.
Out SOAP Utility generates for you:
Classes for each data type in the WSDL
Modules with constants defined in the WSDL
Modules with methods to call WSDL functions synchronously and asynchronously
Includes shared code for common tasks:
Verify WSDL matches between Client and Server.
XML creation and parsing
All source code generated for your application is not locked or encrypted.
Today I found a way to print to PDF file in Cocoa app with Xojo. Next plugin prerelease will have the required functions to have this code work:
//printtoPDFinXojoCocoaapp//changeprintinfotogotodim s as NSPrintInfoMBS = NSPrintInfoMBS.sharedPrintInfo
dim d as MemoryBlock = s.data //saveold
//nowprintsomethingdim g as Graphics = OpenPrinter
If g <> Nil Then
g.DrawString "HelloWorldPDF", 20, 20End If
s.data = d //restoreoriginalsettings//nowprintsomethingtoregularprinter
g = OpenPrinter
If g <> Nil Then
g.DrawString "HelloWorldPrinter", 20, 20End IfEnd Sub
The Hash.Digest function can calculate hashes. For Algorithm we support MD4, MD5, SHA, SHA1, MDC2, RIPEMD160, SHA224, SHA256, SHA384 or SHA512. You pass input data and receive the hash in the requested output format.
The Encryption.Cipher function is a little bit more complex. First you pass direction which can be "encrypt" or "decrypt". Than you pass algorithm. We have a lot of combinations of algorithms, bit depths and block cipher mode as you below in the list. Finally you pass input data and receive the encrypted data in the requested output format.
For input, initial values or key, you pass input with type, data and info. Type can be one of several types: Text, Container, Image, Path, PDF, Data, base64 or Hex. For example you can pass type "text", the actual text with the data parameter and the text encoding to use with the info parameter. If you prefer to pass in a hex string as data, than please pass "hex" as type. You can also pass a file path if type is "path" to read a file. Finally you can pass container values. As type you can pass "Data" to read main stream of container, "Image" to accept any image in the container or "FILE", "PDF", "JPEG", "PNG", "TIFF" or "GIF" for a specific stream in container. If you pass "Container" as type, the container is packed and passed with all streams, so after decrypting you will have the same container back.
For output you can select between various formats: Base64, Hex, Text, File, Path, GIF, TIFF, PNG, PDF, JPEG or Container. So if you encrypted something you can output it to a file on disk (type path), as base64 or hex encoded text or as a container with a FILE stream. After decrypting the data you can return it as text with a specific encoding, write it to a file (type path) or return as container with a specific stream, FILE stream or an unpacked container.
Today was a new forum post with a job offer from Xojo, Inc:
Xojo, Inc. is looking for two qualified and enthusiastic individuals to join our global marketing team as a German Xojo Evangelist and an
Italian Xojo Evangelist. The ideal candidates would be passionate about Xojo and software development, comfortable answering technical and sales related questions, have some experience with other development tools to better enable them to answer technical questions (such as xcode, Live Code, Visual Studio, etc.) and be versed in social media.
Conduct Xojo webinars for international audience modeled after English language webinars;
Localize Xojo.com website into target language and maintain regularly for changes and new content;
Localize provided Google Adwords to increase search traffic;
Grow Xojo community by engaging with users on Twitter, Facebook, Google + and other social media websites;
Localize press releases; and
Assist with other activities unique to language.
This position is not a full-time position, estimate spending ~10 hours week.
While I like the idea of having more Xojo staff living in Europe, I fear that breaking up contracts with local distributors in German and Italian could have negative effects. We already lost translation of the IDE and still wait for the Xojo manuals in German. Also some people prefer to buy without credit card from a local company instead of buying from Xojo directly. Finally I hope the 10 hours per week is quickly extended because I bet you need more time just for answering support questions...
BKeeney Software is happy to announce that we are offering our 2nd annual training day before the Xojo Developer Conference 2014 in Las Vegas, Nevada. Ask questions and meet the entire BKeeney Software staff. Learn from Xojo experts with over a decade of producing high quality desktop and web applications for clients all over the world! This full day of training consists of:
Morning Session: It's all about Xojo desktop apps and some of the tricks and techniques that we use to make high quality applications
Afternoon Session: It's all about Xojo web applications and how to make high quality web apps.
This year the training is more interactive and hands on. We also are asking you what topics you want us to cover (we ask at purchase checkout) so we can incorporate that into what's turning out to be a very full day of Xojo training.
All attendees get a complimentary three month subscription to our Real Studio and Xojo video training series. That's over 42 hours (and growing) of video and hundreds of project files.
There is a problem with WebTextField. On certain browsers the user may have the field being autofilled and no event is triggered, so the Xojo runtime does not notice the change and the text property in code has not the new text.
For that there are two Feedback cases: 30289 and 30875.
Now a fix is possible like this:
As far as I got the feedback, it seems to fix the problem here for a client.
NICKENICH, Germany (February 4th, 2014) -- Monkeybread Software releases version 14.0 of the MBS plug-in for Xojo and Real Studio.
The MBS plug-in comprises a collection of several plug-in parts which extend the Real Studio development environment with 1,900 classes featuring over 50,000 documented functions. Our plugins support all three platforms Mac OS X, Windows and Linux with all project types desktop, web and console.
Some of the highlights on the 14.0 update:
Our new SSH plugin allows you to remotely login to a computer. For the connection you can let the plugin connect a socket or pass an already connected TCPSocket to the plugin. This plugin is supported on Mac OS X, Windows and Linux and allows better integration into your app than running ssh via shell class.
For Cocoa we added a new NSButtonCellMBS class. For various control classes we got new events like TextDidBeginEditing, TextDidEndEditing and TextDidChange. Our OpenDialogMBS class now has a Cocoa implementation and for OverlayMBS class the WindowHidden and WindowShown events work now on Cocoa target.
We updated our AVFoundation plugin for Mac OS X 10.9 Mavericks. This adds more than 400 new functions and 18 new classes. For the events, we now can pass variant tags everywhere. This way you can pass context information to the events. With AVFoundationMBS.WriteCGImageToFile method you can save images in background for even better performance extracting frames from a video.
The SQL Plugin now has be updated to use properties instead of methods, so you see more values in debugger. The new fields and parameters dictionaries in the SQLCommandMBS class allow you to see parameter and field values in the debugger. If you set our new RaiseExceptions property to false, you will not see SQLErrorException, but you can check the Error properties.
For Linux we added support for the window transparency functions. The GTKWindowMBS class can now be used to assign a new Icon to a window. Also we fixed some linker issues on Linux with plugins and no longer optimize away stack frames for better crash reports.
The PictureMBS class now handles 16bit grayscale images for some operations. The new InputData property in CURL classes allows providing data for upload without using Read event. The GetVariantArrayMBS function allows casting any array of objects to an array of variants. With CallDelegateOnMainThreadMBS method you can run methods on the main thread from any other thread. The VerifyEmailMBS function can check emails for syntax and query if the domain has a valid mailbox server. Finally the SignalHandlerMBS class can set a flag and ignore signals, so you can handle them later, e.g. catch Control-C in a console app and gracefully exit your app.
DynaPDF has been updated to version 188.8.131.52 and can now highlight text with ignoring case and accents. LibXL is updated to version 3.5.4 and the XMP Toolkit to version 5.5.
See release notes for a complete list of changes.
If you have questions, please don't hesitate to contact us.
Nickenich, Germany - MonkeyBread Software today is pleased to announce MBS FileMaker Plugin 4.0 for Mac OS X or Windows, the latest update to their product that is easily the most powerful plugin currently available for FileMaker Pro. As the leading database management solution for Windows, Mac, and the web, the FileMaker Pro Integrated Development Environment supports a plugin architecture that can easily extend the feature set of the application. MBS FileMaker Plugin 4.0 has been updated and now includes over 2200 different functions, and the versatile plugin has gained more new functions:
For PDFKit on Mac OS X we added functions to print PDFs directly without dialogs to a printer. If that printer is a fax, you may also be able to fax the PDF. Various options can be controlled like the target printer, page format or the fax number.
With new functions for QuickTime on Mac OS X you can open movie files, query metadata and create preview pictures. Also you can play sound files directly.
For DynaPDF, our cross platform PDF engine, we have new functions related for form fields. You can query field information, get and set form values. Functions for bookmarks help you manage the list of content. You can add clickable link areas in your PDF to point to a website (URL) or to a page of your current PDF. For Windows we can generate previews for PDF files for showing them in a container. Our text highlighting function got improvements to handle case insensitive searches and ignore accents for better search results. Finally we have parse content function so you can extract the commands needed to draw a page.
The CURL functions for upload, download or email sending can now handle PDFs much easier. The function Process.IsRunning can check if a certain application is running. For our global variables defined by the plugin you can now get the list of all variables.
New JSON functions allow the querying of objects much easier. You can now create SHA512/256 HMAC hashes much easier, often used for passwords on web services.
More details in the release notes. Please take the time to check our 200 example databases and check where you can use our plugin features in your solutions.
For our German speaking customers, we offer training days:
Für unsere deutschsprachigen Xojo Entwickler bieten wir dieses Jahr auch wieder eine Schulung an. Am 22. und 23. Mai 2014 im Viva Hotel in Konstanz. Lernen Sie neues über Xojo kennen, vertiefen Sie ihre Kenntnisse und tauschen Sie sich mit anderen Entwicklern aus. Das genaue Schulungsprogramm hängt natürlich davon ab, ob iOS am Tag der Schulung verfügbar ist in Xojo und welche Wünsche die Teilnehmer haben. Bitte bringen Sie Ihre Fragen mit.
Herzlich sind Sie auch eingeladen am 22. Mai abends vorbei zu schauen zu einem Xojo Stammtisch.
Das Programm aktuell:
ab 18:00 Abend vorher, Gemütliches Beisammensein.
ab 9:00 Xojo Schulung: Xojo Grundlagen für Einsteiger um Umsteiger.
ab 18:00 Xojo Stammtisch. Jedermann ist herzlich willkommen andere Xojo Entwickler kennen zu lernen.
ab 9:00 Xojo Schulung: Xojo für Fortgeschrittene
Treffen Sie andere Xojo bzw. Real Studio Entwickler und lernen Sie neues kennen aus Ihrer Lieblingsentwicklungsumgebung.
Für die Schulung haben wir folgende Themen im Angebot:
* Einführung in Xojo, Rundgang durch die Entwicklungsumgebung.
* Entwicklung einer Beispiel Anwendung mit Datenbank sowohl mit Desktop als auch für das Web.
* Programme ausliefern: Web Apps installieren, Build Scripte nutzen, Programme signieren.
* Anpassung von Web Anwendungen an Mobile Geräte.
* Falls iOS verfügbar ist bis zur Schulung: iOS App Einführung (erster Tag) bzw. iOS Client/Server Anwendung entwickeln (zweiter Tag)
* Und vieles mehr nach den Wünschen der Teilnehmer.
Compared to the thing I found this morning, this one is even much better. We hide the whole WebFileUploader and move the invisible file selection area over a normal button. This way the file uploader works, but is invisible. This is a solution for feedback case 18068 and I hope Xojo, Inc. can make an official way to do this soon.
So here is the code for the shown event of the file uploader:
See also Feedback case 32040 for this topic and find there an example project.
In the last days I worked on updating the obfuscate plugin app for Xojo. We had some success with the xojo plugins, but there are still the internal plugins and the runtime library. But instead of changing the files inside the xojo app, we got another idea:
We simply post process the built app, changing all the library names.
Take a look on this screenshot:
As you see we renamed all libraries and also changed all the library references to the new names. So the app is still running perfectly.
Please try it. Project is here: ObfuscateApp.zip or included with next plugins.
(for Mac app I copied the Frameworks folder out of the app so you see it on the screenshot)