Instiki
FAQ

Q: Does Instiki run on a server that is running IIS? How do they interact?

Q: Where to ask questions about Instiki
A: On the instiki-users mailing list. Also, try to search in the list archives. The answer may be already there.

——

Q: Where to report Instiki bugs?
A: On rubyforge

——

Q: Is there a way to set Instiki to run as a daemon on OSX so you don’t need to keep a terminal window open to have it running? I want to set it up on a server somewhere!

A: run Instiki with ”—daemon” option or use nohup (but note that neither of these methods works on Windows).

Q: How do you run Instiki as a windows service?
A: To run Instiki as a Windows service, see Running as a Windows Service. Or follow the description on http://agiletesting.blogspot.com/2005/09/running-python-script-as-windows.html modifying where necessary. You’ll need to install the Resource Kit first, this is linked from http://www.petri.co.il/download_windows_xp_reskit_tools.htm.

——

Q: I’m on a Mac Book (Intel) and I need my new Instiki installation to read from my old (previous Mac, with old version Instiki) madeleine files. How do I do that?
A: Read the Migrating Instiki 0.10.2 storage to Instiki 0.11.0 database in the README file of the current instiki release.

——

Q: How to upgrade Instiki ?
A: From Instiki-users : ”I assume you’re not using the gem version. Better to unzip to a new directory and just copy the storage dir over. The snapshot file format is compatible, and this take care of backing things up.”

Follow up Q: After copying the storage directory, I get the following error:
...instiki-0.10.2/vendor/madeleine-0.7.1/lib/madeleine/automatic.rb:230:in `load': undefined class/module WikiChunk::Image (ArgumentError)
How to work around this error?

Another follow up: I updated my One-Click-Installer to Ruby 1.8.4. Now my Instiki (0.10.2) won’t start any longer:

D:/tmp/test_instiki/vendor/rails/activesupport/lib/active_support/clean_logger.rb:13:in `remove_const': constant Logger::Format not
defined (NameError)
        from D:/tmp/test_instiki/vendor/rails/activesupport/lib/active_support/clean_logger.rb:13
        from c:/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in `require'
        from D:/tmp/test_instiki/vendor/rails/activesupport/lib/active_support.rb:31
        from c:/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in `require'
        from D:/tmp/test_instiki/config/environment.rb:52
        from c:/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in `require'
        from D:/tmp/test_instiki/script/server:68
        from D:/tmp/test_instiki/instiki.rb:3

Now what? How can I update the Madelaine storage from the 0.10.2 installation to the sqlite storage of Instiki 0.11.0?

A: Read the README.
A2: I don’t think 10.2 will not work with Ruby 1.8.4. 10.2 works with 1.8.2. First get your 10.2 working with Ruby 1.8.2; then follow the upgrade instructions on the 11.0 README using instiki 11.0 and Ruby 1.8.4.

Q: Now I get this error message:

 D:\tmp\test_instiki>ruby script\import_storage -t D:\tmp\instiki-0.10.2\storage\2500
                                                           -i d:\tmp\instiki-0.10.2 -d sqlite -o instiki_import.sql
 d:/tmp/instiki-0.10.2/vendor/madeleine-0.7.1/lib/madeleine/zmarshal.rb:43:in `read': buffer error (Zlib::BufError)
         from d:/tmp/instiki-0.10.2/vendor/madeleine-0.7.1/lib/madeleine/zmarshal.rb:43:in `load'
         from d:/tmp/instiki-0.10.2/vendor/madeleine-0.7.1/lib/madeleine/automatic.rb:402:in `load'
         from d:/tmp/instiki-0.10.2/vendor/madeleine-0.7.1/lib/madeleine/automatic.rb:155:in `load'
         from d:/tmp/instiki-0.10.2/vendor/madeleine-0.7.1/lib/madeleine.rb:211:in `recover_snapshot'
         from c:/ruby/lib/ruby/1.8/open-uri.rb:88:in `open'
         from d:/tmp/instiki-0.10.2/vendor/madeleine-0.7.1/lib/madeleine.rb:210:in `recover_snapshot'
         from d:/tmp/instiki-0.10.2/vendor/madeleine-0.7.1/lib/madeleine.rb:53:in `new'
         from d:/tmp/instiki-0.10.2/vendor/madeleine-0.7.1/lib/madeleine/automatic.rb:272:in `initialize'
         from d:/tmp/instiki-0.10.2/app/models/wiki_service.rb:184:in `initialize'
         from d:/tmp/instiki-0.10.2/app/models/wiki_service.rb:147:in `instance'
         from script/import_storage:165

——

Q: Where is the old FAQ page?

A: 90% of information on that page was about Instiki 0.9, which is no longer a current version. So, restoring it seems useless (and in fact counter-productive, as in many cases it contains advice that simply won’t work for the 0.10 version users).

——

Q: How do I open a link in a new window?

A: If your wiki allows HTML in the markup, you can write it as a raw HTML. It is the only way.

——

Q: Why doesn’t Instiki work on my Mac?

A: The OS X .dmg build of instiki 0.10.2 includes Ruby, but will only run on OS X 10.4. It will not run on OS X 10.3 or earlier. You will notice the Wiki item in the toolbar, but when accessed, your browser will return a “Can’t connect to localhost:2500” message.

——

Q: On Windows 2000 my instiki grows and grows until it runs out of virtual memory and dies. Is this a known bug? – I want to chime in that this also happens to me… not good. :-(

Me too, on Linux, with Instiki 0.12. Rather major bug really! Bug report: http://rubyforge.org/tracker/?func=detail&atid=783&aid=18185&group_id=186

——

Q: How do you pronounce Instiki?

Instant + wiki = in-stee-kee || in-stih-kee

Pronounce all i’s as ‘ee’, not as ‘ai’. If that’s the question… :)

——

Q: How do you configure Apache to proxy for Instiki?

A: See How To Use Instiki As Web Site for information.

——

Q: How do you configure Instiki to use Markdown as its wiki markup language? Are there any special features of Instiki Markdown?

A:
  1. Click Edit Web on the front page of your site
  2. Under the Specialize heading, choose Markdown from the selection box
  3. Below the Publish read-only section, enter your system password and click Update Web

——

Q: What is a quick and dirty way to delete a wiki web without removing the entire storage installation?

A: I haven’t seen much documentation on this, aside from a posting on the debug_storage script, which is used here, but no specific instructions. This is a step-by-step instruction set to remove a wiki web from your Instiki Installation. There may be a better way than this, but I’ve used this method successfully many times without problems, so it has the virtue of working, even if it is not elegant.

These instructions assume that you are using a gem-installed Instiki 0.10.2, that you have shell access to the hosting machine with write permissions to the storage area.

Please note that this is not a developer-backed solution. I’m just an Instiki user that figured out how to do this and I am giving back to the community.

  1. Shut down Instiki (kill -2)
  2. Backup your storage area
  3. If you are paranoid, verify that your backup is good by running it on another port for verification that Instiki likes the backup.
  4. Find where the debug_storage script is located and change to that directory:
    me@mybox:/home/myhome> locate debug_storage
    /usr/local/lib/ruby/gems/1.8/gems/instiki-0.10.2/script/debug_storage
    me@mybox:/home/mybox> cd /usr/local/lib/ruby/gems/1.8/gems/instiki-0.10.2/script
    
  5. Start irb and require the ‘madeleine’ engine:
    me@mybox:/usr/local/lib/ruby/gems/1.8/gems/instiki-0.10.2/script> irb
    irb(main):001:0> require 'rubygems'
    => true
    irb(main):002:0> require_gem 'madeleine'
    => true
    
  6. Load the debug_storage script and pass it your storage area:
    irb(main):003:0> load 'debug_storage'
    Enter path to storage [/usr/local/lib/ruby/gems/1.8/gems/instiki-0.10.2/storage/2500]: /path/to/instiki/storage/2500
    Loading storage from the path you entered (/path/to/instiki/storage/2500)
    Instiki storage from /path/to/instiki/storage/2500 is loaded.
    Access it via global variable $wiki.
    Happy poking!
    => true
    
  7. Look for the address of the wiki web that you want to delete:
    irb(main):004:0> $wiki.webs.keys
    => ["wikiweb1", "wikiweb2", "wikiweb3"]
    
  8. Delete the wiki web(s) you want removed:
    irb(main):005:0> puts $wiki.webs.delete('wikiweb2')
    #<Web:0x88a0f14>
    => nil
    irb(main):006:0> puts $wiki.webs.delete('wikiweb3')
    #<Web:0x88a0f14>
    => nil                                  
    

    Note that the ‘puts’ is just a quick way to suppress the print out of the return of the delete method, which is the entire wiki. This is especially helpful if you have a large wiki.
  9. Check to ensure that you have removed everything you want and take a snapshot.
    irb(main):006:0> $wiki.webs.keys
    => ["wikiweb1"]
    irb(main):015:0> WikiService::snapshot
    => []
    
  10. Quit irb
    irb(main):016:0> quit
    
  11. Start up Instiki once again, verify that your Wiki still works and the removed wiki webs are gone.
  12. That’s it, you are done.

