proposal for https://phabricator.wikimedia.org/T386128
Profile
Name: Nicholas Igber
IRC handle: gutopro911
Email: nickigber@gmail.com
GitHub: https://github.com/Gutopro
Location: Benue, Nigeria
Time Zone: UTC+1
Typical working hours: Between 10 AM to 2 AM. (UTC+1)
Synopsis
Broken links on Wikipedia impair the verifiability of information, making it difficult for readers and editors to access cited sources. This project proposes the development of a Broken Link Tool for the Portuguese Wikipedia, inspired by the Dead Link Finder used on the German Wikipedia. The tool will allow users to check broken links in a set of pages, grouped by hidden categories, making it easier to identify and resolve these issues.
By providing a low-complexity task for newcomers and wikicontest participants, this tool will encourage retention and active participation within the community. It will also contribute to the reliability and quality of Wikipedia articles, benefiting all readers and editors.
This project aligns with broader goals of improving usability and accessibility on Wikimedia projects, ensuring a more inclusive and productive environment for Portuguese-speaking users.
mentors: @Ederporto, @Arcstur
Timeline
| Period | Task |
| June 2 to June 14 | Community Bonding period. Study broken links, the Dead Link Finder tool, and Pywikibots weblinkchecker.py script. Identify requirements and challenges for adapting it to the Portuguese Wikipedia. Define the tool’s scope and features. Design the UI and workflow. Plan implementation steps and prioritize functionalities. Collaborate with Lusophone wikicontest organizers to understand their needs. |
| June 16 to July 19 | Development:Set up the development environment and required dependencies. Implement the core functionality for checking broken links. Test the tool with a small set of pages. Add pagination and filters (e.g., by category or date range). Test enhancements and submit bi-weekly reports. Explore Toolforge integration for hosting the tool. |
| July 20 | Phase I evaluation |
| July 21 to August 6 | Testing and user feedback: Test the tool across different browsers and devices. Conduct thorough testing to identify and fix bugs. Collect feedback from users through the creation and distribution of survey forms and community discussions among the Lusophone Wikipedia community. Implement UX improvements and test adjustments. Submit bi-weekly reports. |
| August 7 | Phase II evaluation |
| August 8 to August 21 | Documentation and deployment: Create comprehensive documentation (installation, usage, troubleshooting). Deploy the tool on the Portuguese Wikipedia. Announce and promote the tool through wikicontests, education programs, and edit-a-thons. Monitor usage and gather feedback for further improvements. Submit bi-weekly reports. |
| August 22 to August 27 | Buffer week:Address any remaining issues, finalize documentation and conduct additional testing if needed. |
Deliverables
- Early and robust design of the tool
- Implementation and testing of the Portuguese Wikipedia dead link finder
- Technical specification document outlining the tool’s scope, features, and workflow.
- Regular communication with my mentors and other community members at WMF.
- Collecting and viewing feedback responses
phase I evaluation
- Research and analysis for the broken link finder tool.
- Define and design the structure and layout of the broken link finder tool
Phase II evaluation
- Create a presentation summarizing the research findings, insights, and recommendations
- Deliver the presentation to the mentor and/or other groups, highlighting the key findings and recommendations
- Migration and Testing
- Migration and rollout
- Define and document best practices for creating a broken link finder
- Report Submission
Participation
- I will make a new repo on git and maintain two branches. Code will be uploaded to the dev branch periodically and will be merged with the master branch once review and testing are done.
- I will be online on IRC during my working hours ( between 10:00 am to 2:00 am UTC +1) to collaborate with the mentors.
- I will use Phabricator for managing bugs and subtasks.
- I will be available in gmail to be contacted when needed in the non-working hours.
About me
I obtained a bachelor's degree in Biochemistry from the Federal University of Agriculture Makurdi, Benue state, Nigeria, and completed a 1-year certification in Software engineering from Alx School of Software Engineering, Nairobi, Kenya with specializations in Frontend Development. I'm a patient learner who believes that teamwork makes the dream work.
I am eligible for the Outreachy internship and this is my first time in the contribution phase. I am hoping that this will be a kickstart in open-source development. This would be a great way to get exposure to real-world applications, collaborate on code, and interact with the open-source community.
What inspired me to work on this project is the idea that I would be contributing to the world's largest online encyclopedia, which would benefit a large group of people, where my little efforts can impact the larger world.
Experience
I have gained experience working with Django. As part of our Alx capstone project (edutech), I built a learning management system alongside my teammates. This gave me a better understanding of the git workflow, API integration, and development best practices.
I have experience working with C, Ruby, Python, HTML, CSS, and Javascript among others. Among databases, I mostly worked on MySQL and Postgresql. Among OS I mostly work in Ubuntu.
Expectations
At the end of the program, I aim to achieve the following:
- A better understanding of Python through the study and enhancement of Pywikibot and it's scripts to suit the needs of the Lusophone community
- Successful collaboration with end-users and fellow maintainers to achieve project goals
- Improved knowledge of technical documentation through the documentation of the proposed broken link finder
Here is a link to some of the resources I will be using during the internship: resources