Fandom Developers Wiki
Advertisement

RecentChangesMultiple to narzędzie zaprojektowane do monitorowania wielu wiki naraz, dające możliwość posiadania jednego miejsca do przeglądania wszystkich edycji. Skrypt został zaprojektowany tak, by naśladować standardowe ostatnie zmiany jak najlepiej, ale istnieje w nim dużo drobnych zmian (zobacz Uwagi poniżej).

Narzędzie to zostało zaprojektowane głównie z myślą o Fandomowych wiki, ale powinno działać dla każdej wiki działającej na bazie kodu MediaWiki. W przypadku problemów z wiki nie-fandomowymi, kliknij tutaj.

Skrypt ten można znaleźć na GitHubie, wraz z dziennkiem zmian.

Instalacja[]

Używanie[]

Wszystko, co tak naprawdę jest potrzebne po instalacji skryptu, to div z class "rc-content-multiple" i lista z linkami do domen wiki (div trzeba dodać poprzez edytor źródłowy). Duplikaty są ignorowane. Przykład:

<div class="rc-content-multiple">
*https://runescape.fandom.com/fr/
*wowpedia.fandom.com
*https://dev.fandom.com &bgcolor=green
</div>

Podstawowe funkcje[]

Chociaż nie jest to część Specjalna:Ostatnie zmiany, posiada domyślnie kilka dodatkowych funkcji.

  • AjaxRC: Inspirowane AjaxRC; istnieje opcja "auto-odświeżania", która po zaznaczeniu sprawia, że lista jest odświeżana co 60 sekund. Ciasteczka są przechowywane w celu zachowania wybranej opcji po jednokrotnym wybraniu jej.
    • Opcjonalne powiadomienia: Przy włączeniu wyświetli się prośba o aktywowanie powiadomień HTML5 (opcjonalne), dzięki czemu możliwe jest informowanie ciebie o aktualizacjach, kiedy nie patrzysz aktualnie na okno/zakładkę z logami. Aby wyłączyć powiadomienia, kliknij ikonę koła zębatego na powiadomieniu.
  • RecentChangesMultiple AjaxDiff icon AjaxDiff: Inspirowane AjaxDiff / LastEdited; można przeglądać "różn." poszczególnych zmian bez przełączania stron, poprzez kliknięcie ikony na prawo od linków "różn."/"poprz"/"zmiany".
  • RecentChangesMultiple AjaxGallery icon AjaxGallery: klikając ikonę obrazu obok zmian w plikach (dodawanie plików, edycja strony z plikami), można podejrzeć obraz, z którym powiązana jest edycja. W przypadku dodawania wielu plików, można przejrzeć galerię wszystkich obrazów na liście.
  • RecentChangesMultiple AjaxPagePreview icon AjaxPagePreview: Pozwala na przeglądanie strony bez opuszczania obecnej strony.
    • Uwaga: Ta funkcja jest niekompletna. Wiele plików CSS i JS nie działa w tym podglądzie. Teraz podgląd używa wyłącznie CSS z danej wiki, aby wyświetlać strony. Na przeglądarkach umożliwiających edytowanie shadow dom (na przykład Chrome) lub kaskadowe arkusze stylów (Firefox) dodawane jest domyślne CSS z wiki (Common.css) a także JS (dla shadow dom), ale to nie wszystko. Mimo wszystko, funkcja jest dobra do przeglądania wiadomości w komentarzach, tablicach wiadomości i stronach dyskusji użytkowników, ale artykuły mogą wyświetlać się inaczej, niż w rzeczywistości i wyglądać na zepsute.
  • Discussions: Inspirowane DiscussionsFeed; Dzięki temu widać dyskusje w skrypcie. Patrz poniżej, żeby przeczytać o różnych ograniczeniach.
  • SocialActivity: Zawartość znaleziona na Special:SocialActivity jest również domyślnie uwzględniana na liście.
  • Abuse Logs: Jeśli wiki na liście ma włączone rozszerzenie AbuseFilter, pojawi się opcja filtrowania logów nadużyć.
  • Wiki Link Panel: Ułatwia nawigowanie do konkretnych wiki na liście. Kliknięcie na favicon na liście załadowanych wiki na górze skryptu / po lewej stronie skryptu pozwoli na przeglądanie zwykłych stron na konkretnej wiki, a także statystyk na wiki. Jeżeli jest tam tylko jedna wiki, ten panel otwiera się domyślnie.
  • Multiple instances: Na tej samej stronie można uruchomić wiele instancji ("zbiorników").
    • W tym te w obrębie tabberów.
    • Można ustawić to tak, by jedna instancja załadowywała tylko 1 wiki, co pozwala na bardziej typowy design ostatnich zmian, który nadal umożliwia przeglądanie wielu wiki na 1 stronie. Można także odświeżyć wszystkie instancje używając opcji rcm-refresh-all.
    • Należy pamiętać, że niektóre z dodatkowych parametrów wymienionych poniżej są sprawdzane tylko w pierwszej instancji i wpływa to na wszystkie na stronie (data-lang, data-hiderail, data-loaddelay, data-timezone).

