FANDOM


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).

To narzędzie zostało zaprojektowane szczególnie dla wiki FANDOMu, ale powinno działać domyślnie na wielu wikiach i ma trochę narzędzi dla specjalnych przypadków nie-FANDOMowych wiki (takie jak "&scriptdir=" poniżej). Dodając nie-FANDOMowe wiki należy pamiętać, że ten skrypt zaprojektowano z myślą o wikiach MediaWiki i wymaga Mediawiki Api do działania.

Tłumaczenia / bugi mogą być wrzucane na stronę dyskusji (ale warto także wysłać wiadomość do Fewfre, żeby tego nie przegapił).

Ten skrypt można znaleźć na Github, razem z listą zmian do V1.2.0.

HTTPS

Jeżeli ten skrypt będzie w użytku na wiki, na której działa HTTPS, nie będzie można załadować zawartości z wiki używających HTTP. To funkcja wyszukiwarki służąca bezpieczeństwu. Obecnie może to sprawiać problemy nawet pomiędzy FANDOMowymi wikiami, ponieważ nie-anglojęzyczne wiki nie używają teraz protokołu HTTPS, podczas gdy anglojęzyczne go używają (o ile włączono to w ustawieniach użytkownika). Można obecnie rozwiązać ten problem na dwa sposoby:

  • Wyłączyć HTTPS w ustawieniach użytkownika,
  • Używać skryptu na nie-anglojęzycznej wiki, która używa HTTP.

Kiedy HTTPS zostanie uruchomione na wszystkich wikiach, ten problem zostanie naprawiony.

Ten problem może wciąż wpływać na różne zewnętrzne wiki, które nadal używają HTTP. Teraz można omijać to na sposoby wspomniane powyżej, ale kiedy HTTPS zostanie uruchomiony na wszystkich FANDOMowych wikiach, te zewnętrzne wikie nie będą ładowały się w logach, póki nie zaczną używać protokołu HTTPS.


Instalacja

Podstawowy użytek

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">
*runescape.wikia.com
*wowwiki.com
*dev.wikia.com
</div>

Nie wpisuj http:// lub https:// przed linkami.

Podstawowe funkcje

Nie jest to część Specjalna:Ostatnie zmiany, ale posiada trochę domyślnych 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.
    • 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.
  • 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 i widoku z zakładkami.
    • 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.

np: http://twojawiki.wikia.com/wiki/RecentChangesMultiplePage?hidemyself=1&days=7

Zbiór danych

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

Name 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 z 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= Łańcuch utc 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-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 z 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 true Tworzy listę dyskusji FANDOMu dla każdej z wiki. Ustaw jako "false", by wyłączyć (nadpisuje to wybrana w panelu opcja). Zobacz dyskusje.
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 z 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 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 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

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

<div class="rc-content-multiple" data-params="hidemyself=1&days=10&limit=50" data-hideusers="TestowyUżytkownik,Moja super nazwa użytkownika,ILikePIE">
*lista wiki
</div>

Wartości na listach

Wszystkie wartości na listach muszą zaczynać się podstawowym urlem wiki w formacie "nazwa.wikia.com" albo "wikinazwa.com" (lub inna domena najwyższego poziomu jeżeli wiki nie ma "wikia" 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.

Po każdej wartości na liście można dodać parametry w formacie "&nazwaparametru=", aby zwiększyć funkcjonalność tego, jak wiki jest wyświetlana / ładowana.

Name Wartość oczekiwana Domyślnie Opis
&params= Parametry url ostatnich zmian - 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 z 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 z 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 z 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 http:// ) - 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ść "bacground" 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.
Przykłady
<div class="rc-content-multiple">
*fewfre.wikia.com&hideusers=Fewfre,FewBot
*wiki.guildwars2.com&favicon=wiki.guildwars2.com/images/thumb/d/df/GW2Logo_new.png/180px-GW2Logo_new.png
*pixelmonmod.com&scriptdir=wiki&params=hidemyself:1,limit:5
</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ą 4 sposoby 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. Zmienne URL – tak, jak na normalnej stronie ostatnich zmian.
  3. data-params
  4. Panel opcji (opcje uruchomieniowe)
  5. &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.
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 liczba

surrounds an entire entry / entry group, with $1 being the number of a przestrzeni nazw (np: 0 dla głównej, 1 dla wątków, 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:

  • 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.

Tłumaczenie

Ten skrypt jest tłumaczony na dwa różne sposoby:

  • Tekst skryptu ("TEXT" w kodzie) - normalne tłumaczenie, jak w każdym innym skrypcie, który trzeba aktualizować ręcznie.
  • Tekst ostatnich zmian ("MESSAGES" w kodzie) - automatycznie poprzez ładowanie z serwera tekstu normalnie występującego w Specjalna:Ostatnie zmiany. Jakikolwiek język wspierany przez FANDOM powinien być wspierany przez ten skrypt tłumaczony w ten sposób.

Plik js dla tłumaczeń można znaleźć na Githubie, a tłumaczenia można wrzucać na stronie dyskusji lub tutaj. Należy tłumaczyć tylko pierwszą część "TEXT", a nie "MESSAGES".

Wielkie podziękowania dla różnych członków Wikia Language Brigade za liczne tłumaczenia wykonane dla tego skryptu.

Zmiany

Zobacz listę zmian żeby zobaczyć szczegółowe dane o zmianach, albo strony historii dla każdego skryptu (/code.js dla V1.0.3 i wcześniejszych, /code.2.js dla V1.1.7 i wcześniejszych oraz /core.js dla obecnych).

  • 14 lutego 2015 – ukończona wersja alfa (a następnie miała miejsce przerwa).
  • 22-27 maja 2015 – ukończona wersja beta.
  • 28 czerwca 2015 – opublikowanie skryptu.
  • V1.1.0 – 26 lipca 2015 – napisane na nowo, aby skrypt używał API MediaWiki (patrz niżej).
  • V1.2.0 – 12 grudnia 2015 – skrypt używa rozruchu, aby załadować skrypt.
  • V2.0 - 29 października 2016 - napisane na nowo w TypeScript.
  • V2.6 - 28 stycznia 2017 - odświeżanie teraz tylko pobiera i dodaje nowe elementy, zamiast pobierania i dodawania na nowo wszystkich zmian. Powinno to pozwolić na lepsze wykorzystanie dużych limitów pobierania.

26 lipca 2015 – napisania od nowa dla MediaWiki API – V1.1.0

Pokaż

Głównym celem napisania skryptu od nowa było:

  1. Dodanie wsparcia dla automatycznego tłumaczenia dla tekstu z ostatnich zmian
  2. Usunięcie zależności YQL (informacje wzięte wprost z wiki poprzez API). Pozwala też na szybsze ładowanie.
  3. Używanie wsparcia API, dodanie większego wsparcia Specjalna:Ostatnie zmiany (zaznaczenie drobnych zmian, większa kontrola nad zawartością ("days", "limit", "showbots", itd.)).
  4. Napisanie od nowa kodu, aby był bardziej wydajny.
  • Ważne:
    • "&subdir" usunięto, a "&scriptdir" dodano (może być potrzebne dla wiki spoza FANDOMu, patrz wyżej). Np. &scriptdir=w/
    • "data-params" teraz oferuje o wiele więcej wsparcia. "days" oraz "limit" teraz działają w tym samym, odpowiednim stopniu na każdej wiki na liście. Powinno być ograniczone do kilku dni / niższego limitu, aby uniknąć możliwego ładowania tysięcy zmian. Można zmienić limity dla pojedynczych wiki przy użyciu "&params".
  • Zmiany:
    • Zmieniono tłumaczenie tak, by wykorzystywało dokładne informacje i18n z githuba FANDOMu dla RC_TEXT. Ładuje RC_TEXT z serwera w oparciu o twój język.
    • Tablice / dyskusje teraz także sprawdzają [ restore, delete, remove ] dla "replies" zamiast zakładania, że są w wątku.
    • Wszystkie (normalne) parametry ostatnich zmian są wspierane, oprócz "hideenhanced", "from", i wyświetlania zaznaczonej przestrzeni nazw.
    • Można teraz wyświetlać edycje botów (jest to domyślnie wyłączone), a "drobne" zmiany są teraz zaznaczone.
    • Instancja gApp została zmieniona na klasę RecentChangesMultiple (aby potencjalnie uruchamiać ją wielokrotnie, poza tym preferuję "tradycyjne" struktury OO klas).
      • ID #rc-content-multiple jako takie powinno teraz być klasą .rc-content-multiple, aby zezwalać na wielokrotne instancje (chociaż użycie ID jest wciąż wspierane).
    • Użyto dodatkowych klas CSS Specjalna:Ostatnie zmiany.
    • Napisano od nowa obiekty ostatnich zmian (aby były bardziej spójne z ich strukturą w systemie MediaWiki).
    • Nowa klasa "WikiData" dla przechowywania danych dla konkretnych wiki w bardziej zrozumiały sposób, jednocześnie zapewniając metody pomocnicze

Uwagi

  • "Red links" dla stron, które nie istnieją, nie pokaże 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 unikać tworzenia automatycznie linków (a naprawianie tego jest irytujące), i wyświetlania Specjalna:Wyszukiwarka_linków jako stronę z linkiem zewnętrznym (co może być niepożądane}.
  • Zaprojektowane dla wiki z FANDOMu, ale powinno 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 działać 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ące 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).