Domino 9 und frühere Versionen > ND6: Entwicklung

[web] ajax in notes

<< < (4/4)

flaite:
Ich find das sieht vielversprechend aus:
http://wiki.script.aculo.us/scriptaculous/show/Ajax.Request

... oder du programmierst das so um, dass bei jedem Aufruf die gesamte benötigte Datenstruktur zurückgegeben wird, inklusive der Auswahl der 3. Selectbox.

flaite:
Ja. Und? Arbeitest du da jetzt weiter dran?
Interessiert mich wirklich.
Ich glaub nach wie vor, dass man das mit den ulkigen, bla-bla mässigen & überkomplexen Zeug wie
a) wirklich xml Nachrichten auszutauschen und
b) Frameworks wie Prototype
in den Griff zu bekommen ist.

Bin zur Zeit wg. Projektendterminen & meinem ex-post Domino 6 upgrade aus dem Gefecht, werd aber dran weiterarbeiten.
Wäre schön, wenn ein paar interessierte auch mal ein paar Beiträge posten.

Jedenfalls ist Ajax sehr ähnlich zu Webservice basierten Integrationsmechanismen ist und ich glaub mittlerweile, dass dies der beste Weg der Integration von Domino ist.

In der Zwischenzeit wird die Dokumentation der Prototype JS-Scriptlibrary besser:
http://ajaxian.com/archives/2005/12/a_quick_guide_t.html

Der Punkt den ich versuche zu machen:
Du mußt die Aufrufe nicht auf 2 Ajax Calls verteilen (und dadurch kommen nämlich deine Probleme)
Beispiel:
Select 1: Land
Select 2: Stadt
Select 3: Stadtviertel.

In Land wählt der User Deutschland.
Nun müßte vom Server das folgende mit 1 Call runterkommen:
Die Liste der Städte unddie Liste der Stadtviertel der ersten Stadt.

Am saubersten ginge das mit xml:
<response>
<cities>
<city>
Köln
</city>
<city>
Berlin
</city>
<city>
Hamburg
</city>
</cities>
<!-- Stadtviertel von erster stadt-->
<districts>
<district>
Niehl
</district>
<district>
Sülz
</district>
<district>
Ehrenfeld
</district>
</districts>
</response>

Natürlich mußt du noch nicht mal xml nehmen. Ein mit entsprechenden Trennzeichen enkodierter String geht auch. Aber xml ist sauberer (wichtig, imho).

In Webservices-Architektur-Theorie Welt wird viel über die konkrete Granularität von Services gesprochen. Und du hast hier in deinem Ajax die falsche Granularität.
Du brauchst für eine User-Aktion (=wähle Deutschland) nicht intern 2 calls, die auch noch gegen einen entfernten Server gehen.


viel Glück

Axel

machineslave:
Hallo Axel,

ich habe meine Scripte nun so programmiert, dass:

a) beim Initialisieren ein Aufruf passiert (also Agent anstossen), der anhand des Benutzernamens die Comboboxen füllt, also die komplette Datenstruktur zurückliefert und
b) sobald ein Wert innerhalb einer Combobox geändert wird, wird erst einmal nur die nächste Combobox angefordert.

Das funktioniert sehr gut und ist sehr schnell.
Ich werde im Laufe der Woche mal die Lösung hier posten.

Gruß

Stefan

flaite:
goil  ;D

Navigation

[0] Themen-Index

[*] Vorherige Sete

Zur normalen Ansicht wechseln