/instiki-heroku

a fork of instiki that runs on heroku. follows 80% use case worst practices to make the code quickly deployable..

Primary LanguageRuby

= Instiki

Instiki is a wiki clone so pretty and easy to set up, you'll wonder if it’s really a wiki. Runs on Rails and focuses on portability and stability. Supports file uploads, PDF export, RSS, multiple users and password protection. Some use Instiki as a CMS (Content Management System) because of it's ability to export static pages.

Instiki lowers the barriers of interest for when you might consider using a wiki. It's so simple to get running that you'll find yourself using it for anything -- taking notes, brainstorming, organizing a gathering.


== Supported Platforms

This fork is designed for deploying instiki to Heroku. I recommend using the
real release version if you wish to run it anywhere else. Download the source at
http://instiki.org/

Note for Heroku read-only filesystem: file uploads are disabled by default.

== 5 easy Steps to get the Instiki on Heroku experience

#!/bin/bash
git clone git://github.com/lazzarello/instiki-heroku.git
cd instiki-heroku
heroku create
git push heroku master
heroku rake db:migrate

=== If you are on Linux

You are already rad, you got this. Follow the 5 step program

=== If you are on Mac OSX

Install git and heroku and follow the 5 step program.

=== If you are on Windows

You may be screwed, but I don't know because I recommend running Debian
GNU/Linux for everything except for entertaining yourself, for that I recommend
MacOS X.

=== Backing up on Heroku.

http://devcenter.heroku.com/articles/pgbackups

== Features

* Regular expression search: Find deep stuff really fast
* Revisions: Follow the changes on every page from birth. Rollback to an earlier rev
* Export to HTML or markup in a zip: Take the entire wiki with you home or for reference
* RSS feeds to track recently revised pages
* Multiple webs: Create separate wikis with their own namespace
* Password-protected webs: Keep it private
* Authors: Each revision is associated with an author, so you can see who changed what
* Reference tracker: Which other pages are pointing to the current?
* Five markup choices:
   Markdown-based choices [http://daringfireball.net/projects/markdown/syntax]:
     Markdown+itex2MML (the default; requires itex2MML) 
     Markdown+BlahTeX/PNG (requires blahtex and a working TeX installation
     Markdown
   Textile [http://www.textism.com/tools/textile]
   RDoc [http://rdoc.sourceforge.net/doc]
* Embedded webserver: uses Mongrel (if installed), or the bundled WEBrick webserver (if not).
* Internationalization: Wiki words in any latin, greek, cyrillian, or armenian characters
* Color diffs: Track changes through revisions
* Runs on SQLite per default, can be configured to run on PostgreSQL, MySQL, DB2, Firebird, Openbase, Oracle, SQL Server or Sybase

== History:

 * See CHANGELOG

== Migrating from Instiki 0.11-0.12 to 0.16.3

   rake upgrade_instiki

== Migrating Instiki 0.10.2 storage to Instiki 0.11.0 database

1. Install Instiki 0.11 and check that it works (you should be able to create a web, edit and save a HomePage)
2. Execute 
      ruby script\import_storage \
          -t /full/path/to/instiki0.10/storage \
          -i /full/path/to/instiki0.10/installation \
          -d sqlite (or mysql, or postgres, depending on what you use) \
          -o instiki_import.sql
   for example (Windows):
   ruby script\import_storage -t c:\instiki-0.10.2\storage\2500 -i c:\instiki-0.10.2 -d sqlite -o instiki_import.sql
3. This will produce instiki_import.sql file in the current working directory. 
   Open it in a text editor and inspect carefully.
4. Connect to your production database (e.g., 'sqlite3 db\prod.db'), 
   and have it execute instiki_import.sql (e.g., '.read instiki_import.sql')
5. Execute ruby script\reset_references 
   (this script parses all pages for crosslinks between them, so it may take a few minutes)
6. Restart Instiki
7. Go over some pages, especially those with a lot of complex markup, and see if anything is broken.

The most common migration problem is this: if you open All Pages and see a lot of orphaned pages, 
you forgot to run ruby script\reset_references after importing the data.


===Upgrading from Instiki-AR Beta 1

In Beta 2, we switch to ActiveRecord:Migrations. Therefore:
1. Back up your production database.
2. Open command-line session to your database and execute: 
  create table schema_info (version integer(11)); 
  insert into schema_info (version) values (1);
3. Go back to the shell, change directory to the new Instiki and execute "rake migrate".

Step 2 creates a table that tells to ActiveRecord:Migrations that the current version 
of this database is 1 (corresponding to Beta 1), and step 3 makes it up-to-date with
the current version of Instiki.


== Download the latest release from:

* http://rubyforge.org/project/showfiles.php?group_id=186


== Visit the "official" Instiki wiki:

* http://instiki.org


== License:

* same as Ruby's


---

Authors::

Versions 0.0 to 0.9.1:: David Heinemeier Hansson
Email::  david[AT]loudthinking.com
Weblog:: http://www.loudthinking.com[http://www.loudthinking.com]

From 0.9.2 onwards:: Alexey Verkhovsky
Email:: alex[AT]verk.info

From 0.11 onwards:: Matthias Tarasiewicz and 5uper.net
Email:: parasew[AT]gmail.com
Website:: http://5uper.net[http://5uper.net]

From 0.13 onwards:: Matthias Tarasiewicz and Jacques Distler
Email:: instiki-devel[AT]rubyforge.org
Weblog Jacques: http://golem.ph.utexas.edu/~distler/blog/
Weblog Parasew: http://parasew.com