|
Monday, July 21, 2008
The fifth (and likely the final beta) build release (version 0.9.360) is now available for download. This release contains mostly bug fixes and a few enhancements.
- Added support for Flickr media storage (image upload).
- HTTP Proxy support. See Tools -> Preferences -> General -> Proxy.
Note that the current implementation does not support Google ClientLogin (i.e. Blogger.com and Picasa). Updated July 24, 2008 - Version 0.9.363 supports Google ClientLogin via HTTP Proxy - please see this forum post.
- When image files are dropped into the editor, a dialog box is shown to allow you to choose the thumbnail size settings.
- Width and height attributes of <img> tags are automatically generated if they are not set (images without these attributes do not work on WordPress.com hosted site).
- The <img> tag ALT attribute is now automatically set (derived from the filename) when you drag and drop an image into the editor.
- When you drop attachments/files into the editor, the <a> tag TITLE attribute will be set with the file name and file size.
- The Src input field in the Image Properties dialog now supports paths that start with underscores as well as UNC paths.
- The XML-RPC layers uses local Date Time format (instead of UTC) for TextPattern. This is a work around until TextPattern's XML-RPC layer plugin supports UTC.
- The src attribute in <img> elements for Picasa urls contain the imgmax parameter. This parameter is now also applied to href attributes in <a> elements. E.g. link from a thumbnail image to larger image. (If the imgmax parameter is not added on to the URL, then Picasa server returns the large images as attachments which forces the browser to prompt the "Open With" or "Save As" dialog.)
- WordPress specific:
-
- When you remove existing tags for a post and update the post, the tags are removed from the WP entry.
- You can now set WP per-post password.
- You can now change the WP post status such as Pending, Private etc.
WordPress 2.6 users should enable Remote Publishing on the WP server.
As usual, many thanks goes to all our users for taking the time to send us feedback as well as bug reports. Labels: beta, download, portable, raven, raven2go, releaseNotes
Sunday, July 20, 2008
Raven and most other desktop clients use the XML-RPC api on WordPress in order to publish posts as well as to download posts. The XML-RPC api is normally shipped enabled with WordPress version upto version 2.5.x.
Beginning with WordPress 2.6, the XML-RPC api is disabled by default. To use Raven with WordPress 2.6+, you must enable XML-RPC Remote Publishing via WP Administration Console.
- Login to WordPress 2.6 Administration Console and goto Settings -> Writing.
- Check the "XML-RPC" checkbox found under the Remote Publishing section. (see screen shot below).

You can find more information on this issue via RedSweater and the original WordPress Trac Ticket. Labels: development, raven, wordpress, xml-rpc
As you know, Raven allows you to set the post date-time stamp to a future date time. In in previous versions, when you post an entry with a future date-time, the blog post URL (link location) is available (to Raven) as soon as you post it. Having the blog post URL is very useful - especially, if you want to view the post online, or refer to it (i.e. link to it) with in Raven in another post.
Recently, I noticed that Blogger no-longer returns the blog post URL if the post date-time is set for a future date (or if your PC clock date-time is faster than that of Blogger servers date-time).
According to Google's Blogger developers, this is "as designed" - i.e the post URL is not returned for posts with future date-time stamps. We do not agree with this design, but it is their design.
What we have done as a work around (with build 336), is that Raven will attempt to 'refetch' the blog post URL the next time you run "Download Recent Posts". Even in this case, the URL is available only if the blog posts' date-time is either 'now' or in the past - relative to the time you ran "Download Recent Posts". Labels: blogger, development, issues, raven
Friday, May 16, 2008
A forum user recently suggested that a nice feature to add to Raven would be a slick screenshot tool akin to what can be found in OneNote. Apparently they have a cool feature where you can take a screen capture of only a specific part of the screen (by specifying a rectangle using a screen capture tool). Once taken, the screen capture is then injected into OneNote.
This made me realize that, while we could implement such a feature, we should be able to come up with a decent workflow to take screen captures with the current Raven build. Raven has the ability to paste an image that is on the clipboard directly into the blog post. For example, you can do the following:
- Open Raven
- Create a new Post or edit an existing one
- On the keyboard, hit Alt-PrtScrn (the Print Screen key)
- This will take a screen capture of just the current window (not the whole screen)
- Back in the Raven Editor, paste (Ctrl-V)
I'll try this now, and insert the resulting screen capture...

