Tasks

From The Open Source Backup Wiki (Amanda, MySQL Backup, BackupPC)
Revision as of 17:36, 20 December 2008 by Dustin (talk | contribs) (add ribbon)
Jump to navigationJump to search


Stuff that needs doing. Tasks with no "owner" are open. To "claim" a task, edit this page and add your name as "owner", and email your thoughts to the amanda-hackers list. Other hackers will be happy to help. If you have other tasks, please add them here, following the pattern below. This forms a more in-the-moment version of the Wishlist/Features planned document.

Devices

Writing new backends for the Device API.


Difficulty: med
Skills: C
Owner:
a - t

Optical Device

Peter Conrad and Richard Kunze wrote a patch for Amanda to write dumps to optical media, but it is written as a replacement for the taper, and doesn't work for modern Amandas. The better way to write to optical media is now to write a new device that handles on-disk caching of data and writing new volumes out to optical media as it is available.

Applications

Writing new Amanda frontends, using the Application API


Difficulty: easy
Skills: Perl, Postgres
Owner:
a - t

Postgres Application

Write an application to allow users to backup and restore Postgres databases.


Difficulty: easy
Skills: Perl, MySQL
Owner:
a - t

MySQL Application

Write an application to allow users to backup and restore MySQL databases.


Difficulty: med
Skills: Perl, Cyrus imapd
Owner:
a - t

Cyrus imapd Application

Write an application to allow users to backup and restore emails in Cyrus imapd. While 'tar' can back up a mailspool, it is not ideal for the huge number of small files, and does not work well with so many hard-linked files.

Authentication


Difficulty: hard
Skills: C, openssl
Owner:
a - t

OpenSSL auth

An OpenSSL-based security driver could enable encryption without the messy manual setup of SSH. More importantly, it can use certificate validation to perform bi-directional authentication of network communications, without reference to any UNIX usernames, passwords, or home directories.

Perlification

There is no shortage of stuff to rewrite in Perl. This is just a sampling of the "low-hanging fruit".


Difficulty: medium
Skills: perl
Owner:
a - t

Update amtoc

amtoc is already in Perl, but it parses logfiles directly. Update it to be more readable, to use Amanda::DB::Catalog to read the logfile, and to produce correct output. It will need new unit tests.


Difficulty: medium
Skills: perl
Owner:
a - t

Rewrite amlabel

amlabel is fairly simple: use the changer to load the correct tape, check for an existing label, and write a new label. It will need new unit tests.


Difficulty: low
Skills: perl
Owner:
a - t

Rewrite amtape

amtape is basically a user-friendly interface to the tape changer, and should be easy to rewrite in Perl. It will need new unit tests.

Build Process


Difficulty: high
Skills: autotools, libtool, perl linking, portability
Owner:
a - t

More portable Perl extension building

The current build process uses the -I flags from perl to find perl.h, but then uses Libtool to do the final linking. This seems to work on most platforms, but there may be a better way. The problem with using MakeMaker, Module::Install or Module::Build is that they assume that the compiler which built perl is still available. This is not the case on platforms like Solaris. A "hybrid" solution -- which tests the native-perl method, and falls back to the current Libtool method -- may be best. We have yet to have any trouble building perl extensions, so this task may be moot.


Difficulty: high
Skills: autotools, libtool, perl linking
Owner:
a - t

Simplify Perl Automake rules

The Makefile.am stanza to build a perl extension from a SWIG input file is too long. Ideally, this could be expressed in a few lines giving only the source file and binary dependencies of the extension.

Translation

Amanda is (mostly) internationalized, and ready to have translations plugged in. Add a task here for each new locale.


Difficulty: medium
Skills: perl, gettext
Owner: Dustin
a - t

I18n for Perl

To his shame, Dustin has been furiously writing un-internationalized Perl. This means that, at the moment, Perl applications won't respect any translations. Clearly, that should change!


Difficulty: medium
Skills: gettext, German
Owner: Stefan
a - t

German Translation

German is as good a first translation as any, and will work the kinks out of the translation process, paving the way for other locales.

Miscellaneous


Difficulty: easy
Skills: wiki, maybe some shell/perl
Owner:
a - t

Fix data encryption

Data encryption support in Amanda is not well-maintained. Some of the available scripts are Linux-specific, or fail in confusing ways. This task would involve a thorough exploration of the current support, documentation, and writing patches for any problems found in the existing code.