As often is the case with freebies for the Mac OSX, they come half-baked, leaving you yearning for essential features that exist only in their commercial incarnation, obviously at a cost. For an enterprise web application developer, iPackr belongs in this category. Let's fix it!
iPackr claims to be a full-featured compressed archive manager, available free on the Mac App Store from developer Little Big Monster Inc. Rightly so, it is by far the best free compressed archive tool I have used on the Mac, and not your usual dumbed down decompressors such as Archive Utility.
iPackr, currently version 1.50 at time of writing, has not been updated for more than a year and a half. It works fine for the most part, until you need it to manage archive files of an unsupported filename extension, even if it uses a natively supported compression algorithm. Just associating an arbitrary extension to the iPackr app simply does not work.
The obvious workaround is to rename such a file to a supported extension, and put it back later when you are done using iPackr. Aside from this being a chore, it quickly becomes impractical if you need to do this regularly.
For an enterprise web application developer, one thing you may want to do is to look into JAR or WAR archives. These are no more than rebadged ZIP files. Unfortunately, these file extensions are not recognised in iPackr. An attempt at customising the file types association in its preferences settings achieves no satisfaction, which is counter-intuitive.
Similar complaints about this rather obvious feature omission in their official forum received no solution or consolation other than a shameless plug that it is fixed in the paid-for version.
Out of frustration, I decided to fix it myself. Below is how I added JAR, WAR, EAR and APK support - all of which are just the ZIP archive format natively supported by iPackr.
Open iPackr, and go into Preferences.
Double-click the Extensions column next to the matching File Type "Zip Archive" and type in the new extensions prefixed with dot, and separated by semi-colon.
Here, I've added ";.jar;.war;.ear;.apk".
Close Preferences, and quit iPackr.
At this point, files with the new extensions are associated with iPackr. You may verify that with "Get Info" on such a file.
However, if we try to open this file, iPackr complains that it cannot be opened.
Make sure iPackr is not running. Quit if it is.
Use a text editor with elevated superuser permission to manually edit iPackr's Info.plist configuration file. If you are using a GUI editor, you'll need to right-click and "Show Package Contents" on iPackr.app to navigate to the file in Finder.
Here, we just use command line in Terminal.
Then add in the extra lines (highlighted in red, below) immediately below the existing "<string>zip</string>" entry.
Save, and close the file. We're done!
Now, if you try opening the archive file, iPackr will fire up automatically and open the file exactly as if it's just another ZIP archive.
Of course, this will work for any arbitrary extension that you may want iPackr to support, as long as the underlying compression algorithm is one that's natively supported, i.e., it's one of those listed under File Type in Preferences.
If the above is straying out of your geek comfort zone, or you simply prefer not to get your hands dirty, there is always the option of paying for its bigger brother iPack (notice the missing R at the end) which, allegedly, has the fix in place, plus other features. iPack is available on the Mac App Store.
iPackr claims to be a full-featured compressed archive manager, available free on the Mac App Store from developer Little Big Monster Inc. Rightly so, it is by far the best free compressed archive tool I have used on the Mac, and not your usual dumbed down decompressors such as Archive Utility.
iPackr, currently version 1.50 at time of writing, has not been updated for more than a year and a half. It works fine for the most part, until you need it to manage archive files of an unsupported filename extension, even if it uses a natively supported compression algorithm. Just associating an arbitrary extension to the iPackr app simply does not work.
The obvious workaround is to rename such a file to a supported extension, and put it back later when you are done using iPackr. Aside from this being a chore, it quickly becomes impractical if you need to do this regularly.
For an enterprise web application developer, one thing you may want to do is to look into JAR or WAR archives. These are no more than rebadged ZIP files. Unfortunately, these file extensions are not recognised in iPackr. An attempt at customising the file types association in its preferences settings achieves no satisfaction, which is counter-intuitive.
Similar complaints about this rather obvious feature omission in their official forum received no solution or consolation other than a shameless plug that it is fixed in the paid-for version.
Out of frustration, I decided to fix it myself. Below is how I added JAR, WAR, EAR and APK support - all of which are just the ZIP archive format natively supported by iPackr.
1) Edit iPackr preference settings
Open iPackr, and go into Preferences.
Double-click the Extensions column next to the matching File Type "Zip Archive" and type in the new extensions prefixed with dot, and separated by semi-colon.
Here, I've added ";.jar;.war;.ear;.apk".
Close Preferences, and quit iPackr.
At this point, files with the new extensions are associated with iPackr. You may verify that with "Get Info" on such a file.
However, if we try to open this file, iPackr complains that it cannot be opened.
2) Manually edit configuration plist
Make sure iPackr is not running. Quit if it is.
Use a text editor with elevated superuser permission to manually edit iPackr's Info.plist configuration file. If you are using a GUI editor, you'll need to right-click and "Show Package Contents" on iPackr.app to navigate to the file in Finder.
Here, we just use command line in Terminal.
sudo vi /Applications/iPackr.app/Contents/Info.plist
Then add in the extra lines (highlighted in red, below) immediately below the existing "<string>zip</string>" entry.
<dict>
<key>CFBundleTypeExtensions</key>
<array>
<string>zip</string>
<string>jar</string>
<string>war</string>
<string>ear</string>
<string>apk</string>
</array>
<key>CFBundleTypeIconFile</key>
<string>zip</string>
<key>CFBundleTypeName</key>
<string>Zip Archive</string>
<key>CFBundleTypeRole</key>
<string>Editor</string>
<key>NSDocumentClass</key>
<string>ZipDocument</string>
</dict>
Save, and close the file. We're done!
Now, if you try opening the archive file, iPackr will fire up automatically and open the file exactly as if it's just another ZIP archive.
Of course, this will work for any arbitrary extension that you may want iPackr to support, as long as the underlying compression algorithm is one that's natively supported, i.e., it's one of those listed under File Type in Preferences.
If the above is straying out of your geek comfort zone, or you simply prefer not to get your hands dirty, there is always the option of paying for its bigger brother iPack (notice the missing R at the end) which, allegedly, has the fix in place, plus other features. iPack is available on the Mac App Store.



No comments:
Post a Comment