Of course, after I pasted the image into my blog post, I then created a thumbnail of it. But you get the idea.
The part we're still missing is the ability to capture only certain parts of the screen by specifying a rectangle. To enable that behavior, I think another tool is required. On the forum, it was suggested that Snagit could fulfill this role, although I have not used it myself. Suffice it to say, there must be a handful of utilities out there that one could use to take partial screen captures. Once the capture is taken, and the image is on the clipboard, Raven will let you paste it right into the Editor. Done and done. Labels: how-to, raven, zoundry
Wednesday, April 23, 2008
Our fourth public beta build release (version 0.9.284) is now available for download. This build has most of the defects that were submitted during the last beta period fixed as well as the following enhancements and features:
- Designer
-
- You can now select multiple paragraphs and press the bullet button to get multiple bullets.
- Added a toolbar button for the <blockquote> (the indent button still inserts a <blockquote> tag).
- Toolbar buttons to insert html tags such as <H1>, <H2>, <code> etc. Read more.
- XHTML Editor - lot of enhancements on this editor. See this post for more details.
-
- The current row and column position is now displayed in the status bar.
- Find and Replace functionality.
- Paste as XHTML.
- Toolbar button implementations for bold, italic and underline text formatting.
- XHTML schema and CSS valid code completion and call tips.
- XHTML validation.
- Clean up and W3C Tidy.
- Templates
-
- Javascript in the Preview page is now disabled.
- Added BaseHref support when downloading Blog Templates.
- Publishing
-
- You now have the option to remove newlines when publishing your posts. For those of you who use Blogger.com and have enabled their "Convert Line Breaks" option should check the "Remove Newlines" check box. This check box is available in the Account and Blog preferences UI. This option removes newlines (so that Blogger will not convert those to additional <br/> tags). Newlines in <pre> and <javascript> tags are not removed to observe the xml:space="preserve" option.
- XML namespace prefixes (e.g. xml:space="preserve") are removed during publishing. This is mainly to avoid support some WordPress plug-ins that are not XML aware.
- XML-RPC based file uploads for WP now also send the file MIME content-type. The content-type is needed by WordPress 2.5 to display thumbnails in its Media Library. Thanks to Kirk M. to reporting this defect (among others) and allowing us to use a test server hosted on his machine.
- Raven To Go (Portable Version) - When you drag and drop (or link to) image or files from the host machine's hard drive, these resources will be copied to the portable thumb drive when you save your post. Note that this process may take a few seconds (for moderate size resources) since the files need to be copied to a slower device (e.g thumb drive).
- Application UI
-
- You can now delete only the local copy of a blog post without deleting it from the server.
- Raven now remembers if the main app window was maximized, so it will start up maximized if it was maximized when it was shut down.
- Added "Collapse All" button to the Account Navigator - this button will collapse all of the nodes in the tree.
- Account Navigator now remembers which node was selected when Raven was closed.
- Pressing the "Dashboard" button in the Account Navigator will now deselect any node that was previously selected.
- Partial translation language bundles for Spanish (es_MX, about 60% done) and Chinese (zh_CN, about 25% done). Many thanks to Fëaluin (es_MX) and MaoMen (zh_CN) for getting the translations started. We also want to mention that Marcos Silva was one of the early testers to start on a Portuguese (Brazilian) translation, but unfortunately, most of the work he did was lost due to a defect in out translator tool.
- Framework - major changes to underlying background task support:
-
- Improved synchronization to avoid errors, stack traces.
- Background Task window should now update properly in all cases.
- Standard Perspective views have been changed to better handle concurrency (better thread synchronization)
- Added a section in the Main Application Window's status bar to indicate the current background task activity.
- Canceling bg tasks should work better now.
Labels: beta, download, portable, raven, raven2go, releaseNotes
Tuesday, April 8, 2008
A question that we recently had asked on the forums was "How do I backup my Raven profile data?" This particular user was interested in doing this due to a needed re-install of Windows. I think it's a good question in general, so here's how you do it.
Raven stores all user data in your profile. You may have as many profiles as you want, but most users will likely have only one. You use the Zoundry Profile Manager to add, import, create new profiles. For backup purposes, simply backup the entire profile directory (or directories). By default, the profiles are located in your Application Data directory, for example:
C:\Documents and Settings\ZoundryMan\Application Data\Zoundry\Zoundry Raven
Of course, unless you log in as "ZoundryMan", that part of the path will be different (your username). For the record, I don't mind if you use "ZoundryMan" as the username for your computer. :)
If you are using Raven2Go, then your profiles will be in a "profiles" directory within the Zoundry Raven installation directory, for example:
E:\Portable Apps\Zoundry Raven\profiles
When restoring from your backup, all you need to do is copy those profile directories back to your computer. Feel free to put them wherever you want, although in most cases putting them back where they were before is best. Once you have done that (and presumably re-installed Raven) it is a simple matter to add them back in. Run Raven, and choose New in the Profile Manager. You will see the Create New Profile dialog. In that dialog, name your profile whatever you want, and point the path to one of your newly restored profiles.
That's all there is to it. Labels: backup, beta, how-to, raven, zoundry
Thursday, April 3, 2008
Our third public beta build release (version 0.9.250) is now available for download. This build has most of the defects that were submitted during the last beta period fixed as well as the following enhancements and features:
- Translation Tool - made some improvements to the Translation Tool, since some of our translators were experiencing crashes and losing all their data! I can't guarantee that this build fixes the crash problems (we hope so), but we added "journaling" to the UI so we can recover any data lost. If you are translating Raven, and you experience a crash, contact us and we can help you recover anything you may have lost.
- Raven2Go - when you install Raven, you now have the option to install it as a Portable Application.
-
- When you install, you will notice that there is a new installer page. Use it if you want to install to a portable drive (or if you just want us to stay out of your registry).
- If you copy/paste an image (e.g. via Photoshop or Gimp) into Raven, we will create a local image resource in your profile directory.
- If you want to make sure any other images are available wherever you go, you will need to copy them to your portable drive prior to linking to them in your blog post(s). We will be fixing that in a future release.
- Fixed Picasa hot linking issue. Images uploaded to Picasa Web should display correctly. Raven will choose the appropriate image url on Picasa based on your image width and height properties.
- Paste images from Windows clipboard. For example, copy and paste images or a selection within an image from Photoshop, Gimp etc. to Raven.
- Fixed image and link unicode issues. All img src and anchor href values are now in IDNA (Punycode) format. This is mainly to support older browsers such as IE6. The values within the designer (e.g. Image Properties dialog) will still be in unicode.
- Fixed WordPress delete post issue where the post was first deleted directly from WordPress and was not able to remove it from Raven.
- Canceling background tasks (publish, template download, etc) should now work better.
Labels: beta, download, portable, raven, raven2go, releaseNotes
Wednesday, March 19, 2008
The next beta release of Zoundry Raven will support the ability to install as a portable application (e.g. onto a flash or other portable drive). This is a feature that was requested by many users, and I'm happy to say that we have finally finished the initial support for it. In fact, I am composing this post using Raven2Go installed on a Memorex TravelDrive. It's a bit slow when compared to running off a hard drive (obviously) but it works pretty darn well!
The changes to Raven to support Raven2Go are, for the most part, hidden from users. There are a couple of things that I should mention, however. First, there is a new page in the Raven Installer. This custom installer page simply has a checkbox that can be checked if the user wants to install Raven as a portable application. If the checkbox is checked, then no application information will be saved to the registry. In addition, when Raven is run after being installed in this way, it will run in "Portable" mode.
The other relevant change for users when Raven is in "Portable" mode is where profiles are stored by default (and where the profiles.xml registry file is located). When in portable mode, Raven looks for a "profiles" directory in the install location. For instance, if you install Raven2Go to E:\TravelApps\Raven, then the profiles.xml file and the default location for newly created profiles will be E:\TravelApps\Raven\profiles.
Everything else that's different between Raven2Go and Raven is under the covers, so users shouldn't have to worry about it. For the most part, it simply means that where we used to refer to files in your profile using absolute paths, we will now use relative paths. This should allow you to take your portable drive to different machines (where the drive letter might be different) and everything should still work.
One thing to note for existing users - I would recommend doing a clean uninstall/install of Raven2Go if you have previously been using Raven on a portable device. The uninstall step will remove all of the stuff from the registry that Raven put in there (not much, but you clearly don't want it in there). Then the re-install will be clean (little/no registry entries).
Technorati : zoundry raven raven2go portable
Del.icio.us : zoundry raven raven2go portable
Labels: beta, command line options, development, portable, raven, raven2go, zoundry, zoundry raven raven2go portable
Tuesday, February 26, 2008
Well, it's been almost three weeks since we did our first public beta release of Raven. We've been getting a lot of feedback from our users (thanks!) and so far it has been overwhelmingly positive. We have some bugs, and we have a lot of work to do before we can release a 1.0 version, but I think we're off to a good start. I think we're closing in on 1000 users of Raven - we should probably hit that number today or tomorrow, actually. A big thanks to everyone that has downloaded and tried the beta.
Stick with us, Raven will only get better with age!
Technorati : zoundry raven beta
Labels: raven, zoundry
Thursday, November 29, 2007
Alpha version 0.8.154 is ready!
Link: http://www.zoundry.com/raven/builds/zRaven-0.8.154.exe
Release Notes
Enhancements
- All New Template Manager - allows you to add and remove templates and associate them with your blog or account
Bug Fixes
- Fixed a problem with the Spanish (and possibly other languages) dictionary
- Fixed the wrong-timezone problem in the background task dialog
- Fixed tab order in the Edit Table Settings dialog
- Fixed the problem: "'NoneType' object has no attribute 'getAccountId'" when deleting post from Drafts
- Fixed a problem with the icon that shows up in the Windows Task Bar when multiple Raven windows are open and all of those windows are "grouped" together in the task bar
- The title column in the Drafts view is now "Modified" rather than "Published" (since it hasn't been published yet)
- Fixed problem: "Add Template dialog shows warning icon next to FromBlog even is blog is selected"
- Fixed a problem where the Preview tab of the blog post editor would sometimes show the wrong template in the combo (though the template content was right)
- Resolved issue: "Preview Tab sometimes uses the wrong template"
- Fixed problem: "When closing the app, user is prompted to save dirty editors twice"
- Fixed problem: "Editor doesn't update to new templates being added."
Known Bugs
- Standard Perspective - Blog Post preview sometimes steals the focus from other controls
- Templates don't look exactly like they do in the browser. We know why and are working to fix it.
Labels: raven, zoundry
Monday, November 19, 2007
Alpha version 0.8.143 is ready!
Link: http://www.zoundry.com/raven/builds/zRaven-0.8.143.exe
Release Notes
Enhancements
- All New Template Manager - allows you to add and remove templates and associate them with your blog or account
Bug Fixes
- Fixed error: 'local variable 'idx' referenced before assignment' in Links view
Known Bugs
- Standard Perspective - Blog Post preview sometimes steals the focus from other controls
----
Ok guys - we finally have the template manager to a point where we'd like you guys to test it out. It's still not 100% there, and the UI for the manager is a little rought yet, but it should be functional and therefore testable. Please have a go at it and let us know what you think (and if there are any problems).
There are several parts to the new template handling:
1) The template manager dialog - lets you add and remove templates
2) Blog Post Editor - Preview panel now lets you choose between your templates (it pre-selects one when applicable)
3) Standard Perspective - Blog Post Preview should use the right template, where applicable
4) Account/Blog Prefs - there is a new section that will let you change which template is the default to use for a particular account or blog
Please note: templates downloaded using previous builds will no longer work. I apologize for this - I just didn't do it right the first time around.
From now until we release into beta, we will be focusing on bug fixes. There won't be any new features until we are in beta. Labels: editor, raven, templates, zoundry
Friday, November 2, 2007
Alpha version 0.8.134 is ready!
Link: http://www.zoundry.com/raven/builds/zRaven-0.8.134.exe
Release Notes
Enhancements
- None (but we're working on better Blog Template Management, hopefully next build)
Bug Fixes
- Fixed a problem where the editor loses focus and selection information when switching to other apps and back
- HTML table columns can now be deleted more easily (the entire column will be deleted properly)
- The editor's Save button will now become active when table changes are made
- The 'insert table' button will now insert a table
- Fixed a problem with images not centering properly in Firefox
- Fixed a problem with the pre-publish validation dialog that would sometimes cause a stack trace
- Fixed a problem where switching from one tab to another could cause a stack trace: 'This command is not supported'
- Fixed a possible stack trace in the HTML Table dialog: "invalid literal for int()"
- Fixed a possible stack trace when closing a tab in the Editor: "The C++ part of the ZMSHTMLBlogPostEditControl object has been deleted, attribute access no longer allowed."
Known Bugs
- Standard Perspective - Blog Post preview sometimes steals the focus from other controls
Labels: raven, zoundry
Friday, October 26, 2007
Alpha version 0.8.128 is ready!
Link: http://www.zoundry.com/raven/builds/zRaven-0.8.128.exe
Release Notes
Enhancements
- Added support for LJ file upload
- Better prompting for deleting of blog posts: if the post is local-only vs. published to only 1 blog vs. published to multiple blogs
- When creating a new profile, you can now import your settings from Windows Live Writer
- Implemented Download toolbar button (no longer get stack trace)
- Implemented Indent editor toolbar button (no longer get a stack trace)
- Added HTML Table support in editor
- On startup, auto-detect the presence of Zoundry Blog Writer and prompt for import
- On startup, auto-detect the presence of Windows Live Writer and prompt for import
- Picasa WebAlbums image upload support (media storage type)
- LJ Scrapbook image upload support (media storage type)
Bug Fixes
- Save button not becoming active in the editor when changes are made
- Downloading posts in LJ - no longer capped at 20 posts
- When changing font attributes, only those that were changed are updated
- When adding a hyperlink, the focus now gets put AFTER the http://
- When Pasting HTML with IMG tags, bogus width and height attributes are no longer added
- Del key now works to delete a post (standard perspective)
- Filter by time (Today, Yesterday) works properly now (had timezone issues before)
- Fixed local images in Standard Perspective - they now work and display properly
- Feedback dialog now remembers your email address if you enter one (it's still optional)
- bandersnatch42vt's blog post download now works (this was an XML entity issue - xhtml was not well formed)
- Some plain text documents were not getting converted to xhtml correctly
- Better cancelling during blog posting
- Validate blog post when publishing (check for missing resources, etc...)
- Drag and Drop improvements: when you drag over the editor, the editor window will come to the front and there is now some caret movement as you drag around the editor (feedback)
Known Bugs
- Standard Perspective - Blog Post preview sometimes steals the focus from other controls Labels: raven, zoundry
Thursday, October 4, 2007
Alpha version 0.8.113 is ready!
Link: http://www.zoundry.com/raven/builds/zRaven-0.8.113.exe
Release Notes
Enhancements
- When creating a new media storage, it will now be automatically associated with any blogs that are not already mapped to a storage.
- Added a right-click context menu item for "Image Properties" when right-clicking on an image in the editor.
- Added double-click support for images in the editor - double clicking an image will now open the Image Properties dialog.
- Importing Zoundry Blog Writer 1.0 profiles into Raven will now import the user's personal dictionary (currently only works for US English).
- Added some meta data to the index (last 'synch' time) which allows us to figure out if a blog post is dirty - so now in the Blog Posts List View, you will see a different icon for blog posts that are dirty (only applicable to published content, obviously).
- Implemented the "View (online)" toolbar button in the editor.
- Modified how the main window's views' drop shadows were being drawn to make them faster and less prone to paint problems.
- Implemented Insert Image Tag in the editor (toolbar item).
- Find/Replace dialog now remembers the recent searches.
- Added a shortcut key (Alt-T) that will position the cursor in the editor's "Title" field.
- Better initial focus when an editor opens - focus is now put in the Title if the post doesn't already have one (new posts, typically) otherwise it is put in the content.
- Added a Feedback dialog - go to Help->Feedback to either 1) report a bug, 2) request an enhancement, or 3) tell us how awesome we are.
- Added "New Blog Post" option in the Tray Icon's right-click context menu.
- If you only have a single Blog, the editor will now always pre-populate the blog selection for you, rather than leaving it blank and making you select it each time.
- Implemented crash-recovery support. Snapshots of your content are now taken every minute as long as you have a dirty editor open. Then, if the application crashes or is terminated, those snapshots can be recovered on the next startup of the app.
- Included a new program/application icon for Raven.
- Implemented the Font Options toolbar item in the editor.
- Re-ordered publishing tabs so that Categories (the most frequently used one) is shown first.
Bug Fixes
- When a blog post is deleted, the toolbar no longer remembers it - a new post is selected, if there is one, otherwise an empty selection is made.
- Drag and Drop an image from a web browse should now be working better. There may still be some lingering width/height problems.
- Publishing a document using the Publish toolbar item in the main application window (not the editor) now works properly in all cases (there was a problem where old content would get remembered and published, whacking new edits).
- Removed the "Test Settings" option from certain types of media storage (such as Image Shack) since some storage types don't support delete.
- Editor toolbar now properly refreshes when content is saved (e.g. the 'View online' button will now become active automatically when a blog post is published).
- Fixed a problem with image sizes not being updated properly when (re)thumbnailing.
- Fixed a problem with a border getting added to an image incorrectly when modifying image properties.
- Fixed a problem where restoration of dialog settings (size and position) could sometimes cause a dialog to be positioned off-screen.
- When the cursor is in the Tagwords field, hitting Tab will now move the focus to the content.
Known Bugs
- Standard Perspective - Blog Post preview sometimes steals the focus from other controls
Labels: raven, zoundry
Monday, August 27, 2007
Zoundry Raven Alpha version 0.8.88 is now ready:
http://www.zoundry.com/raven/builds/zRaven-0.8.88.exe
Give it a try and let us know what you think. Any and all feedback is welcome.
Release Notes
Enhancements
- Added spell-check UI (simple/standard spell-check dialog)
- Added find/replace UI support (basic dialog)
- Added an editor toolbar button for "Extended Entry" marker
- Added a right-click context menu that appears when right-clicking on an image in the editor
- Context menu item for copy link/copy image location in UI
- Context menu option for removing TextMore marker
- Download main toolbar button is now a drop-down, offering various download options
- Created a new Progress Dialog that is shown when publishing/downloading tasks
- Added new main toolbar button: "View (on-line)" that is enabled for Blogs and Documents
- Added new main toolbar button: "Add Blog Account"
- Added new main toolbar button: "Add Media Storage"
- UI now supports publishing to multiple blogs! (well, up to 3).
Bug Fixes
- Fixed a problem downloading templates for Typepad blogs
- Editor toolbar buttons (cut, paste, undo, etc) are now disabled when in preview tab
- Fixed a unicode error that was happening when publishing to Blogger
- Main toolbar buttons now become active when selecting a Post in the "Where Found" list
- Temp files are now cleaned up when the app starts
Other
- Renamed "Media Store" to "Media Storage" to avoid confusion
Labels: editor, media store, multiple blogs, raven, toolbar, zoundry
Thursday, July 19, 2007
Well, this post finally represents the first time I've updated this blog using the new Zoundry Raven product. It's been a long road, but I'm hopeful that it is worth it. Shortly we will be releasing an alpha version of the product to our forums. My hope is that we can get some good feedback from a small set of users so that we can better tailor the product to the needs of our users.
Thanks to everyone for being patient. I know it's hard waiting, but we're really trying to create something that can act as a foundation for a really solid, advanced blog editor/manager.
This is by no means the end of this blog. We still have a lot of neat ideas that I want to share. And even though I don't update the blog as often as I should, it is still a good avenue for getting out information about the product.
And it's a good way to eat our own dog food. Labels: raven, zoundry
Tuesday, March 13, 2007
Today I have a couple of screenshots that I would like to show. My intention was to write up just a quick post about a new UI feature that is minor but often requested. Just to show you that we really do value our user feedback, the screenshot to the right shows off two things. First of all, it shows a still early capture of the new blog post editor. We're not done with it yet, but hopefully you will agree that it's looking good. Secondly, two more screenshots below show how the toolbars in Raven can be easily customized. Many of our users have complained that our toolbars are too small, particularly in the editor. To address this, we have made it so the user can easily change the size of the toolbars. To do this, simply right-click on the toolbar and choose from the handy context menu. Note that this also reinforces something I talked about in an earlier post: simplifying the UI by relying more on context. In this case, rather than clutter the UI with a variety of menu items in the main menu or user preferences, the user's toolbar size preference is decided via a context menu on the toolbar itself.
Screenshot of the toolbar menu:
How the toolbar looks after choosing "32x32" and "Show Text":

