WBCE CMS Forum

WBCE CMS – Way Better Content Editing.

Du bist nicht angemeldet.

#1 21.07.2016 14:04:35

tomno399
Gast

RSS-Feed zu allem?

Wir betreiben eine Vereinsseite. Das News-Modul (Startseite) gibt einen Feed heraus, der ProCalendar (nächster Termin) leider nicht auch. Dieser Termin wird über ein Droplet auf der Startseite angezeigt.

Im Mitgliedsbereich (registrierte User) werden auf einer bestimmten Seite nicht öffentliche Termine wie z. B. Geburtstage per Droplet angezeigt. Zusätzlich werden die letzten Foren-Beiträge (Modul WB-Forum bzw. Last Entries), die eigeloggten Besucher in der letzten Woche sowie die zuletzt geänderten Webseiten (Script im Code2-Modul) gelistet.

Nun habe ich hier und im anderen Forum gelesen, es gibt noch viele Feeds zu anderen Modulen wie Bakery, Gallery, Topics usw. Eigentlich bin ich baff, was es alles gibt. Nur was ich gern hätte nicht; ich hätte gern einen funktionierenden "rsswebsitefeed" (der auf AMASP ist total veraltet).

MrBaseman wollte, wenn ich das richtig vertanden habe, auch einen Feed für ...? Vielleicht gibt es eine Überlegung, ein "all-in-one-Feed" zu bauen, in dem die genutzten Module per Haken im Feed-Backend aktiviert werden könnten? Oder stelle ich mir als Nichtcoder das alles zu einfach vor?

Beitrag geändert von tomno399 (07.09.2016 06:47:02)

#2 22.07.2016 11:52:20

mrbaseman
Developer

Re: RSS-Feed zu allem?

Kann mich nicht mehr genau daran erinnern... News vielleicht? Aber da könnte man ja auch auf topics umstellen und hätte damit das Featrue.

Vielleicht hab ich mal ein rss-Proxy-Modul vorgeschlagen, das rss-Feeds von verschiedenen Modulen oder auch externen Quellen sammelt und sie aggregiert wieder ausgibt? Das wäre im Grunde auch wonach du suchst. Ein Problem dabei ist jedoch dass alle Module einen RSS-Feed ausgeben können müssen, damit man die wiederum bündeln kann.

Vielleicht würde es aber auch schon ausreichen, Last modified pages ein bisschen aufzubohren und die Ausgabe im RSS-Format zu gestalten.

Wie eilig wäre es denn? Die Variante mit den last modified pages per RSS könnt ich mir vorstellen zu implementieren. Da hab ich nämlich selbst auch was davon, insbesondere wenn man dort News noch mit integriert (sowas in der Art wie Newslist nur eben als RSS)

Offline

#3 23.07.2016 05:59:13

tomno399
Gast

Re: RSS-Feed zu allem?

Ich muss mich erst einmal korrigieren: Der Procalendar gibt einen funktionierenden RSS-Feed heraus!

Deine Idee mit dem "rss-Proxy-Modul" entspäche meinem Gedanken, wäre aber wohl eine Mammutaufgabe, die niemand so einfach aus dem Ärmel schüttelt.

Vielleicht würde es aber auch schon ausreichen, Last modified pages ein bisschen aufzubohren

Hmm, was hälst du von diesem Modul, wenn es laufen würde? Entspäche das nicht der Grundidee?
Ob es einfacher ist, Last-modified-Pages und die RSS-Ausgabe zu gestalten oder den RSS-Site-Feeder zum Laufen zu bringen, kann ich als Nichtcoder nicht entscheiden.

Deine "Newslist" macht bitte was genau? Ich bin da nicht wirklich schlau geworden. Und Zeit habe ich beliebig, es ist ja nur ein "Wunsch".

#4 23.07.2016 13:35:43

grindbatzn
Gast

Re: RSS-Feed zu allem?

einfacher wäre es vielleicht, man adaptiert google_sitemap.php

#5 24.07.2016 18:21:20

mrbaseman
Developer

Re: RSS-Feed zu allem?

tomno399 schrieb:

Ich muss mich erst einmal korrigieren: Der Procalendar gibt einen funktionierenden RSS-Feed heraus!
Deine Idee mit dem "rss-Proxy-Modul" entspäche meinem Gedanken, wäre aber wohl eine Mammutaufgabe, die niemand so einfach aus dem Ärmel schüttelt.

da gäbe es vielleicht auch fertige Lösungen wie FreshRSS oder sefloss die man nur noch in ein Addon verpacken muss.

Hmm, was hälst du von diesem Modul, wenn es laufen würde? Entspäche das nicht der Grundidee?

RSS-Site-Feeder ist halt für WB 2.7 und bräuchte wohl einige Anpassungen für einen aktuellen Core. RSS News Feeder ist wohl mal aktualisiert worden. Vielleicht sieht man im Vergleich der beiden Module auch relativ schnell, was für RSS Site Feeder zu tun ist

Deine "Newslist" macht bitte was genau? Ich bin da nicht wirklich schlau geworden.

Es gibt eine Liste ähnlich wie Last Modified Pages aus, allerdings nicht für die geänderten Seiten sondern für die Einträge im News-Modul. (Titel, Datum und dahinter gelegt ein Link zu dem Beitrag). Als ich das in den Raum geworfen habe war mir der RSS News Feeder nicht präsent, der ja wohl genau sowas ist und dazu auch schon mit RSS-Output. Aber für einen generellen Feed von allen Seiten hilft uns das erstmal nicht weiter. Das war nur eine Idee, die ich bei der Gelegenheit mit weiter verfolgt hätte, wenn es das nicht sowieso schon gäbe :-)

grindbatzn schrieb:

einfacher wäre es vielleicht, man adaptiert google_sitemap.php

das wäre auch ne Idee.

wenn ich die Zeit finde, schau ich mir die Module mal genauer an, um einschätzen zu können, welches wohl der einfachste Weg ist.

Offline

#6 28.07.2016 10:09:59

mrbaseman
Developer

Re: RSS-Feed zu allem?

Bin noch nicht dazu gekommen, das Thema weiter zu verfolgen (aber bald müsste ich wieder ein bisschen Zeit finden).
Das Thema RSS kam heut auch im WB Classic Forum auf: http://forum.websitebaker.org/index.php … 40.new#new

Offline

#7 28.07.2016 15:30:37

tomno399
Gast

Re: RSS-Feed zu allem?

Das oberste Snippet im anderen Forum kannte ich nicht und prompt funktionierte es bei mir (nicht alles aber fast ;-). Damit hätten wir die News-, ProCalendar- und Last-modified-Websites-RSS lauffähig.

Und wie macht man nun eine Datei daraus? Ich hoffe auf

aber bald müsste ich wieder ein bisschen Zeit finden ...

Prima!

Beitrag geändert von tomno399 (28.07.2016 17:48:19)

#8 01.08.2016 12:46:57

mrbaseman
Developer

Re: RSS-Feed zu allem?

bin jetzt mal dazu gekommen, den Code der verschiedenen Module grob zu sichten. Der grundsätzliche Aufbau von google sitemap würde die Daten von den ganzen Sections und Posts zusammensuchen und auch schon in eine ganze Reihe von Modulen rein gehen (News, Topics,...). Last-modified-rss rss-site-feeder und rss-news-feeder sowie die verschiedenen rss.php's aus den ganzen Modulen (Procalendar muss ich mir z.B. auch mal noch anschauen) enthalten unterschiedlichen Code zur Aufbereitung als RSS. Da kann natürlich je nach Modul ein bisschen was unterschiedliches sinnvoll sein... Ich versuch die nächsten Wochen mal daraus mal so ein "all-in-one-Feed" Modul zusammenzuschustern. Das erscheint mir jetzt doch einfacher als einen php-basierten rss-aggregator in ein Modul zu verpacken.

Offline

#9 23.08.2016 21:21:52

mrbaseman
Developer

Re: RSS-Feed zu allem?

hier ist mal eine erste Version - noch ganz rudimentär getestet, und konfiguriert wird's mit einem einfachen config.php file, das man ins Modulverzeichnis mit ablegt, sofern man überhaupt was an den Standardeinstellungen ändern will.
Die Funktionsaufrufe will ich auf jeden Fall noch optimieren, auch die Limitierung der ausgegebenen RSS-Einträge ist noch nicht fertig, aber ich dachte, so als Zwischenstand kann ich die Version schon mal rausgeben.
Von den Modulen hab ich News ein klein wenig getestet. Kommentare werden nicht im Feed aufgenommen. Das wäre eventuell auch noch eine Erweiterung, aber die sollte dann wohl auf Wunsch auch abschaltbar sein. Die anderen Module hab ich selbst nicht in Produktivbetrieb und insofern wenig Erfahrung damit. Ich hab halt wie vorgeschlagen google-Sitemap als Vorlage genommen und daraus einen Feed mit dem befüttert was ich für sinnvoll gehalten habe.
Da sind vielleicht auch noch ein paar Bugs drin... Lasst es mich einfach wissen, was nicht funktioniert oder wo noch Funktionalitäten fehlen, oder welche Module noch zusätzlich unterstützt werden sollen.

Offline

#10 26.08.2016 21:57:45

mrbaseman
Developer

Re: RSS-Feed zu allem?

hier eine aktualisierte Version:
Wie schon angekündigt hab ich die Funktionsaufrufe optimiert,
der include vom config-File hatte einen kleinen Bug, den ich behoben habe,
das Limit der Anzahl anzuzeigender Einträge im Feed wird jetzt berücksichtigt
Es gibt ein neues Array, mit dem man (auch private oder versteckte Seiten) explizit mit in den Feed aufnehmen kann

Offline

#11 29.08.2016 10:14:07

tomno399
Gast

Re: RSS-Feed zu allem?

Ich würde das Modul gern mal testen, aber wie wird es überhaupt aufgrufen?

#12 30.08.2016 21:43:57

mrbaseman
Developer

Re: RSS-Feed zu allem?

Im Modul ist eine view.php enthalten, die du einfach aufrufen kannst unter WB_URL/modules/rss-feed-all/view.php

Der Aufruf darin ist ganz einfach ein Funktionsaufruf RssFeedAll_Render(), den du natürlich auch anderswo plazieren kannst, z.B. wenn du eine versteckte Seite namens rss anlegst, die eine code- oder code2 section enthält und das Blank Template verwendet. In den Quellcode für die Seite kopierst du einfach den Inhalt der view.php rein und dein Feed ist unter WB_URL/pages/rss.php abrufbar.

Die Funktion RssFeedAll_Render() nimmt als Argument derzeit eine Variable $debug, die per Default auf FALSE steht. Übergibt man stattdessen TRUE, wird der Feed nicht im xml-Format ausgegeben sondern rudimentär html formatiert und etwas Statistik mit dazu ausgegeben, genau wie beim google_sitemap-Modul das ich als Vorlage genommen habe.

Offline

#13 01.09.2016 07:50:21

tomno399
Gast

Re: RSS-Feed zu allem?

Prima, das Modul funktioniert wie angegeben. Nun hätte ich (als superadmin) gern anstelle von "// Get public WB pages" alle Seiten angezeigt, also auch hidden, private usw.

Wo kann ich das hinzufügen (bitte bedenken, ich bin kein Coder)?

#14 01.09.2016 22:36:16

mrbaseman
Developer

Re: RSS-Feed zu allem?

die hidden und private-Seiten nur für dich als angemeldeten Superadmin anzeigen und nicht für andere User geht im Moment noch nicht. Das kann ich aber gern einbauen, ist kein großer Aufwand. Wenn du eine versteckte oder private Seite generell in den Feed mit aufnehmen willst, kannst du eine Datei namens config.php im Modulverzeichnis erstellen, in der du sowas wie

<?php
 $RssFeedAll_include = array (3, 5, 7, 11);

stehen hast. Die Zahlen sind die Page_id der Seiten, die nicht public sind aber trotzdem im Feed erscheinen sollen.
Ein Beispiel hierfür hab ich selbst: Ich habe ein News-Modul auf einer versteckten Seite und binde es mit dem SectionPicker Droplet auf der Startseite ein. Damit wären alle News-Beiträge im Feed unterdrückt.
Eine Admin-Sonderbehandlung folgt wie gesagt in der nächsten Version

Beitrag geändert von mrbaseman (04.09.2016 22:48:23)

Offline

#15 04.09.2016 23:05:16

mrbaseman
Developer

Re: RSS-Feed zu allem?

hier eine verbesserte Version mit zwei neuen Features:

- anstelle nur die öffentlich sichtbaren Seiten (visibility == 'public') in den Feed aufzunehmen wird geprüft, ob die Seite im aktuellen Kontext sichtbar ist, sprich: Wenn du als Administrator eingeloggt bist und daher alle Seiten sehen darfst, dann tauchen auch alle im Feed auf (Voraussetzung ist natürlich, dass die Session die gleiche ist - funktioniert also wenn man den Feed im Browser anschaut aber nicht unbedingt wenn man ein separates Programm verwendet, das mit dem Webserver evtl. eine eigene Session aufmacht)

- Analog zu den include und exclude Listen kann man jetzt auch speziell für Mitglieder der Admin-Gruppe und für den Superadmin Listen konfigurieren. Diese gelten zusätzlich zu den generellen Listen für alle. Um Seiten in der include Liste für Admins mit hinzuzufügen, reicht es die zusätzlichen page_id's aufzuführen, Um Einträge aus der Liste zu entfernen muss man einfach ein Minus voranstellen (negative page_id's gibt's ja nicht, also -3 bedeutet: "nimm page_id=3 aus der Liste heraus"), und bei Strings ist das Minus in den String einzuschließen ('-private' bedeutet: "nimm 'private' aus der Exludeliste heraus, wenn ein Admin den Feed liest"). Vermutlich ist durch das oben beschriebene Feature die Funktionalität mit den Listen gleich schon wieder obsolet geworden, aber vielleicht braucht's ja doch jemand  smile

Ach ja: Um die Modul-eigene config.php aufzubauen empfehle ich einfach den Abschnitt in dem die Standardwerte gesetzt werden aus der include.php zu kopieren.

Offline

#16 06.09.2016 18:13:31

tomno399
Gast

Re: RSS-Feed zu allem?

Hmm,

Die Zahlen sind die Page_id der Seiten, die nicht public sind aber trotzdem im Feed erscheinen sollen.

meine Intension war/ist eine andere. Page_IDs setzen bestehende Seiten voraus. Als Superadmin möchte ich aber gern wissen, was sich durch die anderen Admins (bei mir 6 Personen) geändert hat, welche Seiten neu erstellt wurden usw. Als Gesamtverantwortlicher für Corporate Identity or Corporate Design braucht man einen (schnellen) Überblick über Seiten-Inhaltsänderungen sowie Seiten-Neuerstellungen mit Hilfe aller verfügbaren Module. Die ganze Sitemap durchzuklicken wie bisher, sollte durch den Feed abgelöst werden. Das scheint er aber nicht zu können.

#17 06.09.2016 20:50:40

mrbaseman
Developer

Re: RSS-Feed zu allem?

das kriegen wir schon noch hin... in der neuesten Version (siehe Anhang) kannst du auch Strings wie "private", "hidden", "registered" in die include-Liste aufnehmen - das sollte man natürlich nur für Admins freigeben (ansonsten müsste man den Zugriff anderweitig einschränken, z.B. via htaccess) - oder als Superadmin vielleicht auch "all" was sogar die gelöschten Seiten mit beinhaltet.

Vor allem hab ich auch die Config-Section in der include.php besser dokumentiert

Offline

#18 14.11.2018 17:25:23

chap
Mitglied

Re: RSS-Feed zu allem?

Habe die 0.2.1 Installiert.
Habe die view.php aufgerufen und da kommt folgendes:

Warning: require(/modules/Array/module_settings.php): failed to open stream: No such file or directory in /modules/rss-feed-all/include.php on line 690

Warning: require(/modules/Array/module_settings.php): failed to open stream: No such file or directory in /modules/rss-feed-all/include.php on line 690

Fatal error: require(): Failed opening required '/modules/Array/module_settings.php' (include_path='.:/usr/share/php:..') in /modules/rss-feed-all/include.php on line 690

Die module_settings.php existiert aber bei mir im topics ordner. Kann es eher sein das er in der line 690 ein fehler ist?

       require(WB_PATH.'/modules/'.$topics_mod_name.'/module_settings.php');

Liebe Grüße,
cHAp

Offline

#19 14.11.2018 18:32:45

bernd
Developer

Re: RSS-Feed zu allem?

Wie sieht denn die Zeile 78 aus?
$topics_mod_name =


... nein in Europa verwenden wir beim Programmieren nicht € statt $ ...

Offline

#20 14.11.2018 18:52:22

chap
Mitglied

Re: RSS-Feed zu allem?

rss-feed-all/include.php:

        $topics_mod_name     = "topics";        // Name of the module

Liebe Grüße,
cHAp

Offline

#21 14.11.2018 23:44:50

bernd
Developer

Re: RSS-Feed zu allem?

o.k.
das war's also nicht, nächster Versuch:
ändere mal bitte Zeile ~155 in der include.php so ab:

if (in_array($topics_mod_name, $modules))
            RssFeedAll_Topics( $output_array, $debug_info, $public, $counter, $topics_mod_name, $RssFeedAll_exclude, $wb );

Also grade die Position von $topics_mod_name und $RssFeedAll_exclude vertauschen.


... nein in Europa verwenden wir beim Programmieren nicht € statt $ ...

Offline

#22 15.11.2018 10:11:06

florian
Administrator

Re: RSS-Feed zu allem?

Das Modul bekommt den potenziell geänderten Namen des Topics-Moduls nicht zu fassen. Da sich der aber nicht so oft ändert und vermutlich Topics in 999 von 1000 Fällen sowieso Topics heißt, kann man das m.E. vernachlässigen und hart verdrahten, sprich Zeile 690 der /modules/rss-feed-all/include.php ändern zu

 require(WB_PATH.'/modules/topics/module_settings.php');

und Zeile 699 zu

             . "  FROM `".TABLE_PREFIX."mod_topics`"

Der Tipp im obigen Post, eine versteckte seite mit dem Whiteboard-Template und dem Funktionsaufruf anzulegen, generiert ein fehlerhaftes RSS, da dort ein Abschnittsanker eingefügt wird. Dies muss bei den Grundeinstellungen deaktiviert werden (Feld für Abschnittsanker-Bezeichnung leeren).

Das Modul wirft aber zumindest bei mir noch ein paar Notices und Warnings, wenn diese nicht unterdrückt werden, ist der Feed auch fehlerhaft.

<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/.../modules/rss-feed-all/include.php</b> on line <b>348</b><br />
<br />
<b>Notice</b>:  Undefined variable: lastchange in <b>/.../modules/rss-feed-all/include.php</b> on line <b>719</b><br />
<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/.../modules/rss-feed-all/include.php</b> on line <b>348</b><br />
<br />
<b>Notice</b>:  Undefined variable: lastchange in <b>/.../modules/rss-feed-all/include.php</b> on line <b>719</b><br />
<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/.../modules/rss-feed-all/include.php</b> on line <b>348</b><br />
<br />
<b>Notice</b>:  Undefined variable: lastchange in <b>/.../modules/rss-feed-all/include.php</b> on line <b>719</b><br />
<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/.../modules/rss-feed-all/include.php</b> on line <b>348</b><br />
<br />
<b>Notice</b>:  Undefined variable: lastchange in <b>/.../modules/rss-feed-all/include.php</b> on line <b>719</b><br />


Code allein macht nicht glücklich. Jetzt spenden!

Offline

#23 15.11.2018 11:10:41

mrbaseman
Developer

Re: RSS-Feed zu allem?

Ok, muss ich mir mal bei Gelegenheit genauer anschauen. Ich hab das länger nicht angefasst, aber als ich im RSS-Feed vom Forum das Thema "RSS" gesehen habe, dacht ich mir, das könnte vielleicht was sein. Als Grundlage hab ich damals google_sitemap von Ruud genommen.

Offline

#24 15.11.2018 14:15:21

chap
Mitglied

Re: RSS-Feed zu allem?

Soll ich da jetzt erstmal warten bis ihr das soweit hin bekommen habt oder wie möchten wir das hier weiter verfolgen aktuell?
Mir ist es halt wichtig das ich ein RSS hab, wo ich alle Topics eben auslesen kann mit einen Link. Den es macht denke ich weniger sinn nur die section_id zu verwenden der einzelnen seiten.

Bei RSS Eintragsservices wird ja meist nur ein Link angeboten und da wäre es sinnvoll wenn es eben so ein hartlink wäre, wo alles zusammen kommt. smile


Liebe Grüße,
cHAp

Offline

#25 15.11.2018 15:27:58

bernd
Developer

Re: RSS-Feed zu allem?

Im Prinzip funktioniert das Dingenchen ja, da sind nur Kleinigkeiten zu richten:
zum einen (siehe meine #21) stimmt die Reihenfolge der Parameter im Funktionsausfruf nicht mit der überein die die Funktion erwartet.
Zeile 719 sollte wohl so aussehen:

'lastchange' => $lastmod,

Und wegen der Warning in 348 kann ich heute Abend nochmal schaeun ...


... nein in Europa verwenden wir beim Programmieren nicht € statt $ ...

Offline

Fußzeile des Forums

up