Proposal

An overview of the proposal

What is free media service?

In simply Freemedia service volunteer initiative by local Fedora Ambassadors and contributors is giving away Fedora products freely to whom got trouble in downloading.

What is the current process that Freemedia group following?

Above flow chart clearly describe current process going on the fedora freemedia service.
For this process it use tool called trac.

What my plan is to

Current process of the free media is almost done manually. What I have to do is make this process automated as much as possible

The need you believe it fulfills

Volunteers should have facility to logging to system using FAS account. In current process he/she has to subscribe to mailing list and apply to freemedia group. In this system volunteers have to fill a simple form in order to apply to the freemedia service. So that they will be automatically subscribe to mailing list and freemedia group without much trouble.

In current process requesters just have to fill simple form and create ticket. Sometimes user provided data may be incorrect. So that their tickets may be rejected. This system will give proper validation for user data in order to overcome this problem. Also requester has to go through quick survey on why he/she needs freemedia.

Volunteers should get relevant email notifications on submitted tickets.

Current statistic report system is not efficient. This system use following methods to collect statistic data from the requesters

By requester forms.

By quick survey before creating a ticket.

By feedback survey after full filed the request.

These data can be used to make sophisticated static report. Also system consist authorized API for statistical data. So authorized user can generate report through API calls.

From the volunteers side there should be a moral up. For that static report system have leader board where top donators list will be displayed.

Attractive UI

Relevant experience I have

I have some experience with PHP and SQL.

I am B.Sc. (Computer Engineering) undergraduate of University of Peradeniya, Sri Lanka.

How I intend to implement my proposal

Tools and Frameworks use in this project

Most of in this project will be implemented within CakePHP, an open source PHP MVC Development Framework. The reasons are to select CakePHP

Architecture

Login mechanism

Login system is basically use FAS JSON interface. For each user type there should be different access level. In this system there are three types of users

In login mechanism, first it checks whether the FAS account is active and valid. Then FAS account name is checked in system database and applied corresponding user level accesses and features. Volunteers and admins are directed to profile page after login done.

Form and ticket handling system.

Form handling

There are two types of forms in this system

Freemedia request form.

Volunteer application form.

Freemedia request form:-

This form has validation mechanism. Therefore it can validate specially email addresses and other useful data. Then validated data from the request form and quick survey data are used to create new ticket.

Volunteer application form:-

When volunteer submit the application form, admins get a notification (both mail and profile page notification). After admin accepts the application, Volunteers will directed to profile page which they can maintain.

Ticket handling

This system will use element called ticket to handle freemedia requests. When user created a ticket it will be stored in system database. All the tickets will be display in the page called request report page which can be seen by volunteers and admins. Also newly created ticket will be notified through email to relevant volunteers.

Following figure will describe the status of the ticket.

Mailing system

Mailing system is uses to send notification about each actions done in this system.
Following figure shows when mails will be send in this process.

In the ticket handling process, mails are auto generated and send automatically to users.
In other situations like asking further clarification about ticket from requester, no need to use mail client. Because profile pages includes the mail sending feature.

Mail sending feature in profile page

This contains relevant mail templates which can be used by editing them and send them.

Also volunteers and admins have facility to change the mail sending settings in there profile pages. So that they will notified what they want via mails.

Mail sending settings page

Volunteer can filtered the notification mail as he/she wished. This could be better rather than having a fixed mail filtering method. Because volunteers ability to fulfill request may change

Ex- If volunteer change the resident in certain months in a year, he may want to change the notification of tickets according to his current resident.

Enhanced report generating mechanism (including leader board)

This system is used data provided by surveys and forms. Then these data are stored in the system database using well defined table structures. So that it can be easily retrieve to represent in analytical way. This system mainly provide an authorized API which can be used by the admins and other authorized users to generate report.

Also this system consist of leader board which displays the list of top volunteers.

Profile pages

Both volunteers and admins have profile pages.
A profile page consist of following things.

User details

This includes basic information about volunteers.

Notification bar (notification of ticket requests)

When there are ticket requests relevant to profile page owner, it will be informed in the notification bar. So that volunteer can go through it.This notification also can be customize.Therefore notifications can be filtered according to the volunteers wish.

Links to statistic report page and request page.

Profile owner can easily refer to static page and request page through the quick links.

Volunteer invitation widget.

Profile owner can invite other people who might be interested to join this program as volunteers. This invitation will be done through an E mail.