Technorati : raven, toolbar, zoundry Del.icio.us : raven, toolbar, zoundry Ice Rocket : raven, toolbar, zoundry Flickr : raven, toolbar, zoundry Zooomr : raven, toolbar, zoundry Buzznet : raven, toolbar, zoundry Riya : raven, toolbar, zoundry 43 Things : raven, toolbar, zoundry
Labels: editor, raven, toolbar, zoundry
Monday, March 5, 2007
One of the limitations in the Blog Writer is that only one Media Repository can be configured. The application does allow the user to associated a new Account with either the configured Media Repository or the built-in uploading capabilities of the given Account (if supported by the blog platform). However, it was always our intention to provide a way to configure multiple instance of media repositories (of different types) and allow the user to associate different media repositories with different blogs and/or blog accounts. In Zoundry Raven, we have done exactly that, and it is the topic of today's post.
Zoundry Raven allows the user to create and manage multiple media repositories (media stores) using the Media Store Manager. This manager is simply a dialog that allows the user to add, edit, and remove media stores. There will be a variety of types of media stores, such as FTP, Flickr, ImageShack, etc... (more on that later) Once a media store is created, it can be associated with a Blog Account or a Blog. A media store can be associated with a Blog Account during creation of a Blog Account, or later when editing the account's settings. In addition, for more granular control, a media store can be associated with an individual Blog. This way, different blogs, even if they are within the same Account, can use different media stores.

