Coffeearc

Coffeearc ist ein Multiformat Archiver, der im Rahmen eines privaten Projekts enstand, um experimentelle Kommandozeilen Kompressionstools sehr einfach als Plugins einzubinden und damit mehr Funktionalität und Benutzerfreundlichkeit im Sinne eines vollwertigen Archivertools zu schaffen. Experimentelle Kompressionstools können häufig nur einzelne Dateien packen und entpacken. In Verbindung mit Coffeearc bieten sich jedoch ohne größeren Aufwand viele weitere Features, sobald das Tool eingebunden ist. Dies geschieht durch erstellen einer sehr einfachen XML Spezifikation.

Techniken und Features:

  • XML basiertes Plugin-System zur Kommando Definition und GUI Konfiguration.
  • Typischer Archiver Funktionalität
    • Archive anlegen, entpacken, öffnen und ändern (Dateien hinzufügen oder löschen). Speicherung zusätzlicher Daten wie z.B. Prüfsummen und Dateiattribute.
    • Solid archiving: Dateien werden sortiert und in größere Blöcke zusammengefasst, bevor sie komprimiert werden. Dies kann die Packrate deutlich verbessern, insbes. bei Kompression vieler kleiner Dateien.
    • Verschlüsselung: Archive können mit bis zu 256 Bit (AES) verschlüsselt werden.
    • Multithreading: Coffeearc kann mit bis zu 8 Prozessen gleichzeitig packen und damit die Packgeschwindigkeit deutlich erhöhen.
    • Pipes: Wenn das Kompressionstool dazu in der Lage ist, verwendet Coffeearc den Standard Input- /Outputstream für den Datentransfer. Dadurch werden weniger temporäre Dateien benötigt.
  • Bereitstellung einer sehr einfachen Java API zur Programmierung neuer Kompressionsalgorithmen.
  • Wahlweise sehr hohe oder schnelle Kompressionsverfahren durch Einbindung von zwei besonderen Kompressionstools (CCM und Slug).
  • Unterstützung einiger Standard Archivtypen (z.B. ZIP, TAR.GZ, BZ2).
  • Drag and Drop Unterstützung zur einfachen Erstellung von Dateilisten.

Hauptfenster von Coffeearc (links: Dateiexplorer, mitte: Dateiliste des Archivs, rechts: Profile und Eintellungen):

Beispiel einer XML Spezifikaton, die GUI Elemente für ein Profil erzeugt:

<gui name="Mode" type="radio">
  <option label="Fast">
    <replace key="%opt1" with="-f"/>
  </option>
  <option label="Normal" default="yes">
    <replace key="%opt1" with="-n"/>
  </option>
  <option label="Strong">
    <replace key="%opt1" with="-s"/>
  </option>
</gui>

<gui name="Misc" type="check">
   <option label="Debug">
     <replace key="%opt2" with="-d"/>
   </option>
   <option label="Information" selected="yes">
     <replace key="%opt2" with="-i"/>
   </option>
</gui>

<gui name="Many" type="combo">
   <option label="Another option 1">
<replace key="%opt3" with="-a:1"/></option>
   <option label="Another option 2" default="yes"><replace key="%opt3" with="-b:2"/></option>
   <option label="Another option 3"><replace key="%opt3" with="-c:3"/></option>
</gui>

In den XML Tags werden zum einen die Art der GUI Elemente festgelegt (z.B. Checkbox oder Radiobutton). Zum anderen wird mittels Platzhalter definiert, welche Parameter bei Selektion einer Option an das Kompressionstool übergeben werden.

Ansicht der Profil-GUI, die durch den obigen XML Code erzeugt wird:

Coffeearc ist ein Open-Source Projekt und wurde unter GPL Lizenz veröffentlicht. Projektseite: http://sourceforge.net/projects/coffeearc/

Siehe auch: http://www.softpedia.com/get/PORTABLE-SOFTWARE/Compression-Tools/Coffeearc.shtml

Blog

jReflectServer 2.0
New version released | 1/4/2017

jReflectServer (formerly jReflect) has been updated. Version 2.0 allows distributed code ... Read More

DocuCast
Instantly backup your files on change | 3/21/2014

DocuCast is a real time file revision and backup system for use in professional and private ... Read More

jReflect: lightweight java web-server & -framework
3/7/2014

jReflect is a very small & lightweight java web-server and -framework for ... Read More

More Blog Entries