From Fedora Project Wiki

Revision as of 16:47, 13 May 2010 by Iaml (talk | contribs)

For information how to complete this form, refer to Summer Coding 2010 step-by-step for students.

Random list of application requirements

  1. Must include a schedule that was worked out with mentor
  2. Keep on eye on the Talk: page that is associated with the proposal page you create. Click on the discussion link on the top of your proposal page. The Talk: page is where mentors comment on your proposal.
  3. Make sure you have clicked on the watch link on the top of your proposal page(s) and Talk: page(s). Use the link to my preferences at the top of the page to set your Watchlist preferences to email you when changes are made.

About you

Name: Tao Lin

Contact: lintao30@gmail.com

Wiki username: iaml

IRC nickname: iaml

Primary language:

Chinese will be the first choice and English is ok

Programming language:

I usually use C++ and Python to program. Besides these two languages, I also know shell, Java, C and C#.

Location: Sun Yat-sen University in Guangzhou, China

Hours tend to work: 09:00 ~ 23:00 UTC+8

Reason to work on an open-source project this summer:

This project is attractive and I want to make some contribution to open source community. It will be a ticket for me. Besides, it is a challenge to me, too. It is time for me to put my knowledge into practice. And it is also the time to act as a developer, not as a user. There must be something new I have not met before. I can't wait to join it!

About your project

What is the name of your project?

Backup Config Files in Ailurus


Does your project come from an idea on the Summer Coding 2010 ideas page? If so, provide a link for reference, as well as a link to any discussions with mentors about your proposal.

idea page:

https://fedoraproject.org/wiki/Summer_Coding_2010_ideas_-_Customizable_application_installer


Describe your project in 10-20 sentences. What are you making? Who are you making it for, and why do they need it? What technologies (programming languages, etc.) will you be using?

I am going to add a new feature -- backup configuration of software, to Ailurus. This feature mainly contains two parts. The first part backup configuration files, including config files and plugins. In this part, Ailurus will find out all the configurations of software in the system, and let user to choose the files they want to archive. Then Ailurus will send them to the mailing box which is set by user. The second part is to restore the backup files(from local or from target mailing box). The user choose the version of archived file from Ailurus and then choose the config files to restore from the archived file.

This project is potential. Because configurating software is a big stuff in using Linux. Almost every software has their own config file. It will use lots of time to configurate again if the config file is lost by some accidents. On the other hand, user may have more than one computers nowaday, such as one in work place and the other at home. With this feature, user can synchron their configurations conviently. And more attractively, we can save a lot of time when we want to reinstall the system without worrying about the loss of config files.

In this project, I will use python, regular expression and some protocols in email, such as SMTP and POP3.


What is the timeline for development of your project? The Fedora Summer Coding work period is 11 weeks long, May 24 - August 9; tell us what you will be working on each week. (As the summer goes on, you and your mentor will adjust your schedule, but it's good to have a plan at the beginning so you have an idea of where you're headed.) Note that you should probably plan to have something "working and 90% done" by the midterm evaluation (July 5-12); the last steps always take longer than you think, and we will consider canceling projects that are not mostly working by then.

Timeline

week 01 (05-24 ~ 05-30): Communicate with mentor for more detail on this project. Do some more research on the technoligy used in this project

week 02 (05-31 ~ 06-06): Realize searching all the configuration files in the system and archive them according user's choices

week 03 (06-07 ~ 06-13): Realize sending archived files to the target mailing box

week 04 (06-14 ~ 06-20): Function(backup configuration files of softwares) test and fix bugs

week 05 (06-21 ~ 06-27): Realize searching archived files from target mailing box

week 06 (06-28 ~ 07-04): Realize restoring selected configuration from archived files which is stored in the mailing box

week 07 (07-05 ~ 07-11): Realize managing archived files(delete selected archived files to free the space) in target mailing box

week 08 ~ 10(07-12 ~ 08-01): Integrate this feature to Ailurus and commit integration test and fix bugs

week 11 (08-02 ~ 08-08): Writing documents for this feature

After mid-term evaluation, I will mainly focus on fixing bugs and writing documents. And if any attractive functions come, I will realize them during that time too.


Convince us, in 5-15 sentences, that you will be able to successfully complete your project in the timeline you have described. This is usually where people describe their past experiences, credentials, prior projects, schoolwork, and that sort of thing, but be creative. Link to prior work or other resources as relevant.


You and the community

If your project is successfully completed, what will its impact be on the Fedora community? Give 3 answers, each 1-3 paragraphs in length. The first one should be yours. The other two should be answers from members of the Fedora community, at least one of whom should be a Fedora Summer Coding mentor. Provide email contact information for non-Summer Coding mentors.


What will you do if you get stuck on your project and your mentor isn't around?


In addition to the required blogging minimum of twice per week, how do you propose to keep the community informed of your progress and any problems or questions you might have over the course of the project?


Miscellaneous

We want to make sure that you are prepared before the project starts


Can you set up an appropriate development environment?


Have you met your proposed mentor and members of the associated community?


What is your t-shirt size?


Describe a great learning experience you had as a child.


Is there anything else we should have asked you or anything else that we should know that might make us like you or your project more?


Note: you will post this application on the wiki in the category Category:Summer Coding 2010 applications. We encourage you to browse this category and comment on the talk page of other applications. Also, others' comments and your responses on the talk page of your own application are viewed favorably, and, while we don't like repetitive spam, we welcome honest questions and discussion of your project idea on the mailing list and/or IRC.

The NeL project has some good general recommendations for writing proposals. We encourage Summer Coding code to include tests.

Comments

Use the Talk:Summer Coding 2010 student proposal application to actually make comment, which then appear here on the main proposal page. You can use this link to make a new comment].

plus talk