<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://wiki.meego.com/skins/common/feed.css?270"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://wiki.meego.com/index.php?title=Special:Contributions/Tomilaine&amp;feed=atom&amp;limit=50&amp;target=Tomilaine&amp;year=&amp;month=</id>
		<title>MeeGo wiki - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="http://wiki.meego.com/index.php?title=Special:Contributions/Tomilaine&amp;feed=atom&amp;limit=50&amp;target=Tomilaine&amp;year=&amp;month="/>
		<link rel="alternate" type="text/html" href="http://wiki.meego.com/Special:Contributions/Tomilaine"/>
		<updated>2013-05-18T07:15:08Z</updated>
		<subtitle>From MeeGo wiki</subtitle>
		<generator>MediaWiki 1.16.2</generator>

	<entry>
		<id>http://wiki.meego.com/Quality/QA-tools/QAReports/Setting_up_the_production_environment</id>
		<title>Quality/QA-tools/QAReports/Setting up the production environment</title>
		<link rel="alternate" type="text/html" href="http://wiki.meego.com/Quality/QA-tools/QAReports/Setting_up_the_production_environment"/>
				<updated>2011-07-01T06:26:35Z</updated>
		
		<summary type="html">&lt;p&gt;Tomilaine: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview =&lt;br /&gt;
&lt;br /&gt;
Running and deploying QA Reports relies heavily on automated deployment scripts and version control repository. At high level, deployment process is following:&lt;br /&gt;
&lt;br /&gt;
# Log in to your workstation and update QA Reports working tree&lt;br /&gt;
# Run Capistrano deployment script on your workstation&lt;br /&gt;
# Capistrano script connects to the production server and updates the deployment by&lt;br /&gt;
## Connecting to version control system from production server and updating the source code on the production server&lt;br /&gt;
## Running the migrations and updating the database schema on production server&lt;br /&gt;
## Restarting the application on production server&lt;br /&gt;
&lt;br /&gt;
Capistrano enables you to automate also other administrative tasks like&lt;br /&gt;
# Rolling back to previous deployment&lt;br /&gt;
# Exporting data from production environment to your development environment&lt;br /&gt;
&lt;br /&gt;
To achieve all the goodness, you should [[Quality/QA-tools/QAReports/Setting up the development environment|set up the development environment]] on your workstation before continuing.&lt;br /&gt;
&lt;br /&gt;
= Setting up the production server =&lt;br /&gt;
&lt;br /&gt;
This guide has been written for vanilla Ubuntu 10.04 installation. You need to be logged in to the production server and have sudo rights to continue.&lt;br /&gt;
&lt;br /&gt;
== Install dependencies ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ sudo aptitude install curl build-essential git-core openssh-server zlib1g-dev libssl-dev libreadline5-dev libcurl4-openssl-dev&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Install Ruby ==&lt;br /&gt;
&lt;br /&gt;
# Install [http://rvm.beginrescueend.com/ Ruby Version Manager] as root (to have system-wide install) &amp;lt;br /&amp;gt; &amp;lt;code&amp;gt;$ bash &amp;lt; &amp;lt;(curl -B http://rvm.beginrescueend.com/install/rvm)&amp;lt;/code&amp;gt;&lt;br /&gt;
# Set up .bashrc as instructed by RVM installer: The whole content into an if section, and after that loading of RVM. Here's an example [http://gist.github.com/822216 .bashrc]&lt;br /&gt;
# Run: $ source ~/.bashrc&lt;br /&gt;
# Add your account and the deployment account to &amp;lt;code&amp;gt;rvm&amp;lt;/code&amp;gt; group, e.g.&amp;lt;br /&amp;gt; &amp;lt;code&amp;gt;$ sudo adduser jakeskik rvm&amp;lt;/code&amp;gt;&lt;br /&gt;
# Source your .bashrc to enable rvm&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;$ source ~/.bashrc&amp;lt;/code&amp;gt;&lt;br /&gt;
# Install Ruby Enterprise Edition&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;$ rvm install ree&amp;lt;/code&amp;gt;&lt;br /&gt;
# Set the default Ruby interpreter&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;$ rvm use --default ree&amp;lt;/code&amp;gt;&lt;br /&gt;
# Install bundler&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;$ gem install rails bundler --no-ri --no-rdoc&amp;lt;/code&amp;gt; #if you have proxy problem, plz refer to http://docs.rubygems.org/read/chapter/13#page51&lt;br /&gt;
&lt;br /&gt;
Finally, enable rvm and Ruby Enterprise Edition to your deployment account, e.g. www-data&lt;br /&gt;
&lt;br /&gt;
# Edit &amp;lt;code&amp;gt;/etc/passwd&amp;lt;/code&amp;gt; and change &amp;lt;code&amp;gt;www-data&amp;lt;/code&amp;gt;'s shell from &amp;lt;code&amp;gt;sh&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;bash&amp;lt;/code&amp;gt;. You might want to change the home directory also from &amp;lt;code&amp;gt;/var/www&amp;lt;/code&amp;gt; to e.g. &amp;lt;code&amp;gt;/home/www-data&amp;lt;/code&amp;gt; as shown below&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;www-data:x:33:33:www-data:/home/www-data:/bin/bash&amp;lt;/code&amp;gt;&lt;br /&gt;
# Enable RVM as shown below&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  $ sudo adduser www-data rvm&lt;br /&gt;
  $ sudo -iu www-data&lt;br /&gt;
  $ cp ~jakeskik/.profile .&lt;br /&gt;
  $ cp ~jakeskik/.bashrc .&lt;br /&gt;
  $ exit&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Install Apache and Phusion Passenger ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  $ sudo apt-get install apache2 apache2-prefork-dev libapr1-dev libaprutil1-dev&lt;br /&gt;
  $ gem install passenger --no-ri --no-rdoc&lt;br /&gt;
  $ rvmsudo passenger-install-apache2-module # Follow the on-screen instructions and edit apache.conf&lt;br /&gt;
  $ sudo service apache2 restart&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Install MySQL ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  $ sudo apt-get install mysql-server libmysqlclient-dev&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Install Postfix ==&lt;br /&gt;
&lt;br /&gt;
QA Reports sends email notifications for system administrators (you) in case the application throws an exception. To enable notifications, there needs to be a mail server configured on the production host.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  $ sudo apt-get install postfix&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The default configuration is fine and allows only delivery for emails originated from localhost. Just click through the installer.&lt;br /&gt;
&lt;br /&gt;
== Test the environment ==&lt;br /&gt;
&lt;br /&gt;
After installing the software, run a sanity check for the environment by creating a 'hello world' rails project and corresponding virtual host:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 $ sudo -iu www-data&lt;br /&gt;
 $ rails new hello&lt;br /&gt;
 $ cd hello/public &amp;amp;&amp;amp; pwd&lt;br /&gt;
 /home/www-data/hello/public&lt;br /&gt;
 $ exit&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Write a following virtual host declaration to /etc/apache/sites-available/hello:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
   &amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
      ServerName hello.qa.leonidasoy.fi&lt;br /&gt;
      DocumentRoot /home/www-data/hello/public&lt;br /&gt;
  &lt;br /&gt;
      &amp;lt;Directory /home/www-data/hello/public&amp;gt;&lt;br /&gt;
         AllowOverride all&lt;br /&gt;
         Options -MultiViews&lt;br /&gt;
      &amp;lt;/Directory&amp;gt;&lt;br /&gt;
   &amp;lt;/VirtualHost&amp;gt; &lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Enable the virtual host&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  $ sudo a2ensite hello&lt;br /&gt;
  $ sudo service apache2 restart&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Add the virtual host to &amp;lt;code&amp;gt;/etc/hosts&amp;lt;/code&amp;gt; file:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  127.0.0.1 hello.qa.leonidasoy.fi # Use the same domain as above&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now you should be able to access the 'hello world' project with a browser, e.g. lynx&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  $ lynx hello.qa.leonidasoy.fi&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Create a database for QA Reports ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 $ mysql -u root -p&lt;br /&gt;
 mysql&amp;gt; create user 'qa-reports'@'localhost' identified by 'somepasswordofyourchoosing';&lt;br /&gt;
 mysql&amp;gt; create database qa_reports_production character set 'utf8';&lt;br /&gt;
 mysql&amp;gt; grant all privileges on qa_reports_production.* to 'qa-reports'@'localhost';&lt;br /&gt;
 mysql&amp;gt; flush privileges;&lt;br /&gt;
 mysql&amp;gt; exit&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Create virtual host for QA Reports ==&lt;br /&gt;
&lt;br /&gt;
Write a following virtual host declaration to /etc/apache/sites-available/qa-reports:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
   &amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
      ServerName qa-reports.qa.leonidasoy.fi&lt;br /&gt;
      DocumentRoot /home/www-data/qa-reports.meego.com/current/public&lt;br /&gt;
  &lt;br /&gt;
      &amp;lt;Directory /home/www-data/qa-reports.meego.com/current/public&amp;gt;&lt;br /&gt;
         AllowOverride all&lt;br /&gt;
         Options -MultiViews&lt;br /&gt;
      &amp;lt;/Directory&amp;gt;&lt;br /&gt;
   &amp;lt;/VirtualHost&amp;gt; &lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Enable the virtual host&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  $ sudo a2ensite qa-reports&lt;br /&gt;
  $ sudo service apache2 restart # Don't mind the warning about missing dir,&lt;br /&gt;
                                 # we'll deal with that one in a sec&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Deploying QA Reports =&lt;br /&gt;