——
Q: Is there any other better way to delete a page? Given the simplicity of the Wiki, don’t understand why deletion is such a problem. Can be an option in the admin panel!
——
Q: I’ve loaded instiki 11.0 on debian linux and when I start it up all I see is a blank page.

A: As found by mathew on rubyforge instiki mailling list, the ruby package on debian doesn’t automaticly load the rubysqllite interconnector package (libsqlite3-ruby1.8).
——
Q: I’m using the Mac OS X version that runs as an application, how do I delete extra wikis? (Quick and dirty version as referenced above).

A: To delete a Wiki manually from Instiki (OS X version)

Note: Commands are CASE sensitive and must be entered just as you see them.
And for the love of all that is holy, backup your Instiki folder (from the Application Support folder) before doing this.

If you don’t know your short username, open a new terminal window (command-N) and type in pwd. You’ll get an output like /Users/micheal and so you know that micheal is your short user name.

Open up Terminal after quitting Instiki.

  1. Type in
    cd /PATH/TO/INSTIKI (eg. cd /Applications/Instiki.app/)
    cd /Contents/Resources/rb_src/script/
    irb
    irb(main):001:0> load 'debug_storage'
  2. When asked for the path to storage enter:
    /Users/YOUR-SHORT-USERNAME/Library/Application Support/Instiki/2500/
    1. Do not allow a backslash (””) to appear before the space in “Application Support”. If you do this, it will not find the storage!
    2. You’ll get the Happy Poking message
  3. Next type in
    $wiki.webs.keys
    ##This will come back with a list of wikis that you have made.
  4. Next we enter
    puts $wiki.webs.delete('NAME-OF-WIKI-WE-WANT-TO-DELETE')
    ##Type it exactly as you saw it in the line before.
  5. Enter
    $wiki.webs.keys
    again to confirm that the wiki was deleted.
  6. Then we type
    WikiService::snapshot
    to save our changes.
  7. Type quit to finish.

Start up Instiki again, verify that it went correctly, close the Terminal and you’re set until you need to delete another or the easy delete feature is finally added.
Bath and Shower
Fragrance
Gift Sets
Hair Care
Makeup
Men’s Grooming
Shaving and Hair Removal
Skin Care
Tools and Accessories
——

Q: How to permanently remove an unwanted page? And how to delete an orphan page or multiple orphan pages at once? And how can the administrator find out if those pages are deleted?
A: Follow the steps as shown in the above example and when you are in irb before step 9 do this:

irb(main):007:0> $wiki.webs["wikiweb1"].pages.keys

Baby Apparel
Baby Bathing & Skin Care
Baby Bedding
Baby Car Seats
Baby Diapering
Baby Feeding
For Moms
Baby Furniture
Baby Gear
Baby Gifts
Baby Health & Baby Care
Nursery Décor
Potty Training
Baby Safety
Baby Strollers

This will show you all the pages for that wikiweb1.

Now assuming that the name of the orphaned page is “Poor_Child” you simply do:

irb(main):008:0> $wiki.webs["wikiweb1"].pages.delete("Poor_Child")

Confirm that the page no longer exists, by doing:

irb(main):009:0> $wiki.webs["wikiweb1"].pages.keys

Continue from step 9 above. As always, this hint is to be taken with a grain of salt. It is unofficial.

——

Q: All the Instiki pages I load yield a page Not Found error and, in the log, I see this error:

#<ActionController::SessionRestoreError: 
Session contained objects where the class definition wasn't available. 
Remember to require classes for all objects kept in the session. 
(Original exception: uninitialized constant User [NameError])>  

A: This problem arises when you are running multiple Rails (including Instikis) on the same server and they are confusing their sessions. To solve this problem, add this to the end of your config/environment.rb file so that each Rails application will have a unique prefix for their session variables:

