Summer of Code Application 2010

Project Idea: File Upload question type

Abhinav Chittora Education : Graduation (B. Tech) 8th Semester Major : Information Technology College : Engineering College Bikaner Table of Contents:

1. Contact Information 2. Project Outline i. How we are going to upload files? ii. Where we are going to store uploaded files? iii. Configuration Options for Questions iv. Administer Roles? v. Data Entry/ Statistics/ Printable Survey/ Response Browsing/ Response Editing, how? vi. Third Party processing hooks? vii. Any thing else? 3. How will limesurvey benefit from the project? 4. Time line 5. Experience in Open Source development 6. Project related experience 7. Academic Experience 8. Why Limesurvey? 9. References & Important Links Contact Information:

Name : Abhinav Chittora Email Id : bijolianabhi[at]gmail[dot]com IRC Nick : Abhinav1 IM & user id : Google Talk ( [email protected]) & Skype (bijolianabhi) Location : Bikaner ( India) Time Zone : IST (UTC + 05:30) Phone No. : +91 9460351625 Blog Address : http://experiencesoc.wordpress.com (Blog to show Progress)

Project Outline:

Limesurvey, The Open Source Survey Application has been working in Open Source field since February 20, 2003. In its early days it was called PHPSurveyor. Limesurvey has proposed many idea for Google Summer of Code 2010. File Upload Question Type is one of them and I found myself capable to complete this project.

File uploading is the main task that should be done carefully. Uploaded files should be stored at server according to survey. For this we have to note these points: -

1. How we are going to upload files? Ans: We can upload files using CakePHP with model and without model. My personal opinion is to use CakePHP to upload files with model, since we can utilize power of CakePHP with model.

2. Where we are going to store uploaded files? Ans: We can store files outside the webroot folder on the server so that we can easily protect them from the unauthorized access. Each survey will have a directory to upload the files. All the files uploaded as a response of a question in survey will be stored in a directory. Naming will be done according to token or token+time stamp.

3. Configuration Options for Questions. Ans: While defining question with file type we have to make sure about following configuration options, this configuration options can be added in advance settings:- 1. Maximum upload size ( it also depends on the PHP configuration) 2. Number of files uploaded as answer. ( this can easily handled by PHP) 3. Should the file mark as public? (just make a check box to make it public. Since the survey statistic can be viewed publicly so if user checks the button "Make Public" then the file will be available to download for users.) 4. Allowed file extensions.( we can use filter while file choose dialog to filter the files, All extension should be in upper case so that we can easily handle that.) 5. Can user remove the remove the uploaded files.

4. Administer Role? Ans: What will be admin role after uploading the files? Here I am describing some tasks of admin that can be accomplished: 1. Downloading the uploaded files ( make a page to show the list of uploaded file with check box. Admin will check the files to download them as a archived form.) 2. Viewing the uploaded files ( we can make link the name of file to preview the file and admin can download that by “ right click-> save link as “. 3. Deleting the uploaded file ( admin must have permission to delete the file, there will be option to delete the file/files). 4. Altering the uploaded files. ( admin will able to change the content and the details for the files). 5. Data Entry/ Statistics / Printable Survey / Response Browsing/ Response Editing, How? Ans: Data Entry Screen is the page where which is used to enter data in paper based survey. It should be compact and effective. If we are uploading pictures then the files can be easily shown on the page, and if we are going to upload other documents such as pdf files, document files then we can only add that on the page.

Now come to Statistics page, it is used to show the statistics of the survey. Statistics will include total no of file uploaded and the total files size. So that survey admin can get the file system statistics.

In case of printable survey and we need picture to upload as answer then we can add a space to affix the picture or just add a note behind the survey that please attach the picture with survey.

Response browsing is the toughest task after uploading the files on the server. We have to make an interface so that the admin can browse the responses and uploaded files as well as. For this I am going to make a separate page that will contains table of all the files, here admin can browse the files by clicking them. If admin will click on a picture then it will open a