New Developers/Introduction to the Wikimedia Technical Ecosystem/vi

Trang này cung cấp cái nhìn tổng quan về phần mềm và cơ sở hạ tầng của Wikimedia với công nghệ mới từ cộng tác viên. Mục tiêu của nó là giúp các nhà phát triển hiểu các lĩnh vực chính mà bạn có thể áp dụng các kỹ năng kỹ thuật của mình để giúp hỗ trợ và phát triển Sự thúc đẩy.



Các nguyên tắc cốt lõi và công nghệ


Nguồn mở
Hệ sinh thái kỹ thuật Wikimedia được hướng dẫn bởi các nguyên tắc phần mềm nguồn mở và miễn phí (FLOSS). Những người đóng góp trên khắp thế giới tình nguyện dành thời gian để duy trì và mở rộng công nghệ đằng sau các dự án Wikimedia. Điều này có nghĩa là hệ sinh thái kỹ thuật Wikimedia bao gồm nhiều dự án độc đáo với các nguyên tắc đóng góp, mẫu thiết kế, vị trí lưu trữ và quy trình đánh giá mã khác nhau.

Các giá trị nguồn mở như chia sẻ quyền sở hữu và cam kết bảo mật mạnh mẽ là trọng tâm của Wikimedia với cơ sở hạ tầng kỹ thuật, phần mềm và dịch vụ. Ví dụ:


 * Để kiểm soát phiên bản và đánh giá mã, Wikimedia Foundation (WMF) sử dụng Git và Gerrit. Git là một hệ thống kiểm soát phiên bản phân phối mã nguồn mở và miễn phí, còn Gerrit là một công cụ đánh giá mã cộng tác dựa trên web miễn phí tích hợp với Git.
 * Wikimedia Dịch vụ đám mây(WMCS) cung cấp cơ sở hạ tầng điện toán đám mây, dịch vụ lưu trữ chia sẻ (nền tảng dưới dạng dịch vụ) và dịch vụ dữ liệu cho những người đóng góp cho các dự án phần mềm Wikimedia. Bạn có thể sử dụng miễn phí các dịch vụ này để lưu trữ các công cụ phần mềm cho phong trào Wikimedia, thay vì sử dụng các dịch vụ độc quyền, trả phí hoặc không phải nguồn mở.

Ngoài việc cung cấp các công cụ và dịch vụ cho những người đóng góp kỹ thuật, WMF còn duy trì cốt lõi cơ sở hạ tầng như trung tâm dữ liệu, tìm kiếm, kết nối mạng và định tuyến lưu lượng truy cập toàn cầu. Bạn không cần phải tìm hiểu về những điều đó để đóng góp cho các dự án wiki, nhưng bạn nên biết về phần mềm cốt lõi hỗ trợ Wikipedia và wiki khác: MediaWiki.

MediaWiki
Các dự án Wikimedia, bao gồm Wikipedia, chạy trên nền tảng phần mềm MediaWiki. MediaWiki là phần mềm mã nguồn mở và miễn phí, được xây dựng đặc biệt để thu thập và tổ chức kiến ​​thức mở và miễn phí. Nó đa ngôn ngữ, có thể mở rộng, có thể tùy chỉnh và đáng tin cậy. MediaWiki cho phép người dùng trên toàn thế giới chỉnh sửa, sắp xếp, duy trì và cộng tác trên wiki. Nó quản lý việc hiển thị nội dung như văn bản, hình ảnh, định dạng và sửa đổi. MediaWiki không chỉ là một hệ thống quản lý nội dung: nó còn cung cấp các công cụ để xử lý thư rác và phá hoại cũng như các chức năng khác hỗ trợ cộng đồng quản lý kiến ​​thức có thể tái sử dụng tự do trên nền tảng mở.



Các lĩnh vực chính mà nhà phát triển có thể đóng góp


Phát triển MediaWiki, các ứng dụng, và các mở rộng


MediaWiki Lõi và phần mở rộng
Phần mềm MediaWiki được phát triển với sự cộng tác của mọi người từ khắp nơi trên thế giới. Cộng đồng kỹ thuật Wikimedia đã bổ sung nhiều tính năng chính cho MediaWiki và xây dựng một hệ sinh thái rộng lớn gồm các tiện ích mở rộng cho phần mềm cốt lõi. Do tính phức tạp của nó, việc đóng góp cho MediaWiki có thể khó khăn hơn các loại đóng góp kỹ thuật khác. Với tư cách là người đóng góp mới, hãy tập trung vào các tính năng và lỗi chỉ liên quan đến một vùng mã nhỏ. Tránh xây dựng giao diện và tiện ích mở rộng MediaWiki mới: mỗi tiện ích mở rộng mới sẽ tăng thêm gánh nặng bảo trì tổng thể của phần mềm và có thể chặn việc khởi chạy các tính năng mới, quan trọng. Thay vào đó, hãy xem xét làm việc trên một trong nhiều các mở rộng hiện có.

Để tìm hiểu thêm, hãy ghé thăm.



Wikimedia ứng dụng di động
Các ứng dụng di động mở rộng phạm vi tiếp cận nội dung Wikimedia bằng cách cho phép người dùng tương tác với Wikimedia mà không cần sử dụng trình duyệt. Có các ứng dụng dành cho nền tảng Android, iOS và KaiOS, các ứng dụng dành cho các dự án Wikimedia khác nhau như Commons, Wikipedia và Wiktionary cũng như các ứng dụng dành cho các hoạt động như đọc, đóng góp, v.v. Nhiều ứng dụng có cộng đồng nhà phát triển sôi động và chào đón những người đóng góp mới.

Để tìm hiểu thêm, hãy truy cập.



Tùy chỉnh MediaWiki thông qua phát triển trên wiki


Các mẫu và các mô-đun
Các bản mẫu cho phép một phần nội dung xuất hiện trên nhiều trang wiki ("việc loại trừ"). Nhiều wiki chủ yếu dựa vào các mẫu: có hàng nghìn mẫu, chúng được sử dụng trên hầu hết mọi trang và chúng không thể thiếu đối với chức năng của wiki. Bạn có thể chuyển tham số tới mẫu để tùy chỉnh cách xử lý nội dung trong các ngữ cảnh khác nhau.

Bạn không cần có tài khoản nhà phát triển để chỉnh sửa hoặc tạo mẫu và chúng được viết bằng wikitext. Điều đó làm cho mẫu trở thành một cách dễ dàng để bắt đầu tùy chỉnh hành vi wiki.

Mô-đun tương tự như các mẫu, nhưng thay vì được viết bằng wikitext, chúng sử dụng ngôn ngữ lập trình Lua. Mặc dù các mẫu là một phần của ứng dụng MediaWiki cốt lõi, việc hỗ trợ các mô-đun được triển khai bởi một tiện ích mở rộng có tên.

Để tìm hiểu thêm về các mẫu, hãy truy cập. Để tìm hiểu thêm về các mô-đun và cách Lua được sử dụng trên MediaWiki, hãy truy cập Scribunto Lua manual.



Tập lệnh và tiện ích người dùng
MediaWiki hỗ trợ tùy chỉnh giao diện người dùng hoặc phát triển "trên wiki" để nâng cao chức năng cốt lõi của phần mềm. Kịch bản người dùng là JavaScript và/hoặc CSS cung cấp các tính năng bổ sung trên MediaWiki. Mã tồn tại trên wiki và được đưa vào từ phía máy khách trên MediaWiki thông qua tùy chọn của người dùng. Bạn có thể sửa đổi JavaScript và CSS cục bộ của mình để thay đổi giao diện và hoạt động của giao diện của riêng bạn. Người dùng cá nhân có thể thêm các tính năng cho chính mình miễn là họ tuân theo những mong đợi và hướng dẫn xung quanh việc thực hiện điều đó. Nếu bạn xây dựng thứ gì đó mà người khác có thể sử dụng, bạn có thể chia sẻ tập lệnh của mình một cách không chính thức hoặc làm việc với cộng đồng wiki để điều tra việc cung cấp các tùy chỉnh của bạn cho người dùng và dự án khác dưới dạng "tiện ích".

