Insufficient archive support

Since moving to DO as my filemanager, I started to feel need for a separate archiver. Strange, never felt this need with the previous filemenager...

I don't consider myself an "archive freak", but I quite often need to look into:

  • 7ZIP, CAB, SQX, CD-Images - quite popular and frequently met nowadays
  • ace, arj, lzh, uha - some old packages I keep and use; also for some reason quite popular in Japan
  • bzip2, tag, gzip, cpio - Linux archives
  • lha, lzx, arj, adf, dms, D64 and other related to Amiga and C64

In addition to that, some innovation and interoperability would be welcome, so how about creating 7ZIPs and other open formats?

In DO there's fancy tool to manipulate images and at the same time very limited archive support. That's not the way of a file manager.

Maybe developing TC-plugins interface to some releasable state would be a good idea?

X.

There is nothing stopping people from writing archive plugins, as Dopus already supports it. The problem is, nobody seems to have done so yet.

Hmm, me thinks the XAD system may need to be looked at... you can use a master compression library to handle a load of archives including those mentioned in the first post. I'm not big in working with archives... but it's another option to put on my plate for development.

Is there an XAD port for Windows? The SourceForge page has very little information on the project (but more than anywhere else I can find on the net) and seems to indicate it doesn't work for Windows:

[quote="SourceForge"]Shared library for archive and file unarchiving and extraction. Based on the Amiga system of same name.

Project Admins: stoecker
Operating System: All POSIX (Linux/BSD/UNIX-like OSes), AmigaOS, MorphOS
License: GNU General Public License (GPL), GNU Library or Lesser General Public License (LGPL), Public Domain
Category: Compression, Packaging[/quote]

