Interesse: "Release-Channels" für Autoupdater?

  • Ab sofort steht euch hier im Forum die neue Add-on Verwaltung zur Verfügung – eine zentrale Plattform für alles rund um Erweiterungen und Add-ons für den DSM.

    Damit haben wir einen Ort, an dem Lösungen von Nutzern mit der Community geteilt werden können. Über die Team Funktion können Projekte auch gemeinsam gepflegt werden.

    Was die Add-on Verwaltung kann und wie es funktioniert findet Ihr hier

    Hier geht es zu den Add-ons

Status
Für weitere Antworten geschlossen.

Matthieu

Benutzer
Registriert
03. Nov. 2008
Beiträge
13.222
Reaktionspunkte
88
Punkte
344
Bevor ich irgend welche Zeit hinein investiere, möchte ich fragen ob es Interesse an einem Projekt wie diesem geben würde. Synology stellt ja eine Funktion für automatische Updates bereit. Nun hab ich diese mal auseinander genommen und einiges herausgefunden. Bevor ich aber weitere Arbeit in diesen Weg investiere, würde ich gern erfahren ob es Interesse an einem "Release-Channel"-System gibt. Ähnlich wie es bei Firefox oder Chrome der Fall ist könnte man zwischen verschiedenen Kanälen wählen und nur Updates angezeigt bekommen die auch wirklich von Interesse sind.
Gäbe es Interessenten oder gar Mitstreiter?

MfG Matthieu
 
Ich war vorhin etwas in Eile, möchte daher noch mal ein paar Worte dazu sagen.
Es geht mir darum, neben den offiziellen Kanälen auch weitere anzubieten. Insbesondere einen "Beta"-Channel bei dem die notwendigen Registrierungsdaten evtl. automatisch an Synology übermittelt würden, sowie einen "Stable", bei dem die Community anhand der Erfahrungsberichte entscheidet, ob ein Update wirklich stabil und ohne Folgen ist.
Zusätzlich wäre es gut, Daten wie ChangeLogs, bekannte Bugs etc. über den DSM abrufbar zu machen.
Vergleichbar ist dies daher mit Systemen wie sie Mozilla mit "Nightly", "Aurora", "Beta" und "Stable" anbietet (auch wenn solch frühe Versionen natürlich nicht verbreitet werden). Am System selbst müssen dazu relativ wenig Veränderungen vorgenommen werden.

MfG Matthieu
 
Da meine Finger einfach zu sehr kribbelten und bei Facebook sich doch noch Fürsprecher fanden, hab ich mal angefangen. Die DS-Seite ist absolut kein Problem - aber ich will gleich richtig anfangen und daher auch ein entsprechendes Server-Backend aufbauen. Leider macht PHP nicht was ich gern hätte ... kann da mal bitte jemand drüberschauen? Danke

MfG Matthieu

HTML:
<?php
echo '<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
    <channel>
        <title>RSS for DSM Auto Update</title>
        <link>http://download.synology.com/download/DiskStation/genRSS.php</link>
        <pubDate>Mon Apr 11 15:11:33 CST 2011</pubDate>
        <copyright>Copyright 2010 Synology Inc</copyright>
        <item>';
$db = new mysqli('localhost',****zensiert****');
$zweig = 'stable';
$server = 'http://ukdl.synology.com/download/DiskStation/';
$build = $db->query("SELECT `build` FROM `versionen` WHERE `zweig`='".$zweig."'");
echo '<title>'.$db->query("SELECT `title` FROM `versionen` WHERE `zweig` ='".$zweig)."'</title>";
echo '<MajorVer>'.$db->query("SELECT `MajorVer` FROM `versionen` WHERE `zweig` ='".$zweig)."'</MajorVer>";
echo '<MinorVer>'.$db->query("SELECT `MinorVer` FROM `versionen` WHERE `zweig` ='".$zweig)."'</MinorVer>";
echo '<BuildPhase>'.$db->query("SELECT `BuildPhase` FROM `versionen` WHERE `zweig` ='".$zweig)."'</BuildPhase>";
echo '<BuildNum>'.$db->query("SELECT `BuildNum` FROM `versionen` WHERE `zweig` ='".$zweig)."'</BuildNum>";
echo '<BuildDate>'.$db->query("SELECT `BuildDate` FROM `versionen` WHERE `zweig` ='".$zweig)."'</BuildDate>";
echo '<ReqMajorVer>'.$db->query("SELECT `ReqMajorVer` FROM `versionen` WHERE `zweig` ='".$zweig)."'</ReqMajorVer>";
echo '<ReqMinorVer>'.$db->query("SELECT `ReqMinorVer` FROM `versionen` WHERE `zweig` ='".$zweig)."'</ReqMinorVer>";
echo '<ReqBuildPhase>'.$db->query("SELECT `ReqBuildPhase` FROM `versionen` WHERE `zweig` ='".$zweig)."'</ReqBuildPhase>";
echo '<ReqBuildNum>'.$db->query("SELECT `ReqBuildNum` FROM `versionen` WHERE `zweig` ='".$zweig)."'</ReqBuildNum>";
echo '<ReqBuildDate>'.$db->query("SELECT `ReqBuildDate` FROM `versionen` WHERE `zweig` ='".$zweig)."'</ReqBuildDate>";
$query="SELECT * FROM `FW_".$build."` LIMIT 0 , 30";
$result=mysql_query($query);
while($datensatz = mysql_fetch_array($result, MYSQL_ASSOC))
    {
        echo '<model>';
        echo '<mUnique>'.$datensatz["arch"].'</mUnique>';
        echo '<mLink>'.$server.$datensatz["link"].'</mLink>';
        echo '<mCheckSum>'.$datensatz["hash"].'</mCheckSum>';
        echo '</model>';
    };
mysql_free_result($result);
echo'    </item>

    </channel>
</rss>';
?>
 
Wieso machst du einzelne Queries? Das ist ein Riesenoverhead. Alle Datensätze aus versionen kannst du auf einen Schlag haben. Und mit dem xml muss du höllisch ausfpassen. Den afaik verwendet Syno per default php_short_tags_open und das ist das gleiche Zeichen wie für xml. Und mit den ' und " stimmt garantiert was nicht. Das sollte eigentlich klare PHP Fehler geben, hast du ggf error_reporting abgedreht und siehst einfach ne weisse Seite?
 
error_reporting ist aktiviert. Folgendes findet sich im Quelltext der fertigen Seite:
HTML:
		<item><title>'</title><MajorVer>'</MajorVer><MinorVer>'</MinorVer><BuildPhase>'</BuildPhase><BuildNum>'</BuildNum><BuildDate>'</BuildDate><ReqMajorVer>'</ReqMajorVer><ReqMinorVer>'</ReqMinorVer><ReqBuildPhase>'</ReqBuildPhase><ReqBuildNum>'</ReqBuildNum><ReqBuildDate>'</ReqBuildDate> Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in /volume1/web/Matthieu-DS/genRSS.php on line 27  Warning: mysql_free_result() expects parameter 1 to be resource, boolean given in /volume1/web/Matthieu-DS/genRSS.php on line 35

MfG Matthieu
 
Ich sags ja du hast ein Durcheinander mit ' und " in den einzelnen Queries :-)
Und db_query gibt kaum mehr als einen mysql Handler zurück. Solche Handler kannst du aber mit PHP ned printen
PHP:
$db->query("SELECT `build`,`title`,`MajorVer`,`MinorVer`,`BuildPhase`,`BuildNum`,`BuildDate`,`ReqMajorVer`,`ReqMinorVer`,`ReqBuildPhase`,`ReqBuildNum`,`ReqBuildDate`FROM `versionen` WHERE `zweig`='".$zweig."'");
 
Zuletzt bearbeitet:
Deine Zeile schmeißt mich jetzt etwas aus dem Konzept ;)
Das mit dem query hab ich nach folgendem Vorbild gemacht:
PHP:
echo 'Die Ergebnistabelle besitzt '.$result->num_rows." Datensätze<br />\n";
http://tut.php-q.net/de/mysql-php.html

MfG Matthieu
 
PHP:
<?php
echo '<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
    <channel>
        <title>RSS for DSM Auto Update</title>
        <link>http://download.synology.com/download/DiskStation/genRSS.php</link>
        <pubDate>Mon Apr 11 15:11:33 CST 2011</pubDate>
        <copyright>Copyright 2010 Synology Inc</copyright>
        <item>';
$db = new mysqli('localhost','****zensiert****');
$zweig = 'stable';
$server = 'http://ukdl.synology.com/download/DiskStation/';
$result = $db->query("SELECT `build`,`title`,`MajorVer`,`MinorVer`,`BuildPhase`,`BuildNum`,`BuildDate`,`ReqMajorVer`,`ReqMinorVer`,`ReqBuildPhase`,`ReqBuildNum`,`ReqBuildDate`FROM `versionen` WHERE `zweig`='".$zweig."'");  
$row = $result->fetch_assoc();

echo '<title>'.$row['title'].'</title>';
echo '<MajorVer>'.$row['MajorVer'].'</MajorVer>';
[restlicher Code]
$query="SELECT * FROM `FW_".$build."` LIMIT 0 , 30";
$result=mysql_query($query);
while($datensatz = mysql_fetch_array($result, MYSQL_ASSOC))
    {
        echo '<model>';
        echo '<mUnique>'.$datensatz["arch"].'</mUnique>';
        echo '<mLink>'.$server.$datensatz["link"].'</mLink>';
        echo '<mCheckSum>'.$datensatz["hash"].'</mCheckSum>';
        echo '</model>';
    };
mysql_free_result($result);
echo'    </item>

    </channel>
</rss>';
?>
 
fetch_assoc ist mir neu, deswegen kann ich hier nur die Ausgabe posten:
Fatal error: Call to a member function fetch_assoc() on a non-object in genRSS.php on line 14
MfG Matthieu
 
Zuletzt bearbeitet:
komsich $result sollte vorhanden und ein Objekt sein
 
Ich hab noch n bissl gegoogelt aber nichts gefunden. Werde wahrscheinlich erst mal beim statischen Versuch bleiben und nur den Server-Teil ein wenig dynamisch abändern.

MfG Matthieu
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat