Sì, la nostra installazione si basa su cool-jconon-template. L’unica differenza è che nel docker-compose abbiamo aggiunto la variable ambiente Xmx4g. Ho quindi eseguito quei comandi, ha restituito molti:
alfresco-search-services_1 | This should only happen if the content has been removed from the Solr content store.
alfresco-search-services_1 | Recreating cached doc ...
alfresco-search-services_1 | 2022-09-20 15:51:13.106 WARN (SolrTrackingPool-archive-ContentTracker-7) [ ] o.a.s.SolrInformationServer There is no cached doc in the Solr content store with tenant [_DEFAULT_] and dbId [59222].
alfresco-search-services_1 | This should only happen if the content has been removed from the Solr content store.
alfresco-search-services_1 | Recreating cached doc ...
alfresco-search-services_1 | 2022-09-20 15:51:13.106 WARN (SolrTrackingPool-archive-ContentTracker-6) [ ] o.a.s.SolrInformationServer There is no cached doc in the Solr content store with tenant [_DEFAULT_] and dbId [59224].
alfresco-search-services_1 | This should only happen if the content has been removed from the Solr content store.
alfresco-search-services_1 | Recreating cached doc ...
alfresco-search-services_1 | 2022-09-20 15:51:13.108 WARN (SolrTrackingPool-archive-ContentTracker-8) [ ] o.a.s.SolrInformationServer There is no cached doc in the Solr content store with tenant [_DEFAULT_] and dbId [59230].
alfresco-search-services_1 | This should only happen if the content has been removed from the Solr content store.
alfresco-search-services_1 | Recreating cached doc ...
E al termine l’errore bloccante non appare più (ho dovuto riavviare anche cool-jconon).
EDIT: Anche l’altro errore dei bandi cancellati (Cool-jconon - Selezioni online - n°177 da KarimSaad91) è stato risolto! Grazie come sempre per la disponibilità!
Buongiorno Marco,
riprovando la funzionalità di firma, ora non da più errore.
In merito alle Graduatorie:
il sistema genera automaticamente un documento e lo posiziona nel repository?
nel menù il alto “Graduatorie” i file occorre caricarli manualmente?
nel repository Alfresco “Selezioni On-line” la corretta struttura è la seguente
viene creata in automatico al momento della configurazione del sistema o c’è qualche prerequisito da rispettare?
no, quel menu graduatorie è utilizzato al CNR per pubblicare i bandi che hanno delle graduatorie ancora aperte che i direttori di istituto devono obbligatoriamente consultare prima di emettere un nuovo bando sulla stessa tematica.
si, da noi viene fatto dall’ufficio concorsi che aggiorna le informazioni per permettere le valutazioni di cui al punto precedente
Ciao Marco,
come è possibile gestire l’ordinamento dei campi creati in un nuovo modello?
Va fatto nei types, negli aspects o nei javascript, nel caso in quali?
Grazie
A.
in ambiente di test, dove vengono effettuate molte prove, c’è stata la necessità di ricreare l’ambiente docker, lasciando intatto il database. Dopo questa operazione non si riesce a pubblicare nessun bando, restituisce il messaggio di errore “… Bando Incompleto…” .
La proprietà presente per tutti i bandi è “P:sys:incomplete” come da screen, ma nel form di compilazione del bando non sembra esserci nessun campo obbligatorio da compilare.
Potresti indicarci chi gestisce questa proprietà per superare il problema?
Ciao, mi sembra strano se non è cambiato niente nei modelli di ALfresco, comunque quell’aspect viene aggiunto o rimosso da Alfresco in base alle property mandatory del nodo, ora vedo se trovo una funzionalità di Alfresco che almeno ti dica quale property non è valorizzata.
Ciao, ho creato uno script che puoi eseguire dalla console, che ti mostra le properties obbligatorie del nodo non valorizzate: var node = search.findNode("workspace://SpacesStore/de67c02d-9586-4199-b2f6-3ced1fbadd1d"), propertyNames = Object.keys(node.getProperties()), i= 0; while (i < propertyNames.length) { if (cnrutils.getBean("dictionaryService").getProperty(cnrutils.executeStatic("org.alfresco.service.namespace.QName.createQName", propertyNames[i])).isMandatory()) { if (node.properties[propertyNames[i]] == null) { logger.info(propertyNames[i]); } } i++; }
Buongiorno Marco,
stiamo tentando di integrare keycloak per l’integrazione dell’accesso CIE al portale.
Abbiamo configurato un’istanza di keycloak e successivamente abbiamo creato e configurato il file yml adattando le variabili realms e auth-server-url:
Adesso il cool-jconon rimanda direttamente a questa pagina di login Please sign in senza permettere la visualizzazione pubblica dei bandi.
Rispondo io per @KarimSaad91: Sì. Senza quel profilo funziona bene. Da quando viene attivato appare la “misteriosa” pagina di Login.
Tra l’altro, la pagina sembra prodotta internamente da Cool Jconon, non è un redirect a Keycloak (abbiamo anche spento Keycloak e la pagina di login continua ad apparire).
Rimuovendo quella exclusion, il sistema parte, purtroppo però al click del pulsante per l’ingresso appare {"timestamp":"2022-11-15T09:56:29.523+00:00","status":500,"error":"Internal Server Error","exception":"java.lang.NullPointerException","message":"No message available","path":"/sso/login"}
Per quanto riguarda application-keycloak.yml, dovremmo aver configurato tutto correttamente (parametri esportati direttamente dal realm)
Sembra che non venga caricato questo: cool-jconon/SSOSecurityController.java at f27412413688b436df427014f5db245df3d36347 · consiglionazionaledellericerche/cool-jconon · GitHub
La nostra installazione è basata sul Cool Jconon Template, ci sono altri passaggi per attivare keycloak?
[INFO] org.springframework.web.servlet.DispatcherServlet:547 - Completed initialization in 2 ms
[WARN] org.keycloak.adapters.KeycloakDeployment:201 - Failed to load URLs from https://sso.aspbassaromagna.it/realms/bandi/.well-known/openid-configuration
javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
at sun.security.ssl.Alerts.getSSLException(Alerts.java:192)
at sun.security.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1949)
at sun.security.ssl.Handshaker.fatalSE(Handshaker.java:302)
Caused by: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
at sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:387)
at sun.security.validator.PKIXValidator.engineValidate(PKIXValidator.java:292)
at sun.security.validator.Validator.validate(Validator.java:260)
Caused by: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
at sun.security.provider.certpath.SunCertPathBuilder.build(SunCertPathBuilder.java:141)
at sun.security.provider.certpath.SunCertPathBuilder.engineBuild(SunCertPathBuilder.java:126)
at java.security.cert.CertPathBuilder.build(CertPathBuilder.java:280)
[ERROR] org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/].[dispatcherServlet]:175 - Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception
java.lang.NullPointerException: null
at org.keycloak.adapters.OAuthRequestAuthenticator.getRedirectUri(OAuthRequestAuthenticator.java:175)
at org.keycloak.adapters.OAuthRequestAuthenticator.loginRedirect(OAuthRequestAuthenticator.java:213)
at org.keycloak.adapters.OAuthRequestAuthenticator.authenticate(OAuthRequestAuthenticator.java:275)
[WARN] it.cnr.si.cool.jconon.rest.openapi.controllers.IndexController:62 - ERROR Page Controller Status:500 Message:No message available
Ciao il problema è dovuto al certificato SSL infatti l’errore viene generato da un SSLHandshakeException potresti risolvere importando il certiticato all’interno del container un esempio lo puoi vedere qui:
Grazie mille. Ho capito, è un po’ come il certificato che serve per IO.
Speriamo di poter concludere a breve, ora aspettiamo il lato amministrativo di “onboarding”.
Ciao Marco,
abbiamo completato la parte amministrativa e stiamo testando l’ambiente in preproduzione.
Sembra che keycloak legga correttamente i dati dalla CIE, ma nel reindirizzamento al cool-jconon appare: {"timestamp":"2022-11-16T11:51:38.063+00:00","status":403,"error":"Forbidden","message":"No message available","path":"/sso/login"}
Nelle log restituisce questo:
[ERROR] org.keycloak.adapters.OAuthRequestAuthenticator:337 - failed to turn code into token
[ERROR] org.keycloak.adapters.OAuthRequestAuthenticator:338 - status from server: 401
[ERROR] org.keycloak.adapters.OAuthRequestAuthenticator:340 - {"error":"unauthorized_client","error_description":"Invalid client or Invalid client credentials"}
[WARN] it.cnr.si.cool.jconon.rest.openapi.controllers.IndexController:62 - ERROR Page Controller Status:403 Message:No message available
Suggerimenti?
Il nostro dubbio era sulla modifica di questi campi:
al momento sono invariati, tranne il logout_success_url, dobbiamo modificare altro?