You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
95 lines
2.6 KiB
95 lines
2.6 KiB
|
|
|
|
Hauptsächlich ist es ein mediakit; |
|
d.h. imagekit erweitert auf alle arten von dateien (letztendlich inkl. document), |
|
das eine grundsätzliche struktur bietet |
|
|
|
1. für automatische konvertierung in jeweils andere formate |
|
denkbar eben auch bild -> pdf, film -> bild etc., pdf -> epub |
|
conversion-quere mit celery |
|
klarer state "noch nicht konvertiert" |
|
|
|
2. klare dateisystemverwaltung der originaldateien + automatische / manuelle konvertierungen |
|
manuelle konvertierung heißt: die automatische konvertierung kann jederzeit überschrieben werden |
|
|
|
3. zugriffskontrolle: |
|
grundsätzlich ist keine datei öffentlich zugänglich, |
|
specs können mit zugriffskontrolle (anonym etc.) zugänglich gemacht werden, |
|
dazu wird x-sendfile u.ä. verwendet |
|
|
|
4. benennung: |
|
öffentlich zugänglich sollten alle dateien über generierte |
|
namen sein, also slug + konvertierungstyp, so dass heruntergeladene dateien sinnvoll benannt sind |
|
|
|
5. umgang mit mehrseitigen dokumenten, also |
|
mehrseitige PDF-dokument in bilder zu verwandeln |
|
über spezial-descriptor, der page_count und page[index] zurückgeben kann? |
|
dann auch jeweils alle seiten im cache ablegen? |
|
|
|
6. jeder asset bekommt eine eindeutige globale uuid, für interoperabilität mit z.b. iiif |
|
|
|
7. chunk upload |
|
|
|
8. batch upload |
|
|
|
|
|
imagekit |
|
processors |
|
pilkit-processors |
|
neue processors: |
|
movie |
|
pdf |
|
assure conversion processors: |
|
assure_image |
|
schaut, wie die ursprungsdatei (z.b. film, pdf) in ein bild konvertiert werden muss |
|
|
|
|
|
brauche async-processors |
|
die also zwangsläufig die konvertierung an einen anderen prozess auslagern (ffmpeg), |
|
und darüber aber bescheid wissen; |
|
vermutlich ist es richtig, ein lock-file zu schreiben mit z.b. eine pid; oder evtl. einem celery-task-id |
|
|
|
|
|
cachefiles |
|
Cachefile ist gleich konvertierte Datei; |
|
Cachefile sollte auch immer das manual-pedant verwalten/checken; |
|
s.a. CacheFileState: |
|
MANUAL_OVERRIDE |
|
cachefile backend schreiben, dass unsere dateisystemlayout implementiert |
|
|
|
|
|
zugriffskontrolle |
|
möglichst über extra modul realisieren; |
|
permissions als zusätzl. config, nicht integriert in specs |
|
zugriffspfad über urls.py/views |
|
d.h. mediakit selbst liefert alles direkt aus dem filesystem aus |
|
außer: originaldateien; diese sollten immer abseits gespeichert werden, damit alles öffentlich mindestens durch specs kontrollierbar ist |
|
|
|
|
|
brauche eigene ImageKitConf |
|
|
|
SourceGroup? |
|
|
|
MovieSpec |
|
|
|
PDFSpec |
|
|
|
TextDocumentSpec |
|
better: MarkupSpec? |
|
TextFormatSpec? |
|
html |
|
doc |
|
docx |
|
odt |
|
epub |
|
markdown |
|
rst |
|
|
|
|
|
|
|
Admin/Upload per Rest-Interface, |
|
aufwendigem Widget |
|
d.h. in Django-Struktur ist nur das original_file-Feld |
|
|
|
|
|
|
|
|