Political Memory Software : Différence entre versions

De La Quadrature du Net
Aller à la navigationAller à la recherche
m
(update tarballs)
Ligne 6 : Ligne 6 :
 
Pages on this wiki related to [[:Category:Political_Memory|Political Memory]] are based upon a Berkeley DB XML database (BDB XML). Some Perl scripts are run to create this database, to extract informations from this database in order to create wiki pages, or to update this database from updates made on the wiki pages. Hence these wiki pages can be viewed as a ''frontend'' to this database. However there is no real time synchronizations between the database and the wiki pages. Updates of the wiki from the database, and conversely, are frequently made in a semi-automatic way.
 
Pages on this wiki related to [[:Category:Political_Memory|Political Memory]] are based upon a Berkeley DB XML database (BDB XML). Some Perl scripts are run to create this database, to extract informations from this database in order to create wiki pages, or to update this database from updates made on the wiki pages. Hence these wiki pages can be viewed as a ''frontend'' to this database. However there is no real time synchronizations between the database and the wiki pages. Updates of the wiki from the database, and conversely, are frequently made in a semi-automatic way.
  
The [[:media:Skeleton_memoire_politique.tgz|directory tree]], and [[:media:Scripts_memoire_politique.tgz|Perl scripts]] can be downloaded freely, as well as the following dumps of BDB XML 'containers'':
+
The [http://www.sedrati-dinet.net/tmp/skeleton_memoire_politique.tgz directory tree], and [http://www.sedrati-dinet.net/tmp/scripts_memoire_politique.tgz Perl scripts] can be downloaded freely, as well as the following dumps of BDB XML 'containers'':
* [[:media:En_meps_dump_memoire_politique.tgz|''container'' for MEPs]]
+
* [http://www.sedrati-dinet.net/tmp/en_meps_dump_memoire_politique.tgz ''container'' for MEPs]
* [[:media:En_votes_dump_memoire_politique.tgz|''container'' for the votes]]
+
* [http://www.sedrati-dinet.net/tmp/en_votes_dump_memoire_politique.tgz ''container'' for the votes]
  
 
'''All scripts are licensed under [http://www.gnu.org/licenses/gpl.html GNU General Public License version 3 or higher].'''
 
'''All scripts are licensed under [http://www.gnu.org/licenses/gpl.html GNU General Public License version 3 or higher].'''
Ligne 18 : Ligne 18 :
 
* [http://www.oracle.com/technology/documentation/berkeley-db/xml/ref_xml/xml_unix/intro.html Install BDB XML] with Perl support (<code>sudo sh buildall.sh --enable-perl</code>)
 
* [http://www.oracle.com/technology/documentation/berkeley-db/xml/ref_xml/xml_unix/intro.html Install BDB XML] with Perl support (<code>sudo sh buildall.sh --enable-perl</code>)
 
* Untar dumps of the database:
 
* Untar dumps of the database:
** <code>tar zxvf En_meps_dump_memoire_politique.tgz</code>
+
** <code>tar zxvf en_meps_dump_memoire_politique.tgz</code>
** <code>tar zxvf En_votes_dump_memoire_politique.tgz</code>
+
** <code>tar zxvf en_votes_dump_memoire_politique.tgz</code>
 
* Load the following ''containers'' from this tarball:
 
* Load the following ''containers'' from this tarball:
 
** ''container'' for MEPs: <code>dbxml_load -h <target_directory> -f dumps/en_meps.dump en_meps.dbxml</code>
 
** ''container'' for MEPs: <code>dbxml_load -h <target_directory> -f dumps/en_meps.dump en_meps.dbxml</code>

Version du 23 novembre 2010 à 23:04

Political Memory: Implemented Software Framework

Pages on this wiki related to Political Memory are based upon a Berkeley DB XML database (BDB XML). Some Perl scripts are run to create this database, to extract informations from this database in order to create wiki pages, or to update this database from updates made on the wiki pages. Hence these wiki pages can be viewed as a frontend to this database. However there is no real time synchronizations between the database and the wiki pages. Updates of the wiki from the database, and conversely, are frequently made in a semi-automatic way.

The directory tree, and Perl scripts can be downloaded freely, as well as the following dumps of BDB XML 'containers:

All scripts are licensed under GNU General Public License version 3 or higher.

Database Setup

  • Untar directory tree tarball (tar zxvf skeleton_memoire_politique.tgz)
  • Download Berkeley DB XML.
  • Install BDB XML with Perl support (sudo sh buildall.sh --enable-perl)
  • Untar dumps of the database:
    • tar zxvf en_meps_dump_memoire_politique.tgz
    • tar zxvf en_votes_dump_memoire_politique.tgz
  • Load the following containers from this tarball:
    • container for MEPs: dbxml_load -h <target_directory> -f dumps/en_meps.dump en_meps.dbxml
    • container for the votes : dbxml_load -h <target_directory> -f dumps/en_votes.dump en_votes.dbxml

You can access to this database with shell (dbxml) provided by BDB XML (see tutorial) or by writing your own programs in C++, Java, Perl, Python, PHP or Tcl. Of course, the Perl scripts described below can be use as examples.

Scripts Descriptions

Informations about command line arguments and options of each script are described by simply passing the option ./<script> --help (or ./<script> -h).

Les scripts Perl sont simplement installés en décompressant leur archive (tar zxvf scripts_memoire_politique.tgz)

Database Initialization

  • en_fetch_mep_infos2xml.pl: Fetch all MEPs' informations from the European Parliament website. Every MEP's informations are saved into an XML file, MEPs' pictures are also downloaded.
  • en_rollcall2xml.pl: From a text file produced with a copy/paste from the PDF file listing rollcall votes at the European Parliament, produce the corresponding XML file. The XML file should then be completed by hand to add some descriptions of amendments, voting recommendations, etc.

Database Update

  • load_xml2dbxml.pl: Load XML files passed as arguments into a BDB XML container.
  • update_opinions.pl: Update a MEP's opinions from her wiki page into a BDB XML container.
  • vote_update_meps.pl: update MEPs' voting results into a BDB XML container.

Wiki Pages Extraction

  • en_all_meps_xmldb2mediawiki.pl: Create wiki pages for all MEPs from a BDB XML container.
  • en_mep_xmldb2mediawiki.pl: Create the wiki page for a MEP from a BDB XML container.
  • en_vote_xmldb2mediawiki.pl: Create wiki pages related to a vote from a BDB XML container.

Searching Wiki Pages Creation

  • en_meps_by_name.pl: Create wiki page listing MEPs by alphabetical order from an XQuery query.
  • en_meps_by_country.pl: Create wiki page listing MEPs by country from an XQuery query.
  • en_meps_by_group.pl: Create wiki page listing MEPs by political group from an XQuery query.
  • en_meps_by_committee.pl: Create wiki page listing MEPs by committee from an XQuery query.
  • en_meps_by_office.pl: Create wiki page listing MEPs by office from an XQuery query.

Wiki Pages Update

  • upload_mediawiki.pl: upload wiki pages passed as arguments.
  • upload_img.pl: upload pictures passed as arguments.