Visualizzazione post con etichetta Domino. Mostra tutti i post
Visualizzazione post con etichetta Domino. Mostra tutti i post

24 mar 2017

Nuova avventura!

Da Marzo 2017 ho deciso di intraprendere una nuova avventura lasciando l'azienda in cui lavoravo e raggiungendo due excolleghi in una cosietà di consulenza : ELD Engineering .
Non starò ad annoiarvi coi motivi ed i perchè, e' stata una scelta da un lato ponderata ma dall'altro fatta "di pancia" per la voglia di cambiare e provare questa nuova realtà.
Torno quindi al mondo della consulenza ma resto nella ambito del sofware IBM con Notes e Domino (ma non solo)
Spero nel breve futuro di poter raccontare novità e nuove esperienze.
Per il momento mi auguro "in bocca al lupo" !


8 ott 2013

Reaching the limit ?

After some years with my procedures in place up & running we decided to expand the capacity of the system expanding the max size of the LOB column for the documents in Db2 from 10Mb up to 64Mb. 
Quite easy, isnt'it? 
Just a couple of days and then started the troubles. 
The symptom was an error message on the server console: 
23/09/2013 13.05.16 HTTP Server: Agent 'db2out_age' error: Error: Unable to allocate memory, Connector 'db2', Method -Fetch- 
The file, of course, was not exported to the filesystem .....

....
As this blog i moving you can find the full article here :
http://www.fabiodipaola.it/2013/10/20/reaching-the-limit/

12 dic 2012

Il mio show in IBM

Con un po' di ritardo posso ora rendere pubblica la presentazione che ho tenuto in IBM quest'estate:

14 nov 2011

Statistiche accessi per il vostro sito Domino

Come tutti ben sappiamo il domlog.nsf non e' esattamente un buon sistema per generare statistiche sugli accessi ad un sito fatto con domino . E' vero che registra tutto , ma aggregare le info per ottenere un risultato consolidato e' quasi impossibile.

Mi sono guardato un po' in giro ed alla fine ho trovato quella che mi sembrava la soluzione ideale.
Si tratta di AWSTATS , che oltretutto e' un software con licenza GNU e quindi ha il non trascurabile vantaggio di essere free.
Per poterlo utilizzare c'e' solo un punto da configurare in Domino ed e' la generazione dei log. Ovviamente Awstats legge i file di log in formato testuale e del domlog.nsf non sa che farsene.
Di conseguenza nel documento NAB del server di vostro interesse (tab Internet protocols \ HTTP ) si deve configurare la generazione dei log file (per il domlog.nsf fate quello che preferite , e' ininfluente) ed inoltre settare la voce Access Log Format a Extended Common .
Dopodichè installate AWSTATS e Perl e configurate il tutto come descritto qui .
Fondamentalmente dovrete creare un file di configurazione (o piu' di uno se avete piu server con log/statistiche diverse)
Prestate attenzione alla riga LogFormat che deve essere = 1 (# 1 - Apache or Lotus Notes/Domino native combined log format (NCSA combined/XLF/ELF log format) ) ed alla riga LogFile che dovrà avere una impostazione del tipo LogFile="d:\weblog\access%MM-0%DD-24%YYYY-0.log" - dove d:\weblog\ cambierà ovviamente per puntare alla directory dove salvate i log file .

Il piu' e' fatto. Normalmente Awstats legge i file di log una volta al giorno, potete farlo con un comando schedulato che lancia la procedura di aggiornamento con un comando
perl awstats.pl -config=xxxxx -update
e poi genera i file Html relativi con il comando
perl awstats_buildstaticpages.pl -config=xxxxx -dir=D:\Domino\data\domino\html

Le statistiche possono essere anche salvate in formato PDF per riferimenti futuri (io lo faccio ad ogni fine mese e poi le carico in .nsf in modo da avere sempre lo storico suddiviso per mese)

Attenzione : tutto questo vale per un sito che non richieda login. Se invece stiamo parlando di una intranet o comunque di un sito che richiede l'autenticazione cambia un punto importante e cioe' la riga LogFormat che non e' piu' come descritta sopra ma prende un formato custom che io ho codificato in questo modo :
LogFormat = "%host %virtualname %lognamequot %time1 %methodurl %code %bytesd %refererquot %uaquot %other %otherquot %otherquot
Naturalmente non garantisco sia perfetto od il migliore...a me funziona per quelle che sono le mie necessità

Ultimo suggerimento: questa procedura genera dei file html sul server ed averla sul server di produzione esposto ad internet non e' il massimo : chiunque potrebbe vedere le vostre statistiche.
Io ho fatto un piccolo .nsf che ogni mattina cerca il log del giorno prima e se lo carica in un nuovo documento. Poi replica con un altro server, interno e non esposto ad internet, su cui ho installato Awstats . Qui il file viene scaricato e poi elaborato. In questo modole mie statistiche non risiedono sul server esposto e sono accessibili solo dall'interno.

Leggendo la documentazione di Awstats troverete decine di altre opzioni configurabili che non sto qui ad elencarvi . Inoltre dell'utile documentazione aggiuntiva potete trovarla sul sito nsftools a questo link , mentre altra , in italiano, e' reperibile qui .

24 gen 2011

Cookie & Domino

Sono cascato su di una applicazione con interfaccia web in cui mi avrebbe fatto molto comodo leggere e scrivere cookie con Domino per salvare delle opzioni.
Sapevo che Domino gestisce i cookie ma non avevo mai usato quelle funzioni e quindi mi ci sono buttato allegramente ... per scoprire che la cosa non e' esattamente ben documentata.

Dopo qualche lite e un po' di test sono giunto a delle conclusioni e quella parte dell'applicazione sembra essere decollata.
Prima parte : scrivere un cookie
E' quella che ha funzionato subito e praticamente al primo colpo . Come da help di Notes si usa la funzione @SetHTTPHeader che viene scritta con la seguente sintassi :
@SetHTTPHeader("Set-Cookie"; "SHOP_CART_ID=4646")
Fin qui e' semplice , ma dipende poi dal modo in cui lo si vuole usare, a me faceva più comodo scrivere il cookie all' uscita della pagina e quindi sono passato a javascript utilizzando la onUnload della form e scrivendoci dentro
Set_Cookie( 'nomedelcookie', document.getElementById('campo').value , 30, '/', '', '' );
dove campo e' il campo della form da cui voglio prendere il valore, mentre il numero 30 e' la durata in giorni della validità del cookie.
Volendo era anche possibile intervenire sulla generazione del codice Html della pagina per inserire una riga del tipo:
meta equiv="Set-Cookie" content="..."

Seconda parte : leggere un cookie
Qui mi sono incasinato un po' di piu' . E' vero che esiste la funzione @GetHTTPHeader ma il come usarla era poco chiaro . Poichè mi serviva leggere il cookie ed averne il valore come default in un campo ho proseguito su questa strada ed ho trovato che il modo migliore era questo:
@Middle(@GetHTTPHeader("Cookie");"nomedelcookie=";";")
Anche perche' usando solo
@GetHTTPHeader("Cookie")
mi ritornava come valore l'elenco di tutti i cookie cha avevo in quel momento . Cosi' isolavo il cookie che mi interessa e ne estraevo il valore.
Unica aggiunta un @ReplaceSubstring perche' nel caso il cookie contenesse uno o più spazi questi venivano salvati come "%20" e quiindi il tutto deve avere questo aspetto
@ReplaceSubstring(
@Middle(@GetHTTPHeader("Cookie");"nomedelcookie=";";");
"%20";" ")

giusto per evitare sorprese.

Per completezza, le info piu' utili le ho ricavate da qui , sul sito Codestore

12 ott 2010

Notes <-> Db2

Bene, torniamo alla gestione documentale ed al dialogo fra Notes e Db2. Il primo passo e' stato capire come funziona e cosa serve.

Come ho gia' scritto l'idea di base e' un server Domino che dialoga con un Db2. Ma cosa ci va in mezzo? La risposta iniziale e' stata "Db2 Connect" un sw Ibm che mi permette di instaurare le connessioni con i relativi driver Odbc (che non uso) e CLI (che sono quelli che servono) piu' tutta una serie di utility per il Db2.

In breve tempo, pero', da Db2 Connect sono passato ad un altro prodotto chiamato "Ibm data server client" che ha caratteristiche molto simili ma soprattutto non ha costi di licenza. La cosa fondamentale e' che offra la connessione CLI con le relative librerie che vengono utilizzate dalle estensioni di Domino.
Per maggiori info sulla parte CLI (che non significa Client come pensavo all'inizio ma bensì Call Level Interface) vi rimando a questo link. ed aggiungo una citazione:
It is a 'C' and 'C++' application programming interface for relational database access that uses function calls to pass dynamic SQL statements as function arguments. It is an alternative to embedded dynamic SQL, but unlike embedded SQL, DB2 CLI does not require host variables or a precompiler.
Ok , quindi il primo passo e' quello di installare Domino avendo cura di scegliere l'opzione Installa DECS ! Questo non significa che andrete ad usare le funzionalità di Decs, io non carico nemmeno la task relativa ma e' necessario per avere le librerie Domino necessarie poi per LotusScript .
Per verificare di avere tutto installato correttamente date un'occhiata alla directory dei programmi di Domino e cercate dei file con estensione .dcx , in particolare per Db2 serve ndb2.dcx (ce ne sono altri per Oracle, Sybase ecc.)

Ora il passo successivo è quello di installare Db2 Connect o IBM Data Server Client. Una volta fatto questo lanciate l'Assistente di configurazione e configurate la vostra connessione a un server e un database Db2. Fatto? Bbene !

23 set 2010

Questa mi e' piaciuta

What is Lotus Notes? what is Lotus iNotes?

Soprattutto le varie risposte e specialmente questa che riporto di seguito :

I just wanted to echo some earlier sentiments in my own words:

"Lotus Notes is the ultimate enterprise-scale custom application development platform. Oh... almost forgot: it also includes integrated messaging and scheduling capabilities."

If Notes is an email system that, oh, by the way, also allows for creation of custom apps, its market share and feature set will forever be compared to Exchange, GMail, and any other platforms of that ilk that have yet to emerge.

If, on the other hand, Notes is a custom application development platform that, oh, by the way, also just happens to include a very competent messaging and scheduling framework that integrates seamlessly into the custom application framework because those features are developed using the same languages and underlying architecture that run your custom applications... then it's a whole other ballgame. Notes is then measured in terms of market share and feature set in comparison to PHP, ASP, Ruby on Rails, and a whole host of other languages and application development frameworks. Notes is a leader if customers can more rapidly deploy and more easily maintain custom applications that are more secure, more reliable, and more intuitive than what they would have had to settle for had they developed it using competing technologies.

If application development is the focus and email is an afterthought - as it has already become for an entire generation now on the brink of entering the workforce - then Notes offers a host of capabilities that dramatically distinguish it from most, if not all, alternatives. If email is the focus and application development is the afterthought... then IBM will forever be attempting to distinguish it from other messaging systems, limited to the scope of what any messaging system can do: for example, Notes makes it slightly easier to follow a "reply to all with history" thread, or its archiving options are slightly more robust, etc. The differences between these types of features are, by their very nature, infinitesimal... but the chasm between what Notes allows developers to create - and at what pace - and what the same number of developers can produce in other platforms in the same timeframe is astronomical.

So go for the easy win: if a potential (or existing) customer insists on discussing messaging, reassure them that Notes can handle their messaging needs because, well, everyone does messaging; messaging is easy. But then, as rapidly as possible, steer the conversation back to what Notes does that NOTHING ELSE CAN. :)

20 set 2010

Sentirsi un dinosauro

Sentirsi un dinosauro puo' derivare dal fatto di lavorare su una piattaforma che, almeno a volte, ricorda i dinosauri. Parlo ovviamente del "mio amato" Lotus Notes. Ho cominciato a lavorare con Notes nei primi anni 90' la versione era (credo) la 2.qualcosa...tempi giurassici!
Per l'epoca Notes era realmente innovativo ed unico, ma queste caratteristiche non sono state mantenute.
Intendiamoci, Notes non e' un client di posta come molti lo considerano; stiamo parlando di un application server che per molti versi e' parecchio evoluto ma che ha anche alcuni talloni d'Achille abbastanza pronunciati.
Uno e' proprio IBM che da anni non sembra spingerlo, non si vedono nuove installazioni e spesso ho l'impressioni che gli sforzi di IBM siano tesi solo al mantenimento dell'installato.
Anche la comunicazione mi sembra latitare, visto che tanta gente ancora oggi assimila Notes alla posta elettronica.
Altro punto dolente e' il client, anche lui ormai pesante come un brontosauro e senza significative novita, nell'interfaccia utente da tempo.
Qui fermo il mio brontolio ma su alcuni dei temi accennati sopra voglio tornare in futuro.