waldir edited this page Feb 22, 2013 · 9 revisions
Clone this wiki locally

Last updated 04/11/2010.

To learn more about PaperCube, you can try it out at http://papercube.peterbergstrom.com and view the demo video at http://vimeo.com/5661651

If you want to read more about PaperCube and related research go to http://www.peterbergstrom.com/research/

There is code reference documentation for PaperCube and the NodeGraph
framework at http://www.peterbergstrom.com/papercube_docs/ and
http://www.peterbergstrom.com/nodegraph_docs/, respectively.

If you have specific questions, please email Peter directly at


PaperCube is open source software released under the MIT License
(see license.js)

Copyright 2008-2009, Peter Bergström


PaperCube uses SproutCore 0.9.23. To install it, please run the following

% sudo gem install sproutcore —version=0.9.23

Then, to run in development, start sc-server in the main project directory:

% cd papercube
% sc-server

Finally, point your browser to the following URL:


There is a wealth of additional information on the SproutCore wiki at
http://wiki.github.com/sproutit/sproutcore and at the main project website,


To build, in the main directory, run sc-build. Copy the resulting build to your
web server. Please note that the sc-config file at the root of the directory
can be used to customize it further.


Currently, the API is PHP-based. In the “database_api” directory, there is a
file, “request.php” that interfaces with the database.

Currently, the database relies on CiteSeer. The database is quite large, but
an exported version of the database is available at the following URL:

The schema is available in the “database_api” directory in “database.txt”

Please note that in the code, there are references to “/api/request.php”. If
you change your server or install location, this will be different.


Some additional notes on setup:

If you’re running on a Mac, I would but that in /Library/WebServer/Documents/api which then will be accessible through http://localhost/api/request.php (with your mysql username and password set in the PHP script)

Try these queries to test your setup:

Search results for papers:

Details on one paper:

Extended details:

Search results for authors:

Details on one author:

If this works, you’re almost there!

If you’re running PaperCube in development mode using sc-server, you are most likely accessing it via http://localhost:4020/papercube. If so, you will have to proxy the port 80 request.php calls in apache in httpd.conf:

<VirtualHost *:80>
ProxyPass / http://localhost:4020/
ProxyPassReverse / http://localhost:4020/

If you’re running PaperCube as a built package, you can put the application in /Library/WebServer/Documents and then it will just live on port 80 out of the box.



PaperCube uses the SproutCore JavaScript framework.