User:Panyasan/sandbox

= Bibliograph (Software) =

Bibliograph is a free and open source web application for the collaborative collection, editing and publication of bibliographic data (data about books, articles, citations, authors, etc.). It consists of a JavaScript client and a PHP/MySQL backend. Compared to similar web-based reference management software, its main distinguishing features are: a modern user interface written based on the qooxdoo UI toolkit, a very flexible data model, a plugin architecture that allows to extend the base application with new functionality, and a system of fine-grained access control, including LDAP connectivity.

History
Bibliograph has been in development since 2005. Since 2008, it has been used at Humboldt University's Faculty of Law Department for the collection and publication of thematic bibliographies. The first public release was version 2.1.

Technology
Bibliograph is a Single-page application. The client is written with the qooxdoo library, which allows to use UI controls that provide the functionality and responsiveness of a desktop application. The client communicates with the backed via [JSON-RPC]]. The backend is based on a PHP-Library written specifically to work with the qooxdoo client. Its main feature is a Object-relational mapping implementation that, using adapters, connects to MySQL (default) or other database backends. Another feature is the ability to exchange messages and events between client and server and to initiate client dialogs from backend code. For Internationalization and localization, gettext-compatible .po files are used, both for the client and the backend. Currently, only English and German are supported. The schema of references is based on the BibTeX specification, with additional metadata fields. With no plugins installed, Bibliograph can import from and export to BibTeX. The software can be installed on any platform that supports its dependencies (PHP >= 5.3 with the following extensions: intl, gettext, yaz/xsl (optional), ldap (optional), zip (optional); MySql >= 5.3). A Docker image is available.

Features
Bibliograph's UI is similar to the UI of an email client such as Thunderbird, with a folder tree on the left, a list view on the top right, and a detail view on the bottom right. In the folder tree, it is possible to create a nested folder structure. Folders can either be static collections of references or "search folders" based on queries. Queries in Bibliograph can be written in a quasi-natural language syntax ("author begins with shake and title contains julia") in all languages for which translations have been added. The individual references are edited in the detail view. In addition to an editor for the fields of the individual reference, this view offers a pane with information about the folders in which the references are stored, plus a pane with information on possible duplicates.

Bibliograph features an advanced access control system based on resources, groups, roles, permissions and users (see Role-based access control) which is also available to the plugins and allows and fine-grained cotrol over which groups of users are allowed to do what on the client and the backend. This is ideal in a institutional setting with different departments and different groups of users (such as faculty, students, research group members, guest users, etc.). Users and Groups can be created locally or retrieved from a central LDAP directory.

Plugins
Bibliograph implements most of its advanced features through plugins. It ships with the following plugins:
 * Backup: Administrators and managers can initiate backups of individual databases, and restore, download and delete.
 * Bibutils Import/Export: Advanced export/import options via the Bibutils format conversion library. Allows to import/export MODS, PubMed, RIS, and all other formats supported by Bibutils.
 * Citation Style Language support: Format individual references or the content of a folder in one of the 1000+ styles provided by the the Citation Style Language
 * RSS Folders: Folder contents can be published as RSS feeds, from which selected references can be imported into other databases
 * User forum plugin
 * Z39.50 Connector Plugin: Provides import from library catalogs which support the Z39.50 protocol

More plugins are under development. and can be developed as third-party contributions.