Das Notes Forum

Domino 9 und frühere Versionen => Administration & Userprobleme => Thema gestartet von: g202e am 16.02.04 - 18:13:55

Titel: Benutzer aus Gruppen im öffentl. Adressbuch auslesen -> excel
Beitrag von: g202e am 16.02.04 - 18:13:55
Hallo,
die Aufgabe: Eine ziemlich große Abteilung unserer noch viel größeren Firma, möchte gern ihre ziemlich ungepflegten Einträge im öffentl. Adressbuch auf Vordermann bringen.
Man hat sich dazu folgendes gedacht: Da die einzige verlässliche Datei mit aktuellen Personendaten eine Excel-Datei der entsprechenden Personalstelle ist, möchte man gern eine Exceldatei mit allen im Adressbuch enthaltenen Personen dieser Abteilung haben. Man rechnet mit ca. 1200-1500 Einträgen. Diese Exceldatei soll dann mit der Datei der Personalstelle verglichen werden und die Differenz ist dann Grundlage für die Pflege des Firmen-Adressbuchs.
Ich soll nun die Excel-Datei zusammenbasteln.
Nun ist unser Firmenadressbuch so aufgebaut, dass es jede Menge Gruppen gibt; es existiert also jetzt eine Gruppe "Abtxx.ALL" welche sich dann in mehrere Untergruppen aufsplittet, welche eventuell weitere Untergruppen hat.....
Diese Untergruppen können nach mehreren Kriterien gebildet worden sein (regionale/funktionale Gliederung, z. B. Abtxx.HH->Hamburg oder auch Abtxx.Eink->Einkauf....).
Wie kriege ich nun alle Mitglieder der Abtxx.ALL namentlich gegriffen?
Hat vielleicht jemand einen Ansatz oder soetwas gar schon gemacht?
Titel: Re:Benutzer aus Gruppen im öffentl. Adressbuch auslesen -> excel
Beitrag von: Semeaphoros am 16.02.04 - 18:35:54
So ähnliche Sachen hab ich auch schon gemacht zwecks Abgleich von verschiedenen Adress-Beständen. Ist eine ziemliche Fleissarbeit und je nachdem, wie das dann wieder zurückgespiegelt werden soll, kann es etwas aufwändiger oder leichter gehen.
Titel: Re:Benutzer aus Gruppen im öffentl. Adressbuch auslesen -> excel
Beitrag von: g202e am 16.02.04 - 18:52:17
Ich gehe eigentlich bisher davon aus, dass ich da nichts zurückspiegeln soll(darf ich ja gar nicht!). Eigentlich soll auf Grundlage des Excel-Abgleichs dann eine händische Pflege des Adressbuchs stattfinden. Ich tippe mal, dass es da irgendeine Sachbearbeiterin treffen wird, die dann die Aufgabe erhält, 250 Leute aus den Gruppen zu entfernen und vielleicht 100 andere neu hinzuzufügen.
Ich habe jedoch im Moment gar keinen Plan, wie ich das Problem der verschachtelten Gruppen löse und von diesen dann zu den einzelnen Benutzern komme?  ???
Titel: Re:Benutzer aus Gruppen im öffentl. Adressbuch auslesen -> excel
Beitrag von: koehlerbv am 16.02.04 - 19:34:16
Rekursive Programmierung ... Nicht ganz trivial, aber wenn man es einmal geschnallt hat, dann ist es wahrhaftig kein Zauberwerk:
- Gruppe nehmen, Mitglieder auslesen
- die guten ins Töpfchen, die schlechten ins Kröpfchen ("gut" = Person, "schlecht": Gruppe)
- Jetzt aus dem Kröpfchen als Gruppen holen und mit jeder genau das gleiche Spiel betreiben.

Die Herausforderung dabei ist aus meienr Erfahrung die Abwendung logischer und direkter Fehler im Code, weil ansonsten heisst es: "In Ewigkeit - Amen !" - Sprach die Endlosschleife.

