Skip to content
Scripto is an open source documentary transcription tool library written in PHP.
Find file
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.



© 2010-2011, Center for History and New Media
License: GNU GPL v3

Scripto is an open source documentary transcription tool written in PHP. It features a lightweight library that interfaces MediaWiki and potentially any content management system that serves document images. MediaWiki is a good choice for the transcription database for several reasons:

  • It is the most popular wiki application and has a sizable and active developer community;
  • Wiki markup is relatively easy to learn and there are useful WYSIWYG editors available;
  • It offers helpful features, such as discussion pages and user administration;
  • It comes with a powerful, fully-featured API.


  • PHP 5.2.4+
  • Zend Framework 1.10+
  • MediaWiki 1.15.4+
  • Custom adapter interface to (and possibly an API for) the external CMS


  • Download and install MediaWiki;
  • Download the Zend Framework library;
  • Download the Scripto library, set the configuration, and use the Scripto library API to build your documentary transcription application.

Suggested Configuration and Setup

Here's a basic configuration:


// Path to directory containing Zend Framework, from root.
define('ZEND_PATH', '');

// Path to directory containing the Scripto library, from root.
define('SCRIPTO_PATH', '');

// URL to the MediaWiki installation API.
define('MEDIAWIKI_API_URL', '');

// Name of the MediaWiki database.
define('MEDIAWIKI_DB_NAME', '');

// Set the include path to Zend and Scripto libraries.
               . PATH_SEPARATOR . ZEND_PATH 
               . PATH_SEPARATOR . SCRIPTO_PATH);

// Set the Scripto object.
require_once 'Scripto.php';
require_once 'Scripto/Adapter/Example.php';
$scripto = new Scripto(new Scripto_Adapter_Example, 
                       array('api_url' => MEDIAWIKI_API_URL, 
                             'db_name' => MEDIAWIKI_DB_NAME));

// Set the current document object.
$doc = $scripto->getDocument($_REQUEST['documentId']);

// Set the current document page.

See the examples/ directory for more suggestions on configuration, setup, layout, and styles.

Something went wrong with that request. Please try again.