A few days ago I had a quick look at what would be involved in writing a 7Zip plugin (looks pretty doable since there's a convenient API), and a read-write RAR plugin (looks like a pain in the arse because there's no API or library for creating RAR files so you'd have to do it by runnign WinRAR.exe on the command-line, but still use UnRar.dll (which is slow/crap for random access, though that could be improved) for listing the contents of archives because WinRAR.exe has no list command and rar.exe cannot list unicode filenames... Argh.).

Other formats like LHA and TAR etc. would be nice but, even with 7Zip (which is nice but not used by many people), it feels like a lot of effort for each format.

If there was a single library which could be used to add support for all formats then that would be awesome and would make the effort seem worthwhile.

As it is, most people who want more than Zip and read-only RAR seem to want read-write RAR support (god knows why; I wish RAR would die if it's never going to be licenced or converted into an API/library) with a few people also wanting 7Zip (which I can understand, it's a nice compression format).

Several people have talked about writing archive VFS plugins but so far nobody has. :frowning: I'm trying not to add myself to that group since, although I've started looking into it, I don't know if I'll write one myself, or if I'll continue working on my graphics-based plugins, which I don't consider finished yet. We'll see. I expect it'll turn out that two of us write one at once. :slight_smile: If anyone is actively developing such a thing then please speak up.

Another thing I've been considering is a semi-generic "command-line archiver" VFS that wraps the command-line versions of tools into something Opus can use. It'd need a bit of work for each tool, to understand how it lists files and its command-line syntax, but it might mean less effort is required for each file format, so obscure stuff that nobody should be using in this day and age could still be supported to keep everyone happy. Unfortunately there are drawbacks with this approach: RAR listing can't be supported with it (though extraction and addition can be) and I expect several other formats have issues with Unicode filenames on their command-lines. It also involves parsing text output from programs, which I think sucks (but is better than nothing).

(I'm still entirely happy with Zip myself. I can't remember the last time I cared about the exact size of a file, how long it would take to transfer it, splitting an archive into parts or any of that 1980s stuff. :slight_smile: But that doesn't mean I won't write a plugin. I've got no use whatsoever for the RAW camera plugin but I still made that for other people. :slight_smile:)

Hmm, VFS eh? Well, I've never worked with anything outside of XAD and what's built into Opus so I would not know where to start. This is something I'll add to my plate when I have some more time. I think it would be nice to see support for 7z at least. It seems more and more people are using 7z now. With the advent of "Portable-Apps" I'm sure 7z will be more popular yet.

I agree. I would be happy to see GPSoft concentrating on the VFS within the next few updates. Some archiver VFS, a mailbox, a Windows registry.

It would also be nice, if we could finally script Dopus via ActiveScript, handling the listers as in the AmigaOS version. Adding stuff. Wouldn't it be nice, if you could control Dopus via Javascript ?

Hello,
@amix

@Dirheal

Yes !
I'd like to see tgz and 7zip.
Reality though, is that a qualified attempt at a registry plugin has been a very sad story.
[/color]

@amix

[quote]
It would also be nice, if we could finally script Dopus via ActiveScript, handling the listers as in the AmigaOS version. Adding stuff. Wouldn't it be nice, if you could control Dopus via Javascript ? [/quote]
Well amix, I was never an Amiga user.
I think Jon has declared the idea of ActiveScript DEAD.
The best I can do is a C++ command line program,
a 4NT batch file, or a PHP command line program .
Nudel does some good things with Visual Basic Scripts though !

If anyone is interested, I can get you going in PHP command line scripting.
[/color]
You may find just a few disappointing results though.

Regards,
Zippo

I re-started work on my registry plugin a few months ago. It's currently on hold, though, since the existing VFS plugin API doesn't provide everything that such a plugin requires. To do a proper registry plugin requires lots more than an archiver plugin.

I don't think the idea of ActiveScript is dead; it's just on hold. If scripting comes back on the agenda, one question that needs discussion is what kinds of things people want to do with scripting that can't already be done using either existing commands or external VBScript or JavaScript. (I have some ideas myself, but they're pretty esoteric, aside from advanced renaming stuff.)

Imagination is more important than knowledge.....
---Albert Einstein

Ahhh... but he collapsed much of the world of Physics thought at that time.
( Way off topic -- Ever wondered why a boiling kettle of water begins to vibrate ?)

Regards,
Zippo

Excited water molecules?

(sup porcuzippo!!!)

As Xyzzy says:

In DO there's fancy tool to manipulate images and at the same time very limited archive support. That's not the way of a file manager.

I'm having the same problem with DO. In SpeedCommander all packer/unpacker (and all versions) are implemented perfectly.

This should be provided by DO by default - as a file manager - and not programmed by others as a plugin.

I just can't unzip a .gz file - instead of that it will be copied. Now I've to unzip on my unix machine and copy file per file via ftp ... 170 (edited - not 34 !!) MB instead of 7 MB.

I agree it would be nicer if .gz and 7zip and so on support was built-into Opus, but you don't have to go to the lengths of using another computer to extract the archives.

Command-line extraction tools can integrate fine in Opus, as do shell extensions that add drag & drop and/or context menu extraction. I use IZArc to handle esoteric (to me) archives. It's not perfect and not as nice as having full support in Opus but it's free and works well enough for the small amount of non-zip/rar archives I have to deal with.

Just my 2 cents and not the view of anyone else of GPSoft (who I don't work for or represent):

IMO archive support is the perfect thing for plugin authors to work on. I'd bet that most customers don't care about anything but zip/rar, and those who do each care about different formats so there's not a big win to be had in adding support for any particular format; you've got to support 5 or 6 formats to finally satisfy everyone. That isn't to say there's no win at all, but it's time consuming, especially if one person does all the work, so I'd argue that the time of the Opus developers can be better spent in other areas, since this is one area where plugin authors can make a difference.
The problem is nobody seems to want to write VFS plugins enough to actually write any. :slight_smile:

I'd like to write some but I've still got things to finish off in my viewer plugins. The viewer stuff I'm working on (multi-page TIFF support) is arguably less important but I'd like to finish what I've started rather than have a lot of half-finished projects. Once I'm done with that and a couple of other things I'll probably look at some archiver stuff if someone hasn't beaten me to it.

[quote="nudel"]
IMO archive support is the perfect thing for plugin authors to work on. [/quote]

Well, there are lots of plugins. For TC. So, is there any problem with making using them possible?

X.

XAD... Ah, those good old AMIGA days... XPK, XFH, XAD...