Jump to content

Afrika Wikimedia Geliştiricileri Projesi/Proje Kapsamı

From mediawiki.org
This page is a translated version of the page Africa Wikimedia Technical Community/Project Scope and the translation is 98% complete.
Outdated translations are marked like this.

AWMT Community Banner

Sorun

Kıtamızdaki sorunlardan dolayı Afrika'dan bir Wikimedia gönüllü geliştiricileri ekibi oluşturmak istiyoruz:

  • Wikimedia Vakfı'da (hareket) Afrika'dan çok az geliştirici var. Hareketlerin vizyonunu yerine getirmek için sayıları artırmak istiyoruz.
  • MediaWiki projeleri ve Afrika'dan API'ler de dahil olmak üzere uzantılarıyla ilgili daha fazla özellik eklemeye ve bunun yanı sıra hareketin etkinliklerini teknik bir yaklaşımla geliştirmek için Afrika bağlamındaki genel sorunları çözen araçlar/projeler geliştirmeye gönüllü geliştiriciler. Örneğin, Viki Afrika'yı Seviyor veya Viki Kadınlar Seviyor gibi bir proje, o yılın kazananlarını ve sonuçlarını elde etmek için verileri analiz etmek için bir aracın geliştirilebileceği vs.
  • Hareket halindeki birçok teknik problemi çözmek için, özellikle arazimizden gelen gönüllülere özgü problemleri çözmek için küçük bir çarpık geliştirici grubu beklemekten kaçının.
  • Afrika gönüllülerinin teknolojiye katılımının olmaması, Google Yaz Kodu, Google Code-In, kadınlar için sosyal yardım programı vb.

Önerilen Çözüm

Şu anda bu fikri hayata geçiren bir hareket haline getirmek için hareketin içinde ve dışında çok deneyimli zihinlerle çalışmaya hazır iki kişilik bir ekibiz. Gönüllü geliştiricileri işe almak ve hareketin nedenini savunmak için bu fırsatı kullanmak istiyoruz.

Şimdiye kadarki plan aşağıdakileri alıyor;

  • Afrika'daki gönüllü geliştiricilerin, fikirlerini ve tartışma konularını, ilgilenmelerini sağlamak için başkalarıyla paylaşmaları için bir posta listesi.
  • Bazı insanların MediaWiki'ye katkıda bulunmakla ilgilenip ilgilenmeyeceğini görmek için her ülkedeki WMF ve farklı hareketlerin kullanıcı gruplarına (GDG, Python grubu, Linux grubu vb.). Açık akıma katkıda bulunan geliştiricilerin benzer yeni projelere geçmeleri için genellikle kolay olduğu için bu anlamda makul olduğuna inanıyoruz.
  • Üniversite kurumlarında (fen bilimleri öğrencileri/programlama öğrencileri/bilgisayar bilimleri) ağız sözcüğü kullanın ve hareketin etkinlikleriyle ilgilenip ilgilenemeyeceklerini ve katkıda bulunabileceklerini görün (bu ülke başına yapılacak ve istatistikler paylaşılacak).
  • Seçilmiş ülkelerdeki muhtemel geliştirici gruplarını eğitin ve e-posta listesi aracılığıyla devam eden çabalarını motive edin.
  • Çalışmalarını geliştirmek ve sergilemek için yılda bir kez toplantı/hackathon düzenleyin.
  • Ülke başına, geliştirici topluluklarını çeşitli topluluklarında oluşturmak için bazı gönüllüler atayarak ve tüm bu toplulukları bir araya getirerek enerjiyi aktif tutacağız, Afrika'da geliştirici tabanlı büyük bir topluluğa sahip olacaktık.

Hedefler/Görevler

Afrika'dan bir geliştiriciler topluluğu var.

  • Kıtada toplam 20 aktif geliştirici edin.
  • 2018 için Afrika Yaz Kanunu'na (GSoC) en az 10 kişinin katılımı.
  • Afrika'dan gelen en önemli teknik kaygılardan birine bir çözüm oluşturun.

Topluluk dilek listesinden endişeleri çözmeye katılın.

  • En az bir kıta hackathonu organize edin.

Proje Önemi

Bu, Afrika topluluğuna MediaWiki ve uzantısı ile birlikte oynayabilecekleri (Foundation/hareketteki MediaWiki ve geliştirmenin nasıl çalıştığını öğrenecekleri) için faydalı olacaktır.

