Das Notes Forum
Domino 9 und frühere Versionen => ND7: Entwicklung => Thema gestartet von: SD am 19.05.08 - 10:22:06
-
Hallo miteinander,
ich sitze gerade vor einem Problem, von dem ich eigentlich gedacht hatte, dass es recht trivial sein müsste, ist es aber entweder nicht, oder ich sehe die Lösung vor lauter Suchergebnissen nicht. :(
Also folgende Situation:
Es soll eine Aktion für eine Schnittstelle in die Maildatenbank eingebaut werden.
Da diese Aktion auf andere Datenbanken auf dem Domino-Server zurückgreift, funktioniert sie nur, wenn eine Verbindung zum Server besteht. Deshalb soll sie ausgeblendet werden, wenn keine Verbindung besteht.
Ob der Benutzer auf dem Server oder in seiner lokalen Replik arbeitet, ist dabei egal. Die Aktion funktioniert auch in der lokalen Replik, solange sie eben auf die andere DB auf dem Server kommt, und muss deshalb auch in der lokalen Replik angezeigt werden.
Mein Gedanke war nun:
In der Arbeitsumgebung gibt es das Feld "LocationType", das den Wert "3" enthält (keine Verbindung), wenn keine Verbindung zum Server aufgebaut wird. Das würde mir eigentlich reichen. Wenn wegen eines Fehlers keine Verbindung zum Server besteht, ist das eben Schicksal.
Mein Problem:
Leider kann ich dieses Feld in meiner Verbergen-Wenn-Formel nicht auslesen.
@LocationGetInfo([LocationType]) habe ich bereits probiert, aber leider scheint das einzige Feld aus der AU, das mit interessiert, das einzige zu sein, das ich so nicht auslesen kann. In der notes.ini habe ich auch keinen Parameter gefunden, der mit hier weiterhilft.
Es muss doch irgendwie möglich sein per Formel festzustellen, ob man eine Verbindung zum Domino-Server hat oder nicht?!
Gruß
Stefan
-
@ServerName ist eine Option.
Returns the name of the server containing the current database. When the database is local, returns the user name.
-
Hallo eknori,
danke für die Antwort erstmal, allerdings hilft mir das leider nicht weiter.
Die Aktion soll sowohl auf dem Server als auch lokal angezeigt werden. Nur wenn gar keine Verbindung zum Server möglich ist, soll sie ausgeblendet werden.
Der Grund ist, dass einige Benutzer in ihrer lokalen Replik arbeiten und dabei immer mal wieder replizieren (z.B. Benutzer bei Tochterfirmen mit schwachen Leitungen, oder Notebook-Nutzer, die von zuhause arbeiten).
Solange die nicht komplett ohne Verbindung arbeiten, müssen sie die Aktion benutzen können.
-
Ich denke mal, dass das so nicht geht.
Man müsste ja permanent F9 drücken, um zu sehen, ob eine Verbindung besteht.
Ich würde in der Aktion abfragen, ob Verbindung da ist oder nicht.
-
@DbExists ist eine weitere Option.
Solange eine Verbindung zum Server besteht wird die Funktion etwas vernünftiges als Rückgabe liefern. Wenn der Stecker gezogen ist, dann gibt es einen fehler ...
-
@Ulrich,
dann müsste aber die Schaltfläche in der Hide-When-Formel permanent (!!) nachsehen, ob Verbindung besteht. Das geht doch so gar nicht.
-
Mache einen besseren Vorschlag ...
-
Wie bereits geschrieben, kann man das m.E. nur direkt in der Aktion abfangen.
-
Hi,
ich würde wie Klaus beschrieben hat, die Serververbindung erst in der Aktion prüfen und ggf. eine entsprechende Meldung ausgeben, damit der User weiß,
warum die Schnittstelle nicht funktioniert.
-
Ansonsten könnte es ja lustig werden: mal ist Die Schaltfläche da, dann wieder nicht, ein paar Sec. später doch wieder......
-
Dann hat das Unternehmen aber ein wirkliches Problem mit dem Netzwerk ...
-
Ähm, ja, davon sollte eigentlich nicht ausgegangen werden müssen. ;)
Bei einem Netzwerk- oder Serverproblem darf die Aktion ruhig einen Fehler auswerfen. Das wäre mir eigentlich sogar lieber als wenn dann die Aktion weg wäre. Nur wenn der Rechner komplett offline ist, müsste der Knopf eigentlich nicht da sein.
Danke für die Anregungen aber auf jeden Fall mal.
-
Mit "komplett Offline" meinst Du Lokal?
Na, dafür hast Du ja schon genug Lösungsvarianten hier bekommen...
Matthias