Saturday, September 20, 2008

My Work at RITA

This is a report about what I did at Rwanda Information Technology Authority(RITA) as an intern. I spent two months working on a groupware application called e-groupware.

Acknowledgement and Endorsement

This report has been written by me and has not received any previous academic credit at this or other institution.

Thanks to all RITA authorities who accepted my application and allowed me to do my internship at RITA.

I would like to thank Francine Gatarayiha for her assistance during the whole period that I spent doing my internship, and the Student Financing Agency for Rwanda (SFAR) for providing the financial support used to accomplish this internship.

I would also like to thank the RITA staff for creating a safe environment that made it easy and fun to learn.

Executive Summary

For a period of two months, I spent my time doing an internship at Rwanda Information Technology Authority, RTIA. RITA is an institution with a mission of helping the government of Rwanda in attaining 2020 Vision through the use of ICT.

I did my internship in ICT Park, which is one of RITA's departments. The company needed a collaboration web based application to be used by all employees. ICT Park thought of eGroupware, which is open- source software published under GNU General Public License. I became part of the project, and I was assigned to document on it, install it and test it for RITA.

The first section of this report provides important information about RITA such as brief history and services provided by RITA.

The next section describes the kind of work I did at RITA: installation, configuration and administration of eGroupware. I also describe some of the mostly used eGroupware applications such as Addressbook, FelaMiMail…

Besides working on eGroupware project, I also got trained in database management and attended many professional meetings about IT development in Rwanda.

In the assessment section, I summarize what I have learned from this internship: I put under test my skills and knowledge, and gained a real world experience that will shape my career goals and professional development.

I recommend future interns to choice RITA as their place of work. In RITA you get to work in a safe environment, with people who are kind, friendly and who take seriously things they do.

Appendix A provides definitions of technical terms used in this report. Those technical terms are ended by a "*"superscript.

Appendix B provides list of figures used in this report.


  1. Introduction

"One goes through school, college, medical school and one's internship learning little or nothing about goodness but good deal about success", Ashley Montagu. At school we gain needed skills on the market, but at work we apply skills we gained from school. I had been learning a lot at school, but I had not yet gotten a chance to go out and apply what I learned before this internship. This was an interesting journey for me and I think it will have a great impact on my decision about what will be my career goal and professional development.

As a student in computer engineering looking for a good company where to do my internship, I had to consider many criteria: does the company really do work that is related to my major? Do they use smart people from whom I will gain something new? What kind of work do I expect to do in that company? RITA, which is Rwanda Information Technology Authority, was a good choice for me. I saw it as the answer to all those questions that I was asking myself. The work I did there was of my interest; the experience I got from there was priceless.

  1. Brief History of RITA

RITA was established in 20002 by the government of Rwanda. It was created to help the country of Rwanda in attaining 2020 Vision1 through ICT. As a government institution, RITA has responsibilities of sensitize the citizens of Rwanda to use ICT, and advice all other government institutions to use ICT.

RITA is located in Kigali; in Telecom House right aside the Boulevard de l' Umuganda.

  1. Structural Organization of RITA

RITA is divided into 12 departments. This is the list of all RITA's departments: E-Government, e-Rwanda, Business and Private Sector Development, Human and Institutional Capacity Building, Rural and Community Access, National Computing Center, Administration and Finance, NICI Coordination, Innovation Research and Development, Internal Audit, Karisimbi Project, and ICT Park in which I was working as an intern.

  1. Services Provided by RITA1

As stated by the Law that established it, RITA has the following responsibilities:

  1. Setting up a unified e-Government design including IT infrastructure, applications and shareable databases of services and public information
  2. Connecting the entire government of Rwanda via a secure electronic information network
  3. Creating an IT governance framework, standards and guidelines for national ICT infrastructure, and a security framework
  4. Developing plans and policies for training and development of human resources in IT while enhancing existing competencies
  5. Enabling easy access to appropriate and relevant public information accessible to all through a wide range of delivery channels
  6. Deploying ICT education and training programs suitable for various segments of the society based on systematic studies and comprehensive planning.
  7. Internship Activities

It is certain that every company, small or big, needs a collaboration software so that employees can easily communicate among themselves. When I got in RITA, the department of ICT Park had thought of a collaboration application that is easy to use, user friendly, platform independent, and that comes for free of charge. They chose eGroupware and I was assigned to document on it, install it and test it. The next section of the report is going to explain eGroupware installation process and briefly describe some of its mostly used applications.

  1. Installation, Configuration, and Administration of eGroupware

  2. What is eGroupware?

EGroupware is a web based*, open source*,
collaboration software, used by small companies to enterprises. It comes with a native web-interface that allows accessing your data from any platform, all over the planet. It also allows accessing data from a mobile phone or a PDA*.

