Mittwoch, 28. Juli 2010

Checklist - HTML-Tuningtips


  • Unterbinung von Automcomplete. autocompletet="off"
  • Bei Datumsfeldern size="10 und maxlength="10"
  • style="text-align: left; padding 2px 2px 2px 20px"

Donnerstag, 22. Juli 2010

DB2-Batch-Processing-Script

Manchmal sind die Datenmengen so groß, dass eine Sinnvolle verarbeitung nur noch
mittels der db2-Console funtktioniert. Die Anderen Tools die wir verwendet haben konnten mit dem ca. 80MB großen File nichts mehr anfangen.

Außerdem ist das db2cmd ein Tool, dass den DB2-Administratoren vertraut ist.

Wir haben ein script batch.cmd gebaut, dass wir unseren Administratoren zukommen lassen können.


db2 connect to mydbname user myuserid using mypasswd
db2 -vf mybigsqlfile.sql -z readme.txt


Unser File hatte noch den Schönheitsfehler, dass das Encoding UTF-8 war.
Das dB2 ist so doof und unterstellt, dass das Encodung des inputfiles (hier mybisqlfile.sql) das gleiche Encoding besitzt.

Sie haben 2 Möglichkeit dem Abhilfe zu schaffen.

  1. Ein File mit dem richten Encoding erzeugen.

  2. Das Encoding mittels eines Tools convertieren.

Sprechende JSF-Fehlermeldungen

Leider bekommt man ab und an Fehler in den Anwendungen gemeldet.
Meist hilft ein aussagekräftiger Screenshot weiter.
Normalerweise fängt man nun an in seinen Log-Files zu forschen.
- Wenn man überhaupt an diese einfach rankommt.
Viel einfacher ist es, wenn im Screenshot die Fehlermeldung schon eingebaut ist.

Bei der JSF-Programmierung gibt es den <h:messages>-Tag.



<h:messages> ..... showDetail="true"
</h:messages>




In diesem Tag sollte man das showDetail-Attribut auf true setzen. Dann bekommt man eine sprechende Meldung.


Fehlermeldung mit showDetail="false"





Fehlermeldung mit showDetail="true"

Montag, 28. Juni 2010

Servlet generiert Excel




Um direkt ein fertiges Excel zu bekommen muss man in der doPost bzw. doGet-Methode
die richtigen Metainformationen setzen, damit der Client (der Browser) weiß mit welchem externen Programm der die Daten öffnen kann.

In unserem Beispiel haben wir dies gelöst indem man den contentType und den Header der Response gesetzt haben.


ExcelXlsExporter exporter = new ExcelXlsExporter(model);
response.setContentType("application/vnd.ms-excel");
response.setHeader("content-disposition", "attachment; filename = irgendwas.xls");
OutputStream fos = response.getOutputStream();
exporter.createStream(fos);
fos.close();

Mittwoch, 23. Juni 2010

Eclipse Helios (3.6) ist raus!

Ich habs natürlich gleich mal runtergeladen.
It's new and shiny!

Mittwoch, 16. Juni 2010

J2EE Security im IBM WebSphere Application Server 7 (WAS7)

Wie in jedem normalen J2EE Servlet Container kann auch beim WAS die Security über Rollen eingestellt werden. Voraussetzung ist natürlich, dass die J2EE-Anwendung Security Roles definiert und nutzt. Die Definition erfolgt wie gewohnt in der web.xml:



    <security-role id="loeschen">
<description>Bla bla </description>
<role-name>loeschen</role-name>
</security-role>




Im WebSphere muss die Sicherheit für die deployten Anwendungen generell aktiviert werden. Dies geschieht in der Admin-Console unter Sicherheit > Sichere Verwaltung, Anwendungen und Infrastruktur:



Der Haken "Anwendungssicherheit aktivieren" muss gesetzt werden.

Beim Deployment der Anwendung im WebSphere (egal, ob über Skript oder die Admin-Console) liest der Server die definierten Rollen aus.
Nach dem Deployment kann der Administrator dann den Rollen der Anwendung verschiedene Benutzer oder Benutzer-Gruppen zuordnen. Dazu in der Admin-Console unter Anwendungen > Enterprise-Anwendungen auf die Anwendung klicken. Dann auf "Zuordnung von Sicherheitsaufgabenbereichen zu Benutzern/Gruppen" klicken:





Im folgenden Dialog werden die Rollen der Web-Anwendung aufgelistet. Hier die Rolle markieren, der man Gruppen oder Benutzer zuordnen möchte und auf "Benutzer suchen" oder "Gruppe suchen" klicken.




Darauf öffnet sich der Suchen-Dialog.



Über den Suchen-Button können verfügbare Benutzer (oder Gruppen) gesucht werden. Dann braucht man nur noch auf der linken Seite den Benutzer auszuwählen und über den ">>"-Button in die Liste der zugeordneten Benutzer bewegen. Mit OK wird die Einstellung gespeichert. Danach noch das obligatorische Speichern in der Masterkonfiguration und die Rollenzuordnung steht in der Anwendung zur Verfügung.

Automatisches Deployment von Gruppen-Rollen-Zuordnungen:
Möchte man die in der Websphere-Oberfläche eingestellten Zuordnungen beim nächsten Deployment automatisch vergeben, so gibt es eine Möglichkeit, diese im ear-File der Anwendung mitzuliefern.

Die Einstellungen speichert der WebSphere im Profil-Verzeichnis in der Konfiguration der Anwendung im Ordner

...\wp_profile\config\cells\Rechner-Name\applications\mein_ear.ear\deployments\mein_ear\META-INF

Dabei kommt es auf die beiden Dateien
application.xml
ibm-application-bnd.xmi

an. Diese sind in den META-INF-Ordner des ear-Projektes zu kopieren. Beim nächsten Deployment des ear-Files werden so die Gruppen-Rollenzuordnungen automatisch mit installiert.



Mittwoch, 9. Juni 2010

Mehrzeilige Tooltips in JSF bzw. HTML

W3Schools.com

<a href="#" title="Der einzeilige Tooltip">W3Schools.com</a>


<p title="Free Web tutorials">W3Schools.com</p>


Machmal genügt ein einzeiliger Tooltip nicht.




<style type="text/css">
a.de_wwaag_alma_a_info{
position:relative;
z-index:24;
color:#ffffff;
background-color:#ff0000;
text-decoration:none
}

a.de_wwaag_alma_a_info:hover{z-index:25;}

a.de_wwaag_alma_a_info span{display: none}

a.de_wwaag_alma_a_info:hover span{
display:block;
position:absolute;
width:400px;
padding:5px;
border:1px solid #000;
background-color:#ffffce;
text-align: left
<style>





<f:verbatim>
<a class="de_wwaag_alma_a_info">
<img alt="" src="/alma-portlets/img/alma_info.png">
<span>Mit Hilfe einer jährlich extern durchgeführten Beschwerdeführer-Befragung
soll eine höhere Kundenzufriedenheit erreicht werden. Einige Beschwerdevorgänge
(z. B. Mahnfälle) eignen sich nicht dazu, mit einem zeitlichen Abstand durch Dritte
noch einmal telefonisch beim Kunden in Erinnerung gerufen zu werden. Das Ankreuzfeld
soll Ihnen nach Ihrem Ermessen ermöglichen, diesen Beschwerdefall von künftigen
Befragungsaktionen auszunehmen
</span>
</a>
</f:verbatim>