Hi all, I've been looking at the packages in the apacheds project and as you can imagine many things grew wild out of short term efforts to get things done. Before we move forward with a 2.0 and even sooner before considering any kind of use for OSGi we need to clean up this package structure and have some order. From then on we can take care in how we organize things.
I'd like to open a discussion about how best to organize our package structure. I'll seed it by listing my objectives: (1) cleanup unused modules and packages (2) split out interfaces from implementations into their own packages and modules (3) have a consistent scheme for naming and allocating sub packages under o.a.d.server.core and o.a.d.server Our inherent policy was to use o.a.d.server.core.* for packages associated with the DirectoryService which did not require any network access. It was for everything needed to store and manage LDAP entries and conduct LDAP operations on them without having to go over the wire. The o.a.d.server.* packages minus o.a.d.server.core.* was for anything above this layer that depended on it and used some kind of networking like the LdapService and the AuthenticationService (in the protocol-kerberos module). Over time with most developers working in this project this convention started to get mixed up. I was wondering if this convention is worth keeping or something beter can be proposed. If we keep this convention I will cleanup and make sure everything follows it. Next I would like to have a consistent naming scheme for the modules. Any ideas here? Thanks, Alex ---------------------------------- I ran the following command to generate a listing of the Maven modules and their packages: find . -type d | egrep '.*src\/main\/java\/org\/apache\/directory\/server\/.*' | grep -v .svn | sed -e 's/\/src\/main\/java\// /' | sed -e 's/\//\./g' | sed -e 's/\.\.//' | sort Here's the list of packages grouped by module: avl-partition org.apache.directory.server.core org.apache.directory.server.core.partition org.apache.directory.server.core.partition.avl bootstrap-extract org.apache.directory.server.schema org.apache.directory.server.schema.bootstrap org.apache.directory.server.schema.bootstrap.partition bootstrap-plugin org.apache.directory.server.core org.apache.directory.server.core.bootstrap org.apache.directory.server.core.bootstrap.plugin core-api org.apache.directory.server.core org.apache.directory.server.core.changelog org.apache.directory.server.core.event org.apache.directory.server.core.filtering org.apache.directory.server.core.interceptor org.apache.directory.server.core.interceptor.context org.apache.directory.server.core.invocation org.apache.directory.server.core.partition org.apache.directory.server.core.schema org.apache.directory.server.core org.apache.directory.server.core.avltree core-constants org.apache.directory.server.constants core-cursor org.apache.directory.server.core org.apache.directory.server.core.cursor core-entry org.apache.directory.server.core org.apache.directory.server.core.entry core-integ org.apache.directory.server.core org.apache.directory.server.core.integ org.apache.directory.server.core.integ.annotations org.apache.directory.server.core.integ.state org.apache.directory.server.core org.apache.directory.server.core.interceptor org.apache.directory.server.core.interceptor.context core-jndi org.apache.directory.server.core org.apache.directory.server.core.jndi core org.apache.directory.server.core org.apache.directory.server.core.authn org.apache.directory.server.core.authz org.apache.directory.server.core.authz.support org.apache.directory.server.core.changelog org.apache.directory.server.core.collective org.apache.directory.server.core.configuration org.apache.directory.server.core.event org.apache.directory.server.core.exception org.apache.directory.server.core.impl org.apache.directory.server.core.normalization org.apache.directory.server.core.operational org.apache.directory.server.core.partition org.apache.directory.server.core.prefs org.apache.directory.server.core.referral org.apache.directory.server.core.schema org.apache.directory.server.core.security org.apache.directory.server.core.sp org.apache.directory.server.core.sp.java org.apache.directory.server.core.subtree org.apache.directory.server.core.trigger core-plugin org.apache.directory.server.core org.apache.directory.server.core.tools org.apache.directory.server.core.tools.schema core-shared org.apache.directory.server.core org.apache.directory.server.schema org.apache.directory.server.schema.bootstrap core-splay org.apache.directory.server.core org.apache.directory.server.core.splay core-unit org.apache.directory.server.core org.apache.directory.server.core.unit interceptor-kerberos org.apache.directory.server.core org.apache.directory.server.core.kerberos jdbm-partition org.apache.directory.server.core org.apache.directory.server.core.partition org.apache.directory.server.core.partition.jdbm kerberos-shared org.apache.directory.server.kerberos org.apache.directory.server.kerberos.shared org.apache.directory.server.kerberos.shared.crypto org.apache.directory.server.kerberos.shared.crypto.checksum org.apache.directory.server.kerberos.shared.crypto.encryption org.apache.directory.server.kerberos.shared.exceptions org.apache.directory.server.kerberos.shared.io org.apache.directory.server.kerberos.shared.io.decoder org.apache.directory.server.kerberos.shared.io.encoder org.apache.directory.server.kerberos.shared.jaas org.apache.directory.server.kerberos.shared.keytab org.apache.directory.server.kerberos.shared.messages org.apache.directory.server.kerberos.shared.messages.application org.apache.directory.server.kerberos.shared.messages.components org.apache.directory.server.kerberos.shared.messages.value org.apache.directory.server.kerberos.shared.messages.value.flags org.apache.directory.server.kerberos.shared.messages.value.types org.apache.directory.server.kerberos.shared.replay org.apache.directory.server.kerberos.shared.service org.apache.directory.server.kerberos.shared.store org.apache.directory.server.kerberos.shared.store.operations ldif-partition org.apache.directory.server.core org.apache.directory.server.core.partition org.apache.directory.server.core.partition.ldif oracle-partition org.apache.directory.server.partition org.apache.directory.server.partition.impl org.apache.directory.server.partition.impl.oracle protocol-changepw org.apache.directory.server.changepw org.apache.directory.server.changepw.exceptions org.apache.directory.server.changepw.io org.apache.directory.server.changepw.messages org.apache.directory.server.changepw.protocol org.apache.directory.server.changepw.service org.apache.directory.server.changepw.value protocol-dhcp org.apache.directory.server.dhcp org.apache.directory.server.dhcp.io org.apache.directory.server.dhcp.messages org.apache.directory.server.dhcp.options org.apache.directory.server.dhcp.options.dhcp org.apache.directory.server.dhcp.options.linklayer org.apache.directory.server.dhcp.options.misc org.apache.directory.server.dhcp.options.perhost org.apache.directory.server.dhcp.options.perinterface org.apache.directory.server.dhcp.options.tcp org.apache.directory.server.dhcp.options.vendor org.apache.directory.server.dhcp.protocol org.apache.directory.server.dhcp.service org.apache.directory.server.dhcp.store protocol-dns org.apache.directory.server.dns org.apache.directory.server.dns.io org.apache.directory.server.dns.io.decoder org.apache.directory.server.dns.io.encoder org.apache.directory.server.dns.messages org.apache.directory.server.dns.protocol org.apache.directory.server.dns.service org.apache.directory.server.dns.store org.apache.directory.server.dns.store.jndi org.apache.directory.server.dns.store.jndi.operations org.apache.directory.server.dns.util protocol-kerberos org.apache.directory.server.kerberos org.apache.directory.server.kerberos.kdc org.apache.directory.server.kerberos.kdc.authentication org.apache.directory.server.kerberos.kdc.ticketgrant org.apache.directory.server.kerberos.protocol org.apache.directory.server.kerberos.sam protocol-ldap org.apache.directory.server.ldap org.apache.directory.server.ldap.gui org.apache.directory.server.ldap.handlers org.apache.directory.server.ldap.handlers.bind org.apache.directory.server.ldap.handlers.bind.cramMD5 org.apache.directory.server.ldap.handlers.bind.digestMD5 org.apache.directory.server.ldap.handlers.bind.gssapi org.apache.directory.server.ldap.handlers.bind.ntlm org.apache.directory.server.ldap.handlers.bind.plain org.apache.directory.server.ldap.handlers.controls org.apache.directory.server.ldap.handlers.extended org.apache.directory.server.ldap.handlers.ssl org.apache.directory.server.ldap.handlers.starttls protocol-ntp org.apache.directory.server.ntp org.apache.directory.server.ntp.io org.apache.directory.server.ntp.messages org.apache.directory.server.ntp.protocol org.apache.directory.server.ntp.service protocol-shared org.apache.directory.server.protocol org.apache.directory.server.protocol.shared org.apache.directory.server.protocol.shared.catalog org.apache.directory.server.protocol.shared.store org.apache.directory.server.protocol.shared.transport schema-bootstrap org.apache.directory.server.schema org.apache.directory.server.schema.bootstrap schema-extras org.apache.directory.server.schema org.apache.directory.server.schema.bootstrap schema-registries org.apache.directory.server.schema org.apache.directory.server.schema.registries server-integ org.apache.directory.server.integ org.apache.directory.server.integ.state server-jndi org.apache.directory.server.configuration server-replication org.apache.directory.server.replication org.apache.directory.server.replication.configuration server-sar org.apache.directory.server.sar server-tools org.apache.directory.server.tools server-unit org.apache.directory.server.unit utils org.apache.directory.server.utils xdbm-base org.apache.directory.server.xdbm org.apache.directory.server.xdbm.search xdbm-search org.apache.directory.server.xdbm org.apache.directory.server.xdbm.search org.apache.directory.server.xdbm.search.impl xdbm-tools org.apache.directory.server.xdbm org.apache.directory.server.xdbm.tools org.apache.directory.server.xdbm.tools.ui -- Alex Karasulu My Blog :: http://www.jroller.com/akarasulu/ Apache Directory Server :: http://directory.apache.org Apache MINA :: http://mina.apache.org
