Rozszerzenie:Zatwierdzane Wersje (Approved Revs)

From mediawiki.org
This page is a translated version of the page Extension:Approved Revs and the translation is 99% complete.
Podręcznik rozszerzeń MediaWiki
Approved Revs
Status wydania: stabilne
Realizacja Hak
Opis Pozwala administratorom oznaczyć pewną wersję strony jako "zatwierdzoną".
Autor(zy) Yaron Koren <yaron57@gmail.com> and others
Ostatnia wersja 2.0 (luty 2024)
Polityka zgodności Master maintains backward compatibility.
MediaWiki 1.37+
Zmiany w bazie danych Tak
Composer mediawiki/approved-revs
Tabele approved_revs
approved_revs_files
Licencja GNU General Public License 2.0 or later
Pobieranie
  • $egApprovedRevsBlankIfUnapproved
  • $egApprovedRevsEnabledNamespaces
  • $egApprovedRevsAutomaticApprovals
  • $egApprovedRevsFileAutomaticApprovals
  • $egApprovedRevsShowNotApprovedMessage
  • $egApprovedRevsBlankFileIfUnapproved
  • $egApprovedRevsSelfOwnedNamespaces
  • $egApprovedRevsShowApproveLatest

  • viewlinktolatest
  • approverevisions
  • viewapprover
Przetłumacz rozszerzenie Approved Revs jeżeli jest dostępne na translatewiki.net
Problemy Otwarte zadania · Zgłoś błąd

Zatwierdzone wersje to rozszerzenie, które pozwala administratorom oznaczyć określoną wersję strony jako "zatwierdzoną". Zatwierdzoną wersją strony jest wersja wyświetlana użytkownikom w jej głównym adresie URL.

Nawet jeśli wersja zostanie zatwierdzona, większość rozszerzeń, które odzyskają treść stron, nadal otrzyma ostatnią wersję, a nie zatwierdzoną (jeśli te dwa są różne). Rozszerzenia, które pobierają określone "dane" ze stron, takie jak Cargo , Semantic MediaWiki i DynamicPageList , na szczęście wyświetlają prawidłowe (tj. zatwierdzone) dane.

Pobieranie

Możesz pobrać kod rozszszerzenia 'Approved Revs' w formie .zip, tutaj.

Możesz również pobrać kod bezpośrednio za pośrednictwem Git z repozytorium kodu źródłowego MediaWiki. Z linii poleceń możesz wywołać następujące polecenie:

git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/ApprovedRevs.git

Aby zobaczyć kod w sieci, w tym historię wersji każdego pliku, przejdź do phab:diffusion/EARE/browse/master/.

Instalacja

Aby zainstalować tę rozszerzenie, utwórz katalog 'ApprovedRevs' (czy to wyciągnięcie skompresowanego pliku, czy pobranie za pomocą Git) i umieść ten katalog w głównym katalogu MediaWiki 'extensions'. Następnie w pliku 'LocalSettings.php', dodaj następujący wiersz:

wfLoadExtension( 'ApprovedRevs' );

Do tego rozszerzenia trzeba zainstalować dwa tabele bazy danych: "approved_revs" i "approved_revs_files". Możesz to zrobić w jeden z dwóch sposobów: albo uruchomić skrypt "update.php " w katalogu MediaWiki /maintenance, albo wywołać SQL bezpośrednio w bazie danych - możesz go znaleźć w plikach ApprovedRevs.sql i ApprovedFiles.sql, zarówno znajdujących się w katalogu /sql rozszerzenia.

Na koniec, istnieją następujące prawa użytkownika zdefiniowane dla zatwierdzonych wersji:

  • 'approverevisions' - Pozwolenie na zatwierdzenie i odmowę zatwierdzenia zmian stron. Domyślnie jest ona udzielona wszystkim członkom grupy "sysop".
  • 'viewlinktolatest' - Pozwolenie na widzenie notatki na górze stron, które mają zatwierdzoną zmianę, wyjaśniając, że to, co widzi użytkownik, niekoniecznie jest najnowszą zmianą. Domyślnie jest ona udzielona wszystkim (tj. "*").
  • 'viewapprover' - Pozwolenie na widzenie kolejnej notatki na górze stron, które mają zatwierdzoną zmianę, stwierdzając, kto ostatnio ją zatwierdził. Domyślnie jest ono udzielone wszystkim członkom grupy "sysop".

Możesz modyfikować zestaw użytkowników, którzy mają takie uprawnienia. Na przykład, aby link "przejrzyj najnowsze rewizje" pojawił się tylko dla administratorów, można dodać następujące, poniżej zawartości zatwierdzonych przeglądów:

$wgGroupPermissions['*']['viewlinktolatest'] = false;
$wgGroupPermissions['sysop']['viewlinktolatest'] = true;

Autorzy

Approved Revs został napisany przez Yaron Koren. Ważny wkład w kod programu został również wprowadzony przez Raimonda Spekkinga, Siebranda Mazelanda, Jeroena De Dauw, Eli Handel, Andrew Engelbrecht, hashara, Anomie, Marka Hershbergera, Flo, Addshore, Jamesa Montalvo, Fodaga, Kris Field i innych.

Użycie

Strona historii, z linkami "aprobuj", plus gwiazdka i link "nieaprobuj" do zatwierdzonej rewizji

Po zainstalowaniu rozszerzenia każdy posiadający pozwolenie "approverevisions" zobaczy link, który czyta " (aprobuje) " na każdym wierszu strony historii strony. Kliknięcie tego linku ustawi dany przegląd jako zatwierdzony. Jeśli następnie wrócisz na stronę historii, zobaczysz połączenie "zaaprobować" obok każdej innej rewizji, wraz z połączeniem "nie zatwierdzić" dla zatwierdzonej rewizji;

wiersz zatwierdzonej rewizji będzie również miał gwiazdę obok.

Kliknięcie przycisku "zatwierdź" dla każdej innej wersji spowoduje ponowne ustawienie zatwierdzenia tej wersji; Kliknięcie przycisku "Anuluj zatwierdzenie" oznacza, że nie będzie już zatwierdzonej wersji dla tej strony.

Użytkownicy bez uprawnienia "approverevisions" nie zobaczą nic specjalnego na stronie historii, poza ikoną gwiazdki na wierszu zatwierdzonej wersji.

Jeśli użytkownik posiadający uprawnienie'approverevisions' dokona edycji na stronie, która ma już zatwierdzoną wersję, ta edycja, czyli najnowsza wersja strony, automatycznie zostanie oznaczona jako zatwierdzona. Natomiast jeśli strona nie ma zatwierdzonej rewizji (to oczywiście obejmuje nowe strony), automatyczne zatwierdzenia nie będą stosowane. Jednym wyjątkiem jest to, że $egApprovedRevsBlankIfUnapproved jest ustawiony na true dla wiki; jeśli tak, każda edycja przez approverevisions użytkownika do nie zatwierdzonej strony również automatycznie zostanie zatwierdzona, co spowoduje, że strona nie będzie pusta.

Możesz wyeliminować automatyczne zatwierdzenia, wymagając w ten sposób, aby każde zatwierdzenie było wykonywane ręcznie, dodając poniżej LocalSettings.php wpisane w zatwierdzone rewizje:

$egApprovedRevsAutomaticApprovals = false;

Podobna logika ma zastosowanie do nowych wersji plików. Te automatyczne zatwierdzenia mogą być również automatycznie wyłączone następującym linią:

$egApprovedRevsFileAutomaticApprovals = false;

Odwrotnie, jeśli ustawisz "$egApprovedRevsBlankIfUnapproved" lub "$egApprovedRevsBlankFileIfUnapproved" na 'true'w LocalSettings.php (patrz poniżej), każda edycja stron i/lub plików dokonana przez użytkownika z uprawnieniem "approverevisions" zostaje zatwierdzona - nawet edycje stron/plików, które nie mają zatwierdzonej rewizji.

Wpisy do "aprobaty" są przechowywane w dzienniku "aprobata", ale akceptacje, które są automatyczne, ponieważ ktoś z uprawnieniem do zatwierdzenia edytuje stronę, nie są.

Special:ApprovedRevs page

Approved Revs określa specjalną stronę, "Special:ApprovedRevs" która pokazuje cztery oddzielne listy:

  • strony, których zatwierdzona rewizja nie jest ich ostatnią
  • wszystkie strony z zatwierdzoną rewizją
  • "strony nie zatwierdzone" (wszystkie strony bez zatwierdzonej rewizji)
  • strony o nieważnych zatwierdzeniach (np. strony w przestrzeni nazw, która była wcześniej zatwierdzona, ale teraz już nie jest).

W trzeciej liście stron, które nie zostały zatwierdzone, można opcjonalnie załączyć link do każdej strony, aby oznaczyć ostatnią wersję tej strony jako zatwierdzoną. Aby załączyć takie linki, dodaj następujące do LocalSettings.php:

$egApprovedRevsShowApproveLatest = true;

Przechowywanie informacji o homologacji

Informacje o zatwierdzeniu - kto je wydał i kiedy - są przechowywane w dzienniku "Zatwierdzenia rewizji", który można zobaczyć na stronie Special:Log. Ostatnie zatwierdzenia są również wyświetlane w Special:RecentChanges.

Wyświetlanie niezatwierdzonych stron jako pustych

Jeśli chcesz, strony, które nie mają zatwierdzonej rewizji, mogą pojawiać się jako puste - użytkownicy będą nadal mogli zobaczyć wszystkie rewizje, jeśli klikną na zakładkę "historia", ale głównym wyświetleniem będzie pusta strona. Aby to zrobić, po prostu dodać następujący wiersz do LocalSettings.php, gdziekolwiek po włączeniu Approved Revs:

$egApprovedRevsBlankIfUnapproved = true;

Podobnie można ustawić pliki bez zatwierdzonej wersji, aby nie pojawiały się w innych stronach, dodając następujący wiersz:

$egApprovedRevsBlankFileIfUnapproved = true;

Wykazywanie niezatwierdzonych stron

Domyślnie strony bez zatwierdzonej rewizji po prostu pojawiają się normalnie, bez wskazania ich statusu. Na górze tej strony można wyświetlić wiadomość: "To ostatnia wersja tej strony, nie ma ona zatwierdzonej wersji".

$egApprovedRevsShowNotApprovedMessage = true;

Ustawianie stron jako możliwych do zatwierdzania

Niektóre strony wiki mogą mieć swoje rewizje zatwierdzane, podczas gdy inne nie; jest to określone w jeden z trzech sposobów.

Ustawianie wszystkich stron w przestrzeni nazw jako możliwych do zatwierdzenia

Istnieje globalna zmienna, $egApprovedRevsEnabledNamespaces, która określa, które przestrzenie nazw obsługiwane są przez rozszerzenie. Ta zmienna jest tablicą i domyślnie zawiera sześć przestrzeni nazw: NS_MAIN (definiowany jako 0, główna przestrzenie nazw), NS_USER (2, strony użytkowników), NS_FILE (6, plików), NS_TEMPLATE (10, szablonów), NS_HELP (12, strony pomocy) i NS_PROJECT (4, przestrzenie nazw projektu, która zazwyczaj ma taką samą nazwę jak wiki). Możesz dodać dodatkowe przestrzenie nazw do tego zestawu - po włączeniu Approved Revs w LocalSettings.php, dodać coś takiego jak:

$egApprovedRevsEnabledNamespaces[NS_USER_TALK] = true;

Nie zaleca się dodawania przestrzeni nazw 'Kategorii' lub 'MediaWiki' do tego zestawu, ponieważ ze względu na ich specjalną implementację w MediaWiki zatwierdzenia nie będą działać prawidłowo na tych stronach.

Aby usunąć domyślne przestrzenie nazw jako zatwierdzane, należy ustawić ich wartość na false. Na przykład, aby ustawić pliki jako niezatwierdzane, dodaj następujące informacje:

$egApprovedRevsEnabledNamespaces[NS_FILE] = false;

Umożliwianie zatwierdzania stron za pomocą #approvable_by

Approved Revs definuje funkcję #approvable_by parser, która pozwala zdefiniować pewne strony jako zatwierdzane przez niektórych użytkowników i grupy. Na przykład następujące wywołanie pozwoliłoby użytkownikowi Alice Jones, a także użytkownikom z grup Biurokratów i Sysop, zatwierdzić stronę, na której zostało wywołane:

{{#approvable_by: users = Alice Jones | groups = bureaucrat,sysop }}

Zauważ, że jeśli użytkownik, który ma prawo do edytowania strony dzięki tej funkcji parsera, zatwierdzi wersję przed dodaniem tej funkcji, to straci możliwość dokonywania jakichkolwiek innych zatwierdzeń (ponieważ zatwierdzona wersja nie zawiera tego wywołania), dopóki administrator nie wejdzie i nie cofnie jego działania.

Ustawianie stron zatwierdzalnych za pomocą słowa kluczowego

Poszczególne strony, które nie znajdują się w jednej z określonych przestrzeni nazw, można również zatwierdzić, dodając __APPROVEDREVS__ słowo kluczowe w dowolnym miejscu na stronie. Zaleca się dodawanie słowa kluczowego do stron za pomocą szablonu. Jeśli __APPROVEDREVS__ zostanie dodany bezpośrednio do strony, należy uważać, aby nie zatwierdzić rewizji strony przed dodaniem tej wierszy; może to prowadzić do nieoczekiwanego zachowania.

Zezwalanie użytkownikom niebędącym administratorami na "posiadanie" stron

Czasami pomocne jest, aby pozwalać osobom bez ogólnej zgody "approverevisions" zatwierdzić zmiany określonych stron - innymi słowy, być 'właścicielami' pewnych stron. Przykładem jest oczywiste strony użytkowników - ma sens umożliwić każdemu użytkownikowi zatwierdzenie zmian na swoich stronach użytkowniczych. W przypadku przestrzeni nazw innych niż "User", można wybrać, aby użytkownik, który pierwotnie stworzył jakąkolwiek stronę w tej przestrzeni nazw, został wyznaczony jako właściciel strony, który następnie posiada uprawnienie na zatwierdzenie zmian ba tej stronie.

Aby mieć taki rodzaj "własności" dla konkretnej przestrzeni nazw, musisz dodać tą przestrzeń nazw do zmiennej $egApprovedRevsSelfOwnedNamespaces. Aby umożliwić użytkownikom bycie "właścicielami", tj. być w stanie zatwierdzić strony w przestrzeni głównej i użytkowników, na przykład, należy dodać następujące treści do LocalSettings.php:

$egApprovedRevsSelfOwnedNamespaces = array( NS_MAIN, NS_USER );

Przestrzeń nazw musi należeć do $egApprovedRevsEnabledNamespaces zanim może zostać dodana do $egApprovedRevsSelfOwnedNamespaces.

Wyświetlanie informacji o zatwierdzeniu

Approved Revs definiuje pięć "słów kluczowych", które mogą być używane do wyświetlania informacji o zatwierdzeniu określonej strony (lub pliku). Są to:

  • APPROVALYEAR - rok, w którym strona została ostatnio zatwierdzona
  • APPROVALMONTH - miesiąc, w którym strona została ostatnio zatwierdzona
  • APPROVALDAY - dzień miesiąca, w którym strona została ostatnio zatwierdzona
  • APPROVALTIMESTAMP - pełny stempel daty/czasu, w którym strona została ostatnio zatwierdzona
  • APPROVALUSER - użytkownik, który ostatnio zatwierdził stronę.

Wszystkie pięć może być po prostu wywołane samodzielnie (wtedy zwrócą informacje na stronie, na której znajduje się wywołanie), lub powołane z nazwą strony przekazanej (wtedy zwróci te informacje na określonej stronie). Na przykład na stronie "Strona główna" połączenie {{APPROVALYEAR}} wyświetla rok, w którym strona "Strona główna" została ostatnio zatwierdzona, podczas gdy połączenie {{APPROVALYEAR:Employees list}} wyświetla rok, w jakim strona "Lista pracowników" została ostatnie zatwierdzona.

Jeśli któreś z tych słów kluczowych zostanie użyte na stronie, która nie ma zatwierdzonej zmiany, lub na stronie, której nie ma - to po prostu nie będzie wyświetlone nic.

Pierwsze cztery z tych słów kluczowych można również wywoływać w stosunku do plików; ostatnie, APPROVALUSER, niestety nie zadziała.

Należy pamiętać, że jeśli zaczęłeś używać Approved Revs przed wersją 1.4, pierwsze cztery słowa kluczowe, które mają związek z czasem, w którym dokonano rewizji, najprawdopodobniej wyświetlą puste miejsce na każdej stronie, której rewizja została zatwierdzona, podczas gdy Approved Revs był nadal na starszej wersji.

API

Approved Revs definuje działanie API, "approve", które pozwala lub zatwierdzić lub (jeśli dodany jest dodatkowy parametr "unapprove") odmówić zatwierdzenia jakichkolwiek zmian za pośrednictwem MediaWiki API. Zobacz tutaj dla wyjaśnienia składni dla tego API.

Oznaczanie wszystkich stron jako zatwierdzonych

W przypadku stron, które nie mają jeszcze zatwierdzonej wersji, możesz automatycznie zatwierdzić ich ostatnią zmianę, aby szybko zainicjować ich treść. W tym celu można użyć skryptu wiersza polecenia 'ApprovedRevs/maintenance/approveAllPages.php'. Ten skrypt zatwierdza ostatnią wersję wszystkich stron, które mogą być zatwierdzone, ale nie mają zatwierdzonej wersji. (Skrypt ma różne opcjonalne flagi, w tym jedną, która pozwala również obsługiwać strony, które już mają zatwierdzoną wersję.)

Zatwierdzanie plików

Wybieranie wersji pliku do zatwierdzenia

Możesz również zatwierdzić zmiany w dokumentach z Approved Revs. Należy zauważyć, że można zatwierdzić jedynie zmiany w rzeczywistym pliku, a nie zmiany w tekście wikitekst opisowej strony pliku. W związku z tym zatwierdzenie plików nie jest wykonywane poprzez kliknięcie linku "przeglądanie historii" w górnej prawej części strony opisowej pliku. Zamiast tego przewiń się do sekcji "Historia plików" w pobliżu dolnej części strony opisowej plików i kliknij "aprobuj"/ "approve" po prawej stronie tabeli historii plików.

Kiedy obraz jest wstawiany na innych stronach, to do wstawienia użyta jest jego wersja zatwierdzona. W przypadku wstawania łączy do plików nie będących obrazkami (np. PDF), wszelkie linki bezpośrednio do pliku będą pokazywać zatwierdzoną wersję pliku, a nie najnowszą - ostatnio wczytaną.

Podobnie jak w przypadku skryptu approveAllPages.php istnieje inny skrypt, approveAllFiles.php, który jest przeznaczony specjalnie do zatwierdzenia plików.

Historia wersji

Approved Revs jest obecnie w wersji 2.0. Zobacz całą historię wersji.

Znane problemy

  • Approved Revs nie działa dla anonimowych użytkowników z rozszerzeniem AccessControl - zatwierdzenie rewizji prowadzi do błędu "Deny_action", ponieważ ci użytkownicy nie mają dostępu do historii.

Możliwości pomagania w projekcie

Błędy i prośby o rozbudowę

Send any bug reports and requests to Yaron Koren (yaron57@gmail.com).

Dodawanie poprawek do projektu

Jeśli znalazłeś jakiś błąd i go naprawiłeś, lub jeśli napisałeś kod dla nowej funkcji, proszę albo wykonaj Git commit dla niego, albo utwórz patch, przechodząc do katalogu "ApprovedRevs" i wykonaj polecenie:

git diff > descriptivename.patch

Jeśli stworzysz patch, proszę wyślij go z opisem do Yaron Koren.

Tłumaczenie

Tłumaczenie Approved Revs jest wykonywane przez translatewiki.net. Tłumaczenie tego rozszerzenia można znaleźć tutaj: https://translatewiki.net/w/?title=Special:Translate&group=ext-approvedrevs. Aby dodać wartości językowe lub zmienić istniejące, należy utworzyć konto na translatewiki.net, a następnie poprosić administratorów o pozwolenie na przetłumaczenie określonego języka lub języków na tej stronie (jest to bardzo prosty proces). Gdy masz pozwolenie na dany język, możesz się zalogować i dodać lub edytować dowolne komunikaty w tym języku.

Zobacz też