Realizzare un RSS 2.0 con Domino

TIPS DEVELOPERS

  • 0 commenti
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:
Image:Realizzare un RSS 2.0 con Domino

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
Image:Realizzare un RSS 2.0 con Domino
Image:Realizzare un RSS 2.0 con Domino
Image:Realizzare un RSS 2.0 con Domino

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 :

Image:Realizzare un RSS 2.0 con Domino

La vista incorporata invece dovrà essere visualizzata in HTML selezionando la voce "line to display" a 10

Image:Realizzare un RSS 2.0 con Domino

Se il FEED sarà corretto verrà visualizzata una finestra simile a questa :

Image:Realizzare un RSS 2.0 con Domino

Altrimenti in caso d'errore verrà visualizzata una finestra simile a questa :

Image:Realizzare un RSS 2.0 con Domino

Per validare un FEED RSS basta inserire l'URL  QUI

0 Commenti:

    Nessun Commento Trovato
Commenta articolo
 

Questo spazio web è stato creato da per un uso pubblico e gratuito. Qualsiasi tipo di collaborazione sarà ben accetta.
Per maggiori informazioni, scrivete a info@dominopoint.it

About Dominopoint
Social
Dominopoint social presence: