public
Description: An open source social networking platform in Ruby on Rails
Homepage: http://dogfood.insoshi.com
Clone URL: git://github.com/insoshi/insoshi.git
mhartl (author)
Wed Aug 06 19:24:49 -0700 2008
commit  efdb12604992da3627e6e7bac7df701a2635c3c4
tree    d5d3c5c69f3b966cdd665f1d65d9ef165eabc3bc
parent  0d822608800087a92a1be20b38900b994906de35 parent  90202c84d967bdb539c7c834450bfce7ee8e6efe
name age message
file .gitignore Thu Jul 31 14:05:42 -0700 2008 Removed footnotes They produce invalid HTML, wh... [mhartl]
file INSTALL Mon Apr 07 11:43:24 -0700 2008 Moved INSTALL to the README file for GitHub's p... [mhartl]
file LICENSE Tue Jul 29 23:41:58 -0700 2008 Updated LICENSE to reflect new company name [mhartl]
file README.rdoc Mon Aug 04 11:25:32 -0700 2008 Updated README to reflect the new default datab... [mhartl]
file Rakefile Mon Feb 18 15:18:20 -0800 2008 init [mhartl]
directory app/ Thu Jul 31 14:21:52 -0700 2008 Polished message anchors so it looks good when ... [mhartl]
directory config/ Fri Aug 01 22:31:04 -0700 2008 Updated database.example to use MySQL [mhartl]
directory db/ Sun Aug 03 09:29:38 -0700 2008 Fixed sample data load by adding blog creation ... [mhartl]
directory doc/ Mon Feb 18 15:18:20 -0800 2008 init [mhartl]
file init.rb Wed Feb 20 19:04:44 -0800 2008 Got new, index working for people [mhartl]
directory lib/ Wed Aug 06 19:24:49 -0700 2008 Merge branch 'edge' [mhartl]
directory log/ Sun Mar 02 10:04:28 -0800 2008 Added 1st cut of installation readme Put a .git... [mhartl]
directory public/ Mon Jun 16 17:52:35 -0700 2008 Fixed broken checkbox bug. [mhartl]
directory script/ Mon Aug 04 11:28:32 -0700 2008 Update install script to create needed files an... [mhartl]
directory spec/ Thu Jul 31 13:59:11 -0700 2008 Merge branch 'messages' into edge [mhartl]
directory stories/ Mon Feb 18 19:55:09 -0800 2008 Added authentication Testing layout [mhartl]
directory vendor/ Thu Jul 31 15:08:30 -0700 2008 Removed deprecated cache_template_extensions [mhartl]
README.rdoc

Insoshi social software

NOTE: If you downloaded a zipped archive of Insoshi, we strongly encourage you to clone the Insoshi Git repository instead. See the instructions below, and also see

  http://sites.google.com/a/insoshi.com/insoshi-guides/Installation

for more details.

To follow our progress, join the Insoshi developer community site at

  http://dogfood.insoshi.com/signup

and join the Insoshi Google group at

  http://groups.google.com/group/insoshi/subscribe

Get Git

The source code to Insoshi is managed via Git, a version control system developed by Linus Torvalds to host the Linux kernel.

The first step is to install it from here:

  http://git.or.cz/

Linux and Mac users should have no problems; Windows users might have to install Cygwin (cygwin.com/) first.

For more detailed information, check out our guide for Installing Git under Git Guides at

  http://docs.insoshi.com

Install libraries and gems

Libraries

You’ll need to install FreeImage or some other image processor (such as ImageMagick/RMagick), SQLite, and (optionally) MySQL. Install instructions for all three are easy to find using Google. (If you’re installing FreeImage on Windows, this blog post might be helpful: www.thewebfellas.com/blog/2008/2/18/imagescience-on-windows-without-the-pain/comments/931#comment-931.)

To use Insoshi’s search capability, you also need Sphinx. Follow the instructions at www.sphinxsearch.com/downloads.html to install Sphinx for your platform. When running Insoshi in a production envinronment, you should also set up a cron job to rotate the search index as described here:

blog.evanweaver.com/files/doc/fauna/ultrasphinx/files/DEPLOYMENT_NOTES.html

Gems

You probably have Rails already, but might not have the others.

  $ sudo gem install rails
  $ sudo gem install sqlite3-ruby
  $ sudo gem install mysql
  $ sudo gem install chronic

If you’re using FreeImage/ImageScience, you’ll also need the image_science gem:

  $ sudo gem install image_science

Installing the app

Here are the steps to get up and running with the Insoshi Rails app.

Git steps

Our public Git repository is hosted on GitHub and can be viewed at

  http://github.com/insoshi/insoshi

You can clone the the repository with the command

  $ git clone git://github.com/insoshi/insoshi.git

The clone make take a moment to complete (mainly due to the frozen Rails gems).

Then make a local Git branch for yourself:

  $ git checkout -b <local_branch>

where you should replace <local_branch> with the name of your choice (without angle brackets!).

For more information on configuring your local clone of our repository, check out our Git Guides at

  http://docs.insoshi.com

which also includes a scripted Quick Local Repository Setup.

Install script

To run the install script, you first need to set up your database configuration. If you’re using MySQL, you can just copy the example file as follows:

  $ cp config/database.example config/database.yml

Then open up database.yml and set up the passwords to match your system.

Run the following custom install script

  $ script/install

The install rake task runs the database migration and performs some additional setup tasks (generate an encryption keypair for password management, creating an admin account, etc.)

If the install step fails, you may not have properly set up the configuration files.

Then prepare the test database

  $ rake db:test:prepare

configure and start the Ultrasphinx daemon for the test runtime

  $ rake ultrasphinx:configure RAILS_ENV=test
  $ rake ultrasphinx:index RAILS_ENV=test
  $ rake ultrasphinx:daemon:start RAILS_ENV=test

and run the tests (which are actually RSpec examples in the spec/ directory):

  $ rake spec

If the tests fail in the Photos controller test, double-check that an image processor is properly installed.

To shut down the Ultrasphinx daemon for test

  $ rake ultrasphinx:daemon:stop RAILS_ENV=test

(The search specs are written to run only if the daemon is up.)

Loading sample data

Now load the sample data

  $ rake db:sample_data:reload

configure and start the Ultrasphinx daemon for the development runtime

  $ rake ultrasphinx:configure
  $ rake ultrasphinx:index
  $ rake ultrasphinx:daemon:start

and start the server

  $ script/server

The rake task loads sample data to make developing easier. All the sample users have email logins <name>@example.com, with password foobar.

Go to localhost:3000 and log in as follows:

  email: michael@example.com
  password: foobar

Admin user

To sign in as the pre-configured admin user, use

  email: admin@example.com
  password: admin

You should update the email address and password. Insoshi will display warning messages to remind you to do that.

To see site preferences such as email settings, click on the "Admin view" and the click on "Prefs" in the menu. Click the "Edit" link to customize the preferences for your particular site.

Start hacking

Now open the source code with your favorite editor and start hacking!

Check out our Git Guides for information on how to manage your local development and how you can contribute your updates back to us:

  http://docs.insoshi.com

Stat tracker

Note that there is a minimalist stat tracker that lets us keep track of how many different installs of Isoshi are out there. We don’t collect any personal information, but if you don’t want to be tracked just open application.html.erb and comment out the line after this one:

  <%# A tracker to tell us about the activity of Insoshi installs %>

License

See the file LICENSE.