Autor Thema: [gelöst] Reader-Field Fettnapf bei nachträglich geänderter Form-Validation  (Gelesen 6500 mal)

Offline Dr.Domino

  • Senior Mitglied
  • ****
  • Beiträge: 287
  • Geschlecht: Männlich
  • LN since 1996 ...
Hallo,

wollte nur kurz mein Leid klagen - wahrscheinlich kennt Ihr das "Verhalten" eh alle schon.

Gegeben sei:
- eine Maske mit einem Reader-Feld (und einigen anderen mit Validierungsformel)
- nach einiger Zeit der Nutzung fällt dem Publikum ein, daß man noch ein weiteres Feld hinzufügen und validieren könnte

-> nach Maskenänderung ziehen die Reader-Felder in den "Altdokumenten" nicht mehr, ein "Refresh" liefert einen Vaidierungsfehler (klar, Feld gabs beim Anlegen der "Altdokumente" noch nicht).

-> "Workaround" manuelle Änderung der Felder in der Altdokumenten (oder auch per Agent, je nach Anzahl und Gusto)

Was mich halt etwas gewundert hat, ist, daß die Reader-Felder dadurch komplett ausgehebelt sind ...

Happy Coding!
« Letzte Änderung: 30.04.13 - 16:27:38 von Dr.Domino »
VG,
Markus

IBM Domino 9.0.1, Lotus Domino 8.5.3 (QuickR), CentOS 6, Win64)

Offline Peter Klett

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.713
  • Geschlecht: Männlich
Sorry, das verstehe ich nicht.

Du hast ein (Alt-)Dokument, in dem ein Reader-Item enthalten ist. Du änderst die Maske und - ohne das Altdokument anzufassen - funktioniert die Lesersteuerung bei diesem nicht mehr?

Das habe ich noch nie erlebt. Was hast Du mit den Altdokumenten getan, damit die nicht mehr funktionieren?

Offline Dr.Domino

  • Senior Mitglied
  • ****
  • Beiträge: 287
  • Geschlecht: Männlich
  • LN since 1996 ...
Dsa ist ja das, was mich auch gewundert hat ... mit den Altdokumenten habe ich "manuell" nichts gemacht, allerdings läuft regelmäßig eine Agent, der das Reader-Field auf Grund eines Konfig-Dokuments updated.
(das habe ich natürlich im Anfangspost zu Erwähnen vergessen ...)

Kann es mir nour so erklären, daß dadurch beim Speichern des Dokuments auch die neue Validierung mit geseichert wird.
VG,
Markus

IBM Domino 9.0.1, Lotus Domino 8.5.3 (QuickR), CentOS 6, Win64)

Offline Peter Klett

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.713
  • Geschlecht: Männlich
Ich tippe eher, das der Update-Agent das Reader-Field zu einem normalen Textitem umwandelt. Hast Du bei den "defekten" Dokumenten mal in die Felderliste geschaut? Sind die Items wirklich noch Leserfelder?

Da der Agent sicherlich im Backend läuft, spielt die Gestaltung der Maske eigentlich keine Rolle, außer es wird ein ComputeWithForm ausgeführt. Und das könnte durch die nicht korrekte Validierungsformel ins Trudeln geraten.

Abgesehen davon, dass ich niemals die eingebaute Validierungssystematik in den Feldern der Maske verwenden würde, sondern lieber per Script das komplette Dokument mit ggf. einer Fehlermeldung mit allen fehlenden Information validiere, könntest Du mit @IsAvailable (Feldname) in der Validierung das Vorhandensein des Items abfragen. Ist es da und leer, ist es ein Fehler, ist es nicht da, ist es ein altes Dokument.

Offline Dr.Domino

  • Senior Mitglied
  • ****
  • Beiträge: 287
  • Geschlecht: Männlich
  • LN since 1996 ...
Hallo Peter,

die Felder sind ok ... hatte ich als erstes dran gedacht - alles ordentliche "READ-ACCESS NAMES" mit ordentlicher Listen-Befüllung.
Agent läuft natürlich im BE und ein @IsValid steht nicht drin ... ich glaube, ich muß die ganze Sache nochmal gründlich auseinanderdividieren ...

Danke für die Anregung mit @IsAvailable.

Markus
VG,
Markus

IBM Domino 9.0.1, Lotus Domino 8.5.3 (QuickR), CentOS 6, Win64)

Offline Peter Klett

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.713
  • Geschlecht: Männlich
Kann es sein, dass der Update-Agent noch weitere Leser- oder Autorenfelder produziert, so dass der Anschein erweckt wird, die alten Leserfelder würden nicht mehr funktionieren? Mitglieder von Autorenfeldern können auch lesen ...

Offline Dr.Domino

  • Senior Mitglied
  • ****
  • Beiträge: 287
  • Geschlecht: Männlich
  • LN since 1996 ...
Nein, der packt nur das "einzig existierende" Reader-Feld an (und Updates in den Konfig-Dokumenten werden auch richtig drin "geupdated").
VG,
Markus

IBM Domino 9.0.1, Lotus Domino 8.5.3 (QuickR), CentOS 6, Win64)

Offline dnotes

  • Aktives Mitglied
  • ***
  • Beiträge: 106
  • Geschlecht: Männlich
Was heisst denn...die Reader - Felder ziehen nicht mehr??
Kann ein darin enthaltener Benutzer das Dokument nicht mehr lesen??

Offline Dr.Domino

  • Senior Mitglied
  • ****
  • Beiträge: 287
  • Geschlecht: Männlich
  • LN since 1996 ...
Umgekehrt und schlimmer - jeder kann alles sehen  :o

Daher hatte ich erst auch dieselbe Idee wie Peter -> Reader-Field zerschossen/zu Textfeld geworden etc.
VG,
Markus

IBM Domino 9.0.1, Lotus Domino 8.5.3 (QuickR), CentOS 6, Win64)

Offline umi

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.062
  • Geschlecht: Männlich
  • one notes to rule'em all, one notes to find'em....
    • Belsoft AG
Habt Ihr irgendow ein Leser Feld mit dem Wert "*" oder leer?
Gruss

Urs

<:~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Jegliche Schreibfehler sind unpeabischigt
http://www.belsoft.ch
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:>

klaussal

  • Gast
Das hier http://www.maysoft.com/web3.nsf/page/products-document_viewer-overview
könnte bei der Fehlersuche hilfreich sein.

Offline Peter Klett

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.713
  • Geschlecht: Männlich
Habt Ihr irgendow ein Leser Feld mit dem Wert "*" oder leer?

Ein leeres Leserfeld in Kombination mit einem gefüllten dürfte m.E. nicht dafür sorgen, dass alle User lesen dürfen. Eines mit Stern schon ...

Offline Dr.Domino

  • Senior Mitglied
  • ****
  • Beiträge: 287
  • Geschlecht: Männlich
  • LN since 1996 ...
Danke für den DocViewer Link.

Jetzt wird's witzig :-).

Schaue ich mir in einem Dokument das Feld "Readers" im Client an (, so sieht es gut aus und wie es sein soll, wird dem Admin das "Hidden" Field Readers in der Maske ohne das CN-Geraffel gezeigt)...
... im DocViewer steht da allerdings Text statt READERS ... Ihr seht mich verwirrt :-).

Vielleicht sollte ich mal in Erwägung ziehen, über alle Dokumente ein RemoveItem laufen zu lassen und das Readers.Field neu anzulegen ... oder?
« Letzte Änderung: 30.04.13 - 14:55:21 von Dr.Domino »
VG,
Markus

IBM Domino 9.0.1, Lotus Domino 8.5.3 (QuickR), CentOS 6, Win64)

Offline Peter Klett

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.713
  • Geschlecht: Männlich
Ist das Dokument geöffnet, wenn Du in die Felderliste schaust? Falls ja, wiederhole das mal mit dem geschlossenen Dokument.

Offline Dr.Domino

  • Senior Mitglied
  • ****
  • Beiträge: 287
  • Geschlecht: Männlich
  • LN since 1996 ...
Argh! In der Tat ... im geschlossenen Feld ist's auch nur TEXT  >:( ???

Keine Ahnung, was da schiefgelaufen ist ...
VG,
Markus

IBM Domino 9.0.1, Lotus Domino 8.5.3 (QuickR), CentOS 6, Win64)

Offline Peter Klett

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.713
  • Geschlecht: Männlich
Hier ein Test: Vorhandenes Dokument, nachträglich in die Maske ein Leserfeld aufgenommen. Im geschlossenen Dokument das Leserfeld mit einem beliebigen Text gefüllt. Eigenschaft Text, dann das Dokument im Bearbeitenmodus geöffnet, Eigenschaft Reader. Völlig logisch ...

Offline Peter Klett

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.713
  • Geschlecht: Männlich
Argh! In der Tat ... im geschlossenen Feld ist's auch nur TEXT  >:( ???

Keine Ahnung, was da schiefgelaufen ist ...
Es ist Dein Update-Agent, der nicht richtig tickt, Notes funktioniert richtig.

Was haben wir heute gelernt: Wenn man wissen will, was wirklich in einem Dokument enthalten ist, schauen wir uns NIEMALS die Felderliste im geöffneten Dokument an, immer nur in der Ansicht ;)

Offline Dr.Domino

  • Senior Mitglied
  • ****
  • Beiträge: 287
  • Geschlecht: Männlich
  • LN since 1996 ...
Und dafür ein brontales "Danke" an alle!  :knuddel:
VG,
Markus

IBM Domino 9.0.1, Lotus Domino 8.5.3 (QuickR), CentOS 6, Win64)

Offline Dr.Domino

  • Senior Mitglied
  • ****
  • Beiträge: 287
  • Geschlecht: Männlich
  • LN since 1996 ...
So, nach einmal .RemoveItem und Neu-Erstellung der Reader-Felder und Neubetankung mittels des Agenten sieht's wieder gut aus.

(Obwohl ich es immer noch nicht kapiere ... der Agent macht nur @SetField, und das ändert ja ausdrücklich keine Flags etc ...)

VG,
Markus

IBM Domino 9.0.1, Lotus Domino 8.5.3 (QuickR), CentOS 6, Win64)

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Du schreibst vorher von Backend, jetzt lese ich @SetField. Warum verwendest Du nicht "FIELD := "? Mit @SetField würde ich auch genau so ein Zerschiessen erwarten. Ausprobiert habe ich den Stunt aer noch nie (oder vor 20 Jahren).

Bernhard

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz