public
Description: Source code for crantastic.org: a community site for R
Homepage: http://crantastic.org
Clone URL: git://github.com/hadley/crantastic.git
Click here to lend your support to: crantastic and make a donation at www.pledgie.com !
name age message
file .braids Sat Oct 10 04:38:00 -0700 2009 Braid: Updated mirror 'vendor/plugins/live-vali... [Chrononaut]
file .gems Mon Oct 12 04:09:15 -0700 2009 Exact version dependencies for gems, to prevent... [Chrononaut]
file .gitignore Tue Aug 11 02:33:53 -0700 2009 *.pid and solr/* added to .gitignore [Chrononaut]
file .gitmodules Mon Jul 27 06:56:18 -0700 2009 Added parallel_specs submodule [Chrononaut]
file MIT-LICENSE Wed Aug 12 14:39:26 -0700 2009 MIT license for the source code [Chrononaut]
file README.markdown Fri Sep 25 02:34:07 -0700 2009 Added shell scripts from the VPS to the repos. [Chrononaut]
file Rakefile Tue Aug 11 14:27:34 -0700 2009 acts_as_solr [Chrononaut]
directory app/ Mon Oct 12 03:31:58 -0700 2009 Upgraded to rpx_now 0.6.5 [Chrononaut]
directory config/ Mon Oct 12 04:09:15 -0700 2009 Exact version dependencies for gems, to prevent... [Chrononaut]
directory db/ Mon Oct 12 03:20:33 -0700 2009 Package score should default to 0.0 [Chrononaut]
directory doc/ Thu Jun 18 06:05:42 -0700 2009 Added Heroku publish date to events [Chrononaut]
directory lib/ Sat Oct 10 06:56:27 -0700 2009 Always confirm that the user's profile is valid... [Chrononaut]
directory log/ Fri Mar 27 06:01:08 -0700 2009 Packages Table View, Some other Heading and Sty... [intinno]
directory public/ Tue Sep 01 05:38:27 -0700 2009 Updated application.css (compass upgrade) [Chrononaut]
directory script/ Tue May 12 06:42:47 -0700 2009 Upgraded rspec-rails to latest version [Chrononaut]
directory spec/ Sat Oct 10 14:56:56 -0700 2009 Now updating packages scores when ratings/usage... [Chrononaut]
directory vendor/ Sat Oct 10 04:38:00 -0700 2009 Braid: Updated mirror 'vendor/plugins/live-vali... [Chrononaut]
README.markdown

Crantastic

The project is described here. Some other links of interests are:

The rest of this document contains various pieces of information relevant for developers/contributors.

Coding conventions

The YARD meta-tag formatting format is usued for documentation, whenever it feels necessary.

Development

Copy config/database.sample.yml to config/database.yml. It defaults to SQLite, so no additional configuration of this file is necessary unless you want to use PostgreSQL (which the site runs on in production).

Run rake gems:install to install gem dependencies for the main site. Do RAILS_ENV=test rake gems:install to install the dependencies for the testing environment (required for running rake spec).

Using autospec while doing changes to the source code is highly recommended, as this is very helpful for catching accidental regressions.

After the first checkout of the code you'll have to do check out the Git submodules. Simply run git submodule init; git submodule update.

Note that you should only add/edit stylesheets in the app/stylesheets folder. public/stylesheets should only contain compiled Sass styhesleets.

Solr

A connection to a Solr server is required for running the site. Note that the version of acts_as_solr that is included in the repository is stripped down, so it does not include the server part. Setting up a Solr server on your development machine is simple, though:

  • Install the Java runtime environment (not necessary on OSX). On Debian or Ubuntu this can be done with: sudo apt-get install sun-java6-jre
  • git clone git://github.com/mattmatt/acts_as_solr.git
  • cd acts_as_solr/solr && java -jar start.jar

Then you can run rake solr:reindex from the folder where you have the crantastic source code.

R package

There is a R package for crantastic that lives in its own branch in the Git repository. Use the following steps to check out the source:

git fetch origin R-package
git checkout --track -b R-package origin/R-package

Working with Heroku

Setting up the Heroku remote

git remote add heroku git@heroku.com:crantastic.git

Confirm that it's working by running heroku info.

Pulling the latest database from crantastic.org

heroku db:pull

This will overwrite db/development.sqlite3.

Pushing your work to Heroku

git push heroku master

Personally I use an alias so I don't have to type as much:

alias gph='git push heroku master'

Updating packages from CRAN

Run rake crantastic:cron or rake crantastic:update_all_packages. Look in the lib/scripts folder for scripts and cron tasks.

License

The crantastic source code is released under the MIT license, consult the accompanying MIT-LICENSE file for details.