fradrive/src/index.md

4.5 KiB

Datei Index

Database,Esqueleto.* : Hilfsdefinitionen, welche Esqueleto anbieten könnte

Utils, Utils.* : Hilfsfunktionionen unabhängig von Foundation

Utils : Yesod Hilfsfunktionen und Instanzen, Crud, NTop, Utility-Funktionen für MonadPlus, Maybe, MaybeT, Map, und Attrs-Lists

Utils.TH : Template Haskell code-generatoren von unabhängigen Hilfsfunktionen (deriveSimpleWith)

Utils.DB : Derived persistent functions (existsBy, getKeyBy404, ...)

Utils.Form : renderAForm, Field-Settings helper, FormIdentifier, Button-Klasse, unabhängige konkrete Buttons

Utils.PathPiece : (Template-Haskell)-Hilfsfunktionen für Formulierung von PathPiece-Instanzen

Utils.Message : redefines addMessage, addMessageI, defines MessageClass

Utils.Lens : Automatisch erzeugt Linsen für eigene und Yesod-Typen, Control.Lens-Export

Utils.DateTime : Template Haskell code-generatoren zum compile-time einbinden von Zeitzone und TimeLocale

Utils.Holidays : Definition deutscher Feiertage

Handler.Utils, Handler.Utils.* : Hilfsfunktionien, importieren Import

Handler.Utils : Handler.Utils.*, Unsortierte Foundation-abhängige Hilfsfunktionen

Handler.Utils.DateTime : Nutzer-spezifisches DateTime-Formatieren

Handler.Utils.Form : Konkrete Buttons, spezielle Felder (inkl. Datei-Upload-Felder), Optionslisten (optionsPersistCryptoId), forced-Felder (erzwungenes Ergebnis, deaktiviertes Feld), multiAction

Handler.Utils.Rating : Rating (kodiert eine Rating-Datei), Parsen und PrettyPrinten von Rating-Dateien

Handler.Utils.Sheet : fetchSheet

Handler.Utils.StudyFeatures : Parsen von LDAP StudyFeatures-Strings

Handler.Utils.Submission : assignSubmissions, sinkSubmission State-Maschinen die (bereits geparste) ZIP-Archive auseinandernehmen und (in einer Transaction) in die Datenbank speichern

Handler.Utils.Submission.TH : Template Haskell zum parsen und einkompilieren von Dateiname-Blacklist für sinkSubmission; Patterns in config/submission-blacklist

Handler.Utils.Table : Hilfsfunktion zum direkten Benutzen von Colonnade (kein dbTable)

Handler.Utils.Table.Pagination : Here be Dragons

Paginated database-backed tables with support for sorting, filtering,
numbering, forms, further database-requests within cells

Includes helper functions for mangling pagination-, sorting-, and filter-settings

Includes helper functions for constructing common types of cells

Handler.Utils.Table.Pagination.Types : Sortable-Headedness for colonnade

Handler.Utils.Table.Cells : extends dbTable with UniWorX specific functions, such as special courseCell

Utils.Modal : Modals

Handler.Utils.Zip : Conduit-basiertes ZIP Parsen und Erstellen

Handler.Common : Handler aus dem Scaffolding; Implementierungen von Handlern, die jede Website irgendwann braucht

CryptoID : Definiert CryptoIDs für custom Typen (aus Model)

Model.Migration : Manuelle Datenbank-Migration

Model.Rating : Types for Submission Ratings that the Database does not depend on, but needed in Foundation

Jobs : handleJobs worker thread handling background jobs JobQueueException

Jobs.Types : Job, Notification, JobCtl Types of Jobs

Cron.Types : Datentypen zur Spezifikation von Intervallen zu denen Jobs ausgeführt werden können:

`Cron`, `CronMatch`, `CronAbsolute`, `CronRepeat`, `Crontab`

Cron : Seiteneffektfreie Berechnungen auf Typen aus Cron.Types: nextCronMatch

Jobs.Queue : Funktionen zum anstoßen von Jobs und zur Kommunikation mit den Worker-Threads

`writeJobCtl` schickt Nachricht an einen pseudo-Zufälligen worker-thread der
lokalen Instanz

`queueJob` und `queueJob'` schreiben neue Jobs in die Instanz-übergreifende
Job-Queue, `queueJob'` stößt außerdem einen lokalen worker-thread an sich
des Jobs anzunehmen

`runDBJobs` ersetzt `runDB` und erlaubt `queueDBJob` zu
benutzen. `queueDBJob` schreibt einen Job in die Queue; am Ende stößt
`runDBJobs` lokale worker-threads für alle mit `queueDBJobs` eingetragenen
Jobs an.

Jobs.TH : Templatehaskell für den dispatch mechanismus für Jobs

Jobs.Crontab : Generiert Crontab JobCtl aus der Datenbank (sammelt alle in den Daten aus der Datenbank impliziten Jobs (notifications zu bestimmten zeiten, aufräumaktionen, ...) ein)

Jobs.Handler.** : Via Jobs.TH delegiert Jobs das Interpretieren und Ausführen eines Werts aus Jobs.Types an einen dieser Handler

Mail : Monadically constructing MIME emails