Dodatkowe parametry[]

Wszystkie powyższe parametry działają i może to być wszystko, czego potrzebujesz. Jednakże, jest więcej parametrów, które można dodać na 3 sposoby: jeden, który wpływa na każdy RCM, jeden, który wpływa na każdą wiki na danej liście RCM i jeden, który wpływa na daną wiki.

Zmienne URL[]

Wpływa na każdy RCM na stronie. Obecnie wszystkie akceptowane zmienne url to te, których używa standardowa strona ostatnich zmian. Zobacz więcej o parametrach ostatnich zmian. https://yourwiki.fandom.com/wiki/RecentChangesMultiplePage?hidemyself=1&days=7

Zbiór danych[]

Wpływa na każdą z wiki / skrypt jako całość dla pojedynczej instancji.

Te oznaczone jako [Globalne] są sprawdzane tylko w pierwszym wystąpieniu i są używane dla wszystkich innych wystąpień. Uwaga: Jeśli edytujesz parametry globalne w edytorze UCP, zmiany nie pojawią się, dopóki nie odświeżysz strony.

Nazwa Wartość oczekiwana Domyślnie Opis
data-params= Parametry ostatnich zmian - url - Dokładne parametry, które mogłyby być w użyciu na Specjalna:Ostatnie zmiany, bez "?" po tytule (np. hidemyself=1&days=10&limit=50). Zobacz więcej o parametrach ostatnich zmian.
data-hideusers= Lista oddzielona przecinkami - Lista użytkowników, których edycje chcesz ukryć dla wszystkich wiki, oddzielonych przecinkami. Nie wpisuj "Użytkownik:" i stawiaj spację przed/po przecinkach (wymagane są spacje lub podkreślniki w nazwach użytkownika).
data-timezone= Ciąg znaków utc [Globalne] Domyślnie pokazuje daty w UTC. Jeżeli ten atrybut zostanie ustawiony na "lokalny", czas będzie się wyświetlał w lokalnym czasie ustawionym w przeglądarce.
data-timeformat= Ciąg znaków 24 [Global] By default this script lists times in 24 hour format. If this attribute is set to "12" then times are listed in 12 hour AM/PM format.
data-autorefresh= Pełna liczba 60 Liczba sekund, która określa co ile włącza się auto-odświeżanie (auto-refresh) (autoodświeżanie włącza się zaznaczając pole wyboru). Można wprowadzić jakąkolwiek liczbę wyższą, niż 0. Należy pamiętać,, że czas zaczyna się po tym, jak odświeżanie się całkowicie skończyło i wszystkie wyniki zostały wyświetlone.
data-autorefresh-evenOnFocus= Wartość logiczna true Kiedy auto-odświeżanie (auto-refresh) jest włączone, domyślnie odświeża ono skrypt nawet wtedy, kiedy masz otwartą stronę i klikasz / czytasz coś. To może być irytujące. Ta opcja (ustawiona na false) pozwoli na to, by skrypt nie odświeżał, jeżeli skupiasz się na stronie (jest ona ostatnim klikniętym oknem lub zakładką).
data-notifications-hideusers= Lista oddzielona przecinkami - Lista użytkowników, dla których nie chcesz powiadomień z auto-odświeżania, kiedy zrobią edycję, oddzielonych przecinkami. Nie wpisuj "Użytkownik:" i stawiaj spację przed/po przecinkach (wymagane są spacje lub podkreślniki w nazwach użytkownika).
data-discussions-enabled= Wartość logiczna lub lista oddzielona przecinkami true Tworzy listę dyskusji Fandomu dla każdej z wiki. Ustaw jako false, by wyłączyć lub użyj listy oddzielonej przecinkami by zdefiniować jakie rodzaje aktywności Cię interesują: FORUM (Dyskusje), WALL i/lub ARTICLE_COMMENT (nadpisuje to wybrana w panelu opcja). Zobacz dyskusje.
data-abuselogs-enabled= Wartość logiczna false Ustaw na true, aby włączyć. Należy pamiętać, że dzienniki nadużyć są "oddzielone" od typowych dzienników (podobnie jak dyskusje), chociaż nie wymaga to dodatkowego wywołania interfejsu API (zamiast tego początkowe wywołanie interfejsu API zwraca więcej wartości tylko dla dzienników nadużyć).
Pokaż/Ukryj opcje zaawansowane (niepotrzebne dla większości osób)
Opcje zaawansowane
Nazwa Wartość oczekiwana Domyślnie Opis
data-lang= Kod kraju auto-detect To jest język używany podczas tłumaczenia tekstu w skrypcie. Domyślnie, skrypt używa języka ustawionego w ustawieniach użytkownika (lub wiki, w przypadku IP, nie konta) aby wyświetlać dany język, lub "en" jeżeli skrypt nie ma wersji w danym języku (oprócz tekstu ostatnich zmian, który jest pobierany bezpośrednio z serwera i powinien zawsze być wspierany). Jeśli język nie jest wspierany, a nie chcesz używać języka angielskiego, należy wpisać odpowiedni dwuliterowy kod ("fr", "pl", itd.).
data-onlyshowusers= Lista oddzielona przecinkami - Jeżeli istnieje lista użytkowników, to ten skrypt pokaże tylko edycje dokonane przez tych użytkownników, ukrywając pozostałe edycje. "hideusers" ma pierwszeństwo. Nie wpisuj "Użytkownik:" i stawiaj spację przed/po przecinkach (wymagane są spacje lub podkreślniki w nazwach użytkownika).
data-ajaxlinks= Wartość logiczna false Ustaw na true aby włączyć. Kiedy jest włączone, różne linki będą zachowywać się tak samo (przy kliknięciu), jak ich odpowiednik w formie ikony: "różn." i "zmiany" będą otwierały różnice ajax, a "przesłane" i nazwy plików (kiedy nie są w logach i są stroną, którą zmieniono) otwierają galerię ajax.
data-hiderail= Wartość logiczna true [Globalne] Domyślnie jakakolwiek strona zawierająca div ".rc-content-multiple" ma schowany prawy moduł (więc zapełnia całą stronę, jak normalne ostatnie zmiany). Ten parametr to cofa, jeżeli użytkownik tego chce i ustawi parametr na false.
data-autorefresh-enabled= Wartość logiczna false Jeżeli nie ma ciasteczka, to ten parametr kontroluje czy auto-odświeżanie jest włączone domyślnie. Ustawienie go na true włączy auto-odświeżanie domyślne.
data-loaddelay= Liczba 10 [Globalne] Czas (w milisekundach), który upływa między ładowaniem wiki. Potrzeba zwiększenia tego czasu istnieje tylko wtedy, kiedy ładuje się dużą liczbę wiki (100+), aby zapobiec osiągnięciu limitu ładowania i tymczasowego zablokowania.
data-extraLoadingEnabled= Wartość logiczna true Nie wszystkie informacje można wyszukać przy wstępnym żądaniu (ponieważ wymaga ono wstępnych informacji). Tak więc, wszystkie informacje ładowane są po tym, kiedy cała zawartość zostanie wyświetlona na ekranie. Nie jest to koniecznie potrzebne, ale ten parametr daje możliwość wyłączenia tego (aby zmniejszyć żądania serwera albo oszczędzać na przepustowości). Obecnie jest to potrzebne w przypadku:
  • Wyświetlania tytułów wątków na forum / na tablicach wiadomości.
  • Wyświetlania tytułów dyskusji.
  • Dodawania klas linków użytkowników dla grup użytkowników lub kiedy użytkownik jest zablokowany.