Bernhard
Titel: Re:Benutzer aus Gruppen im öffentl. Adressbuch auslesen -> excel
Beitrag von: g202e am 16.02.04 - 20:04:52
Danke, Bernhard.
Na, da wird mir wohl nichts weiter übrig bleiben, als das zu schnallen.
Ich habe mir gerade eine Testdatenbank auf meinem Bastelserver gebaut mit der Schablone "Domino Directory" und habe dort hinein mal alle Gruppen aus meiner ominösen Gruppe "Abtxx.ALL" aus dem Firmenadressbuch kopiert. Das waren 36.
Wenn ich mir nun in der Ansicht "($ServerAccess)" alle Dokumente markiere, dann sagt mir Notes, dass ich 1013 Dokumente ausgewählt habe. Da habe ich wohl Glück gehabt; sind also "bloss" 1013 Personen in diesen 36 Gruppen.
Diese Ansicht scheint mir sowieso der Volltreffer für meine Aufgabe zu sein, denn damit müsste ich die Sache einigermaßen in den Griff bekommen.
Eigentlich brauch ich doch bloss diese Ansicht nach Excel schießen und mit ein paar Umformungen habe ich dann alle Benutzernamen und sogar noch als Zugabe die Gruppen in denen sie drin sind.
Das wäre doch dann gleich eine tolle Arbeitserleichterung für die arme "Tippse", oder wer auch immer dann händisch pflegen soll.
Bernhard, wenn ich das jetzt so durchdenke, dann hat wohl schon jemand die Rekursion für mich erledigt, oder? (Thank you, IRIS!)
Habe ich da was übersehen...missverstanden?
Sieht mir schon viel freundlicher aus. Was hält denn das geballte Wissen dieses Forums von diesem Ansatz?
Titel: Re:Benutzer aus Gruppen im öffentl. Adressbuch auslesen -> excel
Beitrag von: koehlerbv am 16.02.04 - 20:21:40
Ich muss Dich leider enttäuschen ... Schau Dir die View mal im Designer an - und vor allem in Deinem produktiven Adressbuch.
So geht es nicht - und Ansichten können prinzipiell nichts rekursiv auflösen ...

Sorry,
Bernhard
Titel: Re:Benutzer aus Gruppen im öffentl. Adressbuch auslesen -> excel
Beitrag von: Semeaphoros am 16.02.04 - 20:23:46
Da @Formel keine Rekursion kennt, hast Du da wohl einen Fehlschluss, bin nicht so sicher, ob diese Ansicht schon die ganze Auflösung ist.
Titel: Re:Benutzer aus Gruppen im öffentl. Adressbuch auslesen -> excel
Beitrag von: koehlerbv am 16.02.04 - 20:48:39
Auch diese Ansicht zeigt - wie mit Notes direkt (!) machbar - "nur" den eindimensionalen innerhalb eines Dokumentes, also die Beziehung zwischen (einem) Gruppennamen und seinen Mitgliedern.

Rekursion ist nur mit höheren Programmiersprachen möglich.

By the way: Das nutzt auch R6 und zeigt dort in entsprechenden Dialogen (UI !) den Bezug eines Users zu Gruppen auch rekursiv an.

Bernhard
Titel: Re:Benutzer aus Gruppen im öffentl. Adressbuch auslesen -> excel
Beitrag von: Jörg P. am 17.02.04 - 09:16:37
Wie kriege ich nun alle Mitglieder der Abtxx.ALL namentlich gegriffen?

So gehts:
-Erstell dir eine Hilfsmaske in einer DB auf dem Server
- Füge ein Namens-Feld Hinzu, in dem du den Gruppennamen auswählen kannst
- Dann noch ein Feld (Mehrfachwerte, Getrennte Werte in  neuer Zeile anzeigen) mit folgender Formel:
@Unique(@ExpandNameList(@Subset(@DbName;1) ; DeinErsterFeldname ) )
- evt. nochmal aktualisieren

Das Ergebnis sollte sich leicht nach Excel bringen lassen.
HTH

Ach ja, @ExpandNameList ist eine undokumentierte Funktion und kommt z.B. in der Ressourcen-DB zum Einsatz.
Titel: Re:Benutzer aus Gruppen im öffentl. Adressbuch auslesen -> excel
Beitrag von: g202e am 17.02.04 - 13:29:11
Also, Moment mal.
Wieso ist das kein Ansatz?
Ich habe eine Ansicht, in welcher ich alle eingetragenen Benutzer aller relevanten Gruppen, (nämlich der in der Gruppe "Abtxx.ALL" enthaltenen), sehe.
Und dies ist genau das, was ich haben will! Ich sehe darin keinen Fehlschluss!
Wo ist das Problem?
@Bernhard:Warum soll ich mir die Ansicht im produktiven Adressbuch im Designer anschauen? (das darf ich natürlich gar nicht!) Meine Bastel-Ansicht basiert auf der gleichen Schablone. Die Daten in meiner Test-DB stammen aus dem produktiven Firmen-Adressbuch.
@Harvey: Wieso soll ich basteln, wenn ich alles habe, was ich brauche?
Übersehe ich jetzt etwas???
 ???
Titel: Re:Benutzer aus Gruppen im öffentl. Adressbuch auslesen -> excel
Beitrag von: koehlerbv am 17.02.04 - 13:40:32
Naja, dann mach mal ...

Bernhard
Titel: Re:Benutzer aus Gruppen im öffentl. Adressbuch auslesen -> excel
Beitrag von: g202e am 17.02.04 - 14:46:52
Hallo Bernhard,
das ist aber eine ziemlich "kurz angebundene" Reaktion.
Wenn ich einen Denkfehler habe, dann solltest du mir das ruhig erklären.
Ich sehe nur einfach keinen!
Titel: Re:Benutzer aus Gruppen im öffentl. Adressbuch auslesen -> excel
Beitrag von: koehlerbv am 17.02.04 - 14:49:25
Ich habe dazu schon alles geschrieben, andere Kollegen steuerten das Ihrige bei.
Du bist jetzt dran, UNS von unserem Denkfehler zu überzeugen   ;)

Bernhard
Titel: Re:Benutzer aus Gruppen im öffentl. Adressbuch auslesen -> excel
Beitrag von: Jörg P. am 17.02.04 - 15:16:30
@g202e:
Wer hat gesagt, das du basteln musst. Das machst du doch schon freiwillig auf deinem Bastel-Server   ;)

Zum Problem:
Spontan fällt mir auf, das in der $ServerAccess-Ansicht auch die (verschachtelten) Gruppen mit gelistet, also auch mit gezählt werden.


Titel: Re:Benutzer aus Gruppen im öffentl. Adressbuch auslesen -> excel
Beitrag von: Glombi am 17.02.04 - 15:35:14
@g202e
Die Rekursion wird ja wohl die "Tippse" machen, also kann die Ansicht $ServerAccess verwendet werden. Einfach die Ansicht öffnen: <Strg>+<Shift>+Doppelklick auf die DB und dann kannst Du auch die versteckten Ansichten sehen. Dann dort Datei - Exportieren wählen. Als Format 123, welche Du auch mit Excel öffnen kannst.

Andreas
Titel: Re:Benutzer aus Gruppen im öffentl. Adressbuch auslesen -> excel
Beitrag von: koehlerbv am 17.02.04 - 15:44:25
Habe ich das ganze Thema denn nur missverstanden ? Ich weiss, dass Notes über Ansichten definitiv nichts rekursiv auslesen kann, und wenn ich so in in "($ServerAccess)" schaue (oder woandershin), dann sehe ich wie erwartet ich folgendes:
Ich bin Mitglied der Gruppe "XXX-Gesamt".
Unter "XXX-Gesamt" sehe ich die dort enthaltenen Untergruppen (wie erwartet).
Unter meinem Namen sehe ich die nächsthöhere Gruppe, unter der ich namentlich eingetragen bin.
Irgendeinen Bezug vom Ich zu irgendeiner Gruppe oberhalb der, der ich direkt zugeordnet bin, gibt es nicht.

Klärt mich doch mal bitte auf, ob ich den Begriff "Rekursion" hier irrigerweise in den Thread getragen habe.

Ciao & danke im voraus,
Bernhard
Titel: Re:Benutzer aus Gruppen im öffentl. Adressbuch auslesen -> excel
Beitrag von: Glombi am 17.02.04 - 16:23:55
Warten wir mal ab, was g202e sagt...
Titel: Re:Benutzer aus Gruppen im öffentl. Adressbuch auslesen -> excel
Beitrag von: g202e am 18.02.04 - 09:19:12
Auch dank der Aufmunterung von Andreas
@g202e
Die Rekursion wird ja wohl die "Tippse" machen, also kann die Ansicht $ServerAccess verwendet werden.
habe ich mich von den "Pessimisten" nicht abschrecken lassen.
Habe noch ein wenig probiert und u. a. den Haken bei "Mehrfachwerte getrennt anzeigen" in der angesprochenen Ansicht entfernt. Wenn man dann den Weg eines Exports im Lotus1-2-3-Format wählt erhält man eine wunderschöne Excel-Tabelle, in der ich in jeweils einer Zeile den Benutzernamen und je eine Gruppe, in der dieser Benutzernamen enthalten ist, stehen habe.
Dies ist genau das, was ich brauche und also ist die Sache erledigt!

Aber warum sollen wir nicht noch ein wenig philosophieren?
Habe ich das ganze Thema denn nur missverstanden ?
........
Klärt mich doch mal bitte auf, ob ich den Begriff "Rekursion" hier irrigerweise in den Thread getragen habe.
Ich glaube schon, dass dies eigentlich ein Fall für Rekursion ist; also hast du das richtigerweise eingebracht.
Sicher ist auch meine Lösung KEIN Fall rekursiver "Programmierung", denn die Rekursion wird ja händisch erledigt: Ich habe alle Gruppen, die weitere Gruppen enthielten, dadurch "rekursiv" aufgelöst, dass ich die in einer Gruppe enthaltenen Gruppen selbst mit in meine Bastel-DB eingefügt habe. Den Rest macht die Ansicht bzw. der Export (welcher ja beim Weg über das Lotus1-2-3-Format wohl eher eine Fotografie der Notes-Ansicht darstellt!)
Jedenfalls habe ich so mein Problem gelöst (auch wenn ich bei einer richtigen Ausprogrammierung bestimmt mehr gelernt hätte).
Aber wie sagen die weisen Männer des Ostens: "Der Weg ist das Ziel!"
Titel: Re:Benutzer aus Gruppen im öffentl. Adressbuch auslesen -> excel
Beitrag von: Glombi am 18.02.04 - 09:29:27
Schön dass es funktioniet hat. Bitte vergiß aber nicht,die Ansicht wieder in der Urzustand zurückzusetzen, da es sich um eine Systemansicht handelt!
In solchen Fällen empfiehlt es sich, eine Kopie der Ansicht zu machen und dort dann beliebig zu ändern. Da kannst Du sicher sein, dass der Server weiterhin korrekt arbeitet.

Was das Philosophieren betrifft: Rekursion ist sicher hier im Thread zweideutig. Mit der Rekursion in Programmen hat das weniger zu tun.
Hier handelt es sich wohl eher um Iteration.
Aber das nur am Rande.

Andreas
Titel: Re:Benutzer aus Gruppen im öffentl. Adressbuch auslesen -> excel
Beitrag von: g202e am 18.02.04 - 10:05:29
Bitte vergiß aber nicht,die Ansicht wieder in der Urzustand zurückzusetzen, da es sich um eine Systemansicht handelt!
Du hast übersehen, dass ich in einer Bastel-DB gearbeitet habe!
Was das Philosophieren betrifft: Rekursion ist sicher hier im Thread zweideutig. Mit der Rekursion in Programmen hat das weniger zu tun.
Hier handelt es sich wohl eher um Iteration.
Da kann man sicher prima drüber philosophieren: Ist nicht Iteration ein Oberbegriff für Rekursion?
Rekursionsformel = mathemat. Formel, durch deren immer wiederkehrende Anwendung ein Problem schließlich gelöst wird
Titel: Re:Benutzer aus Gruppen im öffentl. Adressbuch auslesen -> excel
Beitrag von: Semeaphoros am 18.02.04 - 10:08:05
Nein, ist es nicht (oder zumindest nicht zwingend). Hier könnte man allerdings von einer rekursiv angelegten Itereation sprechen. Die Frage ist allerdings berechtigt, ob jede Rekursion als Iteration angesehen werden könnte oder müsste.
Titel: Re:Benutzer aus Gruppen im öffentl. Adressbuch auslesen -> excel
Beitrag von: Glombi am 18.02.04 - 11:00:00
Iterieren wir nicht alle irgendwie  8)

Hier ein schöner Vergleich zwischen Iteration und Rekursion
http://www.jens-huebner.com/tut/rekursion.pdf (http://www.jens-huebner.com/tut/rekursion.pdf)