Bir geliştiriciyi Wikimedia projeleri hakkında bilgilendirmek ve belki de Afrika topluluğuna ve bir bütün olarak harekete yardımcı olacak bir proje düşünmeye başlayabilirsiniz. Başlangıç için ana akım ve/veya mevcut projelerdeki projeler üzerinde çalışacağız, hataları düzeltip büyüyen bir ekosistem inşa etmeye yardımcı olacağız. Bununla birlikte, gelecekte bazı projeler başlatmak ve kıta ile ilgili gerçek sorunları çözmek için çalışıyoruz.

Afrikalı bir geliştirici ekibiyle, kıtadaki ortak sorunları çözebilecek projeler üretebilirdik. Bu projeler ortak sorunlarımızı çözmek için uzun bir yol kat edecektir. Bu hareketin Afrika'daki faaliyetleriyle ilgili farkındalık seviyesini arttıracak ve Afrika'daki topluluk projelerinde gönüllü olmaya daha fazla insanın katılmasını sağlayacak ve yalnızca editörlerin değil, Afrika'dan gelen geliştiricilerin sayısında da artışa yol açacaktır.

Afrikalıları yetiştirmek, kendilerine yarar sağlayacak olan küresel programlara katılmayı ve Vakıfları, sorunları çözecek araçlar ve geliştirici olarak gerçek dünyadaki görevlerini (kariyer yollarını zenginleştirerek) geliştireceklerdir. Kadınlar için Sosyal Yardım (Afrika'dan katılımcı yok), GCI (Afrika'dan katılımcı yok) ve GSoC (2016'da Afrika'dan sadece 1 katılımcı) gibi programlar. Ek olarak, geliştiricilere açık hareket içinde gerçek becerilere sahip olacak ve tamamen yeni bir platformun kullanımının öğrenilmesine yardımcı olacaktır.

Kısaca, asıl veya öncelikli hedefimiz Afrika'dan hareketle gönüllü geliştiriciler elde etmektir (aktif olanlar Wikimedia projeleri ve hareketin hedeflerine yönelik Afrika ile ilgili projeler üzerinde çalışmak için).

Teklif

Eğitim Takvimi

Eğitime Mart - Haziran (4 ay) arasında başlamak istiyoruz. Bu en az 3 ülke, ancak tercihen 4 ülke için ülke eğitimini içerecektir. A Planı, Ayda iki kez, ancak her ay düzenlenen. Bu her bir yerde gerçekleştirilecek her olay grubu için bir aylık planlama ve lojistik lojistiği bırakır. B Planı, Her ay ülke başına bir etkinlik. Aşağıda önerilen ülkeler:

Aşama 1

  • Gana - Gana'ya yerleştik, çünkü ülkede bu etkinliği destekleyen bir Kullanıcı Grubu ve OFWA var. Afrika kıtasındaki Wikimedia katılımı söz konusu olduğunda güçlü bir ülke ve kaldıracı zaten bu nedeni geliştirmek için ortak kurumlarla birlikte kullanmamız muhtemel.
  • Fildişi Sahili - Fildişi Sahili bilgisayar bilimi veya programlamaya ilgi duyan hareketin güçlü bir ülkesidir. Google’la ve ülkedeki diğer önemli şirketlerle geliştiriciyle ilgili programların coşkusundan çok haberdarız. Kullanıcı grubunu, bağlarını güçlendirme ve varlığını duyurma fırsatını kullanmak için ilerledikçe güçlerini ve çıkarlarını artırmak istiyoruz.
  • Nijerya - Batı Afrika alt bölgesinde çok hareketli bir topluluk ve buradaki etkinlikler, kalabalığı çekecek ve Vikipedi ve gönüllüler için geliştirici fırsatları hakkında büyük bir farkındalık yaratacaktır.
  • Kamerun -

Aşama 2

  • Tanzanya - Ülkede daha yeni bir topluluğa başladık ve üyelerin çoğunluğu bilgisayar bilimi öğrencileriydi, artı bize proje için alanlarını, izleyicilerini ve desteklerini vermeye istekli bir merkezle ortaklığımız var. Merkez hükümetle bağlantılı ve bu nedeni savunmak için güçlü bağlar yaratıyor.
  • Güney Afrika - Kıtadaki tek bölüm var ve onlarla çalışmak kıta için geliştirici olarak öngördüğümüz insanları getirecek. Şu anda MediaWiki'de gerçekten harika şeyler yapan ve onları içeri çekmek için harika olacak bir çift var.
  • Botsvana*-
  • Kenya* -

Program

1. Gün

Oturum 1: Git'e Git, GitHub, Gerrit ve MediaWiki'nin kurulumu.

  • Hoşgeldiniz ve Buzkıran - 09:00 - 09:20
  • Wikimedia Projelerinin Tanıtımı - 09:20 - 09:40
  • Git/GitHub ve Gerrit'e Giriş - 09:40 - 10:40
  • <Atıştırmalık/Kahve Molası> - 10:40 - 11:00
  • MediaWiki'nin Yerel Alanlara Kurulumu için Gerrit Dersleri: - 11:00 - 12:30

Gerrit Eğitimleri (Gerçeği Medyawiki'yi kurmak için Gerrit Eğitimleri: Git, SSH Anahtarları Kurmak, MediaWiki'yi indirmek, vb.)

  • <Öğle Yemeği Molası> - 12:30 - 13:10
  • Enerji - 13:10 - 13:15
  • Neden bir geliştirici olarak gönüllü 1? - 13:15- 13:40
  • MediaWiki uzantısına MediaWiki'ye yükleme ve bu uzantıların nasıl kullanılacağı. (Yukarıdaki iki nokta el ele çalışıyor, çünkü Gerrit derslerinde mediawiki'nin kurulumu tamamlandı) - 13:40 - 14:40
  • <Atıştırmalık/Kahve Molası> -- 14:40 - 15:00

Oturum 2: IRC diğer Wikimedia geliştiricileriyle iletişim kurmak için nasıl kullanılır

  • IRC ve IRC komutlarına giriş - 15:20 - 16:30
    Eğitimler (IRC kullanımı - öğreticiler)

2. Gün

  • Hoşgeldiniz - 09:00 - 09:10
  • Welcome - 09:00am - 09:10am

Oturum 3: MediaWiki'de uzantı oluşturma ve eller'

  • Öğretici/bir MediaWiki uzantısı geliştirme örneği alıştırmaları - 09:10 - 11:10
    Eklentiler geliştirme (Eklenti geliştirme)
  • <Atıştırmalık/Kahve Molası> -- 11:10 - 11:30
  • Uzantı Yazma Öğreticisi (Örnek uzantıyı kesme) - 11:30 - 12:30
  • <Öğlen Arası> -- 12:30 - 13:10

Oturum 4: Wikimedia Phabricator'ı geliştirici olarak kullanma

  • Phabricator nasıl kullanılır (dosya hataları, sorunları çözme vb…) - 13:10 - 14:30
    Phabricator (Sorun izci)
  • <Atıştırmalık/Kahve Molası> -- 14:30 - 15:00
  • Neden bir geliştirici olarak gönüllü 2? - 15:00- 15:40
  • Paketleme ve Kapatma - 15:40 - 16:00

Yukarıdaki madde işaretleri, geliştiricilerin Wikimedia Vakfı'ndaki ilgili projeleri programlamaya başlamadan önce bilmeleri gerekenlerin en az %85'ini kapsamalıdır.

Bunları kendi başlarına öğrenmek zorunda kalacakları için programlamayı öğretmeyeceğiz. Onlara yalnızca bilmeleri gereken programlama dilleri listesini söyleyeceğiz, böylece onu Wikimedia projelerine katkıda bulunmak için kullanabilecekler.

Aşağıda Wikimedia Vakfı'nda en çok kullanılan dillerin bir listesi bulunmaktadır:

  • PHP ve Hack (PHP en çok önerilen)
  • JavaScript, JSON ve jQuery
  • Sorgu dili için SQL
  • MariaDB/MySQL veritabanı yönetim sistemi olarak

Hedef Gruplar/İşe Alım Modu

Halihazırda var olan geliştirici grupları ve topluluklar aracılığıyla iletişim kurmak istiyoruz, örneğin:

  • Google Geliştirici Grupları
  • Linux Kullanıcı Grupları
  • Mozilla Kulüpleri
  • Üniversiteler/Yükseköğretim Kurumları
  • Serbest Çalışan Geliştiriciler
  • Açık kaynak topluluğunun üyeleri

Kıta Etkinlikleri

  • Hareket için ve Afrikalılar ya da katılımcıların kendileri için yarar sağlayan Wikimedia Kaynakları ile Afrika'daki gerçek sorunları çözme - Bölgesel konferans (2017 sonu)
  • Kadınlar için Sosyal Yardım - Ekim 2017
  • Google Code-In programı - Aralık - Şubat (2017/2018)
  • Capetown'da Wikimania'dan önce, sonra veya çevresinde Hackathon - 2018
  • 2018 dilek listesinde iletilen sorunların bazılarının çözümüne katılmak
  • Google Code of Yazısı - 2018

Programming Sessions on PHP and Python in 2022

Python Programming Track: Led by Ayobami Tewogbade( User: Roybylon)

The Python programming track was an intensive three-month course designed to provide participants with a thorough understanding of Python and its applications. Sessions were held every Friday from 3 PM to 4 PM, offering a blend of theoretical knowledge and practical experience where participants were taken through the Python Essentials course https://pythoninstitute.org/python-essentials-1.

Course Overview

Duration: 3 months

Schedule: Fridays, 15:00 UTC - 16:00 UTC

Week 1-4: Introduction to Python

  • Understanding Python syntax and basic constructs
  • Variables, data types, and basic operations
  • Control structures: loops and conditionals

Week 5-8: Intermediate Python

  • Functions and modularity
  • Error handling and exceptions
  • Working with files and directories

Week 9-12: Advanced Python

  • Introduction to libraries and modules
  • Using popular libraries: NumPy, pandas, and matplotlib
  • Working with APIs and data manipulation

Practical Projects

  • Real-world applications and projects
  • Hands-on coding sessions to apply the concepts learned
  • Collaborative project development

PHP Programming Track: Led by Caleb Nanigah (User:calebbubune)

The PHP programming track was a comprehensive six-month course aimed at equipping participants with the skills needed for dynamic web development using PHP. Sessions were held every Saturday from 3 PM to 5 PM, combining in-depth lessons with practical web development projects.

Course Overview

Duration: 6 months  

Schedule: Saturdays, 15:00 UTC - 17:00 UTC

Monthly Breakdown:

Month 1: Introduction to PHP - 0.1-Introduction to PHP.mov

Month 2: Web Development with PHP

Month 3: Advanced PHP Techniques

Month 4: Building a CRUD Application

  • Designing a database schema
  • Connecting to a database
  • Retrieving, inserting, updating and deleting data
  • Creating a user-friendly interface for the application

Month 5: Advanced Topics

  • Working with APIs
  • Creating and consuming web services
  • Security best practices
  • Deployment of PHP applications

Month 6: Project work

  • Students will work on a project that utilizes the concepts learned throughout the course
  • The facilitator will provide guidance and support as needed
  • Students will present their projects to the class and receive feedback

Both the Python and PHP tracks were designed to build a solid foundation in programming, helping participants become proficient in these languages and apply their skills to Wikimedia projects. We look forward to the innovative contributions these newly trained developers will bring to the community.

Onboarding Session at Goethe Institute: Empowering Wikimedia Contributors

In 2019, we held an onboarding session at the Goethe Institute in Ghana, where participants were trained on essential tools for contributing to Wikimedia developer projects. This session focused on equipping new contributors with the skills and knowledge needed to effectively use Git, GitHub, Gerrit, and Phabricator.

Training Highlights:
  • Git & GitHub: Participants learned the fundamentals of version control using Git and how to collaborate on projects through GitHub. They were guided through the process of forking repositories, making commits, and submitting pull requests.
  • Gerrit: We provided an in-depth introduction to Gerrit, a code review tool that is integral to Wikimedia's development workflow. Attendees gained hands-on experience in reviewing and merging changes, ensuring code quality and collaboration.
  • Phabricator: The session also covered Phabricator, a suite of open-source tools for peer code review, task management, and project planning. Participants learned how to create and manage tasks, track project progress, and collaborate effectively with other developers.

This training was designed to build a solid foundation for new contributors, helping them navigate the technical landscape of Wikimedia projects and become active participants in the Wikimedia developer community. We look forward to seeing the innovative contributions that these newly trained developers will bring to Wikimedia.

Wikimedia Tech Safari Program

Wikimedia Tech Safari Program

The Wikimedia Tech Safari was an immersion program organised to provide practical experience and guidance for participants in the Wikimedia technical community. It was aimed to promote creativity and teamwork through various technical projects, allowing participants to contribute significantly to the Wikimedia digital world. The program emphasized experiential learning, allowing participants to improve their technical proficiency and understand Wikimedia platforms. By participating, individuals contribute to strengthening Wikimedia's technological capabilities and ensuring free knowledge accessibility.

