poff-bnff / web2021

1 stars 0 forks source link

Strapist tabelisse filmide ja kassettide info koos F_1 _med_16_9 pildiga #595

Open jaanleppik opened 2 years ago

jaanleppik commented 2 years ago

@LiisKasper palun tee tabelisse väljavõte Strapist, kus oleks

LiisKasper commented 2 years ago

Jaan Leppik Hommikust! 10:27 AM @Liis Käsper kuna eile õhtul tuli vist lõpuks otsus, et ikka teeme Votemoga koostööd, siis palun tee selline info väljund strapist 10:28 AM ja mina laen yles rohkem filme, mille oleks votemo slug’e 10:30 AM tabeli mõte on selles, et me saaksime Votemo süsteemi kasutuse sisendi

LiisKasper commented 2 years ago

Nagu aru saan siis tahad tabelit kahe sakiga films ja cassettes. Ühel siis kõik filmid ja teisel kassetid nimetatud infoga.

Kas seda päringut peab saama teha korduvalt või piisab kui teen tabeli valmis ja tehtud?

tabeli mõte on selles, et me saaksime Votemo süsteemi kasutuse sisendi

Mida selle all silmas peab? Läbi selle tabeli peab midagi veel toimuma?

jaanleppik commented 2 years ago

Ideaalis tahaks et film ja kassett oleks ühel sheedil, või siis vähemalt seosed nende vahel oleks olemas. mis cassette'i iga film kuulub Päringut peaks saama välja kutsuda, Päring peaks töötama festival editioni ID'de loetlu alusel

Edasi siis hakkan ise valemeid kirjutama, et meie tabeli info alusel täita Votemo tabelid.

LiisKasper commented 2 years ago

Kogu kassettide ja filmide relatsioonide infot Strapis korraga kätte ei saa, tundub, et maht liiga suur ja Strapi saab enne 504 timeout. Sellest ka JSON vead, mida pidasin vääraks dataks. Igatähes baasis midagi ei leidnud ja parandada ei osanud.

Lahendasin teema nii, et kuna soovisid vastavalt festval editionile andemid, siis nüüd nii ongi,( ühe fe mahuga saab Strapi seni hakkama.) Toimetaja sisestab Festival Editioni (sakk 'VotemoBaseDataFromStrapi' kast A2), mille andemid soovib trida, päring tehakse otse Strapisse, et küsida relatsioone. St koodis on sees token, mida kasutame ka mirrori juures. Seda tuleb selles koodis samuti vahetada, kui token vananeb. Päringu tegemisel kustutakse tabelid tühjaks ja asendatakse uue infoga. Kasutuses on ka mirror, sealt tuleb filmide ja kassettide info. Mirror uuendatakse automaatselt scripti lõpus. Kuna päringu ajal on tabelid tühjad ja script ei toimiks.

Tabel: https://docs.google.com/spreadsheets/d/1o4mQMYNhSXZl6d_0djJW5TJ6JC_PfLYZcCNvO3U7l00/edit#gid=0

jaanleppik commented 2 years ago

Vaatan, et on kõik pildid, aga nende originaalid. Aga siia oleks vaja ainult F_1 ja med_16_9 versiooni. Sest selle edastame otse Votemo süsteemile, kus enam mingit automaatset resize ei toimu. Siis peaks testima, et kuidas me selle pildi faili nime alusel assets kataloogi URLi lisamisega pildi terve URLi kokku saame.

jaanleppik commented 2 years ago

Eesmärk ol saada selline URL iga filmi / kasseti F1 pildi kohta: https://assets.poff.ee/img/F_1_10_Billion_Mouths_17ecb3156b_med_16_9.jpeg

cassettes.et.yaml annab sellise info selle pildi kohta:

                                    id: 13330
                                    name: F_1_10_Billion_Mouths
                                    width: 1920
                                    height: 1080
                                    formats:
                                        _med_16_9:
                                            url: >-
                                                /uploads/F_1_10_Billion_Mouths_17ecb3156b_med_16_9.jpeg
                                            name: F_1_10_Billion_M_med_16_9
                                        thumbnail:
                                            url: >-
                                                /uploads/thumbnail_F_1_10_Billion_Mouths_17ecb3156b.jpeg
                                            name: thumbnail_F_1_10_Billion_Mouths
                                        _small_16_9:
                                            url: >-
                                                /uploads/F_1_10_Billion_Mouths_17ecb3156b_small_16_9.jpeg
                                            name: F_1_10_Billion_M_small_16_9
                                    hash: F_1_10_Billion_Mouths_17ecb3156b
                                    ext: .jpeg
                                    url: >-
                                        /uploads/F_1_10_Billion_Mouths_17ecb3156b.jpeg

E siin on hash ja extension ja eri versioonid, aga URLid on miskipärast mitte /assets vaid /uploads kataloogiga.

LiisKasper commented 2 years ago

GrapQl pildi formaate ei tagasta. Saan tagasi ainult esimese kihi info. id, name, alternativeText, caption, width, height, hash. ext, url. Pole ainult meie mure: https://forum.strapi.io/t/media-library-graphql-thumbnail-error/286

cassettes.et.yaml annab sellise info selle pildi kohta:

me ei saa sama infot praphql pärinuga.

E siin on hash ja extension ja eri versioonid, aga URLid on miskipärast mitte /assets vaid /uploads kataloogiga.

saan sulle tagastada hash ja ext ja url (url ongi strapis uploads kaustas, ka graphql tagastab uploads, assets urli panin ise kokku)

me võime püüda iga urli lõppu ise lisada _med_16_9.jpeg aga ei saa lubada, et selline fail tegelikult ka olemas on. Kui pildi mõõdud algatuseks pole klappinud, siis sellist faili pole. Või teeme selle päringu kuidagi teisiti, nt iga kord käivitad skripti koodi juures ja saad vastuseks txt faili vms ja paned käsitsi tabelisse.

Kui soovid vaadata/testida mis andmeid graphql päringuga kätte saad siis tuletan meelde, et Strapil on selleks endal playground https://admin.poff.ee/graphql (http headers lisa hetkle kettiv token "{"Authorization":"Bearer ...token...} ja tee vastav query nt:

query {
   films {
    stills {
      id
      hash
    }
  }
}

Aga see pole vist sulle võõras

jaanleppik commented 2 years ago

Kui meil on eesmärgiks saada selline pildi version - kas me siis ei võiks Strapist lugeda tabelisse infot just neist yaml failidest? Seal on info olemas, strapi on selle buildiga kokku pannud. kas me ei saa võtta YML faile ja sealt lugeda, mis meil vaja?

LiisKasper commented 2 years ago

Saab yaml konvertida csv v txt failiks vms. Saab seda teha build käigus või käsitsi skripti käivitades. Kumbki ei täida ise tabelit. Tabel,minu arusaamist mööda, saab heal juhul lugeda mingit avalikku infot, nt nagu PL.txt fail meil on. Ilmselt saab ka interneti konverterteriga käsitsi ühte tüüpi faili teiseks muuta.

Saab teha tabelis päringu Strapi uploads pihta (mitte graphql), sealt saab info kätte. Aga kogu see toimingute jada läheb päris pikaks ja mahukas, Kindlasti tekib seal tõrkeid ja seletamatud info kadumisi jne Lisaks usun, et see võib olla ka suur turvarisk, kui paneme salasõnad ja kasutajanimed koodi sisse. Kuigi grapql token juba on, aga see uueneb mõne aja möödudes. Ilmselt on veel võimalusi, aga ei oska hetkel pakkuda.

jaanleppik commented 2 years ago

pakun, et peaks siis tegema mõlemat:

  1. Hashi alusel panema kokku pildi assets dir'i url'i, _med_16_9 versioonile
  2. leidma viisi, kuidas kontrollida, kas see fail on tegelikult olemas - selleks saaks siis YAML faili konvertida CSV'ks ja sealt kontrollida. E seda csv kujul olevat YAMLi tahaks proovida küll. See ei pea käima eriti automaatselt - kui saame selle tehtud Strapis, siis saaks ta käsitsi kopeerida tabelisse ja siis tabelis vajaliku info sealt leida. Ehk saame sealt kõik, mis vaja.
LiisKasper commented 2 years ago

Tabelis olemas vastava urliga stillid, Nagu aru sain, siis kõiki polnud vaja ainult F_1 .... hash.ext CSV tekitamisega on keerulisem, oleme seni kõiki selliseid konvertimisi teinud onlinetools abil. Tegin skripti (helpers/cassettes_csv.js) meie koodi juurde, mis loeb sisse allStrapidata Cassette.yaml (pole domeeni arvestatud ) ja muudab selle kohmakaks csv failiks (source/cassettes.csv). Mida saab importida tabelisse. Kuna data on erinev ja sügav, siis tuleb seda csv faili väga mõttega lugeda.

jaanleppik commented 2 years ago

nyyd oleks veel vaja sellest [{"id":"528","name":"F_1_One_Mango_Please.jpg","hash":"F_1_One_Mango_Please_49a231a14e","ext":".jpg"}] saada see F_1_One_Mango_Please_med_16_9_49a231a14e.jpg

LiisKasper commented 2 years ago

Tabelis on see, mujal ma andemete töötlusega tegelema ei tahaks hakata.

jaanleppik commented 2 years ago

palun csv faili näidist kah mis selle oma arvutisse saamise protseduur on?

jaanleppik commented 2 years ago

Tabelis ei taha teha? regex abil peaks saama

LiisKasper commented 2 years ago

Tegin skripti ümber, tagastab ainult kasseti ja temaga seotud filmide stillide nimed kui olemas _med_16_9. Skripti saab tööle nagu kõik teisedki, paned käima. Mina kasutan terminali ma enam ei mäleta, kuidas vscode käis. Peale käivitamist tekib csv fail source kataloogi. Lisasin ka gitignore selle faili.

LiisKasper commented 2 years ago

Skripti käivitamisel tekib nüüd helpers kausta temp kaust (lisatud gitignore), kuhu tekib fail cassettes.csv fail. Kuna Jaan ütles, et tal pole aega õppida, kuidas ise skripti tööle saada, siis lisasin tabelisse sakile CSV_copy nimekirja kõigist stillides, mis seotud cassette või film objektiga ja millel olemas _med_16_9 formaat. (cassettes.csv faili sisu) St sakil ongi nimekiri kõigist _med_16_9 nimetusega/suurusega stliidest mis nimetatud objektidega seotud.

jaanleppik commented 2 years ago

Praegu mirrori uuendamise ja seejärel esimesel sheedil oleva estivali valiku alusel Votemo info tirimise scripti käivitamisel tuleb error Screenshot 2022-11-15 at 06 45 00

LiisKasper commented 2 years ago

EI oska põhendada, Nagu erroris kirjas, siis info on 11 tulbas aga etteantud range 10 Varemalt toimis, ei tea mis vahepeal muutunud. Hetkel tundus jälle toimivat.