Skip to content
This repository

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
pbergstr@gmail.com.

===

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

Copyright 2008-2009, Peter Bergström

===

RUNNING PAPERCUBE
PaperCube uses SproutCore 0.9.23. To install it, please run the following
command:

% 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:

http://localhost:4020/papercube

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

===

BUILDING PAPERCUBE
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.

===

DATABASE AND SCHEMA
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:
http://www.peterbergstrom.com/citeseer_final.zip

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:
http://localhost/api/request.php?action=searchPapers&searchKey=title&searchValue=hypertext&queryStart=0&queryLimit=50&sc=1

Details on one paper:
http://localhost/api/request.php?action=getPaperDetails&guid=PAPER-19891

Extended details:
http://localhost/api/request.php?action=getAllDataForPaper&guid=PAPER-19891

Search results for authors:
http://localhost/api/request.php?action=searchAuthors&searchKey=title&searchValue=hypertext&queryStart=0&queryLimit=50&sc=1

Details on one author:
http://localhost/api/request.php?action=getAuthorDetails&guid=AUTHOR-3305

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.

===

ACKNOWLEDGEMENTS

PaperCube uses the SproutCore JavaScript framework.

Something went wrong with that request. Please try again.