MBS Real Studio Plugins, version 12.2pr6

New in this prerelease of the 12.2 plugins:
  • Added more security methods to WindowsWMIMBS class.
  • Changed our multithreading code for pictures to work better if you call same method on several threads.
  • Changed WindowsTaskbarStateMBS class to have AutoHide and AlwaysOnTop properties settable.
  • Added support to PictureMBS to work with Pictures on Web/Console targets.
  • Fixed a couple more leaks in NSImageMBS, OverlayMBS and QTKit classes.
  • Fixed leak in QTKitMovieMBS.AddImage.
  • Fixed leak in NSImageMBS.Constructor taking a picture.
  • The OverlayMBS.Constructor with WindowsNoActivate flag set to true should now work better on Cocoa target.
  • Fixed WebViewMBS methods canGoBack, canGoForward, canMakeTextLarger and canMakeTextSmaller.
  • Added NSLevelIndicatorMBS.
  • Fixed bug in Windows classes with passing BSTR string parameters. This affects WIA classes, WMI classes and a few others.
  • Changed RemoveAccentsMBS to work also for decomposed unicode characters.
Download: macsw.de/plugin/Prerelease

MBS Filemaker Plugin, version 2.7pr7

New in this prerelease of the 2.7 plugins:
  • Added Files.FileSize function.
  • Fixed crash on Windows with CURL options using lists.
  • Added more parameter for Mac to Webview.LoadURL function.
  • Changed CURL.SetUpdateProgressDialog to now also work for uploads.
Download at monkeybreadsoftware.de/filemaker/files/Prerelease/

Adding NSLevelIndicatorMBS control

One user asked for using NSLevelIndicator class from Cocoa in Real Studio. So this morning I added it for next version:

Actually with all the existing plugin utility code, this was less than an hour of work.

SOLARUG April meeting

There is still a little bit of time left to sign up for the SOLARUG April online meeting. I'll be discussing Web Widgets with Web Edition. You'll learn how to make that little clock on the SOLARUG site, plus I have another surprise widget in store... a Twitter scroller.

More info here: http://www.solarug.com/next-meeting

Next Real Studio meetings

In the next months, there are a couple of Real Studio events.

Pforzheim, Germany, 26th and 27th April 2012. Real Studio meeting on thursday evening and training with Real Studio Web Edition and Database (in German) on friday.

Wiesbaden, Germany, 11th May 2012: Real Studo meeting in Rhein-Main area.

Seattle, USA, 12th May 2012: Real Studo meeting.

Atlanta, USA, 21st May 2012: Real Studo meeting.

Orlando, USA, 24th and 25th Mai 2012: Real World is the biggest Real Studio meeting in the world. Three awesome days with probably more than 100 Real Studio developers to learn new things, exchange ideas and meet the people you only know from lists or forums. More than 85 attendees from 13 countries.

Leipzig, Germany, 19th June 2012: Real Studo meeting in Leipzig.

MBS Real Studio Plugins, version 12.2pr5

New in this prerelease of the 12.2 plugins:
  • Updated DynaPDF to version 3.0.15.37.
  • Improved JSON class.
  • Fixed multithreading bug in DNSLookupMBS class (to avoid crash on Mac OS X 10.4).
Download: macsw.de/plugin/Prerelease

JSON

I want to tell you the story I had the last days with JSON classes:
We started with a need to use JSON for talking to a server. We were happy to see JSONItem class in Real Studio, but we soon realized it has problems. First it did not preserve the text encoding. All the strings we got back had no text encoding set. Well we eventually worked around that, but later we discovered that the JSONItem class is very very slow. We really didn't want to wait 10 seconds for a big JSON to be parsed. So we checked for alternatives. As the client uses both Einhugur and MBS plugins, we have also JSONNode from Einhugur and JSONMBS from MBS Plugins available. A little speed test for parsing shows that the plugins do the 10 second job in less than 0.1 seconds. The Einhugur class was a little bit faster then mine, so we tried JSONNode. But it turns out that JSONNode doesn't return strings with text encodings, too.
So finally we came to JSONMBS class. Our class is a little bit lower level as you get nodes for arrays or dictionaries which you don't see that way with the other classes. But well, our JSONMBS class has decent speed and handles encodings better. Still we need to call the unescape function manually to removes escapes.
So finally we have a solution and our parse method implemented with 3 different classes. Good if we have to switch again later :-)

