Skip to content


Repository files navigation

PageOneX in Ruby on Rails

PageOneX is an open source tool to code, analyze and visualize the evolution of stories on newspaper front pages. PageOneX is an free software/open source software tool designed to aid the coding, analysis, and visualization of front page newspaper coverage of major stories and media events. Newsrooms spend massive time and effort deciding what stories make it to the front page. In the past, this approach involved obtaining copies of newspapers, measurement by hand (with a physical ruler), and manual input of measurements into a spreadsheet or database, followed by calculation and analysis. Some of these steps can now be automated, while others can be simplified; some can be easily shared by distributed teams of investigators working with a common dataset hosted online.

How is your project different from what already exists? Communication scholars have long used column-inches of print newspaper coverage as an important indicator of mass media attention. PageOneX simplifies, digitizes, and distributes the process across the net.

More Info

You can find more information and examples at or at the blog

Running pageonex

Pageonex is a Free/Libre and Open Source Software (F/LOSS) project. If you don't want to use the hosted version of pageonex at you have a few options to run it yourself. We've prepared a set of soltuions that use docker, a containerized version of the tools that allows you to use the tool without the need to handle all the dependencies of Ruby on Rails.

  1. For any of the following options with you need to download or clone this repository. If you are familiar with git you can clone it git clone with git clone Otherwise you can download the entire code in a .zip.
  2. Install Docker.

You have various options:

If you want to install it from scratch, please use the manual in the wiki:


The project has many collaborators. The coders have been/are Ahmd Refat, Edward L Platt, Rahul Bhargava, Rafael Porres and Pablo Rey Mazón. Sasha Costanza-Chock is giving advice and support from the Center for Civic Media; Alfonso Sánchez Uzábal is providing tecnical support and Montera34 the server. Thanks to Jeff Warren for his advice and Rogelio López for his testing.

Join the project

Join the mailing list for developers, for users or subscribe to the newsletter to get the last updates.


The project has gone through different phases. Initially, this type of data visualization was made through a ‘manual’ process: images of newspaper front pages were downloaded from the web and reorganized in a vector graphics program to draw rectangles on top of them to highlight certain stories.

The first version of an automated tool was a script written in Processing, that downloaded newspapers front pages and generated an organized array of images ordered by date.

The second version is this tool written in Ruby on Rails that you are using. It is developed to be a web platform to provide a ready to use front page analysis tool for anyone with a connection to the Internet. The platform automates the process of newspaper selection, download, thread coding, and data visualization. The alpha version was developed by Pablo Rey Mazón with Ahmd Refat, thanks to Google Summer of Code program 2012 (GSOC) and the Berkman Center as host institution in Summer 2012.

In Winter-Spring 2013, at the MIT Center for Civic Media at MIT Media Lab, we developed with rahulbot and elplatt the first beta version and preparing a stable deployment. rporres developed a web crawler for front pages.

The beta version can be used at

Check the documentation of the project at the wiki hosted in this same repository.

In 2016 Sasha Costanza-Chock and Pablo Rey-Mazón published PageOneX: New Approaches to Newspaper Front Page Analysis, we hope it provides an useful guide and resource to the field of the newspapers front page analysis and to clarify the different possible uses of PageOneX.

In the summer of 2018 we developed a bunch of new of great features:

  • Rafa made containerized versions to allow easy local install of the project and easy upgrade in the MIT server. An automatized process was developed with Travis and webHooks to create new container images and make deployment easier.
  • Xuanxu developed great enhancements that allow the use of multiple taxonomies, edit and remove areas, fork a thread and export data in “raw format” (That allows analysis in R, for example), among other stuff.

Now: Main problems to solve. 2021

There are currently 3 main problems are:

  • The version of Ruby on Rails (RoR) that Pageonex uses is very old (it usees ruby 1.9.3. where current is 3.0.1). The gems it uses are also out of date and there are potential security vulnerabilities (view security risks).
  • The use of an old version of RoR has made the containerization and deployment process more difficult, even blocked it.
  • Sometimes the web app crashes.