Fragen zum PHP Zugriff auf eine Notes-Mail.box-NSF auf einem Domino Server

  • Moin,


    Ich suche gerade nach dem besten Weg um in einem Kalender im Browser den Notes-Calender eines Users mit anzuzeigen.


    Ich habe diese Dokumentation bei IBM gefunden:
    http://www.ibm.com/developerworks/lotus/library/domino-php/


    Das klingt ja ganz verlockend. Man erzeugt ein COM-Objekt und nutzt dieses um Notes Datenbanken auszulesen. Allerdings müsste ich etwas in der Art für Domino 8.5.3 hin bekommen, ohne auf den Servern irgendetwas zu installieren. Ich denke das klappt aber genauso, oder? Das Com-Objekt da kommt ja von einem Notes-Client und ist auch schon in älteren Notes-Versionen verfügbar.


    Jetzt aber die interessantere Frage: wie greift man denn "üblicherweise" über das Intranet auf eine solche NSF-Datei zu? Auf meinem Domino-Testserver hat man über den Browser zumindest keinen Zugriff auf die einzelnen NSF-Postfächer der Benutzer. Oder hab ich da was übersehen? Wie würde die URL zu so einer Datenbank denn normalerweise aussehen? http://localhost/hugo.nsf ist es nicht. Auch nicht mit ordnern wie Mail oder Data dazwischen. Muss man das vielleicht aktivieren? Oder wär das über eine Netzwerkfreigabe der richtige weg?


    Und vor allem: wie komme ich denn von einem Usernamen auf die zugehörige Nodes-Datenbank? Woher weiss ich, dass der User Hugo, die Datenbank Hugo.nsf hat? Hab da nix gefunden, in der Doku. Scheint so als müsste man wissen, welche Datenbank man öffnen möchte. :o


    Danke im Voraus!


    Beste Grüße,


    Floak

  • Willst Du nicht ENDLICH mal mit jemandem reden, der von Domino ne Ahnung hat? Mailfiles /Kalender im Browser ist eine STANDARD- Funktionalität, dazu muss schlicht der HTTP- Task auf dem Server laufen. Das ganze nennt sich "iNotes" und existiert schon ewig. Um den Kalender eines Benutzers "anzuzapfen" gibt es verschiedenste Möglichkeiten, bis hin zum WebService... Aber die entsprechenden Zugänge müssen halt von der Domino- Seite angeboten werden.
    Wenn Du mit "com"- Objekten zugreifen willst, dann brauchst Du einen installierten Notes- Client oder Domino- Server dort, wo Dein PHP läuft... Das ist dann quasi "von hinten durch die Brust ins Auge", weil Du die Authentication faken / nachbauen musst, und Deinem "PHP- System- Benutzer" Berechtigung auf alle Mailfiles geben musst...


    Es gibt da einen schönen Spruch, den Abraham Maslow 1966 getätigt hat, und der noch heute und ganz speziell auf diese Anfrage gilt:

    Zitat

    I suppose it is tempting, if the only tool you have is a hammer, to treat everything as if it were a nail.


    Leg Dir ein anderes Werkzeug zu, oder finde jemanden, der andere Werkzeuge kennt... Ansonsten wirst Du scheitern.


    Und wegen der "wie weiss der Benutzer, welche DB er öffnen muss": Auch da gibt es eine Standard- Lösung von IBM, die nennt sich "IBM iNotes Redirect" (iwaredir.ntf), die nach der Anmeldung am System den Benutzer automatisch auf SEINE Mailfile umleitet.


    Ach ja: Eine "Node"- Datenbank gibt es hier nicht, das nennt sich "Notes"- Datenbank (Notes Storage Facility = NSF)

  • Willst Du nicht ENDLICH mal mit jemandem reden, der von Domino ne Ahnung hat? Mailfiles /Kalender im Browser ist eine STANDARD- Funktionalität, dazu muss schlicht der HTTP- Task auf dem Server laufen. Das ganze nennt sich "iNotes" und existiert schon ewig.


    Glaub mir, nichts würde ich lieber tun, als mit einem Kenner drüber zu reden. Hab gehofft hier gibt's ein paar. In meiner Reichweite ist leider keiner. :(


    Schon klar, dass es iNotes gibt. Hier geht's aber darum mehrere Kalender zu mergen und in einer gemeinsamen Ansicht in PHP anzuzeigen. Eine der Quellen für diesen "Superkalender" wird Notes werden. Da der Superkalender in PHP geschrieben wird, ist es doch verständlich, dass ich darüber auch auf Notes zugreifen möchte, oder? :D


    Zitat


    Um den Kalender eines Benutzers "anzuzapfen" gibt es verschiedenste Möglichkeiten, bis hin zum WebService... Aber die entsprechenden Zugänge müssen halt von der Domino- Seite angeboten werden.
    Wenn Du mit "com"- Objekten zugreifen willst, dann brauchst Du einen installierten Notes- Client oder Domino- Server dort, wo Dein PHP läuft... Das ist dann quasi "von hinten durch die Brust ins Auge", weil Du die Authentication faken / nachbauen musst, und Deinem "PHP- System- Benutzer" Berechtigung auf alle Mailfiles geben musst...


    Es gibt da einen schönen Spruch, den Abraham Maslow 1966 getätigt hat, und der noch heute und ganz speziell auf diese Anfrage gilt:


    Leg Dir ein anderes Werkzeug zu, oder finde jemanden, der andere Werkzeuge kennt... Ansonsten wirst Du scheitern.


    Man hat halt nicht immer die Wahl. Wenn der Cheffe eine Notes Anbindung ohne echte Ahnung zu haben verkauft inklusive einer ziemlich obskuren Aufwandschätzung und dann die Entwicklung an mich weiter gibt - jemanden der bis dato höchstens von der Existenz von Notes gewusst hat - dann mach ich das eben. Inklusive Einarbeitung. Dementsprechend ist auch niemand mit Ahnung da. Und fertig in ein paar Wochen sollte es natürlich dennoch sein. :D


    Ich bin auch ganz guter Dinge, denn bei der anderen Sache hab ich die meisten Dinge schon hin bekommen. Diese Superkalender-Anforderung ist nun neu dazu gekommen.


    Wie gesagt, ich hab da 2 Bedingungen:
    1. Nix auf dem Server installieren. Also keine Webservices oder sonst was. Das müsste mit viel Aufwand getestet und für sicher befunden werden. Wollen die nicht.
    2. Ich muss es aus PHP ansprechen können. Ein Rest-Webservice oder ähnliches wäre perfekt. Scheint aber nur in Domino 9.x zu existieren.


    Gibt es in Notes 8.5.3 denn noch eine andere "eingebaute" Möglichkeit dafür?


    Zitat

    Wenn Du das über ein COM Objekt machst, läuft es normalerweise unter
    einer Notes.id, welche Zugriff auf die Benutzer Mailboxen hat.Dies ist
    unter Umständen suboptimal. Ausserdem müsste der NotesClient auf dem PHP
    Server installiert sein. ( und Windows only).


    Alternative wäre evtl. dies hier interressant www-10.lotus.com/ldd/ddwiki.ns…content=catcontent&ct=api


    Das wäre wirklich genial. Aber das ist leider nur für Domino 9. Alles anderes was ich zu dem Thema gefunden habe, war leider "Schreib einen Webservice".

  • Erstens: wenn klar ist, dass es Domino 9 braucht, um die Anforderung umzusetzen, ist jedwede weitere Diskussion adrüber sinnfrei. Es hat dann eben Domino 9 zu sein.
    Zweitens: wenn -aus welchen unerfindlichen Gründen auch immer- Domino 9 nicht in Frage kommt, muss der Auftrag halt wieder zurückgegeben werden. Soviel Ar*** in der Hose muss man dann halt haben und das gilt -mit allem nötigen Respekt- für dich genau so wie für deinen Chef. Auch hier ist jedwede weitere Diskussion sinnfrei.
    Drittens: mit PHP kann man Notes-DBs anpieken, allerdings ist das sicher aus gutem Grunde a) als nicht production ready gekennzeichnet und b) verwaist (sieht zumindest so aus).


    Also: ganz laut "ich will aber" brüllen und mit dem Füßchen aufstampfen, bringt mal so rein gar nichts. Es sind hier durchaus die von dir gesuchten Experten zugegen und wenn die dir sagen, dass das nicht so funktionieren wird wie du dir das denkst, dann wirst du es wohl oder übel als gegebene Tatsache hinnehmen müssen. Dass dir das nicht schmeckt, glaube ich dir gern. Aber daran ändern können wir nichts. Das könnt nur ihr, indem ihr Aufträge eben nur annehmt, wenn die Realisierung absehbar ist, bzw. die entsprechenden Voraussetzungen dazu schafft. Tut mir leid, das so hart sagen zu müssen.

    Life is not a journey to the grave with the intention of arriving safely in a pretty and well-preserved body, but rather to skid in broadside, thoroughly used up, totally worn out, and loudly proclaiming "Wow, what a ride!!! :evil:
    Beschleunigung ist, wenn die Tränen der Ergriffenheit waagrecht zum Ohr hin abfliessen - Walter Röhrl

  • Erstens: wenn klar ist, dass es Domino 9 braucht, um die Anforderung umzusetzen, ist jedwede weitere Diskussion adrüber sinnfrei. Es hat dann eben Domino 9 zu sein.


    Aber genau darum gehts mir ja. Ich will die Frage: "kann ich auf Domino 8.5.3 ohne einen zusätzlichen Webservice zugreifen? Gibt es da irgendwas eingebautes?" beantworten. Erzwingen will ich garnichts. Sorry, wenn ich diesen Eindruck erweckt habe.


    Zitat


    Zweitens: wenn -aus welchen unerfindlichen Gründen auch immer- Domino 9 nicht in Frage kommt, muss der Auftrag halt wieder zurückgegeben werden. Soviel Ar*** in der Hose muss man dann halt haben und das gilt -mit allem nötigen Respekt- für dich genau so wie für deinen Chef. Auch hier ist jedwede weitere Diskussion sinnfrei.
    Drittens: mit PHP kann man Notes-DBs anpieken, allerdings ist das sicher aus gutem Grunde a) als nicht production ready gekennzeichnet und b) verwaist (sieht zumindest so aus).


    Also: ganz laut "ich will aber" brüllen und mit dem Füßchen aufstampfen, bringt mal so rein gar nichts. Es sind hier durchaus die von dir gesuchten Experten zugegen und wenn die dir sagen, dass das nicht so funktionieren wird wie du dir das denkst, dann wirst du es wohl oder übel als gegebene Tatsache hinnehmen müssen. Dass dir das nicht schmeckt, glaube ich dir gern. Aber daran ändern können wir nichts. Das könnt nur ihr, indem ihr Aufträge eben nur annehmt, wenn die Realisierung absehbar ist, bzw. die entsprechenden Voraussetzungen dazu schafft. Tut mir leid, das so hart sagen zu müssen.


    Wie gesagt: das war kein "ich will aber", sondern ein "Gibt es einen Weg, dass irgendwie über PHP zu machen?", weil das in den ersten beiden Antworten klang wie: "so ist es keine gute Idee, mach es anders." Gestampft hat auch niemand. Ich wollte nur meine Situation klar machen. Ich muss das im vorgegebenen Rahmen machen und kann dabei nicht wirklich mit Hilfe rechnen. Das war nix als eine Antwort auf "Such dir ENDLICH jemanden der Ahnung hat".


    Danke für deinen Link. Ich werd mich da mal durchbeißen.