Per capire cosa sia un RSS si rimanda alla
lettura di questo LINK.
L'obiettivo di questo BLOG è quello di capire come realizzare una pagina
RSS nella maniera più chiara possibile.
Prima di tutto è necessario creare una vista come la seguente:
La prima colonna contiene il valore @created e server esclusivamente per
ordinare i documenti. Questa colonna verrà nascosta flaggando l'apposita
voce.
La seconda colonna conterrà invece la formula per creare la stringa RSS
2.0 che come da standard è la seguente :
<item>
<title>TITOLO DEL DOCUMENTO</title>
<pubDate>DATA DEL DOCUMENTO</pubDate>
<description>TESTO DEL DOCUMENTO</description>
<link>URL DEL DOCUMENTO</link>
</item>
La colonna della vista conterrà la seguente formula :
"<item><title>Dominopoint | " + documento_title +
"</title><pubDate>" + vRSS822Date + "</pubDate><description>"
+ documento_text + "</description><link>http://www.dominopoint.it/vista/"
+ @Text(@DocumentUniqueID) + "</link></item>"
N.B. Il campo <pubdate> richiede
una data in un formato speciale definita da RFC822.
(Esempio. Fri, 15 May 03 13:15:30 +0000 ) per realizzare la codifica di
questa data è possibile utilizzare sia le @FORMULAS che Lotus-script come
negli esempi qui sotto riportati:
1. @FORMULAS (da inserire in un campo calcolato della FORM)
**********************************************
vDate := @Now;
vWeekDay := @Select(@WeekDay(vDate);"Sun";"Mon";"Tue";"Wed";"Thu";"Fri";"Sat");
vDay := @Text(@Day(vDate));
vMonth := @Select(@Month(vDate);"Jan";"Feb";"Mar";"Apr";"May";"Jun";"Jul";"Aug";"Sep";"Oct";"Nov";"Dec");
vYear := @Text(@Year(vDate));
vTime := @Text(vDate;"S1T0");
vZone := @Zone;
vZoneDST := @If(@Abs(vZone-@Integer(vZone)) > 0 ; 1 ; 0);
vZoneOffset := @Integer(vZone) - vZoneDST;
vSign := @If(vZoneOffset > 0; "-"; "+");
vZoneFull := @Right("0" + @Text(@Abs(vZoneOffset));2) + @Right("0"
+ @Text(@If(vZoneOffset > 99 ; @Integer(@Abs(vZoneOffset)/100);0));2);
vWeekDay + ", " + vDay + " " + vMonth + " "
+ vYear + " " + vTime + " " + vSign + vZoneFull
**********************************************
2. Lotus -Script (Inserire nel Query-Save o Post-Save della FORM)
**********************************************
Format$(aDate.LSLocalTime, "ddd, dd mmm yyyy hh:nn:ss")
Per calcolare l'offset di Zona per il fuso orario è possibile farlo richiamando
la seguente funzione :
**********************************************
Function RFC822DateFormat(aDate As NotesDateTime) As String
Dim vRFC822 As String
Dim vSign As String
Dim vZoneOffset As Integer
Dim vZoneOffsetH As String
Dim vZoneOffsetM As String
'CREATE A GMT VERSION OF THE DATE
Dim bDate As New NotesDateTime(aDate.LSGMTTime)
'FORMAT LOCAL DATE TO UTC
vRFC822 = Format$(aDate.LSLocalTime, "ddd, dd mmm yyyy hh:nn:ss")
'WORKOUT THE TIMEZONE OFFSET FROM GMT
vZoneOffset = bDate.TimeDifference(aDate)/3600
'GET OFFSET POSITIVE OR NEGATIVE
If vZoneOffset > 0 Then vSign = "-" Else vSign = "+"
'OFFSET HOURS
vZoneOffsetH = Right("0" + Cstr(Int(Abs(vZoneOffset))),2)
'OFFSET MINUTES
vZoneOffsetM = Right("0" + Cstr(Fraction(vZoneOffset)*60),2)
'RETURN FULLY FORMATTED DATE
RFC822DateFormat = vRFC822 + " " + vSign + vZoneOffsetH + vZoneOffsetM
End Function
**********************************************
Tornando alla realizzazione della vista...
Essa deve ovviamente essere trattata come HTML settando le proprietà opportune
nelle opzioni della stessa
ULTIMARE LA REALIZZAZIONE DEL FEED
Alla fine per completare la realizzazione del FEED RSS basterà creare una
pagina con l'intestazione dell'RSS ed incorporare la vista realizzata:
********************************************************
<?xml version="1.0" encoding="ISO-8859-1 "?>
<rss version="2.0">
<channel>
<title>[TITOLO DEL FEED]</title>
<description>[DESCRIZIONE DEL FEED]</description>
<link>[URL DELLA HOME-PAGE]</link>
<lastBuildDate>[DATA ULTIMO AGGIORNAMENTO]</lastBuildDate>
[VISTA INCORPORATA]
</channel>
</rss>
********************************************************
Ovviamente la pagina andrà chiamata con l'estensione .XML :
La vista incorporata invece dovrà essere visualizzata in HTML selezionando
la voce "line to display" a 10
Se il FEED sarà corretto verrà visualizzata una finestra simile a questa
:
Altrimenti in caso d'errore verrà visualizzata una finestra simile a questa
:
Per validare un FEED RSS basta inserire l'URL QUI
Realizzare un RSS 2.0 con Domino
- 04/07/2005
- 0 commenti
0 Commenti:
Nessun Commento Trovato