de en

Anpassung von Semantic Scuttle (Tutorial Teil 2)

Samstag, 9. August 2008 | Autor: Andreas

Nachdem wir im ersten Teil Semantic Scuttle auf unserem Webserver installiert haben, wollen wir nun ein paar Anpassungen vornehmen.

Cleanurls

Klickst du in der Navigationsleiste von Semantic Scuttle auf populäre Tags siehst du, daß als Internetadresse http://domain.xxx/populartags.php/ aufgerufen wird.

Dies sieht nicht besonders schön aus und Semantic Scuttle bietet die Möglichkeit das zu verändern. Als Resultat sollte dann beim Aufruf der poulären Tags http://domain.xxx/populartags/ in der Adressenleiste stehen. Diese Funktion wird mittels einer Datei .htaccess realisiert. ACHTUNG: Nicht jeder Webserver unterstützt dies.

  1. Öffne wieder die Datei “config.inc.php” und setze $cleanurls auf true
    $cleanurls = true;
    Speicher die Datei und teste ob die Einstellung funktioniert. Sollte alles funktionieren bist du schon fertig und kannst die nächsten Punkte überspringen.
  2. Geht es bei dir nicht, dann öffne die Datei .htaccess (im Root der Installation, ggf. mußt du in deinem FTP-Programm “zeige versteckte Dateien” aktivieren um die Datei zu finden). In Zeile 29 und 30 findest du:
    RewriteRule ^([^/]+)/?(.*) $1.php?query=$2 [L,QSA] #option 1
    #RewriteRule ^([^/]+)/?(.*) $1.php/$2 [L] #option 2

    Füge in Zeile 29 ein # ein und entferne es aus Zeile 30:
    #RewriteRule ^([^/]+)/?(.*) $1.php?query=$2 [L,QSA] #option 1
    RewriteRule ^([^/]+)/?(.*) $1.php/$2 [L] #option 2

    Speicher die Datei und teste ob es jetzt funktioniert.
  3. Sollte es immer noch nicht klappen, dann öffne die Datei “constants.inc.php” und kommentiere die Zeile 21 bis 23 oder löschen den ganzen Block:
    // Correct bug with PATH_INFO (maybe for Apache 1)
    // if(strlen($_SERVER["PATH_INFO"])
    // $_SERVER["PATH_INFO"] = $_SERVER["ORIG_PATH_INFO"];
    //}

    Speicher die Datei und versuche es erneut.

Sollten bei dir die Cleanurls nicht laufen wollen, dann kannst du mir hier einen Kommentar hinterlassen und ich werde versuchen eine Lösung zu finden. Bitte prüfe aber vorher, ob dein Webserver überhaupt .htaccess unterstützt.

Valid XHTML 1.1?

Ruf einmal in deinem Lieblingsbrowser den W3-Validator auf und gib die Adresse deiner Semantic Scuttle Installation ein. Das Ergebnis sind 28 Errors und 19 Warnings, das ist schwer verbesserungswürdig, falls wir von den Suchmaschinen geliebt werden wollen.

  1. Falls du den Fehler: “cannot generate system identifier for general entity “PHPSESSID”.” bekommst, öffne die Datei “index.php” und füge in Zeile 21 vor
    require_once('header.inc.php');
    folgendes ein:
    ini_set('arg_separator.output','&');
  2. Öffne die Datei /templates/bookmarks.tpl.php und suche:
    echo '<href="'. $address .'"'. $rel .' ><img class="thumbnail" src="http://www.artviper.net/screenshots/screener.php?sdx=1024&sdy=768&w=90&h=68&url='.$address.'"></a>';
    Füge vor src=”http://…. ein alt=”" ein:
    <img class="thumbnail" alt="thumbnail" src="http:/....
    und verändere die & in
    screener.php?sdx=1024&amp;sdy=768&amp;w=90&amp;h=68&amp;url='.$address.'"
    und am Schluß fehlt noch ein /:
    $address.'" />';

Beim erneuten Überprüfen zeigt der Validator nur noch einen Fehler an.

Line 28, Column 150: document type does not allow element "input" ...Diesen konnte ich bisher auch noch nicht beseitigen, werde aber die Lösung nachreichen, sobald ich sie gefunden habe.

Anderer Thumbnail-Dienst

Da wir gerade in der Datei /templates/bookmarks.tpl.php schon an der richtigen Stelle waren.

echo '<href="'. $address .'"'. $rel .' ><img class="thumbnail" alt="thumbnail" src="
http://www.artviper.net/screenshots/screener.php?sdx=1024&amp;sdy=768&amp;w=90&amp;h=68&amp;url='.$address.'"></a>';

Hier wird der Dienst für die Generierung der Thumbnails bestimmt. Möchte man den voreingestellten Dienst von artviper.net benutzen sollte man folgendes beachten:

  • Der Dienst ist nur für nicht-kommerziellen Seiten kostenlos, du solltest aber auf den Dienst verlinken.
  • Für kommerzielle Projekte kann hier eine Lizenz erwerben.

Von Zeit zu Zeit dauert die Erstellung von Thumbnails mit artviper sehr lange, aus diesem Grund bin ich auf die Suche nach einen alternativen Dienst gegangen.

Websnapr.com
Schneller und zuverlässiger Dienst, keine Registrierung nötig, Premium-Dienst verfügbar. Nachteil: Thumbnail trägt den Text “by Websnapr.com
M-Software.de
Auch für die kommerzielle Nutzung kostenlos, keine Registrierung nötig.
Einschränkungen bezüglich Content z.B. keine Pornographie.
Nachteil: Erstellung der Thumbnails dauern etwas.
Seekxl Snapr.de
Kostenlos, ein Backlink ist verpflichtend ein Backlink ist nicht verpflichtend. Ist man registriert kann man das Vorschaubild austauschen falls das Thumbnail noch nicht generiert ist, dann ist jedoch ein Backlink zum Dienst nötig.
Mr-Thumb.de
Kostenlos, Erstellung der Thumbnails könnte etwas schneller gehen.
www.webseitentuning.de
Kostenlos, leider sehr langsam.
livethumb.de
Kostenlos, Wasserzeichen; “preview by liveThumb” falls ein Backlink nicht oder nicht richtig eingebunden ist. Relativ schnell und zuverlässig
picoshot.com
Kostenlos und schnell, hat aber manchmal Probleme bei der Erzeugung von Thumbnails.
www.shrinktheweb.com
Kostenlos für 250.000 Abrufe monatlich, Pro-Features gegen Bezahlung. Registrierung nötig. Schnell und zuverlässig. Besonderheit: Kann mit dem ‘http://’ im Aufruf nichts anfangen. Lösung:
$n_address = substr($address, 7);
und Aufruf mit: Url=’.$n_address.’
capture.heartrails.com/
Falls du Japanisch verstehst, dann ist dieser Service vielleicht etwas für dich.

 
Alle Thumbnail-Dienste möchten gerne einen Backlink (Rückverlinkung auf ihren Dienst) haben oder verlangen diesen sogar explizit. Ich denke, das ist schon OK, wirklich kostenlos ist doch eigentlich nichts. Deshalb werden wir und gleich damit beschäftigen, wo wir diesen Link am besten einbauen.

Vielleicht hast du ja noch einen Tip bzgl. Thumbnail-Dienst?

Die Templates

Die Anzeige unserer Semantic Scuttle Installation wird mittels verschiedener Dateien realisiert, einige davon sind:

Kopf (header): /templates/top.tpl.php
Hier bietet es sich an ein paar Meta-Tags einzufügen
Fuß (footer): /templates/bottom.tpl.php
Im Fuß könnte man den Backlink zum Thumbnail-Dienst unterbringen.
“Über”-Seite: /templates/about.tpl.php
Für ein Impressum würde sich diese Seite ganz gut machen.

Über die Veränderung des Styles werde ich vielleicht bald etwas schreiben.

Bug: Tags umbenennen

In Semantic Scuttle Version 0.89 gibt es einen kleinen Bug, das Umbenennen von Tags funktioniert nicht. Die Lösung stammt von Andreas Glaeser.

Öffne die Datei “tagrename.php” und füge in Zeile 23 nach "require_once('header.inc.php');" folgendes ein:

$tagservice = & ServiceFactory :: getServiceInstance('TagService');

Danach öffne die Datei “/services/tagservice.php” ab Zeile 69 findest du die Funktion “renameTag” füge dieser Funktion ein “return true;” hinzu, sollte dann so aussehen:

function renameTag($uId, $oldName, $newName) {
$query = 'UPDATE `'. $this->getTableName() .'`';
$query.= ' SET tag="'.$newName.'"';
$query.= ' WHERE tag="'.$oldName.'"';
$query.= ' AND uId="'.$uId.'"';
$this->db->sql_query($query);
return true;
}

Jetzt sollte die Umbenennung von Tags auch in deiner Installation funktionieren.

Dies war nun der zweite Teil des Tutorials, falls er dir gefallen oder geholfen hat gib mir doch bitte ein kurzes Feedback durch einen Kommentar. Falls ich den Eindruck habe mit meinen Beiträgen auch jemanden zu erreichen, werde ich mich dann an den nächsten Teil machen.

Verwandte Artikel

Trackback: Trackback-URL | Feed zum Beitrag: RSS 2.0
Thema: Semantic Scuttle

Diesen Beitrag kommentieren.

16 Kommentare

  1. Hallo Andreas, zunächst Glückwunsch zu dem oben angeführten
    Tutorial. Deine Tipps sind sehr hilfreich, um Semanticscuttle
    wesentlich zu verfeinern. Danke hierfür und weiter so! Eine Frage
    hätte ich allerdings noch hinsichtlich der “Cleanurls”: Sobald ich
    cleanurls in der config aktiviere (mod_rewrite funktioniert auf
    meinem Server) werden sämtliche Urls korrekt umgewandelt – bis auf
    eine, nämlich jene des RSS-Feeds. Ein Klick auf das RSS-Gif bei
    aktiven Cleanurls führt lediglich zu folgender “Fehlermeldung”:
    “The requested URL /ss/rss.gif/ was not found on this server.” Das
    “witzige” daran ist, dass die ursprüngliche RSS-Url
    (http://domain.com/rss.php/?sort=date_desc) noch funktioniert.
    Sämtliche Versuche meinerseits schlugen bis dato leider fehl. Würde
    mich freuen, wenn Du eventuell einen Lösungsvorschlag für dieses
    Problem hättest. Herzlichen Dank! SG, ehb

  2. Thanks a lot ! It was very helpful ! I love scuttle and i hope you
    will continue to work on it

  3. Hallo ehb,
    das Problem mit der rss ist komisch. Die htaccess macht ja nur folgendes: wenn jemand etwas auf dem Server aufruft, dann lade die Datei mit Extension .php schreibe aber in die Adressenleiste den Dateinamen ohne .php. Auch funktioniert dies bei einer neuen Scuttle-Installation ohne Probleme, z.B. auch in meinen Bookmarks, kann es sein, daß du etwas im Quellcode verändert hast? Anhand deiner Angaben kann ich dir leider im Moment nicht helfen. Auf deinem Server hast du die cleanurls auch wieder deaktiviert. Wenn du Lust hast, schreib mir ein Email und wir können gemeinsam auf die Suche nach dem Fehler gehen. Hab aber bitte etwas Geduld, ich hab im Moment leider viel um die Ohren

    Hello Korben,
    thanks for your feedback. I’m thinking about a “howto style semantic scuttle” in the next part. Would you like this topic? If not, please give me some suggestions what would be interesting for you. But be patient unfortunately I’m very busy at the moment.

  4. Schliesse mich da den Ausführungen von ehb an und wollte noch als
    Info hier lassen, das Seekxl Snapr.de Free service, back-link is
    needed. If you are registered (also free) you can set up an custom
    image if the thumbnail is not generated yet. so nicht stimmt. Der
    Service ist Back Link frei – also es besteht keine Backlinkpflicht
    zur Nutzung. Gruss seekXL :)

  5. Hallo seekXL, danke für den Hinweis. Wenn ich es richtig verstehe: Der Backlink ist nicht verpflichtend, wenn der Dienst ohne Registrierung genützt wird. Möchte man jedoch sein eigenes Logo haben, muss man sich registrieren und dann auch zurückverlinken. Hab das mal so verbessert, hoffe es passt jetzt. :)

  6. Hallo Andreas, ich greife momentan gerne auf deine Anleitung zwecks
    Semantic Scuttle zurück. Und danke dir für diese ausführliche
    Beschreibung! ;-) Ich habe aber schon seit längerem das normale
    Scuttle im Einsatz. Und wills eigentlich nicht mehr missen. Nun hab
    ich aber ein Problem mit den clean URLs. Bis jetzt hat alles
    einwandfrei funktioniert. Nun habe ich aber einen neuen Webserver.
    Und da gehen die clean URLs nicht mehr. Mod Rewrite ist an. Alle
    anderen Webseiten die ich umgezogen habe funktionieren auch. Sind
    hauptsächlich Joomla Seiten, aber alle mit clean URLs. Nur bei
    Scuttle hab ich das Problem, egal wie ich die htaccess umbaue. Es
    geht nicht. Wenn ich die htaccess so lasse wie bei dem alten
    Webserver (RewriteRule ^([^/]+)/?(.*) $1.php/$2 [L] #option 2) dann
    hab ich eine nicht mehr endende Umleitung. Wenn ichs umstelle auf
    “RewriteRule ^([^/]+)/?(.*) $1.php?query=$2 [L,QSA] #option 1″ dann
    lande ich immer bei den populartags Egal welchen Tag ich anklicke
    oder welche Tag Endung eingegeben wird. Ich bin schon die ganze
    Zeit am rätseln woran das liegt. PHP läuft nun nicht mehr als
    Apache Modul sondern als fcgi. Aber daran könnte es eigentlich
    nicht liegen. Kann nur sein das irgendwie mod rewrite anders
    arbeitet. Aber da bin ich irgendwie planlos was man da anders
    einstellen könnte. Vielleicht weißt du ja nen Rat. PS: Als kleiner
    Tip zu deinem validitäts Problem. Probier mal
    http://www.validome.org der gibt die Sachen auch auf deutsch aus.
    Vielleicht kommst du da dann dahinter was das Problem bei dir ist.
    Ich habs bei mir valide bekommen. Kanns aber grad nicht mehr
    auswendig sagen was ich alles geändert habe.

  7. ich habe die validierung bis auf 3 Fehler hin bekommen. Im Ordner
    templates die datei top.inc.php folgendes oben ändern
    <?php header('Content-Type: text/html; charset=utf-8');
    ?>
    “http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd” >
    danach folgt die normale description. ich hoofe es klappt bei
    euch…

  8. Hallo! Ich hätte eine Frage zu dem Ablaufen von Neueinträgen! Wo
    kann ich ändern, dass diese nicht bzw. nicht so schnell ablaufen?
    Primär geht es darum, dass ich gewisse Einträge immer vorne, d.h
    auf der Startseite haben möchte! :P Danke für Eure/Deine Hilfe!
    Gruss Marc

  9. Hallo Andreas, ich habe das gleiche problem wie der Andy es am
    14.09.2008 auch schon hatte. Darf ich fragen ob du da schon eine
    Lösung hast???? weil irgendwie komme ich hier nicht wirklich
    weiter. Über deine Hilfe währe ich dir Dankbar. gruss andi

  10. Hallo Marc,
    die Einträge werden standardmäßig nach Datum sortiert. (Man kann auch durch anklicken nach Titel oder URL sortieren lassen). Eine schnelle Möglichkeit wäre das Datum manuell zu verändern. Am einfasten geht das mit phpMyAdmin, in der Tabelle sc_bookmarks den richtigen Eintrag suchen und das Datum (bDatetime) modifizieren.

    Hallo Andi,
    du hast recht, wir (Andy + ich) haben noch ein paar Sachen ausprobiert.
    Andy’s Schlußfolgerung war:

    Scuttle mit clean URLs fühlt sich nur unter einer Server Umgebung wohl, wo PHP als reines Apache Modul läuft (mod_php – Apache 2.0 Handler)

    Wenn dagegen PHP als CGI bzw. fastCGI läuft gibt’s Probleme mit Scuttle und clean URLs. Daher funktioniert Scuttle mit clean URLs auch nicht unter einem normalen Webspace Paket bei 1und1.

    Ich konnte das nicht verifizieren. Trotzdem hilft dir diese Aussage? Kannst du das nachvollziehen?

    Viele Grüße, Andreas

  11. hallo Andreas, also unser Scuttle läuft mal Nicht auf einem 1&1
    Webspace, wir haben eigene Rootserver. ;-) Wir hatten auch vorher
    ein anderes system laufen das hatte mit Mode_Rewrite keine Problem,
    wie auch eine Andere Seite die Du kennst (Mr-Thumb.de) ;-) Es muss
    also irgend etwas mit dem script selber sein, daher auch meine
    Frage hier. MfG Andi

  12. So viele Andis hier ;) @Andreas, hab deine letzte Mail schon
    bekommen. Nur ist mir zwischenzeitlich auch die Zeit ausgegangen da
    weiter zu machen :( Sorry! @Andi, stimmt das sind die gleichen
    Symptome die auch bei mir aufgetreten sind. Ich hatte zuerst das
    ganze unter einem Rooty laufen, wo php direkt als Apache Modul
    gelaufen ist. Da funktionierte Scuttle auch einwandfrei. Hab dann
    einen neuen Rooty angemietet, den vorher aber schon so eingerichtet
    das php nun als fcgi läuft. Hab dann auch eine 1:1 Kopie von dem
    funktionierenden Scuttle gemacht und auf den neuen Server
    eingespielt. Dann kamen diese komischen Phänomene. Bin dann erst
    mal zum Schluss gekommen, das es daran liegt, das php über fcgi
    läuft, anstatt als reines Apache Modul. Hab dann den vhost der
    Domain auf dem neuen Server auch wieder als Apache Modul laufen
    lassen, und siehe da, es funktioniert. Woran das jetzt aber
    wirklich liegt, das kann ich nicht sagen. Bin aber vorerst mal froh
    das es so läuft. Das mit dem 1und1 Webspace war nur von mir ein
    Test. Da ich zusätzlich noch Zugriff auf diesen habe und wollte es
    da nur mal testen. Aber geht dort so auch nicht, das dort auch php
    über cgi läuft. Vorstellen könnt ich mir jetzt noch irgendwelche
    Parameter in der php.ini, die da mit reinspielen. Hab zwar beide
    Versionen verglichen und eigentlich keine gravierenden Unterschiede
    feststellen können, die auf das Problem hindeuten könnten. Tappe da
    also noch im dunkeln. Falls du aber Zeit hast, kannst du ja mal bei
    den beiden php Varianten ansetzen und schauen ob du da was
    rausbekommst.

  13. Sorry Andy (mit Ypslon) wenn ich dir widerspreche. :?
    Das Problem von Andi ist nicht das gleiche. Soweit ich jetzt gesehen habe geht nur der Aufruf der Tags nicht. Bei deiner Installation konnte man das durch den Aufruf: http://domain/tags.php/tag_wort überbrücken und die Einträge zum Tag wurden angezeigt, das geht jedoch bei Andi nicht. Auch die restlichen Aufrufe gehen ohne Problem.
    Sorry, sehe gerade der Aufruf:
    domain/bookmarks/username/tag geht auch nicht :(

    @Andi, hast du die Zeilen 21 bis 23 in der constants.inc.php gelöscht wie oben beschrieben? Wie schaut deine .htaccess aus? Kannst es mir auch via Email (Kontaktformular im Impressum) schicken.
    Update: In der Zwischenzeit hast du ja schon eine Lösung gefunden.

  14. 14
    Michael c-de 
    Samstag, 31. Januar 2009

    hi is there any way (using e.g. a custom template) to display more
    thumbnails than in the standard version, lets say the whole screen
    full of thumbnails to choose from? sometimes i only remember what a
    page looked like without more info, that would be really helpful in
    such cases… also, could you explain how to use other thumbail
    services in more detail? tried 5, nothing works.. greetings..

  15. Hallo Andy, Sag giebt es eine Möglichkeit bestimmte Tags (Wörter)
    zu Sperren? Meine das die wenn die beim Eintrag drin sind in den
    Tags NICHT Veröffentlicht werden? Meine da sowas wie sexx usw.

  16. Hey, ich bekomme immer, wenn ich auf einen Link klicke, die
    Fehlermeldung “No input file specified.” Kann mir da jemand helfen? 8O

Kommentar abgeben

Hilfe zu Kommentaren:
Du möchtest auch dein Bild (Gravatar) neben deinem Kommentar sehen? Kein Problem, einfach bei Gravatar.com registrieren und schon wird dein Avatar in deinem Kommentar vieler Wordpress-Installationen automatisch angezeigt.
Hat dein Kommentar sehr viele Links, muß er erst freigeschaltet werden, das kann etwas dauern. Trotzdem freue ich mich über jedes Feedback. Nur zu, laß ein paar Zeilen hier.