ecto3 alpha
It's here and it's a free upgrade! Let's start with the disclaimers first:
- This release of ecto3 is an alpha-release. In other words, it has bugs and it has missing features that will be incorporated in later versions, including:
- AppleScript
- Automator actions
- Notifications
- Smart quotes
- Support for blog systems using the Blogger API
- del.icio.us support
- Growl hasn't been built in yet
- ecto3 will only work on 10.4 or later.
- ecto3 uses a different data storage structure and formats and does not use any settings from ecto2. This means you can use both ecto2 and ecto3 alongside each other, but it also means that you will have to set up ecto3 from scratch. Once ecto3 is in its final stages, there will be an import function.
- ecto3 is not localized. That will come once it's good enough for a final release.
- ecto3 does not have a built-in Help Book. Writing documentation is as much fun as watching paint dry, so I am delaying it until a final release.
So what does ecto3 offer now in this early alpha phase?
First of all, ecto3 is not ecto2. They do not share any code at all. ecto2 derived from ecto1 which was based on Kung-Log which itself originated from an AppleScript utility. At one point it was just code stacked on other code. It worked great, but wasn't very manageable. So I found it necessary to rewrite ecto3 from the ground up. The added benefit is that I was able to fully use 10.4-only goodies.
One of the biggest changes is that ecto3 has a new rich text editor, one that is based on Apple's very own Editable WebKit. It allowed me to do the nested list above. It does the job far better than ecto2, but it's not perfect yet. More than 3500 lines of code interface between the GUI editor and WebKit to make it work for blogging. There is also a bunch of JavaScript code helping out where WebKit sputters.
The architecture of ecto3 is plugin-based. Almost everything that can be powered by a plugin is a plugin. Blog-system support, add-ons such as Amazon, formatters such as Markdown, bookmarkers (forthcoming) and uploaders (forthcoming). The advantage is that anyone can write a plugin to enhance ecto, or to customize a blog-system plugin. I will be releasing sample plugins with documentation for anyone interested in playing with ecto3's plugin support.
I have not yet written blog system plugins for every blog system imaginable. So far, ecto3 has support for MovableType, WordPress and Blogger. There's a custom version of the MovableType plugin for Conversant, a Vox plugin is on the way, as well as a plugin that will use the old Blogger API for some of the blog systems around that haven't gone with the times. This basically means that people using MovableType, WordPress or Blogger are the best candidates for playing with this alpha version, for now.
If you want to try out the alpha, here's the download link:
http://infinite-sushi.com/ecto.zip
Once you have it, just let ecto update itself with each new version. A few directions:
Once you set up your blog via the Account Manager, hit "Settings…" from the Weblog menu to configure a variety of options, including editor and publishing defaults. A few more general preferences are under the ecto menu. You will need to reinstall the bookmarklet and/or set ecto3 up as blog editor in your favorite newsreader again, since it has a different application ID from ecto2.
Note the Extra menu, which contains any add-ons. The Scripts menu has gone and any scripts are now handled by the Scripts add-on that you can find under the Extra menu. Scripts go in ~/Library/Application Support/ecto3/scripts/ and are loaded at startup. Supported script languages are Perl (.pl), PHP (.php), Python (.py), Ruby (.rb), AppleScript (.scpt), JavaScript (.js) and shell scripts (.sh). Both AppleScript and JavaScript scripts need a 'main' routine. Here's a simple JavaScript sample:
function main(str) { return str + "\n\nHello!"; }
Or some silly Bash:
#!/bin/bash read -e INPUT echo "You wrote:" echo $INPUT top -l1 | head -n 1 | awk '{print $1,$2}'
For troubleshooting and other issues, please report in the support forum. Please keep in mind that this is not my day job, so I may not be able to respond in a timely manner. When you report an issue, please provide as much information as possible: The exact steps required to produce it, any console logs, both from the system and from ecto's own console log (which logs the communication with your blog system). If there are crash logs, bring them along as well. They usually hide out in ~/Library/Logs/CrashReporter/.
That's it for now. I hope you'll enjoy ecto3 as much as I do.
You may notice that commenting is turned off, which I selfishly did to encourage you to blog and ping Technorati. I work at Technorati and I believe we do a great job tracking conversations in the blogosphere.
Reactions on this post