cms4ds - ein CMS für die DS

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
4
Punkte
0
Die nächste Idee ist, ein neues Front-End für die Pflege der Beiträge zu verwenden. Ich dachte da an den Live-Writer von Microsoft. (Download hier).

Man kann mit dem Live-Writer verschiedene Protokolle für die Pflege von Blog-Beiträgen nutzen. Eines davon ist das Metaweblog API. Das ist einigermaßen überschaubar und auch recht gut dokumentiert. Um die Daten für das Protokoll aufzubereiten, kann man PHP verwenden; allerdings benötigt man dazu PEAR. PEAR ist eine Sammlung von PHP-Klassen. PEAR kann man entweder per IPKG installieren oder in dem man sich XAMPP auf einen PC holt und dann auf die DS kopiert. Ich habe das php-Verzeichnis von PAER im /volume1/web-Verzeichnis liegen. Im Grunde kann man es irgendwo liegen haben, wo das PHP-Modul des Apache drauf zugreifen kann. Mit
Rich (BBCode):
ini_set("include_path","/volume1/web/php/PEAR");

in den PHP-Skripten, definiert man den Zugriffspfad auf PEAR (für alle die es irgendwo anders hin haben möchten; für Anfänger ist es am einfachsten, es auch ins /volume1/web zu kopieren).

Ich verwende 2 PEAR-Klassen:
Rich (BBCode):
require_once 'XML/RPC/Server.php';
require_once 'MDB/QueryTool.php';

Es empfiehlt sich nachzuprüfen, ob beide Klassen auch wirklich vorhanden sind.

Die Kommunikation zwischen Life Writer und unserer cms4ds-Datenbank wird mit XmlRpc (XML remote procedure calls) abgewickelt. Das ist eine Technik, um hier zwischen zwei Server-Modulen Daten auszutauschen. Deswegen füllt man in dem PHP-Skript ein call-back-interface mit wohl definierten Funktionen aus. In unserem Fall sind das die des Metaweblog API:
PHP:
$server = new XML_RPC_Server(array(
  'metaWeblog.newPost'        => array('function' => 'mw_newPost'),               //ok
  'metaWeblog.editPost'       => array('function' => 'mw_editPost'),              //ok
  'metaWeblog.getPost'        => array('function' => 'mw_getPost'),               //ok
  'metaWeblog.getRecentPosts' => array('function' => 'mw_getRecentPosts'),        //ok
  'metaWeblog.getCategories'  => array('function' => 'mw_getCategories'),         //ok
  'metaWeblog.newMediaObject' => array('function' => 'mw_newMediaObject'),        //ok
  'metaWeblog.deletePost'     => array('function' => 'blogger_deletePost'),       //ok
  'blogger.deletePost'        => array('function' => 'blogger_deletePost'),       //ok
  'blogger.getUsersBlogs'     => array('function' => 'blogger_getUsersBlogs'),    //ok
  'metaWeblog.getUsersBlogs'  => array('function' => 'blogger_getUsersBlogs'),    //ok
  ),1);

Die Methoden dieser Server-Klasse werden im PHP-Skript überschrieben mit eigenen Funktionen. Ansonsten sieht man von dem Server nicht viel, weil die ganze Logik in der PEAR-Klasse XML/RPC/Server.php liegt.

Damit das geht muss zwingend auf die Firmware 8xx upgedatet worden sein, weil nur dann der Apache auch XML kann.

Für die Datenbankzugriffe verwende ich hier auch eine PEAR-Klasse: die MDB/QueryTool-Klasse.

Realativ zu Beginn im PHP-Skript xmlrpc.php werden die Verbindungsinformationen zur Datenbank, Benutzer und Kennwort für die Verbindung definiert. Das wäre anzupassen.

Die angehängte Datei bitte wie immer umbenennen.
 

Anhänge

  • xmlrpc.php.pdf
    10,2 KB · Aufrufe: 8

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
4
Punkte
0
Wenn man den Live Writer gestartet hat, kann man im Menü-Punkt 'Blogs' einen neuen 'Blog hinzufügen:

1] anderer Blogdienst
2] http://Name-der-DS/Verzeichnis-des-Blogs(Am besten, man benutzt die interne IP-Adresse.)
3] Benutzer und Kennwort, so wie im PHP-Skript vereinbart (wird nicht geprüft, sollte aber irgendwann aktiviert werden, damit nicht wenn man unberechtigt der Inhalt des cms4ds geändert werden kann)
4] Bloganbieter wäre dann 'Metaweblog API'
5] und Blog-URL ist: http://Name-der-DS/Verzeichnis-des-Blogs/xmlrpc.php

Dann wird gerödelt und gefragt, ob man eine Musterseite herunterladen soll - kann man probieren, wird aber nicht wirklich gehen.

Leider hat die aktuelle Live Writer-Version einen Bug ... wenn man sich die Eingaben ansieht, stellt man fest, dass die Homepage-Eintragung irgendwie falsch ist ... und es wird auch nicht wirklich was gehen ... bevor wir das nicht über die Registy gepatch haben.

Also regedit aufmachen und folgenden Schlüssel ändern:
HKEY_CURRENT_USER\Software\Microsoft\Windows Live\Writer\Weblogs\8690ac16-7ab4-4689-9838-fd2eee261637\HomepageUrl
da muss dann in den Schlüssel: http://Name-der-DS/Verzeichnis-des-Blogs

Wenn das erledigt ist, kann man ins Menü 'Datei - Öffnen' vom Live Writer und die Seiten, sofern vorhanden, vom cms4ds in den Live Writer laden.

Neuerfassungen, Änderungen, Kategorien, Datum sollten eigentlich gehen. Alle Beiträge haben so eine Nummer [ ]. Das ist der Schlüssel (Content_ID) für die Datenbank-Operationen. Ich hab ihn so eingebaut, das man damit recht gut leben kann. Aber Achtung: Ohne diesen Schlüssel geht leider nichts. Neue Beiträge müssen einen noch nicht vorhandenen Schlüssel bekommen ... ich hab hier keine Automatik eingebaut.

Bei den Uploads von Bildern und beim Einfügen von Objekten muss man halt schauen was geht und ggf. das PHP-Skript noch anpassen.

.
 

Anhänge

  • livewriter.jpg
    livewriter.jpg
    78,4 KB · Aufrufe: 207

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
4
Punkte
0
Ähnlich wie die Bildergalerie habe ich ein nette Möglichkeit gefunden auch MP3s abzuspielen. Es gibt da ein nettes PHP-Skript namens Opentape. Hier kann man es sich mal anschauen: http://syno/cms4ds/more.html -> dann auf Opentape klicken und die Opentape-Seite aufrufen.

Noch eine Bemerkung in Sachen Downloads von MP3 ... so wie ich Opentape verstanden habe, ist das Teil nicht dazu gedacht, dass hier eine Tauschbörse entsteht (weil man sich die Files auch nicht so einfach herunterladen kann), sondern eher als Plattform geeignet ist, seine 'eigen erstellte' Musik hochzuladen, um sie anderen einmal zu präsentieren.

Die Bedienung ist recht einfach gehalten - drauf klicken ... Lautstärke steuert man über die Lautsprechersteurung von Windows.

Die Beispiel-Stücke stammen von bob's musik page und sind alle 'frei' für nicht-kommerzielle Zwecke.

Das Skript zur Integration von Opentape ist ein einfacher iframe ...
PHP:
<html><head><title>cms4ds</title>
<link rel="stylesheet" type="text/css" href="cms4ds.css" />
<link rel="shortcut icon" href="cms4ds.ico" />
</head><body onload="history()">
<iframe src="blank.html?0" name="histFrame" id="histFrame"></iframe>
<div id="basecontainer">
<div id="top">cms4ds<br/><span>a CMS for Synology Disk Stations</span></div>
<div id="menu">
<a href="cms4ds.html">cms4ds</a>
<a href="files.html">files</a>
<a href="stylesheet.html">stylesheet</a>
<a href="javascript.html">javascript</a>
<a href="database.html">database</a>
<a href="rss.html">rss</a>
<a href="search.html">search</a>
<a href="tools.html">tools</a>
<a href="more.html">more ...</a>
</div> <!-- menu -->
<div id="container">
<iframe src="opentape/index.php" width="100%" height="500px" frameborder="0"></iframe>
</div> <!-- container -->
<div id="footer">(c) 2008-2009 by 至 itari based on <a style="text-decoration:none" href="http://itari.syno-ds.de/">cms4ds</a></div>
</div> <!-- basecontainer -->
</body></html>

Aussehen tut es so:
.
 

Anhänge

  • opentape.jpg
    opentape.jpg
    45,2 KB · Aufrufe: 197
Zuletzt bearbeitet:

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
4
Punkte
0
Nachtrag zu Opentape:

Es gibt ein add-on, den OpenTapeIndexer, der eine Hierarchieebene einzieht; manche würde auch Playlist dazu sagen ;)

Download hier

Das das nun nicht mehr wirklich was mit dem cms4ds zu tun hat, beschreib ich nicht viel mehr. Die Anleitung und der Link auf eine Beispiel-Seite, denke ich, reichen.

Itari

PS. Ansonsten gibt es eine reges Opentape-Diskussionsforum und bestimmt noch das ein oder andere mehr ...
 

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
4
Punkte
0
Flash-File-Integration ins cms4ds

Ich hab mal 2 neue Seiten mit SWF-File-Integration dazugehangen - hier und hier kann man sie besichtigen.

Die Integration wird einfach mittels eines (Content-)Beitrags vorgenommen:

Rich (BBCode):
<p>Hier ist einmal eine kleine SWF-Datei eingebunden. Es kann sein, dass sie im IE nicht richtig angezeigt wird.</p>
 
<object classid="CLSID:D27CDB6E-AE6D-11cf-96B8-444553540000" 
          codebase="http:/active.macromedia.com/flash2/cabs/swflash.cab#version=4,0,0,0">
    <param name="movie" value="cms4ds.swf">
    <param name="quality" value="high">
    <param name="scale" value="exactfit">
    <param name="menu" value="false">
    <param name="bgcolor" value="#ffffff">
<embed src="cms4ds.swf" quality="high" scale="exactfit" menu="false"
           bgcolor="#ffffff"   swLiveConnect="false"
           type="application/x-shockwave-flash"
           pluginspage="http://www.macromedia.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash">
</object>

Da sich die Teile ja dynamisch verändern, wird es nichts mit Screen-Shots :D

Itari
 

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
4
Punkte
0
Page-Peel oder auch Eselsohren genannt

Es gibt auf einer ganzen Reihe von Web-Sites diese PagePeels. Irgendwie nett ... dahinter verbirgt sich ein wenig Flash und die Absicht, jemanden zum Klicken zu animieren ... meist auf irgendeine Werbung. Naja, kann man natürlich auch woanders hin weiterleiten.

Ich hab ein nettes Skript hier gefunden http://www.webpicasso.de/blog/kostenloses-pagepeel/ und mal bei mir eingebaut. Jetzt warte ich noch darauf, dass mir der Autor sein Einverständnis zur Erläuterung gibt, wie man es einbaut (ich darf nutzen, weitergeben, aber nicht in eigenen Skripten oder Projekten veröffentlichen ... - komische Lizenzvereinbarung - naja, vielleicht wird ja alles gut).

Sieht doch gut aus? Die verwendeten Bildchen sind von mir; also hiermit stelle ich sie unter die folgende creative common licence http://creativecommons.org/licenses/by-nc-nd/3.0/de/ ;)

Itari
.
 

Anhänge

  • pagepeel.jpg
    pagepeel.jpg
    8,2 KB · Aufrufe: 153

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
4
Punkte
0
Page-Peel

so nun habe ich vom Autors eine E-Mail erhalten, die es mir wohl gestattet, das Pageear-Skript zu behandeln:

Meine Anfrage:

...hätte ich gerne auch ein Antwort: Darf ich dein Skript auch im Forum (als Download) veröffentlichen und kommentieren? Ich beziehe mich auf deine Lizenzbedingungen:

"Zur Verwendung bzw. Vervielfältigen des pageear in eigenen Skripten / Projekten die veröffentlich werden muss das Einverständnis des Autors , webpicasso media, eingeholt werden."

Bekomm ich da nun dein Einverständnis, weil ich dein Skript ja in einem non-profit Community-Projekt verwenden und veröffentlichen will?

Und die Antwort von Christian Harz vom 15.5.2009:
Hi Itari,

solange Du auf den Urheber und die Lizenzbestimmungen verweist und diese auch einhälst bzw auch von anderen eingehalten wird, kannst Du das machen.

Grüße
Christian

Also ich verweis jetzt mal: http://www.webpicasso.de/blog/lizenzvereinbarungen-license-agreements/ :D

Wie wird nun das Skript eingebaut? Am besten in der header.html:

Rich (BBCode):
...
<link rel="search" type="application/opensearchdescription+xml"
      href="http://syno/cms4ds/search.xml" title="cms4ds" />
<script src="pageear/AC_OETags.js" type="text/javascript"></script>
<script src="pageear/pageear.js" type="text/javascript"></script>
<script type="text/javascript" src="cms4ds.js"></script>
...

Das ganze Skript selbst kommt also in eine Unterverzeichnis 'pageear'. Dort kann man in der Datei pageear.js die Konfiguration vornehmen (super kommentiert).

So das war es auch schon.

Itari
 

Brian!

Benutzer
Mitglied seit
29. Mrz 2009
Beiträge
147
Punkte für Reaktionen
0
Punkte
0
XAMPP und CMS4DS

...oder in dem man sich XAMPP auf einen PC holt...

Hallo itari,

erstmal vorweg: ich finde dein CMS4DS Projekt nach wie vor eine super Sache und verfolge aufmerksam jedwede Erweiterung die du dafür hier postest! :)

So und nun zu meinem Problemchen: ich versuche nun schon seit Stunden dein CMS4DS mit meiner XAMPP Installation zum laufen zu bekommen - leider sehr erfolglos. Bin mir ziemlich sicher, dass es mit den SSI's zusammen hängt, da ja ansonsten alles über XAMPP auch läuft (eben so ziemlich alles, was ich auch so auf meiner DS drauf habe, PHPMyAdmin, OpenGoo, AjaXplorer, die einzelnen html's vom CMS4DS etc.). Unter der Benutzersteuerung von XAMPP wird mir SSI auch als erfolgreich funktionsfähig angezeigt und auch edliche Manipulationen an der httpd.conf (u.A. die mit dem Options ... Includes) haben bisher nicht geholfen, die SSI's werden schlicht ignoriert (genau wie wenn ich die index.html direkt im Browser öffne, ohne einen Apache Server etc.).

Da ich meine schon mehrfach von dir Referenzen nach XAMPP gelesen zu haben und (hoffentlich folgerichtig) annehme, dass du es selbst zum Web Development mit deinem CMS4DS nutzt hoffe ich du hast nun vielleicht den entscheidenden Hinweis für mich, was ich seit etlichen Stunden als falsch mache!? :confused: :rolleyes: :)

Grüße,
Brian
 

Brian!

Benutzer
Mitglied seit
29. Mrz 2009
Beiträge
147
Punkte für Reaktionen
0
Punkte
0
Geschafft!

Okay, habe den Fehler jetzt doch noch selbst gefunden! :)

Meine Konfiguration von XAMPP unterstütze zwar brav SSI, dies aber auch nur für .shtml Dateien. Habe das nun in der httpd.conf noch schnell auf .html erweitert (scheint bei der DS nicht nötig zu sein oder schon irgendwo an anderer Stelle zu geschehen, da dieser Bereich in der httpd-conf.user auskommentiert ist) und nun geht alles so wies soll! :D *freu*
 

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
4
Punkte
0
Okay, habe den Fehler jetzt doch noch selbst gefunden! :)

Meine Konfiguration von XAMPP unterstütze zwar brav SSI, dies aber auch nur für .shtml Dateien. Habe das nun in der httpd.conf noch schnell auf .html erweitert (scheint bei der DS nicht nötig zu sein oder schon irgendwo an anderer Stelle zu geschehen, da dieser Bereich in der httpd-conf.user auskommentiert ist) und nun geht alles so wies soll! :D *freu*

Es gibt 2 Methoden, die SSI anzuwerfen:

1] mit AddType text/html .shtml bzw. AddType text/html .html und dem Hinzufügen der Filter-Direcktive: AddOutputFilter INCLUDES .shtml bzw. AddOutputFilter INCLUDES .shtml

oder

2] XBitHack on (z. B. in einer .htaccess) plus Asuführungsrechte setzten mit chmod 755 oder so. Des geht aber nur auf UNIX/Linux-Rechner bzw. auf Rechnern, wo das Dateisystem sowas hat - und da gibts halt nicht für Windows. Deswegen hab ich auf der DS diese Methode gewählt.

Für Windows muss man mit Methode 1 arbeiten, was du aber mittlerweile ja selbst gefunden hast.

Natürlich muss man auch noch die Options +Includes bei beiden Methoden machen ...

Itari
 

schwedenmut

Benutzer
Mitglied seit
02. Jul 2009
Beiträge
6
Punkte für Reaktionen
0
Punkte
0
erste Gehversuche

Hi Itari,
hallo rest der Community die mitlesen.

Ich finde dein cms4ds super, kenne mich auch ein wenig mit php mysql etc pp aus - habe somit auch alles zum laufen bekommen - danke für dieses super forum wo alles auch gut beschrieben ist (für die telnet erstbenutzer) ;)

naja, nur ein problem habe ich, wenn ich auf http://diskstation/cms4ds/cms4ds.html versuche zuzugreifen, klappt das nur mit dem IE, jedoch nicht mit dem Firefox 3.5 - jedoch wenn ich über meine externe ip gehe, dann klappt es auch mit dem Firefox 3.5 ?!?
Ist iwie unlogisch finde ich, kannst Du mir helfen ?

Danke für deine Hilfe und
"keep up the good work" ;)
mfg schwedenmut
 

TobiasM

Benutzer
Mitglied seit
07. Aug 2008
Beiträge
354
Punkte für Reaktionen
0
Punkte
0
Welche Fehlermeldung kommt denn beim Firefox?
 

schwedenmut

Benutzer
Mitglied seit
02. Jul 2009
Beiträge
6
Punkte für Reaktionen
0
Punkte
0
hi,
also beim Firefox bleibt wenn ich übers netzwerk auf die cms4ds zugreife das Browserfenster einfach weiß - kein Fehler, keine Anzeige.
Wie gesagt, wenn ich von extern über meine dyndns adresse auf cms4ds zugreife, funktioniert es bei beiden browsern...

danke für Eure Hilfe und ein schönes Wochenende im Voraus! :D
 

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
4
Punkte
0
Was spricht denn die Fehlerkonsole beim FF? Funktioniert denn der FF3.0?

Vermutung ... (hab den FF3.5 nicht, sonst wüsste ich mehr) ... der AJAX-Request darf nicht durch ... irgendeine diese Sicherheitsrichtlinien ...

Itari
 

schwedenmut

Benutzer
Mitglied seit
02. Jul 2009
Beiträge
6
Punkte für Reaktionen
0
Punkte
0
hi, bin gerade auf der arbeit, daher kann ich nicht ins protokoll schauen, werde mir das aber heute nachmittag / abend mal anschauen.
zu testzwecken werde ich auch noch einmal den FF3.0 installieren.
Finde halt nur komisch, dass bei externem(internet) zugriff der FF3.5 funktioniert, aber nicht bei lokalem (LAN).
werde heute abend mal berichten.

danke für die Mühen!
 

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
4
Punkte
0
Finde halt nur komisch, dass bei externem(internet) zugriff der FF3.5 funktioniert, aber nicht bei lokalem (LAN).
werde heute abend mal berichten.

Wenn du lokal mit AJAX zugreifst, dann benutzt du ja eine IP aus dem sogenannten nicht öffentlich vergebenen IP-Adreß-Raum (192.168.x.x oder 172.16.x.x oder 10.x.x.x). Wenn du also eine Seite aus dem Internet aufruftst, dann wäre aus dieser Seite heraus ein Aufruf einer 'lokale' IP nicht unbedingt das Beste und deshalb mag es Browser geben, die das nicht mögen ... Da das cms4ds aber AJAX macht, macht es das natürlich genau so ;)

Es kann aber auch an was ganz anderem liegen ...

Itari
 

schwedenmut

Benutzer
Mitglied seit
02. Jul 2009
Beiträge
6
Punkte für Reaktionen
0
Punkte
0
hi,
also ich habe keine proxy eingetragen im FF, auch sonst nirgenswo ;)
die Fehlerkonsole beim lokalen zugriff über FF3.5 sagt:
Rich (BBCode):
Fehler: LoadRSS2 is not defined
Quelldatei: http://diskstation/cms4ds/cms4ds.html
Zeile: 4
dagegen wenn ich über meine dyndns.org adresse zugreife kommen folgende Fehler, die aber zum Anzeigen wohl nicht so relevant sind:
Rich (BBCode):
Warnung: Fehler beim Verarbeiten des Wertes für 'border-right'.  Deklaration ignoriert.
Quelldatei: http://schwedenmut.dyndns.org/cms4ds/cms4ds.css
Zeile: 16
Warnung: Fehler beim Verarbeiten des Wertes für 'float'.  Deklaration ignoriert.
Quelldatei: http://schwedenmut.dyndns.org/cms4ds/cms4ds.css
Zeile: 16
Warnung: Fehler beim Verarbeiten des Wertes für 'height'.  Deklaration ignoriert.
Quelldatei: http://schwedenmut.dyndns.org/cms4ds/cms4ds.css
Zeile: 20
Warnung: Unbekannte Eigenschaft 'hover'.  Deklaration ignoriert.
Quelldatei: http://schwedenmut.dyndns.org/cms4ds/cms4ds.css
Zeile: 24

Ich hoffe, das hilft weiter - danke !
 

TobiasM

Benutzer
Mitglied seit
07. Aug 2008
Beiträge
354
Punkte für Reaktionen
0
Punkte
0
schau mal auf Seite 5 dieses Thread, da steht was zu dieser Meldung, aber warum das nur lokal passiert verstehe ich auch nicht.
 

rojanet

Benutzer
Mitglied seit
06. Aug 2010
Beiträge
19
Punkte für Reaktionen
0
Punkte
0
installation con cms4ds

Hallo erstmal

habe da einn problem mit der instalations anweisung.

habe eien frisch instaliertes ds109 habe die web anwendung aktiviert und mysql und php.

ok es war die .htaccess mit den chmod.

und wie bekomm ich den das new und edit weg habe mal alles gelöscht auf ein mal ging de reditor nicht mehr

mh werde mich mal drüber stürtzen.


mfg rojanet
 
Zuletzt bearbeitet:
  AdBlocker gefunden!

Du bist nicht hier, um Support für Adblocker zu erhalten, denn dein Adblocker funktioniert bereits ;-)

Klar machen Adblocker einen guten Job, aber sie blockieren auch nützliche Funktionen.

Das Forum wird mit einem hohen technischen, zeitlichen und finanziellen Aufwand kostenfrei zur Verfügung gestellt. Wir zeigen keine offensive oder Themen fremde Werbung. Bitte unterstütze dieses Forum, in dem du deinen Adblocker für diese Seite deaktivierst.