Machmal sieht man den Wald vor lauter Bäumen nicht  ;D

Andreas
Titel: Re:Benutzer aus Gruppen im öffentl. Adressbuch auslesen -> excel
Beitrag von: Semeaphoros am 18.02.04 - 11:16:57
Natürlich iterieren wir dauernd und an den verschiedensten Enden und Ecken, zum Beispiel mit einer Frequenz von ungefähr 60 Her(t)z beim Erwachsenen ....  ;D

Das Beispiel ist wirklich schön und Namensvetter Jens fasst die beiden Begriffe offenbar als Gegensatz auf, was ich nicht wirklich nachvollziehen kann. Die Frage bleibt bestehen, ob die Rekursion nicht wirklich ein Spezialfall einer Iteration ist oder ob sich die beiden nicht sogar ineinander überführen lassen können (Schlaifen sollten sich ja eigentlich auch rekursiv beschreiben lassen, würd ich jetzt mal aus dem hohlen Bauch heraus abschätzen, der Mathema-tiker Andreas führt da bestimmt gleich einen induktiven Beweis  ;) )

Am Schluss ist das dann ein "filosofisches" Problem.

Von den Wörtern her: Iteration heisst schlicht "Wiederholung", Rekursion heisst "Zurücklaufen"
Titel: Re:Benutzer aus Gruppen im öffentl. Adressbuch auslesen -> excel
Beitrag von: Glombi am 18.02.04 - 11:29:30
Wir sind nicht die einzigen, die darüber philosophieren:
http://philo.at/ablage/gl/gl9511/msg00076.html (http://philo.at/ablage/gl/gl9511/msg00076.html)

und hier
http://www.informatik.uni-ulm.de/sgi/progwerkstatt/vortraege/Rekursion.txt (http://www.informatik.uni-ulm.de/sgi/progwerkstatt/vortraege/Rekursion.txt)

Es ist:
Zitat: Im Prinzip ist Induktion und Rekursion dasselbe. Der einzige Unterschied ist die Betrachtungsweise

Bleibt zu diskutieren, was ein "Prinzip" ist und was "Im Prinzip" heißt.
Ist das jetzt eine feste Regel oder ein Gesetz oder eine Behauptung, die empirisch "bewiesen" ist ?
Fragen über Fragen  ::)

Andreas

Hier was für unsere Freunde des Griechischen:
http://www.net-lexikon.de/Archimedisches-Prinzip.html (http://www.net-lexikon.de/Archimedisches-Prinzip.html)
Titel: Re:Benutzer aus Gruppen im öffentl. Adressbuch auslesen -> excel
Beitrag von: Semeaphoros am 18.02.04 - 11:35:25
Genau, mit "Im Prinzip" wird die Antwort ja nicht wirklich gegeben, auch wenn sie mir sehr sympathisch ist und ich dasselbe vermute :)

Fragen über Fragen .... und jede beantwortete Frage wirft mindestens zwei neue Fragen auf. Ist das jetzt iterativ oder rekursiv ?   ;)


Hier noch (als letzte von meiner Seite mit Off-Topic) eine vielleicht wesentliche Frage: Lässt sich die Iteration des Herzschlages rekursiv beschreiben?
Titel: Re:Benutzer aus Gruppen im öffentl. Adressbuch auslesen -> excel
Beitrag von: Glombi am 18.02.04 - 11:35:51
Hier die beste Beschreibung, deren Folge ich mich voll inhaltlich anschließe:

"Ein Spezialfall der Rekursion ist die Iteration. Diese tritt auf, wenn der rekursive Funktionsaufruf nur am Anfang oder nur am Ende innerhalb der Funktion benutzt wird."

Quelle:
http://www.net-lexikon.de/Rekursion.html (http://www.net-lexikon.de/Rekursion.html)

Witzig: Rekursion : siehe Rekursion  ;D

Andreas
Titel: Re:Benutzer aus Gruppen im öffentl. Adressbuch auslesen -> excel
Beitrag von: Semeaphoros am 18.02.04 - 11:42:01
Gut, das hängt jetzt natürlich davon ab, wie eng man die Definition zieht, innerhalb mathematisch beschreibbarer Phänomene ist die Definition sicher richtig, gehen wir darüber hinaus - tja - dann dürfte es eher umgekehrt aussehen.