Autor Thema: Fragen zur Formalsprache  (Gelesen 4401 mal)

Offline ERVO

  • Frischling
  • *
  • Beiträge: 20
  • Geschlecht: Männlich
Fragen zur Formalsprache
« am: 15.04.05 - 11:57:20 »
Hallo Notes-Freunde,

ich versuche gerade anhand einer Bibliotheksverwaltung als Einstiegsaufgabe mit Lotus Notes/Domino warm zu werden, da sind mir noch ein paar Fragen aufgetaucht:

1. Ich möchte Nutzer anlegen und denen eindeutige IDs vergeben. Also brauche ich eine Formel, die beim Erstellen eines neuen Nutzers die niedrigste verfügbare ID berechnet. Die Frage ist bestimmt schon mal aufgetaucht, hab´s aber nicht gefunden.

2. Wie komme ich in der Formelsprache von Antwortdokummenten an den Inhalt von Feldern von Hauptdokumenten ran?

3. Eigentlich eine Designfrage: Ich habe als Antwortdokument auf ein Buch-Dokument die Aufleihen angelegt. Macht das als Antortdokument Sinn?

Viele Grüsse
Eric

PS: Achso; ich möchte das als Webanwendung entwicklen.

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re: Fragen zur Formalsprache
« Antwort #1 am: 15.04.05 - 13:03:37 »
Hi,

zu 1. Das macht Notes selbst beim Anlegen eines neuen Users.

zu 2. mit @GetDocField($Ref, Feldname) kannst du den Feldinhalt auslesen.

zu 3. wenn du eine Historie haben willst, d.h. man soll nachvollziehen können, wer ein Buch wann ausgeliehen hatte, dann macht das schon Sinn. Ansonsten eigentlich nicht.Dann kannst du das Ausleihdatum und den Ausleiher auch ins Buchdokument eintragen.


Axel
 
Ohne Computer wären wir noch lange nicht hinterm Mond!

Driri

  • Gast
Re: Fragen zur Formalsprache
« Antwort #2 am: 18.04.05 - 10:00:31 »
Könntest Du das mit den Benutzern ein wenig genauer beschreiben ? Ich lese da jetzt raus, daß Du per Webfrontend neuen Benutzer eine Registrierung ermöglichen willst, diese Benutzer sollen keinen Namen sondern eine fortlaufende Nummer erhalten.

Hab ich das richtig interpretiert oder meinst Du was völlig anderes ?

Offline ERVO

  • Frischling
  • *
  • Beiträge: 20
  • Geschlecht: Männlich
Re: Fragen zur Formalsprache
« Antwort #3 am: 21.04.05 - 19:39:39 »
Ja meine Doppeldeutigkeit ist mir bei Axels antwort dann auch aufgefallen. Driri hat das ganz richtig interpretiert: ich will nicht für jeden Bibliotheksnutzer einen Notes-Nutzer anlegen, sondern der Bibliotheksverwalter soll neue Nutzer als Dokumente mit den persönlichen Daten anlegen. Damit die Nutzer eindeutig bleiben, soll jeder eine Nutzernummer (ID) bekommen. Unter der er auch Bücher ausleiht, vorbestellt etc.

