mercoledì 18 dicembre 2019

Primefaces modificare un tema

Guida velocissima - poi eventualmente aggiorno l'articolo per mettere immagini & co.

Do' per scontato che abbiate scaricato il jar all-themes-jar


    org.primefaces.themes
    all-themes
    1.0.10*

*La versione prendete un po' quella che vi pare eh...

Aprite il jar che trovate sotto
.m2*/repository/org/primefaces/themes/all-themes/$nr_versione/$nome_del_jar
Se non avete un path personalizzato per il repo maven

A questo punto avete 2 possibilita' o modificate un tema esistente
( META-INF/resources/$nome_del_tema_da_modificare)
oppure ve ne create uno vostro. Il consiglio e' "clonare" uno esistente (che vi piace) e poi personalizzarlo - questo perche' sono troppe le variabili in gioco e rischiate di cannare qualcosa (magari di primo acchito vi sembra che funzioni tutto e poi diventa un casino sanare).

a questo punto aprite la directory del tema da modificare. Troverete un foglio di stile che si chiama theme.css
li' dentro fate le vostre modifiche/aggiunte.
Reimpacchettate il jar (oppure sostituite il file theme.css dentro il jar con quello da voi modificato).

Rimettete il jar dentro il vs. applicativo (se non dichiarate la dipendenza come provided se la va a scaricare tutte le volte - quindi dovete poi infilarla nella lib del vostro web-progetto).

Alla prossima!

Annunci strani

Ogni tanto ci si imbatte in "perle" come questa.
Posso capire che sei un'agenzia di ricerca personale e quindi scrivi quello che vuole il cliente,
perche' magari competenze specifiche non ne hai.

Posso capire che anche il cliente sta cercando di rimpiazzare QUELLA persona che guardacaso sapeva un po' di tutto.

Pero' e' un pelo assurdo ricercare una posizione per programmatore COBOL (che e' molto specifica) e nello stesso tempo chiedere di java, spring ed hibernate (che sono framework comuni per chi utilizza Java) e in piu' gia' che ci sei html/css/js (che sono specifici per un'altra posizione ancora).

Il rischio e' che le persone che hanno competenze abbastanza approfondite in un campo verranno scartate perche' non rispondono a tutti i requisiti e ti ritroverai ad assumere una persona che probabilmente sa poco di tutto...

giovedì 12 dicembre 2019

Primefaces fileupload skin simple ma ajax


Allora primefaces e' un framework molto carino - ma sul file upload c'e' un problemino... Ovvero che se si sceglie lo skin simple si perde la capacita' di upload in ajax/automatico. Quindi devi fare una post completa. Questo nella maggioranza degli scenari potrebbe non essere un problema. Anche perche' c'e' il mode "advanced" che permette l'autoupload.

Solo che il mode "advanced" non e' che sia esattamente gradevole. Nel senso va bene se ne hai uno - ma se come in $applicativo i file da caricare sono molteplici e se per ragioni di continuita' con il vecchio non puoi mettere un menu' a tendina per scegliere il tipo di file che stai caricando - fa un po' schifo avere una tabella con decine e decine di righe con tutti 'sti quadratoni.

La soluzione e' andare di css (oppure modificate il vostro tema) - cosa ci dovete scrivere?

.ui-fileupload-content{
     display:none;
}

.ui-fileupload-buttonbar{
     background:none;
     border: none;
}

Fatto - adesso potete usare la modalita' "advanced" ma che assomiglia a quella simple.

ATTENZIONE

Facendo nel modo sopradescritto lo stile si applichera' a tutti i vostri file upload (se modificate il tema solo per quel tema, se aggiungete un css per tutti punto e basta). Se non volete questo dovete crearvi uno styleclass che si applichi solo ai nomi di cui sopra.

martedì 22 ottobre 2019

Perche' non faccio programmi per gli amici

