iOutliner
iOutliner, based on SproutLiner code, is a Web 2.0/AJAX-based project management tool slash quick outline maker. It’s more fair to describe it as an outline maker in its heart, with added columns for project management. While Sproutliner users don’t need to log in (it has no user functions), iOutliner users have private outlines. Fortunately both SproutLiner and iOutliner are open source. This page annotates my experience installing and running it for lab management.
(I am writing from memory now; apology for errors)
Requirement:
- W(indows)A(pache)M(ySql)P(hp). My set up is XP + Apache 2.0 + MySQL (4.x) + PHP 2.3
Installation:
- Download the iOutliner source code here (local copy). It includes both SproutLiner and Auth, another open source authantification program.
- Download the auth module, if not included in the iOutliner package already.
Note that iOutliner doesn’t provide much help in the package with regard to installation (or anything). You need to make some manual changes in the code, as follows.
- Unzip both to the desired directory. Mine is htdoc\\ioutliner, which will make the URL http://myserver.com/ioutliner. The auth code is unzipped in \\ioutliner\\login, where you will find \\login\\login.php, etc.
- First make sure the auth module is set up. Edit "config.php.inc".
(a) remove the "/" in the reference to "/login/login.php", or any reference to the root directory.
(b) change the MySQL parameters. If you haven’t created a database yet, create it now by doing "mysqladmin -u root -p create databasename". Then put the databasename in the config.php.inc file.
(c) change the website URL to reflect the actual path. Mine would be "http://myserver.com/ioutliner/login".
(d) Change the secret passcode; you will need to copy it to the iOutliner setup code. It is used to do MD5-hash-based sessionID check, so make sure they are the same. I think that’s all here.
- Run http://myserver.com/ioutliner/login/install.php. If everything is right, you are done in no time.
- Test Auth: http://myserver.com/ioutliner/login/login.php. And you will need to create an account by registering. It will go through an email verification. Once you confirm and log in again, you will be pointed to the "admin" page if everything goes right.
- Edit login.php. change the last line to something like "header("../index.php")" or something like that to redirect successful login to iOutliner, rather than the useless Admin page.
- Now the iOutliner code: first create the iOutliner tables in MySQL: find the *.sql in the "res" directory under ioutliner. This is the table structure definition. Now let’s create the tables:
c:\>mysql -uroot -p databasename <<the *.sql file mentioned above.
- Rename main.php to index.php — unless your Apache is set to automatically load "main.php" instead of "index.php".
- edit the index.php (aka main.php).
(a) take care of the MySQL stuff. I used the same databasename as in Auth.
(b) copy the secrete passcode from the Auth module to replace the $secrete.
(c) open "login/backend.php" and search for "is_logged". You will find the code for the function. Now go back to index.php, and change the line in the "is_logged" function that has "authanti*" to use the same function as in backend.php. It took me some time to figure this one. If you have problem logging in, you can test the iOutliner setup by bypassing the "is_logged" check — does not let it return "false". Then you get a blank login name but you should be able to create outlines. Then you figure out what’s disconnected between Auth and iOutliner code. - Edit ioutliner.js: again to remove any reference to "http://www.ioutliner.com" or any absolute paths.
- If you change the logo in "./i" directory, you want to change style.css to adjust the height of the top bar to fit the image.