Vai al contenuto

Green Agritainment (sito): accessi e procedure: differenze tra le versioni

Da Wiki Progetto di Ricerca Metodo Paret.
[versione verificata][versione verificata]
WikiBot (discussione | contributi)
Pagina operativa accessi sito Green Agritainment
 
WikiBot (discussione | contributi)
Aggiunti materiali Drive, agente linkwatch e link alla cronistoria
 
Riga 1: Riga 1:
Pagina operativa per chi deve lavorare sul sito del progetto Erasmus+ '''Green Agritainment''' (2024-1-IE01-KA220-VET-000254134). Serve a non ripartire da zero: qui c'è come si accede, cosa c'è dentro e quali sono le trappole già scoperte.
Pagina operativa per chi deve lavorare sul sito del progetto Erasmus+ '''Green Agritainment''' (2024-1-IE01-KA220-VET-000254134). Serve a non ripartire da zero: qui c'è come si accede, cosa c'è dentro e quali sono le trappole già scoperte.
Cronistoria, cosa era stato promesso nel formulario e stato di avanzamento: [[Green Agritainment (progetto): cronistoria e stato]].


Registro macchina: BigQuery <code>isicnv_properties.access_howto</code>, capability <code>prop.website.greenagritainment.com</code> e <code>ccroute.green_*</code>.
Registro macchina: BigQuery <code>isicnv_properties.access_howto</code>, capability <code>prop.website.greenagritainment.com</code> e <code>ccroute.green_*</code>.
Riga 102: Riga 104:


Su BALKAN ACADEMY (<code>UCctNyYRevi30IgYEXji_FnQ</code>) abbiamo il token <code>token-workspace-full-balcanicacademy.json</code>, che però ha solo scope di lettura: le chiamate a <code>captions</code> rispondono 403. Per caricare sottotitoli serve una nuova autorizzazione con <code>balcanicacademy@gmail.com</code> tramite <code>/oauth/start-any?account=yt-agritainment&service=youtube_write</code>.
Su BALKAN ACADEMY (<code>UCctNyYRevi30IgYEXji_FnQ</code>) abbiamo il token <code>token-workspace-full-balcanicacademy.json</code>, che però ha solo scope di lettura: le chiamate a <code>captions</code> rispondono 403. Per caricare sottotitoli serve una nuova autorizzazione con <code>balcanicacademy@gmail.com</code> tramite <code>/oauth/start-any?account=yt-agritainment&service=youtube_write</code>.
== Materiali su Drive ==
* [https://drive.google.com/drive/folders/1TlUGjNhErHw_PPgPtkWPE-lxLh_Rgpzj Cartella Agritainment] su Drive di isicnv@gmail.com
* [https://drive.google.com/file/d/1Tnw0O1d46FeXPmKO1Y-kVhPMdumMIaku/view Formulario di candidatura KA220-VET-E082690D] (94 pagine): la fonte autorevole di cosa era stato promesso
* [https://drive.google.com/drive/folders/1OI_BkuEXs52FWifg_u6H7ksM7U5CwtAw Slides Video Corso Agritainment] (Modulo 5, EN e BG)
* [https://docs.google.com/spreadsheets/d/1Js2p5t6seOuqNZZw-FM2DtfTxXNdfpx-r0j3RLTKTV4/edit Risultati del quiz]
* Archivio completo Teams: <code>Teams tutto il contenuto.zip</code>, 17,3 GB, nella cartella madre. Non entra sul disco della VM: leggerne lindice con richieste HTTP Range sullAPI Drive (EOCD ZIP64 in coda) ed estrarre i singoli file per offset con <code>zlib.decompress(data,-15)</code>.
== Controllo automatico dei link ==
Agente <code>/home/claudeuser/agri_watch/linkwatch.py</code> sulla VM, in cron ogni giorno alle 6:17 (<code>watch_cron.sh</code>, con lock). Fa il crawl del sito, verifica ogni link e confronta con la scansione precedente distinguendo nuovi rotti da risolti. Notifica via <code>sovra/avvisa.py</code>: informativo se ci sono rotti, rumore se e tutto a posto. Ultimo esito in <code>linkwatch_last.json</code>.


== Documentazione ==
== Documentazione ==

Versione attuale delle 11:30, 21 ago 2026

Pagina operativa per chi deve lavorare sul sito del progetto Erasmus+ Green Agritainment (2024-1-IE01-KA220-VET-000254134). Serve a non ripartire da zero: qui c'è come si accede, cosa c'è dentro e quali sono le trappole già scoperte.

Cronistoria, cosa era stato promesso nel formulario e stato di avanzamento: Green Agritainment (progetto): cronistoria e stato.

Registro macchina: BigQuery isicnv_properties.access_howto, capability prop.website.greenagritainment.com e ccroute.green_*.

Accesso: si passa dalle route CC, non da SSH

Il sito sta su hosting condiviso, utente bsgvwjte (non isicnv). Docroot reale:

/home1/bsgvwjte/greenagritainment.com/

Non c'è accesso SSH. Si lavora con le route del Command Center, chiave fb17164b09be4b32bfd082ccd54ff651:

Route Uso
GET /green/fs-read?key=..&path=.. legge un file dal docroot
POST /green/fs-write scrive un file testuale (JSON: path, content)
GET /green/fs-list?key=..&path=.. elenca una cartella
POST /green/db query sul DB WordPress (JSON: query, mode=select oppure exec)
GET /green/wp/pages?key=.. elenco pagine

Base: https://sheets-connector-424757051842.europe-west1.run.app

Le tre trappole che fanno perdere ore

1. I file binari non passano da fs-write

/green/fs-write non accetta content_b64: risponde 500. Per caricare PDF, PPTX, DOCX o immagini serve uno script PHP monouso:

  1. genera un token alfanumerico
  2. con fs-write deposita cc-up-TOKEN.php che fa base64_decode(file_get_contents('php://input')), scrive sotto wp-content/uploads/agritainment-library/ e restituisce {ok, bytes, md5}
  3. POST --data-binary del file base64, con User-Agent browser completo (ModSecurity blocca gli UA vuoti)
  4. confronta md5 locale e remoto
  5. neutralizza lo script con <?php http_response_code(410); exit;

Verificato su oltre 130 file, fino a 96 MB, zero mismatch.

2. I contenuti Elementor non stanno in post_content

Stanno in wp_postmeta._elementor_data, come JSON. Chi cerca un link rotto interrogando post_content non trova niente e conclude che il link non esiste.

Per modificare una pagina: leggi il JSON via /green/db, modificalo, poi deposita uno script cc-fix-TOKEN.php che fa require wp-load.php e:

update_post_meta($pid,'_elementor_data', wp_slash($json));
delete_post_meta($pid,'_elementor_element_cache');
delete_post_meta($pid,'_elementor_css');
\Elementor\Plugin::$instance->files_manager->clear_cache();

Senza le due delete_post_meta e il clear_cache la pagina continua a mostrare la versione vecchia. Fai sempre un backup del JSON prima. Neutralizza lo script dopo l'uso.

3. Il multilingua è GTranslate, non ci sono traduzioni umane

Il sito usa GTranslate: traduzione automatica lato client. Nel database non esiste nessuna traduzione: gli errori segnalati dai partner non sono correggibili "cercando la stringa sbagliata".

Si correggono in due modi: intervenendo sul testo inglese sorgente, oppure marcando i termini come non traducibili. Il marcatore che funziona è questo, con gli spazi e la punteggiatura dentro lo span:

 agritainment. 

Se metti lo span "nudo", GTranslate assorbe gli spazi ai bordi e incolla le parole ("agritainmentAcesta"). Senza marcatore, Google traduce sistematicamente agritainment in agrotainment, cioè sbaglia il nome del progetto.

Cosa c'è sul sito

Pagine WordPress chiave: Home 269, Results 1175, Partners 1177, Materiale didattico 1730; choose-your-module ENG 1568, ITA 1537, BG 1584, RO 1750, GR 1754.

Pagine statiche nel docroot, tutte in cinque lingue con parametro ?lang=:

  • quiz-final.html — quiz finale, 6 moduli, certificato
  • r3-tool.html + r3-api.php — strumento psicometrico R3, 40 item, grafico radar
  • course-materials.html — materiali filtrabili per modulo e lingua
  • project-library.html — 40 documenti di progetto
  • events.html, meetings.html, webinar.html

Navigazione del corso: mu-plugin wp-content/mu-plugins/agri-course-nav.php, che inietta indice del modulo, precedente/successiva e griglia dei 6 moduli su tutte le 37 pagine-lezione. Si disattiva rimuovendo il file.

File scaricabili: wp-content/uploads/agritainment-library/, sottocartelle mod5, mod6, transcripts, library, media.

I video sono su sei canali YouTube diversi

Non esiste un canale unico "Agritainment". Un modulo per partner:

Modulo Canale
1 Irlanda Shannon College of Hotel Management
2 Italia Progetti Erasmus
3 Cipro Digital Media Stando
4 Romania T.H.E. Management
5 Bulgaria BALKAN ACADEMY
6 Grecia George Konsoulas
Webinar BALKAN ACADEMY

Su BALKAN ACADEMY (UCctNyYRevi30IgYEXji_FnQ) abbiamo il token token-workspace-full-balcanicacademy.json, che però ha solo scope di lettura: le chiamate a captions rispondono 403. Per caricare sottotitoli serve una nuova autorizzazione con balcanicacademy@gmail.com tramite /oauth/start-any?account=yt-agritainment&service=youtube_write.

Materiali su Drive

Controllo automatico dei link

Agente /home/claudeuser/agri_watch/linkwatch.py sulla VM, in cron ogni giorno alle 6:17 (watch_cron.sh, con lock). Fa il crawl del sito, verifica ogni link e confronta con la scansione precedente distinguendo nuovi rotti da risolti. Notifica via sovra/avvisa.py: informativo se ci sono rotti, rumore se e tutto a posto. Ultimo esito in linkwatch_last.json.

Documentazione

  • Log completo degli interventi: Google Doc
  • Registro delle traduzioni, con inglese e lingua affiancati riga per riga: Google Doc

Avvertenza sul lavoro in parallelo

Su questo sito hanno già lavorato due chat contemporaneamente, sovrascrivendosi token e file. Prima di scrivere un file che esiste già, rileggilo dal server e applica solo il tuo delta.