Expertenwissen
Von: , 31.10.2009 08:26 Uhr
Liebe/-r Experte/-in,
es geht um das Erstellen einer Website, die sich als Startseite eignet, im ehrenamtlichen Bereich, für eine definierte Personengruppe.
Genau das Richtige wäre das Prinzip von www.bluka.de.
Meine Frage: Wie kriegen die das hin?
Damit meine ich das benutzerseitige Ziehen von bereitgestellten Elementen ins Mittelfeld, so dass eine ganz individuelle, funktionale Startseite entsteht.
Ich erwarte keinerlei Anleitung, nur einen Tipp, wo ich überhaupt graben muss.
JavaScript? Geht ja nicht, speichert nichts.
Gibt es evtl. eine Software, die das realisiert?
Weiter als bis WYSIWYG bin ich im Moment nicht, aber wenn ich die Richtung weiss, werd ich's realisieren ...
Also danke schon mal für die Mühe.

3 Antworten zu dieser Frage
  1. Antwort von nach 5 Stunden 1 hilfreich
    Re: Website erstellen
    Hallo Siegfried,

    es gibt für eine solche Anforderung verschiedene Lösungsansätze, je nachdem wie viel Mühe man bereit ist in das Projekt zu stecken. Basis aller Lösungen muss sein, dass man sich nicht nicht einloggen muss, so dass die Startseite beim Browseraufruf gleich zur Verfügung steht. (Richtig?)

    1. Javascript + Cookies
    Javascript ist natürlich für das Handling der Bookmarks (Drag & Drop, Close, etc.) die Basis. (Am besten ein JavaScript Framework verwenden, das schon viele der benötigten Funktionen mitbringt - sonst programmierst Du Dich tot.) Aber auch das Speichern könnte rein über Javascript realisiert werden, da Du über Javascript in allen aktuellen Browsern Zugriff auf die Cookies hast.
    (Google nach "document.cookie".)
    Insofern stimmt also Deine Annahme, dass JavaScript nichts speichert nicht. Nachteil ist aber: Die individuelle Startseite ist verloren, wenn der Cookie gelöscht wird.

    2. URL Parameter
    Wenn ich so etwas realisieren wollte und auf serverseitige Speicherung verzichten müsste, würde ich die Auswahl und Position der Elemente direkt im URL.String als Parameter vercoden und mit Javascript auswerten.
    So könnte dann die URL aussehen:
    www.xyzabcqwerz.de?myelems=1,1,20-1,2,14-2,1,15
    Wird mit dieser URL die Seite aufgerufen, weiß Javascript, dass es in Box1 an Position 1 das Element 20 plazieren soll, in Box 1 an Platz 2 das Elemnt 14 und in Box 2 an Platz 1 das Element 15. Du sprachst von bereitgestellten Elementen - will man aber auch eigene Elemente zulassen, müsste nur die Logik erweitert werden - z.B.: ,2,2,1%3Ameine%2Bseite%28http%3A%2F%2Fwww.meineseite.de%29
    (Google nach "javascript URL parameter")
    Ändert der Nutzer die Elemente-Auswahl und möchte seine Änderungen speichern, wird mit Javascript der entsprechende Parameterstring erzeugt und die Seite damit neu aufgerufen und anschließend versucht, die Startseite im Browser auf die neue URL zu ändern. ("versucht", weil das nicht immer klappt - ggf. muss der User explizit die Änderung bestätigen oder freigeben)
    Das sieht zwar nicht elegant aus, aber funktioniert ohne Server. Nachteil ist die notwendige "Änderung" der Browser-Startseite, wenn sich Elemente verändern.

    3. Serverseitige Speicherung
    Meine Wahl wäre diese dritte Variante. Der Nutzer registriert sich einmal und erhält so seine ID. Diese ID wird in einem Cookie gespeichert. Ändert der Nutzer die Elementeauswahl oder -anordnung, wird SOFORT im Hintergrund per Ajax der Server darüber informiert und speichert diese Änderung hinter der Nutzer-ID. Ruft der Nutzer bei seinem nächsten Besuch die Seite auf, wird ihm seine persönliche Auswahl angezeigt.

    Für die Anzeige gibt es wieder verschiedene Möglichkeiten:

    a) Es wird immer die gesamte Auswahl geladen und per Javascript angeordnet, oder
    b) Es werden jeweils nur die benötigten Elemente per Ajax geladen, was Traffic spart.

    In beiden Fällen hilft Dir bei der Realisierung ein passendes JavaScript-Framework, welches UI-Funktionen (User-Interface) und Animationseffekte mitbringt und für die Serverzugriffe (Ajax) sorgt.
    Ich kann Dir dafür jQuery empfehlen (http://www.jquery.com) - bluka.de nutzt das Framekwork
    Prototype (http://www.prototypejs.org/)

    Ich hoffe, das hilft Dir weiter.

    Viel Erfolg und Grüße,

    Miran Melansek
        • Antwort von nach 2 Tagen 1 hilfreich
          Re: Website erstellen
          Hallo Siegfried,

          Ihre Vermutung mit JavaScript war durchaus richtig. Das
          "Wunder" nennt sich AJAX, Asynchronous Javascript And
          XML. Es ermöglicht Effekte, die nur mit Javascript
          möglich sind in Kombination mit Scriptsprachen wie PHP
          oder Perl. Der Sinn sind Anfragen, die ausgeführt werden
          können, ohne dass wie früher die gesamte Seite neu
          geladen werden muss.

          Es gibt bereits Bibliotheken, die solche Effekte und
          AJAX-Anfragen erleichtern. Eine ist jquery, eine andere
          Prototype.js. Für letztere gibt es eine
          Erweiterungsbibliothek, scriptaculous, speziell für
          Effekte.

          http://www.prototypejs.org/
          http://jquery.com/
          http://script.aculo.us/

          MfG,

          Thorsten Schäfer Liebe/-r Experte/-in,
          es geht um das Erstellen einer Website, die sich als
          Startseite eignet, im ehrenamtlichen Bereich, für eine
          definierte Personengruppe.
          Genau das Richtige wäre das Prinzip von www.bluka.de.
          Meine Frage: Wie kriegen die das hin?
          Damit meine ich das benutzerseitige Ziehen von
          bereitgestellten Elementen ins Mittelfeld, so dass
          eine ganz individuelle, funktionale Startseite entsteht.
          Ich erwarte keinerlei Anleitung, nur einen Tipp, wo
          ich überhaupt graben muss.
          JavaScript? Geht ja nicht, speichert nichts.
          Gibt es evtl. eine Software, die das realisiert?
          Weiter als bis WYSIWYG bin ich im Moment nicht, aber
          wenn ich die Richtung weiss, werd ich's realisieren ...
          Also danke schon mal für die Mühe.
        • Antwort von nach 3 Tagen 1 hilfreich
          Re^2: Website erstellen
          Hallo Herr Schäfer

          vielen Dank für die Hinweise!
          Gruß
          Siegfried Vocasek Hallo Siegfried,

          Ihre Vermutung mit JavaScript war durchaus richtig.
          Jetzt auf diese Frage antworten!