RDFa-Datenauslese abhängig von Anzeigeweise?

am 25.03.2012 - 09:39 Uhr in
Hallo,
Ich bin mir nicht zu 100 % sicher, ob ich richtig in diesem Thread bin. Es geht um die Kombination mehrerer Module, aber der kritische Punkt, zu dem ich einfach keine Infos in Tutorials etc. finde, ist ein Views-punkt.
Außerdem bin ich noch nicht mal ein "echter" Drupalese; ich recherchiere momentan nur nach Umgebungen, an denen man ein Projekt unserer Uni am besten umsetzen könnte und versuche erst mal, alles theoretisch zu durchdenken. Vielleicht ist die Frage also nicht mal so intelligent :)
Ich versuch´s einfach mal: Szenario: Ich habe eine Drupal-webpage, auf der ich eine neue Art von Literaturgeschichte erstellen will. Zwei Dinge wären wichtig: (1) Ich kann von einer Seite "Versionen" erstellen. (2) Ich kann Relationen - Verlinkungen - zw. Seiten mit typed links setzen.
Zu (1) - Ich habe echt lange recherchiert. Ich glaube, der beste Weg hier hat gar nichts mit Views zu tun, aber er wirkt sich aus auf (2): Ich will eine Seite, auf die ich als Editor einfach schreiben kann
Paragraph1
Paragraphentext Version A
Paragraphentext Version B
...
Und je nachdem, welche Anzeigeweise der user sich auswählt, wird nur die jeweilige Paragraphentextversion angezeigt.
Ich glaube - vielleicht ist aber auch das schon falsch -: Am Besten lässt sich so lösen: Ich installiere (1) Conditional Text und (2) Masquerade. (3) Erstelle ich, sagen wir, 30 user roles - die user role A, die user role B usw., und jeder dieser user roles ordne ich einen extra erstellten user zu, der als einziger diese user role innehat.
Den Text erweitere ich dann mit
Paragraph1
[condition custom A]
Paragraphentext Version A
[/condition]
[condition custom B]
Paragraphentext Version B
[condition]
(Außerdem verändere ich Masquerade ein bisschen, dass ein anderer Text ausgegeben wird beim Maskieren, aber das ist wurscht).
Wenn ein user sich jetzt mit Masquerade maskiert als "A", bekommt er die user role A zugewiesen und also wird nur Paragraphentext Version A angezeigt.
Ist das noch richtig / geschickt? Wenn ja, dann kommt jetzt der kritische Punkt.
(2) typed links / semantische Links scheint es nicht zu geben bei Drupal; wohl, weil jetzt standartmäßig RDFa dabei ist. Vielleicht ist das aber gar kein Problem; ich muss nur eine kleine Privatontologie erstellen.
Ziel ist: Ich will dem user (in tag clouds o.Ä.) verschiedene Link-listen ausgeben: Eine Linkliste, die auf Seiten verweist, die sich beeinflussend auf den aktuellen Seiteninhalt ausgewirkt haben, eine Linkliste auf Seiten, auf die der Inhalt der aktuellen Seite Einfluss gehabt hat und eine Linkliste mit Seiten, deren Inhalt weder Einfluss hatte noch beeinflusst war, aber genannt werden muss.
z.B. ist Goethe beeinflusst von Gellert, hat Schiller beeinflusst, und es besteht zwar kein Einflussverhältnis, aber man muss auf jeden Fall, wenn man von Goethe spricht, auch Kant nennen. Also käme auf Linkliste A ein Link zur Seite Gellert, auf Linkliste B ein Link zur Seite Schiller und auf Linkliste ein Link zur Seite Kant.
Die kann ich aber nicht vorfertigen, weil ich ja verschiedene Seitenversionen habe und also auch verschiedene Linklistenversionen bräuchte. Daher - glaube ich - bräuchte ich eigtl. typed links vom Typ "Einfluss", "beeinflusst" und "nennenswert" und lasse diese dann auslesen und in eine Linkliste umwandeln.
Es gibt aber keine typed links, also muss ich es mit RDFa lösen.
Ich erstelle also ein Vokabular mit den properties wie A [=z.B. sozialgeschichtlich beeinflusst], B [=z.B. ideengeschichtlich beeinflusst] usw.
Mit diesen RDFa-tags enriche ich jetzt meinen Artikel, also z.B. [oh - ich sehe gerade, wenn ich "richtig" mit RDFa tagge, verschwindet das aus dieser Anzeige. Ich mach deswegen die Klammern verkehrt rum]
<span vok:A href http://Literaturgeschichte/Schiller >
[condition custom A]
Paragraphentext Version A (z.B.: "sozialgeschichtlich gesehen beeinflusste Goethe Schiller")
[/condition]
</span>
Mit Views habe ich nun offenbar die Möglichkeit, mit meinen RDFa-Daten zu arbeiten und zu Views umarbeiten zu lassen. Das ist mir auch noch nicht 100%ig klar, wird sich aber recherchieren lassen, wie es genau klappt.
Nur ist jetzt mein Problem: Ich will nur die mit RDFa "erstellten" Links verarbeiten lassen, deren Text dem aktuellen user angezeigt werden.
(z.B.: Die komplette Version meiner Seite sieht jetzt so aus:
<span vok:A href http://Literaturgeschichte/Schiller >
[condition custom A]
Paragraphentext Version A (z.B.: "sozialgeschichtlich gesehen beeinflusste Goethe Schiller")
[/condition]
</span>
<span vok:B href http://Literturgeschichte/Kleist >
[condition custom B]
Paragraphentext Version B (z.B.: "ideengeschichtlich gesehen beeinflusste Goethe Kleist")
[/condition]
</span>
Wenn der user also Anzeigeweise A ausgewählt hat, soll nur der erste Link verarbeitet werden, wenn er B gewählt hat, nur der zweite.)
Aber das ist ja eigentlich der selbe Seiteninhalt wie die mit Conditional Text und Masquerade verborgenen Inhalte (Absch. 2 gehört genau so zum Seiteninhalt wie Absch.1, obwohl Absch. 2 verborgen wurde) das heißt, das Views das nicht "versteht", oder?
Deswegen hier endlich meine Frage:
Gibt es irgend eine Möglichkeit, Views nur mit den Daten operieren zu lassen, die auch dem aktuellen user angezeigt werden? Oder gibt es vielleicht eine schöne Umweg-lösung?
Ich bin wirklich ratlos und würde mich sehr über eine Antwort freuen,
Liebe Grüße
Sebastian Walter
- Anmelden oder Registrieren um Kommentare zu schreiben
Ich wäre auch dankbar für
am 27.03.2012 - 09:30 Uhr
Ich wäre auch dankbar für einen Kommentar wie "Das ist viel zu viel Text für einen Post", "Glaubst du ernsthaft, jemand versteht, was du hier willst?", "Das ist totaler Blödsinn" oder "Das ist ein komplett falscher Ansatz". Dann wüsste ich wenigstens, dass ich was falsch gemacht habe und es noch mal anders versuchen muss und würde nicht alle 3 Stunden erneut hier rein schauen.
Danke im Voraus,
Liebe Grüße
Sebastian Walter
Viel Text ;)
am 27.03.2012 - 12:11 Uhr
Deswegen hier endlich meine Frage:
Gibt es irgend eine Möglichkeit, Views nur mit den Daten operieren zu lassen, die auch dem aktuellen user angezeigt werden? Oder gibt es vielleicht eine schöne Umweg-lösung?
Hallo Sebastian,
ich habe echt nicht alles gelesen, aber Du kannst in Views Daten anzeigen lassen in Abhängigkeit von der/den Rolle(n), die der aktuelle Betrachter hat. Das sollte Dir doch helfen, hoffe ich....
Ach ja, herzlich willkommen bei Drupal!
Nein. Oder, ich glaube nicht.
am 29.03.2012 - 16:46 Uhr
Nein.
Oder, ich glaube nicht. Ich kanns nicht sagen: Ich habe mir jetzt in der Tat eine ganze Testseite eingerichtet, eine Testontologie gebaut - und jetzt geben mir sowohl Conditional Text als auch Sparql Views und Varql nur Fehlermeldungen aus. Män - dabei war das eigentlich das, was Drupal bisher so angenehm von SMW und Tiki unterschieden hat.
Trotzdem (falls das irgendwann mal hingekriegt wird / ich das hinkriege), wahrscheinlich nein. Allein schon, weil wahrscheinlich gar nicht so viel mit Views gearbeitet werden darf. Das Gros der Editoren würde wohl aus Geisteswissenschaftlern bestehen, deswegen sollte alles Technische so simpel und intuitiv wie möglich gehalten werden. Deshalb hatte ich auch überhaupt erst zu Conditional Text statt Views gegriffen, weil das eine sehr intuitive Möglichkeit geboten hätte, Seiten zu "versionieren". Was ich eigentlich gebraucht hätte, wäre die Möglichkeit gewesen, einen View zu erstellen, der nur den sichtbaren, nicht den tatsächlich vorhandenen Node-inhalt berücksichtigt und der von einem Node-editor einfach eingefügt werden kann.
Never mind; jetzt muss ich ohnehin erst mal entweder sehen, warum CT und SV so rumspinnen und - falls ich das nicht beheben kann - einen anderen Ansatz finden.
Aber danke für die Antwort :)
Gruß,
Sebastian
Du kannst Views sagen, zeige
am 29.03.2012 - 19:26 Uhr
Du kannst Views sagen, zeige mir nur Inhalte vom aktuellen Benutzer an. Beispiel er filtert dann Inhalte nur, wo dieser dann der Autor ist.
Aber ehrlich gesagt, verstehe ich nicht warum so kompliziert alles. Keep it simple.
Ja, das habe ich gesehen.
am 29.03.2012 - 19:51 Uhr
Ja, das habe ich gesehen. Auch das von Kirsten (Ich habe jetzt so lang mit Views rumgebastelt, dass ich von der Oberfläche Alpträume habe). Danke euch zwein, aber das ist nicht, was ich will - so simple ist das eben nicht :)
Nur zum Verständnis versuch ichs noch mal so kurz wie möglich:
Wir wollen eine online-Literaturgeschichte mit einigen Extra-features bauen. D.h., die Editoren werden Geisteswissenschaftler sein; und das heißt wiederum, ein Beitrag sollte nicht zu kompliziert zu erstellen sein.
Eines der entscheidenden Features ist das: Wir schreiben nicht eine Literaturgeschichts-version, sondern viele. z.B. eine Sozialgeschichtliche, eine Ideengeschichtliche usw. Die wollen wir aber nicht auf us. Seiten verteilen, sondern auf die selbe Seite schreiben. Und das heißt, der user muss beim Lesen die jeweils anzuzeigende Textversion auswählen können.
Wir wollten das so umsetzen, dass wir von jedem Paragraphen eine "Null-version" x0, eine Kurzversion x1 und eine Langversion x2 erstellen, und je nach Auswahl des users wird für den jeweiligen Paragraphen die Paragraphenversion angezeigt.
z.B.: A sei ein ideengeschichtlicher Paragraph, B ein sozialgeschichtlicher. Angezeigt werden soll für den, der "Sozialgeschichte" gewählt hat, deswegen A1 B2, für den, der Ideengeschichte gewählt hat dagegen A2 B1.
Das wollte ich lösen mit dem Conditional Text-Plugin. Ich ediere die Seite als A0 A1 A2 - B0 B1 B2, und jede Version wird mit CT "konditioniert" (aber nicht mal das funktioniert, CT zeigt nur Fehlermeldungen an und verbirgt einfach jeden konditionierten Abschnitt).
Das zweite war, dass wir Linklisten ausgeben wollten, und zwar nach Linktyp sortierte: Dieser Link verweist auf einen Autoren, der den aktuell angezeigten beeinflusst hat, dieser auf ein Werk, auf das der angezeigte Autor Einfluss hatte usw. Dafür brauchten wir typed links und also RDFa. Und da natürlich die Links, die in den verborgenen Textabschnitten standen, nicht mit in die Linklisten sollten, wollte ich das mit Views und entweder Sparql Views oder Varql automatisieren, indem jeweils nur die mit RDFa semantisierten Links in die Linklisten ausgegeben werden, die auch im sichtbaren node-Abschnitt angezeigt werden.
Aber, wie gesagt - von den 5 Modulen, die gebraucht hätte - RDFx, Views, Conditional Text und Sparql Views oder Varql funktionieren die letzten 3 ohnehin (noch) nicht richtig, deswegen hat sich die Anfrage erst mal erledigt. Danke trotzdem.