EGroupware is platform independent. It can be installed on any server* that runs Windows, Mac and other operating systems. EGroupware users do not need to install any program on their computer to be able to use it. What they need is an internet browser* (Firefox, Internet explorer…) and they are ready to go. EGroupware is written in PHP* and is distributed under GNU General Public License*.

  1. EGroupware Installation and Configuration

Before eGroupware can be used, it needs to be installed on a server. The packaged can be obtained from the web at www.sourceforge.net. To work properly, eGroupware requires an operating system, a web server, a database*, and a mail sever if one intends to send emails with it. Once the main package is downloaded, the installation process is straightforward. Here is the installation process on a windows machine:

Step 1: Using a program like WinZip*, you simply unzip eGroupware packaged to any file that is under a web server's root. In other words, the folder must be accessible from the internet. The folder location should something like: D:\websited\yourwebsite\egroupware\ (all other files in the eGroupware package).

Step 2: Before this step can be done, a web server and a database using eGroupware must be started. Once started, open your internet browser and point to http://yourdomainname/egroupware/setup.

Step 3: The check installation script should start automatically. If there are errors found, then one must correct them before they move on. When there are no more errors, then scroll down and click "Return to setup".

Step 4: When all conflicts are resolved, you can click on "Continue to the Header Admin"

Step 5: Complete the table on the above mentioned screen as follows:

The Server Root and Include Root variables should be automatically filled; one does not have to change anything unless they really know what they are doing.

Create an administrator account and assign him a desired password. This is the account one will use to be able to login to the header manager.

Change the persistent connection to false

Jump to the database information and enter the following:

-DB Type: mysql

-DB Host: localhost (if the user is on the same machine where eGroupware is installed) or the appropriate name of the machine

-Leave the DB Port field empty

-DB name: Enter for example "egroupware"

-DB User: username

-DB Password: userpassword.

Create a Configuration user account and assign him a user name and password. This is the account that one will use to manage the configuration.

Create the header file by clicking on the Write Config button.

If everything was done correctly, one should get a message that says your header file was created.


To go to the next step, click on the Continue button.


Step 6: Now, one should be on the eGroupware login page. Enter the correct information in the Setup/Config fields to login into the setup control.


Click on the "Login" Button to move on. The setup screen should show up. You will see some errors that the database does not have any table, but it's ok because we do not have any table installed yet.

Step 7: Click on the "Click here to setup 1 admin account and 3 demo accounts" to continue. Enter your desired admin account and check the "Create Demo accounts" checkbox to create the demo accounts.


Click on the "Install" button to create the missing tables. If you do not see the error anymore, the tables were created successfully.


Click on the Re-check My Installation button to continue; the setup page should refresh and all other stages should have been completed at this time. One should not see any errors now.


Click on the "Save" button to save all the settings and the installation is finished at this stage. Go back to eGroupware setup page and click on the 'User Log in' link. The screen should look like this:


Enter the user name and password you created earlier and click on the "Login" button to login into eGroupware. Now, you should be at the administrator control panel of eGroupware and be able to manage the system. By default, the Calendar application is displayed after login.


The next section briefly describes some eGroupware applications.

  1. EGroupware Applications

  2. FelaMiMail

FelaMiMail is an email client that is user friendly; it allows sending emails using SMTP server and receiving emails through IMP server. To be able to use FelaMiMail, the following settings must be configured in the emailadmin as follows:

SMTP server: yourdomain.com

Port: 25

Use SMTP authentication with the following credentials:

Username:emailuser@yourdomainname.com

Password: the corresponding password.

FelaMiMail has all standard operations just like other email programs. It even allows filtering and adding emails in the address book.

  1. Calendar

With the calendar applications, you can create your daily, weekly, and monthly schedules and add custom events. You can even include holidays and set alarms for evens. You can also import to your outlook calendar.

  1. Addressbook

With this application, you can create your won address book and include important fields like Full Name, company name, email, phone number. You can also import and export address book and Vcards.

  1. ProjectManager

This application allows creating projects and calculating their estimated value. You can list, add, edit, and delete projects.

  1. Info Log

It allows creating and managing a to-do list and supports all other customer-relation-management.

  1. Timesheet

Timesheet works with project manager to track time and check periods of time.

  1. Filemanager

It allows sharing documents over the network. You can copy, edit, move, rename, manage and create folders and subfolders as well.

  1. SiteMgr

With this application, you can build a website for your eGroupware; you can select from available templates or download free templates from the web.

  1. Wiki

Wiki allows users to share knowledge in a discussion form. You can post an entry, edit and comment on others' entries.

  1. Bookmarks

The Bookmark application allows saving your favorite websites in an organized manner.

  1. Polls

With this application, you can create online voting and collect people's opinions.

  1. Other Internship Activities

Besides installing and configuring eGroupware for RITA, I got trained in Database management using C-# as a programming language. I learned how to connect to ODBC and SQL Client, how to retrieve data from the database, change it and save the changes.

I also followed a training offered by CISCO about video teleconferencing. I learned how the front end works, from making a simple phone call to making a video teleconference. When I got in RITA, they had deployed a teleconferencing project to be used in all governmental institutions; that is the reason why all employees in charge of ICT had to be trained about teleconference. As an intern, I felt interested and decided to go and follow the training as well.

I also attended several professional meetings about IT development in Rwanda.

  1. Assessment of the Internship

Working as an intern at RITA helped me to gain real world experience. As a sophomore in computer engineering, I needed to have a taste of how working with smart and experienced engineers feels like. RITA was a good choice because they use mostly computer and software engineers as a company that has a mission focused in IT development and deployment.

Besides working with experienced people, I got to learn how to start a large project from the scratch. Once I got at RITA, I was given a project to work on and had to finish before my internship period was over. I learned how to do research on the web, knowing when it is time to ask for help, being honest about my abilities, and communicate early and often.

In schools, we are taught new things but mostly teachers show us what do and then we are ready to go. In professional industries, you do not have a teacher to show you everything. They only assign you a task and you have to figure out what to do by yourself. What I appreciate from school is that we are taught how to teach ourselves; especially in the engineering field, self-training is a key concept we all should have before we graduate from college.

The experience I gained from RITA will strongly influence my future career: I got to know what bosses look for when they are choosing employees and what they expect from them; I got also to know what is really needed on the market in the computer engineering and Information Technology fields.

  1. Conclusion

At RITA I got everything that I expected from my internship. The work I did there helped me to evaluate my skills and my knowledge. The installation of a collaboration application for a company is something that I am proud of. It is not a huge task, but it is something. I am very excited that I was able to be part of the eGroupware project and I hope it will be very helpful for RITA. Besides the work that I did there, I gained an invaluable experience. It was my first time to work in a professional setting. I was used to work on several projects at school, but I never got to work as an employee. At work, you just do not get graded about what you did; you work to finish what you have been assigned to do and you have to finish it on time. I could not have gained that once in a lifetime experience if it is was not the positive and enthusiastic attitudes of RITA staff. Thanks for everyone for their friendliness and their patience, I have learned a lot. This project is very helpful in shaping my professional goals and development. I could not ask for a better experience.

  1. Recommendations

I strongly recommend future Rwandan students who study abroad or inside the country in the engineering and IT fields, to choose RITA as their workplace. At RITA, they will gain a precious experience that they cannot find anywhere else. For people who like exciting and challenging work, RITA is a good choice. There, you put your skills and knowledge in practice, and you get to work with people who are serious about what they do, but also who are enjoyable and fun to work with.

  1. Appendix A: Definitions

  • Web based application: an application that is accessible via the internet, online.
  • open source: open source programs are assured of there rights:

-The right to make copies of the program, and distribute those copies.

-The right to have access to the software's source code, a necessary preliminary before you can change it.

-The right to make improvements to the program5.


  • A server: a serve may refer to a computer program that provides services to other computer programs (and their users) in the same or other computers. A server is also defined as a computer that a server program runs in, which is the meaning used in this report3.
  • A database: A database is a collection of information that is organized so that it can easily be accessed, managed, and updated6.
  • WinZip: WinZip is a Windows program that lets you archive and compress files so that you can store or distribute them more efficiently7.
  • GNU General Public License: The GNU General Public License is a free, copyleft license for software and other kinds of works. It is intended to guarantee your freedom to share and change all versions of a program--to make sure it remains free software for all its users4.
  • PHP: PHP is a script language and interpreter that is freely available and used primarily on Linux Web servers. PHP, originally derived from Personal Home Page Tools, now stands for PHP: Hypertext Preprocessor, which the PHP FAQ describes as a "recursive acronym8."
  1. References

  2. Rwanda Information Technology Authority website, 2007.

    <www.rita.rw>

  3. Egroupware Official Website.

    < www.egroupware.org>

  4. TechTarget website. 2008.

    <http://whatis.techtarget.com/definition/0,,sid9_gci212964,00.html>

  5. Free Software Foundation. 2007.

    < http://www.gnu.org/copyleft/gpl.html>

  6. Treasurer, Open Source Initiative. Bruce Perens

    <http://perens.com/OSD.html>

  7. TechTarget website. 2008.

    <http://searchsqlserver.techtarget.com/sDefinition/0,,sid87_gci211895,00.html>

  8. TechTarget website. 2008.

    <http://searchwinit.techtarget.com/sDefinition/0,,sid1_gci213378,00.html>

  9. TechTarget website. 2008.

    <http://searchenterpriselinux.techtarget.com/sDefinition/0,,sid39_gci334246,00.html>



0 comments: