Nickenich, Germany (February 25th, 2013) -- Monkeybread Software releases version 1.0 of the
MBS Real Studio Web Starter Kit
The
MBS Real Studio Web Starter Kit is a starting point for building your Web Applications with Real Studio.
Version 1.0 is the first public version with this features:
- Database Support including REALSQLDatabase, MySQLCommunityServer, CubeSQLServer and SQLDatabaseMBS. Other databases can be added easily.
- Simple User Management for Admins and normal users.
- Login Panel.
- Auto login, so people don't need to login each time..
- Collects Exceptions and JavaScript Errors in database and displays them to Admin.
- Allows logging to text file and database and displaying them..
- SQL Console with download of database and query result as CSV file.
- Session management for admin to see what users do.
- Chat Window.
- Creates Backup of database.
- Object browser and memory statistics.
- Messages for Admins to/from users.
- File Browser.
- Shows how to cache images/files to save memory.
- and much more....
You can use the Kit as a foundation of your new web application or simply copy the parts you need to your own web application. This Kit is the result of putting together all the goodies we developed in the last two years for various web applications. Things we believe everyone could need in their own solution. And of course in the next years, we will add more functions depending on user requests.
Our Web Starter Kit requires Real Studio 2012 or newer and a license of the MBS Real Studio Plugins.
The Util Plugin part is required and the MacOSX part is useful here.
The Web Starter Kit is available for $149 USD or 99 Euro (+VAT if needed).
You can learn more and try
the demo on our website.
New in this prerelease of the 13.1 plugins:
- Moved AudioChannelLayout*MBS classes to own plugin part AudioChannelLayout.
- Split SQL plugin internally into SQL and SQLDatabase plugin. So you can use the SQL side without a database server license. (unless Real Software changes rules)
- Added new convenience RegexMBS methods and default parameters.
- Added new CIFilterMBS subclasses: CIFilterDepthOfFieldMBS, CIFilterDrosteMBS, CIFilterHighlightShadowAdjustMBS, CIFilterHistogramDisplayFilterMBS, CIFilterPageCurlWithShadowTransitionMBS, CIFilterStraightenFilterMBS, CIFilterStretchCropMBS, CIFilterTemperatureAndTintMBS, CIFilterToneCurveMBS and CIFilterVibranceMBS.
- Added NikonCamera plugin.
- Updated DynaPDF to version 3.0.22.61
- Fixed crashes with JPEG plugin when using on multiple threads at the same time. (eliminated some global variables)
- Added new events to CustomNSToolbarMBS for events in CustomNSToolbarItemMBS so they can be forwarded there.
Download:
macsw.de/plugin/Prerelease. Or ask us to be added to our shared Dropbox folder.
Kem Tekinay, one of our plugin users made a speed test with RegEx class in Real Studio and the RegExMBS class in MBS Plugins.
Well, it looks like the plugin is magnitudes faster.
This are some results you can see with the sample project:
String Created: 1.048.500 bytes
RegExMBS: 8.120 microsecs, 500 found
RegEx: 317.797 microsecs, 500 found
String Created: 10.485.000 bytes
RegExMBS: 77.930 microsecs, 5.000 found
RegEx: 33.953.951 microsecs, 5.000 found
Tested in RS 2012r2.1 with 13.1 MBS Plugins.
Even with sampling on Mac OS X we can't see what the RegEx class does with all the CPU time. Maybe they simply rebuild the regular expression every time they do a search. We'll see. If you are interested, subscribe the
Feedback case 24836. For now you can simply use our plugin if you need speed
See test project:
regex_speed_test.rbp.zip
Today I had a training session with a developer using both Filemaker and Real Studio. Topic was on how to connect to a Filemaker Server from Real Studio Web Edition and do all the database stuff: List tables & records, edit a record, delete a record and update a record.
I can tell you it's just working fine.
Of course it's your decision if you go with (Instant) Web Publishing or Filemaker Go to fill your database on the go. But with Real Studio you can build native desktop clients, web clients and soon iOS clients. Much more customized to your needs than anything from Filemaker.
Need a training?
If you need more than watching
Bob Keeney's excellent training videos, you can order your personal training from us. From an hour remote to a multi day meeting in your/our office, there are a lot of possibilities. Just ask and provide a list of topics.
Real World 2013 is just two months away. Sign up soon to benefit from Real World advanced pricing (Ends 17th March)
Register on
conference website.
The schedule has been posted:
Real World Schedule.
As you see first day is in big Ballroom so everyone can watch the Web and iOS sessions after the keynote. Also the MBS Session is Thursday 11am and Thursday night we a going bowling at Splittsville.
See you there in Orlando!
New in this prerelease of the 13.1 plugins:
- Added TwainImageLayoutMBS class.
- Changed some compiler options to have Real Studio exception handling work better with our plugins.
- Changed back some compile options to have plugins work on Linux again.
- Fixed a couple of memory leaks related to exception handling.
- Fixed bug in SQLErrorExceptionMBS class introduced in pr2.
- Added 16bit mode for TiffPictureMBS.WriteGray.
Download:
macsw.de/plugin/Prerelease. Or ask us to be added to our shared Dropbox folder.
This works in Safari and Chrome for me, but may also work in other browsers, maybe with little modifications.
ExecuteJavaScript "document.body.style.zoom='200%';"
If you run this in your webpage, the content is zoomed to 200%. I think this is useful to offer people buttons like smaller, middle and bigger where they can zoom the content.
Or with some math to make the webcontent fit the screen on a large window.
Recently a client asked on how to get an image from a
htmlviewer.
Well, on Windows this is easy as we have only one function there:
HTMLViewer.IEImageMBS as picture. This gives you an image. We recommend you resize htmlviewer to
IEScrollHeightMBS/
IEScrollWidthMBS to have the whole page visible.
On Mac we have more options:
and if you query the
WebviewMBS from HTMLViewer or you have no HTMLViewer, but only a WebviewMBS, you can use this methods:
- WebViewMBS.RenderDocumentToEPS as Memoryblock
- WebViewMBS.RenderDocumentToPDF as Memoryblock
- WebViewMBS.RenderWebsiteImage as NSImageMBS
- WebViewMBS.RenderImage(subviews as boolean=false) as variant
- WebViewMBS.PrintToPDFFile(PDFFile as folderitem, LeftMargin as double = 50.0, TopMargin as double = 50.0, RightMargin as double = 50.0, BottomMargin as double = 50.0) as boolean
- method dataWithEPSInsideRect(left as double, top as double, width as double, height as double) as Memoryblock
- method dataWithPDFInsideRect(left as double, top as double, width as double, height as double) as Memoryblock
So you can get with various ways images or PDF. And from PDF you can of course make image, too.
Dan Berghult did recently some speed testing with reading images from a database:
I just run some tests:
Case 1: IdxField(1) is a PICT: 14 ticks to process this record 1000 times
vPicture= BuildPictureWithPicHandleDataMBS(vRS.IdxField(1).NativeValue)
Case 2 IdxField(1) is JPG Using build in conversion from JPG 515(!)
vPicture= vRS.IdxField(1).JPEGValue
Case 3: IdxField(1) is JPG Using JPEGImporterMBS 15(!)
vJpg.data=vRS.IdxField(1).StringValue //15
vJpg.Import
vPicture=vJpg.Picture
So in my case using your class JPEGImporterMBS is 340% faster then the RB-build function and as fast as when I render the PICT.
Plattform: The test was done on Mac but Appl runs on Mac and Win
Real Studio Version: 2012r2
MBS Plugin Version: 12.5
Database: PrimeBase Data Server (SQL)
Database connection: PrimeBase RS Plugin
The application it self is of image archive type.
So if you like speed, please implement several ways and use the fastest
Today we release two updates to our Kits:
MBS Real Studio Updater Kit 1.5 and
MBS Bug Reporter Kit 1.1.
With our new MBS Real Studio Plugins 13.0 plugins and Real Studio 2012, we think it's time for an update.
New in Updater Kit:
- We now detect older version and tell user that he has the current version. This avoids showing an error for users who have a newer version (e.g. a beta version).
- Updated to Real Studio 2012
- Fixed kYouhavethecurrentversion to show name of app.
New in Bug Reporter Kit:
- Signals on Mac & Linux now show stack trace.
- Reason is now part of the report. Else you may miss it.
- Moved project to Real Studio 2012.
- Removed reference to GetObjectClassNameMBS
- Now uses BackTraceMBS function on Mac to query stack backtrace.
- Added LinuxSysInfoMBS for more details on Linux.
- Fixed some minor bugs.
- Added Italian translation and improved German & English
If you have a license already, we'll soon send you a new download link.
New in this prerelease of the 13.1 plugins:
- Fixed a problem with JPEGImporterMBS reading data from string and string was freed too early.
- Added CIContextMBS.Constructor taking picture as destination. Also added CGContext and Picture properties and Destructor and Flush methods.
- Added HIViewMBS.available which returns true only on Cocoa target, but not on Cocoa.
- Added CGBitmapContextMBS.CreateImage, CGBitmapContextMBS.CreateWithPicture and CGBitmapContextMBS.Create.
- Added private constructor to CGContextMBS and CGBitmapContextMBS classes.
- Added constructor to DirectorySizeMBS class to set RecursionLimit to -1.
Download:
macsw.de/plugin/Prerelease. Or ask us to be added to our shared Dropbox folder.
I can inform you that we just provided one of our plugin users with an example on how to upload to webdav with our CURL plugin. There is nothing special so far. Just make a PUT request to the right URL and CURL will handle the details.
As you can also do GET and DELETE requests, you can also download and delete files.
Works both with Real Studio and Filemaker with MBS Plugins.
Real Studio Developer Magazine is having a special one-day President's Day sale on Monday, February 18, 2013. Use coupon code PREZDAY and all orders over $25 are 15% off!
We're keeping this simple, with no gimmicks or absurd limitations. The 15% discount is valid for all our products: subscriptions, back issues, printed books, even subscription renewals! But this coupon is only good on February 18, 2013 (there's a little leeway for people in different time zones), so hurry to take advantage of our President's Day sale!
To get the discount, just use the coupon code PREZDAY when placing your order on
RS Developer Magazine store.
New in this prerelease of the 13.1 plugins:
- Fixed problem with LoadInternalDLL functions. Still Microsoft does not like it if we load DLLs from memory as the loaded can't apply custom patches then.
- Added OptionNoSignal for CURLSMBS/CURLMBS classes.
- Added NSApplicationMBS.startDictation and NSApplicationMBS.stopDictation.
- Added StartDictationMBS method (for Carbon).
- Fixed windows control thread functions like SetVisibleThreadSafeMBS.
- Plugins are now compiled with Xcode 4.6 on Mac.
- Fixed NSSpellCheckerMBS to work again.
- Fixed ResourceForkMBS class.
- Added a new InsertRecord method to SQLDatabaseMBS. It uses prepared statements to make escaping more save.
- Added more tag parameters to various events in GameKit and CustomNSSharingServiceMBS.
- Added MT functions for NSImageMBS compression: JPEGRepresentationWithCompressionFactorMT, BMPRepresentationMT, PNGRepresentationMT, GIFRepresentationMT and JPEGRepresentationMT.
- Updated DynaPDF to version 3.0.22.60
- Added new MT functions to CIImageMBS and NSImageMBS to load thread friendly.
- Added scale factor parameter to HTMLViewer.RenderWebsiteImageMBS.
- Added new parameter to DrawRotatedTextMBS in order to workaround text position problems on Mac for printing.
- Updated SQLPreparedStatementMBS to run in console/web projects.
Download:
macsw.de/plugin/Prerelease. Or ask us to be added to our shared Dropbox folder.
There are a lot of little additions we could do. Like for example tag properties and parameters which you can use to store references to your own objects if needed. For example for GameKit we have added tag parameters to several methods which later call an event. This way you can pass any reference value with the method to have it in the event. For example if you run several times the same query, you can later in the event see which query the result belongs to. Do you need another tag property or parameter somewhere?
There are several cases where you pass raw data between functions. Now sometimes you use a string like if you read bytes from a binarystream. In other cases you use a memoryblock, like for webfile class. Now we have a lot of functions which take data or return data. A lot of are already overloaded so you can pass both memoryblock and string and the plugin takes both. This avoids extra conversion. Do you need somewhere a function to return string/memoryblock or take it?
There are convenience functions we can add. For example we just added in 13.0 plugins a method CIImageMBS.AsNSImageMBS to quickly convert from CIImage to NSImage. This avoids a few extra steps. With 13.1 plugins we also add CIImageMBS.imageFromPicture to convert a picture to CIImageMBS quickly. Those convenience functions can save time and make coding easier. Can you think about methods you could need to make your live easier?
For our SQL classes we added in 13.0 plugins methods to get RecordSet from SQLCommandMBS or SQLConnectionMBS objects. This helps for using our SQL classes with some methods taking RecordSets like the reporting classes.
So if you have ideas for little helper functions, methods or properties, please do not hesitate to suggest something.
This is a new example app for upcoming 13.1pr1 plugins:
Do you notice that with 4 Real Studio threads, the plugin can actually get 4 CPU cores busy and get work done faster?
Over the last months we added quite a few MT methods. That are plugin methods which perform work on an extra preemptive thread which the Real Studio thread calling them yields CPU time away. And if you use several threads in Real Studio already, this will help you keep more CPU cores busy.
For 13.1pr1 we add this new MT aware functions for loading/saving NSImage/CIImage:
- NSImageMBS.TIFFRepresentationMT and NSImageMBS.TIFFRepresentationUsingCompressionMT
- NSImageMBS.PNGRepresentationMT
- NSImageMBS.JPEGRepresentationMT and NSImageMBS.JPEGRepresentationWithCompressionFactorMT
- NSImageMBS.BMPRepresentationMT
- NSImageMBS.GIFRepresentationMT
- NSImageMBS.imageWithContentsOfURLMT
- NSImageMBS.imageWithContentsOfFileMT
- NSImageMBS.imageWithContentsOfPathMT
- NSImageMBS.imageWithDataMT
- CIImageMBS.imageWithDataMT
- CIImageMBS.imageWithContentsOfFileMT
Also we have a couple of existing functions:
- SQLDatabaseMBS.SQLSelectMT and SQLDatabaseMBS.SQLExecuteMT
- SQLConnectionMBS SQLSelectMT and SQLConnectionMBS SQLExecuteMT
- SQLConnectionMBS SQLSelectAsRecordSetMT
- SQLCommandMBS ExecuteMT and SQLCommandMBS ExecuteCommandMT
- PictureMBS.ScaleMT
- DynaPDFRasterizerMBS.RenderPageMT
- DNSUtilMBS.LookupMT
- DNSLookupMBS.LookupHostbyNameMT and DNSLookupMBS.LookupHostbyAddressMT
- CURLSMBS.PerformMT
- CURLMBS.PerformMT
- ABAddressBookMBS.sharedAddressbookMT
If you have ideas for other methods which could benefit from loading work off to another CPU core, please don't hesitate to contact us.
NICKENICH, Germany (February 12th, 2013) -- Monkeybread Software releases version 13.0 of the MBS plug-in for Real Studio.
The MBS plug-in comprises a collection of several plug-in parts which extend the Real Studio development environment with 1,700 classes featuring over 45,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 13.0 update:
New functions for localization help you format numbers with the localization of the user in a Web Edition application. So if server runs with US localization and a french user uses your Web app, you can use
FormatMBS and CDblMBS to handle numbers in french localization. The LocaleMBS class provides information about localized number formatting.
For Mac OS X 10.8.2 we updated our
GameKit classes. With more than 100 new methods and events, you can now update your games to use this new methods and take full advance of the new functions in GameCenter.
Improved
UUID creation and validation, so you can now generate random UUID and also validate UUIDs entered by the user. The Validate function can also fix UUIDs which are not 100% correct.
The SQL plugin has been updated do SQLAPI 4.0.3b1 and includes new informix unicode client. We also added a InformixMBS class. For normal SQL queries we added SQLSelectAsRecordSet and SQLSelectAsRecordSetMT functions, so you can query on
SQLConnectionMBS and still get a RecordSet instead of a
SQLCommandMBS object. Useful to pass the RecordSet to report functions. Also we have SQLCommandMBS.AsRecordSet to give you a record set for a command object. The function
BuildRecordSetMBS can be used to build a new recordset based on a string array.
For our
Twain plugin, we can now do scans without showing user interface and also set parameters like resolution and orientation before the scan. For Windows the transfers have been optimized and are faster now.
For safe access to the user interface from a thread, we added functions to set the text of labels and the value of progress bars from a thread. The plugin will make sure the main thread does those updates while your background thread continues. With ShowModalThreadSafeMBS on the MessageDialog class you can show message dialogs from a thread.
There are several little changes like a new
SHA3MBS class, support for CoreFoundation on Windows using QuickTime, new Recursion properties on
DirectorySizeMBS, more methods on
CIImageMBS, new Mouse events on OverlayMBS and volume property for audio play through classes.
CURL library is updated to version 7.28.1, the libXL library updated to 3.4.0 and DynaPDF library to 3.0.22.58.
See
release notes for a complete list of changes.
Just a quick note for everyone thinking about releasing some modules or classes for Real Studio as
LGPL. It won't work.
LGPL was created to have a GPL library being used in a non GPL application. So the library is compiled on its own and can be replaced with another version. As Real Studio can't compile libraries (DLL/dylib/so files), you can't include LGPL classes/modules/controls in a non GPL Real Studio project.
The only real way to to use LGPL software with Real Studio is to compile the LGPL library to a dll/dylib/so and use declare commands or a plugin to call the functions.
Better use a commercial license or a free license (MIT, BSD, Apache just to name a few).
New in this prerelease of the 13.0 plugins:
- Added SHA3MBS class
- Fixed a bug with DynaPDFParseInterfaceMBS class events.
Download:
macsw.de/plugin/Prerelease. Or ask us to be added to our shared Dropbox folder.
In order to prepare plugins for the future, we cleanup and fixed a couple of things for the plugin version 13.0. The new Real Studio 2013 releases will require some plugin SDK changes as we should stop using deprecated functions. Also for 64 bit functions a lot of deprecated functions will no longer be supported, so it's really time for every plugin vendor to no longer depend on them.
We now use RBBoolean, RBUInt64, RBColor and RBInteger data types everywhere instead of int/long data types. For all string access we now use REALGetStringData for RS 2012 instead of the older accessors PString, CString, REALGetStringContents and REALGetCString.
This was so far a lot of work and has no direct visible effect except that maybe a 100 functions changed their parameters a little bit. Like passing now UInt32 instead of integer.
The following plugins already compile fine for Mac 64 bit so far:
Linux, DirectShow, CanonEOSDigital, Lion, CocoaBase, SnowLeopard, MountainLion, CUPS, WIA, LCMS, LCMS2, WinDragDrop, WinICM, DynaPDF, Overlay, LargePicture, QuickTime, VLC, Audio, JPEG, Java, Compression, RegEx, GIF, XMP, Tidy, Tiff, PNG, ImageMagick, Leopard, QTKit, MacOSXCG, PHP, Main, Controls, DataTypes, Win and CocoaExtras. Other plugins still need more work.
New in this prerelease of the 13.0 plugins:
- Added CIImageMBS.AsNSImageMBS for easier converting.
- Added more methods for CIImageMBS class.
- Added Listbox.HorizontalNSScrollerMBS and Listbox.VerticalNSScrollerMBS.
- Fixed bug in GZipFileMBS reading from string on Windows.
- Added InformixMBS class.
- Removed CFObjectMBS.Release property. Objects are always retained and destructor will always release CoreFoundation object.
- Fixed a Cocoa problem with our plugin initialization code for Cocoa target in Real Studio 2013r1.
Download:
macsw.de/plugin/Prerelease. Or ask us to be added to our shared Dropbox folder.
Well, you are going to Orlando for
Real World?
Great, best you get the room in the Holiday Inn Hotel, so you can spend all day with Real Studio developers and get the most out of the conference. With three days full of sessions, one day of
optional training and the evening events. In the whole week, you'll easily find people in the hotel lobby or at the bar in the evening.
From the hotel, you can walk just 500 meter to Downtown Disney and enjoy a few shops and restaurants. A huge Disney shop, a Lego shop, restaurants in several styles and even a cinema is there. Walking in the other direction down the Hotel Plaza Blvd. you leave the Disney property and there you find a dozen fast food restaurants and a 24/7 supermarket. All in walking distance.
If you like you can see nature. In Florida for example the lakes: Lake Apopka with the Lake View Park in Winter Garden or the East Lake Tohopekaliga in St. Cloud. For some more nature, you can drive to the
Hillsborough River State Park. This is a nice park, where you can walk a mile along the river and see some turtles, squirrels or alligators.
Of course you can drive to the east coast. The
Kennedy Space Center is a great place and you can easily spend a whole day there if you want to do the bus ride and all the shows. On the way there you can also visit the
Astronaut Memorial,
Astronaut Hall of Fame and next to it the
American Police Hall of Fame. And if you drive to south you can also visit Cocoa Beach.
Like to see history? Seven miles down from Hotel to Kissimmee, you find the
Osceola Country History center. Just after Walmart, turn right in the Bass Road, and after some hundred meters, you find it on the right side. There you find a park with a couple of houses from the late 18th and early 19th century.
Next on history is the
Fort Christmas Historical Park located half way to the Kennedy Space Center. Another nice way to learn something about history of Florida.
See you soon at
Real World!
New in this prerelease of the 13.0 plugins:
- Renamed AddRenderingIntent function to AddOutputIntent in DynaPDFMBS class.
- Added properties to TwainMBS for resolution and orientation.
- Updated DynaPDF to version 3.0.22.58.
- Added folderitem.MacResolveNodeIDMBS function.
- Fixed QTGrabberMBS.Recording and QTGrabberMBS.Previewing properties.
- Updated WindowsIniMBS class for Unicode.
- Removed SplitMBS class, StringArrayJoinWithDelimiterMBS and StringArrayJoinMBS functions. Please use built in framework functions from Real Studio instead.
- Removed QTFileTransferMBS class. Please use HTTPSocket instead.
- Overloaded all DynaPDF functions taking buffer to also accept memoryblock directly avoiding conversion from string to memoryblock.
- Added NSControlMBS destructor to better cleanup if you add control to a toolbar and you forget to keep it alive by storing reference in a window property. No longer crashes on action event in this case.
- Removed PrepareLookup, ProcessLookup and FinishLookup from DNSUtilMBS module. Please use LookupMT for that.
Download:
macsw.de/plugin/Prerelease. Or ask us to be added to our shared Dropbox folder.