Tiện ích là các tùy chỉnh do người dùng tạo có sẵn để cài đặt trên wiki, thông qua tiện ích mở rộng Gadgets MediaWiki. Nhiều tiện ích có nguồn gốc là tập lệnh người dùng được sử dụng rộng rãi trên wiki tại nhà của họ và quản trị viên muốn giúp mọi người tìm thấy và sử dụng chúng dễ dàng hơn. Quản trị viên có thể định cấu hình những tiện ích nào có sẵn và được bật theo mặc định cho toàn bộ trang web hoặc giao diện MediaWiki.

Để tìm hiểu thêm về tập lệnh người dùng và tiện ích, hãy truy cập .



Xây dựng các công cụ và bot để hỗ trợ các dự án Wikimedia
MediaWiki API cung cấp quyền truy cập trực tiếp vào dữ liệu có trong cơ sở dữ liệu MediaWiki. Điều này bao gồm nội dung wiki, siêu dữ liệu, dữ liệu phân tích, v.v. Bạn có thể sử dụng các API này để xây dựng các ứng dụng đóng góp nội dung hoặc chức năng mới cho hệ sinh thái Wikimedia. Các mô-đun API cung cấp quyền truy cập theo chương trình vào nhiều chức năng tương tự được cung cấp bởi giao diện web MediaWiki.

Bots
Bots là các chương trình tự động trợ giúp các dự án wiki bằng cách thực hiện các nhiệm vụ quan trọng nhưng lặp đi lặp lại. Bot tiết kiệm công sức của con người bằng cách sửa các khoảng trống bị thiếu hoặc thừa, đề xuất bài viết cho người mới, sửa các liên kết bị hỏng, v.v. Tự động hóa bot hỗ trợ các tình nguyện viên của Wikimedia bằng cách cho phép họ dành nhiều thời gian hơn cho các nhiệm vụ đòi hỏi trí thông minh của con người, như viết bài, tìm nguồn, kiểm tra thực tế và tổng hợp nhiều quan điểm.

Bot có thể yêu cầu các trang và gửi các chỉnh sửa lên wiki giống như cách người dùng thực hiện các tác vụ tương tự trong trình duyệt web. Vì bot truy cập các trang theo cách giống như con người nên chúng có thể gặp phải xung đột khi chỉnh sửa, hết thời gian chờ trang hoặc gặp phải các sự cố không mong muốn khác khi yêu cầu trang hoặc thực hiện chỉnh sửa. Vì bot thường hoàn thành khối lượng công việc lớn nên bạn nên cân nhắc những tình huống này khi viết bot.

To learn more about bots, visit.

Tools
Tools are software applications that help people working on Wikimedia projects. Tools can do all kinds of tasks, like help editors discover content to improve, simplify edit-a-thon planning, visualise wiki content, help fight vandalism, and much more.

The MediaWiki Action API gives you programmatic access to content on any Wikimedia wiki. You can use the Action API to search and display wiki pages, get media files, edit pages, and manage wikis. Client libraries implementing the MediaWiki API are available in many languages, including Python and JavaScript.

To explore more Wikimedia tools, visit Toolhub. Or, learn about hosting your tools and bots for free on Toolforge.

Join the Wikimedia tech community
A great way to find ways to contribute is to get connected to the technical community. You can meet people and discuss development work on various communication channels and at events like Hackathons. The Wikimedia Foundation also offers outreach programs to mentor new developers.

Get started as a new contributor

 * Visit the New Developers page to learn more about getting started with development and contributing to Wikimedia open source.
 * Use the Developer Portal to find curated resources and tutorials for your area of interest.