Using Dropbox for plugins

Today I created two shared folders on my dropbox account: MBS Real Studio Plugins and MBS Filemaker Plugins.
I'll put in the future new plugins there and if you like I can subscribe/invite you for this. And don't change the folders!

Dropbox is a nice way to sync files. Still I'd love to have a few advanced features. Like following a folder. So people can subscribe without asking me and see the folder with readonly access.
That would be nice to provide downloads in general, especially if the folder would be available over the web for public download.

Interested? Just drop me a line by email.

Someone visiting Drupa exposition?

Drupa exposition is from 3rd to 16th May in Dusseldorf. I think about going there for a day as a visitor.

Would be nice to meet a few Real Studio developers there? Someone interested in a meeting?

Filemaker Insert URL vs. MBS Plugin's CURL functions

One of my users asked what the difference between the plugin CURL functions and the new insert from URL Script step is. Well, basically the insert URL script step can do a specific thing which is getting data from an URL and putting it into a media field. If you just need this, you are fine, but if you need a little different feature, you should check our plugin. Like if you need some proxy settings or pass a cookie or some advanced credentials. Also if you use SSL, you should try the plugin as it can verify the peer using a certificate. Encrypting the data without making sure there is no attacker listening doesn't make much sense. Finally you may want to show progress while download and allow the user to cancel?
Our feature comparison:
Feature Insert URL Script Step MBS Filemaker Plugin
FTP and FTPS Protocols Download Download & Upload
HTTP and HTTP Protocols Download Download & Upload
File Protocol Download Download & Upload
Verify Certificate and Host for SSL connections no yes
Proxy Settings no yes
SFTP Protocol (File Transfer over SSH) no yes
FTP Directory Listings yes yes
Delete File no yes
Background transfers no yes
Cookie support no yes
Authentication (username/password for FTP/HTTP) only within URL yes
Reuse same connection no yes
Read/Write Data to file/variable no yes
Fill and send forms no yes
Use custom timeouts no yes
Follow redirects no yes
Speed limit / statistics no yes
Show progress and cancel download no yes

In our tests a ftp download using login/password worked with the insert URL script. Even ftp directory listings seem to work. Of course for advanced operations like renaming your file after upload or deleting a file, you need the plugin. Also if you want to follow redirects or you need to send special headers including cookie string.

Please don't hesitate to comment or inform us about things we forgot.

Tree Size 3.1 and Logintime in menubar 1.1

as you may have seen, we uploaded Tree Size 3.1 and Logintime in menubar 1.1. Both updated for being Intel Mac apps so they run on Snow Leopard and Lion. Also we added little improvements recently. In the Login time app you can click the time to switch between login time and duration.

As the Real Studio projects are included, you can learn from us on how to make such applications. You need Real Studio 2011r4 with current MBS plugins.

Real Studio Web Edition on Sale

Just in case, you didn't see it. The coupon is WESALE and gives you 50%.
You can click here for your order.

Also you may want to check the Web Edition introduction video from Paul on youtube.

On the documentation you may have seen a few reorganization on the Web Edition items. And Paul told me he's working on a new guide which should help you even more.

Extracting text from files

A user asked today, so here an overview on what we can do currently:
MacWindowsLinux
RTF fileStyled Text Class
NSAttributedStringMBS
Styled Text ClassStyled Text Class
Word fileNSAttributedStringMBSOffice Automation
Open Office text fileNSAttributedStringMBS
Excel fileMBS XL PluginMBS XL Plugin
Office Automation
MBS XL Plugin
PDF FileMBS DynaPDF Plugin
PDFKit classes
MBS DynaPDF PluginMBS DynaPDF Plugin
HTML FileMBS Util Plugin
NSAttributedStringMBS
MBS Util PluginMBS Util Plugin

MBS Real Studio Plugins, version 12.2pr4

New in this prerelease of the 12.2 plugins:
  • Added NSDatePickerMBS class.
  • Added QTKitMovieMBS.addVideoTrackWithSize method.
  • The init methods on NSAttributedStringMBS class now work right if called on an NSMutableAttributedStringMBS instance.
  • Added insertText and textStorage methods to NSTextViewMBS class.
  • Changed NSTextStorageMBS which is now subclass os NSMutableAttributedStringMBS as it should be.
  • Updated GraphicsMagick for Windows to use version 1.3.14 of the library.
  • Improved general picture handling to better detect whether we need to lock pictures for console or desktop types. Also this should avoid some leaks.
  • Added SHA512MBS class.
  • Updated DynaPDF to version 3.0.15.36.
