Das Notes Forum

Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: Thomas Schulte am 25.11.04 - 16:50:26

Titel: Web Navigation oder wie bringe ich Notes Anwendungen ...
Beitrag von: Thomas Schulte am 25.11.04 - 16:50:26
im Web bei, das sie doch bitte schön immer wieder zu der entsprechenden Ansicht aus der die Rally durch die Dokumente gestartet wurde zurückkehren?

Untertitel: Navigare necesse est

Irgendwie steh ich auf dem Schlauch.

Ich habe hier eine Notes Anwendung die auch (zum Teil zumindest) im Web funktionieren soll. Und zwar so ähnlich wie die Benutzer es von Notes her gewohnt sind.

Entscheidend ist hierbei, das die User zu dem Teil einer Ansicht zurückkehren wollen, bei dem sie ihre Reise durch die unergründlichen Tiefen der zugeordneten Dokumente gestartet haben.

Nun habe ich mir gedacht, pah, das ist einfach. Http_Referer als zur Anzeige Berechnetes Feld, Type=hidden und als Vorgabe Wert Http_Referer eingetragen sollte den Job doch auch über mehrere aufgerufene Dokumente hinweg tun, denn schließlich wird es erst berechnet und erb anschließend von der übergeordneten Instanz.

Ja Pustekuchen.
Sobald das Dokument auf einen Roundtrip geschickt wird oder ein anderes Dokument aus dem Embedded View aufgerufen wird oder gar ein nues Dokument erstellt wird ist nix mehr mit dem korrekten Anfangswert. Da kommt dann ein neuer Wert rein.

Dann habe ich es noch mit Berechneten Feldern,  bearbeitbaren Feldern versucht, immer mit dem gleichen Ergebnis.

Deswegen hier die Frage. Kennt jemand eine narrensichere Methode, einen Einstiegspunkt bei einer Navigation zu einem bestimmten Zeitpunkt über die Zeit zu retten und den Benutzer am Ende seiner Reise wieder an diesem Punkt zurückzuführen?

Ich bin für alle Vorschläge offen.

Thomas
Titel: Re: Web Navigation oder wie bringe ich Notes Anwendungen ...
Beitrag von: machineslave am 25.11.04 - 17:04:41
Hallo,

hast Du es eventuell schonmal mit einem URL-Parameter versucht?
Also zum Beispiel "&view=DeineView"

Diesen Parameter kannst Du in Notes 6 wunderbar mit @UrlQueryString("view") auslesen und in einem Hidden Feld speichern.

Stefan
Titel: Re: Web Navigation oder wie bringe ich Notes Anwendungen ...
Beitrag von: Driri am 25.11.04 - 17:11:15
Hi,

ich habe diesen Tipp dazu in meiner schlauen Sammlung gefunden, habs aber selber noch nie getestet. Vielleicht hilft dir das ja weiter.

Quelle und Autor leider unbekannt, ich vermute, ich habs bei SearchDomino gefunden.

Zitat
Return to the view while preserving view location and status (expand & collapse)

Imagine this scenario:
1 - The user is presented with a view.
2 - The user expand the view.
3 - The user scroll foreword a few pages.
4 - The user decide to add, update or delete a document.
5 - the appropriate action is preformed by the system and the user is presented with a view.

In the many samples I looked into the view presented at step 5 is:
- Hard coded.
- The view is presented from the start and does take into account step 2 and
3 (Scroll and expand).

To overcome this problem I came up with this solution:

Code

The solution is based on the thought that if I can save the view status (location & expand) somewhere then I can refer to it and use it later on.

Storage
------
In my applications I usually use frames. On the left frame I keep the pages with Outlines. Views are presented in the right frame.
In the page that goes into the left frame I created a field using Pass Through HTML:
[<INPUT  name=LocationHrefSave TYPE=hidden>]

Capture the View status
-----------------------
In the $$ViewTemplate for the view in the onLoad event I entered:
// Save the view location & status

parent.LeftFrame.document.forms[0].LocationHrefSave.value =
location.href ;

Note: LeftFrame is the name of the left frame.

Return to the view
------------------
I created a page named ReturnDocumentProcessed I also created the
page $$ReturnDocumentDeleted.

In the ReturnDocumentProcessed I put the text
"The Document Has Been processed !!!"

In the $$ReturnDocumentDeleted I put the text
"The Document Has Been Deleted !!!"

The code for those pages is the same.

1. In the JS Header I entered:
function NextStep() {
location.href = parent.LeftFrame.document.forms[0].LocationHrefSave.value;
}

2. In the onLoad event I entered:
TimerID = setTimeout("NextStep() ",1000)

The timer allow the user to see the text in those pages for a second and then the view is presented, Any changes in the data is shown as well.
Titel: Danke an Driri. Der Artikel war genau das was ich ....
Beitrag von: Thomas Schulte am 29.11.04 - 20:16:51
gesucht habe.

Die Beschreibung ist zwar etwas unvollständig, hat mich aber auch den richtigen Weg gebracht.

Thomas
Titel: Re: Web Navigation oder wie bringe ich Notes Anwendungen ...
Beitrag von: Driri am 30.11.04 - 10:09:15
Kannst Du dann evtl. ergänzen, was unvollständig war ? Vielleicht stolpert ja nochmal jemand über das Problem  ;)
Titel: Re: Web Navigation oder wie bringe ich Notes Anwendungen ...
Beitrag von: Thomas Schulte am 30.11.04 - 10:47:44
Werd ich wenn ich Zeit habe in eine DB gießen und hier zur Verfügung stellen.

Thomas
Titel: Re: Web Navigation oder wie bringe ich Notes Anwendungen ...
Beitrag von: Driri am 30.11.04 - 10:50:29
Super, danke  :)