Spalte HTML Attribut mitgeben?

  • Boah Elfriede! Willst Du Deinen Admin in den Wahnsinn treiben? Was Du da in eine Spaltenformel programmierst ist performancetechnisch der Supergau.


    Mach doch einen Agenten, der ein Feld, nennen wir es einfach mal "alt" mit dem gewünschten String befüllt, wenn das Dokument älter als 10 Tage ist. Der Agent rennt einmal in der Nacht und in der View musst Du nur mehr das Feld anzeigen.


    Dein Admin und der Server werden es Dir danken.


    Zeitfunktionen in Views sind ein großes "NEIN NEIN".

  • gehen sollte das. aber wie immer das problem: um so mehr dokumente umso langsamer die ansicht.

    bunt ist das dasein und granatenstark. volle kanne hoshi's!


    IBM Certified Advanced System Administrator (R5, D6, D7)
    IBM Certified Advanced Application Developer (R5, D6, D7, D8)

  • Elfriede: Ich kann Deine Formel nichtmal abspeichern :-? . Das muesstest Du aber testen koennen.


    @If(@Now<@Adjust(@Created; 0; 0; 10; 0; 0; 0); "";"[<strong><font color=\'#FF0099\'>"+ "NEU" + "</font></strong>]")


    So sollte es gehen...abgesehen von Performanceverlusten. Aber das wirst Du schon sehen, ob´s zu langsam ist.

  • :) Danke für den Tipp, ich habs auch schon mitbekommen und die Formel umgestaltet.
    Der Tag wird bearbeitet, allerdings steht jetzt bei allen Dokumenten die älter als 10 Tage sind das "Neu" und bei den neueren Dokumenten nichts, ist quasi alles umgekehrt.

    • Offizieller Beitrag

    die angesprochenen Performanceprobleme können mit einem @TextToTime("Heute") anstelle von einem @Now umgangen werden.


    @If(@TextToTime("Heute")<@Adjust(@Created; 0; 0; 10; 0; 0; 0); "";"[<strong><font color=\'#FF0099\'>"+ "NEU" + "</font></strong>]")


    Gruß
    Dirk

    Rein logisches Denken verschafft uns keine Erkenntnis über die wirkliche Welt.
    Alle Erkenntnis der Wirklichkeit beginnt mit der Erfahrung und endet mit ihr.
    Alle Aussagen, zu denen man auf rein logischen Wegen kommt, sind, was die Realität angeht, vollkommen leer.
    Albert Einstein

    • Offizieller Beitrag

    bofh
    die Performance ist wesentlich besser.


    Bau mal eine Ansicht mit @TextToTime("Heute") und eine mit @Now oder @Today in der Formel, Lege 20.000 Dokumente an mit einem Datumsfeld, baue die Ansichtsindexe auf und dann schalte mal zwischend en Ansichten hin und her.


    Die Ansicht mit @TextToTime("Heute") ist sofort da, wärend bei der Ansicht mit @Now/@Today der Index neu aufgebaut wird.


    OK 2 Nachteile gibt es bei der Methode mit @TextToTime("Heute").
    1. Es ist nicht sprachneutral, eine Anwendung kann nicht einfach auf einem engl, franz. usw Client verwendet werden. Dies kann aber mit etwas Code umgangen werden.


    HeuteDeu := @TextToTime( "Heute" );
    HeuteEng := @TextToTime( "Today" );
    HeuteFra := @TextToTime( "Aujourd\'hui" );
    ...
    Heute :=
    @If(
    HeuteDeu > [01.01.1900]; HeuteDeu;
    HeuteEng > [01.01.1900]; HeuteEng;
    HeuteFra);


    2. Web-Clients bekommen den alten Index, wenn an diesem Tag noch kein Notes-Client oder Domino die Ansichtsindexe aufgebaut hat. Dies kann mit einem ServerTask um 1:00 Uhr z.B. umgangen werden.


    Habes so mit mehr als 80.000 Dokumenten im Einsatz und die Ansicht ist nicht langsamer/schneller als eine Ansicht ohne Datumsberechnungen.


    Gruß
    Dirk

    • Offizieller Beitrag

    habe ich auch, bis ich in der Hilfe über @TextToTime("Heute") gestolpert bin. Diese @Funktion macht eigentlich keinen Sinn, da es @Today gibt, also habe ich ein bissel gespielt. Die 2 Nachteile haben mir allerdings eine Weile Kopfzerbrechen gemacht.


    Gruß
    Dirk

    Rein logisches Denken verschafft uns keine Erkenntnis über die wirkliche Welt.
    Alle Erkenntnis der Wirklichkeit beginnt mit der Erfahrung und endet mit ihr.
    Alle Aussagen, zu denen man auf rein logischen Wegen kommt, sind, was die Realität angeht, vollkommen leer.
    Albert Einstein