Basil Data Exchange Component

From LSDevLinux
Revision as of 23:19, 4 August 2012 by Mayhewn (talk | contribs) (Reverted edits by LindaHayes (Talk) to last revision by Mayhewn)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search


Bdec tries to address on issue of the "Basil Project".

The "Baisl Project" is "A strategy for developing language software for indigenous language workers". It is an attempt to develop a strategy for building language software that is intended for use by indigenous language workers, taking into consideration their unique needs. Software that is designed according to the Basil guidelines will integrate well with other "Basil-compliant" applications and will enable the user to work as efficiently as possible to develop their own language.

Bdec Summary

Bdec is designed to do backup for any Basil components (it actually could do backup for any program). It runs on the XO with the Sugar interface, but also on Fedora, Ubuntu and Windows XP and Vista.

Bdec Overview

One of the primary tasks in the Basil project is an easy way to backup data from the user machine to a backup media. The choices of media are USB storage devices, namely USB thumb drives and USB hard drives, but there are also other backup devices possible. There are two basic ways to start a backup process:

  • Through a USB stick when being attached to the computer.

The idea is that a backup program would automatically launch when a USB storage media is being attached to the computer. This backup should be done without user interaction; it should just do its thing

  • Each Basil component can launch a backup. The idea is that each Basil component can launch the backup program telling it "Please do a backup for me". This should also be done without user interaction.

It is obvious that backing up data is not the only kind of data exchange between a user machine and an USB storage device. The USB storage device could act as intermediate storage device to move data, configuration information and programs from one machine to another. This means that backing up data is only one aspect of data exchange between user machines. Therefore a mechanism is sought that will allow an easy data exchange between user machines using USB storage devices as "go between". This mechanism is addressed in the Basil Data Exchange Component, "Bdec" for short.

Bdec (Basil data exchange component) offers data exchange services (backup, restore, component configuration) to all Basil components. It can be launched by each Basil component or through inserting a USB stick to the machine. At the moment, however, it only offers backup service.

Target Machines

  • Primary Target Machine: The primary target machine for Bdec is the XO laptop, the machine used on the OLPC project. This also means that the operating system is Fedora 7 or a subset of Fedora 7. The OLPC developed its own user interface called "Sugar", which is Python based using "GTK". Therefore, Bdec also runs under the Sugar interface.
  • Other Target Machines
    • Linux distributions: Other Linux distributions are kept in mind because it is likely that other low cost (not necessarily also low power) Linux machines will hit the marked. Therefore the secondary Linux target distribution for Bdec will be Ubuntu and Fedora.
    • Windows: Because there are already Basil components being developed that run on Windows Bdec also runs under Windows. However, primary development is done for the Linux platform with a port for Windows in mind.


Bdec has progressed to Version 1 stage.

An additional user interface "EasyBackup" has been added that allows a user to create one or more "backup definitions". These "backup definitions" will then be used by Bdec to automatically backup the data, which is defined by the "backup definitions", to a USB stick whenever the user plugs a USB stick into the computer. This means Bdec works "stand allone", so there is no need for another Basil component to configure and launch bdec. (For more information see:

Note that bdec currently does backup to a zip file. It uses a smart algorithm to keep a number of backup files. It does not implement a distributed version control system for collaboration and backup.


There are two zip files available for download. Apart from the actual program both files contain a number of documents that describe in more details the goals of bdec, how it is implemented and how to install it.

Linux: [1] (ZIP 1.686 MByte)

Windows: [2] (ZIP 66.902 MByte) (The Windows download contains all the third party software (i.e. Python, etc) that is needed for bdec)