vitorohe / repositorium

Document bootstrapping database with collective quality control

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Repositorium

Web Engine for Collective Repositories. Based principally on CakePHP and MySQL

Initiated and mainly directed by Jérémy Barbay. Participating students listed in Section (Academic) History

Installation

Requirements

  • MySQL 5.1
  • PHP 5.3 (any php5 should work fine too)
  • Apache 2.2

Getting the source

Open a console and get the source

git clone git://github.com/mquezadav/repositorium.git

Configuration

Then you’ll have a copy of the source at local.

Create the following folders and give these permissions (some of them already exist):

  • chmod o+w app/tmp
  • chmod o+w app/tmp/cache
  • chmod -R o+w app/tmp/cache/persistent
  • chmod -R o+w app/tmp/cache/models
  • chmod -R o+w app/tmp/logs

Copy database.php.default to database.php, and core.php.default to core.php, and bootstrap.php.default to bootstrap.php in app/config.

Edit database.php:

var $default = array(
    'driver' => 'mysql',
    'persistent' => false,
    'host' => '<HOST>',
    'login' => '<LOGIN>',
    'password' => '<PASSWORD>',
    'database' => '<DBNAME>',
    'prefix' => '',
);

Change <HOST>, <LOGIN>, <PASSWORD> and <DBNAME> (database name) to the correspoding values in your system

Initial DB Dump

  1. To load the dump file (repositorium.sql) with initial data (users: admin and anonymous). It contains no documents and no criteria.

    mysql -u <LOGIN> -p <PASSWORD> <DBNAME> < repositorium.sql

  2. Now you have 3 users: anonymous, normal user and admin. The admin user has the following attributes
    • Login: super@admin.com
    • Password: superadmin

    Normal user has the following attributes:

    • Login: user@example.com
    • Password: useruser
  3. Then create a repository, create a new criteria or category, and then add some documents (or users if you are admin). You can also manage your documents and criterias where you are expert.

Security

At core.php file (app/config/), at lines 204 and 209, randomly modify some alphanumeric characters of the corresponding Salt and Cypher Seed. Example:

Configure::write('Security.salt', '<SOME LONG RANDOM STRING>');

This changes’ll avoid keeping the same session at different app clones, and for security sake.

(Academic) History:

  1. 2011A: Initial project
    • Project for course “CC5401 - Ingenieria de software”

Departamento de Ciencias de la Computacion (DCC), University of Chile

  • Staff:
  1. Jérémy Barbay -jyby@github (course client)
  2. Hernan Fierro (project manager)
  3. Pablo Estefo - pestefo@github (analyst)
  4. Felipe Banados - fbanados@github (designer)
  5. Nicolas Perez - thomaslight@github (developer)
  6. Mauricio Quezada - mquezadav@github (developer)
  7. David Contreras - dcontrer@github (tester)
    • Object:
  • creation of the first version of the prototype:
    • only text fragments
    • simple parameterized quality control
    • one single repository per server
    1. 2011A: Multi community
      • Internship
      • Staff:
  1. Jérémy Barbay - jyby@github (advisor)
  2. Mauricio Quezada - mquezadav@github (developer)
    • Object:
  • Clean the code and correct some bugs
  • Extend the engine to support multiple repositories, each with its own parameters and url.
  • install an instance of the engine at http://repositorium.cl
    1. 2011B: Repositorium for Students
      • Internship
      • Staff:
  1. Jérémy Barbay - jyby@github (advisor)
  2. Carlos Gajardo - cgajardo@github (developer)
    • Object:
  • Add support for file attachments
  • fill a repository with education files (e.g. pdf of past exams) for students, inspired by the project Sensei (now collapsing for lack of participation)
  • propose to some students to use the new repository
  • survey student usage of the new repository
    1. 2011B: Repositorium for Professors
      • Internship
      • Staff:
  1. Jérémy Barbay - jyby@github (advisor)
  2. Hernan Fierro (developer)
    • Object:
  • correction of various bugs
  • implementation of the bug and feature management
  • Add support of visualisation features (e.g. LaTeX, HTML, etc…)
  • fill some repositories with pedagogical material (e.g. solved problems to compose assignments and exams) for professors, inspired by existing ad-hoc repositories (without quality control nor incentive to contribute)
  • propose to some professors to use the new repositories
  • survey professor usage of the new repositories.
    1. 2011B
      • Project for course “CC5401 - Ingenieria de software”

Departamento de Ciencias de la Computacion (DCC), University of Chile

  • Staff:
  1. Jérémy Barbay -jyby@github (course client)
  2. César Campos -ccampos@github (project manager)
  3. Rodrido Peralta -(analyst)
  4. Leonardo Rojas -LeoRojas@github (developer)
  5. Matias Bensan -(designer)
  6. Rafael Meruane -(tester)
    • Object:
  • Detection and management of duplicated material
    • Main aim to counteract the simplest attack consisting to resubmit exact copies or minor variants of documents already in the repository.
    • DOES NOT aim to implement advanced “plagiarism” detection.
  • Added tag-cloud.
  • Search for title and contents.

About

Document bootstrapping database with collective quality control


Languages

Language:PHP 98.2%Language:JavaScript 1.8%Language:Shell 0.0%