Noch zu 2.:
$Ref ist erst nach dem ersten Speichern verfügbar. Wenn ich ein Buch anzeige möchte ich per Aktion das Buch ausleihen. Dabei wird das Antwort-Dokument zum Ausleihen  erstellt aber noch nicht gespeichert -> $Ref steht nicht zur Verfügung  :(

Eric


Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re: Fragen zur Formalsprache
« Antwort #4 am: 21.04.05 - 19:50:36 »
Noch zu 2.:
$Ref ist erst nach dem ersten Speichern verfügbar. Wenn ich ein Buch anzeige möchte ich per Aktion das Buch ausleihen. Dabei wird das Antwort-Dokument zum Ausleihen  erstellt aber noch nicht gespeichert -> $Ref steht nicht zur Verfügung  :(

Hi,

so ganz verstehe ich das jetzt nicht. Klar $Ref steht erst nach dem Speichern zur Verfügung. Aber wie erstellst du denn die Antwortdokumente? Du braucht auf jedenfall Zugriff auf's Hauptdokument und die Antworten erstellen zu können, also kannst du auch über diesen Zugriff die Felder des Hauptdokumentes auslesen. Oder sehe ich das falsch?


Axel
Ohne Computer wären wir noch lange nicht hinterm Mond!

Marinero Atlántico

  • Gast
Re: Fragen zur Formalsprache
« Antwort #5 am: 21.04.05 - 20:31:07 »
Damit die Nutzer eindeutig bleiben, soll jeder eine Nutzernummer (ID) bekommen. Unter der er auch Bücher ausleiht, vorbestellt etc.
:)PRAKTISCHER TIPP PRAKTISCHER TIPP PRAKTISCHER TIPP !!!!! :)
In Notes hast du einen  eindeutigen KEY. Es ist der Notes Name. Der Notes User Name ist innerhalb einer Domäne eindeutig. UND DEN SOLLTEST DU FÜR DIESE AUFGABE NEHMEN.
@username (gibt da verschiedene Formate. Ich empfehle Abbreviate, s. Doku)


VIEL RAUCH UM WENIG
Eric. Warum willst du eine eindeutige ID?
Falls ich jemals einen Blog haben sollte, wird der erste Beitrag sein:
"Verteilte Computersysteme können nicht in eindeutig aufsteigender Reihe zählen"
Du lässt dich hier sicher von dem Identity Column Feature in RDBMS leiten. Bei einem Insert können heutige nicht-geclusterte (und vermutlich auch einige geclusterte) RDBMS eindeutige Nummern vergeben.
Warum ist das so toll eine eindeutige Nummer in RDBMS zu haben?
Es ist tatsächlich eine Best Practise pro Tabelle einen Primary Key als Nummer zu haben.
BigInts sind einfach performanter als andere eindeutige Keys wie etwa VarChars bei Joins, where, etc.
V.a. Joins aber auch wheres spielen in Notes eine wesentlich geringere Rolle als in RDBMS.
In Notes ist das  ein bischen anders. Es ist praktisch unmöglich eindeutige Nummern zu generieren, ohne dadurch andere Nachteile zu haben.
Das hat verschiedene Ursache. Eine von denen ist, dass es bei Notes relativ üblich ist, dass User sich die gesamte Datenbank per Replikation auf lokal holen, darin arbeiten und später mit dem gemeinsamen Datenbestand auf dem Server replizieren. Und sowieso sind Notes Anwendungen oft über mehrere Server verteilt und die Vergabe einer eindeutigen ID benötigt ganz einfach, dass die unterschiedlichen Datenbestände synchronisiert sind. Aber genau dies passiert nicht in Echtzeit, sondern eben in bestimmten längeren Zeitintervallen.
Im Gegensatz werden RDBMS wesentlich seltener repliziert. Zumindest nicht bis ich mit Dafodil Replicator, Apache Derby und egal-welcher-vernünftigen-Serverdatenbank mein eigenes, openSource basiertes Groupware Imperium gestartet habe. Ja Ed Brill, du hast noch ein wenig Zeit, aber fang schon mal an für die schlechten Zeiten zu sparen.  8)

 BTW war bis Websphere 3.5 oder 4.0 (so genau weiss ich es auch nicht mehr) der empfohlene eindeutige Key für Entity Beans gemanagte RDBMS Tabellen die ID da auch nicht einfach ein unschuldiges Nümmerschen, sondern sollte aus der MAC-Adresse des Rechners, der Computerzeit und einer Zufahlszahl berechnet werden (so ungefähr jedenfalls, ich poste mal irgendwann den Algorythmus).
« Letzte Änderung: 21.04.05 - 20:35:43 von Marinero Atlántico »

Offline ERVO

  • Frischling
  • *
  • Beiträge: 20
  • Geschlecht: Männlich
Re: Fragen zur Formalsprache
« Antwort #6 am: 25.04.05 - 11:48:49 »
@Axel:
In der Maske "Buch" solle es bei mir einknöfchen "Ausleihen" geben, dahinter verbirgt sich @Command([Compose];  "Ausleihe"), in der Maske "Ausleihe" möchte ich trivialer Weise den Titel des auszuleihenden Buches darstellen. D.h., in dem Moment kommen ich nicht an den Titel ran :(

@ Marinero Atlántico:
Die ID hat weniger was mit relationalen Datenbanken zu tun, als vielmehr mit der Tatsache, dass ich den Nutzer "Hans Müller" vom Nutzer "Hans Müller" unterscheiden möchte. Ich hab mir das mit der Ausleihe so vorgestellt, dass der Ausleiher der Biblothekarin seine Nummer sagt, damit die diese Nummer in die Maske "Ausleihe" einträgt. Beim Speichern wird dann überprüft, ob es den Nutzer gibt, falls nicht ....
Andere Variante wäre, man macht ein Listenfeld mit allen Nutzern. Das kann aber bei 100 Nutzern etwas unpraktisch werden und schien mir für mein Erstlingswerk auch etwas zu kompliziert.


Ich danke an dieser Stelle mal für die anregenden Beiträge.

Grüsse Eric

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re: Fragen zur Formalsprache
« Antwort #7 am: 25.04.05 - 13:43:30 »
@Axel:
In der Maske "Buch" solle es bei mir einknöfchen "Ausleihen" geben, dahinter verbirgt sich @Command([Compose];  "Ausleihe"), in der Maske "Ausleihe" möchte ich trivialer Weise den Titel des auszuleihenden Buches darstellen. D.h., in dem Moment kommen ich nicht an den Titel ran :(

Hi,

das ist sehr einfach möglich. Die markierst in den Maskeneigenschaften der Maske Ausleihe die Option "Formeln übernehmen Werte aus gewähltem Dokument". In die Maske selbst fügst du ein Feld für den Buchtitel ein, dass den gleichen Namen hat wie das entsprechende Feld in der Maske Buch. Diesen Namen trägst du auch noch bei dem Vorgabewert des Feldes in der Maske Ausleihe ein. That's it.

Axel

 
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Fragen zur Formalsprache
« Antwort #8 am: 25.04.05 - 13:45:36 »
... fügst du ein Feld für den Buchtitel ein, dass den gleichen Namen hat wie das entsprechende Feld in der Maske Buch ...

Das tut noch nicht mal noooot, Axel  ;) Auf die Formel für den Vorgabewert kommt es an, nicht auf den Feldnamen.

Bernhard

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re: Fragen zur Formalsprache
« Antwort #9 am: 25.04.05 - 14:59:25 »
Das tut noch nicht mal noooot, Axel  ;) Auf die Formel für den Vorgabewert kommt es an, nicht auf den Feldnamen.

Da bin ich etwas anderer Meinung, Bernhard. Der Feldname kann lauten wie er will. Wenn die Option "Formeln übernehmen..." gesetzt ist, dann wird der Inhalt des Feldes übernommen dessen Name im Vorgabewert drin steht. Die Übernahme hängt nur von Vorgabewert ab.


Axel
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Fragen zur Formalsprache
« Antwort #10 am: 25.04.05 - 15:09:39 »
Ähm, genau das meinte ich doch, Axel. Du schriebst doch "ein Feld, das den gleichen Namen wie das entsprechende Feld in der Maske Buch".  ;D

Bernhard

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re: Fragen zur Formalsprache
« Antwort #11 am: 25.04.05 - 15:21:38 »
Hi,

yoo, du hast ja soo recht. Wer lesen kann ist klar im Vorteil, wer richtig lesen kann, hat mehr vom Leben.   :-[  ;D

Sorry.


Axel
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Fragen zur Formalsprache
« Antwort #12 am: 25.04.05 - 15:30:23 »
Aber gut, dass wir darüber gesprochen haben, Axel  :)

Einen schönen Tag wünscht
Bernhard

Offline ERVO

  • Frischling
  • *
  • Beiträge: 20
  • Geschlecht: Männlich
Re: Fragen zur Formalsprache
« Antwort #13 am: 25.04.05 - 16:40:47 »
Danke, das geht wirklich  ;D

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz