CMS OpenCity per PA

Buongiorno, qualcuno ha installato ed usato, anche in parte delle sue funzionalità, il CMS OpenCity per i portali della PA? Mi risulta che tante funzionalità non sono attive e tanti dettagli non funzionano correttamente, a partire dalla pubblicazione del nome dell’Ente, alla customer satisfaction, alla modifica dell’ente dipendente, ecc. ecc.

Grazie

Che cos’è in concreto il CMS OpenCity?

La pagina https://opencityitalia.it/ parla di

Un prodotto open source disponibile in modalità SaaS

Ma nel sito non vedo istruzioni su come scaricare, installare o modificare il codice.

Esplorando il loro profilo in Gitlab[.]com si arriva a Opencontent / OpenCityItalia - sito web · GitLab e Manuale OpenCity — Manuale Open City version: latest documentazione da cui sembra che sia una specie di distribuzione di EZ Publish, è cosí?

Si, ti confermo che è una distribuzione di EZ Publish.
Noi lo abbiamo ma in SaaS, mi è venuta una mezza idea di provare ad installarlo in locale ma non ho abbastanza competenze.

1 Mi Piace

Ciao John, visto che ce l’hai e probabilmente avrai già avuto modo di eseguire delle modifiche, potresti dirmi come modificare i valori evidenziati nell’immagine allegata a questo post?
Grazie in anticipo.

Ciao, quando sei in una pagina, per poter procedere ad effettuare delle modifiche devi selezionare la penna che si trova nel menù in alto.
Le cose che mi chiedi me le sono trovate fatte.
Per modifiche un pò più importanti devi intervenire dal backend che si trova (sempre nel menù in alto) sotto la voce “Amministra”.
Lavorando dal backend l’aspetto è un po’ più simile agli altri CMS con cui mi sono trovato a lavorare (Joomla e WP).

Si John, ma anche dal backend non si riesce a modificare i dati che ti ho evidenziato.

Ciao a tutti
Sono il mantainer della soluzione.
La versione del software presente in developers italia è il modello del sito realizzato in collaborazione con l’allora team digitale nel 2019.
Attualmente stiamo lavorando sulla nuova versione compliant con il modello aggiornato con il PNRR che ancora non è pubblicata su developers italia. Prevediamo di pubblicare nel prima metà del prossimo anno.

Il titolo del sito e il nome/link dell’ente sono salvati nelle configurazioni statiche del sito: per modificarle puoi lavorare sui file di configurazione che trovi in html/settings/override o più semplicemente modificare le variabili d’ambiente che trovi qui docker-compose.yml · master · Opencontent / OpenCityItalia - sito web · GitLab

EZINI_site__SiteSettings__SiteName: "OpenCity"
EZINI_site__SiteSettings__SiteURL: "opencity.localtest.me"
EZINI_openpa__InstanceSettings__NomeAmministrazioneAfferente: "OpenContent"
EZINI_openpa__InstanceSettings__UrlAmministrazioneAfferente: "https://www.opencontent.it/opencity"
EZINI_openpa__GeneralSettings__tag_line: "Il sito web per l'ente pubblico"
1 Mi Piace

Grazie mille Luca, informazioni utilissime, ma non mi è chiaro se è volutamente così, questi dati dovrebbero essere modificati da interfaccia, non da file di configurazione.

Grazie ancora

Vero: la configurazione andrebbe gestita da interfaccia.
Ma abbiamo deciso di precludere questa possibilità per una questione di generazione della cache ma soprattutto di “protezione” dagli errori che abbiamo visto capitare piu’ di qualche volta (per cui veniva erroneamente modificato il nome del sito).

Ciao Luca, ho appena installato in locale il container di OpenCity, il portale lo raggiungo e lo visualizzo, ho un problema, le immagini, che puntano con indirizzo assoluto su “minio” non sono visibili perchè irraggiungibili (https://minio-opencity.localtest.me/opencity-bucket/var/opencity/storage/images/opencity/1298-1-ita-IT/OpenCity_header_logo.png), infatti lo storage mi restituisce:

<Error>
<Code>AccessDenied</Code>
<Message>Access Denied.</Message>
<Key>var/opencity/storage/images/opencity/1298-1-ita-IT/OpenCity_header_logo.png</Key>
<BucketName>opencity-bucket</BucketName>
<Resource>/opencity-bucket/var/opencity/storage/images/opencity/1298-1-ita-IT/OpenCity_header_logo.png</Resource>
<RequestId>1737685898E49EFC</RequestId>
<HostId>e1b6c67e-4174-4705-94a6-387426f04da4</HostId>
</Error>

Inoltre, anche la home di minio non è raggiungibile: minio.opencity.localtest.me, mi restituisce l’errore “404 page not found”, come posso risolvere?

P.s.: tutti i seguenti URL mi restituiscono “404 page not found”:

solr.localtest.me/solr
traefik.localtest.me:8080
mailhog.opencity.localtest.me
pgweb.opencity.localtest.me
minio.opencity.localtest.me

Grazie in anticipo

Ciao Stefano
grazie della segnalazione: ho appena commitato in master un paio di fix che risolvono quanto mi chiedi

I link ora corrispondono a quanto si legge nel readme

Rispetto a prima cambiano i link alle interfacce web di traefik e di solr
Rimane il fatto che il browser lamenterà un errore di certificato non valido e perciò gli va detto di procedere.

Eseguendo un git pull del repo e poi docker-compose up -d dovrebbe funzionare.
Fammi sapere se ci sono problemi
Grazie
Luca

Ciao Luca, ho eseguito l’installazione, gli accessi ai vari servizi sono funzionanti, però non saprei con quali credenziali entrare nel pannello di controllo di Minio raggiungibile all’url minio.opencity.localtest.me, inoltre avrei bisogno di farti qualche domanda:

  • per la visualizzazione delle immagini, è possibile installare un certificato in locale in maniera che funzioni correttamente l’https?
  • se volessi installare più siti sul mio pc in locale, separati ed indipendenti tra loro, come potrei configurare correttamente il file docker-compose.yml? Ho provato ma ovviamente si creano conflitti sulle porte, ho provato a modificare le porte ma risultano comunque conflitti che comportano il non raggiungimento di nessun sito installato. Esiste una maniera?
  • il CMS OpenCity, è predisposto ad essere miltisites? Intendo dire di avere un master ed “n” slave?

Mi piacerebbe capire bene il funzionamento e le potenzialità di questo prodotto.

Grazie in anticipo

  • per la visualizzazione delle immagini, è possibile installare un certificato in locale in maniera che funzioni correttamente l’https?

Ciao @Stefano.Dev,
l’ambiente che si può scaricare dal repository è ovviamente pensato solo per lo sviluppo locale, quindi l’https è volutamente trascurato per semplificare il setup: generare/gestire certificati self-signed in locale non è alla portata di tutti quelli che capitano su quel repository.

In produzione è traefik stesso a generare i certificati SSL con letsencrypt, ma ovviamente è necessario avere un dominio vero, non funziona con localtest.me.

E’ comunque possibile configurare traefik in locale con https usando appunto un certificato autofirmato, se vuoi cimentarti trovi un esempio nel repo traefik-playground: è vecchiotto ma potrebbe ancora funzionare.

  • se volessi installare più siti sul mio pc in locale, separati ed indipendenti tra loro, come potrei configurare correttamente il file docker-compose.yml? Ho provato ma ovviamente si creano conflitti sulle porte, ho provato a modificare le porte ma risultano comunque conflitti che comportano il non raggiungimento di nessun sito installato. Esiste una maniera?

Certo, puoi fare come facciamo noi in SaaS, un solo traefik per dominarli tutti :slight_smile:

Quello che tu hai in locale assomiglia a questo (ti estraggo un pezzo di architettura, non prendermi alla lettera):

Quello che vuoi fare è:

Ci sono molti modi per dire a traefik di fare da webrouter per tanti servizi (è il suo compito principale), per prima cosa devi però separare traefik dai siti e farlo partire in uno stack separato.

Noi usiamo Docker come provider per la configuration discovery e se scorri le configurazioni del nostro docker-compose vedrai che usiamo semplicemente le direttive di questa pagina del manuale: Traefik Docker Documentation - Traefik .

  • il CMS OpenCity, è predisposto ad essere miltisites? Intendo dire di avere un master ed “n” slave?

Si, ma non c’e’ un master e tanti slave, ci sono tanti siti ognuno con il suo frontend (il sito dell’Ente) e un suo backend (l’accesso dei redattori): noi gestiamo diverse istanze multisito di opencity, che servono da poche decine a diverse centinaia di siti distinti. La multitenancy implementata è del tipo one-code-many-databases, il codice è lo stesso per tutti i siti, ogni sito ha però il suo db e il suo core di solr dedicato. La configurazione in quel caso non può avvenire mediante variabili d’ambiente, sarebbe troppo complicato, è più comodo gestire un set di file .ini per ogni sito.

Un saluto
Lorello

@lorello & other Devs

Volevo testare in locale il progetto che ho trovato sul repo opencontent/opencity
Ho seguito le istruzioni scaricando il branch master e eseguendo i comandi indicati per lo start del progetto:

docker-compose up -d

ma purtroppo in fase di download delle dipendenze con composer vedo che parecchie dipendenze non vengono trovate ad esempio ne segnalo una a caso (ma sono parecchie)

Downloading symfony/event-dispatcher-contracts (2.5.x-dev e3365cc)
Failed to download opencontent/ocembed-ls from dist: curl error 28 while downloading https://api.github.com/repos/OpencontentCoop/ocembed/zipball/bfc1ec4c48c5ce3a02d0e549ab9c357b22597560: Resolving timed out after 10000 milliseconds
Now trying to download from source

e come se nei repos remoti non sono presenti o non ci sono più le versioni richieste.
Ho provato anche ad eseguire un installazione manuale ottengo lo stesso problema quando lancio il composer.json.
Volevo chiedere ai mantainer o altri devs se qualcuno ha lo stesso problema e/o come risolvere, se magari sbaglio io o bisogna startare il progetto in altro modo.
grazie

ciao @Antonio_Di_Cello forse stai guardando un repo datato, il repo del CMS è questo: Opencity Labs / Opencity Italia - Sito istituzionale / OpenCityItalia - Sito istituzionale · GitLab
ed è quello linkato dalla pagina di developers italia.
Fammi sapere se così va meglio :slight_smile:

Come faccio a modificare la configurazione passando da localtest.me ad un dominio esterno, dove devo intervenire? Grazie

Ciao Andrea,
le immagini dell’applicativo che rilasciamo come docker images sono tutte configurabili mediante variabili d’ambiente: le configurazioni sono all’interno del file docker-compose.yml

Se non hai esperienza pregressa con docker ti consiglio di approfondire iniziando dalla documentazione ufficiale di Docker.

Un saluto
L

Grazie, risolto. Ho visto che c’è un template completo ma non capisco come strutturare alcuni contenuti, nel manuale si parla dell’oggetto organigramma ma tra quelli disponibili non si trova, inoltre la sezione amministrazione trasparente da backend visualizza un errore (La pagina richiesta non può essere mostrata (20) e punta al link /backend/Amministrazione-Trasparente)e non si capisce come integrarla. Grazie