Tutorial: Ein Benutzerprofil erstellen Version: 2.0 Autoren: Anja Beuth, Stefan Suermann
Inhaltsverzeichnis 1 1.1 1.2 2 2.1 2.2 2.3 Vorgehensweise im Editor V2... Erstellen eines Benutzerprofils... Lokalisieren des Benutzerprofils... Vorgehensweise im Editor V1... Erstellen des Schemas... Schema als Benutzerprofil konfigurieren... Lokalisierung des Benutzerprofils... 2 2 3 5 5 7 8
Voraussetzungen Strukturelle Integrität und Kindschemata Module erstellen und verteilen Beschreibung In diesem Tutorial legen wir ein individuelles Benutzerprofil am Beispiel eines Forenbenutzers an. Sie lernen, wie und wo Sie das Schema dafür definieren und wie Sie die Nutzung der Profile ermöglichen. Zeichenerklärung Text, der grün umrandet und mit dem Pfeil-Symbol gekennzeichnet ist, enthält konkrete Anweisungen, was als nächstes zu tun ist. Texte in solchen Kästchen enthalten Tipps und Tricks. Quellcode wird in solch blauen Boxen dargestellt. 1
1 Vorgehensweise im Editor V2 1 Vorgehensweise im Editor V2 Die folgenden Abschnitte beschreiben, wie Sie im neuen Editor (V2) ein Benutzerprofil anlegen und verwalten. 1.1 Erstellen eines Benutzerprofils Ein Benutzerprofil unterscheidet sich nicht sehr von den üblichen Datenobjekten. Die nötigen Felder werden ebenfalls in einem XML-Schema definiert. Öffnen Sie das Modul Zitatverwaltung. Rechtsklicken Sie im Struktur-Baum den Knoten Schemata und wählen Sie Benutzerprofil. Nennen Sie das Profil myprofile. Fügen Sie folgenden Code als Schema ein: 2
1 Vorgehensweise im Editor V2 <xs:schema xmlns:references="http://onionworks.net/2004/references" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:onion="http://onionworks.net/2004/schema" xmlns:xs="http://www.w3.org/2001/xmlschema" elementformdefault="qualified" onion:schemalocation="myprofile" > <xs:import schemalocation="http://www.w3.org/1999/xlink" namespace="http://www.w3.org/1999/xlink" /> <xs:element name="myprofile"> <xs:complextype> <xs:sequence> <xs:element name="nickname" type="xs:string" /> <xs:element name="avatar" type="xlink:binaryreference" /> <xs:element name="contactdata" type="contactdata" minoccurs="0" /> </xs:sequence> </xs:complextype> </xs:element> <xs:complextype name="contactdata"> <xs:attribute name="email" type="emailaddress" /> <xs:attribute name="icq" type="xs:string" /> <xs:attribute name="aim" type="xs:string" /> <xs:attribute name="yahoo" type="xs:string" /> <xs:attribute name="msn" type="xs:string" /> <xs:attribute name="jabber" type="xs:string" /> <xs:attribute name="homepage" type="xs:string" /> <xs:attribute name="phone" type="xs:string" /> </xs:complextype> <xs:simpletype name="emailaddress"> <xs:restriction base="xs:string"> <xs:pattern value="^([\w-\._]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.) (([\w-_]+\.)+))([a-za-z]{2,4} [0-9]{1,3})(\]?)$" /> </xs:restriction> </xs:simpletype> </xs:schema> 1.2 Lokalisieren des Benutzerprofils Selbstverständlich können Sie die Beschriftung des Reiters, das Icon sowie die Pflegemaske lokalisieren. Da es sich systemtechnisch auch nur um ein Datenobjekt handelt, funktioniert die Lokalisierung genauso wie bei jedem anderen Datenobjekt auch in der Editorlokalisierung. Die Lokalisierung innerhalb der runtime.de-konfiguration sieht dabei wie folgt aus: 3
1 Vorgehensweise im Editor V2 <o:settings xmlns:o="http://onion.net/genericforms" xmlns:onion="http://onionworks.net/2004/data" onion:schema="onion:http://onion.net/2010/editor/modulesystem/schemata/customizing/settings" > <o:component aspect="label" match=".myprofile"> <label>profildaten Zitatverwaltung</label> <o:component aspect="label" match=".myprofile.nickname"> <label>anzeigename</label> <o:component aspect="label" match=".myprofile.avatar"> <label>avatar</label> <o:component aspect="label" match=".myprofile.contactdata"> <label>kontaktdaten</label> <o:component aspect="label" match="#contactdata @icq"> <label>icq</label> <o:component aspect="label" match="#contactdata @msn"> <label>msn</label> <o:component aspect="label" match="#contactdata @aim"> <label>aim</label> <o:component aspect="label" match="#contactdata @yahoo"> <label>yahoo</label> <o:component aspect="label" match="#contactdata @jabber"> <label>jabber</label> <o:component aspect="label" match="#contactdata @homepage"> <label>homepage</label> <o:component aspect="label" match="#contactdata @phone"> <label>telefon</label> <o:component aspect="label" match="#contactdata @email"> <label>email</label> </o:settings> Jetzt haben Sie die Möglichkeit, benutzerspezifische Daten für Ihr Modul zu speichern. 4
2 Vorgehensweise im Editor V1 Navigieren Sie dazu zur Benutzerverwaltung (z.b. Über das Dashboard). Navigieren Sie zum Benutzer admin. Rechtsklicken Sie im Bereich Benutzerprofil und wählen Sie Benutzerprofil Zitatverwaltung. 2 Vorgehensweise im Editor V1 Die folgenden Abschnitte beschreiben, wie Sie im alten Editor (V1) ein Benutzerprofil anlegen und verwalten 2.1 Erstellen des Schemas Ein Benutzerprofil unterscheidet sich nicht sehr von den üblichen Datenobjekten. Die nötigen Felder werden ebenfalls in einem XML-Schema definiert. Wechseln Sie in die Schema-Verwaltung. Klappen Sie den Punkt "http://onionworks.net/2004/schema/object" auf. Darunter finden Sie bereits ein Schema "http://onionworks.net/2004/userprofiles". Erzeugen Sie unter "http://onionworks.net/2004/userprofiles/applicationsettings" ein neues Schema für Ihr Benutzerprofil. 5
2 Vorgehensweise im Editor V1 Prinzipiell kann Ihr Profil überall eingeordnet sein. Wichtig ist nur, dass es ein Kindschema von "http://onionworks.net/2004/userprofiles/profile" ist! Da das Schema "applicationsettings" diese Anforderung bereits erfüllt, legen wir unser Schema der Einfachheit halber darunter an. Nun erstellen wir das Schema für unser Forumsprofil. Befüllen Sie das neue Profil mit folgendem Code. 6
2 Vorgehensweise im Editor V1 <xs:schema elementformdefault="qualified" onion:schemalocation="http://onionworks.net/2004/userprofiles/applicationsettings/myprofile"> <xs:import schemalocation="http://www.w3.org/1999/xlink" namespace="http://www.w3.org/1999/xlink" /> <xs:element name="myprofile"> <xs:complextype> <xs:sequence> <xs:element name="nickname" type="xs:string" /> <xs:element name="avatar" type="xlink:binaryreference" /> <xs:element name="contactdata" type="contactdata" minoccurs="0" /> </xs:sequence> </xs:complextype> </xs:element> <xs:complextype name="contactdata"> <xs:attribute name="email" type="emailaddress" /> <xs:attribute name="icq" type="xs:string" /> <xs:attribute name="aim" type="xs:string" /> <xs:attribute name="yahoo" type="xs:string" /> <xs:attribute name="msn" type="xs:string" /> <xs:attribute name="jabber" type="xs:string" /> <xs:attribute name="homepage" type="xs:string" /> <xs:attribute name="phone" type="xs:string" /> </xs:complextype> <xs:simpletype name="emailaddress"> <xs:restriction base="xs:string"> <xs:pattern value="^([\w-\._]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.) (([\w-_]+\.)+))([a-za-z]{2,4} [0-9]{1,3})(\]?)$" /> </xs:restriction> </xs:simpletype> </xs:schema> 2.2 Schema als Benutzerprofil konfigurieren Prinzipiell können im onion.net Editor beliebig viele Benutzerprofile erstellt und einem Benutzer zugewiesen werden. Daher muss dem Editor mitgeteilt werden, welches Schema er für das default-profil nehmen soll und welche weiteren Profile es gegebenenfalls gibt. Diese Einstellungen können in der Editorkonfiguration vorgenommen werden. Erstellen Sie ein Objekt "Benutzerverwaltung" unterhalb Ihres Moduls und befüllen Sie es mit folgendem Code. 7
2 Vorgehensweise im Editor V1 <usermanager xmlns="http://onionworks.net/2004/webeditor/usermanager/configuration" xmlns:onion="http://onionworks.net/2004/data"> <usersettings> <schema location="http://onionworks.net/2004/userprofiles/applicationsettings/myprofile" instance="default" /> </usersettings> </usermanager> Es kann nur ein "default"-profil geben. Sie sollten aber immer eines definieren. Grundsätzlich ist der Wert des "instance"-attributs frei wählbar. Wechseln Sie in die Benutzerverwaltung und rufen Sie einen beliebigen Benutzer auf. Dort sollten Sie nun im unteren Bereich einen Reiter für das eben erstellte Benutzerprofil sehen. Wenn Sie einen Rechtsklick auf den Reiter machen, können Sie das Profil anlegen. 2.3 Lokalisierung des Benutzerprofils Selbstverständlich können Sie die Beschriftung des Reiters, das Icon sowie die Pflegemaske lokalisieren. Da es sich systemtechnisch auch nur um ein Datenobjekt handelt, funktioniert die Lokalisierung genauso wie bei jedem anderen Datenobjekt auch in der Editorlokalisierung. Die Beschriftung des Reiters ist dabei der entsprechende Abschnitt im Bereich <type name="schematypenames">. Die Beschriftung des Reiters entspricht also der Lokalisierung des Kontextmenü-Eintrags in der Datensicht. 8