-
-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Description
- Vytvořit demo pro otestování lambdy
- Upravit aplikaci
- https://aws.amazon.com/blogs/compute/resize-images-on-the-fly-with-amazon-s3-aws-lambda-and-amazon-api-gateway/
- https://github.com/awslabs/serverless-image-resizing
- https://github.com/sailyapp/aws-s3-lambda-thumbnail-generator
Inspirace
- Glide
- Cloudinary
- imgIX - We can focus on image manipulations from this API
Todos
- 🆕 Update Lambda to work on Node 8.1, Node.js 6.10 will soon be EOL
- Upravit lambda funkci aby zachovávala formát dle
pf:1parametru dle obrázku (dlé přípony?) - V případě jakékoliv chyby aby vrcela info o chybě a ne
{"message": "Internal server error"} - Vracela noimage v případě, že originál neexistuje
- Ověrovat
pixel densityjen když je nastaveno přesEnvironment variables+ napojit doModifierFactory(aktuálně je to tam duplicitně) - Ověřovat
resolutionsjen když je nastaveno přesEnvironment variables - Metoda
modifier.getOriginalUri()je primitivnístring replace, otázkou jestli by se spíše neměla skládat - Rozdělit alespoň do 2 souborů?
- Dopočitávát druhý rozměr, pokud je zadaný jen jeden
- V případě že je zadaný jen jeden rozměr, ověřovat
widthrespheightz povolenýchresolutions. Dívá se jen na zadaný rozměr, ne kombinaciwidth x height -
getParsedValue()nevim jestli je uplně šťastné - Command který promaže všechny resiznuté obrzky - ponechá jen originály. Může brát v potaz ještě parametr
path, ať se dají smazat jen konkrétní "zmenšeniny". Ideálně to udělat interaktivní: Do you want to delete 101 images infiles-stage.sexr.cz/flag/*path? - Přidat podporu "debug" modu. Když ručně přidám do url nějaký parametr, např.
debug=1, nevygeneruje se náhled, ale vypíšou se detailní informace o stavu - požadované rozlišení, realné, povolené rozlišení, url ap. Zkrátka co nejvíce informací. možnost volat i bez obrázku. Globalně by se to mělo dat vypnout v lambdě. - Generovat thumby s offsetem (uživatel si definuje posun per obrázek v jedné ose a udělá se čtvercový thumb)
- 🆕 Snížení kvality při ukládání obrázku tak, aby byl nejlepší pomer kvalita/velikost https://github.com/imagemin/imagemin
- Vyhodit
qualitydo ENVu - Deploy lambdy
- Rozsekání do repositářů
- Dokumentace
- Článek (PR)
Požadavky na Lambdu
- Generování thumbů
on the fly - Vygeneruje náhled o potřebných rozměrech (320x640, 90x90, ...)
Umí vygenerovat náhled s offsetem (je-li nastaven)- Mazat soubory na které se nešáhlo, např. víc jak 1 rok (požadavek spíše na S3)
Požadavky na aplikaci
- Upload obrázků na S3
- Manipulace s uživatelskými obrázky (otočit doleva|doprava|horizontálně|vertikálně)
- Po jakékoliv manipulaci s obrázkem by mělo dojít k odstranění všech miniatur daného obrázku
- Odstranit
- Nastavit jako avatar (hlavní)
- Nastavit cover (vedlejší)
- Vegenerovat URL obrázku bez použítí AWS S3 service
- Podpora
pixel density[1, 2, 3, 4], desetiny budeme zaokrouhlovat nahoru1.5=>2a budeme jí řešit pomocíimgatributusrcsetsdpparametrem viz link - Makro pro generování obrázku v potřebném rozměru
n:img="$poi->getAvatar()->getSource(), imageManager". Pro upřesnění - ještě u elementuimgexituje atributsizes, ten byl ale prozatím přeskočil, později by mohl být jako další parametr v onom makru. Atributsrcsetje vesměs jasný, zatím cosizesbude záležet na konkrétním use case, jestli se nepletu. Toto si doplníme. smashingmagazine, vzhurudolu
Otázkou je, jestli se držet aliasů nebo rozměrů. Tak či tak musí jít a fyzické soubory. Např. pixel density nelze předat jako GET parametr, ale musí být v URL.
Měla by být zachovaná adr. struktura jako doposud (snad to půjde v rámci lambdy), tj.:
<bucket>/poiDocument/<id>/<original|size>/<filename>a<bucket>/<what>/<original|size>/<filename>pro statické obrázky (vlajky, noimage ap.)
Čili URL pak můžou být v jednom ze tvarů:
<bucket_url>/poiDocument/<id>/avatar/<filename>, propdpakavatar_2, avatar_3 a avatar_4<bucket_url>/poiDocument/<id>/90x90/<filename>, propdpak90x90_2, 90x90_3 a 90x90_4A NEBO180x180, 270x270 a 360x360
Pros
- Obrázky máme mimo aplikaci, později by se mohl upravit i upload ať to nejede přes PHP, ale rovnou na S3
- "On the fly" generování obrázků
- Nemělo by se šahat na AWS S3 službu při vykreslování HTML tagu pro obrázky (v PHP)
Cons
- Fully dependent on AWS
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels