cancel
Showing results for 
Search instead for 
Did you mean: 

RSS-Feeds konfigurieren

dmc
Champ on-the-rise
Champ on-the-rise
ch habe folgendes RSS-Feed-Template in einem Workspace mit guest-Erlaubnis ativiert:
<?xml version="1.0"?>
<rss version="2.0">
   <channel>
      <title>VSA ApothekenSysteme GmbH QMS-Handbuch RSS</title>
      <copyright>Copyright © 2007 VSA ApothekenSysteme GmbH</copyright>
      <#assign hostname="http://spdms01-1:8080/alfresco">
      <#assign spaceref="${hostname}/navigate/browse/${space.nodeRef.storeRef.protocol}/${space.nodeRef.storeRef.identifier}/${space.nodeRef.id}">
      <#assign datetimeformat="EEE, dd MMM yyyy HH:mm:ss zzz">
      <link>${spaceref}</link>
      <description>Recent Changes to '${space.name}'</description>
      <language>de-de</language>
      <lastBuildDate>${date?string(datetimeformat)}</lastBuildDate>
      <pubDate>${date?string(datetimeformat)}</pubDate>
      <ttl>120</ttl>
      <generator>Alfresco 2.0</generator>
      <image>
         <title>${space.name}</title>
         <width>32</width>
         <height>32</height>
         <link>${spaceref}</link>
         <url>${hostname}${space.icon32}</url>
      </image>
      <#assign weekms=1000*60*60*24*7>
      <#list space.childrenByXPath[".//*[subtypeOf('cm:content')]"] as child>
      <#if (dateCompare(child.properties["cm:modified"], date, weekms) == 1) || (dateCompare(child.properties["cm:created"], date, weekms) == 1)>
      <item>
         <title>${child.properties.name}</title>
         <link>${hostname}${child.url}</link>
         <description>
            ${"<a href='${hostname}${child.url}'>"?xml}${child.properties.name}${"</a>"?xml}
            <#if child.properties["cm:description"]?exists && child.properties["cm:description"] != "">
               ${child.properties["cm:description"]}
            </#if>
         </description>
         <pubDate>${child.properties["cm:modified"]?string(datetimeformat)}</pubDate>
         <guid isPermaLink="false">${hostname}${child.url}</guid>
      </item>
      </#if>
      </#list>
   </channel>
</rss>
Das RSS-Symbol erscheint im Workspace aber der Link bringt leider einen Feedcodefehler.
Dieser Feed kann nicht angezeigt werden.

Dieser Feed enthält Fehler.
Wechseln Sie zur vorherigen Seite.

Weitere Informationen

An invalid character was found in text content.
Zeile: 51 Zeichen: 23

<title>Qualit
Das hat meines Erachtens was mit den deutschen Umlauten zu tun, die der IE-Feedreader (7.0) hier nicht richtig interpretieren kann.

Kann jemand den Fehler im Script erkennen?


Geändert von schneika (25.06.2007 um 15:10 Uhr).
11 REPLIES 11

dmc
Champ on-the-rise
Champ on-the-rise
Hallo schneika,

du könntest mal versuchen am Anfang des Templates folgende Zeile einzufügen
<#setting url_escaping_charset='UTF-8'>
also z.B.:
<?xml version="1.0"?>
<#setting url_escaping_charset='UTF-8'>
<rss version="2.0">
Ist der Tomcat auch mit UTF-8 als Fileencoding gestartet, d.h. mit
Paramater -Dfile.encoding=UTF8 ?

grüsse,
devylon

dmc
Champ on-the-rise
Champ on-the-rise
Danke für die Tipps. Ich vergaß zu erwähnen, daß die Feeds im Firefox ordnungsgemäß funktionieren, nur der IE bringt den Feedcodefehler.
Der Encoding-Eintrag im RSS-Template brachte keinen Erfolg.
Wo kann ich die Tomcat-Start-Optionen fest konfigurieren?
Ein Parameter-Eintrag in /tomcat/conf/web.xml brachte ebenfalls keine Besserung.

dmc
Champ on-the-rise
Champ on-the-rise
dazu muss in der catalina.sh
export JAVA_OPTS=$JAVA_OPTS -Dfile.encoding=UTF8
gesetzt werden

dmc
Champ on-the-rise
Champ on-the-rise
Diese Variablen-Zuweisung bringt bei mir den Fehler
-Dfile.encoding=UTF8 is not a valid identifier
Habe es auch so probiert:
export CATALINA_OPTS=Dfile.encoding=UTF8
Kein Erfolg. Der IE hat Probleme mit deutschen Umlauten im RSS-Feed und bringt einen Feedcode-Error. Der Firefox kann es.

Ich verwende OpenSuSE V10.2 mit Tomcat 5.5.20

dmc
Champ on-the-rise
Champ on-the-rise
Da ist wohl nur ein kleiner Fehler in der Zuweisung, diese sollte sein:
export JAVA_OPTS="$JAVA_OPTS -Dfile.encoding=UTF8"
also mit doppelten Anführungszeichen.

Gibt es dann an anderer Stelle noch Darstellungs- oder Eingabeprobleme mit Umlauten?

Hilfreich ist es aber auf jeden Fall auch, im RSS-XML Prolog die Kodierung mit anzugeben: <?xml version="1.0" encoding="UTF-8"?>

Da der Firefoxy den Feed anzeigt, wäre ein Vergleich der von IE und FF ausgewählten Kodierung interessant(unter dem Menü Ansicht->Zeichenkodierung).

dmc
Champ on-the-rise
Champ on-the-rise
<?xml version="1.0" encoding="UTF-8"?>
im RSS-Template:

Danke das wars, jetzt funktioniert es auch mit dem IE !

dmc
Champ on-the-rise
Champ on-the-rise

Ich habe mich geirrt, die vorgeschlagenen Maßnahmen funktionierten nur ganz kurzen Zeitraum bis wieder deutsche Umlaute im Feed ankamen.

Ich verwende dieses RSS-Template:

[HTML]<?xml version="1.0" encoding="UTF-8"?>
<#setting url_escaping_charset="UTF-8">

<rss version="2.0">
<channel>
<title>VSA ApothekenSysteme GmbH QMS-Handbuch RSS-Feed</title>
<copyright>Copyright © KGS 2007 VSA ApothekenSysteme GmbH</copyright>
<#assign hostname="http://spdms01-1:8080/alfresco">
<#assign spaceref="${hostname}/navigate/browse/${space.nodeRef.storeRef.protocol}/${space.nodeRef.storeRef.identifier}/${space.nodeRef.id}">
<#assign datetimeformat="EEE, dd MMM yyyy HH:mm:ss zzz">
<link>${spaceref}</link>
<description>Aktualisierte Inhalte im '${space.name}'</description>
<language>de-de</language> <lastBuildDate>${date?string(datetimeformat)}</lastBuildDate>
<pubDate>${date?string(datetimeformat)}</pubDate>
<ttl>120</ttl>
<generator>Alfresco 2.0</generator>
<image>
<title>${space.name}</title>
<width>32</width>
<height>32</height>
<link>${spaceref}</link>
<url>${hostname}${space.icon32}</url>
</image>
<#assign weekms=1000*60*60*24*7>
<#list space.childrenByXPath[".//*[subtypeOf('cm:content')]"] as child>
<#if (dateCompare(child.properties["cm:modified"], date, weekms) == 1) || (dateCompare(child.properties["cm:created"], date, weekms) == 1)>
<item>
<title>${child.properties.name}</title>
<link>${hostname}${child.url}</link>
<description>
${"<a href='${hostname}${child.url}'>"?xml}${child.prope rties.name}${"</a>"?xml}
<#if child.properties["cm:description"]?exists && child.properties["cm:description"] != "">
${child.properties["cm:description"]}
</#if>
</description>
<pubDate>${child.properties["cm:modified"]?string(datetimeformat)}</pubDate>
<guid isPermaLink="false">${hostname}${child.url}</guid>
</item>
</#if>
</#list>
</channel>
</rss>[/html]

Ich versuche UTF-8 für das Tomcat/Java über alfresco.sh zu laden (geht das überhaupt?):
#!/bin/sh
# Start or stop Alfresco server
# Set the following to where Tomcat is installed
ALF_HOME=/opt/Alfresco
cd "$ALF_HOME"
APPSERVER="$ALF_HOME"/tomcat
export JAVA_HOME="$ALF_HOME"/java
# Set any default JVM values
export JAVA_OPTS='-Xms512m -Xmx1024m -server -Dfile.encoding=UTF8'# Following only needed for Sun JVMs before to 1.5 update 8
export JAVA_OPTS="${JAVA_OPTS} -Dfile.encoding=UTF8 -XX:CompileCommand=exclude,org/apache/lucene/index/IndexReader\\$1,doBody -XX:CompileCommand=exclude,org/alfresco/repo/search/impl/lucene/index/IndexInfo\\$Merger,mergeIndexes -XX:CompileCommand=exclude,org/alfresco/repo/search/impl/lucene/index/IndexInfo\\$Merger,mergeDeletions"
#
if [ "$1" = "start" ]; then
"$APPSERVER"/bin/startup.sh
if [ -r ./virtual_start.sh ]; then
sh ./virtual_start.sh
fi
if [ -r "$ALF_HOME"/start_oo.sh ]; then
sh "$ALF_HOME"/start_oo.sh
fi
elif [ "$1" = "stop" ]; then
"$APPSERVER"/bin/shutdown.sh
if [ -r ./virtual_start.sh ]; then
sh ./virtual_stop.sh
fi
if [ -r "$ALF_HOME"/start_oo.sh ]; then
killall soffice.bin
fi
fi
Die deutschen Umlaute werden trotzdem nicht korrekt interpretiert, der RSS-Feed nicht angezeigt:

Dieser Feed kann nicht angezeigt werden.

Dieser Feed enthält Fehler.
Wechseln Sie zur vorherigen Seite.

Weitere Informationen

Im Textinhalt wurde ein ungültiges Zeichen gefunden.
Zeile: 42 Zeichen: 48

<title>PB Muster am Beispiel Markteinf

Hier der Quellcode des Feeds (Ausschnitt), es hängt also an den deutschen Umlauten:
<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
<channel>
<title>QMS-Handbuch RSS-Feed</title>
<copyright>Copyright © KGS 2007</copyright>
<link>http://spdms01-1:8080/alfresco/navigate/browse/workspace/SpacesStore/b0bb598d-fe23-11db-a1d8-67c5081...</link>
<description>Aktualisierte Inhalte im 'QMS-Handbuch'</description>
<language>de-de</language>
<lastBuildDate>Di, 21 Aug 2007 16:43:57 CEST</lastBuildDate>
<pubDate>Di, 21 Aug 2007 16:43:57 CEST</pubDate>
<ttl>120</ttl>
<generator>Alfresco 2.0</generator>
<image>
<title>QMS-Handbuch</title>
<width>32</width>
<height>32</height>
<link>http://spdms01-1:8080/alfresco/navigate/browse/workspace/SpacesStore/b0bb598d-fe23-11db-a1d8-67c5081...</link>
<url>http://spdms01-1:8080/alfresco/images/icons/space-icon-star.gif</url>
</image>
<item>
<title>POB_EP_01_Kurzbeschreibung_070629_ASc.doc</title>
<link>http://spdms01-1:8080/alfresco/d/d/workspace/SpacesStore/c6b682d2-4cba-11dc-98e6-c522c925d8f7/POB_EP...</link>
<description>
&lt;a href=&apos;http://spdms01-1:8080/alfresco/d/d/workspace/SpacesStore/c6b682d2-4cba-11dc-98e6-c522c925d8f7/POB_EP...;
</description>
<pubDate>Fr, 17 Aug 2007 14:10:00 CEST</pubDate>
<guid isPermaLink="false">http://spdms01-1:8080/alfresco/d/d/workspace/SpacesStore/c6b682d2-4cba-11dc-98e6-c522c925d8f7/POB_EP...</guid>
</item>
<item>
[color="Red"]<title>PB Muster am Beispiel Markteinführung.xls</title>[/color] <link>http://spdms01-1:8080/alfresco/d/d/workspace/SpacesStore/4c4ccf1b-4b19-11dc-81ac-1f8de3120cc7/PB%20M...</link>
<description>
&lt;a href=&apos;http://spdms01-1:8080/alfresco/d/d/workspace/SpacesStore/4c4ccf1b-4b19-11dc-81ac-1f8de3120cc7/PB%20M... Muster am Beispiel Markteinführung.xls&lt;/a&gt;
Prozessbeschreibung
</description>
<pubDate>Mi, 15 Aug 2007 12:22:27 CEST</pubDate>
<guid isPermaLink="false">http://spdms01-1:8080/alfresco/d/d/workspace/SpacesStore/4c4ccf1b-4b19-11dc-81ac-1f8de3120cc7/PB%20M...</guid>
</item>
<item>
Aber wieso? Hat jemand RSS in einem deutschen Alfresco am laufen?

