Plug-in Archiver 1.0.0

...for MissionComputer!

Yes, you read right. Thanks to the API added to MissionComputer at some point (which I requested, incidentally), I have managed to make an alternative version of Plug-in Archiver accessible from the Utilities menu of MC, complete with preferences. Simply select Archive Plug-in from the Utilities menu and the frontmost document will be zipped, binned if necessary. Preferences are available from the Uility Preferences menu beneath Archve Plug-in.

There are a couple of minor quirks, but these are almost entirely irrelevant:
- "Something's happening" window doesn't show up; this is a by-product of the method I used to stream resource forks and is present in the other version of the app.
- Seems to switch back to MC even if it's set to show archived plug-ins (which it does, briefly).

Get it at my new web page. OS X only.

Looks good! From some simple testing, I have a few suggestions to make the process slightly smoother:

It would be a good idea to provide an error message if the user tries to archive an unsaved plug-in, rather than just quitting silently; you might also want to do the same if your utility is invoked without a plug-in open.

Also, if the preferences option ‘Don’t reveal archived files when they are on the desktop’ means what I think it does, it should be disabled when the ‘Reveal archived files in the Finder’ option is not checked. I would probably do this with three radio buttons (reveal always, except when saved to desktop, or never), but that's just a matter of personal style.

Finally, it would make sense to have the programme, if it’s run directly rather than being activated from within MissionComputer, display a message explaining how to install and use it, rather than just giving the ‘Loading failed’ message. There aren't exactly a lot of MissionComputer utilities out there, so people don’t have much experience in installing then. 🙂 Perhaps I’ll integrate such behaviour into the sample code in a future version of the API.

Did you have any trouble getting the MissionComputer API to work for you?

Thanks! I didn't feel like writing out all the possible problems, so I took out the error dialog entirely. The bigger version has excellent error reporting.

The only problem occurred with the MissionComputer creator code constant - RB wasn't interpreting it as Unicode (or perhaps was...either way) and it came out as "mi?ün" instead of "mißn". I fixed the problem with a TEXT resource that still remained from my last attempt, when I also had this problem.

Other than that, the only other problem is that I can't stand capitalization in RB or silly things like "if a is true". But I'm a C-ish programmer at heart. 🙂

It's possible the creator code constant is interpreted as Unicode, before being reencoded as ISO-Latin-1 for a binary match with "mißn" (just check out plst ID 0 in the Nova app) while of course type/creator codes are usually interpreted as MacRoman (the type/creator code is in fact just a 32-bit amount), or some other completely demented thing.

Orca, you should be pleased to know I'm going to add a mention and a link to Plug-in Archiver in the new Plug-in Distribution Guide I'm doing for the new location. In fact, I thought about doing so for some time, but I never got the time to add it, but now that I have to rewrite them anyway in the relocation and HTMLisation process (people might notice I removed a bunch of old stuff and broken links in what I put up already), I'm doing it, your tool has reached a mature enough status. Now if only it would store creation and modification dates in the MacBinary files (hint hint).

@zacha-pedro, on Jan 15 2007, 10:14 AM, said in Plug-in Archiver 1.0.0:

Orca, you should be pleased to know I'm going to add a mention and a link to Plug-in Archiver in the new Plug-in Distribution Guide I'm doing for the new location. In fact, I thought about doing so for some time, but I never got the time to add it, but now that I have to rewrite them anyway in the relocation and HTMLisation process (people might notice I removed a bunch of old stuff and broken links in what I put up already), I'm doing it, your tool has reached a mature enough status. Now if only it would store creation and modification dates in the MacBinary files (hint hint).

w00t! And I'll work on the creation and modification dates. Originally the problem was an RB bug, but now that bug has been fixed so it's possible to do it after all. I'm still considering a Cocoa version.

If you do make a Cocoa version and swap useless preferences for useful ones then I'll recommend your version too :). Oh, and in response to your post here I was meaning in terms of what you've released here to the EV dev community which is all RB stuff, no? And the same applies to DA - it wasn't him either. No offence intended to anyone 😉

@guy, on Jan 24 2007, 10:35 PM, said in Plug-in Archiver 1.0.0:

If you do make a Cocoa version and swap useless preferences for useful ones then I'll recommend your version too :). Oh, and in response to your post here I was meaning in terms of what you've released here to the EV dev community which is all RB stuff, no? And the same applies to DA - it wasn't him either. No offence intended to anyone 😉

Useless? And what exactly would be useful preferences? There really aren't that many options that can alter the process of simply encoding and compressing a file. And yes, it has all been in RB because I'm lazy. 😛

@guy, on Jan 24 2007, 10:35 PM, said in Plug-in Archiver 1.0.0:

Oh, and in response to your post here I was meaning in terms of what you've released here to the EV dev community which is all RB stuff, no? And the same applies to DA - it wasn't him either.

MissionComputer is REALbasic because I started it at that point early in the transition to Mac OS X when most people (including me) were still running Mac OS 9, but it was obviously necessary to have something that would carry over to the new system easily as well; REALbasic is the best way to do that (I haven’t seen anything that can match its cross-platform abilities). If I were starting over now — as, indeed, I did about a year ago before deciding it was more productive to spend my time extending MissionComputer rather than duplicating what it can already do — I would be using Cocoa.

@orcaloverbri9, on Jan 25 2007, 11:27 PM, said in Plug-in Archiver 1.0.0:

Useless? And what exactly would be useful preferences?

Heh, sorry they just don't seem particularly useful to me :p. It's the extension preference which seems most useless - I'd just make it always the second option. The others aren't so bad but for revealing stuff I'd probably make it always reveal except when drag-n-drop is used, since the destination must already be visible in that case, and of course there's no reason why you wouldn't want to quit after a drag n drop.
I had some preferences I would have liked to add to plugin archiver but with a max of three buttons per dialog it wasn't really practical (though I may yet check out AppleScript Studio). For starters, plugin archiver automatically removes Icon files - then I was going to have an option to also remove .DS_Store files which would be enabled by default. Another preference would have been what to with files containing resource forks that were not of type 'Növä' - either encode all, encode none, or display a list of all such files and let the user choose which ones to encode.

This post has been edited by Guy : 25 January 2007 - 09:33 PM