GSoC2017 (Fedora) —— Final

There is the summary about my work in Google Summer of Code during the last three months.

Task

Plinth is a web interface to administer the functions of the FreedomBox which is a Debian based project, and the main goal of this idea is to make it available for Fedora.

My Work

Finished

  • Modifying the source code module by module to convert it to RPM-based, including replacing the apt command code with the dnf command code or fit both of them, changing the Deb-based packages into RPM-based packages which play the same roles and testing after each module finished.
  • Add the guide of RPM-based package to Plinth User Guide and create a wiki page for it in Fedora.

This is the welcome page which is run in Fedora:

welcome

To Do

  • Some packages which is needed by Plinth, but I can’t find their suitable replacement or effective solution in Fedora, except copying them from Debian directly. For example:
    • Javascript — many pages can’t be loaded perfectly because of that.
    • LDAP — we can’t complete set up because of that.
  • Make a RPM package for Plinth from source and setup a repo for it in Copr.

Links

Experience

As why Fedora, just because Fedora is the Linux distribution I use the most, so I want to know more about it and make contributions to it, and I believe GSOC is a good chance to integrate into a community, because I had the similar experience in GNOME during Outreachy. And when I went to Taipei for the COSCUP 2017 in early August, I joined the offline meeting of Fedora Taiwan and advertised GSoC to others.

I must say the last three months in GSoC was a quite valuable experience for me. This idea is not easy as I thought, I learned more about the difference between .rpm and .deb during this period, and my VPN was blocked in the second phase. Fortunately, I dealt most problems I met under my try and my mentor’s guide.

At last, thanks to Google and Fedora for giving me this opportunity, and thanks to my mentor, our admin and the people from Fedora and Debian who had given me help.

 


This work by Mandy Wang is licensed under a Creative Commons Attribution-ShareAlike 4.0 International

 

 

 

Advertisements

GSoC2017 (Fedora) — Week 5-8

I continued to do the work about the migration of the Plinth. I summarized the packages which are needed by Plinth and their alternates in Fedora.

Sometimes there will be a little different in details between the packages which have the similar name in Fedora and Debian, I’ll check them one by one and find better solutions.

About libjs-bootstrap and libjs-modernizr, I can’t find a suitable alternate, so I extracted the .deb package in Fedora and put them under the javascript/.

As you know, most foreign websites are blocked in the Chinese mainland, which include all of the Google services, many frequently-used IM software, Wikipedia and so on, so we have to use VPN or other ways to connect to the servers located abroad to load these websites. But lots of VPN (include mine) in China are blocked unexpectedly in July because of some political reasons, I can’t update my blogs and codes until I find a new way to “over the wall”, so my work is delayed this moth.

And because my mentor also lives in China and he refuses to use the non-free software in China, we use gmail and telegram to communicate in normal times, so I losed contact with my mentor for many days. As soon as we are able to contact with each other in the last few days, I told him the work I did this month and the question I met. For this case, we are thinking about scaling down our project temporarily and delaying some unimportant work, I will puts forward concrete solving plans with my mentor as soon as possible.

GSoC2017 (Fedora) — Week 3&4

I went to Guizhou and Hunan in China for my after-graduation trip last week. I walked on the glass skywalk in Zhangjiajie, visited Huangguoshu waterfallss and Fenghuang Ancient City, ate a lot of delicious food at the night market in Guiyang and so on. I had a wonderful time there, welcome to China to experience these! (GNOME Asia, hold in Chongqing, in October is a good choice, Chongqing is a big city which has a lot of hot food and hot girls.)

The main work I did these days for GSoC is carding and detailing the work about establishing the environment for Plinth in Fedora. I realize it by some crude way before, such as using some packages in Debian directly, but now I will make these steps more clear, organize the useful information and write them into INSTALL file.

But my mentor and I had a problem when I tried to run firstboot, I don’t know which packages are needed when I want to debug JS in Fedora, in other words, I want to find which packages in Fedora has the same function with the libjs-bootstrap, libjs-jquery and libjs-modernizr in Debian. If you know how to deal with it, please tell me, I’d be grateful.

