October 2009 : a new release (bibus 1.5.0)
- OOo3.1 compatibility
- Infinite number of file/http links
- Clever capitalization (lord of war => Lord of War ...)
- Better handling of journal abbreviations
- Import/Export filters can be added easily (plugin)
- journal abbreviations and shortcuts can be easily edited (simple csv file that can be edited in OOo/excel or a text editor)
- Lot of bug fixes
- Requires python2.5 (not a problem anymore under Windows since OOo3.1 includes 2.6)
- Requires wxpython-2.8
How to setup a bibliography to be shared by many users on a remote computer
Page under construction.
Imagine the most common situation in academic world; a research group with three people (say Albert, Bessie and Charles) needing to share their bibliography.
Bibus is told to satisfy such needs, but unfortunately there are no specific guides on the net on how to setup such a system.
Below you'll find some (I hope useful) hints on how to do it. They were collected here and there on the net.
They require some knowledge in MySQL, but nevertheless the person who wrote this notes is VERY FAR from being an expert.
Therefore he cannot guarantee that the following instructions do not impair the security of your system.
There are many steps in this procedure: let's assume that Albert has tried Bibus on his computer, and then he decided to share his bibliography with Bessie and Charles. It is also possible to setup a common computer in which install MySQL.
Albert is running Ubuntu 8.10 on his machine while Bessie and Charles are running some flavour of Windows
Before starting it is necessary to know the following things: The IP numbers of the three machines (ask your administrator, if exists, or run ifconfig on Ubuntu machine and ipconfig on Windows ones).
For explanantion purposes we assume the following IP numbers
- Albert 192.168.8.10
- Bessie 192.168.8.11
- Charles 192.168.8.12
Moving the existing database from SQLlite to MySQL on the main computer (Albert's one)
This procedure has been successfully attempted on Ubuntu 8.04 and bibus 1.4.3-2. It is a resume of this thread.
Before attempting the procedure, install the necessary libraries
sudo apt-get install mysql-server mysql-common mysql-client python-mysqldb
Remember the password that the install is asking you for the MySQL manager (usually root). After the installation, MySQL do not require a password, but it is better to provide one with the following command
mysqladmin -u root password NEWPASSWORD
To change the password, the command is
mysqladmin -u root -p oldpassword newpass
Try not to forget the password. Should you do it, you may want to take a look here
Then choose First Connection Wizard under Help menu and press next until the "Database Engine" is shown then:
- Choose MySQL then hit NEXT
- Click "MySQL database setup" and on the "Bibus MySQL Setup" dialog box
- Click "Connect" with root as "user" with his password and then Click "Connect"
- Back on the dialog box "Bibus MySQL Setup" click on "Database" button
- Press the "New Database" button and a new dialog box appear. Do not change anything, check that Database Name is already filled with "biblioDB", check that the radio button is on MySQL v4.1 and v5 and press OK.
- Back again on the dialog box "Bibus MySQL Setup", just press "Quit"
You will notice that all your references are gone (Did you saved a backup copy ?)
Now open another copy of bibus, which will be with SQLite, and Copy/paste or Drag/Drop references between them. Close the SQLite copy of bibus.
Allowing Albert's computer to accept requests from Bessie' and Charles' ones
The following directions were found here:
On a terminal on Albert's Ubuntu machine send the following commands: Depending on Linux distribution you have to find out my.cnf file to be edited. You can find it by the following command:
find / -iname my.cnf
Once you've found it, you should edit it by
Locate the section
[mysqld] # # * Basic Settings # user = mysql pid-file = /var/run/mysqld/mysqld.pid socket = /var/run/mysqld/mysqld.sock port = 3306 basedir = /usr datadir = /var/lib/mysql tmpdir = /tmp language = /usr/share/mysql/english skip-external-locking # # Instead of skip-networking the default is now to listen only on # localhost which is more compatible and is not less secure. bind-address = 127.0.0.1
and modify two lines as follows: comment (i.e. add the "#" sign) at the beginning of the line
substitute the 127.0.0.1 with the IP number of the Albert's computer
The section now should look as follows
.............. language = /usr/share/mysql/english # skip-external-locking # # Instead of skip-networking the default is now to listen only on # localhost which is more compatible and is not less secure. bind-address = 192.168.8.10
Press Ctrl-X to exit and save the modifications
Restart your mysql service to take change in effect:
Grant access to remote IP addresses
mysql -u root -p mysql
The above command will start the MySQL engine on Albert's computer.
After giving the password, the prompt will change to
Grant access to the Bibus database If you want the users "Bessie" and "Charles" to access to the database, give these commands
mysql> GRANT ALL ON biblioDB.* TO Bessie@'192.168.8.11' IDENTIFIED BY 'PASSWORD'; mysql> GRANT ALL ON biblioDB.* TO Charles@'192.168.8.12' IDENTIFIED BY 'PASSWORD';
For security reasons, you may want to give just the necessary rights (not ALL); instead of granting all privileges as above, the following should be enough if the table structure already exists (as of 1st April 2010: yet to be tested):
mysql> GRANT SELECT, DELETE, INSERT, UPDATE,CREATE TEMPORARY TABLES ON biblioDB.* TO Bessie@'192.168.8.11' IDENTIFIED BY 'PASSWORD';
Type exit command to logout mysql:
You now need to open port 3306 using iptables or BSD pf firewall. Look here: This section on enabling access to be improved
You can also use telnet to connect to port 3306 for testing purpose:$ telnet 126.96.36.199 3306
Some commands to keep up to date the users on mySQL server
After a while it may happen that Bessie do no longer work with the team, or that some IP numbers has changed.
The following command (from mysql prompt) lists IP numbers and users.
select host, user from mysql.user;
while the following one delete the user Bessie who was accessing the server from 192.168.8.11
DROP USER Bessie@192.168.8.11;
Configuring Bibus on Bessie's and Charles' computers, in order to access the remote database on Albert's computer
To be completed
Open Bibus on Bessie's or Charles computer and pull down the File-Connect menu.
You will get the MySQL connection parameters
Chances are that you will find root as "UserName", localhost as "Host", 3306 as "Port" and /var/run/mysqld/mysqld.sock as "Socket"
Change "Host" from localhost to 192.168.8.10, and Username from root to Bessie or Charles
Insert the proper password and click next
Choose the "biblioDB" database and click finish
Backing up references in MySQL by graphical tool
This procedure has been tested under ubuntu 8.04.
Check if MySQL administrator is installed. If positive go under Applications/Programming and start MySQL administrator.
You will get this dialog box:
Insert the password, press "Connect", and you will get a window, where you should locate the backup window
Add the database you want to backup to the list, by pressing the right orange arrow in the middle of the window.
The name of the bibus Database is usually biblioDB.
Press the "Start Backup" button.
You will be prompted where you want to save the file.