When creating a new media store, the New Media Store Wizard is used. This wizard walks the user through the process of creating a new store. It first asks the user to choose a type of media store (and store name). After that, the wizard asks the user to fill in the information needed by the store, such as username/password. This information is type specific, so page two of the wizard will be different depending on the store type chosen. The media store type might be Custom FTP, or it might be a more specific value, such as Ripway FTP. The more specific types are simply there to pre-populate the necessary fields when creating the store. For instance, Ripway FTP and Custom FTP are the essentially the same, except that page two of the wizard will have some values already filled in, such as 'host' and 'url'.
Finally, I want to explain a little bit about the store types and where the application gets that list from. As I mentioned, we are using the extensibility features of Raven in order to make the media stores highly pluggable. Here's how it works. There are two extension points exposed by Raven that plugins can contribute to. The first is the 'zoundry.blogapp.mediastore.type' extension point. This extension point allows plugins to contribute new media store types to the application. Media store types would be things like FTP, WebDAV, Flickr, etc. For the most part, there would be a single media store type contributed for each protocol/API that might be used to upload images to a remote site. Here is an example of the FTP media store type that will ship with Raven.
<zoundry-extension point="zoundry.blogapp.mediastore.type">
<id>zoundry.blogapp.mediastore.type.ftp</id>
<class>zoundry.blogapp.services.mediastore.providers.ftpprovider.ZFTPMediaStoreProvider</class>
<extension-data>
<media-store-type>
<icon>icons/types/ftp.png</icon>
<properties>
<property name="host">
<display-name>Host</display-name>
<tooltip>The FTP host. (Example: ftp.myftphost.com)</tooltip>
<validation-regexp>.+</validation-regexp>
<validation-error-message>A value for 'host' is required.</validation-error-message>
</property>
<property name="port">
<display-name>Port</display-name>
<default-value>21</default-value>
<tooltip>The FTP Port (Example: 21)</tooltip>
<validation-regexp>\d+</validation-regexp>
<validation-error-message>A value for 'port' is required (and must be a number).</validation-error-message>
</property>
<property name="username">
<display-name>Username</display-name>
<tooltip>Your FTP username.</tooltip>
<validation-regexp>.+</validation-regexp>
<validation-error-message>A value for 'username' is required.</validation-error-message>
</property>
<property name="password">
<display-name>Password</display-name>
<tooltip>Your FTP password.</tooltip>
<type>password</type>
</property>
<property name="path">
<display-name>FTP Path</display-name>
<tooltip>Path on the remote FTP server. (Example: /mypix)</tooltip>
<default-value>/</default-value>
</property>
<property name="url">
<display-name>URL</display-name>
<tooltip>URL used to retrieve uploaded files. (Example: http://www.myftphost.com/myusername/mypix/)</tooltip>
<validation-regexp>(.+):.+</validation-regexp>
<validation-error-message>A valid 'url' is required.</validation-error-message>
</property>
<property name="passive">
<display-name>Use 'passive' FTP</display-name>
<tooltip>Active/Passive FTP mode. (If your settings do not work, try changing the value of 'passive')</tooltip>
<type>checkbox</type>
<default-value>false</default-value>
</property>
</properties>
<capabilities>
<capability enabled="true" id="zoundry.raven.capability.mediastore.supports-delete"/>
<capability enabled="true" id="zoundry.raven.capability.mediastore.supports-file-list"/>
</capabilities>
</media-store-type>
</extension-data>
</zoundry-extension>
Now, media store types are never visible to the user. There is another extension point that is exposed by Raven that is called 'zoundry.blogapp.mediastore.site'. A media store "site" essentially represents a real upload site, such as Ripway or Flickr. Each site refers to a media store type, which it uses to do the actual upload. The site is really just meta data that refines the a store type, making it more specific to an actual real destination. Note that in some cases, there will be a one-to-one relationship between a media store type and a media site. This is generally only the case for sites with their own custom APIs, such as Flickr. In many other cases, such as FTP, there will be a one-to-many relationship between the store type and multiple sites. Here is a quick example of a media store site contribution (in this case, Ripway FTP).
<zoundry-extension point="zoundry.blogapp.mediastore.site">
<id>zoundry.blogapp.mediastore.site.ripway</id>
<class/>
<extension-data>
<media-site>
<media-store-type-id>zoundry.blogapp.mediastore.type.ftp</media-store-type-id>
<display-name>Ripway FTP</display-name>
<icon>icons/sites/ripway.png</icon>
<properties>
<property name="host">
<default-value>ftphost.ripway.com</default-value>
</property>
<property name="url">
<default-value>http://h1.ripway.com/USERNAME/</default-value>
</property>
<property name="passive">
<default-value>true</default-value>
<hidden>true</hidden>
</property>
</properties>
</media-site>
</extension-data>
</zoundry-extension>
The result of all of this complexity is that it is very easy to add new store types and new sites. In fact, third parties could very easily contribute new media store sites without doing any actual coding, as long as those third parties support an API that is already contributed (via a media store type). So if an image host wanted to show up in the list of choices in the New Media Store Wizard, and that image host supports FTP, then they could create a plugin that simply contributed a new media site to the application, much like the Ripway example above.
Technorati : media store, raven, zoundry Del.icio.us : media store, raven, zoundry Ice Rocket : media store, raven, zoundry Flickr : media store, raven, zoundry Zooomr : media store, raven, zoundry Buzznet : media store, raven, zoundry Riya : media store, raven, zoundry 43 Things : media store, raven, zoundry
Labels: extensions, media store, raven, zoundry
Friday, February 9, 2007
One of the challenges we face when designing Raven is how we satisfactorily handle posting to multiple blogs. One of the features of Raven (and Zoundry Blog Writer as well) is the ability to publish the same blog entry to multiple blogs. Our internal data model supports this, but we have struggled to come up with a user interface design that really works. At the same time, we recognize that most of our users will never use this feature. So the challenge becomes designing a user interface that elegantly allows the user to publish to multiple blogs, but doesn't clutter up the interface when not being used.
With Zoundry Raven I think we have started to make some good strides in this direction. When a blog post is being composed, Raven allows the user to configure the publishing settings. The idea is to treat the publishing settings as more tightly coupled with the blog post than it was in Zoundry Blog Writer 1.0. The internal data model hasn't really changed much, only the user interface. I think some screen shots are in order.
First, the user must choose a blog. The combo box that pops up makes it easy to find the blog in question. It even includes filtering capabilities for those users with a lot of blogs/accounts (again, we are trying to build a UI that works for light users and power users). Once the blog is selected, the user can configure the publishing meta data by clicking on the associated "Configure..." drop-down. What this screen shot does not show, but I think you can easily imagine, is what happens when the user wants to publish to multiple blogs. We will be adding some sort of little + or "more" button that will add an additional blog drop down. The user will be able to add as many blogs as necessary.
For each blog selected, the user must configure the publishing information. As mentioned, this is done by clicking the "Configure..." drop-down associated with each Blog drop-down. The "Configure..." drop-down will let the user configure various publishing meta information, such as the post date, draft, categories, trackbacks, etc. It's still a bit unclear exactly what data will go in here, but I think it gives you a pretty good idea of where we are headed. Publishing meta information can actually get pretty complex, but I think this is a pretty decent way of getting all of that information out of the way. The idea being that, when editing a blog post, the user is primarily concerned with editing the actual content. To that end, we have tried to minimize the vertical space take up by the blog post's meta data (blogs, title, tagwords, etc).
There are a couple other things to note. First, when authoring a new post, the default settings for the publishing information will be inherited based on account and/or blog specific settings. For instance, the user will be able to set a default value for the "Upload only thumbnail images" option which can be configured at the Blog level or at the Account level. That way, frequent publishing options can be configured once rather than having to specify them for each new post.
Second, any changes made to publishing options will be saved with the blog post even if the post is not yet published. It would really be a pain if that information was lost just because the user wanted to work on the post later.
If anyone has any thoughts on what other ways we could improve the UI, we are more than happy to hear from you. Just comment here on the blog or post to the forum.
Technorati : blog editor, raven, zoundry Del.icio.us : blog editor, raven, zoundry Ice Rocket : blog editor, raven, zoundry
Labels: editor, multiple blogs, raven, zoundry
|
|