ProjectLounge Installation

ProjectLounge went open source under the name pllite and as I was looking for a collaboration tool, I decided to try it. At first I couldn’t get it working and I couldn’t find any documentation online that helped. So, I decided to put this step-by-step guide for the benefit of anyone who might be having the same issue.

The procedure below was done on Windows XP but it should work the same way in Unix. You would be modifying /etc/hosts instead of c:\windows\drivers\etc\hosts.

Please note that this is just to show you how I got it to work. Eventually, you should set your own database and user and not use the default ones. You may also want to set a proper domain and handle the project names via dns instead of manually editing the hosts file. This is for illustration purposes only.

  • Create a folder to hold your application (I’ll use c:\work\projectlounge in this example)
  • Right click on the folder and select SVN Checkout (I use TortoiseSVN)
  • Enter “svn://svn.projectlounge.com/open/light” for URL of repository and click OK
  • Open C:\work\ProjectLounge\config\database.yml. For this example we’ll use the default database and usernames. Just set a password for the user “light” under the light_development database (in this example I set it to some_password)
  • mysql –u root –p
  • mysql> create database light_development;
  • mysql> GRANT ALL PRIVILEGES ON light_development.* TO ‘light’@'localhost’ IDENTIFIED BY ’some_password’ WITH GRANT OPTION;
  • Open C:\work\ProjectLounge\light\db\development_structure.sql and change the database name to light_development. The two lines you change should look like this:

CREATE DATABASE /*!32312 IF NOT EXISTS*/ light_development;
USE light_development;

  • mysql –u root –p
  • mysql> source c:/work/projectlounge/db/development_structure.sql; (we’re running this “development_structure.sql” script to create the necessary tables in the database)
  • Each project becomes a subdomain of your main domain so you’ll need to setup your hosts file for this to work
  • So, to create a project called test_project, open c:\windows\system32\drivers\etc\hosts and add the lines:

127.0.0.1 www.testdomain.com
127.0.0.1 test_project.testdomain.com

  • ruby script\server
  • If you go to http://localhost:3000 or http://www.testdomain.com:3000 you will get a “File not found” error. This is normal.
  • Go to http://www.testdomain.com:3000/projects/new and fill in the fields and make sure you set the Host name to “test_project”.  Note that the access code is pl124 and this can be changed in c:\work\ProjectLounge\app\models\project.rb.
  • It should redirect you to http://test_project.testdomain.com:3000 and you can login using the username and password you set above
  • Now that you know how it works, please setup your own database and user and properly secure your setup
Posted by Yared Demissie

Comments

A ruby ping program

When testing load balancing/failover, for example Cisco’s HSRP (Hot Standby Router Protocol), you want to run ping and see how long it takes to failover from one router to another. But the regular ping program does not have this functionality so I wrote this small Ruby ping program that timestamps each packet. So, I would run this program and have the router failover and see how many seconds it takes to failover. There are probably other uses for it but this is the main reason why I wrote it.

The program consists of a test myping_test.rb, and the main program ping.rb. The test program verifies that either a valid IP address or ‘localhost’ was entered. The IP address verification is achieved using a regex expression.

The program can be run both from a command line or from within my_ping.rb itself. It currently runs under windows but the next version will be OS independent (when I get around to it). I will also clean up the ruby errors when you stop the program with ctrl-c.

Please feel free to use it or modify but, if you don’t mind, I’d like to know what changes you did. 

You can download it here: MyPing

Posted by Yared Demissie

Comments