New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rozdělit renderování obsahu, aplikaci, a seznam kurzů #494

Open
encukou opened this Issue Nov 28, 2018 · 0 comments

Comments

Projects
None yet
1 participant
@encukou
Member

encukou commented Nov 28, 2018

Aktuálně naucse není v dobrém stavu. Všechno souvisí se vším, a udělat nějaké změny a vylepšení je složité až nereálné. Rozplést to je těžší než se zdá. Zároveň je to frustrující pro lidi, kteří by se chtěli zapojit.
V posledních měsících mě zavalila práce, tak se to moc nepohnulo. Teď na to mám dedikovaný čas. Budu sem postupně psát, jak se posouvám.
(Kód je v mojí větvi, ale rozhodně není ve stavu, kdy bych chtěl aby se na to někdo díval nebo to kritizoval.)

Toto je refaktorování. Výstup bude nezměněný, takže se bude líp dělat review a na nic důležitého nezapomenu. (Opravy chyb a UX přijdou pak.)

Co plánuju v této fázi:

  • Rozdělení do tří knihoven:
    • Renderování obsahu – naucse_render
    • Webová aplikace – naucse
    • Obsah – naucse.python.cz
  • naucse bude s naucse_render komunikovat přes verzované a validované JSON API (a HTML – žádný Markdown).
  • naucse bude poskytovat verzované a validované JSON API (nástrojům jako je odevzdávátko úkolů nebo zpětnovazebník).
  • Když se nepodaří vyrenderovat jednu stránku, spadne build celého kurzu. (Teď spadne úplně celý build. Později se použije starší verze toho jednoho kurzu, a přestanu požadovat přístup k všem repozitářům s obsahem.)

Co mě od toho aktuálně dělí:

  • Renderování notebooků
  • Renderování odkazů
  • Renderování seznamů materiálů
  • Renderování seznamu kurzů
  • Renderování kanonických lekcí
  • Doladění modelů
  • Renderování forků
  • Doladění API
  • Dokumentace API
  • Zrušení nepoužitého kódu
  • Testy
  • Dokumentace kódu

Hard deadline je v únoru.

Tohle blokuje (nebo řeší) všechno, čemu se chci věnovat (kromě obsahu). Zejména:

  • #342 #491 Course static files
  • Caching
  • #480 Testování validity YAML souborů při buildu
  • #460 Unability to freeze the website if no runs have calendar
  • #444 Make lesson number/name available in the pages
  • #439 Review validation of src/href
  • #438 Validate all HTML/Markdown from forks
  • #424 Errors in forks break non HTML pages
  • #397 Definovat workflow s forky
  • #417 Archived run
  • Změny prezentace
    • #333 #355 Statistika na hlavní stránce
    • #377 Site improvements

@encukou encukou added the code label Nov 28, 2018

@encukou encukou self-assigned this Nov 28, 2018

This was referenced Nov 28, 2018

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment