Index: pykota/trunk/initscripts/ldap/README.sunds
===================================================================
--- pykota/trunk/initscripts/ldap/README.sunds (revision 3342)
+++ pykota/trunk/initscripts/ldap/README.sunds (revision 3342)
@@ -0,0 +1,116 @@
+Documentation :
+---------------
+
+Schema Modifications :
+----------------------
+
+pykota-schema-sunds.ldif :
+
+	This file can be used to extend the schema for
+	Sun Directory Server to add the necessary object classes
+	and attribute type for use with PyKota.
+
+	To extend the schema:
+
+	% ldapmodify -h ldap.domain.com -D "cn=Directory Manager" -f pykota-schema-sunds.ldif
+
+	Sun Directory Server will replicate schema changes in a
+	multi-master replication environment.
+
+Database Indexes :
+------------------
+
+pykota-sunds-indexes.ldif :
+
+	Creating indexes while not mandatory will speed up queries
+	to the PyKota objects. This will setup the following indexes:
+
+	pykotaUserName:		presence, equality, substring
+	pykotaGroupName:	presence, equality, substring
+	pykotaPrinterName:	presence, equality, substring
+	pykotaBillingCode:	presence, equality, substring
+	pykotaLastJobIdent:	equality
+
+	To define the indexes:
+
+	% ldapmodify -a -h ldap.domain.com -D "cn=Directory Manager" -f pykota-sunds-indexes.ldif
+	
+	By default configuration settings are NOT replicated in a
+	replication environment so the following indexes must be
+	defined on all hosts.
+
+	To initialize the indexes:
+
+	% ServerRoot/slapd-serverID/db2index.pl \
+			-D "cn=Directory Manager" -w password -n userRoot \
+			-t pykotaUserName
+
+	% ServerRoot/slapd-serverID/db2index.pl \
+			-D "cn=Directory Manager" -w password -n userRoot \
+			-t pykotaGroupName
+
+	% ServerRoot/slapd-serverID/db2index.pl \
+			-D "cn=Directory Manager" -w password -n userRoot \
+			-t pykotaPrinterName
+
+	% ServerRoot/slapd-serverID/db2index.pl \
+			-D "cn=Directory Manager" -w password -n userRoot \
+			-t pykotaBillingCode
+
+	% ServerRoot/slapd-serverID/db2index.pl \
+			-D "cn=Directory Manager" -w password -n userRoot \
+			-t pykotaLastJobIdent
+
+	This must be preformed on all hosts within a replication environment.
+
+	Managing Indexes References :
+		http://docs.sun.com/source/816-6698-10/indexing.html
+
+Directory Information Tree (DIT) :
+----------------------------------
+
+pykota-sample.ldif :
+
+	This is provided with PyKota though it will need to be modified
+	in order to be incorporated into your environment. Sun Directory Server
+	will encrypt the userPassword entry so you may wish to leave it as
+	plain text when creating the pykotaadmin and pykotauser entries.
+	
+	If a Password Policy is being enforced it would be advisable exclude
+	both the pykotauser and pykotaadmin from that policy. This is especially
+	true if passwordMustChange is set to 'On' since they will fail to authenticate
+	until the password is changed.
+
+	Sun Directory Server will replicate DIT changes in a
+	multi-master replication environment.
+
+Access Control Instructions (ACI) :
+-----------------------------------
+ 
+	The provided ACI's must not be blindly added using ldapmodify or
+	ldapadd, if you do so you will clobber any existing ACI's for a
+	given object! You must first query the server for any existing
+	ACI's and capture them to a file, append the PyKota ACI's to said
+	file and then modify the object. This is especially pertinent in
+	regards to ou=People which has 5 default ACI's associated with it.
+
+	It is stongly recommended to use the Directory Server Console to
+	add the ACI's. You have been warned, there is no warrenty, good luck.
+
+	Managing Access Control:
+		http://docs.sun.com/source/816-6698-10/aci.html
+
+pykota-admin-aci :
+
+	dn: ou=pykota,dc=example,dc=com
+	aci: (targetattr="*") (version 3.0; acl "PyKota Pykota ACI"; allow(all) userdn="ldap:///cn=pykotaadmin,ou=PyKota,dc=example,dc=com";)
+
+	dn: ou=People,dc=example,dc=com
+	aci: (targetattr="*") (version 3.0; acl "PyKota People ACI"; allow(write) userdn="ldap:///cn=pykotaadmin,ou=PyKota,dc=example,dc=com";)
+
+	dn: ou=groups,dc=example,dc=com
+	aci: (targetattr="*") (version 3.0; acl "PyKota Groups ACI"; allow(write) userdn="ldap:///cn=pykotaadmin,ou=PyKota,dc=example,dc=com";)
+
+	Sun Directory Server will replicate ACI changes in a
+	multi-master replication environment.
+
Index: pykota/trunk/initscripts/ldap/pykota-sunds-indexes.ldif
===================================================================
--- pykota/trunk/initscripts/ldap/pykota-sunds-indexes.ldif (revision 3342)
+++ pykota/trunk/initscripts/ldap/pykota-sunds-indexes.ldif (revision 3342)
@@ -0,0 +1,43 @@
+dn: cn=pykotaUserName, cn=index, cn=userRoot,cn=ldbm database,cn=plugins,cn=config
+objectClass: nsIndex
+objectClass: top
+cn: pykotausername
+nsSystemIndex: false
+nsIndexType: eq
+nsIndexType: pres
+nsIndexType: sub
+
+dn: cn=pykotaGroupName, cn=index, cn=userRoot,cn=ldbm database,cn=plugins,cn=config
+objectClass: nsIndex
+objectClass: top
+cn: pykotaGroupName
+nsSystemIndex: false
+nsIndexType: eq
+nsIndexType: pres
+nsIndexType: sub
+
+dn: cn=pykotaPrinterName, cn=index, cn=userRoot,cn=ldbm database,cn=plugins,cn=config
+objectClass: nsIndex
+objectClass: top
+cn: pykotaPrinterName
+nsSystemIndex: false
+nsIndexType: eq
+nsIndexType: pres
+nsIndexType: sub
+
+dn: cn=pykotaBillingCode, cn=index, cn=userRoot,cn=ldbm database,cn=plugins,cn=config
+objectClass: nsIndex
+objectClass: top
+cn: pykotaBillingCode
+nsSystemIndex: false
+nsIndexType: eq
+nsIndexType: pres
+nsIndexType: sub
+
+dn: cn=pykotaLastJobIdent, cn=index, cn=userRoot,cn=ldbm database,cn=plugins,cn=config
+objectClass: nsIndex
+objectClass: top
+cn: pykotaLastJobIdent
+nsSystemIndex: false
+nsIndexType: eq
+
Index: pykota/trunk/initscripts/ldap/pykota-schema-sunds.ldif
===================================================================
--- pykota/trunk/initscripts/ldap/pykota-schema-sunds.ldif (revision 3336)
+++ pykota/trunk/initscripts/ldap/pykota-schema-sunds.ldif (revision 3342)
@@ -11,7 +11,7 @@
 # Adapted for Sun Directory Server by Darin Perusich
 #
-#       Implementaion Details:
-#
-#       % ldapmodify -h sunds.domain.com -D "cn=Directory Manager" -f pykota-schema-sunds.ldif
+#	Implementaion Details:
+#
+#	% ldapmodify -h sunds.domain.com -D "cn=Directory Manager" -f pykota-schema-sunds.ldif
 #
 # 16868.x       => Conseil Internet & Logiciels Libres
@@ -307,2 +307,3 @@
         DESC 'PyKota Object'
         MUST ( cn ) )
+
