Lotus Notes / Domino Sonstiges > Projekt Bereich

@Formula-Befehle in Lotus Script abbilden

<< < (13/21) > >>

Axel_Janssen:
folgende Use Cases

+ Neues Code Dokument erstellen/bearbeiten/löschen.
(zu trivial um jetzt weiter spezifiziert werden zu müssen).

+ Code Dokument suchen (Über Kategorien oder Volltextsuche über Beschreibung)
(zu trivial, um jetzt weiter spezifiziert werden zu müssen).

+ Kollaborationsfeature für Version 1.0
sehe 2 Alternativen: zentraler Server oder P2P für Arme.

Wie ich das am Schreiben war, dachte ich das der zentrale Server doch wg. Bedienerkomfort und einfacher-zu-programmieren sehr vermutlich die bessere Lösung darstellt.

Wir müssen bei der Replizierung mit dem zentralen Server nicht Notes-Replizierung nehmen, sondern wir können das nachprogrammieren.
Der Server im Internet ist ja nicht unbedingt ein Notes-Server und v.a. ist er nicht in der selben Domäne wie der Client im Firmennetzwerk oder zu Hause. Hin und hergeschickt zwischen dem Server im Internet und Client werden dann xml-Dokumente. Diese enthalten Replizierungsanforderungen und zu replizierende code-Dokumente. Das ginge dann über http und macht firewall-mässig keine Probleme

a) User intiierte -Push-Replizierung
pre-condition: User ist mit dem Internet verbunden.
post-condition: die seit der letzten push-Replizierung vom User geänderten/neuen Dokumente befinden sich auf dem zentralen Server

- User betätigt Button Push-Replizierung
- lokales System schaut nach Datum der letzten Push Replizierung
System packt die nach der letzten Replizierung geänderten/neuen Dokumente in eine xml-Struktur.
- lokales System sendet die xml-Struktur per http gegen den zentralen Server (zentrales System).
- zentrales System fügt die in der xml-Struktur enthaltenen code-Dokumente (etwa nach einer Transformation in Notes-Dokumente) in den eigenen Datenbestand ein.

pre-condition: User ist mit dem Internet verbunden.
post-condition: die seit der letzten pull-Replizierung im zentralen System geänderten/neuen Dokumente befinden sich im Datenbestand des clients

b) user initiierte Pull Replizierung
-  - User betätigt Button Pull-Replizierung
- lokales System erzeugt ein xml-Dokument, das den Namen des Users und das Datum der letzten Pull Replizierung enthält
- lokales System sendet das Pull-Replizierungs-Anforderungs-xml gegen den zentralen Server (über http)
- zentrale Server empfängt das Replizierungs-Anforderungs-xml
- zentrale System packt aus eigenen Datenbestand neue/geänderte code-Dokument in ein Pull-Replizierungs-Antwort xml
- zentrale System schickt Pull-Replizierungs-Antwort.xml an den Client (als normale http-Response).
- lokales System fügt die neuen Dokumente in den eigenen Datenbestand ein.

c)
a) und b) lassen sich auch zu einer Push-Pull-Replizierung verknüpfen.

2. P2P Lösung
In Java gibt es zwar P2P-Lösungen. Die sind aber echt komplex und vermutlich nicht richtig ausgereift. Außerdem befürchte ich eine Menge Probleme durch Firmen-Firewalls, Personal-Firewalls, nicht-feste-IP Adressen und ganz allgemein Sicherheit.

Deshalb p2p für arme:
1. User A wählt aus einer Liste, den anderen User B aus, von dem er eine Pull-Replikation haben will.
2. System erstellt ein xml-Dokument, das Datum, Zeitpunkt der letzten Pull Replikation von User A gegen User B sowie den Namen, die email von User A enthält.
3. User A hängt das xml-Dokument an eine Mail an und adressiert diese an User B
4. User B löst das von User A gesendete Attachment aus der Mail in ein bestimmtes Verzeichnis.
5. User B betätigt Button, um ein weiteres xml-Dokument erzeugen (Pull-Replikations-Antwort-Dokument). Dieses xml-Dokument enthält die xml-Repräsentation aller code-Dokumente (s.o.), die nach dem Datum der letzten Pull-Replikation erstellt oder geändert wurden.
(Frage: Deletion-Stubbs?)
6. User B hängt das Pull-Replikations-Antwort-xml an eine Mail und sendet diese an den Pull-Replikations-Anforderer User A.
7. User A detached Pull-Replikations-Antwort-xml auf eine bestimmte Stelle auf der Festplatte.
8. User A betätigt Button und die Pull-Replikations-Antwort-xml-Dokumente werden in den Datenbestand seines code-repositories aufgenommen.

(für Leute, die LoNo als häusliches-Mailprogramm benutzen kann die Mail-Verschickung auch automatisiert werden, mit Outlook oder Mozilla-Mail hab ich das noch nicht gemacht, wobei sollte auch gehen).

koehlerbv:
Ääh, verteilen wir jetzt nicht das Fell des Bären, bevor wir ihn gefangen haben ?
Was hatte das jetzt noch mit einer LotusScript-Goodies-Lib gemeinsam ?

Bernhard

Axel_Janssen:

--- Zitat von: koehlerbv am 16.11.03 - 22:23:20 ---Was das Thema XML jetzt hier soll, kann ich nicht ganz nachvollziehen ...
...

--- Ende Zitat ---
Ich gebe dir zum großen Teil recht. Zunächst sollte erst einmal ein Datenbestand da sein.

Mein Vorschlag bezieht sich rein auf das Nebenthema, dass ein code repository nix abgeschlossenes ist, sondern etwas was mit der Zeit wächst.

Deshalb mache ich mir Gedanken dazu, wie die neuen/geänderten code Schnippsel möglichst komfortabel zwischen den Teilnehmern hin und hergeschickt werden können.

Das ist noch nicht mal kompliziert zu programmieren und kann später rangepflanscht werden.

koehlerbv:
Bon, dann sind wir d'accord ;-)

--- Zitat ---Why there is no russian resturants in usa?
may be some ..who knows. But when compared to Chinese, Thai,Italian and Indian we can hardly find any russian resturants?
Because Americans have a habit to drive to Russian restaurants. And Russian restaurants make no sense without vodka!
--- Ende Zitat ---
Da kann ich Dir aus eigener Erfahrung - aber im Urspungsland - zustimmen. Ich hoffe, kommendes Jahr mal wieder auf (private Einladung, das andere bringt ja nix) wieder hinzufahren / fliegen ;-)
Leider geht mein Lieblingsziel Abchasien aus bekannten Gründen momentan absolut nicht. Hätte ich mir nie träumen lassen, als ich 1978 das erste mal dort war, dass dort überhaupt ein Bürgerkrieg möglich wäre ... Das ist sowas von traurig !

Bernhard

TMC:
OK, hab mal das bisherige Brainstorming visuell dargestellt (see attached gif)

TMC

Navigation

[0] Themen-Index

[#] Nächste Seite

[*] Vorherige Sete

Zur normalen Ansicht wechseln