A chi non e' mai capitato? Se hai un amico che si intende di X prima o poi ti capita di chiedergli qualcosa a riguardo di X. E quello non e' un problema.

A volte capita che qualcuno ti chieda di fargli un programma.
Lo so un programma non e' qualcosa di "tangibile" come un mobile pero' e' sempre qualcosa che richiede lavoro per essere fatto.

Siccome non sono un libero professionista ma sono dipendente, le "8 ore" non posso usarle come mi pare a me ma devono essere spese a beneficio del cliente.
Questo vuol dire che qualsiasi altra attivita' deve essere fatta nel mio tempo libero.
Tempo che potrei usare per riposarmi o per stare con i miei figli.

Quindi quando mi chiedi di svilupparti un programma mi stai chiedendo di sottrarre del tempo alla mia famiglia e a me stesso.
Sviluppare un programma e' un processo molto lungo. Non e' un comodino. Che pure richiede lavoro.
Quando mi chiedi un programma io devo sapere su cosa vuoi farlo girare. Lo so che a te ti rompe i coglioni e vorresti una cosa "basta che sia" pero' ci sono cose che ho bisogno di sapere. Tipo come intendi interfacciarti? Vuoi usarlo su tutti i pc? In tal caso mi ci vuole un server. Vuoi un'applicazione da mettere su una macchina? In tal caso i dati non saranno condivisi a meno di non metter su un db-server. ... e cosi' via. La parte requisiti spesso e volentieri e' molto lunga forse anche di piu' dello sviluppo vero e proprio.

Poi una volta deciso l'ambiente bisogna decidere come dev'essere e cosa deve fare. E questo lo sai solo tu. Inutile che tu mi dica "fai te" e quando poi ti presento il prodotto non ti vada bene e volevi che facesse qualcos'altro. Mi hai fatto solo perdere tempo perche' TU non volevi perdere il TUO.

In piu' se dopo mesi di lavoro (magari sottraendo ore al giorno che avrei potuto spendere a giocare con i miei figli) ti porto il prodotto finito e tu, che ti sei stancato di aspettare, hai comprato un sw del cazzo in edicola... Beh allora mi girano pure le palle.

...ecco perche'.

mercoledì 16 ottobre 2019

Tempi Moderni


Assisto a questa conversazione (censurata per privacy & sicurezza). Penso non ci voglia un grandissimo genio per capire come mai il link allegato alla mail non funziona... Il client di posta con la quale la mail e' stata inviata si e' fermato al primo & mentre l'url e' tutto.

Perche' tempi moderni? Perche' la risposta dell'astinenza e' un sintomo di un atteggiamento sempre piu' diffuso.
Non si cerca di capire il problema. Ci si lamenta che non funziona.
Il che e' particolarmente grave se proveniente da un qualcosa che dovrebbe fare assistenza tecnica (e' l'hosting pampers di dove lavoro)