Download: macsw.de/plugin/Prerelease

Adding NSDatePickerMBS class.

Today we added a class for NSDatePicker, so you can now show date and time pickers in your Cocoa/Carbon app with our CocoaControlMBS control: Please try the demo project in next plugins. You can set/get times and set various properties.

MBS Filemaker Plugin, version 2.7pr6

New in this prerelease of the 2.7 plugins:
  • Improved hidden scrollbars on Mac for Filemaker 12 so they stay hidden even with resizing window.
  • Added Window.ScrollbarsVisible function.
  • Changed CURL debug output to no longer contain SSL raw data of transfer.
Download at monkeybreadsoftware.de/filemaker/files/Prerelease/

Real Studio Developer Magazine's Tax Day Relief One-Day Sale!

Marc Zeedar has a sale event today:

Tuesday, April 17, 2012 is the deadline to file taxes in the U.S., so to provide you with a little relief, Real Studio Developer Magazine is having a special one-day sale. On that day all orders over $25 are 20% off!

We're keeping this simple, with no gimmicks or absurd limitations. The 20% discount is valid for all our products: printed books, subscriptions, back issues, CDs, even subscription renewals! But this coupon is only good on April 17, 2012, so hurry to take advantage of our huge Tax Day Relief sale!

To get the discount, just use the coupon code TAXDAY when placing your order on our store: www.rsdeveloper.com/orders.shtml

If you have any questions about this offer, please let me know.

Marc Zeedar, Publisher, Real Studio Developer

Using NSTextViewMBS

I had a client asking for more functions for NSTextViewMBS class. So with next plugins, we'll have a couple of new methods there including most important an insertText method. You can add normal strings, but also NSAttributedStringMBS object. This means you can read some file with data (RTF, Word Document, HTML, etc.) and insert it in some existing text. And of course you can create NSMutableAttributedStringMBS on the fly and set attributes. Also with new text storage access on the text view, you can set or get the text with attributes from the textview.

You can use our NSTextViewMBS class for both: Pimp an existing TextArea object in a Real Studio cocoa target or use the CocoaControlMBS control to add it to a Carbon or Cocoa window. So please check next plugins :-)

Got a few reviews about my Filemaker plugins

We started a new reviews page:

Review from John DeMillion

Christian,

Based on our experiences so far, your MBS plugin for FileMaker is head and shoulders above the other web/URL plugins we've used. We've found the other web plugins extremely time-consuming to use, and they seem to fail on complex sites with lots of cookies and sessions and such to track, even when we took the time to carefully reverse-engineer everything that the site was trying to do. In our current project, while we previously had things working well with another plugin, the website suddenly changed to a more complex model and we tried for many hours to get it working again, without success.

But with the MBS plugin's "WebView" components, we got our solution up and running again in less than a day. The MBS WebView model is absolutely brilliant: let FileMaker's WebViewer object do the heavy background lifting with cookies and sessions, etc, and just concentrate on controlling the WebViewer with the input that a user would normally give to a browser. The result was that it took us significantly less time to code this solution than with the previous plugins that we've used, and the resulting scripts are far more straightforward.

Thank you for the MBS FileMaker plugin and also for your super-quick work on the custom function that we needed; if not for MBS, we'd still be beating our heads on a brick wall trying to get our solution working.

John DeMillion Chester County Intermediate Unit United States

Review from Steve Thomas

the web viewer in filemaker has a great deal of power. Unfortunately, it was not given a voice of its own when the folks at filemaker built and brought it to life. The conversational one sidedness can make things a bit lonely. It turns out that there is a voice in the webviewer. in fact, there's a LOUD voice. Monkeybread's mbs plug in for filemaker is all that is needed to turn it on. Just be warned...uv been throwing rocks into a giant pool of calm water for some time. That calm water may just start throwing rocks at you. TheShortVersion: once u go from being limited to the oneway pushing of filemaker data > webviewer and living with mere "data display", to real 2way communication the likes of what can be accomplished when u can fire scripting from elements inside the web viewer, ur solutions will transform.

- steve thomas

Review from Simon Gerads

The MBS FileMaker Plug-in is a must have for all FileMaker developers. It is a Plug-in with many different solutions and each one of them works great. The power of all functions is amazing and the support is by far the best I have ever had. A question is answered in less the 24 hours and if thats not good enough. A sample is created by Christian to demonstrated the function.

I use the MBS FileMaker Plug-In almost everyday and the great thing is - it just works.

Keep up the great work and all the good ideas. Thanks a lot for your amazing Plug-In is by far the best.

- Simon Gerads

Some news

  • Our filemaker documentation moved to new domain mbsplugins.eu which makes it possible that you can google for it in a few weeks (once it's indexed) and use "site:mbsplugins.eu" to search only the documentation. (like we have for Real Studio)
  • For this blog, we added a side bar for latest comments. I hope it's useful and you leave a comment from time to time...
  • The Real Studio meeting in London was great. Accounting is done and everything is paid. For your information: The event costed a little over 3000 Euro with a result of 500 Euro deficit which is our sponsoring subvention.
  • The Filemaker meeting yesterday in Bern was great. A nice round table, 6 people in total and I showed a few of my plugin features.
  • Did someone try the new VLC plugin for Real Studio? I got no feedback so far!

MBS Filemaker Plugin, version 2.7pr5

New in this prerelease of the 2.7 plugins:
  • Added Window.GetAlpha.
  • Fixed bug from pr4 with Javascript callback.
Download at monkeybreadsoftware.de/filemaker/files/Prerelease/

MBS Filemaker Plugin, version 2.7pr4

New in this prerelease of the 2.7 plugins:
  • Added Encryption.DecryptBlowfish and Encryption.EncryptBlowfish.
  • Added Encryption.DecryptAES and Encryption.EncryptAES.
  • Fixed Window.HideScrollbar function for Filemaker 12 on Mac and Windows.
  • Added Hash.MD5 and Hash.SHA512 functions to get hashes of UTF-8 text.
Download at monkeybreadsoftware.de/filemaker/files/Prerelease/

New french Real Studio Blog

Take a look: realstudio-fr.com.

And there is now a french group for people around Paris. That's a local group to gather people interested in local meeting near Paris. I already joined it as a visit to Paris is always a pleasure.

Coming soon into the plugin of your choice

Just a quick note that we added SHA-512 cross platform for our Real Studio Plugin.
Also we added MD5 and SHA-512 functions for our Filemaker plugin, today.

Next Real Studio Meetings

Next meetings are:
  • Pforzheim, 26th April 2012: Real Studio Meeting with Geoff Perlman presenting new Real Studio IDE.
  • Pforzheim, 27th April 2012: Real Studio Training for Web Edition and Databases (in German)
  • Wiesbaden, 11th May 2012: Real Studio Meeting in Wiesbaden.
  • Orlando, 24th/25th May 2012: Real World 2012.

More details on our website: monkeybreadsoftware.de/realbasic/events/

MBS Real Studio Plugins, version 12.2pr3

New in this prerelease of the 12.2 plugins:
  • Added CGLayerMBS class.
  • Added VLC plugin.
  • Added WinUSBMBS class to talk to WinUSB.dll.
Download: macsw.de/plugin/Prerelease

MBS Filemaker Plugin, version 2.7pr3

New in this prerelease of the 2.7 plugins:
  • Added WebPolicyDelegate functions to decide which files should be downloaded.
  • Added WebDownloadDelegate functions so you can get downloads from WebViewer on Mac.
Download at monkeybreadsoftware.de/filemaker/files/Prerelease/

Happy Easter 2012!

Michael visited the easter bunnies while we were shopping for a little present for mum:


Wir wünschen frohe Ostern

Happy Easter - Buona Pasqua - Feliz Pascua - Joyeuses Pâques

Real World Session Schedule

The session schedule has been posted: Agenda Schedule.
Beside the schedule you can also check the hotel floor plan.
You can also view a video about the hotel here: dare2scan.com/royal/

Beside the great hotel, the parks and entertainment in Orlando, you have the chance to meet a hundred Real Studio developers in once place.

More information and registration.

VLC Plugin coming

Our VLC plugin will be available soon with the next prerelease.
I updated it to VLC 2.0.1 and improved examples.
Also we are preparing some documentation for it.
Should be a nice easter present for Real Studio users :-)

First version will simply give you access to the VLC API. You can play video with it and it's working nice on Mac and Windows. Linux probably, too, but I didn't try so far. Later we may add more convenience functions and maybe a video player control instead of using a Canvas.

Listbox Cell Background Paint Example

As I just had a client asking for an example with Listbox's CellBackgroundPaint event. You can use this event to draw pictures in background as well as in each cell, like on this picture:

In order to draw a full picture in the listbox, simply draw portions of it in different cells.
And to draw custom picture in one cell or color background, simply use graphics class commands to do so in the same event. This is very powerful. You can color cells and draw them with round edges or other fancy things to give them a very unique look.
Download project here: ListboxCellBackgroundPaintExample.zip

SolarUG

Check out the video of the last meeting of the South of Los Angeles Real User Group.
It's really nice and even I see a few things I didn't know about!
Get the video on the previous meetings page.

Filemaker 12

This morning Filemaker 12 was released. A little surprise. Didn't expect it by now. But well, the plugin seems to work fine. This new version adds better Drag & Drop on Mac, so you won't need our plugin for accepting file drops on a media field. But still you can use our plugins if you want to accept drops with emails, text, url or image data. All the things that are not files.

On the server, they move to 64 bit and we'll have to rework the plugin to support that new 64 bit mode. I'll have to wait for details on this from Filemaker.

So far our WebViewer, Dialog, CURL, GraphicsMagick and other plugin functions seem to work just fine. I tested more than 50 examples so far.

What doesn't work, seems to be the function to hide scrollbars on a Filemaker window. But maybe with new functions of formatting windows, this is no longer needed?

If you see a problem with current plugins, please email us. We'll test more and probably make the 2.7 plugin release with all changes for Filemaker 12 ready in the next weeks.

MBS Filemaker Plugin, version 2.7pr2

New in this prerelease of the 2.7 plugins:
  • Added FileDialog functions.
  • Added Preferences.SetValue and Preferences.SetValue functions.
  • Added Files.DirectoryExists, Files.FileExists and Files.ItemExists functions.
  • Added PDFKit.Watermark function.
  • Fixed GraphicsMagick functions to no longer crash if you call them with Destroyed image reference.
  • Improved Drag and Drop. You can now specify email and receive email drags from Apple Mail.
  • Added CoreLocation functions to query location of a Mac.
  • Implemented Path.NativePathToFilemakerPath and Path.FilemakerPathToNativePath for Windows.
Download at monkeybreadsoftware.de/filemaker/files/Prerelease/

Real World 2012 next month


Real World 2012, the Real Studio User's Conference
Real World, which will take place next month, is the biggest Real Studio event of the year! At the 2012 event you can attend informative educational sessions, network with your peers and gain industry insight all while enjoying the magic of Disney. Real World will take place May 24-25, 2012 in Orlando, Florida, one of the top recreational and conference destinations in the world! Real World will be hosted at the Royal Plaza, which boasts excellent amenities, including a beautiful pool area with poolside bar, spa, restaurant and lounge, and is conveniently located on the Walt Disney World property and is walking distance from Downtown Disney. Hotel rooms for Real World attendees will be charged at a negotiated rate of 99USD per night!

We already have over 85 people signed up from 13 countries, so reserve your spot today! Register now!




Wednesday, May 23rd
  • 7 PM - Meet & Greet in The Giraffe Lounge
  • 7 PM - Early Conference Registration
Thursday, May 24th
  • 8 - 9 AM - Registration and Breakfast
  • 9 - 12 PM - Keynote and General Session
  • 12 - 1 PM - Lunch
  • 1 - 6 PM - Educational Sessions
  • 7 PM - Evening Dinner Event, Fulton's Downtown Disney
Friday, May 25th
  • 8 - 9 AM - Registration and Breakfast
  • 9 - 12 PM - Educational Sessions
  • 12 - 1 PM - Lunch
  • 1 - 4 PM - Educational Sessions
  • 4 - 5 PM - Q&A and Feedback Session
Learn more.

This conference will be jam-packed with important information about Real Studio and unique opportunities to network with your peers. At Real World you will have the opportunity to chat one-on-one with Real Studio engineers and put a face with a name you know from the NUG or Forums. You can also stop by our third party table and hear about what's new from our featured third party developers!