Training Highlights:
  • Charting Your Course with Kiwix Development & Localization: Kiwix is free, open-source software that enables users to access offline content without an internet connection. It supports multiple languages, uses the ZIM file format for storage, and is portable across different operating systems. It also allows users to create an offline library and contributes to the global mission of making knowledge accessible. Users can contribute by searching for educational content on platforms in their local language, translating wiki content to their local language, and contributing to the platform's development. Developers can contribute by improving code, enhancing features, and providing scalability solutions. Graphic designers can also enhance Kiwix's visual content by creating user interfaces, brand elements, and responsive design principles.
  • Building Bridges with Code: Contribute to wikifunctions and Connect the World: wikifunctions is a collaboratively edited catalogue of computer functions to enable the creation, modification, and reuse of source code. It is closely related to Abstract Wikipedia, an extension of Wikidata to create a language-independent version of Wikipedia using its structured data.
  • Tool Forge Pass Deep Dive: What is it? how do you deploy your code on it?

Wikimedia Toolforge is a Wikimedia Foundation-provided hosting environment that enables developers to create and deploy tools and applications for Wikimedia projects. Key features include web hosting, shell access, database access, version control, integration with Wikimedia projects, community collaboration, open-source philosophy, and dynamic resource allocation. Tools developed on Toolforge can be integrated with various Wikimedia projects, promoting collaboration and improving the Wikimedia experience. The platform encourages developers to contribute to the improvement of Wikimedia projects worldwide, reflecting the Wikimedia Foundation's collaborative and open nature.

  • Cut, Craft, Captivate: Building the Future of Wiki Videos with VideoCutTool: VideoCutTool is a revolutionary tool that revolutionizes the way Wiki videos are crafted. It offers cutting-edge editing, allowing users to refine video content with precision. The tool focuses on crafting engaging narratives with creative features like smooth transitions and impactful overlays. It also provides customizable visuals, allowing users to infuse personality into their videos. The user-friendly design ensures accessibility for all, and it fosters collaboration by allowing users to share projects and receive feedback. VideoCutTool is a vision for the future of wiki videos, empowering creators to transcend traditional boundaries and create extraordinary narratives.
  • Akwaaba to Commons for Android: Code the App that Lets Your World Share on Wikimedia:
  • Type, Translate, Transform: Unlock Languages with Scribe's Code Magic: Scribe's Code Magic is a tool that uses the magic of code to unlock the mysteries of languages, transforming the way we interact with them. It allows users to effortlessly type in their native language, break language barriers, and create a linguistic tapestry that transcends borders. This enables users to communicate, create, and code in languages that resonate with their cultural identity, breaking down barriers and fostering a global community. As Scribe continues to weave its code magic, the future holds endless possibilities for digital linguistics, where languages converge, cultures intertwine, and the magic of expression knows no bounds.
  • Cloud Code Conquest: Build the Future of the Wikiverse with Wikimedia Cloud Services: Cloud services offer free hosting tools for users to deploy websites, applications, and projects without incurring costs. Popular options include GitHub Pages, Netlify, Vercel, Heroku, Firebase Hosting, Glitch, Amazon S3, and Microsoft Azure Static Web Apps. GitHub Pages allows users to host static websites directly from their repositories, while Netlify offers continuous deployment, automatic HTTPS, and serverless functions. Vercel is a front-end deployment platform with serverless functions and basic hosting services. Firebase Hosting offers fast, secure hosting with CDN delivery and automatic SSL. Glitch is a collaborative web app hosting platform suitable for projects built with Node.js. Amazon S3 is a scalable storage service for hosting static websites, while Microsoft Azure Static Web Apps integrates with GitHub for seamless deployment.
  • Building Wikifunctions with WikiLambda's Power: Wikifunctions is a collaborative platform within the Wikimedia ecosystem that redefines information curatedness and empowers users to create and share dynamic functions. It is driven by the power of WikiLambda, a powerful programming environment that transcends traditional boundaries. WikiLambda offers a function catalogue, collaborative editing, multilingual capabilities, embedding functions, and an educational impact. The catalogue serves as a repository for users to discover, contribute to, and enhance diverse algorithms. It also supports content creation and consumption in multiple languages, ensuring knowledge is accessible to a global audience. WikiLambda enables users to embed functions directly into Wikimedia projects, enhancing the interactive nature of content. Its user-friendly interface facilitates learning and understanding of programming concepts. Wikifunctions is a transformative force shaping the future of collaborative programming and knowledge sharing.

To read more about The Wikimedia Tech Safari Program, kindly visit the meta page; Wikimedia Tech Safari Program