Domino 9 und frühere Versionen > ND6: Entwicklung
Ansicht im Web
HarryB:
Hi Folks,
ich habe ein sehr spezielles Problem mit einer Webansicht.
In der ersten Spalte der Ansicht stelle ich eine Kategorie dar, die selbst wieder aus drei Kategorien besteht. Das sieht aus wie folgt:
Fakultät 1
Lehrstuhl A
Name 1
Name 2
Lehrstuhl B
Name 3
Fakultät 2
Lehrstuhl C
Name 4
usw.
Der Feldinhalt des entsprechenden Feldes sieht wie folgt aus:
Fakultät 1\Lehrstuhl A\Name 1; Fakultät 1\Lehstuhl A\Name 2
Das sieht etwas wild aus, hat aber zur Folge, dass ich eine eindeutige Zuordnung von Namen zu Lehrstühlen und Fakultäten in einer Ansicht hierarchisch darstellen kann. Das klappt innerhalb des Notes Client auch hervorragend, im Web gibt es mit einer entsprechenden Ansicht jedoch Darstellungsprobleme.
Unterhalb der Namen gibt es eine weitere Kategorie "Typ" und darunter erst das eigentliche Dokument. Wenn ich nun die Kategorien alle schön ausklappe, dann rutscht die Kategorie Typ, sobald ich diese ausgeklappt habe, nach vorne, vor die Namen. Das sieht aus wie folgt:
Kategorie Typ nicht ausgeklappt:
Fakultät 1
Lehrstuhl A
Name 1
Typ 1
Typ 2
Name 2
Typ 1
Kategrie Typ ausgeklappt:
Fakultät 1
Lehrstuhl A
Name 1
Typ 1
Dokument 1
Dokument 2
Typ 2
Name 2
Typ 1
Das hat zur Folge, das die Namen nahezu unleserlich werden und man Namen und Typen kaum noch unterscheiden kann. Die Hierarchie ist optisch nun leider nicht mehr zu erkennen.
Die Umsetzung einer View im Web erfolgt mit Tabellen. Hat einer eine Idee, wie ich die Umsetzung in die Tabellen beeinflussen kann, indem ich zum Beispiel bestimmte Mindestbreiten für bestimmte Tabellenzellen erzwingen kann? Oder hat einer eine ganz andere Idee, wie mir zu helfen ist?
Viele Grüße
Harry
datenbanken24:
Hier ein Demo-Beipiel im Web mit einem Ansichtsaufbau, der genau Deinem entspricht.
Auch hier sind in einigen Ansichten die Feldwerte in der Form:
"Oberkategorie 1\Unterkategorie 1"
mit danach noch einer dritten folgenden Kategorie aufgebaut:
Unterkategorie 2 zu Ober-Unterkategorie 1.
Im Beispiel:
"Kurz-Report\2004"
"Kredit"
http://www.manetu-03.de/volksbank
Login: "volksbank"
Pw: "volksbank"
Die Ansichten beruhen alle auf dem einfachen Prinzip,
dass die Notes-Ansicht im Web genutzt wird,
selbst aber unsichtbar bleibt und immer wieder ein Javascript aufruft
und an dieses Javascript die Feldwerte übergibt.
Dieses Javascript wird also einfach durch die Notes-Ansicht
für jede Kategoriezeile und jedes Dokument in der Ansicht
neu aufgerufen und schreibt dann mittels document.writeln() das HTML für die Webansicht,
so, wie man es gerne möchte.
Es gibt ein Javascript für Kategoriezeilen (WriteCategory)
und eines für Dokumentzeilen (WriteTable)
Kategoriespalte in der Notes-Ansicht:
_CategorySort := @Word(@ReplaceSubstring( Feldwert; "<" : ">" ; ""); "--Sort--"; 2);
_CategoryClear := @Word(Feldwert; "--Sort--"; 1);
"[" +
"<x" + _CategorySort + "> " +
"<script language=JavaScript>" + @NewLine +
"WriteCategory( \"" +
@DocNumber + "\", \"" +
@DocNumber + "\", \"" +
_CategoryClear + "\", \"" +
"1" +
"\" ) " + @NewLine +
"</script>]" + @NewLine
Dokumentspalte in der Notes-Ansicht:
"[<script language=JavaScript>" + @NewLine +
"WriteTable( \"" +
_UNID + "\", \"" +
@DocNumber + "\", \"" +
_C1_L1 + "\", \"" +
_C1_L2 + "\", \"" +
_C2_L1 + "\", \"" +
_C2_L2 + "\", \"" +
_HasAttachments + "\", \"" +
_HasCommunity + "\", \"" +
_PATHDIA + "\", \"" +
_ReadAccess +
"\" ) " + @NewLine +
"</script>]"
wobei Cx_Lx Feldwerte aus den Dokumenten sind, die in der Ansicht dargestellt werden sollen, die anderen Werte kannst ignorieren.
Die zwei Javascript-Funktionen sind hierbei im $$WebViewTemplate hinterlegt,
und sind im Quelletext des o.g. Beipiels frei sichtbar.
Mit dieser Form, Webansichten zu schreiben,
läßt sich so ziemlich alles im Web realisieren, was man sich wünschen kann:
- beliebig Kategorie-Ebenen
- genau definierte, feste Spaltenbreiten mit Umbruch (Mindestbreiten)
- kein Verrutschen der Ansichtsspalten beim Navigieren
- Klicken auf die Kategoriespalten und nicht auf die Mini-Twisties
- Alternative Kategorie- und Zeilenfarben
- völlig freies Layout und Formatierung mittels CSS
- Kategoriesummen
- Grafikeinbindung (Thumbnails)
- Nutzung der @DocNumber
- etc.
Die Performance ist rasend schnell, auch weil der Server hierbei sehr wenig zu tun hat,
da die meiste Arbeit an den Browser abgegeben wird, der das Javascript ausführt.
Ob 10 oder 10.000 Dokumente in der Ansicht sind, spielt eigentlich keine Rolle,
die Ansichtsberechnung für Notes ist sehr einfach und im Web werden sowieso immer nur ca. 50 Dokumente angezeigt.
Mit diesem Prinzip kann so ziemlich jede Notes-Ansicht sehr schnell ins Web umgesetzt werden,
und das sieht sicher bedeutend besser aus, als die Standard-notesgerenderten grausamen "Webansichten".
Hoffe es hilft Dir weiter,
Gruss,
Uwe
umi:
VIELEN Danke für deinen Beitrag Uwe.
Sowas hab ich schon länger gesucht.....
gruss umi
HarryB:
Hallo Uwe,
vielen Dank für deinen tollen Beitrag. Ich werde die Umsetzung meiner Webansichten entsprechend programmieren. Wenn's fertig ist, zeige ich es dir auch.
Viele Grüße
Harry
HarryB:
...allerdings habe ich noch eine Rückfrage:
Die Tags "<xKategorie>" haben die eine andere Funktion als die der Dokumentation?
Viele Grüße
Harry
Navigation
[0] Themen-Index
[#] Nächste Seite
Zur normalen Ansicht wechseln