-
Notifications
You must be signed in to change notification settings - Fork 5
Home
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
[email protected].
===
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.