[ANN] Instiki 0.5.0: Getting Serious

Discussion in 'Ruby' started by David Heinemeier Hansson, Apr 13, 2004.

  1. What's new in Instiki 0.5.0?
    ============================

    "Getting Serious" includes the first major feature set improvements of
    Instiki since the 0.2.0 release. There's the option to run in
    multi-webs mode, which allows for more than one wiki namespace on the
    same port. There's revisions, so you can track the development of a
    page, and rollback if someone tool the wrong turn. And much more.

    But these features also required a major internal rework, so wikis
    created on earlier versions of Instiki won't easily port over.
    Actually, there's _no_ way to do that but manually copy/pasting
    content. I've ported a few wikis with a handfull of pages myself. It's
    not too bad. But if there's sufficient demand for a porting script,
    I'll probably do one. So voice your request if you have a big wiki that
    you'd rather not port by hand.

    Full change list:

    * Each revision is stored on the page object and it's possible to
    navigate back through the history with Previous / Next.
    * Informal signatures as wiki words (DavidHeinemeierHansson) that are
    stored in the cookie and attached to each revision.
    * Simple, optional password protection stored in the cookie.
    * Multiple wiki spaces running on the same port.
    * Command-line option for not running as a Daemon on Unix

    Upcoming features:

    * Export to HTML with all control links stripped. All files named after
    their wikinames in one big directory, example: GetThisStarted.html.
    HomePage becomes index.html.
    * Two RSS feeds for recent changes. "Headlines" with just headlines,
    author, and date. "Full content" that also include the entire page
    content.

    Instiki is running its official website on Instiki itself:
    http://instiki.nextangle.com


    What is Instiki?
    ================

    Admitted, it's Yet Another Wiki Clone[1], but with a strong focus
    on simplicity of installation and running:

    Step 1. Download
    Step 2. Run "instiki.rb 2505"
    Step 3. *Chuckle*... "There's no step three!" (TM)

    You're now running a perfectly suitable wiki on port 2505
    that'll present you with a textarea for the home page on entering.

    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.

    Instiki reserves a separate WikiSpace for each port number, so
    you can run more than one wiki by keeping them on separate ports.
    It also means that you can't access the same wiki on another port
    than the one you started it on (unless you move the directory in
    storage).

    Features:
    * Regular expression search: Find deep stuff really fast
    * Reference tracker: Which other pages are pointing to the current?
    * Speed: Using Madelein for persistence (all pages are in memory)
    * Textile formatting[2]: By ways of RedCloth
    * Embedded webserver: Through WEBrick

    Missing:
    * Revision control
    * Access control (there's not even an explicit user concept)
    * File attachments

    Command-line options:
    instiki.rb [PORT] [OPTION]...

    -m/--multi-web: Enables multiple webs on the same Instiki port.
    Great for allowing normal users to start new webs without the help of
    an admin.

    -s/--simple-server: Forces Instiki to run within the prompt and not
    attach itself
    as a daemon on Unix systems. Great if you want to test changes to
    Instiki and don't
    want to bother hunting down the PID to kill it.


    History:
    * 0.5.0: NOTE: 0.5.0 is NOT compatible with databases from earlier
    versions
    Added revisions
    Added multiple webs
    Added password protection for webs on multi-web setups
    Added the notion of authors (that are saved in a cookie)
    Added command-line option for not running as a Daemon on Unix
    * 0.3.1: Added option to escape wiki words with \
    * 0.3.0: Brought all files into common style (including Textile help on
    the edit page)
    Added page locking (if someone already is editing a page
    there's a warning)
    Added daemon abilities on Unix (keep Instiki running after you
    close the terminal)
    Made port 2500 the default port, so Instiki can be launched by
    dobbelt-click
    Added Textile cache to speed-up rendering of large pages
    Made WikiWords look like "Wiki Words"
    Updated RedCloth to 2.0.4
    * 0.2.5: Upgraded to RedCloth 2.0.2 and Madeleine 0.6.1, which means the
    Windows problems are gone. Also fixed a problem with wikiwords
    that used part of other wikiwords.
    * 0.2.0: First public release

    Download latest from:
    <a
    href="http://rubyforge.org/project/showfiles.php?group_id=186">http://
    rubyforge.org/project/showfiles.php?group_id=186</a>

    Visit the official Instiki wiki:
    http://instiki.nextangle.com/

    License is the same as Ruby's

    [1] <a
    href="http://c2.com/cgi/wiki?WikiWikiClones">http://c2.com/cgi/wiki?
    WikiWikiClones</a>
    [2] Textile Syntax: <a
    href="http://www.textism.com/tools/textile/">http://www.textism.com/
    tools/textile/</a>
    --
    David Heinemeier Hansson,

    http://www.loudthinking.com/
    David Heinemeier Hansson, Apr 13, 2004
    #1
    1. Advertising

  2. David Heinemeier Hansson

    Josh Huber Guest

    Excellent...but...

    David Heinemeier Hansson <> writes:

    > * 0.5.0: NOTE: 0.5.0 is NOT compatible with databases from earlier
    > versions


    Is there a way to upgrade an existing database?

    --
    Josh Huber
    Josh Huber, Apr 13, 2004
    #2
    1. Advertising

  3. David Heinemeier Hansson

    Josh Huber Guest

    Josh Huber <> writes:

    > Is there a way to upgrade an existing database?


    Nevermind, I read the posting more carefully, and noticed that I had
    to cut & paste between them to upgrade.

    My wiki is small, so it's not a big deal.

    --
    Josh Huber
    Josh Huber, Apr 13, 2004
    #3
  4. David Heinemeier Hansson

    Jim Freeze Guest

    Hi

    I have installed insticki.0.3.1 on Sun in our office and run
    it on port 2505.

    Viewing on Sun within Netscape works (however the edit box is
    a single line -- probably due to an old version of netscape.)

    However, the windows boxes (using IE) cannot see the page, but get a
    'page not displayed' error.

    The linux boxes can see the page from Netscape but not from
    IE (under a windows emulator).

    Can anyone think of why we would be having these problems?

    --
    Jim Freeze
    The power of Ruby. It's more powerful than cheese.
    Ruby. The little language that could.
    In the force if Yoda's so strong, construct a sentence with words in
    the proper order then why can't he?
    Jim Freeze, Apr 14, 2004
    #4
  5. David Heinemeier Hansson

    haldane Guest

    David Heinemeier Hansson <> wrote in message news:<>...
    > What's new in Instiki 0.5.0?
    > ============================


    I am having a spot of trouble on Windows:

    C:\instiki-0.5.0>ruby instiki.rb
    [2004-04-14 14:55:34] INFO WEBrick 1.3.1
    [2004-04-14 14:55:34] INFO ruby 1.8.1 (2004-01-27) [i386-mswin32]
    C:/ruby/lib/ruby/1.8/webrick/server.rb:29:in `fork': The fork() function is unim
    plemented on this machine (NotImplementedError)
    from C:/ruby/lib/ruby/1.8/webrick/server.rb:29:in `start'
    from C:/ruby/lib/ruby/1.8/webrick/server.rb:79:in `start'
    from C:/instiki-0.5.0/libraries/web_controller_server.rb:78:in
    `start_server'
    from C:/instiki-0.5.0/libraries/web_controller_server.rb:21:in
    `initialize'
    from instiki.rb:21:in `new'
    from instiki.rb:21

    C:\instiki-0.5.0>ruby instiki.rb -s
    [2004-04-14 14:59:07] INFO WEBrick 1.3.1
    [2004-04-14 14:59:07] INFO ruby 1.8.1 (2004-01-27) [i386-mswin32]
    C:/ruby/lib/ruby/1.8/webrick/utils.rb:52:in `getaddrinfo': getaddrinfo: servname
    not supported for ai_socktype. (SocketError)
    from C:/ruby/lib/ruby/1.8/webrick/utils.rb:52:in `create_listeners'
    from C:/ruby/lib/ruby/1.8/webrick/server.rb:72:in `listen'
    from C:/ruby/lib/ruby/1.8/webrick/server.rb:63:in `initialize'
    from C:/ruby/lib/ruby/1.8/webrick/httpserver.rb:24:in `initialize'
    from C:/instiki-0.5.0/libraries/web_controller_server.rb:18:in
    `new'
    from C:/instiki-0.5.0/libraries/web_controller_server.rb:18:in
    `initialize'
    from instiki.rb:21:in `new'
    from instiki.rb:21

    C:\instiki-0.5.0>

    I am currently running the rubycentral one-click installer version of Ruby.

    Stephen.
    +- S.D.Sykes - www.stephensykes.com +
    ruby -e '_=2;"||_25~!A59(1A~47!K~#-6<.A~".scan(/./){
    putc$&>$`?$/:_+=$&[0]-?4}'
    haldane, Apr 14, 2004
    #5
  6. David Heinemeier Hansson

    Phil Tomson Guest

    In article <>,
    Jim Freeze <> wrote:
    >Hi
    >
    >I have installed insticki.0.3.1 on Sun in our office and run
    >it on port 2505.
    >
    >Viewing on Sun within Netscape works (however the edit box is
    >a single line -- probably due to an old version of netscape.)
    >
    >However, the windows boxes (using IE) cannot see the page, but get a
    >'page not displayed' error.
    >
    >The linux boxes can see the page from Netscape but not from
    >IE (under a windows emulator).
    >
    >Can anyone think of why we would be having these problems?


    Because you're using Windows? -ba-dum-bum- ;-)

    Seriously, I had the same problem with ruWiki (i'm pretty sure that's what
    it was called) and that's one of the main reasons I switched to Instiki
    because it worked. I haven't tried the newer versions of Instiki yet...

    Phil
    Phil Tomson, Apr 14, 2004
    #6
  7. David Heinemeier Hansson

    Phil Tomson Guest

    Re: [ANN] Instiki 0.5.0: IS there a step 2.5 :) ?

    In article <K4dfc.46156$>,
    Its Me <> wrote:
    >Running instiki.rb with Ruby 1.8.1 on Windows 2000 gives this error:
    >
    >C:/Documents and
    >Settings/desmond/Desktop/misc/ruby/instiki-0.5.0/libraries/madeleine.rb:327:
    >in `mkdir': No such file or directory - C:/Documents and
    >Settings/desmond/Desktop/misc/ruby/instiki-0.5.0/storage/2500
    >(Errno::ENOENT)
    > from C:/Documents and
    >Settings/desmond/Desktop/misc/ruby/instiki-0.5.0/libraries/madeleine.rb:327:
    >in `ensure_directory_exists'
    > from C:/Documents and
    >Settings/desmond/Desktop/misc/ruby/instiki-0.5.0/libraries/madeleine.rb:322:
    >in `initialize'
    > from C:/Documents and
    >Settings/desmond/Desktop/misc/ruby/instiki-0.5.0/libraries/madeleine.rb:43:i
    >n `new'
    >
    >
    >If I manually create directories storage/2500, it gets a bit further and
    >then
    >
    >[2004-04-14 10:48:43] INFO WEBrick 1.3.1
    >[2004-04-14 10:48:43] INFO ruby 1.8.1 (2004-01-27) [i386-mswin32]
    >c:/program files/ruby/lib/ruby/1.8/webrick/server.rb:29:in `fork': The
    >fork() function is unimplemented on this machine (NotImplementedError)
    > from c:/program files/ruby/lib/ruby/1.8/webrick/server.rb:29:in `start'
    > from c:/program files/ruby/lib/ruby/1.8/webrick/server.rb:79:in `start'
    >
    >
    >And lastly if I try to run with "-s" option:
    >
    >[2004-04-14 10:49:26] INFO WEBrick 1.3.1
    >[2004-04-14 10:49:26] INFO ruby 1.8.1 (2004-01-27) [i386-mswin32]
    >c:/program files/ruby/lib/ruby/1.8/webrick/utils.rb:52:in `getaddrinfo':
    >getaddrinfo: servname not supported for ai_socktype. (SocketError)
    > from c:/program files/ruby/lib/ruby/1.8/webrick/utils.rb:52:in
    >`create_listeners'
    > from c:/program files/ruby/lib/ruby/1.8/webrick/server.rb:72:in `listen'
    >
    >Something amiss in 0.5? Version 0.3.x seemed to work for me.
    >


    There's no 'fork' function on Windows. Apparently it was added in 0.5.

    Instead of 'fork' the Instiki writer should consider using threads or
    Perhaps using win32-process (from RAA: The package provides fork, wait,
    wait2, waitpid and waitpid2 for Win32 systems. It also provides an
    alternative kill method. ).

    Looks like win32-process would provide a 'fork' function on Windows.

    BTW: Why not include win32-process in the standard Ruby distro so that if
    you're running Ruby on Windows and make a call to 'fork' it gets it from
    win32-process?

    Phil
    Phil Tomson, Apr 14, 2004
    #7
  8. Re: [ANN] Instiki 0.5.0: IS there a step 2.5 :) ?

    il 14 Apr 2004 16:31:15 GMT, (Phil Tomson) ha
    scritto::


    >
    >Looks like win32-process would provide a 'fork' function on Windows.
    >
    >BTW: Why not include win32-process in the standard Ruby distro so that if
    >you're running Ruby on Windows and make a call to 'fork' it gets it from
    >win32-process?
    >


    the same goes for win32-mmap and win32-etc probably..
    BTW having precompiled binaries of this extensions for ruby-mswin
    would be nice, cause IIRC I got a problem with
    ruby -rfake-mingw32 && make && make install
    gabriele renzi, Apr 14, 2004
    #8
  9. Re: RubyInstaller for Windows [was: Instiki 0.5.0: IS there a step 2.5 :) ?]

    il Thu, 15 Apr 2004 02:41:48 +0900, "Curt Hibbs" <> ha
    scritto::


    >They won't make it in our next release (which is a bug-fix release and will
    >be out very soon), but we will consider them for the next release.
    >


    hey, that's cool :)
    thanks for the quick answer.

    OTOH, it would be nice if we had a simple system to build the
    OneClickInstaller by ourself. (not that I own a MSVC compiler but some
    other may :)

    Say, download the OneClickBuilder, add package dirs, issue a ruby
    buildstuff.rb and let it go..

    I remember /\ndy said something like this was supposed to appear, is
    there a chance?
    gabriele renzi, Apr 14, 2004
    #9
  10. David Heinemeier Hansson

    Bill Atkins Guest

    Is there any other way to make Wiki links aside from using CamelType?
    It would be neat if there was some syntax that let you make
    single-word links, sort of like Wikipedia.

    Bill Atkins

    Josh Huber <> wrote in message news:<>...
    > Excellent...but...
    >
    > David Heinemeier Hansson <> writes:
    >
    > > * 0.5.0: NOTE: 0.5.0 is NOT compatible with databases from earlier
    > > versions

    >
    > Is there a way to upgrade an existing database?
    Bill Atkins, Apr 14, 2004
    #10
  11. David Heinemeier Hansson

    Guest

    Re: [ANN] Instiki 0.5.0: IS there a step 2.5 :) ?

    Hi,

    At Thu, 15 Apr 2004 00:54:12 +0900,
    Its Me wrote in [ruby-talk:97147]:
    > If I manually create directories storage/2500, it gets a bit further and
    > then
    >
    > [2004-04-14 10:48:43] INFO WEBrick 1.3.1
    > [2004-04-14 10:48:43] INFO ruby 1.8.1 (2004-01-27) [i386-mswin32]
    > c:/program files/ruby/lib/ruby/1.8/webrick/server.rb:29:in `fork': The
    > fork() function is unimplemented on this machine (NotImplementedError)
    > from c:/program files/ruby/lib/ruby/1.8/webrick/server.rb:29:in `start'
    > from c:/program files/ruby/lib/ruby/1.8/webrick/server.rb:79:in `start'
    >
    >
    > And lastly if I try to run with "-s" option:


    It seems wrong that instiki.rb defaults server_type to Daemon,
    I feel it should be left to WebControllerServer. And it's not
    only mswin, fork is not implemented on mingw and bccwin too.

    --
    Nobu Nakada
    , Apr 15, 2004
    #11
  12. Re: [ANN] Instiki 0.5.0: IS there a step 2.5 :) ?

    > It seems wrong that instiki.rb defaults server_type to Daemon,
    > I feel it should be left to WebControllerServer. And it's not
    > only mswin, fork is not implemented on mingw and bccwin too.


    I just got a patch from Florian Gloss that does this properly. Checks
    if fork is available, if so, uses Daemon, otherwise uses SimpleServer.
    I'll bundle up a release with this patch, which also includes a
    safe-mode option to forbid CSS in RedCloth, and probably a few other
    features.

    Stay tuned...
    --
    David Heinemeier Hansson,
    http://www.basecamphq.com/ -- Web-based Project Management
    http://www.loudthinking.com/ -- Broadcasting Brain
    David Heinemeier Hansson, Apr 15, 2004
    #12
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. John Draper
    Replies:
    3
    Views:
    583
    Cameron Laird
    Jun 2, 2004
  2. David Heinemeier Hansson

    [ANN] Instiki: There's no step three

    David Heinemeier Hansson, Feb 25, 2004, in forum: Ruby
    Replies:
    4
    Views:
    175
    David Heinemeier Hansson
    Feb 25, 2004
  3. David Heinemeier Hansson

    [ANN] Instiki 0.3.0: Before the Storm

    David Heinemeier Hansson, Apr 9, 2004, in forum: Ruby
    Replies:
    5
    Views:
    128
    David Heinemeier Hansson
    Apr 12, 2004
  4. David Heinemeier Hansson
    Replies:
    13
    Views:
    276
    Jos Backus
    Apr 19, 2004
  5. Peña, Botp
    Replies:
    1
    Views:
    159
    David Heinemeier Hansson
    Sep 19, 2004
Loading...

Share This Page