data-localSystemMessages= Wartość logiczna true Niektóre wiki nie są dostępne publicznie, w tym api takiej wiki. Normalnie to by nie miało znaczenia, ale włączenie skryptu na takiej wiki nie daje dostępu do wiadomości systemowych, z których skrypt czerpie informacje o języku. Ustawienie tego jako false sprawi, że używane będą wiadomości z Centrum Społeczności. To nie jest potrzebne, jeżeli skrypt jest używany w języku angielskim. Ma domyślnie wartość true, ponieważ wiadomości systemowe dla wiki mogą być personalizowane i używanie lokalnych wiadomości pozwala skryptowi na utrzymanie jednolitości i pozwala uniezależnić się od zewnętrznych źródeł.
Przykład

Zbiory danych wprowadza się bezpośrednio w div, jak tutaj:

<div class="rc-content-multiple" data-params="hidemyself=1&days=10&limit=50" data-hideusers="TestUser,My awesome username,ILikePIE">
*lista wiki
</div>

Wartości na listach[]

Wszystkie wartości na listach muszą zaczynać się podstawowym urlem wiki w formacie "nazwa.fandom.com" (lub "nazwa.fandom.com/język/") albo "wikinazwa.com" (lub inna domena najwyższego poziomu jeżeli wiki nie ma "fandom" w domenie). Nie wprowadzaj "http://", ani niczego po lub zawierającego pierwsze "/" w korzeniu.

