Dateien im Datenordner zuordnen zu Nutzer bei MultipleLogins

Allgemeine Diskussionen über WebYep
Post Reply
sonjanna
Posts: 8
Joined: Wed Jul 08, 2009 7:05 am

Dateien im Datenordner zuordnen zu Nutzer bei MultipleLogins

Post by sonjanna » Sat Jul 16, 2011 8:36 am

Hallo!

Ich habe eine organisatorische Frage bevor ich eine Webseite zum ersten Mal mit multiplen Logins programmiere.
Es wird eine große Anzahl von Benutzern geben, die jeweils nur 2-3 Seiten oder einen Ordner mit Seiten editieren werden.
Die Seiten pro Benutzer selber werden absolut gleiche editierbare Inhalte haben und aufgebaut sein.

Das heißt, dass es zB immer die gleichen Fliestextelemente gibt.

Für den Fall, dass ich später einmal Dateien im Datenordner auf dem Server von einem einzigen Benutzer exakt lokalisieren muss (zum löschen, sichern, transferieren, etc), wie könnte ich da vorgehen? Ich blicke da nicht ganz durch. Wie könnte ich das praktikabel organisieren und vorbereiten?

Am liebsten hätte ich Unterordner im Datenordner selber mit dem entsprechenden Nutzernamen. Fraglich, ob das möglich ist...
Oder eben ein anderes System, wie ich die Dateien exakt lokalisieren könnte.

Hat jemand eine Idee?
Hat jemand Erfahrungen damit?
Wie sortiert WebYep die Dateien genau?

Über Antworten & Ideen freue ich mich sehr!

Hopsing68
Posts: 6
Joined: Tue May 04, 2010 8:17 am

Re: Dateien im Datenordner zuordnen zu Nutzer bei MultipleLogins

Post by Hopsing68 » Sat Jul 16, 2011 9:46 am

Hi,

also ich hab mit MultipleLogin noch nicht so sehr gearbeitet aber nur eines vorneweg:

Multiple Login funktioniert nur auf "echten" erzeugten Seiten (aus Deinem Programm), also nicht auf bspw. durch das Menü erzeugte Doc-Instanzen. Unterordner in "daten" sind auch nicht möglich (Bitte korrigiert mich falls das so nicht stimmt)

Was für mich kurz bedeutet:

Für einen neuen User muss eine neue echte Seite erzeugt werden (User1.php, User2.php ...). Dies würde für mich bedeuten, dass der Schlüssel in der eindeutigen Benennung der FT (RT) Elemente liegt:

user1-element-links oben usw.

Im Datenordner erscheint dann irgendwo mal:

100-11-user1-element-links-oben und ist damit eindeutig zuordnungsfähig.

Ein Ansatz oder totaler Bullshit?

Cheers

Thomas

Ahhhh-Nachtrag:

Gilt natürlich nur dann, wenn die Textelemente nicht global sind.

sonjanna
Posts: 8
Joined: Wed Jul 08, 2009 7:05 am

Re: Dateien im Datenordner zuordnen zu Nutzer bei MultipleLogins

Post by sonjanna » Sat Jul 16, 2011 9:57 am

Ja vielen Dank!

Das könnte ein Ansatz sein! Die Seiten werden immer "echte" Seiten sein, also:

http://www.meinedomain.de/maxmusterman/seitenname1.php
http://www.meinedomain.de/maxmusterman/seitenname2.php

Die Loginerlaubnis über die Benutzernamen-Ordner wäre dann also sinnvoll.

Wenn ich dann die WebYep Elemente, als zB Richtext-Elemente je nach User anders benenne, könnte es gehen.
(Kann es leider gerade noch nicht ausprobieren). Ist natürlich wesentlich mehr Arbeit, ursprünglich wollte ich die Standardseiten einfach verdoppeln. Aber, wenn ich sie dann bestens finden kann, wäre das wohl der Mühe wert.

Oder gäbe es vielleicht noch andere Ideen?

marcus
Objective Development
Objective Development
Posts: 170
Joined: Tue Nov 30, 2010 1:25 pm

Re: Dateien im Datenordner zuordnen zu Nutzer bei MultipleLogins

Post by marcus » Mon Jul 18, 2011 8:49 am

Hallo sonjanna,

Wie Thomas schon ausgeführt hat, funktionieren multiple Logins nur bei "echten" Seiten, also z.B. /user1.php, /user2.php und nicht bei virtuellen Kopien ein und der selben Seite wie z.B. /user.php?DOC_INST=1 oder /user.php?DOC_INST=2.

Wenn aber "echte" Seiten verwendet werden, dann haben diese - völlig unabhängig vom Inhalt - auch eine eindeutige Document-ID. Diese ID ist in der Datei documents (/webyep-system/daten/documents) ersichtlich und die gespeicherten Daten aller Elemente auf dieser Seite beginnen mit dieser ID.

Ein einfaches Beispiel:
Wir nehmen an, dass die einzelnen Seiten für die BenutzerInnen im Unterordner /users gespeichert sind und so heißen wie der Benutzername (also /users/anna.php, /users/bernd.php, /users/christine.php, ...). Weiters ist auf jeder Seite eine Überschrift vorhanden (als ShortText), der eigentliche Inhalt (RichText) und eine Bildergalerie (Gallery).

Die documents-Datei würde dann etwa so aussehen:

Code: Select all

/index.php      1
/users/anna.php 2
/users/bernd.php        3
/users/christine.php    4
...

Im Daten-Verzeichnis sähe das dann für die Benutzerin Anna so aus (die erste und letzte Zeile gehören in diesem Beispiel nicht zu Anna):

Code: Select all

...
1-st-HomepageUeberschrift
2-gl-Galerie
2-gl-Galerie-2501.jpg
2-gl-Galerie-2501-tn.jpg
2-gl-Galerie-4711.jpg
2-gl-Galerie-4711-tn.jpg
2-gl-Galerie-8361.jpg
2-gl-Galerie-8361-tn.jpg
2-rt-Inhalt
2-st-Ueberschrift
3-gl-Galerie
...

Somit ist jederzeit eine eindeutige Zuordnung möglich (alles was mit Annas ID 2 beginnt, gehört Anna) und die Elemente stehen praktischerweise auch gleich nebeneinander. Wenn einzelne BenutzerInnen mehrere Seiten haben, dann gehören natürlich alle entsprechenden Document-IDs dazu.

Dies ist nur ein einfaches Beispiel, aber man kann das natürlich auch mit viel komplexeren Seiten machen. So wäre z.B. auch ein Menü denkbar, das auf die selbe Seite verweist und somit virtuelle Kopien dieser Seite erzeugt. Die Daten bekommen dann eine weitere ID, aber nach wie vor beginnen alle mit der selben Document-ID. Damit könnte man dann beliebig viele "Unterseiten" pro BenutzerIn realisieren und trotzdem würde sich an oben gesagtem nichts ändern.

Zum Sichern möchte ich noch anmerken, dass es vorteilhaft ist, immer alles auf einmal zu sichern. Der Grund dafür ist, dass die Daten nur in Kombination mit der documents-Datei sinnvoll verwendet werden können. Auch an der Ordnerstruktur oder den Dateinamen darf sich nichts ändern, sonst fällt eine Menge Arbeit beim Anpassen an.

sonjanna
Posts: 8
Joined: Wed Jul 08, 2009 7:05 am

Re: Dateien im Datenordner zuordnen zu Nutzer bei MultipleLogins

Post by sonjanna » Mon Jul 18, 2011 9:42 am

Herzlichen Dank für die Erklärung!!

Nach welchen Modi werden die Zahlen eigentlich vergeben? Bei mir würden nach und nach neue Benutzer vorkommen.

Meine Idee ist einen Benutzerordner mit dem jeweiligen Namen zu erstellen.
Das hätte den Vorteil, dass ich dem Ordner die passenden Logindaten zuweisen könnte.
(Muss dann nochmals auf den Dokumentationsseite recherchieren)

http://www.meinedomain.de/bernd/seiteA.php
http://www.meinedomain.de/bernd/seiteB.php

http://www.meinedomain.de/sabrina/seiteA.php
http://www.meinedomain.de/sabrina/seiteB.php

Wie würde sich das nun auf die ID auswirken?
Das wären dann 2 Zahlen für einen Benutzer, nicht?

Liebe Grüße!

marcus
Objective Development
Objective Development
Posts: 170
Joined: Tue Nov 30, 2010 1:25 pm

Re: Dateien im Datenordner zuordnen zu Nutzer bei MultipleLogins

Post by marcus » Mon Jul 18, 2011 11:24 am

