SoC: User Management Interface for SWAT (Samba 4)

S P sree314 at
Sat Jun 3 16:30:01 GMT 2006

My SoC work will involve the following 3 components:

1. GUI for User Management for SWAT 4
2. Javascript Library for User Management
3. EJS Plumbing for Samba 4 (where required)

I'll proceed bottom up:

3. EJS Plumbing for Samba 4

This will involve writing the "plumbing" (EJS wrappers) so that
JavaScript programs can access Samba 4 functions. Frankly, this is
already done by others in the SAMBA_4/source/scripting/ejs directory
(as I had expected). In particular the ldb functionality seems
sufficient for user management, as far as I can tell.

Rafal: could you please tell me a little about libnet? You mention
that I will be using it, but it looks like it is used for a remote SMB
server. Also, ejsnet.c seems to wrap it. Does SWAT use this?

2. JavaScript Library for User Management

This is a thin layer over the Samba EJS interface to make it
convenient for JavaScript programs to access user management
functions. In particular, its API will provide the following

	    * Add users
	    * Set properties of a user
	    * Remove users
	    * Enumerate users

It may turn out to be a very thin layer. In reality, I write this
layer to get comfortable with the "meta" parts of the SoC project,
including compilation issues, EJS API familiarization, and the _exact_
(programmable) nature of my tasks. It also allows me to play separately
with Qooxdoo and AJAX separately.

The intended user of this layer is the GUI (which I'll be writing),
but other scripts (non-GUI too) should also find it useful.

1. GUI for User Management for SWAT 4

This is the actual user visible part of the project, and the actual
measure of the project's success. It consists of (simplistically) of
two components:

    * User Browser
    * User Properties Editor (for individual user)

This will most likely go from plain HTML to Qooxdoo or whatever
graphical toolkit we will be using in SWAT. The recent discussion on
the new qooxdoo branch was very informative, but I see difficulty in
using it since I'm not re-writing SWAT, and other components in SWAT
(esp. the registry editor) are already using an older version of
qooxdoo. Since I'll be working on this much later (July), I think we
can discuss this later. Possible solutions look like use old, use new
or use new+old together.


M1: This involves completing 2 and 3. I'll have roughly about 14
complete days for this. I should be able to demonstrate most aspects
of the project in a non-GUI script.

M2: This is 1, with modifications to 2 and 3 where necessary.

My apologies for the under-specification, I would have liked to
provide API and code, but have not yet been able to look at the Samba
4 code at that level of detail due to my (still-ongoing) exams. But
hope this clears up the nature and scope of my project.

Sreepathi Pai

More information about the samba-technical mailing list