Wartości pozwalają na personalizację wyników dla konkretnej wiki, zamiast wymogu używania tych samych opcji dla wszystkich wiki.

Każdy element listy może mieć dodane parametry, aby dodać dodatkową funkcjonalność do sposobu wyświetlania / ładowania wiki. Można to zrobić na dwa sposoby:

  • Dodając &nazwaparametru= na końcu adresu np.: dev.fandom.com &bgcolor=green
  • Dodanie listy podrzędnej poniżej wpisu (z lub bez znaku "&" przed nazwą parametru) np:
*dev.fandom.com
**bgcolor=green
Nazwa Wartość oczekiwana Domyślnie Opis
&params= Parametry ostatnich zmian - url - Taki sam jak data-params, oprócz tego, że "&" musi być zmieniony na przecinki (","), a "=" na dwukropki (":"). Zobacz także parametry ostatnich zmian.
&hideusers= Lista oddzielona przecinkami - Tak samo, jak data-hideusers powyżej, akceptuje listę z użytkownikami oddzielonymi przecinkami, ale w tym przypadku są tylko ukryci na wybranej wiki. Nie wpisuj "User:".
&onlyshowusers= Lista oddzielona przecinkami - Tak samo, jak data-onlyshowusers= powyżej, akceptuje listę z użytkownikami oddzielonymi przecinkami, ale w tym przypadku włącza się tylko dla konkretnej wiki. Nie wpisuj "User:".
&notifications_hideusers= Lista oddzielona przecinkami - Tak samo, jak data-notifications-hideusers= powyżej, akceptuje listę z użytkownikami oddzielonymi przecinkami, ale w tym przypadku włącza się tylko dla konkretnej wiki. Nie wpisuj "User:".
&notifications_enabled= Wartość logiczna true Ustaw jako false, aby edycje na wskazanej wiki nie wysyłały powiadomień. Notka: jeśli chcesz wyłączyć powiadomienia dla całego skryptu, nie używaj ustawień skryptu; użyj natomiast ustawień przeglądarki (zwykle otwiera się je poprzez kliknięcie ikony koła zębatego przy powiadomieniu, które się pojawiło).
Specjalne przypadki dla właściwie wyświetlających się wiki
&scriptdir= Tekst - (dla wiki spoza Fandomu) Podkatalog skryptów wiki powinien mieć dostęp do api. Nie powinno się zawierać końcówki "/". Domyślnie skrypt szuka korzenia domeny (ponieważ tak jest na Fandomie), ale na niektórych wikiach może być inaczej (często katalogi to "/w" i "/wiki"). Łatwym sposobem na znalezienie katalogu api dla danej wiki jest wprowadzenie "console.log(mw.config.get("wgScriptPath"));" do konsoli przeglądarki na tej wiki. Na nowszych wikiach, zajrzyj do Specjalna:Wersja i zaznacz "ścieżka skryptu" pod sekcją "linki punktu dostępu".
&username= Tekst - To jest "wymagane" tylko dla wiki spoza Fandomu. Zewnętrzne nazwy użytkownika nie są znane, co pozwala na określenie tego dla danej wiki. Umożliwia działanie "hidemyself", a także wykrywanie uprawnień użytkowników (na przykład do wyświetlania linków "blokuj"). Jeśli nie obchodzą cię te funkcje, można to pominąć. Jeżeli dotyczy to wiki z Fandomu, nie jest to wymagane, ponieważ skrypt sprawdza aktualnie zalogowanego użytkownika (chociaż, jeżeli masz różne konta na różnych wikiach Fandomu, można tego użyć).
&favicon= URL (bez https://) - Zastępuje favikonę używaną na wiki inną, wskazaną. Po prostu wpisz pełny url bez "http://". Przeznaczone dla wiki, które nie mają favikon lub jeśli domyślna jest zbyt podobna do favikony innej wiki na liście.
&bgcolor= Tło CSS - Jeśli zostanie ustawione, Ostatnie zmiany dla danej wiki będą miały wskazany kolor tła (zamiast powtarzającej się favikony). Jakakolwiek poprawna wartość "background" w CSS zadziała (nawet none, rgb(), albo url()). Można także dostosować inne wartości poprzez wiązanie CSS (np. &bgcolor=orange;opacity:0.5). bgcolor opacity wynosi domyślnie 0.1.
Examples
<div class="rc-content-multiple">
*https://fewfre.fandom.com &hideusers=Fewfre,FewBot
*https://pixelmonmod.com &scriptdir=wiki&params=hidemyself:1,limit:5
*https://wiki.guildwars2.com
**favicon=wiki.guildwars2.com/images/thumb/d/df/GW2Logo_new.png/180px-GW2Logo_new.png
</div>

Panel opcji[]

Oferuje sposoby na dostosowywanie data-params= w czasie rzeczywistym. Panel opcji ma ustawienie, które pozwala na zapamiętywanie zmienionych opcji poprzez localStorage (domyślnie wyłączone). Jakiekolwiek opcje zmienione przed włączeniem tego zostaną także zapamiętane. Ponowne wyłączenie tej funkcjonalności usunie zachowane informacje. Należy użyć jednej z powyższych metod, jeżeli zmiana ma być trwała na innym komputerze / bez używania localStorage. Opcje w panelu pozwalają także na włączanie/wyłączanie Dyskusji Fandomu.

Opcje te zmieniają wymagania wyświetlania, więc wszystkie zmiany pokazane na stronie zostaną wyczyszczone i następnie odświeżone.

Parametry ostatnich zmian[]

Aby naśladować Specjalna:Ostatnie zmiany jak najlepiej, ten skrypt akceptuje parametry url z rodzaju Ostatnich zmian (używane, jak wyjaśniono powyżej, data-params, &params, zmienne URL, albo panel opcji). Jest wiele parametrów, jak wyjaśniono poniżej. Należy zauważyć, że wpływają one na każdą wiki indywidualnie (więc limit 50 na 4 wiki to tak właściwie limit 200 łącznie).

Istnieją kilka sposobów na określenie parametrów w tym skrypcie. Jeśli określi się je na więcej, niż jeden sposób, to bardziej dokładny sposób nadpisze mniej dokładny (np. &params jest bardziej dokładny, niż data-params), ale tylko jeśli oba z nich dotyczą tej samej rzeczy (na przykład "days"). Stopnie dokładności są następujące:

  1. [Wartości domyślne]
  2. Preferencjie - używa 4 opcji z "Specjalna:Preferencje > Ostatnie zmiany"
  3. Zmienne URL – tak, jak na normalnej stronie ostatnich zmian.
  4. data-params
  5. Panel opcji (opcje uruchomieniowe)
  6. &params (należy zauważyć, że panel opcji nie nadpisuje &params)

Trzeba zauważyć, że dla wartości logicznych "true/false" "0" to fałsz, a "1" to prawda.

Dostępne parametry
Parametr Domyślnie Opis
limit 50 Może być jakąkolwiek liczbą całkowitą od 0 do 500. (może wynosić mniej, zależnie od "days")
days 7 Liczba dni. (może wynosić mniej ze względu na "limit")
hideminor 0
(false)
Ukrywa edycje, które zostały oznaczone jako "drobne".
hidebots 1
(true)
Ukrywa edycje wykonane przez bota.
hideanons 0
(false)
Ukrywa edycje wykonane przez anonimowych użytkowników.
hideliu 0
(false)
Ukrywa edycje wykonane przez zalogowanych użytkowników.
hidemyself 0
(false)
Ukrywa edycje wykonane przez konto, na które jesteś zalogowany/a. Notka: hide-users= nadpisze to (nawet w przypadku używania panelu opcji). Zauważ, że zewnętrzne wiki wymagają użycia &username= (patrz wyżej), aby to działało.
hideenhanced 0
(false)
Zamiast pokazywać edycje grupowo, pokazuje każdą z nich osobno w kolejności, w której je wykonano. Notka: nie jest wspierane na wikiach oddzielnie (działa na wszystkich lub na żadnej).
hidelogs 0
(false)
Ukrywa Specjalna:Logi.
hidenewpages 0
(false)
Hides any page creation recent changes.
hidepageedits 0
(false)
Hides any page edits (not counting page creations).
namespace none Domyślnie, pokazane są wszystkie przestrzenie nazw. Pokazane przestrzenie nazw można ograniczyć, dodając liczby odpowiadające przestrzeniom nazw, które mają się wyświetlać. Jeżeli ma się wyświetlać więcej, niż jedna przestrzeń nazw, muszą być one oddzielone "|" i nie wolno używać spacji (np. 10|2001 aby wyświetlały się wyłącznie przestrzenie Szablon: i Wątek:)
Parametry, które nie są wspierane
from, invert, associated, tagfilter, hidewikidata oraz inne nie wymienione parametry.
Możesz poprosić o wsparcie dla niewspieranego parametru, aby został dodany, jeśli go potrzebujesz; dodanie jakiegokolwiek parametru powinno być mniej lub bardziej możliwe.

Dodatkowe funkcjonalności[]

Odśwież wszystko[]

  • Przy używaniu wielu instancji na tej samej stronie, można je wszystkie odświeżyć jednocześnie poprzez dodanie klasy "rcm-refresh-all" do elementu na stronie. Np.
<span class="rcm-refresh-all button">Refresh All</span>

Stylizowanie w CSS[]

Ten skrypt używa tylu klas Specjalna:Ostatnie zmiany, ile jest możliwe, aby pozwolić na spójne stylizowanie. Większość funkcjonalności charakterystycznych dla ostatnich zmian ma nazwy klas, aby można było je personalizować. Niektóre z użytecznych klas to:

  • .rc-entry-$1 otacza cały wpis / grupę wpisów, przy czym $1 to domena url z kropkami jako pauzami (np. "dev-wikia-com"). Domyślnie używa się jej, aby stylizować ".rcm-tiled-favicon", ale można jej użyć do personalizacji informacji na podstawie wiki, z której pochodzą.
  • .rc-entry-ns-$1 otacza cały wpis / grupę wpisów, przy czym $1 to numer przestrzeni nazw (np: 0 dla przestrzeni głównej, 1 dla dyskusji, itd.).
  • .rcm-favicon-goto-button reprezentuje ikonę po lewej od każdego wpisu. Można użyć, by zmieniać ikonę / usunąć ją.

Dopóki data-extraLoadingEnabled nie jest wyłączone, linki użytkowników także mają atrybuty dodane po pobraniu danych. .rcm-userblocked oznacza, że użytkownik jest zablokowany na danej wiki, .rcm-usergroup-$1 pozwala personalizować nazwy w oparciu o grupy użytkowników (przy czym "$1" to ID tej grupy), a .rcm-useranon jest dodawany dla anonimowych użytkowników. Możesz znaleźć ID grup tutaj (wymienione jako "group-$1]"). Listę wszystkich grup oraz ich uprawnień możesz znaleźć tutaj. Po prostu zmień wiki w url, aby zobaczyć je dla konkretnej wiki (jeśli ma indywidualną grupę). Np ..rcm-usergroup-content-moderator

Istnieje wiele innych klas (albo indywidualnych, albo klas z ostatnich zmian), które można wykorzystać do personalizacji skryptu. Najlepszym sposobem na odnalezienie ich jest zbadanie elementu, który chcesz personalizować.

Dyskusje[]

W późnym 2016 roku Fandom zaczął wprowadzać nowy system dyskusji na nowych wikiach, aby następnie stopniowo go wprowadzać na wszystkich wikiach. Edycje wykonane w obszarze dyskusji nie pokazują się w ostatnich zmianach, więc trzeba było dołączyć wsparcie dla nich. Ma to kilka potencjalnie nieoczekiwanych efektów:

  • Począwszy od 2020 roku, wiki, które miały zaktualizowaną wersję MediaWiki w ramach UCP, mają wszystkie Tablice wiadomości i komentarze do artykułów przeniesione do systemu dyskusji (choć nie będą wyświetlane na stronie Dyskusje). W związku z tym większość zawartych tu uwag dotyczy również ich.
  • Dyskusje są domyślnie włączone. Można je wyłączyć w panelu opcji lub poprzez atrybut data-discussions-enabled.
  • Nie wszystkie dyskusje mają tytuły, więc jeżeli nie ma tytułu, pierwsze 35 znaków posta rozpoczynającego dyskusję jest użyte do wyświetlenia dyskusji.
  • Tytuł wątku nie jest załączony do informacji api zwróconej dla konkretnego posta, więc tytuły często trzeba zdobywać osobno (używając mechaniki ładowania takiej, jak w przypadku tytułów na forum czy tablicach wiadomości; można tę funkcjonalność wyłączyć tak samo, jak w ich przypadku, dzięki atrybutowi data-extraLoadingEnabled).
  • Wiele opcji nie wpływa na dyskusje. Niektóre, które działają, to: hidemyself, hideusers, onlyshowusers, limit i days (patrz szczegóły poniżej).
    • limit - tylko do 50. Limit poniżej 50 będzie działał.
    • hidemyself / hideusers - wpłynie na maksymalną liczbę dyskusji, którą możesz zobaczyć (z powodu usuwania ich z załadowanej listy).
  • Te zmiany są ładowane dodatkowo do normalnych zmian. Jeżeli limit ustawiony jest na 50 lub mniej, może to podwoić wyniki wyświetlane dla danej wiki.
  • Dyskusje są sprawdzane tylko na wikiach Fandomu (bo tylko tutaj występują). Jednakże, przy pierwszym ładowaniu zmian przez skrypt, musi on sprawdzić wszystkie wiki pod kątem istnienia dyskusji. Jeśli otrzyma błąd 404, nie będzie próbował następnym razem załadować dyskusji dla wiki, na której to się stało.
  • Api zwraca awatary i sumy głosów, więc te informacje będą także zawarte w wynikach. Mogą zostać usunięte przez personalny CSS przy użyciu odpowiednio klas .rcm-avatar i .rcm-upvotes.
  • Z powodu tego, jak działa API, edycje postów nie wyświetlają się jako osobne zmiany. Zamiast tego, post po prostu wyświetli się wyżej na liście (jeśli data utworzenia go jest nadal w ostatniej 50). Możliwym niespodziewanym efektem ubocznym jest to, że jeśli ktoś zedytuje post dzień po stworzeniu go, nie wyświetli się on w obu dniach.

HTTPS[]

Ponieważ wszystkie wiki Fandomu mają włączony protokół HTTPS, nie będzie możliwe ładowanie treści z wiki bez HTTPS.

Jeśli masz problemy z ładowaniem HTTPS uruchamiając skrypt na wiki fandom.com, spróbuj zmienić linki wiki wikia.com na liście na fandom.com. Wszystkie wiki wikia są teraz przekonwertowane na Fandom, więc nie powinno być problemu.

Problem ten będzie jednak nadal dotyczył niektórych zewnętrznych stron wiki, które będą nadal działać bez protokołu HTTPS. Obecnie nie ma obejścia tego problemu.

Wiki poza Fandomem[]

Narzędzie to zostało zaprojektowane głównie z myślą o Fandomowych wiki, ale domyślnie powinno działać dla wielu wiki i ma pewne ustawienia do obsługi specjalnych przypadków wiki spoza Fandomu (takie jak "&scriptdir=" powyżej). Podczas dodawania wiki poza Fandomem, należy pamiętać, że ten skrypt jest przeznaczony tylko dla wiki MediaWiki i wymaga włączenia Mediawiki API na wiki, aby działał (zwykle włączone, ale niektóre wiki mają je wyłączone).

Należy również pamiętać, że ponieważ Fandom używa protokołu HTTPS, wiki działające na HTTP nie mogą być ładowane za pomocą tego skryptu.

Uwagi[]

  • "Red links" dla stron, które nie istnieją, nie pokażą się w większości logów, ponieważ ta informacja musiałaby być pobierana dla każdej strony z osobna. Te, które faktycznie wyświetlają się na czerwono, zostały pobrane w ten sposób domyślnie.
  • Patrolowanie nie jest obecnie wspierane. Jest to spowodowane zabezpieczeniami MediaWiki, które uniemożliwiają dostęp do informacji potrzebnych do patrolowania osobom, które nie są upoważnione (co psuje skrypt, kiedy próbuje dostać się do tych informacji bez upoważnienia). Nawet jeśli uprawnienie istnieje, informacje nie są dostępne dlatego, że wymagane jest zalogowanie na wiki niedostępnej poprzez cross-domain (z powodu zabezpieczeń przeglądarki).
  • Logi:
    • Logi mogą dawać dziwne wyniki w "rzadkich" przypadkach (na przykład przy działaniach staffów i rzadkich działaniach występujących tylko w dodatkach). Można dodać wsparcie dla nich, ale nie ma go domyślnie, ponieważ muszą być sprawdzone ręcznie (a nawet czasami każde konkretne działanie musi zostać sprawdzone).
    • Logi uprawnień - uprawnienia są wymienione przy użyciu ich "id" zamiast tłumaczenia grupy użytkowników. Wyświetlają się rzeczy typu "sysop". Nie wszystkie wiki mają takie same grupy, więc pobieranie tłumaczeń z każdej wiki jest bardziej problemem, niż czymś wartościowym.
  • Skrypt pozyskuje tłumaczenia ostatnich zmian bezpośrednio z serwera. Tłumaczenia jako takie mogą się różnić przy użyciu wiki spoza Fandomu. Jeśli ładowanie nie powiodło się określoną liczbę razy, skrypt przestawi się domyślnie na tekst po angielsku.

Inne[]

  • "http://" nie powinno być używane w tym skrypcie, aby uniknąć tworzenia automatycznie linków (a naprawianie tego jest irytujące), i wyświetlania strony w Specjalna:Wyszukiwarka linków jako stronę z linkiem zewnętrznym (co może być niepożądane).
  • Skrypt został zaprojektowany dla wiki z Fandomu, ale powinien działać dla jakiejkolwiek wiki (zakładając, że nie jest nieaktualny).
  • Niektóre wiki spoza Fandomu po prostu nie działają ze względu na ich techniczny aspekt (zbyt stara wersja MediaWiki, wyłączone API, itd.).
  • Ten skrypt powinien być używany przy użyciu code.2.js. Oryginalna wersja atom-feed, chociaż nie jest wspierana, jest dostępna w code.js wraz z dokumentacją dostępną tutaj.

Wymagania[]

  • JQuery
  • Wszystkie wiki w skrypcie muszą:
    • Być wikiami Mediawiki (wersja 1.16+),
    • Mieć dostępne Mediawiki API.
  • Przeglądarka wspierająca różne aspekty ECMAScript5 (jakakolwiek aktualna przeglądarka będzie odpowiednia).
  • Skrypt musi działać na wiki z Fandomu (aby mieć pewność, że ma dostęp do rzeczy typu kod dla zwijanych list).
Advertisement