Wikisłownik:Archiwizacja

Z Wikisłownika – wolnego słownika wielojęzycznego

W wyniku dyskusji w 2022 wprowadzono mechanizm archiwizacji wątków w stolikach Baru, WS:ZB, na stronach dyskusji użytkowników, itd. Proces przebiega w sposób zautomatyzowany, polegając na codziennym przebiegu bota przetwarzającego konfigurację wyszczególnioną na ogólnodostępnej stronie Wikisłownik:Archiwizacja.json.

Konfiguracja JSON[edytuj]

Strona WS:Archiwizacja.json jest przystosowana do edycji i wyświetlania kodu w formacie JSON. Podlega analizie składni w trakcie modyfikowania strony i przy jej zapisaniu: ewentualne błędy zostaną wskazane użytkownikowi w formie ostrzeżenia na dolnym pasku okna edycji bądź w oknie dialogowym podczas publikowania zmian.

Program bota wymaga zakodowania konfiguracji jak na poniższym przykładzie:

{
    "minDays": 30,
    "subpage": "Archiwum",
    "triggerOnTemplate": true,
    "sectionLevel": 2,
    "honorLinksInHeader": false,
    "entries": [
        {
            "pagename": "Wikisłownik:Bar/dowolny stolik"
        },
        {
            "pagename": "Wikisłownikarz:Przykładowy wikisłownikarz",
            "minDays": 5,
            "triggerOnTemplate": false
        }
    ]
}

Parametry[edytuj]

Parametry obsługiwane przez bota, zakodowane we właściwościach ww. kodu JSON:

parametr wymagany typ opis i uwagi
minDays (*) tak liczba karencja; liczba dni, które muszą upłynąć od ostatniego wpisu, by automat zakwalifikował dany wątek do archiwizacji
subpage (*) tak łańcuch podstrona pagename przeznaczona do gromadzenia zarchiwizowanych wątków
  • na wskazanej podstronie powstanie spis dalszych podstron z podziałem na lata: pagename/subpage
  • wątki zostaną przeniesione do odpowiedniej podstrony w zależności od roku pierwszego wpisu: pagename/subpage/rok
triggerOnTemplate (*) tak true/false czy mają być brane pod uwagę tylko te wątki, w których znajduje się szablon {{załatwione}}? (zob. instrukcje)
sectionLevel (*) tak liczba poziom nagłówka wątków podlegających archiwizacji (np. poziom drugi: == nagłówek ==)
  • sekcje zagnieżdżone (o wyższym poziomie nagłówka) będą traktowane jako całość z sekcją nadrzędną o wskazanym poziomie
honorLinksInHeader (*) nie true/false czy wątki należy przenieść do powiązanych stron dyskusji haseł podlinkowanych w nagłówku sekcji?
  • domyślna wartość: false
  • działa wyłącznie w przestrzeni głównej
entries tak tablica konfiguracja poszczególnych stron, które chcemy objąć automatyczną archiwizacją
pagename tak łańcuch strona objęta niniejszym mechanizmem archiwizacji

Parametry wyróżnione gwiazdką mogą (lub muszą, jeżeli nie są zaznaczone jako opcjonalne) odnosić się do wszystkich stron objętych archiwizacją, jeżeli nie są przypisane konkretnemu celowi (pagename). Te wartości można następnie osobno nadpisać dla każdej strony wewnątrz tablicy entries.

Przykładowy przebieg[edytuj]

Objaśnienie powyższego przykładu:

  1. Wpierw bot przegląda sekcje drugiego poziomu na stronie „Wikisłownik:Bar/dowolny stolik”. Te, które mają aktywny (objaśnienie) szablon {{załatwione}} (ponieważ triggerOnTemplate wynosi true) w wątkach, których ostatni wpis dodano 30 dni temu lub wcześniej (minDays), zostają przeniesione do podstrony „Wikisłownik:Bar/dowolny stolik/Archiwum/XXXX” (subpage), gdzie XXXX to rok pierwszego wpisu w danym wątku.
  2. Następnie bot przetwarza stronę „Wikisłownikarz:Przykładowy wikisłownikarz”. Niezależnie od obecności szablonu {{załatwione}} (ponieważ nadpisano parametr triggerOnTemplate wartością false), przenosi sekcje drugiego poziomu, których ostatni wpis jest starszy niż pięć dni (nadpisano minDays), do podstrony „Wikisłownikarz:Przykładowy wikisłownikarz/Archiwum/XXXX” (wspólny parametr subpage), gdzie XXXX to rok pierwszego wpisu w danym wątku.

Jeżeli główna podstrona („Wikisłownik:Bar/dowolny stolik/Archiwum”, „Wikisłownikarz:Przykładowy wikisłownikarz/Archiwum”) nie istnieje, tworzy ją i umieszcza krótki opis oraz listę podrzędnych stron z podziałem na lata. Gdy zajdzie potrzeba utworzenia podstrony dla nowego roku, zostanie automatycznie podlinkowana w owej podstronie nadrzędnej.

Bot wykona ten przebieg raz dziennie, w godzinach nocnych.

Szablon „załatwione”[edytuj]

Jeżeli parametr triggerOnTemplate wynosi true, automat zważa na obecność szablonu {{załatwione}} w badanym wątku.

Sposób działania oraz dostępne parametry opisano na stronie dokumentacji (sekcja #Użycie). Istotne cechy tego szablonu:

  • Jeżeli automatyczna archiwizacja ma być wstrzymana mimo wstawienia szablonu, zamiast usuwania go preferowane jest umieszczenie dywizu („-”) w jego pierwszym parametrze. Kod {{załatwione|-}} wizualnie przekreśla tekst „Załatwione” i daje do zrozumienia botowi, że ma pominąć to wywołanie. Podobny efekt można uzyskać, przekreślając lub zakomentowując szablon.
  • Zamiast do ustalonej podstrony archiwum, określony wątek można przenieść do strony (lub stron) dyskusji wskazanej za pośrednictwem parametru (lub parametrów) przenieś_do.
  • Jak wyżej, ale z powieleniem wątku w archiwum, działa parametr kopiuj_do.
  • Parametry przenieś_do, kopiuj_do oraz ignoruj_nagłówek=tak wzajemnie się wykluczają; przenieś_do ma najwyższe pierwszeństwo, a następnie kopiuj_do. Wszystkie trzy wyłączają obsługę linków w nagłówku (linki w nagłówku nie są dodatkowym celem archiwizacji), nawet gdy honorLinksInHeader wynosi true.

Zobacz sekcję #Przykłady.

Uwaga: jeżeli wywołań szablonu jest kilka (aktywnych, tj. bez użycia dywizu „-” lub podobnych mechanizmów wstrzymywania archiwizacji), liczy się tylko ostatnie.

Uwaga: automat uwzględnia datę ostatniego wpisu; niekoniecznie będzie to ten, który zawiera wywołanie tego szablonu.

Zobacz też[edytuj]