Ich verwende V2.1.0 CE Final unter OpenSUSE V10.2 mit Tomcat 5.5.23

dmc
Champ on-the-rise
Champ on-the-rise
Vielleicht macht es Sinn zu prüfen, welche HTTP-Header-Fields von Alfresco an den Browser zurückgegeben werden. Unter Umständen orientiert sich der Browser an dem Header-Field Content-Type, und nicht am XML-Prolog. Ich würde erwarten, dass im Content-Type Header-Field sowas wie text/xml; charset=UTF-8 steht. Betonung liegt hier auf dem Charset UTF-8.

Für Firefox gibt es eine Erweiterung names LiveHTTPHeaders, mit der man HTTP-Header-Fields quasi "mitschneiden" kann. Die Erweiterung kann hier heruntergeladen werden.

dmc
Champ on-the-rise
Champ on-the-rise
Thanx für den Hinweis, der mit dem Firefox getracte Content-Typ des Headers stimmt natürlich erwartungsgemäß nicht, falsches charset, also irgendwas stimmt nicht mit meiner UTF-8-Konfiguration?
http://localhost:8080/alfresco/guestTemplate/workspace/SpacesStore/b0bb598d-fe23-11db-a1d8-67c5081f7...

GET /alfresco/guestTemplate/workspace/SpacesStore/b0bb598d-fe23-11db-a1d8-67c5081f7bf4/workspace/SpacesStore/73a185eb-0791-11dc-83a7-a1f550e0d9b4/rss.xml?mimetype=text%2Fxml HTTP/1.1
Host: localhost:8080
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Accept-Language: de-de,de;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Referer: http://localhost:8080/alfresco/navigate/browse/workspace/SpacesStore/b0bb598d-fe23-11db-a1d8-67c5081...
Cookie: JSESSIONID=2D2DB4E8BDD0B8AB69F5D518A0853F88

HTTP/1.x 200 OK
Server: Apache-Coyote/1.1
Content-Type: text/xml;charset=ISO-8859-1
Transfer-Encoding: chunked
Date: Wed, 22 Aug 2007 09:31:13 GMT
Aber nun habe ich auch keine Idee mehr, wie ich es richtig konfigurieren muß, damit UTF-8 und deutsche Umlaute im RSS-Feed beim IE 7.0 rauskommen. Der RSS-Feed hängt sich an Umlauten im Dokumententitel auf und wird deshalb im IE 7.0 nicht angezeigt. Der Firefox hängt sich nicht auf.


Geändert von schneika (22.08.2007 um 12:08 Uhr).