A Amidasoft estem desenvolupant el portal d'Exposicions Itinerants de la Diputació de Girona (http://www.ddgi.cat/exposicions). Disn d'aquest portal, hi ha la utilitat d'enviament de newsletters amb les darreres novetats del mateix.
Fins aquí tot correcte, però amb les darreres proves, els usuaris han detectat que a Gmail (i altres webmails, com el OWA), tot el text apareix en color blau.
Debugant el sistema, hem vist que l'email que s'envia i el que mostra el Gmail són diferents: al fitxer origen, totes les etiquetes tenen un style="color:black" , mentre que, usant el Firebug, es pot comprovar que aquest atribut no apareix al mail rebut.
He trobat a http://www.emailonacid.com/blog/details/C13/12_things_you_must_know_when_developing_for_gmail_and_gmail_mobile_apps que el Gmail ignora l'atribut de color si aquest és "black", "#000" o "#000000".
Per tant, la solució és fàcil: canviar el style="color:black" per style="color:#010101"
dimecres, 20 de novembre del 2013
divendres, 14 de juny del 2013
Condicions a Oracle ignorant accents i majúscules
Moltes vegades succeeix que, en anar a escriure les condicions d'una consulta, aquestes es fan sobre camps de text que poden contenir accents, majúscules, minúscules, etc. i no es vol que aquests elements distorsionin els resultats.
Una opció (en ORACLE) és usar la funció translate.
Aquesta funció rep tres paràmetres:
Exemple:
SELECT nom
FROM usuaris o
WHERE TRANSLATE(UPPER(o.nom),'ÁÉÍÓÚÀÈÌÒÙÄËÏÖÜÂÊÎÔÛ','AEIOUAEIOUAEIOU')
LIKE TRANSLATE(UPPER('%lluis%'),'ÁÉÍÓÚÀÈÌÒÙÄËÏÖÜÂÊÎÔÛ','AEIOUAEIOUAEIOU') ;
Aquesta consulta retorna les files que tenen el camp o.nom amb valors: lluis,lluís, Lluís, Lluïs, etc.
Una opció (en ORACLE) és usar la funció translate.
Aquesta funció rep tres paràmetres:
- La cadena a tractar.
- Un conjunt de caractèrs a substituir.
- Els caràcters pels que substituir.
El que fa és, sobre la cadena a tractar, per cada ocurrència de (2), busca el caràcter que està a la mateixa posició de (3) i el canvia.
Exemple:
SELECT nom
FROM usuaris o
WHERE TRANSLATE(UPPER(o.nom),'ÁÉÍÓÚÀÈÌÒÙÄËÏÖÜÂÊÎÔÛ','AEIOUAEIOUAEIOU')
LIKE TRANSLATE(UPPER('%lluis%'),'ÁÉÍÓÚÀÈÌÒÙÄËÏÖÜÂÊÎÔÛ','AEIOUAEIOUAEIOU') ;
Aquesta consulta retorna les files que tenen el camp o.nom amb valors: lluis,lluís, Lluís, Lluïs, etc.
dijous, 23 de maig del 2013
Error 17002 d'Oracle desde Tomcat
Avui hem trobat un nou problema: en una aplicació executant-se sobre Tomcat 7, usant les llibreries de persistència EclipseLink, un cop fet loguin es quedava tot penjat.
Mirant el catalina.out hi havia els missatges:
Mirant el catalina.out hi havia els missatges:
[EL Info]: 2013-05-22 23:24:06.515--ServerSession(9509498)--EclipseLink, version: Eclipse Persistence Services - 2.3.2.v20111125-r10461
[EL Info]: 2013-05-22 23:24:06.624--ServerSession(9509498)--file:/usr/local/apache-tomcat-7.0.40/webapps/BopGestioUsuaris/WEB-INF/classes/_BopGestioUsuarisPU login successful
[EL Info]: 2013-05-22 23:39:34.411--UnitOfWork(27713589)--Communication failure detected when attempting to perform read query outside of a transaction. Attempting to retry query. Error was: Exception
[EclipseLink-4002] (Eclipse Persistence Services - 2.3.2.v20111125-r10461): org.eclipse.persistence.exceptions.DatabaseExceptionInternal
Exception: java.sql.SQLException: Excepción de E/S: Expiró el tiempo de conexión
Error Code: 17002Call: SELECT COUNT(CODIENTITAT) FROM ENTITAT WHERE (? = ?) bind => [2 parameters bound]Query: ReportQuery(referenceClass=Entitat sql="SELECT COUNT(CODIENTITAT) FROM ENTITAT WHERE (? = ?)").
Era un error curiós, ja que en reiniciar el Tomcat, funcionava durant una estona correctament.
Buscant informació, hem trobat que això és degut a un error de xarxa, ja que no és capaç de trobar el servidor de base de dades.
Solució: modificar el fitxer persistence.xml per a modificar la URL de connexió i especificar el nom complet del servidor.
Etiquetes de comentaris:
eclipselink,
errors,
java,
oracle,
tomcat
dimecres, 30 de gener del 2013
Redirigir wget cap a la sortida estàndard
De vegades és útil fer que el wget, enlloc d'escriure el resultat de la web a descarregar a un fitxer, l'escrigui per la sortida estàndard. Darrerament m'ha estat d'utilitat fer-ho en posar un wget a una tasca CRON, ja que així rebo el resultat per mail.
Simplement cal afegir el paràmetre -O -
Exemple:
Simplement cal afegir el paràmetre -O -
Exemple:
wget -q -O - http://www.amidasoft.com
divendres, 11 de gener del 2013
Plegat de codi amb NetBeans (code-fold)
L'IDE NetBeans permet ocultar talls de codi que no són importants per tal de permetre centrar l'atenció en aquells que sí que ho són.
Per a aconseguir-ho, únicament cal embolcallar el codi a plegar amb els comentaris:
// <editor-fold defaultstate="collapsed" desc="descripció-que-es-mostrarà">
EL CODI QUE ES VOL OCULTAR
// </editor-fold>
Per a aconseguir-ho, únicament cal embolcallar el codi a plegar amb els comentaris:
// <editor-fold defaultstate="collapsed" desc="descripció-que-es-mostrarà">
EL CODI QUE ES VOL OCULTAR
// </editor-fold>
Subscriure's a:
Missatges (Atom)