Beiträge von theonlyhage

    Hallo,


    ich möchte über Dokumente einer DB iterieren, die ein bestimmtes Item gesetzt (="true") haben.


    Momentan mache ich das so, dass ich mir von der DB via:


    DocumentCollection mails = db.getAllDocuments();


    und dann über die Collection iteriere und jedes Dokument einzeln
    darauf überprüfe, ob das Flag gesetzt ist.
    Bei einer großen Menge an Dokumenten (von denen nur ein kleiner
    Teil für meine Operationen relevant sind) zieht sich diese
    "selektion" leider sehr in die Länge. Gibt es hier evtl. einen Ansatz
    der mich das Problem etwas performanter lösen lässt?
    (kann ich evtl. aus Java heraus die Formelsprache (SELECT) (für meine Zwecke) benutzen?)

    Hallo,


    ich exportiere mit dem DXLexporter jede Menge Dokumente. Ab und an stosse ich auf ein Dokument, in dessen dxl-Code folgender Kommentar auftaucht:


    Code
    <!-- This element contained CD records that are not supported by this version
    of the exporter.  In order to import this element without data loss, use the
    exporter option which writes rich text items as uninterpreted data. -->


    Kann ich Anhand des Dokuments VOR dem Export entscheiden, ob ich die hier erwähnte Option brauche, oder nicht?
    (generell (für alle Dokumente) einschalten, will ich diese Funktion nicht, da ich den dxl-Code noch anderweitig (ausserhalb von Notes) weiterverarbeite)

    Das kann ich so auf die schnelle nicht beantworten, da der Fehler nur im Produktivsystem auftritt, und die nächste Iteration noch auf sich warten lässt. Sollte dies der Fall sein, melde ich mich wieder.

    Das mit dem stackorientiert ist mir durchaus bewusst, ich kann nur
    nirgends an der Fehlermeldung erkennen, was deren Ursache ist,
    abgesehen davon, dass es irgendwas mit Folderreferences zu tun
    hat.
    Ganz abgesehen davon, ist ja nicht bewiesen, dass es an den
    fehlenden Views liegt/lag. Die sind in meinen DBs wie gesagt
    vorhanden. Was ich jetzt mache ist ja lediglich ein Workaround.

    Also ich lese daraus nur, dass es einen Fehler bei (irgendeiner) Suche gab,
    und das irgendwo irgendwas nicht gelesen werden konnte.
    Ganz zu schweigen von den Aussagen zu den Corba-sachen.
    Super wenn es Leute gibt die daraus schlau werden, aber für
    den "Gelegenheits"-Notesentwickler sicher nicht das wahre imho.


    Das einzige was ich aus der Meldung lesen kann, ist das was mit den
    Folderreferences nicht stimmt. Finde ich etwas spärlich, aber ist
    sicher Geschmackssache. Vielleicht bin ich auch nur zu verwöhnt.


    btw: ich hab das jetzt so verstanden, dass ohne die Views die DB-Eigenschaft gar nicht erst gesetzt werden kann. Also:
    Views vorhanden, Eigenschaft nicht gesetzt ---> geht
    Eigenschaft gesetzt, Views nicht vorhanden ---> geht nicht
    Richtig?

    Nungut, ohne die Views keine Folderreferences. Ich frage jetzt
    einfach jedes mal wenn ich die Referenzen hole, vorher ab, ob Sie
    vorhanden sind. Hätte ich auch wohl schon eher mal machen sollen
    (mea culpa!). Trotzdem erklärt es nicht, warum die Message der
    Exception so unglaublich sprechend ist. Aber lohnt den Gedanken
    wohl kaum.


    Trotzdem danke!

    da ich immer über die selben Benutzer iteriere (schon seit mehreren Wochen), und jedesmal folgende Prüfung durchführe:


    Code
    Database maildb = dir.openDatabase(user);
    boolean folderReferencesEnabled = maildb.getFolderReferencesEnabled();
    if(!folderReferencesEnabled){
       maildb.setFolderReferencesEnabled(true);
    }


    gehe ich mal davon aus, dass in jeder DB die ich "benutze" die References enabled sind!


    Was hat es denn mit den von Dir genannten Ansichten auf sich? (also, was Views sind ist mir schon klar,
    aber wie stehen die im Zusammenhang zu den FolderReferences?)

    Hallo,


    folgende Zeile Java-Code:


    Code
    Vector<String> folderReferences = dokument.getFolderReferences();


    wirft mir folgende Exception:


    Code
    NotesException: Search
            at lotus.domino.NotesExceptionHelper.read(Unknown Source)
            at lotus.domino.NotesExceptionHolder._read(Unknown Source)
            at lotus.priv.CORBA.iiop.RepImpl.invoke(Unknown Source)
            at lotus.priv.CORBA.portable.ObjectImpl._invoke(Unknown Source)
            at lotus.domino.corba._IDocumentStub.getFolderReferences(Unknown Source)
            at lotus.domino.cso.Document.getFolderReferences(Unknown Source)


    kann mir jemand sagen, wass es damit auf sich hat? Suche danach bei den bekannten Suchmaschinen war nicht sehr ergiebig.

    ich bin immer noch nicht weiter, vielleicht nochmal die Problemstellung:


    Wenn ich im Browser via NotesWebmailer eine Mail anzeige mit mir
    den Quelltext anzeigen lasse, bekomme ich den HTML-Quelltext der
    Mail.



    Wenn ich via HTTP-Client aus einem Javatool heraus auf eben genau
    diese Seite zugreife (inklusive Authentifizierung via Cookie), bekomme ich zwar ebenfalls Quelltext zurück,
    aber nur solchen, der auf ein Element auf dem Server verweist, das
    nicht existiert. Keine Ahnung warum/wie er sich diese Url zusammenbastelt auf die da verwiesen wird.
    Das ganze auch nur auf dem (8er) Produktivsystem.
    Auf meinem (8er) Testsystem funktioniert alles reibungslos. Ich hab
    absolut keine Ahnung was hier schief läuft.

    Ein Browser gibt mir die Seite, die auch erscheint, wenn ich im
    Webmailer auf die entsprechende Mail klicke (eben genau die
    Ansicht des Dokuments die ich eigentlich auch im Client habe, nur
    halt in HTML). Genau die will ich, bekomme ich aber eben nicht.

    Also, ich habe ein Notessystem auf dem sich mehrere Dokumente(Emails) befinden.
    Diese werden nun (via DxlExport) aus dem System herausgenommen,
    und extern abgelegt. Der spätere Zugriff auf die Mails erfolgt über eine Weboberfläche. Da die Funktion des dxlExporters, NotesBitmaps
    in Gifs zu wandeln nicht funktioniert, bin ich nun hergegangen und
    hole mir vor der Extraktion des Dokuments aus dem Notesserver,
    das Dokument ebenfalls vom HTTP-Task. Diese (HTML-)Dokument speichere ich dann (samt aller Bilder, die ich mir, über die Links aus dem Dokument, ebenfalls vom HTTP-Task hole und speichere)
    "neben" der dxl-Datei und hab somit die "Original"-Ansicht auf das
    Dokument bewahrt. In der Weboberfläche gibt es nun einen Link zu
    dem HTML-File auf der (lokalen) Platte, so dass ich aus der
    Weboberfläche heraus das Dokument in der Originalansicht
    betrachten kann.


    Allerdings gibt mir der HTTP-Task auf dem Produktivsystem nicht
    das Dokument zurück das ich (via lotus.domino.Document.getHttpUrl() )angefordert hatte, wenn der
    Inhalt text/html ist. Bei text/text funktionert es komischerweise. Auf
    meinem Testsystem funktionert es für beide MIME-Typen.
    Hoffe es ist jetzt etwas verständlicher, was ich will.

    Das Problem ist, dass der mir gelieferte Content nicht der ist,
    den ich "bestellt" habe. Auf meinem Testsystem bekomme ich
    direkt die Darstellung des Dokuments und nicht ein Dokument
    mit einem Link (zum Notesserver) zu dem Dokumentcontent,
    der aus der Umgebung heraus in der ich mich dann befinde,
    gar nicht mehr erreichbar ist. Muss ich jetzt hier wieder die
    URL rausbasteln, und dann die anfragen?


    (hab die URL mal (inklusive vorrangestelltem Server) versucht
    mit nem Browser zu öffnen, mit einem 404 als Ergebnis)

    Naja, ich will nach wie vor eine Darstellung eines Dokuments vom
    HTTP-Task haben. Funktioniert auf meinem Testsystem tadellos.
    Auf dem Produtiksystem wird, sobald es sich bei dem Content
    nicht um Plaintext (text/text) sondern um HTML (text/html)
    handelt, folgende Seite zurückgegeben:

    jetzt läuft das ganze auf meinem 8ter Testsystem, ich portiere alles aufs Produktivsystem (auch ein 8ter), und.. siehe da...welch überraschung, das Ergebnis ist ein anderes. Anstatt der HTML-Darstellung des Dokuments bekomme ich ein Dokument mit folgendem Element:



    Muss ich am Server noch irgendwas explizit erlauben, damit die ganze Geschichte funktioniert?