sonjanna wrote:Meine Idee ist einen Benutzerordner mit dem jeweiligen Namen zu erstellen.
Das hätte den Vorteil, dass ich dem Ordner die passenden Logindaten zuweisen könnte.

Das wäre auch eine Möglichkeit, ja. Hier wäre dann aber zu beachten, dass weitere Unterordner separat konfiguriert werden müssen (siehe unten).

sonjanna wrote:Nach welchen Modi werden die Zahlen eigentlich vergeben? Bei mir würden nach und nach neue Benutzer vorkommen.

Sobald WepYep eine neue Seite "sieht", sprich wenn diese Seite im Browser zum ersten Mal aufgerufen wird, wird eine neue ID vergeben. Dies ist dann einfach eine fortlaufende Nummer, d.h. die erste Seite (für gewöhnlich die Homepage /index.php) bekommt die ID 1, die nächste Seite dann 2, usw...
Normalerweise muss man die Document-ID auch nicht wissen, denn WebYep kümmert sich automatisch um die Zuordnung. Nur bei (teilweisen) Backups ist diese Info relevant.

sonjanna wrote:

Code: Select all

http://www.meinedomain.de/bernd/seiteA.php
http://www.meinedomain.de/bernd/seiteB.php

http://www.meinedomain.de/sabrina/seiteA.php
http://www.meinedomain.de/sabrina/seiteB.php

Wie würde sich das nun auf die ID auswirken?
Das wären dann 2 Zahlen für einen Benutzer, nicht?

Ja, /sabrina/seiteA.php hätte dann eine andere ID als /sabrina/seiteB.php. Welche ID dann zugewiesen wird, hängt vom erstmaligen Aufruf ab.

Nochmal ein Beispiel dazu:
Es gibt auf der Webseite 1 Homepage und für jeden Benutzer 2 Unterseiten in einem eigenen Ordner.

Die documents Datei würde dann z.B. so aussehen:

Code: Select all

/index.php      1
/bernd/SeiteA.php       2
/bernd/SeiteB.php       3
/sabrina/SeiteB.php     4
/sabrina/SeiteA.php     5
Hier wurde Sabrinas SeiteB vor SeiteA aufgerufen, somit ist die alphabetische Reihenfolge vertauscht.
Bernds Seiteninhalte hätten dann das Präfix "2-" bzw. "3-", während Sabrinas Inhalte mit "4-" bzw. "5-" beginnen würden.

Käme nun später für Bernd noch eine SeiteC hinzu, dann sähe das Ganze so aus:

Code: Select all

/index.php      1
/bernd/SeiteA.php       2
/bernd/SeiteB.php       3
/sabrina/SeiteB.php     4
/sabrina/SeiteA.php     5
/bernd/SeiteC.php       6
Sabrina hätte nach wie vor die Inhalte die mit "4-" bzw. "5-" beginnen, während Bernds Inhalte mit "2-", "3-" und "6-" beginnen würden.

Die Konfiguration der Benutzernamen und Berechtigungen könnte dann so aussehen:

Code: Select all

$webyep_aMultiLoginName[] = "bernd";
$webyep_aMultiLoginPassword[] = "bernds_kennwort";
$webyep_aMultiLoginURLPatterns[] = "/bernd/*";
$webyep_aMultiLoginName[] = "sabrina";
$webyep_aMultiLoginPassword[] = "sabrinas_kennwort";
$webyep_aMultiLoginURLPatterns[] = "/sabrina/*";

Wenn Sabrina auch noch Unterordner in ihrem Bereich hat, dann muss ihr URLPattern z.B. so aussehen:

Code: Select all

$webyep_aMultiLoginURLPatterns[] = "/sabrina/* /sabrina/*/*";

Mehr Beispiele dazu gibt es in der WebYep Dokumentation.

sonjanna
Posts: 8
Joined: Wed Jul 08, 2009 7:05 am

Re: Dateien im Datenordner zuordnen zu Nutzer bei MultipleLogins

Post by sonjanna » Mon Jul 18, 2011 11:44 am

Du erklärst wirklich sehr ausführlich und sehr gut!
Vielen Dank für die detaillierten Hinweise, die ein Feld beschreiben, welches zunächst nicht ganz so einfach zu verstehen ist.
Auch bestens mit in die Zukunft gedacht.

Wirklich prima!

Post Reply