Open jaanleppik opened 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
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?
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.
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
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.
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.
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
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?
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.
pakun, et peaks siis tegema mõlemat:
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.
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
Tabelis on see, mujal ma andemete töötlusega tegelema ei tahaks hakata.
palun csv faili näidist kah mis selle oma arvutisse saamise protseduur on?
Tabelis ei taha teha? regex abil peaks saama
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.
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.
Praegu mirrori uuendamise ja seejärel esimesel sheedil oleva estivali valiku alusel Votemo info tirimise scripti käivitamisel tuleb error
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.
@LiisKasper palun tee tabelisse väljavõte Strapist, kus oleks