We would like to thank the Real World 2012 Sponsors:



Next Filemaker meetings

in Koblenz / Germany: 5th April 2012 in Weinhaus Hubertus
in Bern / Swiss: 12th April 2012 in Beaulieu. see also website

See you there!

MBS Real Studio Plugins, version 12.2pr2

New in this prerelease of the 12.2 plugins:
  • Added Ptr*ToPictureMBS functions in addition to existing functions for memoryblocks.
  • Added CalCalendarItemMBS Show method.
  • Updated DynaPDF to version 3.0.15.35.
  • Fixed Folderitem.FoldersMBS and other functions there to not forget one item.
Download: macsw.de/plugin/Prerelease

Back & Birthday

We are back from London. Had a great time! Thanks for everyone who came to our event.

Our company turns 12 years old today. Maybe we should celebrate? I could imaging making a MBS Barbecue day in summer...

Also on wednesday, we may choose to not work due me having birthday :-)

Archives

Mar 2024
Feb 2024
Jan 2024
Dec 2023
Nov 2023
Oct 2023
Sep 2023
Aug 2023
Jul 2023
Jun 2023
May 2023
Apr 2023
Mar 2023
Feb 2023
Jan 2023
Dec 2022
Nov 2022
Oct 2022
Sep 2022
Aug 2022
Jul 2022
Jun 2022
May 2022
Apr 2022
Mar 2022
Feb 2022
Jan 2022
Dec 2021
Nov 2021
Oct 2021
Sep 2021
Aug 2021
Jul 2021
Jun 2021
May 2021
Apr 2021
Mar 2021
Feb 2021
Jan 2021
Dec 2020
Nov 2020
Oct 2020
Sep 2020
Aug 2020
Jul 2020
Jun 2020
May 2020
Apr 2020
Mar 2020
Feb 2020
Jan 2020
Dec 2019
Nov 2019
Oct 2019
Sep 2019
Aug 2019
Jul 2019
Jun 2019
May 2019
Apr 2019
Mar 2019
Feb 2019
Jan 2019
Dec 2018
Nov 2018
Oct 2018
Sep 2018
Aug 2018
Jul 2018
Jun 2018
May 2018
Apr 2018
Mar 2018
Feb 2018
Jan 2018
Dec 2017
Nov 2017
Oct 2017
Sep 2017
Aug 2017
Jul 2017
Jun 2017
May 2017
Apr 2017
Mar 2017
Feb 2017
Jan 2017
Dec 2016
Nov 2016
Oct 2016
Sep 2016
Aug 2016
Jul 2016
Jun 2016
May 2016
Apr 2016
Mar 2016
Feb 2016
Jan 2016
Dec 2015
Nov 2015
Oct 2015
Sep 2015
Aug 2015
Jul 2015
Jun 2015
May 2015
Apr 2015
Mar 2015
Feb 2015
Jan 2015
Dec 2014
Nov 2014
Oct 2014
Sep 2014
Aug 2014
Jul 2014
Jun 2014
May 2014
Apr 2014
Mar 2014
Feb 2014
Jan 2014
Dec 2013
Nov 2013
Oct 2013
Sep 2013
Aug 2013
Jul 2013
Jun 2013
May 2013
Apr 2013
Mar 2013
Feb 2013
Jan 2013
Dec 2012
Nov 2012
Oct 2012
Sep 2012
Aug 2012
Jul 2012
Jun 2012
May 2012
Apr 2012
Mar 2012
Feb 2012
Jan 2012
Dec 2011
Nov 2011
Oct 2011
Sep 2011
Aug 2011
Jul 2011
Jun 2011
May 2011
Apr 2011
Mar 2011
Feb 2011
Jan 2011
Dec 2010
Nov 2010
Oct 2010
Sep 2010
Aug 2010
Jul 2010
Jun 2010
May 2010
Apr 2010
Mar 2010
Feb 2010
Jan 2010
Dec 2009
Nov 2009
Oct 2009
Sep 2009
Aug 2009
Jul 2009
Apr 2009
Mar 2009
Feb 2009
Dec 2008
Nov 2008
Oct 2008
Aug 2008
May 2008
Apr 2008
Mar 2008
Feb 2008