RecentChangesMultiple/pl

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.


 * Przykładowa strona

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: Kiedy HTTPS zostanie uruchomione na wszystkich wikiach, ten problem zostanie naprawiony.
 * Wyłączyć HTTPS w ustawieniach użytkownika,
 * Używać skryptu na nie-anglojęzycznej wiki, która używa HTTP.

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.

Podstawowy użytek
Wszystko, co tak naprawdę jest potrzebne po instalacji skryptu, to div z  "rc-content-multiple" i lista z linkami do domen wiki (div trzeba dodać poprzez edytor źródłowy). Duplikaty są ignorowane. Przykład: Nie wpisuj  lub   przed linkami.
 * runescape.wikia.com
 * wowwiki.com
 * dev.wikia.com

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.
 * [[File:RecentChangesMultiple AjaxDiff icon.png]] 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".
 * [[File:RecentChangesMultiple AjaxGallery icon.png]] 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.
 * [[File:RecentChangesMultiple AjaxPagePreview icon.png]] 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.
 * 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:

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

Pokaż/Ukryj opcje zaawansowane (niepotrzebne dla większości osób)

zbory danych wprowadza się bezpośrednio w div, jak tutaj:  *lista wiki
 * Przykład

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.

*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
 * Przykłady

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.

Odśwież wszystko
Refresh All
 * 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.

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: 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.).
 * 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ą.
 * otacza cały wpis / grupę wpisów, przy czym $1 to liczba
 * 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. oznacza, że użytkownik jest zablokowany na danej wiki,  pozwala personalizować nazwy w oparciu o grupy użytkowników (przy czym "$1" to ID tej grupy), a   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źć [//dev.wikia.com/api.php?action=query&format=xml&list=&meta=siteinfo&siprop=usergroups tutaj]. Po prostu zmień wiki w url, aby zobaczyć je dla konkretnej wiki (jeśli ma indywidualną grupę). Np.

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.
 * 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 ).
 * 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  i.
 * 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: 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".
 * 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.

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