Subject: Re: Move DS Admin Code into Admin Server
From: Richard Megginson
Date: Thu, 19 Apr 2007 20:30:58 -0600

To: Noriko Hosoi
CC: Nathan Kinder

Noriko Hosoi wrote:

> Hi, Rich, Hi, Nathan,
> I've sorted out the directories under ldapserver for the task "Move DS Admin Code into Admin Server".
> Could you give me your comments on my following questions/observation?
> Based upon the attachment...
> The first section NOT USED is a candidate to be removed. They are not referred in the Makefiles and source files. Do you think we can just remove them?

Yes.

> The second section NT is also a candidate to be removed. Or we may want to keep some of them just in case some one starts reusing them?

I'd like to remove them, but I'd also like to archive them somewhere handy in case we need them in the future, or in case someone perhaps wants to resurrect the Windows port (very unlikely, but you never know . . .)

> The third section CLIENT APPS and the 4th DOC are going to be separated.

dsgw has already been moved out, so please remove that. We'll need to create cvs modules for orgchart and dsmlgw.

> The 5th INSTALLER/SETUP is going to be moved to the Admin Server?

Yes, although we may want to have a setup command for fedora-ds-base, because ds_newinst.pl is not very user friendly. But the fedora-ds-base setup would not do all of the setuputil stuff, it would just prompt the user for simple questions like host, port, etc.

> But v#confs (which include old schema files) and newinstnt (nt installer) can be dropped?

Yes.

> The 6th INSTANCE CREATION: according to the task list, it looks to me like a candidate to be moved to the Admin Server. But fedora-ds-base should be an independent package which should be able to install and run by itself (as we are doing right now...) The Admin Server just needs a hook to trigger the DS instance creation, which physically exists in the DS package? Or am I missing something?

You are correct. The code (instindex.cpp, create_instance.c, cfg_sspt.c, and configure_instance.cpp, and some code in libds-admin) does two things: it creates and configures a single instance, and it also configures a directory server instance to be a configuration DS and/or registers the server with the configuration DS. The former code to create a single standalone instance should be left in fedora-ds-base. The latter code should be moved into the admin server. Likewise with ds_remove.c and ds_remove_uninst.cpp - some of the code will move into admin, some will stay. The admin server should not have any instance creation code - it should just call ds_newinst.pl to create an instance if needed, then it will configure the new server as the new configuration DS, or it will register the server with the existing configuration DS.

> The 7th FEDORA-DS-BASE: no changes
> The 8th HEADERS for LIBS and the 9th LIBS: no changes? How about libadmin? :)

We should see if there is some code we can move into adminutil or admin server.

> The 10th L10N: no changes?

I suppose not - what uses that code?

> The 11th BRANDING, need to update, but basically no changes

We should create a skins package, like the CS guys are doing. Then we can just get rid of that branding stuff.