GSoC2017 (Fedora) — Week 1

I’m very exciting when I got the email that I was accepted by Fedora in GSoC2017. I will work for the idea – Migrate Plinth to Fedora Server – this summer.

I attend my graduation thesis defense today, and I have to spend most of my time on my graduation project last week, so I only done a little bit of work for GSoC in the first week. I will officially start my work this week – migrate the first set of modules from Deb-based to RPM-based.

This is the rough plan I made with Mentor Tong:

First Phrase

  • Before June 5, Fedora wiki {Plinth (Migrate Plinth from Debian)}
  • June 6 ~ June 12, Coding: Finishing LDAP configuration First boot module
  • June 13 ~ June 20, Finish User register and admin manager
  • June 21 ~ June 26, Adjust Unit Test to adopt RPM and Fedora packages
  • Evaluation Phrase 1

Second Phrase

  • June 27 ~ July 8, Finish system config related models
  • July 9 ~ July 15, Finish all system models
  • July 16 ~ July 31, Finish one half APP models
  • Evaluation Phrase 2

Third Phrase

  • August 1 ~ August 13, Finish other app models
  • Final Test and finish wiki
  • Final Evaluation

Outreachy (GNOME) – Final

This is my last blog of Outreachy. During this period, I have finished the Chinese translation of GNOME 3.22, and completed most entries of GNOME 3.24, because it always emerges some new entries, so I talked with Mentor Tong and decided to accomplish 3.24 after the frozen-date and before the release-date. On the other hand, I improved the guideline of the Chinese Team – updated it on the basis of the last English vision and reference something from Free Software Localization Guide for Chinese (China).

About the future, I’ll completed GNOME 3.24 with other translators before 22th March, and I have some other ideas about the guideline of Chinese Team, I’ll try to implement them. Besides, I want to try making more contribution than L10n for GNOME, and I would love to become a module maintainer in this community which will making me more deeper at GNOME. Also, I’m trying to spread Outreachy to others, especially the Chinese girls.

I’d like to tell the applicants of round 14 or someone who want to apply it, DON’T BE SHY, show your personal abilities to your mentor as more as possible, and don’t be confined to the test she/he gave you. And if you are selected, an important thing is getting to know more people of your organization and many other interns, it will help you become fully integrated into the circle of FOSS.

Above all, that is a wonderful experience. Outreachy gave me a nice opportunity to learn and contribute to FOSS, thanks for the people who help me in this internship.


This work by Mandy Wang is licensed under a Creative Commons Attribution-ShareAlike 4.0 International

Outreachy (GNOME)-W7~W10

The work I did in this month is not so much, because of the Chinese New Year and the Lantern Festival. Spring Festival is the most important holiday for Chinese people. We Chinese believe that the Spring Festival is the right moment to review the year past and make plans for the year ahead.

In this period, I supplemented some new terms of GNOME 3.22 while the committer was submitting. I think maybe the Chinese (China) Translation Team need a extra committer, the work is too heavy to only one people who has another full-time job, so that it always piles up too many “translated” to review.

On the other hand, I’m translating the terms in GNOME 3.24. I have finished the apps of Accessibility and Utils, which are all committed in 3.22. It is estimated that it will reduce much workload of 3.24 if the 3.22 is committed fully, and I try to finish it in the next period.


This work by Mandy Wang is licensed under a Creative Commons Attribution-ShareAlike 4.0 International

Outreachy (GNOME)-W5&W6

My plan was altered in this two-week, because the strings of GNOME 3.24 have not frozen yet and the maintainers of Chinese localization group told me the Extra GNOME Applications are more necessary to be translated than documents, so I began to translate the Extra GNOME Applications (stable) during this period.

As many applications are not familiar to me, I will install the application and find the strings in it when I met some strings which I can’t understand what they are used to, but you know, this process could be a huge waste of time. Mentor Tong suggested me it’s better to locate strings in the source code, I found that is a nice method because I can understand the means of the strings more clear and I can save time by it.


This work by Mandy Wang is licensed under a Creative Commons Attribution-ShareAlike 4.0 International