ActionController::CgiRequest::DEFAULT_SESSION_OPTIONS.update(:prefix => 'instiki.')

——

Q: Is there a difference between i2 and Instiki? Are they both a Rails application? Then why don’t I have to install Rails (only Ruby)? Is it because Rails makes all-in-one packages of the apps or is this one a special mockup/install?

A: Although Instiki predates Rails, the current version is a Rails app. It uses the Webrick server that Rails also uses. Installing i2 is more involved. Instiki is targeted to individuals and small organization wikis. i2 is more robust, at the cost of being somewhat more complex to configure/operate.

——

Q: On Mac OS X, where are the pages stored? I don’t see them in any of the expected places (like /Library/Webserver/Instiki/). Searching the documentation (this wiki) for ‘storage’ didn’t answer this question. This is all the more important since exporting doesn’t seem to work&

Q: Thats my problem too on OSX Tiger
Q:I have this problem too, where is the data? I am linux, but the storage folder 2500 is still 0 bit as I added some pages content there … in addition, export gave me 0 bit file … please help!
Q:%{color:red}With no way to get my data back out of Instiki, I’m not going to trust it with anything … why does this happen? Exporting on OS X 10.4 simply hangs, the zip files are crap.
A 1/2: its laying in ~/Library/Application Support/instiki/.. but I can’t expand that file too.
Q: I have the same problem under linux. ‘Export’, either html or textile, gives me an empty file (although it takes a good while to generate it). Is there a bug someplace?

——

Q: It won’t start – how do I do crash recovery?

A: It could be that storage/2500 has a bad file. I removed the last one and (thankfully) was able to get in again. Scarry!

A: Scary, indeed. I was getting a ‘Buffer Error’ that prevented Instiki from starting. I removed the last file in storage/2500 per above and (thankfully) it started up again! Whew!

Q: Okay, so I forgot my password. Is there any way to recover it? I’ve got physical access to the box it’s on. (Actually it’s installed on my iPod Shuffle!) Someone please help.

A: (0.10.2 and prior) rename the latest snapshot to a .gz, gunzip it, then look through it for password. Ugly but worked for me.
A: (0.11.0) Login to the db for your system and look at the contents of the “system” table. For sqlite3 (the default), ”sqlite3 db/production.db.sqlite3” and then ”.dump system”. I actually had the issue when upgrading that there were no rows in that table, so I inserted one manually. ”insert into “system” VALUES (1, ‘password’);

——

Q: I am using Instiki 0.10.2. According to the change log, HTML export is fixed. However, when I click on export I get an Error 500. The storage directory is empty. Is this an Instiki bug, or could I be missing some dependency???

A: It’s a bug in 0.10.2.

Q: I am using Instiki 0.10.2. In Textile only mode, when I save the contents, all HTML being ugly.(line break doesn’t working, and some Textile does not work either).
Is this a bug or my some mistake?? I’m running into this same problem as well on 0.11.0.

A: t.b.d

Q: I have a phpwiki with lots of pages. I want to move all the data to instiki. What would be the simplest way to do this? (I need step-by-step howto).

A:

Q: Is there a way to see a page’s history? It seems the only way to know a page’s history is to manually walk through the revisions.

A:

Q: I’m trying to cut and paste text from a .doc file into Instiki. When I click Submit it doesn’t save and I get a message at the top that says “Your edit was blocked by spam filtering”. What is this and how can I get rid of it?

A: Certain regular expression patterns are matched as spam. They are located in #{RAILS_ROOT}/config/spam_patterns.txt

Q: How do I handle files with a size >100 kB ? If I try to upload, the system tells me something of a file size limit at 100 kB. If I copy the large file into the storage area of instiki and add a link to this file, it can not be accessed. Can I extend this ? Or what I’m doing wrong ?

A: ok…..I found it….at “Edit Web” but it seems that there is still an internal (?) max limit somewhere at 32MB ? Let’s say, uploading a file with 23MB will run fine, but e.g. a pdf-file with 54 MB will be uploaded, but it’s not possible to display it. my workaround: copy this huge file to an additional sub-directory ( I’m running instiki on a local machine), I named it “man_files”, and set the link in the usual way. But I’m not sure if this is the “legal” way …..

Q: Is there any simple way to move pages from one instiki to another ?

A: (?)

Q: How does one go about linking from Instiki to a file (such as a .pdf) on a local network file server (not a web site)?

A: (?)