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