> Thanks!
> --noriko
> ------------------------------------------------------------------------
> 1. NOT USED
> config # tools (nfspwd, nsinstall, pathsub, revdepth)
> # not used any more
> include/nsapi20 include/nsapi20/base include/nsapi20/frame
> include/public include/public/base
> include/public/nsacl
> include/public/oneacl
> ldap/admin/src/java
> ldap/admin/src/java/com
> ldap/admin/src/java/com/netscape
> ldap/admin/src/java/com/netscape/xmltools
> ldap/libraries/libldif # moved to ldap c sdk
> ldap/libraries/liblitekey # for directory lite
> ldap/servers/slapd/libsh_stub # not used
> 2. NT httpd httpd/src # ntnsapi.c only
> lib/libnt
> include/nt
> ldap/servers/ntds # empty
> ldap/servers/ntds/apacheds # empty
> ldap/servers/ntds/apacheds/org #empty
> ldap/servers/ntds/apacheds/org/apache #empty
> ldap/servers/ntds/apacheds/org/apache/ldap #empty
> ldap/servers/ntds/apacheds/org/apache/ldap/server #empty
> ldap/servers/ntds/netman #empty
> ldap/servers/ntds/wrapper #empty
> ldap/servers/ntds/wrapper/wix #empty
> ldap/servers/ntds/wrapper/wix/Binary #empty
> ldap/libraries/libutil # for nt
> ldap/servers/slapd/ntmsgdll # for nt
> ldap/servers/slapd/ntperfdll # for nt
> ldap/servers/slapd/ntwdog # for nt
> 3. CLIENT APPS
> ldap/clients
> ldap/clients/dsgw
> ldap/clients/dsgw/admhtml
> ldap/clients/dsgw/config
> ldap/clients/dsgw/config/de
> ldap/clients/dsgw/config/en
> ldap/clients/dsgw/config/en-us
> ldap/clients/dsgw/config/es
> ldap/clients/dsgw/config/fr
> ldap/clients/dsgw/config/ja
> ldap/clients/dsgw/config/ko
> ldap/clients/dsgw/config/zh
> ldap/clients/dsgw/html
> ldap/clients/dsgw/html/de
> ldap/clients/dsgw/html/es
> ldap/clients/dsgw/html/fr
> ldap/clients/dsgw/html/info
> ldap/clients/dsgw/html/ja
> ldap/clients/dsgw/html/manual
> ldap/clients/dsgw/html/manual/ja
> ldap/clients/dsgw/pbconfig
> ldap/clients/dsgw/pbhtml
> ldap/clients/dsgw/userhtml
> ldap/clients/dsmlgw
> ldap/clients/dsmlgw/misc
> ldap/clients/dsmlgw/src
> ldap/clients/dsmlgw/src/com
> ldap/clients/dsmlgw/src/com/netscape
> ldap/clients/dsmlgw/src/com/netscape/dsml
> ldap/clients/dsmlgw/src/com/netscape/dsml/gateway
> ldap/clients/dsmlgw/src/com/netscape/dsml/test
> ldap/clients/orgchart
> ldap/dsml
> 4. DOC
> ldap/docs
> ldap/docs/dirhlp
> ldap/docs/dirhlp/help
> 5. INSTALLER/SETUP
> ldap/cm
> ldap/cm/newinst
> ldap/cm/v1confs # old schema files
> ldap/cm/v3confs # old schema files
> ldap/cm/v4confs # old schema files
> ldap/cm/v4confs/40 # old schema files
> ldap/cm/v4confs/41 # old schema files
> ldap/cm/v4confs/411 # old schema files
> ldap/cm/v4confs/412 # old schema files
> ldap/cm/newinstnt # nt
> 6. INSTANCE CREATION
> ldap/admin
> ldap/admin/include
> ldap/admin/lib
> ldap/admin/src
> ldap/admin/src/scripts
> 7. FEDORA-DS-BASE
> ldap
> ldap/include
> ldap/ldif
> ldap/libraries
> ldap/libraries/libavl
> ldap/schema
> ldap/servers
> ldap/servers/plugins
> ldap/servers/plugins/acl
> ldap/servers/plugins/chainingdb
> ldap/servers/plugins/collation
> ldap/servers/plugins/cos
> ldap/servers/plugins/distrib
> ldap/servers/plugins/dna
> ldap/servers/plugins/http
> ldap/servers/plugins/pam_passthru
> ldap/servers/plugins/passthru
> ldap/servers/plugins/presence
> ldap/servers/plugins/presence/images
> ldap/servers/plugins/pwdstorage
> ldap/servers/plugins/referint
> ldap/servers/plugins/replication
> ldap/servers/plugins/replication/tests
> ldap/servers/plugins/retrocl
> ldap/servers/plugins/rever
> ldap/servers/plugins/roles
> ldap/servers/plugins/shared
> ldap/servers/plugins/statechange
> ldap/servers/plugins/syntaxes
> ldap/servers/plugins/uiduniq
> ldap/servers/plugins/vattrsp_template
> ldap/servers/plugins/views
> ldap/servers/slapd
> ldap/servers/slapd/back-ldbm
> ldap/servers/slapd/back-ldbm/tools
> ldap/servers/slapd/back-ldbm/tools/index_dump
> ldap/servers/slapd/back-ldif
> ldap/servers/slapd/test-plugins
> ldap/servers/slapd/test-plugins/clients
> ldap/servers/slapd/tools
> ldap/servers/slapd/tools/ldclt
> ldap/servers/slapd/tools/ldclt/examples
> ldap/servers/slapd/tools/ldclt/examples/001
> ldap/servers/slapd/tools/ldclt/examples/002
> ldap/servers/slapd/tools/rsearch
> ldap/servers/slapd/tools/rsearch/scripts
> ldap/servers/snmp
> ldap/servers/snmp/ntagt
> ldap/synctools
> ldap/synctools/passwordsync
> ldap/synctools/passwordsync/passhook
> ldap/synctools/passwordsync/passsync
> ldap/synctools/passwordsync/wix
> ldap/synctools/passwordsync/wix/Binary
> ldap/systools
> m4
> wrappers
> 8. HEADERS FOR LIBS
> include
> include/base
> include/ldaputil
> include/libadmin
> include/libaccess
> 9. LIBS
> lib
> lib/base
> lib/ldaputil
> lib/ldaputil/examples
> lib/ldaputil/utest
> lib/libaccess
> lib/libaccess/utest
> lib/libadmin
> lib/libsi18n
> 10. L10N
> l10n
> l10n/dirserv
> l10n/dirserv/de
> l10n/dirserv/en
> l10n/dirserv/es
> l10n/dirserv/fr
> l10n/dirserv/ja
> 11. BRANDING
> branding
> branding/brandx
> branding/brandx/images
> branding/fedora
> branding/rhds
> branding/rhds/images