Abstraktní Wikipedie/Požadavky na spuštění

From Meta, a Wikimedia project coordination wiki
This page is a translated version of the page Abstract Wikipedia/Launch requirements and the translation is 100% complete.

Toto je seznam funkcí / schopností / kroků, které musíme dokončit před spuštěním. Pravděpodobně není úplný. Aktualizovaná verze je na Phabricatoru na adrese phab:T301587.

Checklist Designu

  • Vytváření a úpravy funkcí
    • Vytváření definic funkcí
    • Úprava definic funkcí
    • Možnost přidávat a odebírat implementace a testery
    • Uživatelské testování
  • Funkční stránka/zobrazení funkce
    • Použití widgetu funkce
      • To bude třeba důkladně otestovat s netechnickými osobami, včetně různých jazykových komunit
        • Potenciál pro uživatelské testování v Indii
    • Uživatelské testování
  • Textový widget s funkcí fallback
  • Zobrazení řetězců
  • Zobrazení referencí
  • Výběr objektu / vyhledávání
  • Widget volání funkce
  • Widget názvů a aliasů
  • Výchozí komponenta pro zobrazování, vytváření a úpravy objektů
  • Výchozí stránka objektu (vytvořit, upravit, zobrazit)
  • Hlavní strana
    • MVP: drobný úvodní text a příklad volání funkce
    • Komunita převezme řízení
    • Jednotný jazyk
  • Základní vyhledávání (MVP)
    • Opakovaně použitelný vyhledávací box
    • Standardní UI
  • Přátelský pro mobilní zařízení (základně uživatelsky testováno, vychytaný design)
  • Výchozí komponenta pro zobrazení objektů (MVP)
  • Vícejazyčnost od samého počátku
    • Potřebuje uživatelské testování
    • Musí fungovat:
      • Right to Left
      • Abecedy s jinými než latinskými písmy
      • “Dlouhé” jazyky
      • Vertikální jazyky nepodporujeme
    • Před oslovením neanglicky mluvících komunit by měly být uživatelsky otestovány a dopracovány
  • UX pro návrh a implementaci pracovních postupů, které omezují určité úpravy
    • Dokumentace "povinných" a "doporučených" omezení na úrovni uživatelských skupin, o kterých může komunita diskutovat, upravovat je a přidělovat si je
  • Přepínání z jednoho jazyka do druhého

Checklist Produktu

  • Vytváření, prohlížení a editace typů
  • Vytváření, prohlížení a editace instancí libovolných vestavěných typů (prostřednictvím výchozího/fallback UX)
  • Vytváření, prohlížení a editace instancí typů vytvořených uživatelem (prostřednictvím výchozího/fallback UX)
  • Vytváření, prohlížení, editace a používání funkcí (s uživatelským rozhraním na míru)
  • Vytváření, zobrazování, úpravy a používání obecných typů / funkcí vytvářejících typ (prostřednictvím výchozího/fallback UX)
  • Vytváření, prohlížení a editace instancí generických typů
  • Vytvoření, zobrazení, editace, použití generických funkcí
  • Prohlížení a editace dokumentace ke každému objektu
  • Dostupnost a vyhledatelnost veškerého obsahu ve všech jazycích
  • Shromažďování a zobrazování metadat o spuštěných funkcích
  • Výběr implementací na základě shromážděných metadat
  • Návrh a implementace pracovních postupů, které omezují určité editace
  • Rozhodnout, které metriky se budou zaznamenávat

Checklist Techniky

Bloky spuštění

(Většinou se jimi zabývá kontrolní seznam přípravy na nasazení)

  • Bezpečnostní kontrola - před uvedením do provozu musíme provést a schválit (akceptovat) kontrolu. Potřebujeme spolupráci s bezpečnostním týmem
  • Přezkum výkonnosti - před uvedením do provozu musíme provést a akceptovat review
  • SRE Service Ops
  • Zavedení metrik

Interní kontroly kvality

Automatické testování

  • Veškerý kód by měl být v rozumných případech testován pomocí testů, které blokují merge.
  • Jednotkové testy - Veškerý kód by měl mít komplexní jednotkové testy. Pro některé oblasti kódu by to mělo být vynuceno požadavky na minimální pokrytí kódu
    • Prahy a oblasti TBD.
  • Integrační testy - všechna systémová rozhraní by měla být testována pro integraci
  • Testy v prohlížeči - klíčové pracovní postupy uživatelského prostředí by měly mít testy v prohlížeči
    • Vytvoření funkce
    • Zobrazení existující funkce
    • Úprava existující funkce
    • Úprava dokumentace funkce
    • Vyhledávání funkce
    • Použití implementované funkce
    • Fungující poslední změny
    • Fungující Historie objektu
    • Fungující diff
  • Testy end-to-end - reprezentativní, komplexní a znepokojivé oblasti by měly být testovány prostřednictvím úplných testů end-to-end.
    • Oblasti TBD.

Kvalita kódu

  • Code standards - Veškerý kód by měl dodržovat platné standardy kódování (Code standards) a každá výjimka by měla být zdokumentována v řádku, proč ji porušujeme
  • Dokumentace - kód je dokumentován
  • In-line komentáře - Všechny inline TODO/FIXME atd. by měly být zapsány jako úkoly technického dluhu ve Phabricatoru pro stanovení priorit týmu, což by mělo být uvedeno v komentáři.

"Dostatečně dobré" nefunkční požadavky

  • Výkon – TBD.
  • Bezpečnost – TBD.
  • Spolehlivost – TBD.
  • Škálovatelnost – TBD.
  • Integrita – TBD.