Di piu': e' stata assunta una persona del genere perche' probabilmente chi l'ha selezionato ha un atteggiamento del genere, o non ha le competenze per capire se chi stai assumendo sa fare il suo mestiere oppure no. E ancor peggio e' che la conseguenza e' che non sei nemmeno in grado di formare un futuro "professionista" (a questo punto le virgolette sono d'obbligo).

Se non avesse avuto una mail a cui rispondere probabilmente avrebbe postato la domanda su stack-overflow...

venerdì 4 ottobre 2019

Hard lesson

Allora quando entrai in $POSTO nel lontano 2015 avevano un applicativo J2EE sviluppato per Java 1.6 (rilasciata intorno al 2005) e Jboss 5 (c.ca 2007). Erano gia' all'epoca versioni "diversamente nuove". Oltretutto che java 1.6 e' afflitta da vulnerabilita' parecchio pesanti.

Il mio senso del dovere ha fatto si' che ho iniziato molto presto a fare presente i problemi derivanti da usare roba EOL (quindi non aggiornata ne' aggiornabile) e affinche' si prendesse in considerazione uno svecchiamento. Svecchiamento che consiste in una riscrittura. Perche' se cambi java devi cambiare jboss (non e' certificato). Se cambi jboss devi cambiare struttura al progetto (perche' i wildfly adottano un'architettura modulare) e devi cambiare jsf perche' wildlfy vuole jsf2.

Di conseguenza piu' che un porting e' una riscrittura. Riscrittura che molto pazientemente ho portato avanti in maniera praticamente "carbonara". Senza nessun appoggio di nessuno perche' nessuno ne vede(va) l'utilita'.

Esiste gia' un prodotto che funziona perche' devo spendere tempo e soldi per riscriverlo da capo? - Questo fondamentalmente l'atteggiamento di tutti, dalla responsabile al cliente al Digerente...

A niente e' valso lo spiegare che essendo prodotti EOL il loro supporto da parte di chiunque potrebbe cessare di botto e senza preavviso.

Fast forward ad oggi: l'applicativo non invia piu' la pec.

Mi guardo i log e
La versione del client di posta che stai utilizzando non rispetta i requisiti di sicurezza minimi richiesti dal servizio PEC. Per maggiori dettagli sui requisiti di compatibilita' vai su verifica.pec.it
Aka la versione del client con cui fai hand-shake e' troppo vecchia.

...ma guarda un po'...

Riunione stile Fuher-Bunker con gli alleati alle porte. Non riesco a smettere di ghignare lo ammetto. Ovviamente faccio presente che sul porting (che nessuno s'e' caato da anni) la pec funziona Mi rispondono che c'e' bisogno della pec SUBITO

$ME_PENSA: se mi avevi dato retta in tutti questi anni non ti saresti trovato in questa situazione.

Faccio presente che comunque la colpa e' nostra che usiamo una Java geriatrica e anche se non pronuncio le parole "te lo avevo detto" - il sorriso da stregatto lo fa al posto mio.

Dopo vari ravanamenti, spiego che le nostre macchine di sviluppo sono su jboss 5 + java 1.8 e che se anche se questa soluzione non e' certificata (jboss 5 e' certificato per la 1.6) potrebbe essere un modo per sopravvivere. Anche se per inciso non e' detto che funzioni perche' usiamo un componente "custom" sviluppato per $ENTE per autenticare la gente tramite smart card/spid & co. Questo componente la versione vecchia non funziona con la java 18 e quella nuova non e' detto che funzioni con jboss 5 (il sistemista di $HOSTING_PAMPERS in questo momento sta bestemmiando parecchio)... Vi terro' aggiornati

Quello che spero e' di riuscire a fare capire la necessita' di passare a qualcosa di piu' "nuovo" (java 1.8 e' fra i requisiti minimi e su oracle c'e' la 12 quindi non e' che sia poi cosi' nuova) lasciando perdere totalmente il vecchio, e soprattutto riuscire a far capire la necessita' non solo di aggiornarsi ma anche di rimanere aggiornati.
Tanti piccoli passi costano meno di uno gigantesco...

Aggiornamento (15/08/2021):
Non sono piu' in quella gabbia di matti (grazie a Chtulu). Quando sono andato via (quasi 2 anni fa) erano ancora a madonnare. Avevo anche proposto una soluzione "tampone" che avrebbe permesso di non cambiare la configurazione, in soldoni un applicativo REST da sviluppare su wildfly e che facesse da ponte tra il vecchio e la pec. La risposta era stata che ci sarebbe voluto troppo tempo (secondo la responsabile almeno 1 mese per andare in produzione), sono stati quasi 2 anni senza inviare pec.
Questo per farvi capire come ragiona certa gente...

mercoledì 14 agosto 2019

Statistiche del blog

Estate, caldo giornata light prima delle ferie... Tempo di statistiche.

So che siete in 3 e non ve ne pole frega' de meno, pero' quell'Amiga mi ha fatto sorridere...