&lt;br /&gt;
QA Reports uses Capistrano to automate the deployments. The main benefit is to eliminate the risks of human errors and to enable easy and repeatable rollbacks. See [http://github.com/capistrano/capistrano/wiki Capistrano documentation] for the details.&lt;br /&gt;
&lt;br /&gt;
Capistrano is run from your development environment, so you should be now on &amp;lt;b&amp;gt;your workstation&amp;lt;/b&amp;gt; with working QA Reports development environment to continue.&lt;br /&gt;
&lt;br /&gt;
== Enable public key authentication for your deployment account ==&lt;br /&gt;
&lt;br /&gt;
Set up public key authentication:&lt;br /&gt;
# Generate yourself as SSH key pair if you don't have one: &amp;lt;tt&amp;gt;$ ssh-keygen&amp;lt;/tt&amp;gt;&lt;br /&gt;
# Add your public key to &amp;lt;tt&amp;gt;authorized_keys&amp;lt;/tt&amp;gt; file of your production environment user: &amp;lt;br&amp;gt; &amp;lt;tt&amp;gt;$ ssh your.production.user@your.production.host 'mkdir .ssh; echo '`cat ~/.ssh/id_rsa.pub`' &amp;gt;&amp;gt; ~/.ssh/authorized_keys'&amp;lt;/tt&amp;gt;&lt;br /&gt;
# Try logging in: &amp;lt;tt&amp;gt;ssh your.production.user@your.production.host&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Modify Capistrano scripts and deploy QA Reports ==&lt;br /&gt;
&lt;br /&gt;
QA Reports uses following scripts to configure Capistrano&lt;br /&gt;
* &amp;lt;tt&amp;gt;config/deploy.rb&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;config/deploy/staging.rb&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;config/deploy/production.rb&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You might want to review all the files, but usually it's enough to update only &amp;lt;tt&amp;gt;config/deploy/production.rb&amp;lt;/tt&amp;gt; according to your needs (servers, deployment account, ssh options). You can also create new deployment environment just by copying the production.rb, to e.g. internal.rb and modify it.&lt;br /&gt;
&lt;br /&gt;
Once the Capistrano is updated according to your needs, run &lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  $ cap production deploy:setup # or cap internal deploy:setup, if you created a new deployment environment&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Setup command creates the folder hierarchy and the symbolic links required by Capistrano. During the setup it requests following information&lt;br /&gt;
# Database host&lt;br /&gt;
# Database port&lt;br /&gt;
# Database name&lt;br /&gt;
# Database username&lt;br /&gt;
# Database password&lt;br /&gt;
# Should QA Reports send performance data to [http://newrelic.com NewRelic]? (Default: no)&lt;br /&gt;
# Registration token. This will be part of the registration url, e.g. &amp;lt;tt&amp;gt;foobar&amp;lt;/tt&amp;gt; will make registration to be at url &amp;lt;tt&amp;gt;/users/foobar/register&amp;lt;/tt&amp;gt;&lt;br /&gt;
# Email addresses for Exception Notifier&lt;br /&gt;
&lt;br /&gt;
Once the setup is complete, the deployment is as easy as it gets&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 $ cap production deploy:migrations&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You should now have QA Reports up&amp;amp;running. Congrats!&lt;br /&gt;
&lt;br /&gt;
== Update QA Reports to a new version ==&lt;br /&gt;
&lt;br /&gt;
# &amp;lt;code&amp;gt;git pull&amp;lt;/code&amp;gt; (In case there's changes in the deployment scripts)&lt;br /&gt;
# &amp;lt;code&amp;gt;cap production deploy:migrations&amp;lt;/code&amp;gt;&lt;br /&gt;
# Ta-da!&lt;br /&gt;
&lt;br /&gt;
== Roll back to previous version ==&lt;br /&gt;
&lt;br /&gt;
# &amp;lt;code&amp;gt;cap production deploy:rollback&amp;lt;/code&amp;gt;&lt;br /&gt;
# Ta-da!&lt;br /&gt;
&lt;br /&gt;
= Configuring data flow to QA Dashboard =&lt;br /&gt;
&lt;br /&gt;
If you have set up [[Quality/QA-tools/QADashboard|QA Dashboard]] you will most likely want to enable data synchronization to it:&lt;br /&gt;
&lt;br /&gt;
* Get authentication token to QA Dashboard&lt;br /&gt;
** This is currently a bit cumbersome: you need to open URI &amp;lt;tt&amp;gt;/user/token&amp;lt;/tt&amp;gt; from your QA Dashboard server, save the file it offers to download and get the token from there.&lt;br /&gt;
* Configure QA Reports&lt;br /&gt;
** Insert correct QA Dashboard host and the authentication token to &amp;lt;tt&amp;gt;config/qa-dashboard_config.yml&amp;lt;/tt&amp;gt;. The file is deployed with Capistrano task &amp;lt;tt&amp;gt;deploy:qadashboard:setup&amp;lt;/tt&amp;gt; (which is run as part of &amp;lt;tt&amp;gt;deploy:setup&amp;lt;/tt&amp;gt;). If you need to update the qa-dashboard config later, you can use the task &amp;lt;tt&amp;gt;deploy:qadashboard:update&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you need to export all your QA Reports data to your QA Dashboard you should use QA Reports' rake task. Once you have QA Reports up and running with correct QA Dashboard export setup, login to the production environment, go to folder &amp;lt;tt&amp;gt;your_installation/current&amp;lt;/tt&amp;gt; and execute &amp;lt;tt&amp;gt;RAILS_ENV=production rake db:export_to_qadashboard&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Note: If you need to clear existing data from your QA Dashboard database, you will need to execute both &amp;lt;tt&amp;gt;db['qa-reports'].drop()&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;db['qa-reports'].dropIndexes()&amp;lt;/tt&amp;gt; in the MongoDB database.&lt;br /&gt;
&lt;br /&gt;
= Setting Up the Production Environment with nginx instead of Apache =&lt;br /&gt;
&lt;br /&gt;
# Follow instructions above until &amp;quot;Install Apache and Passenger&amp;quot;, then continue here from step 2.&lt;br /&gt;
# Install passenger: &amp;lt;tt&amp;gt;$ gem install passenger&amp;lt;/tt&amp;gt;&lt;br /&gt;
# Install nginx: &amp;lt;tt&amp;gt;$ passenger-install-nginx-module&amp;lt;/tt&amp;gt;&lt;br /&gt;
## Notice: the default location is under &amp;lt;tt&amp;gt;/opt&amp;lt;/tt&amp;gt;. If you wish to install there, use &amp;lt;tt&amp;gt;rvmsudo&amp;lt;/tt&amp;gt;. Notice however, that part of your &amp;lt;tt&amp;gt;~/.rvm&amp;lt;/tt&amp;gt; contents will then belong to root and may cause gray hair later. I chose to install under &amp;lt;tt&amp;gt;~/nginx&amp;lt;/tt&amp;gt;.&lt;br /&gt;
Edit nginx configuration &amp;lt;tt&amp;gt;installation_path/conf/nginx.conf&amp;lt;/tt&amp;gt;:&lt;br /&gt;
## Comment out section &amp;lt;tt&amp;gt;location / { ... }&amp;lt;/tt&amp;gt;&lt;br /&gt;
## Add lines:&lt;br /&gt;
### &amp;lt;tt&amp;gt;passenger_enabled on;&amp;lt;/tt&amp;gt;&lt;br /&gt;
### &amp;lt;tt&amp;gt;root /home/your_prod_env_user/qa-reports.meego.com/current/public;&amp;lt;/tt&amp;gt;&lt;br /&gt;
# Start nginx: &amp;lt;tt&amp;gt;$ sudo /installation_path/sbin/nginx&amp;lt;/tt&amp;gt;&lt;br /&gt;
# Continue with the guide above from &amp;quot;Deploying QA Reports&amp;quot;&lt;/div&gt;</summary>
		<author><name>Tomilaine</name></author>	</entry>

	<entry>
		<id>http://wiki.meego.com/Quality/QA-tools/QADashboard/Setting_up_the_production_environment</id>
		<title>Quality/QA-tools/QADashboard/Setting up the production environment</title>
		<link rel="alternate" type="text/html" href="http://wiki.meego.com/Quality/QA-tools/QADashboard/Setting_up_the_production_environment"/>
				<updated>2011-06-30T21:08:52Z</updated>
		
		<summary type="html">&lt;p&gt;Tomilaine: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview =&lt;br /&gt;
&lt;br /&gt;
Running and deploying QA Dashboard relies heavily on automated deployment scripts and version control repository. At high level, deployment process is following:&lt;br /&gt;
&lt;br /&gt;
# Log in to your workstation and update QA Dashboard working tree&lt;br /&gt;
# Run Capistrano deployment script on your workstation&lt;br /&gt;
# Capistrano script connects to the production server and updates the deployment by&lt;br /&gt;
## Connecting to version control system from production server and updating the source code on the production server&lt;br /&gt;
## Installing node package dependencies&lt;br /&gt;
## Restarting the application on production server&lt;br /&gt;
&lt;br /&gt;
= Setting up the local environment for deployments =&lt;br /&gt;
&lt;br /&gt;
QA Dashboard uses Capistrano to automate the deployments. The main benefit is to eliminate the risks of human errors and to enable easy and repeatable rollbacks. See [http://github.com/capistrano/capistrano/wiki Capistrano documentation] for the details&lt;br /&gt;
&lt;br /&gt;
== Install development environment ==&lt;br /&gt;
&lt;br /&gt;
You should first [http://wiki.meego.com/Quality/QA-tools/QADashboard/Setting_up_the_development_environment set up the development environment] on your workstation before continuing.&lt;br /&gt;
Capistrano is run from your development environment&lt;br /&gt;
&lt;br /&gt;
== Installing Capistrano ==&lt;br /&gt;
&lt;br /&gt;
Capistrano requires Ruby. If you do not have Ruby installed please follow the &amp;quot;Install Ruby&amp;quot; instructions [http://wiki.meego.com/Quality/QA-tools/QAReports/Setting_up_the_development_environment here].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;$ gem install capistrano&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Setting up the production server =&lt;br /&gt;
&lt;br /&gt;
== Install dependencies ==&lt;br /&gt;
&lt;br /&gt;
The same dependencies are needed in the production server as in development environment.&lt;br /&gt;
Follow the instructions in [[Quality/QA-tools/QADashboard/Setting_up_the_development_environment]] to:&lt;br /&gt;
# Install Node.js&lt;br /&gt;
# Install Node Package Manager&lt;br /&gt;
# Install mongodb&lt;br /&gt;
&lt;br /&gt;
== Create virtual host for QA Dashboard ==&lt;br /&gt;
(example using nginx)&lt;br /&gt;
&lt;br /&gt;
Write a following virtual host declaration to /etc/nginx/sites-available/qa-dashboard&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 server {&lt;br /&gt;
     listen 80;&lt;br /&gt;
     server_name qa-dashboard.qa.leonidasoy.fi;&lt;br /&gt;
     location / {&lt;br /&gt;
         proxy_pass  http://localhost:3030;&lt;br /&gt;
         proxy_set_header Host $host;&lt;br /&gt;
         proxy_set_header X-Forwarded-Host $host;&lt;br /&gt;
         proxy_set_header X-Forwarded-Server $host;&lt;br /&gt;
         proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; &lt;br /&gt;
         proxy_set_header X-Real-IP  $remote_addr;&lt;br /&gt;
     }&lt;br /&gt;
 }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Restart nginx&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 sudo service nginx restart&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Deploying QA Dashboard =&lt;br /&gt;
&lt;br /&gt;
== Enable public key authentication for your deployment account ==&lt;br /&gt;
&lt;br /&gt;
Set up public key authentication:&lt;br /&gt;
# Generate yourself as SSH key pair if you don't have one: &amp;lt;tt&amp;gt;$ ssh-keygen&amp;lt;/tt&amp;gt;&lt;br /&gt;
# Add your public key to &amp;lt;tt&amp;gt;authorized_keys&amp;lt;/tt&amp;gt; file of your production environment user: &amp;lt;br&amp;gt; &amp;lt;tt&amp;gt;$ ssh your.production.user@your.production.host 'mkdir .ssh; echo '`cat ~/.ssh/id_rsa.pub`' &amp;gt;&amp;gt; ~/.ssh/authorized_keys'&amp;lt;/tt&amp;gt;&lt;br /&gt;
# Try logging in: &amp;lt;tt&amp;gt;ssh your.production.user@your.production.host&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Modify settings ==&lt;br /&gt;
&lt;br /&gt;
QA Dashboard authentication settings are defined in &amp;lt;tt&amp;gt;settings.json&amp;lt;/tt&amp;gt; that is deployed with Capistrano. &lt;br /&gt;
&lt;br /&gt;
=== LDAP Authentication ===&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
=== MySQL Authentication ===&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
== Modify Capistrano scripts and setup deployment ==&lt;br /&gt;
&lt;br /&gt;
QA Dashboard uses following scripts to configure Capistrano&lt;br /&gt;
* &amp;lt;tt&amp;gt;config/deploy.rb&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;config/deploy/staging.rb&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;config/deploy/production.rb&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You might want to review all the files, but usually it's enough to update only &amp;lt;tt&amp;gt;config/deploy/production.rb&amp;lt;/tt&amp;gt; according to your needs (servers, deployment account, ssh options). You can also create new deployment environment just by copying the production.rb, to e.g. internal.rb and modify it.&lt;br /&gt;
&lt;br /&gt;
When you deploy for first time you need to run setup command, which creates creates the folder hierarchy and the symbolic links required by Capistrano.&amp;lt;br&amp;gt;&lt;br /&gt;
Once the Capistrano is updated according to your needs you need to run setup command, which creates creates the folder hierarchy and the symbolic links required by Capistrano. After that the server can be started.&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 $ cap production deploy:setup # or cap internal deploy:setup, if you created a new deployment environment&lt;br /&gt;
 $ cap production deploy:start # starts the server&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Deploying QA Dashboard ==&lt;br /&gt;
&lt;br /&gt;
Once the setup is complete, the deployment is as easy as it gets&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 $ cap production deploy&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Setting up the data flow ==&lt;br /&gt;
&lt;br /&gt;
QA Dashboard naturally needs data to be shown. This data usually comes from [[Quality/QA-tools/QAReports|QA Reports]] and Bugzilla. &lt;br /&gt;
&lt;br /&gt;
=== Getting data from QA Reports ===&lt;br /&gt;
Instructions for setting up the data synchronization is described in [[Quality/QA-tools/QAReports/Setting_up_the_production_environment#Configuring_data_flow_to_QA_Dashboard|QA Reports installation guide]].&lt;br /&gt;
&lt;br /&gt;
=== Getting data from Bugzilla ===&lt;br /&gt;
&lt;br /&gt;
QA Dashboard environment includes a script which pulls data from bugzilla and pushes it to qa-dashboard.&lt;br /&gt;
&lt;br /&gt;
* Usage:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 $ cd export/bugzilla&lt;br /&gt;
 $ bundle install&lt;br /&gt;
 $ vi bugzilla_config.yml     #use your editor of choice to define bugzilla settings&lt;br /&gt;
 $ vi qa-dashboard_config.yml #and qa-dashboard settings&lt;br /&gt;
 $ ruby bugzilla_export.rb start&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* The script starts a background process and writes logs to &amp;lt;tt&amp;gt;bugzilla_exportd.output&amp;lt;/tt&amp;gt;&lt;br /&gt;
* If you need to stop the script, it can be done with &amp;lt;tt&amp;gt;ruby bugzilla_export.rb stop&amp;lt;/tt&amp;gt;&lt;/div&gt;</summary>
		<author><name>Tomilaine</name></author>	</entry>

	<entry>
		<id>http://wiki.meego.com/Quality/QA-tools/QADashboard</id>
		<title>Quality/QA-tools/QADashboard</title>
		<link rel="alternate" type="text/html" href="http://wiki.meego.com/Quality/QA-tools/QADashboard"/>
				<updated>2011-06-22T11:01:58Z</updated>
		
		<summary type="html">&lt;p&gt;Tomilaine: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= QA Dashboard =&lt;br /&gt;
&lt;br /&gt;
[http://qa-dashboard.leonidasoy.fi/ MeeGo QA Dashboard] is an application for viewing the quality at a glance. It uses various types of widgets to draw graphs and metrics to highlight interesting quality statistics.&lt;br /&gt;
&lt;br /&gt;
== Environments ==&lt;br /&gt;
* [http://qa-dashboard.qa.leonidasoy.fi/ Staging environment - http://qa-dashboard.qa.leonidasoy.fi/]&lt;br /&gt;
&lt;br /&gt;
== Source code ==&lt;br /&gt;
* [http://meego.gitorious.org/meego-quality-assurance/qa-dashboard Source code in Gitorious]&lt;br /&gt;
&lt;br /&gt;
== Administration guide ==&lt;br /&gt;
* [[Quality/QA-tools/QADashboard/Setting_up_the_production_environment|Setting up the production environment]]&lt;br /&gt;
&lt;br /&gt;
== Developer information ==&lt;br /&gt;
* [[Quality/QA-tools/QADashboard/Setting_up_the_development_environment|Setting up the development environment]]&lt;br /&gt;
&lt;br /&gt;
== Contact information ==&lt;br /&gt;
&lt;br /&gt;
QA Dashboard is developed by [[Quality/QA-tools | QA tools team]]. You can contact us via the following channels:&lt;br /&gt;
* [http://webchat.freenode.net/?channels=meego-qa #meego-qa IRC channel on irc.freenode.net]&lt;br /&gt;
* [http://bugs.meego.com/enter_bug.cgi?product=MeeGo%20Quality%20Assurance&amp;amp;component=qa-dashboard File new bugs or improvement ideas to Bugzilla]&lt;br /&gt;
* [http://bugs.meego.com/buglist.cgi?bug_status=NEW&amp;amp;bug_status=NEEDINFO&amp;amp;bug_status=INDEFINITION&amp;amp;bug_status=ASSIGNED&amp;amp;bug_status=ACCEPTED&amp;amp;bug_status=WAITING%20FOR%20UPSTREAM&amp;amp;bug_status=WAITING&amp;amp;bug_status=REOPENED&amp;amp;bug_status=RESOLVED&amp;amp;bug_status=RELEASED&amp;amp;bug_status=VERIFIED&amp;amp;component=qa-dashboard&amp;amp;query_format=advanced&amp;amp;order=priority%2Cbug_severity%2Cchangeddate%2Cbug_status%2Cassigned_to%2Cbug_id&amp;amp;query_based_on= Leave a comment or vote the items in our backlog]&lt;br /&gt;
* [http://lists.meego.com/listinfo/meego-qa meego-qa@lists.meego.com mailing list]&lt;/div&gt;</summary>
		<author><name>Tomilaine</name></author>	</entry>

	<entry>
		<id>http://wiki.meego.com/Quality/QA-tools/QADashboard/Setting_up_the_development_environment</id>
		<title>Quality/QA-tools/QADashboard/Setting up the development environment</title>
		<link rel="alternate" type="text/html" href="http://wiki.meego.com/Quality/QA-tools/QADashboard/Setting_up_the_development_environment"/>
				<updated>2011-06-01T11:51:36Z</updated>
		
		<summary type="html">&lt;p&gt;Tomilaine: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
&lt;br /&gt;
QA Dashboard is a [http://nodejs.org/ Node.js] application. It is written in [http://jashkenas.github.com/coffee-script/ coffee-script] and uses [http://www.mongodb.org/ mongodb] database. You need to install some awesome open source tools to get the development environment up and running.&lt;br /&gt;
&lt;br /&gt;
==Install Node.js==&lt;br /&gt;
(uses v0.4.5 stable package)&lt;br /&gt;
#&amp;lt;tt&amp;gt; $ wget http://nodejs.org/dist/node-v0.4.5.tar.gz&amp;lt;/tt&amp;gt;&lt;br /&gt;
#&amp;lt;tt&amp;gt; $ gunzip node-v0.4.5.tar.gz &amp;lt;/tt&amp;gt;&lt;br /&gt;
#&amp;lt;tt&amp;gt; $ tar -xf node-v0.4.5.tar&amp;lt;/tt&amp;gt;&lt;br /&gt;
#&amp;lt;tt&amp;gt; $ cd node-v0.4.5&amp;lt;/tt&amp;gt;&lt;br /&gt;
#&amp;lt;tt&amp;gt; $ ./configure&amp;lt;/tt&amp;gt;&lt;br /&gt;
#&amp;lt;tt&amp;gt; $ make&amp;lt;/tt&amp;gt;&lt;br /&gt;
#&amp;lt;tt&amp;gt; $ sudo make install&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Install Node Package Manager==&lt;br /&gt;
(uses v1.0.1rc7 stable branch)&lt;br /&gt;
#&amp;lt;tt&amp;gt;$ git clone https://github.com/isaacs/npm.git&amp;lt;/tt&amp;gt;&lt;br /&gt;
#&amp;lt;tt&amp;gt;$ cd npm&amp;lt;/tt&amp;gt;&lt;br /&gt;
#&amp;lt;tt&amp;gt;$ git checkout v1.0.1rc7&amp;lt;/tt&amp;gt;&lt;br /&gt;
#&amp;lt;tt&amp;gt;$ sudo make install&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If your environment does not allow git protocol, make install will fail because of fetching the submodules. This can be fixed by changing the submodule URLs:&lt;br /&gt;
#&amp;lt;tt&amp;gt;$ git config submodule.node_modules/abbrev.url https://github.com/isaacs/abbrev-js.git&amp;lt;/tt&amp;gt;&lt;br /&gt;
#&amp;lt;tt&amp;gt;$ git config submodule.node_modules/nopt.url https://github.com/isaacs/nopt.git&amp;lt;/tt&amp;gt;&lt;br /&gt;
#&amp;lt;tt&amp;gt;$ git config submodule.node_modules/semver.url https://github.com/isaacs/node-semver.git&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Install mongodb==&lt;br /&gt;
#&amp;lt;tt&amp;gt; $ sudo apt-get install mongodb&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Set up QA Dashboard==&lt;br /&gt;
Get the source and install dependencies&lt;br /&gt;
#&amp;lt;tt&amp;gt; $ git clone git://gitorious.org/meego-quality-assurance/qa-dashboard.git&amp;lt;/tt&amp;gt;&lt;br /&gt;
#&amp;lt;tt&amp;gt; $ cd qa-dashboard&amp;lt;/tt&amp;gt;&lt;br /&gt;
#&amp;lt;tt&amp;gt; $ npm install&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Run the tests and start the server==&lt;br /&gt;
#Run unit tests:&amp;lt;tt&amp;gt; $ ./run-nodeunit.sh&amp;lt;/tt&amp;gt;&lt;br /&gt;
#Start the server:&amp;lt;tt&amp;gt; $ ./run-server.sh&amp;lt;/tt&amp;gt;&lt;br /&gt;
#Browse to http://localhost:3030&lt;br /&gt;
&lt;br /&gt;
The server will start in development mode using node-supervisor, which watches for code changes and restarts the server accordingly.&lt;/div&gt;</summary>
		<author><name>Tomilaine</name></author>	</entry>

	<entry>
		<id>http://wiki.meego.com/Quality/QA-tools/CrashReports</id>
		<title>Quality/QA-tools/CrashReports</title>
		<link rel="alternate" type="text/html" href="http://wiki.meego.com/Quality/QA-tools/CrashReports"/>
				<updated>2011-06-01T11:50:34Z</updated>
		
		<summary type="html">&lt;p&gt;Tomilaine: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Crash Reports =&lt;br /&gt;
&lt;br /&gt;
[[File:Meego crash reports.png|right|415px]]&lt;br /&gt;
&lt;br /&gt;
== Developer information ==&lt;br /&gt;
* [[Quality/QA-tools/CrashReports/Setting_up_the_development_environment|Setting up the development environment]]&lt;br /&gt;
&lt;br /&gt;
== User Documentation == &lt;br /&gt;
&lt;br /&gt;
* [[Quality/QA-tools/CrashReports/API|API Documentation]]&lt;/div&gt;</summary>
		<author><name>Tomilaine</name></author>	</entry>

	<entry>
		<id>http://wiki.meego.com/Quality/QA-tools/CrashReports/Setting_up_the_development_environment</id>
		<title>Quality/QA-tools/CrashReports/Setting up the development environment</title>
		<link rel="alternate" type="text/html" href="http://wiki.meego.com/Quality/QA-tools/CrashReports/Setting_up_the_development_environment"/>
				<updated>2011-06-01T11:47:37Z</updated>
		
		<summary type="html">&lt;p&gt;Tomilaine: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
&lt;br /&gt;
Crash Reports is a [http://nodejs.org/ Node.js] application. It is written in [http://jashkenas.github.com/coffee-script/ coffee-script] and uses [http://www.mongodb.org/ mongodb] database. You need to install some awesome open source tools to get the development environment up and running.&lt;br /&gt;
&lt;br /&gt;
==Install Node.js==&lt;br /&gt;
(uses v0.4.5 stable package)&lt;br /&gt;
#&amp;lt;tt&amp;gt; $ wget http://nodejs.org/dist/node-v0.4.5.tar.gz&amp;lt;/tt&amp;gt;&lt;br /&gt;
#&amp;lt;tt&amp;gt; $ gunzip node-v0.4.5.tar.gz &amp;lt;/tt&amp;gt;&lt;br /&gt;
#&amp;lt;tt&amp;gt; $ tar -xf node-v0.4.5.tar&amp;lt;/tt&amp;gt;&lt;br /&gt;
#&amp;lt;tt&amp;gt; $ cd node-v0.4.5&amp;lt;/tt&amp;gt;&lt;br /&gt;
#&amp;lt;tt&amp;gt; $ ./configure&amp;lt;/tt&amp;gt;&lt;br /&gt;
#&amp;lt;tt&amp;gt; $ make&amp;lt;/tt&amp;gt;&lt;br /&gt;
#&amp;lt;tt&amp;gt; $ sudo make install&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Install Node Package Manager==&lt;br /&gt;
(uses v1.0.1rc7 stable branch)&lt;br /&gt;
#&amp;lt;tt&amp;gt;$ git clone https://github.com/isaacs/npm.git&amp;lt;/tt&amp;gt;&lt;br /&gt;
#&amp;lt;tt&amp;gt;$ cd npm&amp;lt;/tt&amp;gt;&lt;br /&gt;
#&amp;lt;tt&amp;gt;$ git checkout v1.0.1rc7&amp;lt;/tt&amp;gt;&lt;br /&gt;
#&amp;lt;tt&amp;gt;$ sudo make install&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If your environment does not allow git protocol, make install will fail because of fetching the submodules. This can be fixed by changing the submodule URLs:&lt;br /&gt;
#&amp;lt;tt&amp;gt;$ git config submodule.node_modules/abbrev.url https://github.com/isaacs/abbrev-js.git&amp;lt;/tt&amp;gt;&lt;br /&gt;
#&amp;lt;tt&amp;gt;$ git config submodule.node_modules/nopt.url https://github.com/isaacs/nopt.git&amp;lt;/tt&amp;gt;&lt;br /&gt;
#&amp;lt;tt&amp;gt;$ git config submodule.node_modules/semver.url https://github.com/isaacs/node-semver.git&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Install mongodb==&lt;br /&gt;
#&amp;lt;tt&amp;gt; $ sudo apt-get install mongodb&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Set up Crash Reports==&lt;br /&gt;
Get the source and install dependencies&lt;br /&gt;
#&amp;lt;tt&amp;gt; $ git clone git://gitorious.org/meego-quality-assurance/crash-reports.git&amp;lt;/tt&amp;gt;&lt;br /&gt;
#&amp;lt;tt&amp;gt; $ cd crash-reports&amp;lt;/tt&amp;gt;&lt;br /&gt;
#&amp;lt;tt&amp;gt; $ npm install&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Start the server==&lt;br /&gt;
#Start the server:&amp;lt;tt&amp;gt; $ ./run-server.sh&amp;lt;/tt&amp;gt;&lt;br /&gt;
#Browse to http://localhost:3040 to verify that server is running&lt;br /&gt;
&lt;br /&gt;
The server will start in development mode using node-supervisor, which watches for code changes and restarts the server accordingly.&lt;/div&gt;</summary>
		<author><name>Tomilaine</name></author>	</entry>

	<entry>
		<id>http://wiki.meego.com/Quality/QA-tools/CrashReports/Setting_up_the_development_environment</id>
		<title>Quality/QA-tools/CrashReports/Setting up the development environment</title>
		<link rel="alternate" type="text/html" href="http://wiki.meego.com/Quality/QA-tools/CrashReports/Setting_up_the_development_environment"/>
				<updated>2011-06-01T11:46:34Z</updated>
		
		<summary type="html">&lt;p&gt;Tomilaine: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
&lt;br /&gt;
Crash Reports is a [http://nodejs.org/ Node.js] application. It is written in [http://jashkenas.github.com/coffee-script/ coffee-script] and uses [http://www.mongodb.org/ mongodb] database. You need to install some awesome open source tools to get the development environment up and running.&lt;br /&gt;
&lt;br /&gt;
==Install Node.js==&lt;br /&gt;
(uses v0.4.5 stable package)&lt;br /&gt;
#&amp;lt;tt&amp;gt; $ wget http://nodejs.org/dist/node-v0.4.5.tar.gz&amp;lt;/tt&amp;gt;&lt;br /&gt;
#&amp;lt;tt&amp;gt; $ gunzip node-v0.4.5.tar.gz &amp;lt;/tt&amp;gt;&lt;br /&gt;
#&amp;lt;tt&amp;gt; $ tar -xf node-v0.4.5.tar&amp;lt;/tt&amp;gt;&lt;br /&gt;
#&amp;lt;tt&amp;gt; $ cd node-v0.4.5&amp;lt;/tt&amp;gt;&lt;br /&gt;
#&amp;lt;tt&amp;gt; $ ./configure&amp;lt;/tt&amp;gt;&lt;br /&gt;
#&amp;lt;tt&amp;gt; $ make&amp;lt;/tt&amp;gt;&lt;br /&gt;
#&amp;lt;tt&amp;gt; $ sudo make install&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Install Node Package Manager==&lt;br /&gt;
(uses v1.0.1rc7 stable branch)&lt;br /&gt;
#&amp;lt;tt&amp;gt;$ git clone https://github.com/isaacs/npm.git&amp;lt;/tt&amp;gt;&lt;br /&gt;
#&amp;lt;tt&amp;gt;$ cd npm&amp;lt;/tt&amp;gt;&lt;br /&gt;
#&amp;lt;tt&amp;gt;$ git checkout v1.0.1rc7&amp;lt;/tt&amp;gt;&lt;br /&gt;
#&amp;lt;tt&amp;gt;$ sudo make install&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If your environment does not allow git protocol, make install will fail because of fetching the submodules. This can be fixed by changing the submodule URLs:&lt;br /&gt;
#&amp;lt;tt&amp;gt;$ git config submodule.node_modules/abbrev.url https://github.com/isaacs/abbrev-js.git&amp;lt;/tt&amp;gt;&lt;br /&gt;
#&amp;lt;tt&amp;gt;$ git config submodule.node_modules/nopt.url https://github.com/isaacs/nopt.git&amp;lt;/tt&amp;gt;&lt;br /&gt;
#&amp;lt;tt&amp;gt;$ git config submodule.node_modules/semver.url https://github.com/isaacs/node-semver.git&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Install mongodb==&lt;br /&gt;
#&amp;lt;tt&amp;gt; $ sudo apt-get install mongodb&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Set up Crash Reports==&lt;br /&gt;
Get the source and install dependencies&lt;br /&gt;
#&amp;lt;tt&amp;gt; $ git clone git://gitorious.org/meego-quality-assurance/crash-reports.git&amp;lt;/tt&amp;gt;&lt;br /&gt;
#&amp;lt;tt&amp;gt; $ cd crash-reports&amp;lt;/tt&amp;gt;&lt;br /&gt;
#&amp;lt;tt&amp;gt; $ npm install&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Start the server==&lt;br /&gt;
#Start the server:&amp;lt;tt&amp;gt; $ ./run-server.sh&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
By default the server can be reached at http://localhost:3040&lt;br /&gt;
The server will start in development mode using node-supervisor, which watches for code changes and restarts the server accordingly.&lt;/div&gt;</summary>
		<author><name>Tomilaine</name></author>	</entry>

	<entry>
		<id>http://wiki.meego.com/Quality/QA-tools/CrashReports/Setting_up_the_development_environment</id>
		<title>Quality/QA-tools/CrashReports/Setting up the development environment</title>
		<link rel="alternate" type="text/html" href="http://wiki.meego.com/Quality/QA-tools/CrashReports/Setting_up_the_development_environment"/>
				<updated>2011-06-01T11:45:58Z</updated>
		
		<summary type="html">&lt;p&gt;Tomilaine: Created page with &amp;quot;==Introduction==  Crash Reports is a [http://nodejs.org/ Node.js] application. It is written in [http://jashkenas.github.com/coffee-script/ coffee-script] and uses [http://www.mo...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
&lt;br /&gt;
Crash Reports is a [http://nodejs.org/ Node.js] application. It is written in [http://jashkenas.github.com/coffee-script/ coffee-script] and uses [http://www.mongodb.org/ mongodb] database. You need to install some awesome open source tools to get the development environment up and running.&lt;br /&gt;
&lt;br /&gt;
==Install Node.js==&lt;br /&gt;
(uses v0.4.5 stable package)&lt;br /&gt;
#&amp;lt;tt&amp;gt; $ wget http://nodejs.org/dist/node-v0.4.5.tar.gz&amp;lt;/tt&amp;gt;&lt;br /&gt;
#&amp;lt;tt&amp;gt; $ gunzip node-v0.4.5.tar.gz &amp;lt;/tt&amp;gt;&lt;br /&gt;
#&amp;lt;tt&amp;gt; $ tar -xf node-v0.4.5.tar&amp;lt;/tt&amp;gt;&lt;br /&gt;
#&amp;lt;tt&amp;gt; $ cd node-v0.4.5&amp;lt;/tt&amp;gt;&lt;br /&gt;
#&amp;lt;tt&amp;gt; $ ./configure&amp;lt;/tt&amp;gt;&lt;br /&gt;
#&amp;lt;tt&amp;gt; $ make&amp;lt;/tt&amp;gt;&lt;br /&gt;
#&amp;lt;tt&amp;gt; $ sudo make install&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Install Node Package Manager==&lt;br /&gt;
(uses v1.0.1rc7 stable branch)&lt;br /&gt;
#&amp;lt;tt&amp;gt;$ git clone https://github.com/isaacs/npm.git&amp;lt;/tt&amp;gt;&lt;br /&gt;
#&amp;lt;tt&amp;gt;$ cd npm&amp;lt;/tt&amp;gt;&lt;br /&gt;
#&amp;lt;tt&amp;gt;$ git checkout v1.0.1rc7&amp;lt;/tt&amp;gt;&lt;br /&gt;
#&amp;lt;tt&amp;gt;$ sudo make install&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If your environment does not allow git protocol, make install will fail because of fetching the submodules. This can be fixed by changing the submodule URLs:&lt;br /&gt;
#&amp;lt;tt&amp;gt;$ git config submodule.node_modules/abbrev.url https://github.com/isaacs/abbrev-js.git&amp;lt;/tt&amp;gt;&lt;br /&gt;
#&amp;lt;tt&amp;gt;$ git config submodule.node_modules/nopt.url https://github.com/isaacs/nopt.git&amp;lt;/tt&amp;gt;&lt;br /&gt;
#&amp;lt;tt&amp;gt;$ git config submodule.node_modules/semver.url https://github.com/isaacs/node-semver.git&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Install mongodb==&lt;br /&gt;
#&amp;lt;tt&amp;gt; $ sudo apt-get install mongodb&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Set up Crash Reports==&lt;br /&gt;
Get the source and install dependencies&lt;br /&gt;
#&amp;lt;tt&amp;gt; $ git clone git://gitorious.org/meego-quality-assurance/crash-reports.git&amp;lt;/tt&amp;gt;&lt;br /&gt;
#&amp;lt;tt&amp;gt; $ cd crash-reports&amp;lt;/tt&amp;gt;&lt;br /&gt;
#&amp;lt;tt&amp;gt; $ npm install&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Start the server==&lt;br /&gt;
#Start the server:&amp;lt;tt&amp;gt; $ ./run-server.sh&amp;lt;/tt&amp;gt;&lt;br /&gt;
#By default the server can be reached at http://localhost:3040&lt;br /&gt;
&lt;br /&gt;
The server will start in development mode using node-supervisor, which watches for code changes and restarts the server accordingly.&lt;/div&gt;</summary>
		<author><name>Tomilaine</name></author>	</entry>

	<entry>
		<id>http://wiki.meego.com/Quality/QA-tools/CrashReports/API</id>
		<title>Quality/QA-tools/CrashReports/API</title>
		<link rel="alternate" type="text/html" href="http://wiki.meego.com/Quality/QA-tools/CrashReports/API"/>
				<updated>2011-05-17T13:58:18Z</updated>
		
		<summary type="html">&lt;p&gt;Tomilaine: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== /api/import ==&lt;br /&gt;
Description: Import crash report&amp;lt;br/&amp;gt;&lt;br /&gt;
Method: POST [encoding multipart/form-data]&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Parameter name&lt;br /&gt;
! Description&lt;br /&gt;
! Values&lt;br /&gt;
|-&lt;br /&gt;
| auth-token&lt;br /&gt;
| Personal authentication token&lt;br /&gt;
| 123456789ABCDE&lt;br /&gt;
|-&lt;br /&gt;
| release&lt;br /&gt;
| Release version&lt;br /&gt;
| 1.0, 1.1, 1.2&lt;br /&gt;
|-&lt;br /&gt;
| profile&lt;br /&gt;
| MeeGo profile&lt;br /&gt;
| Optional. Core, Handset, Tablet, Netbook, IVI&lt;br /&gt;
|-&lt;br /&gt;
| product&lt;br /&gt;
| Product name&lt;br /&gt;
| Ia-Russellville, N900, Pinetrail etc&lt;br /&gt;
|-&lt;br /&gt;
| build&lt;br /&gt;
| Build name&lt;br /&gt;
| e.g. 2011.14, 2011.15 etc&lt;br /&gt;
|-&lt;br /&gt;
| id&lt;br /&gt;
| Unique identifier for the crash, e.g. MD5(core file)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| mac&lt;br /&gt;
| MD5(device's MAC address)&lt;br /&gt;
| Optional&lt;br /&gt;
|-&lt;br /&gt;
| imei&lt;br /&gt;
| MD5(device's IMEI address)&lt;br /&gt;
| Optional&lt;br /&gt;
|-&lt;br /&gt;
| core&lt;br /&gt;
| Coredump as an attachment&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| rich-core&lt;br /&gt;
| Rich core as an attachment&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| stack-trace&lt;br /&gt;
| Stack trace as an attachment&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| attachment.[1..n]&lt;br /&gt;
| Other files to be attached with the report: Screenshots, logs etc&lt;br /&gt;
| Optional&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The input can contain multiple ''attachment'' files. An unique field name have to be given for each file. Unique file names are created by giving a sequence number for each file starting from number 1, for example &amp;quot;attachment.1&amp;quot;, &amp;quot;attachment.2&amp;quot; etc.&lt;br /&gt;
&lt;br /&gt;
Because multiple files can be uploaded, HTTP POST with &amp;quot;[http://tools.ietf.org/html/rfc2388 multipart/form-encoding]&amp;quot; is used.&lt;br /&gt;
&lt;br /&gt;
An example using [http://curl.haxx.se/Curl Curl] for testing the API:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;curl -F &amp;quot;core=@filename.core&amp;quot; -F &amp;quot;rich-core=@filename.rcore&amp;quot; -F &amp;quot;stack-trace=@trace.txt&amp;quot; -F &amp;quot;id=1234567890ABCDEF&amp;quot; -F &amp;quot;auth-token=123456&amp;quot; -F &amp;quot;attachment.1=@test.jpg&amp;quot; -F &amp;quot;release=&amp;quot;1.2&amp;quot; -F &amp;quot;product=N900&amp;quot; -F &amp;quot;build=2011.20&amp;quot; http://crash-reports.qa.leonidasoy.fi/api/import&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The operation results status code in [http://en.wikipedia.org/wiki/JSON JSON] format. If the operation proceeds successfully, key value pair &amp;quot;ok&amp;quot; = 1 is returned with a link to the created report.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;{&amp;quot;ok&amp;quot;:&amp;quot;1&amp;quot;, &amp;quot;url&amp;quot;:&amp;quot;http://crash-reports.qa.leonidasoy.fi/1234657890ABCDEF&amp;quot;}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In case of error, ''ok'' values is 0, and an additional field ''errors'' describing the problem is returned&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;{&amp;quot;ok&amp;quot;:&amp;quot;0&amp;quot;,&amp;quot;errors&amp;quot;:&amp;quot;unknown attribute: foobar&amp;quot;}&amp;lt;/code&amp;gt;&lt;/div&gt;</summary>
		<author><name>Tomilaine</name></author>	</entry>

	<entry>
		<id>http://wiki.meego.com/Quality/QA-tools/CrashReports/API</id>
		<title>Quality/QA-tools/CrashReports/API</title>
		<link rel="alternate" type="text/html" href="http://wiki.meego.com/Quality/QA-tools/CrashReports/API"/>
				<updated>2011-05-17T13:52:02Z</updated>
		
		<summary type="html">&lt;p&gt;Tomilaine: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== /api/import ==&lt;br /&gt;
Description: Import crash report&amp;lt;br/&amp;gt;&lt;br /&gt;
Method: POST [encoding multipart/form-data]&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Parameter name&lt;br /&gt;
! Description&lt;br /&gt;
! Values&lt;br /&gt;
|-&lt;br /&gt;
| auth-token&lt;br /&gt;
| Personal authentication token&lt;br /&gt;
| 123456789ABCDE&lt;br /&gt;
|-&lt;br /&gt;
| release&lt;br /&gt;
| Release version&lt;br /&gt;
| 1.0, 1.1, 1.2&lt;br /&gt;
|-&lt;br /&gt;
| profile&lt;br /&gt;
| MeeGo profile&lt;br /&gt;
| Optional. Core, Handset, Tablet, Netbook, IVI&lt;br /&gt;
|-&lt;br /&gt;
| product&lt;br /&gt;
| Product name&lt;br /&gt;
| Ia-Russellville, N900, Pinetrail etc&lt;br /&gt;
|-&lt;br /&gt;
| build&lt;br /&gt;
| Build name&lt;br /&gt;
| e.g. 2011.14, 2011.15 etc&lt;br /&gt;
|-&lt;br /&gt;
| id&lt;br /&gt;
| Unique identifier for the crash, e.g. MD5(core file)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| mac&lt;br /&gt;
| MD5(device's MAC address)&lt;br /&gt;
| Optional&lt;br /&gt;
|-&lt;br /&gt;
| imei&lt;br /&gt;
| MD5(device's IMEI address)&lt;br /&gt;
| Optional&lt;br /&gt;
|-&lt;br /&gt;
| core&lt;br /&gt;
| Coredump as an attachment&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| rich-core&lt;br /&gt;
| Rich core as an attachment&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| stack-trace&lt;br /&gt;
| Stack trace as an attachment&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| attachment.[1..n]&lt;br /&gt;
| Other files to be attached with the report: Screenshots, logs etc&lt;br /&gt;
| Optional&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The input can contain multiple ''attachment'' files. An unique field name have to be given for each file. Unique file names are created by giving a sequence number for each file starting from number 1, for example &amp;quot;attachment.1&amp;quot;, &amp;quot;attachment.2&amp;quot; etc.&lt;br /&gt;
&lt;br /&gt;
Because multiple files can be uploaded, HTTP POST with &amp;quot;[http://tools.ietf.org/html/rfc2388 multipart/form-encoding]&amp;quot; is used.&lt;br /&gt;
&lt;br /&gt;
An example using [http://curl.haxx.se/Curl Curl] for testing the API:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;curl -F &amp;quot;core=@filename.core&amp;quot; -F &amp;quot;rich-core=@filename.rcore&amp;quot; -F &amp;quot;stack-trace=@trace.txt&amp;quot; -F &amp;quot;id=1234567890ABCDEF&amp;quot; -F &amp;quot;auth-token=123456&amp;quot; -F &amp;quot;attachment.1=@test.jpg&amp;quot; -F &amp;quot;release=&amp;quot;1.2&amp;quot; -F &amp;quot;product=N900&amp;quot; -F &amp;quot;build=2011.20&amp;quot; http://crash-reports.leonidasoy.fi/api/import&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The operation results status code in [http://en.wikipedia.org/wiki/JSON JSON] format. If the operation proceeds successfully, key value pair &amp;quot;ok&amp;quot; = 1 is returned with a link to the created report.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;{&amp;quot;ok&amp;quot;:&amp;quot;1&amp;quot;, &amp;quot;url&amp;quot;:&amp;quot;http://crash-reports.leonidasoy.fi/1234657890ABCDEF&amp;quot;}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In case of error, ''ok'' values is 0, and an additional field ''errors'' describing the problem is returned&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;{&amp;quot;ok&amp;quot;:&amp;quot;0&amp;quot;,&amp;quot;errors&amp;quot;:&amp;quot;unknown attribute: foobar&amp;quot;}&amp;lt;/code&amp;gt;&lt;/div&gt;</summary>
		<author><name>Tomilaine</name></author>	</entry>

	<entry>
		<id>http://wiki.meego.com/Quality/QA-tools/QADashboard/Setting_up_the_production_environment</id>
		<title>Quality/QA-tools/QADashboard/Setting up the production environment</title>
		<link rel="alternate" type="text/html" href="http://wiki.meego.com/Quality/QA-tools/QADashboard/Setting_up_the_production_environment"/>
				<updated>2011-04-19T14:08:54Z</updated>
		
		<summary type="html">&lt;p&gt;Tomilaine: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview =&lt;br /&gt;
&lt;br /&gt;
Running and deploying QA Dashboard relies heavily on automated deployment scripts and version control repository. At high level, deployment process is following:&lt;br /&gt;
&lt;br /&gt;
# Log in to your workstation and update QA Dashboard working tree&lt;br /&gt;
# Run Capistrano deployment script on your workstation&lt;br /&gt;
# Capistrano script connects to the production server and updates the deployment by&lt;br /&gt;
## Connecting to version control system from production server and updating the source code on the production server&lt;br /&gt;
## Installing node package dependencies&lt;br /&gt;
## Restarting the application on production server&lt;br /&gt;
&lt;br /&gt;
= Setting up the local environment for deployments =&lt;br /&gt;
&lt;br /&gt;
QA Dashboard uses Capistrano to automate the deployments. The main benefit is to eliminate the risks of human errors and to enable easy and repeatable rollbacks. See [http://github.com/capistrano/capistrano/wiki Capistrano documentation] for the details&lt;br /&gt;
&lt;br /&gt;
== Install development environment ==&lt;br /&gt;
&lt;br /&gt;
You should first [http://wiki.meego.com/Quality/QA-tools/QADashboard/Setting_up_the_development_environment set up the development environment] on your workstation before continuing.&lt;br /&gt;
Capistrano is run from your development environment&lt;br /&gt;
&lt;br /&gt;
== Installing Capistrano ==&lt;br /&gt;
&lt;br /&gt;
Capistrano requires Ruby. If you do not have Ruby installed please follow the &amp;quot;Install Ruby&amp;quot; instructions [http://wiki.meego.com/Quality/QA-tools/QAReports/Setting_up_the_development_environment here].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;$ gem install capistrano&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Setting up the production server =&lt;br /&gt;
&lt;br /&gt;
== Install dependencies ==&lt;br /&gt;
&lt;br /&gt;
The same dependencies are needed in the production server as in development environment.&lt;br /&gt;
Follow the instructions in [[Quality/QA-tools/QAReports/Setting_up_the_development_environment]] to:&lt;br /&gt;
# Install Node.js&lt;br /&gt;
# Install Node Package Manager&lt;br /&gt;
# Install mongodb&lt;br /&gt;
&lt;br /&gt;
== Create virtual host for QA Dashboard ==&lt;br /&gt;
(example using nginx)&lt;br /&gt;
&lt;br /&gt;
Write a following virtual host declaration to /etc/nginx/sites-available/qa-dashboard&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 server {&lt;br /&gt;
     listen 80;&lt;br /&gt;
     server_name qa-dashboard.qa.leonidasoy.fi;&lt;br /&gt;
     location / {&lt;br /&gt;
         proxy_pass  http://localhost:3030;&lt;br /&gt;
         proxy_set_header Host $host;&lt;br /&gt;
         proxy_set_header X-Forwarded-Host $host;&lt;br /&gt;
         proxy_set_header X-Forwarded-Server $host;&lt;br /&gt;
         proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; &lt;br /&gt;
         proxy_set_header X-Real-IP  $remote_addr;&lt;br /&gt;
     }&lt;br /&gt;
 }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Restart nginx&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 sudo service nginx restart&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Deploying QA Dashboard =&lt;br /&gt;
&lt;br /&gt;
== Enable public key authentication for your deployment account ==&lt;br /&gt;
&lt;br /&gt;
Set up public key authentication:&lt;br /&gt;
# Generate yourself as SSH key pair if you don't have one: &amp;lt;tt&amp;gt;$ ssh-keygen&amp;lt;/tt&amp;gt;&lt;br /&gt;
# Add your public key to &amp;lt;tt&amp;gt;authorized_keys&amp;lt;/tt&amp;gt; file of your production environment user: &amp;lt;br&amp;gt; &amp;lt;tt&amp;gt;$ ssh your.production.user@your.production.host 'mkdir .ssh; echo '`cat ~/.ssh/id_rsa.pub`' &amp;gt;&amp;gt; ~/.ssh/authorized_keys'&amp;lt;/tt&amp;gt;&lt;br /&gt;
# Try logging in: &amp;lt;tt&amp;gt;ssh your.production.user@your.production.host&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Modify Capistrano scripts and setup deployment ==&lt;br /&gt;
&lt;br /&gt;
QA Dashboard uses following scripts to configure Capistrano&lt;br /&gt;
* &amp;lt;tt&amp;gt;config/deploy.rb&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;config/deploy/staging.rb&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;config/deploy/production.rb&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You might want to review all the files, but usually it's enough to update only &amp;lt;tt&amp;gt;config/deploy/production.rb&amp;lt;/tt&amp;gt; according to your needs (servers, deployment account, ssh options). You can also create new deployment environment just by copying the production.rb, to e.g. internal.rb and modify it.&lt;br /&gt;
&lt;br /&gt;
When you deploy for first time you need to run setup command, which creates creates the folder hierarchy and the symbolic links required by Capistrano.&amp;lt;br&amp;gt;&lt;br /&gt;
Once the Capistrano is updated according to your needs you need to run setup command, which creates creates the folder hierarchy and the symbolic links required by Capistrano. After that the server can be started.&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 $ cap production deploy:setup # or cap internal deploy:setup, if you created a new deployment environment&lt;br /&gt;
 $ cap production deploy:start # starts the server&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Deploying QA Dashboard ==&lt;br /&gt;
&lt;br /&gt;
Once the setup is complete, the deployment is as easy as it gets&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 $ cap production deploy&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;/div&gt;</summary>
		<author><name>Tomilaine</name></author>	</entry>

	<entry>
		<id>http://wiki.meego.com/Quality/QA-tools/QADashboard/Setting_up_the_production_environment</id>
		<title>Quality/QA-tools/QADashboard/Setting up the production environment</title>
		<link rel="alternate" type="text/html" href="http://wiki.meego.com/Quality/QA-tools/QADashboard/Setting_up_the_production_environment"/>
				<updated>2011-04-19T13:28:14Z</updated>
		
		<summary type="html">&lt;p&gt;Tomilaine: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview =&lt;br /&gt;
&lt;br /&gt;
Running and deploying QA Dashboard relies heavily on automated deployment scripts and version control repository. At high level, deployment process is following:&lt;br /&gt;
&lt;br /&gt;
# Log in to your workstation and update QA Dashboard working tree&lt;br /&gt;
# Run Capistrano deployment script on your workstation&lt;br /&gt;
# Capistrano script connects to the production server and updates the deployment by&lt;br /&gt;
## Connecting to version control system from production server and updating the source code on the production server&lt;br /&gt;
## Installing node package dependencies&lt;br /&gt;
## Restarting the application on production server&lt;br /&gt;
&lt;br /&gt;
= Setting up the local environment for deployments =&lt;br /&gt;
&lt;br /&gt;
QA Dashboard uses Capistrano to automate the deployments. The main benefit is to eliminate the risks of human errors and to enable easy and repeatable rollbacks. See [http://github.com/capistrano/capistrano/wiki Capistrano documentation] for the details&lt;br /&gt;
&lt;br /&gt;
== Install development environment ==&lt;br /&gt;
&lt;br /&gt;
You should first [http://wiki.meego.com/Quality/QA-tools/QADashboard/Setting_up_the_development_environment set up the development environment] on your workstation before continuing.&lt;br /&gt;
Capistrano is run from your development environment&lt;br /&gt;
&lt;br /&gt;
== Installing Capistrano ==&lt;br /&gt;
&lt;br /&gt;
Capistrano requires Ruby. If you do not have Ruby installed please follow the &amp;quot;Install Ruby&amp;quot; instructions [http://wiki.meego.com/Quality/QA-tools/QAReports/Setting_up_the_development_environment here].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;$ gem install capistrano&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Setting up the production server =&lt;br /&gt;
&lt;br /&gt;
== Install dependencies ==&lt;br /&gt;
&lt;br /&gt;
The same dependencies are needed in the production server as in development environment.&lt;br /&gt;
Follow the instructions in [[Quality/QA-tools/QAReports/Setting_up_the_development_environment]] to:&lt;br /&gt;
# Install Node.js&lt;br /&gt;
# Install Node Package Manager&lt;br /&gt;
# Install mongodb&lt;br /&gt;
&lt;br /&gt;
== Create virtual host for QA Dashboard ==&lt;br /&gt;
(example using nginx)&lt;br /&gt;
&lt;br /&gt;
Write a following virtual host declaration to /etc/nginx/sites-available/qa-dashboard&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 server {&lt;br /&gt;
     listen 80;&lt;br /&gt;
     server_name qa-dashboard.qa.leonidasoy.fi;&lt;br /&gt;
     location / {&lt;br /&gt;
         proxy_pass  http://localhost:3030;&lt;br /&gt;
         proxy_set_header Host $host;&lt;br /&gt;
         proxy_set_header X-Forwarded-Host $host;&lt;br /&gt;
         proxy_set_header X-Forwarded-Server $host;&lt;br /&gt;
         proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; &lt;br /&gt;
         proxy_set_header X-Real-IP  $remote_addr;&lt;br /&gt;
     }&lt;br /&gt;
 }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Deploying QA Dashboard =&lt;br /&gt;
&lt;br /&gt;
== Enable public key authentication for your deployment account ==&lt;br /&gt;
&lt;br /&gt;
Set up public key authentication:&lt;br /&gt;
# Generate yourself as SSH key pair if you don't have one: &amp;lt;tt&amp;gt;$ ssh-keygen&amp;lt;/tt&amp;gt;&lt;br /&gt;
# Add your public key to &amp;lt;tt&amp;gt;authorized_keys&amp;lt;/tt&amp;gt; file of your production environment user: &amp;lt;br&amp;gt; &amp;lt;tt&amp;gt;$ ssh your.production.user@your.production.host 'mkdir .ssh; echo '`cat ~/.ssh/id_rsa.pub`' &amp;gt;&amp;gt; ~/.ssh/authorized_keys'&amp;lt;/tt&amp;gt;&lt;br /&gt;
# Try logging in: &amp;lt;tt&amp;gt;ssh your.production.user@your.production.host&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Modify Capistrano scripts and setup deployment ==&lt;br /&gt;
&lt;br /&gt;
QA Dashboard uses following scripts to configure Capistrano&lt;br /&gt;
* &amp;lt;tt&amp;gt;config/deploy.rb&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;config/deploy/staging.rb&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;config/deploy/production.rb&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You might want to review all the files, but usually it's enough to update only &amp;lt;tt&amp;gt;config/deploy/production.rb&amp;lt;/tt&amp;gt; according to your needs (servers, deployment account, ssh options). You can also create new deployment environment just by copying the production.rb, to e.g. internal.rb and modify it.&lt;br /&gt;
&lt;br /&gt;
When you deploy for first time you need to run setup command, which creates creates the folder hierarchy and the symbolic links required by Capistrano.&amp;lt;br&amp;gt;&lt;br /&gt;
Once the Capistrano is updated according to your needs you need to run setup command, which creates creates the folder hierarchy and the symbolic links required by Capistrano. After that the server can be started.&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 $ cap production deploy:setup # or cap internal deploy:setup, if you created a new deployment environment&lt;br /&gt;
 $ cap production deploy:start # starts the server&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Deploying QA Dashboard ==&lt;br /&gt;
&lt;br /&gt;
Once the setup is complete, the deployment is as easy as it gets&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 $ cap production deploy&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;/div&gt;</summary>
		<author><name>Tomilaine</name></author>	</entry>

	<entry>
		<id>http://wiki.meego.com/Quality/QA-tools/QADashboard/Setting_up_the_production_environment</id>
		<title>Quality/QA-tools/QADashboard/Setting up the production environment</title>
		<link rel="alternate" type="text/html" href="http://wiki.meego.com/Quality/QA-tools/QADashboard/Setting_up_the_production_environment"/>
				<updated>2011-04-19T13:23:18Z</updated>
		
		<summary type="html">&lt;p&gt;Tomilaine: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview =&lt;br /&gt;
&lt;br /&gt;
Running and deploying QA Dashboard relies heavily on automated deployment scripts and version control repository. At high level, deployment process is following:&lt;br /&gt;
&lt;br /&gt;
# Log in to your workstation and update QA Dashboard working tree&lt;br /&gt;
# Run Capistrano deployment script on your workstation&lt;br /&gt;
# Capistrano script connects to the production server and updates the deployment by&lt;br /&gt;
## Connecting to version control system from production server and updating the source code on the production server&lt;br /&gt;
## Installing node package dependencies&lt;br /&gt;
## Restarting the application on production server&lt;br /&gt;
&lt;br /&gt;
= Setting up the local environment for deployments =&lt;br /&gt;
&lt;br /&gt;
QA Dashboard uses Capistrano to automate the deployments. The main benefit is to eliminate the risks of human errors and to enable easy and repeatable rollbacks. See [http://github.com/capistrano/capistrano/wiki Capistrano documentation] for the details&lt;br /&gt;
&lt;br /&gt;
== Install development environment ==&lt;br /&gt;
&lt;br /&gt;
You should first [http://wiki.meego.com/Quality/QA-tools/QADashboard/Setting_up_the_development_environment set up the development environment] on your workstation before continuing.&lt;br /&gt;
Capistrano is run from your development environment&lt;br /&gt;
&lt;br /&gt;
== Installing Capistrano ==&lt;br /&gt;
&lt;br /&gt;
Capistrano requires Ruby. If you do not have Ruby installed please follow the &amp;quot;Install Ruby&amp;quot; instructions [http://wiki.meego.com/Quality/QA-tools/QAReports/Setting_up_the_development_environment here].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;$ gem install capistrano&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Setting up the production server =&lt;br /&gt;
&lt;br /&gt;
== Install dependencies ==&lt;br /&gt;
&lt;br /&gt;
The same installations are needed in the production server as in development environment.&lt;br /&gt;
Follow the instructions in [[Quality/QA-tools/QAReports/Setting_up_the_development_environment]] to:&lt;br /&gt;
# Install Node.js&lt;br /&gt;
# Install Node Package Manager&lt;br /&gt;
# Install mongodb&lt;br /&gt;
&lt;br /&gt;
== Create virtual host for QA Dashboard ==&lt;br /&gt;
(example using nginx)&lt;br /&gt;
&lt;br /&gt;
Write a following virtual host declaration to /etc/nginx/sites-available/qa-dashboard&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 server {&lt;br /&gt;
     listen 80;&lt;br /&gt;
     server_name qa-dashboard.qa.leonidasoy.fi;&lt;br /&gt;
     location / {&lt;br /&gt;
         proxy_pass  http://localhost:3030;&lt;br /&gt;
         proxy_set_header Host $host;&lt;br /&gt;
         proxy_set_header X-Forwarded-Host $host;&lt;br /&gt;
         proxy_set_header X-Forwarded-Server $host;&lt;br /&gt;
         proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; &lt;br /&gt;
         proxy_set_header X-Real-IP  $remote_addr;&lt;br /&gt;
     }&lt;br /&gt;
 }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Deploying QA Dashboard =&lt;br /&gt;
&lt;br /&gt;
== Enable public key authentication for your deployment account ==&lt;br /&gt;
&lt;br /&gt;
Set up public key authentication:&lt;br /&gt;
# Generate yourself as SSH key pair if you don't have one: &amp;lt;tt&amp;gt;$ ssh-keygen&amp;lt;/tt&amp;gt;&lt;br /&gt;
# Add your public key to &amp;lt;tt&amp;gt;authorized_keys&amp;lt;/tt&amp;gt; file of your production environment user: &amp;lt;br&amp;gt; &amp;lt;tt&amp;gt;$ ssh your.production.user@your.production.host 'mkdir .ssh; echo '`cat ~/.ssh/id_rsa.pub`' &amp;gt;&amp;gt; ~/.ssh/authorized_keys'&amp;lt;/tt&amp;gt;&lt;br /&gt;
# Try logging in: &amp;lt;tt&amp;gt;ssh your.production.user@your.production.host&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Modify Capistrano scripts and setup deployment ==&lt;br /&gt;
&lt;br /&gt;
QA Dashboard uses following scripts to configure Capistrano&lt;br /&gt;
* &amp;lt;tt&amp;gt;config/deploy.rb&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;config/deploy/staging.rb&amp;lt;/tt&amp;gt;&lt;br /&gt;
* &amp;lt;tt&amp;gt;config/deploy/production.rb&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You might want to review all the files, but usually it's enough to update only &amp;lt;tt&amp;gt;config/deploy/production.rb&amp;lt;/tt&amp;gt; according to your needs (servers, deployment account, ssh options). You can also create new deployment environment just by copying the production.rb, to e.g. internal.rb and modify it.&lt;br /&gt;
&lt;br /&gt;
When you deploy for first time you need to run setup command, which creates creates the folder hierarchy and the symbolic links required by Capistrano.&amp;lt;br&amp;gt;&lt;br /&gt;
Once the Capistrano is updated according to your needs you need to run setup command, which creates creates the folder hierarchy and the symbolic links required by Capistrano. After that the server can be started.&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 $ cap production deploy:setup # or cap internal deploy:setup, if you created a new deployment environment&lt;br /&gt;
 $ cap production deploy:start # starts the server&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Deploying QA Dashboard ==&lt;br /&gt;
&lt;br /&gt;
Once the setup is complete, the deployment is as easy as it gets&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 $ cap production deploy&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;/div&gt;</summary>
		<author><name>Tomilaine</name></author>	</entry>

	<entry>
		<id>http://wiki.meego.com/Quality/QA-tools/QADashboard/Setting_up_the_production_environment</id>
		<title>Quality/QA-tools/QADashboard/Setting up the production environment</title>
		<link rel="alternate" type="text/html" href="http://wiki.meego.com/Quality/QA-tools/QADashboard/Setting_up_the_production_environment"/>
				<updated>2011-04-19T11:39:14Z</updated>
		
		<summary type="html">&lt;p&gt;Tomilaine: Created page with &amp;quot;= Overview =  Running and deploying QA Dashboard relies heavily on automated deployment scripts and version control repository. At high level, deployment process is following:  #...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Overview =&lt;br /&gt;
&lt;br /&gt;
Running and deploying QA Dashboard relies heavily on automated deployment scripts and version control repository. At high level, deployment process is following:&lt;br /&gt;
&lt;br /&gt;
# Log in to your workstation and update QA Dashboard working tree&lt;br /&gt;
# Run Capistrano deployment script on your workstation&lt;br /&gt;
# Capistrano script connects to the production server and updates the deployment by&lt;br /&gt;
## Connecting to version control system from production server and updating the source code on the production server&lt;br /&gt;
## Installing node package dependencies&lt;br /&gt;
## Restarting the application on production server&lt;br /&gt;
&lt;br /&gt;
To achieve all the goodness, you should first [http://wiki.meego.com/Quality/QA-tools/QADashboard/Setting_up_the_development_environment set up the development environment] on your workstation before continuing.&lt;br /&gt;
&lt;br /&gt;
= Setting up the production server =&lt;br /&gt;
&lt;br /&gt;
The same installations are needed in the production server as in development environment.&lt;br /&gt;
Follow the instructions in [[Quality/QA-tools/QAReports/Setting_up_the_development_environment]] to:&lt;br /&gt;
# Install Node.js&lt;br /&gt;
# Install Node Package Manager&lt;br /&gt;
# Install mongodb&lt;/div&gt;</summary>
		<author><name>Tomilaine</name></author>	</entry>

	<entry>
		<id>http://wiki.meego.com/Quality/QA-tools/QADashboard/Setting_up_the_development_environment</id>
		<title>Quality/QA-tools/QADashboard/Setting up the development environment</title>
		<link rel="alternate" type="text/html" href="http://wiki.meego.com/Quality/QA-tools/QADashboard/Setting_up_the_development_environment"/>
				<updated>2011-04-19T11:35:50Z</updated>
		
		<summary type="html">&lt;p&gt;Tomilaine: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
&lt;br /&gt;
QA Dashboard is a [http://nodejs.org/ Node.js] application. It is written in [http://jashkenas.github.com/coffee-script/ coffee-script] and uses [http://www.mongodb.org/ mongodb] database. You need to install some awesome open source tools to get the development environment up and running.&lt;br /&gt;
&lt;br /&gt;
==Install Node.js==&lt;br /&gt;
(uses v0.4.5 stable package)&lt;br /&gt;
#&amp;lt;tt&amp;gt; $ wget http://nodejs.org/dist/node-v0.4.5.tar.gz&amp;lt;/tt&amp;gt;&lt;br /&gt;
#&amp;lt;tt&amp;gt; $ gunzip node-v0.4.5.tar.gz &amp;lt;/tt&amp;gt;&lt;br /&gt;
#&amp;lt;tt&amp;gt; $ tar -xf node-v0.4.5.tar&amp;lt;/tt&amp;gt;&lt;br /&gt;
#&amp;lt;tt&amp;gt; $ cd node-v0.4.5&amp;lt;/tt&amp;gt;&lt;br /&gt;
#&amp;lt;tt&amp;gt; $ ./configure&amp;lt;/tt&amp;gt;&lt;br /&gt;
#&amp;lt;tt&amp;gt; $ make&amp;lt;/tt&amp;gt;&lt;br /&gt;
#&amp;lt;tt&amp;gt; $ sudo make install&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Install Node Package Manager==&lt;br /&gt;
(uses v1.0.1rc7 stable branch)&lt;br /&gt;
#&amp;lt;tt&amp;gt;$ git clone https://github.com/isaacs/npm.git&amp;lt;/tt&amp;gt;&lt;br /&gt;
#&amp;lt;tt&amp;gt;$ cd npm&amp;lt;/tt&amp;gt;&lt;br /&gt;
#&amp;lt;tt&amp;gt;$ git checkout v1.0.1rc7&amp;lt;/tt&amp;gt;&lt;br /&gt;
#&amp;lt;tt&amp;gt;$ sudo make install&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If your environment does not allow git protocol, make install will fail because of fetching the submodules. This can be fixed by changing the submodule URLs:&lt;br /&gt;
#&amp;lt;tt&amp;gt;$ git config submodule.node_modules/abbrev.url https://github.com/isaacs/abbrev-js.git&amp;lt;/tt&amp;gt;&lt;br /&gt;
#&amp;lt;tt&amp;gt;$ git config submodule.node_modules/nopt.url https://github.com/isaacs/nopt.git&amp;lt;/tt&amp;gt;&lt;br /&gt;
#&amp;lt;tt&amp;gt;$ git config submodule.node_modules/semver.url https://github.com/isaacs/node-semver.git&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Install mongodb==&lt;br /&gt;
#&amp;lt;tt&amp;gt; $ sudo apt-get install mongodb&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Set up QA Dashboard==&lt;br /&gt;
Get the source and install dependencies&lt;br /&gt;
#&amp;lt;tt&amp;gt; $ git clone git://gitorious.org/meego-quality-assurance/qa-dashboard.git&amp;lt;/tt&amp;gt;&lt;br /&gt;
#&amp;lt;tt&amp;gt; $ cd qa-dashboard&amp;lt;/tt&amp;gt;&lt;br /&gt;
#&amp;lt;tt&amp;gt; $ npm install&amp;lt;/tt&amp;gt;&lt;br /&gt;
QA Dashboard repository includes a default mongodb dump which can be used to populate the database.&lt;br /&gt;
#&amp;lt;tt&amp;gt; $ mongorestore&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Run the tests and start the server==&lt;br /&gt;
#Run unit tests:&amp;lt;tt&amp;gt; $ ./run-nodeunit.sh&amp;lt;/tt&amp;gt;&lt;br /&gt;
#Start the server:&amp;lt;tt&amp;gt; $ ./run-server.sh&amp;lt;/tt&amp;gt;&lt;br /&gt;
#Browse to http://localhost:3030&lt;br /&gt;
&lt;br /&gt;
The server will start in development mode using node-supervisor, which watches for code changes and restarts the server accordingly.&lt;/div&gt;</summary>
		<author><name>Tomilaine</name></author>	</entry>

	<entry>
		<id>http://wiki.meego.com/Quality/QA-tools/QADashboard</id>
		<title>Quality/QA-tools/QADashboard</title>
		<link rel="alternate" type="text/html" href="http://wiki.meego.com/Quality/QA-tools/QADashboard"/>
				<updated>2011-04-19T11:09:43Z</updated>
		
		<summary type="html">&lt;p&gt;Tomilaine: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= QA Dashboard =&lt;br /&gt;
&lt;br /&gt;
[http://qa-dashboard.leonidasoy.fi/ MeeGo QA Dashboard] is an application for viewing the quality at a glance. It uses various types of widgets to draw graphs and metrics to highlight interesting quality statistics. The service will be launched by the end of April.&lt;br /&gt;
&lt;br /&gt;
== Environments ==&lt;br /&gt;
* [http://qa-dashboard.qa.leonidasoy.fi/ Staging environment - http://qa-dashboard.qa.leonidasoy.fi/]&lt;br /&gt;
&lt;br /&gt;
== Source code ==&lt;br /&gt;
* [http://meego.gitorious.org/meego-quality-assurance/qa-dashboard Source code in Gitorious]&lt;br /&gt;
&lt;br /&gt;
== Administration guide ==&lt;br /&gt;
* [[Quality/QA-tools/QADashboard/Setting_up_the_production_environment|Setting up the production environment]]&lt;br /&gt;
&lt;br /&gt;
== Developer information ==&lt;br /&gt;
* [[Quality/QA-tools/QADashboard/Setting_up_the_development_environment|Setting up the development environment]]&lt;br /&gt;
&lt;br /&gt;
== Contact information ==&lt;br /&gt;
&lt;br /&gt;
QA Dashboard is developed by [[Quality/QA-tools | QA tools team]]. You can contact us via the following channels:&lt;br /&gt;
* [http://webchat.freenode.net/?channels=meego-qa #meego-qa IRC channel on irc.freenode.net]&lt;br /&gt;
* [http://bugs.meego.com/enter_bug.cgi?product=MeeGo%20Quality%20Assurance&amp;amp;component=qa-dashboard File new bugs or improvement ideas to Bugzilla]&lt;br /&gt;
* [http://bugs.meego.com/buglist.cgi?bug_status=NEW&amp;amp;bug_status=NEEDINFO&amp;amp;bug_status=INDEFINITION&amp;amp;bug_status=ASSIGNED&amp;amp;bug_status=ACCEPTED&amp;amp;bug_status=WAITING%20FOR%20UPSTREAM&amp;amp;bug_status=WAITING&amp;amp;bug_status=REOPENED&amp;amp;bug_status=RESOLVED&amp;amp;bug_status=RELEASED&amp;amp;bug_status=VERIFIED&amp;amp;component=qa-dashboard&amp;amp;query_format=advanced&amp;amp;order=priority%2Cbug_severity%2Cchangeddate%2Cbug_status%2Cassigned_to%2Cbug_id&amp;amp;query_based_on= Leave a comment or vote the items in our backlog]&lt;br /&gt;
* [http://lists.meego.com/listinfo/meego-qa meego-qa@lists.meego.com mailing list]&lt;/div&gt;</summary>
		<author><name>Tomilaine</name></author>	</entry>

	<entry>
		<id>http://wiki.meego.com/Quality/QA-tools/QADashboard</id>
		<title>Quality/QA-tools/QADashboard</title>
		<link rel="alternate" type="text/html" href="http://wiki.meego.com/Quality/QA-tools/QADashboard"/>
				<updated>2011-04-14T14:55:59Z</updated>
		
		<summary type="html">&lt;p&gt;Tomilaine: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= QA Dashboard =&lt;br /&gt;
&lt;br /&gt;
[http://qa-dashboard.leonidasoy.fi/ MeeGo QA Dashboard] is an application for viewing the quality at a glance. It uses various types of widgets to draw graphs and metrics to highlight interesting quality statistics. The service will be launched by the end of April.&lt;br /&gt;
&lt;br /&gt;
== Environments ==&lt;br /&gt;
* [http://qa-dashboard.qa.leonidasoy.fi/ Staging environment - http://qa-dashboard.qa.leonidasoy.fi/]&lt;br /&gt;
&lt;br /&gt;
== Source code ==&lt;br /&gt;
* [http://meego.gitorious.org/meego-quality-assurance/qa-dashboard Source code in Gitorious]&lt;br /&gt;
&lt;br /&gt;
== Developer information ==&lt;br /&gt;
* [[Quality/QA-tools/QADashboard/Setting_up_the_development_environment|Setting up the development environment]]&lt;br /&gt;
&lt;br /&gt;
== Contact information ==&lt;br /&gt;
&lt;br /&gt;
QA Dashboard is developed by [[Quality/QA-tools | QA tools team]]. You can contact us via the following channels:&lt;br /&gt;
* [http://webchat.freenode.net/?channels=meego-qa #meego-qa IRC channel on irc.freenode.net]&lt;br /&gt;
* [http://bugs.meego.com/enter_bug.cgi?product=MeeGo%20Quality%20Assurance&amp;amp;component=qa-dashboard File new bugs or improvement ideas to Bugzilla]&lt;br /&gt;
* [http://bugs.meego.com/buglist.cgi?bug_status=NEW&amp;amp;bug_status=NEEDINFO&amp;amp;bug_status=INDEFINITION&amp;amp;bug_status=ASSIGNED&amp;amp;bug_status=ACCEPTED&amp;amp;bug_status=WAITING%20FOR%20UPSTREAM&amp;amp;bug_status=WAITING&amp;amp;bug_status=REOPENED&amp;amp;bug_status=RESOLVED&amp;amp;bug_status=RELEASED&amp;amp;bug_status=VERIFIED&amp;amp;component=qa-dashboard&amp;amp;query_format=advanced&amp;amp;order=priority%2Cbug_severity%2Cchangeddate%2Cbug_status%2Cassigned_to%2Cbug_id&amp;amp;query_based_on= Leave a comment or vote the items in our backlog]&lt;br /&gt;
* [http://lists.meego.com/listinfo/meego-qa meego-qa@lists.meego.com mailing list]&lt;/div&gt;</summary>
		<author><name>Tomilaine</name></author>	</entry>

	<entry>
		<id>http://wiki.meego.com/Quality/QA-tools/QADashboard</id>
		<title>Quality/QA-tools/QADashboard</title>
		<link rel="alternate" type="text/html" href="http://wiki.meego.com/Quality/QA-tools/QADashboard"/>
				<updated>2011-04-14T14:55:35Z</updated>
		
		<summary type="html">&lt;p&gt;Tomilaine: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= QA Dashboard =&lt;br /&gt;
&lt;br /&gt;
[http://qa-dashboard.leonidasoy.fi/ MeeGo QA Dashboard] is an application for viewing the quality at a glance. It uses various types of widgets to draw graphs and metrics to highlight interesting quality statistics. The service will be launched by the end of April.&lt;br /&gt;
&lt;br /&gt;
== Environments ==&lt;br /&gt;
* [http://qa-reports.qa.leonidasoy.fi/ Staging environment - http://qa-dashboard.qa.leonidasoy.fi/]&lt;br /&gt;
&lt;br /&gt;
== Source code ==&lt;br /&gt;
* [http://meego.gitorious.org/meego-quality-assurance/qa-dashboard Source code in Gitorious]&lt;br /&gt;
&lt;br /&gt;
== Developer information ==&lt;br /&gt;
* [[Quality/QA-tools/QADashboard/Setting_up_the_development_environment|Setting up the development environment]]&lt;br /&gt;
&lt;br /&gt;
== Contact information ==&lt;br /&gt;
&lt;br /&gt;
QA Dashboard is developed by [[Quality/QA-tools | QA tools team]]. You can contact us via the following channels:&lt;br /&gt;
* [http://webchat.freenode.net/?channels=meego-qa #meego-qa IRC channel on irc.freenode.net]&lt;br /&gt;
* [http://bugs.meego.com/enter_bug.cgi?product=MeeGo%20Quality%20Assurance&amp;amp;component=qa-dashboard File new bugs or improvement ideas to Bugzilla]&lt;br /&gt;
* [http://bugs.meego.com/buglist.cgi?bug_status=NEW&amp;amp;bug_status=NEEDINFO&amp;amp;bug_status=INDEFINITION&amp;amp;bug_status=ASSIGNED&amp;amp;bug_status=ACCEPTED&amp;amp;bug_status=WAITING%20FOR%20UPSTREAM&amp;amp;bug_status=WAITING&amp;amp;bug_status=REOPENED&amp;amp;bug_status=RESOLVED&amp;amp;bug_status=RELEASED&amp;amp;bug_status=VERIFIED&amp;amp;component=qa-dashboard&amp;amp;query_format=advanced&amp;amp;order=priority%2Cbug_severity%2Cchangeddate%2Cbug_status%2Cassigned_to%2Cbug_id&amp;amp;query_based_on= Leave a comment or vote the items in our backlog]&lt;br /&gt;
* [http://lists.meego.com/listinfo/meego-qa meego-qa@lists.meego.com mailing list]&lt;/div&gt;</summary>
		<author><name>Tomilaine</name></author>	</entry>

	<entry>
		<id>http://wiki.meego.com/Quality/QA-tools</id>
		<title>Quality/QA-tools</title>
		<link rel="alternate" type="text/html" href="http://wiki.meego.com/Quality/QA-tools"/>
				<updated>2011-04-14T14:49:59Z</updated>
		
		<summary type="html">&lt;p&gt;Tomilaine: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Quality assurance (QA) tools =&lt;br /&gt;
&lt;br /&gt;
''' We moved our discussion to #meego-qa IRC channel as of March 24th 2011. Please join us there. '''&lt;br /&gt;
&lt;br /&gt;
[[File:Tool_meegon.png|400px]]&lt;br /&gt;
&lt;br /&gt;
Quality Assurance tools are developed to ensure MeeGo SW quality. QA tools team develops and maintains tools for quality assurance.&lt;br /&gt;
&lt;br /&gt;
* &amp;quot;Open source tools  – available for all, available for development and contributions. Make people accountable for quality.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
'''Please note''' that developer-oriented content has been moved to [[Quality/QA tools development|QA tools development]] page. We apologize for any inconvenience. The target is to make this page clearer and more informative for the actual users of QA tools.&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
&lt;br /&gt;
QA tools support test planning, test execution and test reporting. The most important tool offering relating to this is illustrated in the figure below. In addition, there are also a couple of concept videos available at our [http://www.youtube.com/user/meegoqatools YouTube channel]:&lt;br /&gt;
* [http://www.youtube.com/watch?v=WdXBqGdLz8I Tool offering for manual testing]&lt;br /&gt;
* [http://youtu.be/Ry4MM-CX2b8 Test automation]&lt;br /&gt;
&lt;br /&gt;
[[File:Meego-qa-tools.png|600px]]&lt;br /&gt;
&lt;br /&gt;
== Tools, test suites and other utilities ==&lt;br /&gt;
&lt;br /&gt;
If you want to contribute to the development of the following tools, test suites and utilities, please visit [[Quality/QA_tools_development|QA tools development page]].&lt;br /&gt;
&lt;br /&gt;
'''Test tools'''&lt;br /&gt;
&lt;br /&gt;
Each wiki page will contain more detailed description, installation instructions and tutorial on the basic usage. For now, please [[Quality/QA-tools#Collaboration spaces|contact us]] if you need help. Currently, you can install Testrunner, testrunner-lite, test-definition, Testplanner, OTS, Meego-ai, libcqpid, eat and MIN from Tools:Testing repository. The instructions for setting up the repositories can be found [[Quality/QA-tools/How_to_set_up_repositories|here]].&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
|'''Tool (link to wiki page)''' ||'''Short description'''&lt;br /&gt;
|- &lt;br /&gt;
| Crash Reporter || On-device tool for sending core dumps to core dump data base&lt;br /&gt;
|-&lt;br /&gt;
| [[Quality/QA-tools/MeeGo_Fast_Feedback_Testing|MeeGo Fast Feedback Testing (MeeGo-FFT)]] || &lt;br /&gt;
|-&lt;br /&gt;
| [http://min.sf.net/ MIN Test Framework] || Advanced test framework&lt;br /&gt;
|-&lt;br /&gt;
| [[Quality/QA-tools/OTS|OTS - open testing system]] || Test automation system&lt;br /&gt;
|-&lt;br /&gt;
| [[Quality/QA-tools/Testplanner|Testplanner]] || Simple tool for creating and editing test plan files &lt;br /&gt;
|-&lt;br /&gt;
| [[Quality/QA-tools/Testrunner-lite|testrunner-lite]] ||Command line tool for test execution&lt;br /&gt;
|-&lt;br /&gt;
| [[Quality/QA-tools/Testrunner|Testrunner]] || Test execution tool with graphical UI&lt;br /&gt;
|- &lt;br /&gt;
| [[Quality/QA-tools/TDriver|Testability Driver]] || Comprehensive tool for UI testing&lt;br /&gt;
|-&lt;br /&gt;
| [[Quality/QA-tools/QAReports|QA Reports]] || Reporting tool for publishing test reports&lt;br /&gt;
|-&lt;br /&gt;
| [[Quality/QA-tools/QADashboard|QA Dashboard]] || Quality at a glance&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''Test suites'''&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
|'''Test suite (link to wiki page)''' ||| '''Test plans'''&lt;br /&gt;
|- &lt;br /&gt;
| [[Quality/TestSuite/MCTS|MeeGo Core Test Suite]] ||[http://testplans.meego.com/mcts/ Link]&lt;br /&gt;
|- &lt;br /&gt;
| [[Quality/TestSuite/handset-test-suite/handset-ux-test_Releases |MeeGo Handset UX Test Suite]] ||[http://testplans.meego.com/handset-ux-tests/ Link]&lt;br /&gt;
|-&lt;br /&gt;
| [[Quality/Netbook Test Suite and Utilities|MeeGo Netbook Test Suite]] ||[http://testplans.meego.com/mnts/ Link]&lt;br /&gt;
|-&lt;br /&gt;
| MeeGo SDK Test Suite ||[http://testplans.meego.com/meego-sdk-tests/ Link]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''Other utilities'''&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
|'''Name (link to wiki page)''' ||'''Short description'''&lt;br /&gt;
|- &lt;br /&gt;
|[[Quality/QA-tools/Test-definition|test-definition]]|| XML schema for test plan and result files&lt;br /&gt;
|-&lt;br /&gt;
| [[Quality/QA-tools/Eat|eat - enables automated testing]] || Test automation configuration packages&lt;br /&gt;
|- &lt;br /&gt;
| [[Quality/QA-tools/Autotest-guide#Automatic_image_installations|MeeGo Automated installer]] ||&lt;br /&gt;
|-&lt;br /&gt;
| [[Quality/QA-tools/qtuitest-mbt-adapter|Model-Based Testing adapter for qtuitest]]  || &lt;br /&gt;
|-&lt;br /&gt;
| Rich Core dumper || &lt;br /&gt;
|-&lt;br /&gt;
| Crash Reporter settings || Settings package for Crash Reporter&lt;br /&gt;
|-&lt;br /&gt;
| [[Quality/QA-tools/hat-control|Hardware Accessory for Testing (HAT)]] || &lt;br /&gt;
|-&lt;br /&gt;
| [[Quality/QA-tools/Scripts_and_utils|Scripts and utils]] || &lt;br /&gt;
|-&lt;br /&gt;
| Service OS based Flasher || &lt;br /&gt;
|-&lt;br /&gt;
| [[Quality/QA-tools/Qpid C wrapper|Qpid C wrapper library - libcqpid]] || &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Feature requests and bugs ==&lt;br /&gt;
&lt;br /&gt;
Want to report an feature idea or bug to us? - [http://bugs.meego.com/enter_bug.cgi?product=MeeGo%20Quality%20Assurance Please do it here]&lt;br /&gt;
 &lt;br /&gt;
* [http://bugs.meego.com/buglist.cgi?query_format=advanced&amp;amp;order=Importance&amp;amp;bug_status=ASSIGNED&amp;amp;component=eat&amp;amp;component=Fast%20Feedback%20Testing&amp;amp;component=hat&amp;amp;component=libcqpid&amp;amp;component=meego-qa-reports&amp;amp;component=min&amp;amp;component=ots&amp;amp;component=TDriver&amp;amp;component=testdefinition&amp;amp;component=Testplanner&amp;amp;component=Testrunner&amp;amp;component=testrunner-lite&amp;amp;component=Others&amp;amp;classification=MeeGo%20Projects&amp;amp;product=MeeGo%20Quality%20Assurance Assigned bugs and features - Working on it]&lt;br /&gt;
* [http://bugs.meego.com/buglist.cgi?query_format=advanced&amp;amp;order=Importance&amp;amp;bug_status=NEW&amp;amp;bug_status=NEEDINFO&amp;amp;bug_status=ASSIGNED&amp;amp;bug_status=WAITING%20FOR%20UPSTREAM&amp;amp;bug_status=REOPENED&amp;amp;bug_status=RESOLVED&amp;amp;component=eat&amp;amp;component=Fast%20Feedback%20Testing&amp;amp;component=hat&amp;amp;component=libcqpid&amp;amp;component=meego-qa-reports&amp;amp;component=min&amp;amp;component=ots&amp;amp;component=TDriver&amp;amp;component=testdefinition&amp;amp;component=Testplanner&amp;amp;component=Testrunner&amp;amp;component=testrunner-lite&amp;amp;component=Others&amp;amp;classification=MeeGo%20Projects&amp;amp;product=MeeGo%20Quality%20Assurance All open features and bugs in priority order]&lt;br /&gt;
&lt;br /&gt;
Bugzilla instructions:&lt;br /&gt;
* [[Quality/How To Report Bugs|How to report bugs]]&lt;br /&gt;
* [[Quality/Bug Life Cycle and Handling|Bugzilla workflow]]&lt;br /&gt;
&lt;br /&gt;
== Collaboration spaces ==&lt;br /&gt;
&lt;br /&gt;
Team communication is in English. Our collaboration spaces are:&lt;br /&gt;
* [http://lists.meego.com/listinfo/meego-qa meego-qa@lists.meego.com mailing list]&lt;br /&gt;
* [http://webchat.freenode.net/?channels=meego-qa #meego-qa IRC channel on irc.freenode.net]&lt;br /&gt;
* [http://www.youtube.com/user/meegoqatools YouTube channel for demo videos]&lt;br /&gt;
* [http://meegoqatools.wordpress.com/ QA-tools team blog]&lt;br /&gt;
&lt;br /&gt;
[[Category:QA]]&lt;/div&gt;</summary>
		<author><name>Tomilaine</name></author>	</entry>

	<entry>
		<id>http://wiki.meego.com/Quality/QA-tools/QADashboard/Setting_up_the_development_environment</id>
		<title>Quality/QA-tools/QADashboard/Setting up the development environment</title>
		<link rel="alternate" type="text/html" href="http://wiki.meego.com/Quality/QA-tools/QADashboard/Setting_up_the_development_environment"/>
				<updated>2011-04-14T14:48:55Z</updated>
		
		<summary type="html">&lt;p&gt;Tomilaine: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
&lt;br /&gt;
QA Dashboard is a [http://nodejs.org/ Node.js] application. It is written in [http://jashkenas.github.com/coffee-script/ coffee-script] and uses [http://www.mongodb.org/ mongodb] database. You need to install some awesome open source tools to get the development environment up and running.&lt;br /&gt;
&lt;br /&gt;
==Install Node.js==&lt;br /&gt;
(uses v0.4.5 stable package)&lt;br /&gt;
#&amp;lt;tt&amp;gt; $ wget http://nodejs.org/dist/node-v0.4.5.tar.gz&amp;lt;/tt&amp;gt;&lt;br /&gt;
#&amp;lt;tt&amp;gt; $ gunzip node-v0.4.5.tar.gz &amp;lt;/tt&amp;gt;&lt;br /&gt;
#&amp;lt;tt&amp;gt; $ tar -xf node-v0.4.5.tar&amp;lt;/tt&amp;gt;&lt;br /&gt;
#&amp;lt;tt&amp;gt; $ cd node-v0.4.5&amp;lt;/tt&amp;gt;&lt;br /&gt;
#&amp;lt;tt&amp;gt; $ ./configure&amp;lt;/tt&amp;gt;&lt;br /&gt;
#&amp;lt;tt&amp;gt; $ make&amp;lt;/tt&amp;gt;&lt;br /&gt;
#&amp;lt;tt&amp;gt; $ sudo make install&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Install Node Package Manager==&lt;br /&gt;
(uses v1.0.1rc7 stable branch)&lt;br /&gt;
#&amp;lt;tt&amp;gt;$ git clone git://github.com/isaacs/npm.git&amp;lt;/tt&amp;gt;&lt;br /&gt;
#&amp;lt;tt&amp;gt;$ cd npm&amp;lt;/tt&amp;gt;&lt;br /&gt;
#&amp;lt;tt&amp;gt;$ git checkout v1.0.1rc7&amp;lt;/tt&amp;gt;&lt;br /&gt;
#&amp;lt;tt&amp;gt;$ sudo make install&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Install mongodb==&lt;br /&gt;
#&amp;lt;tt&amp;gt; $ sudo apt-get install mongodb&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Set up QA Dashboard==&lt;br /&gt;
QA Dashboard repository includes a default mongodb dump which can be used to populate the database.&lt;br /&gt;
#&amp;lt;tt&amp;gt; $ cd qa-dashboard&amp;lt;/tt&amp;gt;&lt;br /&gt;
#&amp;lt;tt&amp;gt; $ mongorestore&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Run the tests and start the server==&lt;br /&gt;
#Run unit tests:&amp;lt;tt&amp;gt; $ ./run-nodeunit.sh&amp;lt;/tt&amp;gt;&lt;br /&gt;
#Start the server:&amp;lt;tt&amp;gt; $ ./run-server.sh&amp;lt;/tt&amp;gt;&lt;br /&gt;
#Browse to http://localhost:3030&lt;br /&gt;
&lt;br /&gt;
The server will start in development mode using node-supervisor, which watches for code changes and restarts the server accordingly.&lt;/div&gt;</summary>
		<author><name>Tomilaine</name></author>	</entry>

	<entry>
		<id>http://wiki.meego.com/Quality/QA-tools/QADashboard/Setting_up_the_development_environment</id>
		<title>Quality/QA-tools/QADashboard/Setting up the development environment</title>
		<link rel="alternate" type="text/html" href="http://wiki.meego.com/Quality/QA-tools/QADashboard/Setting_up_the_development_environment"/>
				<updated>2011-04-14T13:23:39Z</updated>
		
		<summary type="html">&lt;p&gt;Tomilaine: Created page with &amp;quot;==Introduction==  QA Dashboard is a [http://nodejs.org/ Node.js] application. It is written in [http://jashkenas.github.com/coffee-script/ coffee-script] and uses [http://www.mon...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
&lt;br /&gt;
QA Dashboard is a [http://nodejs.org/ Node.js] application. It is written in [http://jashkenas.github.com/coffee-script/ coffee-script] and uses [http://www.mongodb.org/ mongodb] database. You need to install some awesome open source tools to get the development environment up and running.&lt;br /&gt;
&lt;br /&gt;
==Install Node.js==&lt;br /&gt;
(uses v0.4.5 stable package)&lt;br /&gt;
#&amp;lt;tt&amp;gt; $ wget http://nodejs.org/dist/node-v0.4.5.tar.gz&amp;lt;/tt&amp;gt;&lt;br /&gt;
#&amp;lt;tt&amp;gt; $ gunzip node-v0.4.5.tar.gz &amp;lt;/tt&amp;gt;&lt;br /&gt;
#&amp;lt;tt&amp;gt; $ tar -xf node-v0.4.5.tar&amp;lt;/tt&amp;gt;&lt;br /&gt;
#&amp;lt;tt&amp;gt; $ cd node-v0.4.5&amp;lt;/tt&amp;gt;&lt;br /&gt;
#&amp;lt;tt&amp;gt; $ ./configure&amp;lt;/tt&amp;gt;&lt;br /&gt;
#&amp;lt;tt&amp;gt; $ make&amp;lt;/tt&amp;gt;&lt;br /&gt;
#&amp;lt;tt&amp;gt; $ sudo make install&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Install Node Package Manager==&lt;br /&gt;
(uses v1.0.1rc7 stable branch)&lt;br /&gt;
#&amp;lt;tt&amp;gt;$ git clone git://github.com/isaacs/npm.git&amp;lt;/tt&amp;gt;&lt;br /&gt;
#&amp;lt;tt&amp;gt;$ cd npm&amp;lt;/tt&amp;gt;&lt;br /&gt;
#&amp;lt;tt&amp;gt;$ git checkout v1.0.1rc7&amp;lt;/tt&amp;gt;&lt;br /&gt;
#&amp;lt;tt&amp;gt;$ sudo make install&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Install mongodb==&lt;br /&gt;
#&amp;lt;tt&amp;gt; $ sudo apt-get install mongodb&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Set up QA Dashboard==&lt;br /&gt;
QA Dashboard repository includes a default mongodb dump which can be used to populate the database.&lt;br /&gt;
#&amp;lt;tt&amp;gt; $ cd qa-dashboard&amp;lt;/tt&amp;gt;&lt;br /&gt;
#&amp;lt;tt&amp;gt; $ mongoimport&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Run the tests and start the server==&lt;br /&gt;
#Run unit tests:&amp;lt;tt&amp;gt; $ ./run-nodeunit.sh&amp;lt;/tt&amp;gt;&lt;br /&gt;
#Start the server:&amp;lt;tt&amp;gt; $ ./run-server.sh&amp;lt;/tt&amp;gt;&lt;br /&gt;
#Browse to http://localhost:3030&lt;br /&gt;
&lt;br /&gt;
The server will start in development mode using node-supervisor, which watches for code changes and restarts the server accordingly.&lt;/div&gt;</summary>
		<author><name>Tomilaine</name></author>	</entry>

	<entry>
		<id>http://wiki.meego.com/Quality/QA-tools/QADashboard</id>
		<title>Quality/QA-tools/QADashboard</title>
		<link rel="alternate" type="text/html" href="http://wiki.meego.com/Quality/QA-tools/QADashboard"/>
				<updated>2011-04-14T12:21:26Z</updated>
		
		<summary type="html">&lt;p&gt;Tomilaine: Created page with &amp;quot;= QA Dashboard =  [http://qa-dashboard.leonidasoy.fi/ MeeGo QA Dashboard] is an application for viewing the quality at a glance. It uses various types of widgets to draw graphs a...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= QA Dashboard =&lt;br /&gt;
&lt;br /&gt;
[http://qa-dashboard.leonidasoy.fi/ MeeGo QA Dashboard] is an application for viewing the quality at a glance. It uses various types of widgets to draw graphs and metrics to highlight interesting quality statistics. The service will be launched by the end of April.&lt;br /&gt;
&lt;br /&gt;
== Environments ==&lt;br /&gt;
* [http://qa-reports.qa.leonidasoy.fi/ Staging environment - http://qa-reports.qa.leonidasoy.fi/]&lt;br /&gt;
&lt;br /&gt;
== Source code ==&lt;br /&gt;
* [http://meego.gitorious.org/meego-quality-assurance/qa-dashboard Source code in Gitorious]&lt;br /&gt;
&lt;br /&gt;
== Developer information ==&lt;br /&gt;
* [[Quality/QA-tools/QADashboard/Setting_up_the_development_environment|Setting up the development environment]]&lt;br /&gt;
&lt;br /&gt;
== Contact information ==&lt;br /&gt;
&lt;br /&gt;
QA Dashboard is developed by [[Quality/QA-tools | QA tools team]]. You can contact us via the following channels:&lt;br /&gt;
* [http://webchat.freenode.net/?channels=meego-qa #meego-qa IRC channel on irc.freenode.net]&lt;br /&gt;
* [http://bugs.meego.com/enter_bug.cgi?product=MeeGo%20Quality%20Assurance&amp;amp;component=qa-dashboard File new bugs or improvement ideas to Bugzilla]&lt;br /&gt;
* [http://bugs.meego.com/buglist.cgi?bug_status=NEW&amp;amp;bug_status=NEEDINFO&amp;amp;bug_status=INDEFINITION&amp;amp;bug_status=ASSIGNED&amp;amp;bug_status=ACCEPTED&amp;amp;bug_status=WAITING%20FOR%20UPSTREAM&amp;amp;bug_status=WAITING&amp;amp;bug_status=REOPENED&amp;amp;bug_status=RESOLVED&amp;amp;bug_status=RELEASED&amp;amp;bug_status=VERIFIED&amp;amp;component=qa-dashboard&amp;amp;query_format=advanced&amp;amp;order=priority%2Cbug_severity%2Cchangeddate%2Cbug_status%2Cassigned_to%2Cbug_id&amp;amp;query_based_on= Leave a comment or vote the items in our backlog]&lt;br /&gt;
* [http://lists.meego.com/listinfo/meego-qa meego-qa@lists.meego.com mailing list]&lt;/div&gt;</summary>
		<author><name>Tomilaine</name></author>	</entry>

	<entry>
		<id>http://wiki.meego.com/Quality/QA-tools</id>
		<title>Quality/QA-tools</title>
		<link rel="alternate" type="text/html" href="http://wiki.meego.com/Quality/QA-tools"/>
				<updated>2011-04-14T11:25:28Z</updated>
		
		<summary type="html">&lt;p&gt;Tomilaine: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Quality assurance (QA) tools =&lt;br /&gt;
&lt;br /&gt;
''' We moved our discussion to #meego-qa IRC channel as of March 24th 2011. Please join us there. '''&lt;br /&gt;
&lt;br /&gt;
[[File:Tool_meegon.png|400px]]&lt;br /&gt;
&lt;br /&gt;
Quality Assurance tools are developed to ensure MeeGo SW quality. QA tools team develops and maintains tools for quality assurance.&lt;br /&gt;
&lt;br /&gt;
* &amp;quot;Open source tools  – available for all, available for development and contributions. Make people accountable for quality.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
'''Please note''' that developer-oriented content has been moved to [[Quality/QA tools development|QA tools development]] page. We apologize for any inconvenience. The target is to make this page clearer and more informative for the actual users of QA tools.&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
&lt;br /&gt;
QA tools support test planning, test execution and test reporting. The most important tool offering relating to this is illustrated in the figure below. In addition, there are also a couple of concept videos available at our [http://www.youtube.com/user/meegoqatools YouTube channel]:&lt;br /&gt;
* [http://www.youtube.com/watch?v=WdXBqGdLz8I Tool offering for manual testing]&lt;br /&gt;
* [http://youtu.be/Ry4MM-CX2b8 Test automation]&lt;br /&gt;
&lt;br /&gt;
[[File:Meego-qa-tools.png|600px]]&lt;br /&gt;
&lt;br /&gt;
== Tools, test suites and other utilities ==&lt;br /&gt;
&lt;br /&gt;
If you want to contribute to the development of the following tools, test suites and utilities, please visit [[Quality/QA_tools_development|QA tools development page]].&lt;br /&gt;
&lt;br /&gt;
'''Test tools'''&lt;br /&gt;
&lt;br /&gt;
Each wiki page will contain more detailed description, installation instructions and tutorial on the basic usage. For now, please [[Quality/QA-tools#Collaboration spaces|contact us]] if you need help. Currently, you can install Testrunner, testrunner-lite, test-definition, Testplanner, OTS, Meego-ai, libcqpid, eat and MIN from Tools:Testing repository. The instructions for setting up the repositories can be found [[Quality/QA-tools/How_to_set_up_repositories|here]].&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
|'''Tool (link to wiki page)''' ||'''Short description'''&lt;br /&gt;
|- &lt;br /&gt;
| Crash Reporter || On-device tool for sending core dumps to core dump data base&lt;br /&gt;
|-&lt;br /&gt;
| [[Quality/QA-tools/MeeGo_Fast_Feedback_Testing|MeeGo Fast Feedback Testing (MeeGo-FFT)]] || &lt;br /&gt;
|-&lt;br /&gt;
| [http://min.sf.net/ MIN Test Framework] || Advanced test framework&lt;br /&gt;
|-&lt;br /&gt;
| [[Quality/QA-tools/OTS|OTS - open testing system]] || Test automation system&lt;br /&gt;
|-&lt;br /&gt;
| [[Quality/QA-tools/Testplanner|Testplanner]] || Simple tool for creating and editing test plan files &lt;br /&gt;
|-&lt;br /&gt;
| [[Quality/QA-tools/Testrunner-lite|testrunner-lite]] ||Command line tool for test execution&lt;br /&gt;
|-&lt;br /&gt;
| [[Quality/QA-tools/Testrunner|Testrunner]] || Test execution tool with graphical UI&lt;br /&gt;
|- &lt;br /&gt;
| [[Quality/QA-tools/TDriver|Testability Driver]] || Comprehensive tool for UI testing&lt;br /&gt;
|-&lt;br /&gt;
| [[Quality/QA-tools/QAReports|QA Reports]] || Reporting tool for publishing test reports&lt;br /&gt;
|-&lt;br /&gt;
| [[Quality/QA-tools/QADashboard|QA Dashboard]] || Quality at glance&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''Test suites'''&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
|'''Test suite (link to wiki page)''' ||| '''Test plans'''&lt;br /&gt;
|- &lt;br /&gt;
| [[Quality/TestSuite/MCTS|MeeGo Core Test Suite]] ||[http://testplans.meego.com/mcts/ Link]&lt;br /&gt;
|- &lt;br /&gt;
| [[Quality/TestSuite/handset-test-suite/handset-ux-test_Releases |MeeGo Handset UX Test Suite]] ||[http://testplans.meego.com/handset-ux-tests/ Link]&lt;br /&gt;
|-&lt;br /&gt;
| [[Quality/Netbook Test Suite and Utilities|MeeGo Netbook Test Suite]] ||[http://testplans.meego.com/mnts/ Link]&lt;br /&gt;
|-&lt;br /&gt;
| MeeGo SDK Test Suite ||[http://testplans.meego.com/meego-sdk-tests/ Link]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''Other utilities'''&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
|'''Name (link to wiki page)''' ||'''Short description'''&lt;br /&gt;
|- &lt;br /&gt;
|[[Quality/QA-tools/Test-definition|test-definition]]|| XML schema for test plan and result files&lt;br /&gt;
|-&lt;br /&gt;
| [[Quality/QA-tools/Eat|eat - enables automated testing]] || Test automation configuration packages&lt;br /&gt;
|- &lt;br /&gt;
| [[Quality/QA-tools/Autotest-guide#Automatic_image_installations|MeeGo Automated installer]] ||&lt;br /&gt;
|-&lt;br /&gt;
| [[Quality/QA-tools/qtuitest-mbt-adapter|Model-Based Testing adapter for qtuitest]]  || &lt;br /&gt;
|-&lt;br /&gt;
| Rich Core dumper || &lt;br /&gt;
|-&lt;br /&gt;
| Crash Reporter settings || Settings package for Crash Reporter&lt;br /&gt;
|-&lt;br /&gt;
| [[Quality/QA-tools/hat-control|Hardware Accessory for Testing (HAT)]] || &lt;br /&gt;
|-&lt;br /&gt;
| [[Quality/QA-tools/Scripts_and_utils|Scripts and utils]] || &lt;br /&gt;
|-&lt;br /&gt;
| Service OS based Flasher || &lt;br /&gt;
|-&lt;br /&gt;
| [[Quality/QA-tools/Qpid C wrapper|Qpid C wrapper library - libcqpid]] || &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Feature requests and bugs ==&lt;br /&gt;
&lt;br /&gt;
Want to report an feature idea or bug to us? - [http://bugs.meego.com/enter_bug.cgi?product=MeeGo%20Quality%20Assurance Please do it here]&lt;br /&gt;
 &lt;br /&gt;
* [http://bugs.meego.com/buglist.cgi?query_format=advanced&amp;amp;order=Importance&amp;amp;bug_status=ASSIGNED&amp;amp;component=eat&amp;amp;component=Fast%20Feedback%20Testing&amp;amp;component=hat&amp;amp;component=libcqpid&amp;amp;component=meego-qa-reports&amp;amp;component=min&amp;amp;component=ots&amp;amp;component=TDriver&amp;amp;component=testdefinition&amp;amp;component=Testplanner&amp;amp;component=Testrunner&amp;amp;component=testrunner-lite&amp;amp;component=Others&amp;amp;classification=MeeGo%20Projects&amp;amp;product=MeeGo%20Quality%20Assurance Assigned bugs and features - Working on it]&lt;br /&gt;
* [http://bugs.meego.com/buglist.cgi?query_format=advanced&amp;amp;order=Importance&amp;amp;bug_status=NEW&amp;amp;bug_status=NEEDINFO&amp;amp;bug_status=ASSIGNED&amp;amp;bug_status=WAITING%20FOR%20UPSTREAM&amp;amp;bug_status=REOPENED&amp;amp;bug_status=RESOLVED&amp;amp;component=eat&amp;amp;component=Fast%20Feedback%20Testing&amp;amp;component=hat&amp;amp;component=libcqpid&amp;amp;component=meego-qa-reports&amp;amp;component=min&amp;amp;component=ots&amp;amp;component=TDriver&amp;amp;component=testdefinition&amp;amp;component=Testplanner&amp;amp;component=Testrunner&amp;amp;component=testrunner-lite&amp;amp;component=Others&amp;amp;classification=MeeGo%20Projects&amp;amp;product=MeeGo%20Quality%20Assurance All open features and bugs in priority order]&lt;br /&gt;
&lt;br /&gt;
Bugzilla instructions:&lt;br /&gt;
* [[Quality/How To Report Bugs|How to report bugs]]&lt;br /&gt;
* [[Quality/Bug Life Cycle and Handling|Bugzilla workflow]]&lt;br /&gt;
&lt;br /&gt;
== Collaboration spaces ==&lt;br /&gt;
&lt;br /&gt;
Team communication is in English. Our collaboration spaces are:&lt;br /&gt;
* [http://lists.meego.com/listinfo/meego-qa meego-qa@lists.meego.com mailing list]&lt;br /&gt;
* [http://webchat.freenode.net/?channels=meego-qa #meego-qa IRC channel on irc.freenode.net]&lt;br /&gt;
* [http://www.youtube.com/user/meegoqatools YouTube channel for demo videos]&lt;br /&gt;
* [http://meegoqatools.wordpress.com/ QA-tools team blog]&lt;br /&gt;
&lt;br /&gt;
[[Category:QA]]&lt;/div&gt;</summary>
		<author><name>Tomilaine</name></author>	</entry>

	<entry>
		<id>http://wiki.meego.com/Quality/QA-tools/QAReports</id>
		<title>Quality/QA-tools/QAReports</title>
		<link rel="alternate" type="text/html" href="http://wiki.meego.com/Quality/QA-tools/QAReports"/>
				<updated>2011-04-14T11:19:14Z</updated>
		
		<summary type="html">&lt;p&gt;Tomilaine: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= QA Reports =&lt;br /&gt;
&lt;br /&gt;
[[File:MeeGoQAReports.png|right|415px]]&lt;br /&gt;
&lt;br /&gt;
[http://qa-reports.meego.com/ MeeGo QA reports] is test reporting application for anyone testing MeeGo. Introductory screencast is available at [http://www.youtube.com/watch?v=yr_IdmqGniE YouTube]. You can also [http://dl.dropbox.com/u/10001820/QA%20Reports%20tutorial%20part%201.mp4 download the video].&lt;br /&gt;
&lt;br /&gt;
== Access to MeeGo QA reports ==&lt;br /&gt;
&lt;br /&gt;
Access to '''publish''' MeeGo QA reports is provided on need and request basis. If you need access please file a request at [http://bugs.meego.com/enter_bug.cgi?product=MeeGo%20Quality%20Assurance MeeGo Quality Assurance &amp;gt; Others]&lt;br /&gt;
&lt;br /&gt;
You can also create yourself a test account at [http://qa-reports.qa.leonidasoy.fi/users/register staging environment] and play around with the system.&lt;br /&gt;
&lt;br /&gt;
== User Documentation == &lt;br /&gt;
&lt;br /&gt;
* [[Quality/QA-tools/QAReports/Basic_Workflow|User guide]]&lt;br /&gt;
* [[Quality/QA-tools/QAReports/API|API Documentation]]&lt;br /&gt;
* [[Quality/QA-tools/QAReports/User_FAQ|F.A.Q]]&lt;br /&gt;
&lt;br /&gt;
== Administration Guide ==&lt;br /&gt;
&lt;br /&gt;
* [[Quality/QA-tools/QAReports/Setting_up_the_production_environment|Setting up the production environment]]&lt;br /&gt;
* [[Quality/QA-tools/QAReports/Admin_FAQ|F.A.Q]]&lt;br /&gt;
&lt;br /&gt;
== Environments == &lt;br /&gt;
&lt;br /&gt;
* [http://qa-reports.meego.com/ Production environment - http://qa-reports.meego.com]&lt;br /&gt;
* [http://qa-reports.qa.leonidasoy.fi/ Staging environment - http://qa-reports.qa.leonidasoy.fi/]&lt;br /&gt;
&lt;br /&gt;
== Source code == &lt;br /&gt;
&lt;br /&gt;
* [http://meego.gitorious.org/meego-quality-assurance/qa-reports Source code in Gitorious]&lt;br /&gt;
&lt;br /&gt;
== Developer information ==&lt;br /&gt;
&lt;br /&gt;
* [[Quality/QA-tools/QAReports/Setting_up_the_development_environment|Setting up the development environment]]&lt;br /&gt;
* [[Quality/QA-tools/QAReports/Contributing_to_qa-reports|Contributing to MeeGo QA Reports]]&lt;br /&gt;
&lt;br /&gt;
== Contact information ==&lt;br /&gt;
&lt;br /&gt;
QA Reports is developed by [[Quality/QA-tools | QA tools team]]. You can contact us via the following channels:&lt;br /&gt;
* [http://webchat.freenode.net/?channels=meego-qa #meego-qa IRC channel on irc.freenode.net]&lt;br /&gt;
* [http://bugs.meego.com/enter_bug.cgi?product=MeeGo%20Quality%20Assurance&amp;amp;component=meego-qa-reports File new bugs or improvement ideas to Bugzilla]&lt;br /&gt;
* [http://bugs.meego.com/buglist.cgi?bug_status=NEW&amp;amp;bug_status=NEEDINFO&amp;amp;bug_status=INDEFINITION&amp;amp;bug_status=ASSIGNED&amp;amp;bug_status=ACCEPTED&amp;amp;bug_status=WAITING%20FOR%20UPSTREAM&amp;amp;bug_status=WAITING&amp;amp;bug_status=REOPENED&amp;amp;bug_status=RESOLVED&amp;amp;bug_status=RELEASED&amp;amp;bug_status=VERIFIED&amp;amp;component=meego-qa-reports&amp;amp;query_format=advanced&amp;amp;order=priority%2Cbug_severity%2Cchangeddate%2Cbug_status%2Cassigned_to%2Cbug_id&amp;amp;query_based_on= Leave a comment or vote the items in our backlog]&lt;br /&gt;
* [http://lists.meego.com/listinfo/meego-qa meego-qa@lists.meego.com mailing list]&lt;/div&gt;</summary>
		<author><name>Tomilaine</name></author>	</entry>

	</feed>