Bonding Period Report
- Development environment setup
- Getting familliar with development and testing workflow
- Getting familliar with Phabricator and its apps
- The bonding task: T98671, GitHub branch, Travis CI test report. The main work about this task was well received by the community, but some minor fixes were completed after the community bonding period was over.
- A mergerd small patch: 212776
- Understand the structure of code first before coding. It's more efficient than coding at once. Also it'll avoid pointless and duplicated modifications.
- Patience is important. Some small typos and errors could be avoid if I spent a little more time on reviewing code. And a lot of time wasting on pointless tests could be saved.
- Feel free to ask any questions, even they seem tiny and stupid. Mentors and contributors in the community are very willing to give help. They help me understanding the project better and improve my work.
- Get patches up for review before deadline. Lots of small iterative improvements may be needed to make it a good patch. So allocating a reasonable time window is important.
Problems faced and solutions found
- Working with GitHub and Gerrit: I used two repositories locally before. One is from GitHub. I used it for common development and testing (by using Travis-CI). The other one is from Gerrit. I used it to sent patches. It's messy to switch between two repositories. @XZise helped me set the repository for these two environments properly. It looks small, but it really did help to me for the future work.
Changes from original plan
- According to the result of evaluation in the bonding task, completely switching to requests is feasible. So we may focus on the second plan as mentioned in T93352.
Minimum Viable Product
- As mentioned in T93352, it'll contain tree parts:
- Pywikibot OAuth support
- Unit tests for OAuth
- Related documentation
- Normal queries will happen on freenode IRC channels: pywikibot and pywikibot-oauth.
- Maniphest can be the tracking tool for this project. Work could be partitioned into tasks. Reports and comments could go there.