Random thoughts from ghenry

27 Jan

Getting ready to release Alpha version of Samba::LDAP (a smbldap-tools port)

written by Gavin Henry

Progress of porting smbldap-tools to CPAN

For those interested, I have been working on porting the smbldap-tools to CPAN:

smbldap-tools main site
smbldap-tools source

Benefits and reasons for this are (but you guys on #catalyst already know this ;-) ):

1. I am halfway through building an application called "SOSA - Samba and Open-xchange Simple Administrator" and don't want to have to rely on the commandline tools. So I am converting smbldap_tools.pm to Object Oriented Code to
work with Catalyst

2. Putting something on CPAN gets it tested by CPAN Testers, rated by all sorts of other people, findable by people using CPAN Search, reportable to CPAN RT, and so on.

3. SOSA will be built much like a CPAN module, and will be hosted there too (as well as http://sosa.sf.net). There will also be another module called Task::SOSA, which will build the whole of SOSA and Samba::LDAP, so to install both, you would just do:

cpan Task::SOSA


perl -MCPAN -e shell
install Task::SOSA

4. So far I have 144 tests on the existing code, which is about 20% converted.

5. Encourages others to develop modules in the Samba:: and Samba::LDAP namespace etc.

People may be concerned that this is a code fork, but they needn't worry.

It will do exactly the same as the existing tools. I will be including in the module source, a scripts directory which has the same commandline tools, but using the new Samba::LDAP modules.

Again, the main reasons for this are to include the code directly into SOSA, and not rely on them being installed. But they can use existing configuration files or ones that come bundled with SOSA.

More info:

See Samba::LDAP for the registered Namespace

The Samba-LDAP distro consists of:

Samba::LDAP - Which is the rest of smbldap_tools.pm, that doesn't fit into the classes below
Samba::LDAP::Base - Module implementing common functionality
Samba::LDAP::Config - All Config related tasks from smbldap_tools.pm
Samba::LDAP::Group - All Group related tasks from smbldap_tools.pm
Samba::LDAP::Machine All Workstation related tasks from smbldap_tools.pm
Samba::LDAP::User - All User related tasks from smbldap_tools.pm

Samba::LDAP::Base is just subclassing Class::Base

Some preliminary screenshots of SOSA (very, very beta as I am working on

Screenshot 1
Screenshot 2
Screenshot 3
Screenshot 4
Screenshot 5
Screenshot 6

Thanks for your time and look forward to your comments, especially related to the distribution layout.