Bibliographie builds on top of the database of Aigaion, but aims to work with bigger databases and more stable with more functionality.
Switch branches/tags
Nothing to show
Clone or download
Pull request Compare This branch is 8 commits ahead, 13 commits behind mblickensdorf:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
admin
authors
bookmarks
esearch
maintenance
notes
publications
resources
search
tags
topics
.gitattributes
.gitignore
LICENSE
README.md
_footer.php
_header.php
close.php
index.php
init.php
tags.php

README.md

Intents to be a bibliography management tool that derives from the database scheme of Aigaion v2.1.2. You can also use it with the current database scheme version v2.2, but when we began the project we started with the v2.1.2.

Bibliographie aims to tackle some problems of Aigaion like the old code base, slowness for large databases, problems with multihierarchical graphs and adds some neat functionality too, that make it easier to cope with a lot of literature.

Get it running

1. step: config file

You need a config file named 'config.php' that you put in the root of this app. The file should look something like that:

<?php
// MySQL connection data
define('BIBLIOGRAPHIE_MYSQL_HOST', 'host');
define('BIBLIOGRAPHIE_MYSQL_USER', 'user');
define('BIBLIOGRAPHIE_MYSQL_PASSWORD', 'password');
define('BIBLIOGRAPHIE_MYSQL_DATABASE', 'database');

// Root path of bibliographie without ending slash.
define('BIBLIOGRAPHIE_WEB_ROOT', '/bibliographie');

// Minimum of chars needed to start a search. Should be the same as the minimum length of MySQL fulltext index length.
define('BIBLIOGRAPHIE_SEARCH_MIN_CHARS', 4);

// Configuration for the tag cloud.
define('BIBLIOGRAPHIE_TAG_SIZE_FACTOR', 100);
define('BIBLIOGRAPHIE_TAG_SIZE_MINIMUM', 10);
define('BIBLIOGRAPHIE_TAG_SIZE_FLATNESS', 40);

// If you have a key for ISBNDB.com put it here.
define('BIBLIOGRAPHIE_ISBNDB_KEY', '');

// One of 'errors', 'all' or false
define('BIBLIOGRAPHIE_DATABASE_DEBUG', false);

// Wether to use caching or not. Highly recommended for large databases.
define('BIBLIOGRAPHIE_CACHING', true);

// Prefix for the mysql tables.
define('BIBLIOGRAPHIE_PREFIX', 'a2');

2. Step

You need a server side directory authentication, e.g. via apaches .htaccess. And the appropriate authentication names in the database table users with the names in the login field. If you have the user 'foobar' in your .htaccess file, you'll need a row in the users table with the login field having the value 'foobar'. For users that get authenticated by the server bibliographie will automatically create the appropriate row in the users table.

2.1 Step

You might have to give the webserver access to the installation directory. (e.g. under Ubuntu/Linux: chown www-data /var/www/bibliographie) You might also have to give the files write permissions. (e.g. chmod 0775 for all files) Those two steps depend on your environment. (e.g. you don't need to take care of that on Windows)

3. Step

Access the app via a browser at the path you've set in the config file earlier. Follow the instructions to convert/create the database scheme.

4. Installing and configuring of search system

First you have to install ElasticSearch from http://www.elasticsearch.org/ . Then you need to install the Java Databaseconnector (JDBC) from https://github.com/jprante/elasticsearch-river-jdbc . Then the db content must be initialized from Elastic Search. There are various ways e.g. with curl or http://voormedia.com/blog/2014/06/four-ways-to-index-relational-data-in-elasticsearch with curl:

curl -XPUT 'localhost:9200/_river/my_jdbc_river/_meta' -d '{
     "type" : "jdbc",
     "jdbc" : {
         "url" : "jdbc:mysql://localhost:3306/bib_db",
         "user" : "user",
         "password" : "pass",
         "sql" : "select * from a2author",
    	 "poll" : "6s",
    	 "strategy" : "simple",
	     "schedule" : "0 0-59 0-23 ? * *"
    },
    "index" : {
         "index" : "invoiceitems",
         "bulk_size" : 600,
         "max_bulk_requests" : 10,
         "bulk_timeout" : "5s",
         "autocommit" : true
    }
}'

You have to do this for each of the table you like to be indexed, e.g. publications, author, tags, topics Then you have to install php composer like http://www.elasticsearch.org/guide/en/elasticsearch/client/php-api/current/_quickstart.html .

Reach the finish line

All done... You can now start using bibliographie...

  • If you're new to bibliographie and do not have an aigaion databaase you'll have a meta-topic called "Top" that is used as the top of the topic graph. So put all your topics in there so they'll show up in the topic graph.