Name: K. Sreepathi Pai
Email: kspb46@yahoo.com
IM: kspb46 on Yahoo! (but I'm on dialup! Please send me mail+time if
you wish to chat with me)
Samba! This is the only open-source project that strikes a personal
chord with me for Google SoC 2006. No other project would get me so
motivated.
My experience with Samba has been largely on the user/administrator
side (but with a compiling+debugging experience as well). I've been
heavily involved in converting our college's infrastructure from
Windows to (only) Linux+Samba3 (800+ users). It's been a wonderful
experience with great software!
The project I'm applying for is (now) on your project ideas page
entitled 'User Manager for SWAT (Samba 4)'. Here are my key
motivations for this project:
* Samba+Linux is a surefire Windows (server-side) killer
* Windows Administrators _need_ graphical tools for user management
(this isn't that they aren't willing to learn command line tools,
but graphical tools are simply more convenient for repetitive
tasks -- I learnt this the hard way)
* Samba 4 AD infrastructure _will_ require a graphical tool to
allow administrators to fully appreciate and use its complete
feature set
* I was planning to do it anyway ;-) [Linux-based Samba3
administration, a NT4 Server Tools replacement using a native
toolkit]
Currently I have written a number of shell (Windows and Linux) and
web-based programs (PHP) to interact with the LDAP+Samba3 deployment
in college for rudimentary user management. The Google SoC project
while not reusing any of it, will help bring all of it together.
HOW much time do you expect to have for this project?
Following commitments during the SoC period:
May 18 -- June 6, Final Engineering Exams
July 20ish -- Possible move to new university (admissions still in progress)
No other commitments. This is my free-est time in 4 years of
engineering school!
PLEASE describe any experience you have:
[restricting to project-relevant experience]
PHP-based developer for past 5 years. Can write secure programs
:-). Good understanding of Cryptography and its proper usage. Have
written tools for Samba/LDAP user management in PHP.
Very comfortable with Javascript, have written large libraries for use
in web applications. No AJAX experience (yet).
Worked with LDAP using variety of tools and libraries and programming
languages. Setup and maintained OpenLDAP based server for Samba3 with
custom schema for college.
appwebserver, ejs and qooxdoo are new to me, but embedded servers and
languages are not. I've played around with SpiderMonkey (Mozilla's C
implementation of JavaScript) a bit (very little!), and poked around
GAIM's Tcl loader. Both of these experiences were before SoC. Also
worked with AD scripting.
PLEASE describe your usage experience/familiarity with the project you
are applying for:
Started with Samba 2.2 on Debian Woody for a fileserver. Moved upto
Samba3 on Debian Sarge as a PDC for the entire college. Implemented an
OpenLDAP-based Samba3 setup, writing all migration scripts and
management tools. Please visit
for source code and
screenshots of these tools.
Time-scale: 2 years. Was daily administrator for atleast 6 months,
troubleshooting Samba3 migration problems with users, software and
computers. Nothing the Samba docs couldn't solve :-).
PLEASE describe any open source development experience:
Have submitted bugfixes to Moodle, maintain local patches to
SquirrelMail.
Written Newsy, a no-frills web-based RSS/Atom site publisher.
Co-author of VL2, a web-based search engine for Electoral Rolls.
HAVE you applied (or plan to apply) for any other 2006 Summer of Code
projects? If so, which ones?
No.
WHAT school do you attend? How many years have you attended there?
What is your specialty/major at the school?
Studying Computer Engineering for the last 4 years at Don Bosco
Institute of Technology, Mumbai. Affiliated to the University of
Mumbai (Bombay), India. Electives chosen were 'Advanced Computer
Networks' and 'Neural Networks'. Enjoy Operating Systems, Networks and
Compilers.
PLEASE describe your proposed project in detail, including
deliverables and expected timeline with milestones (answer in detail):
The proposed project would be an extension to Samba 4's SWAT component
to perform the following tasks:
* Create/Remove individual users
* Browse and search for users
* Manipulate user properties such as:
- Personal Information
- Samba Login Information
- Account Settings (locking, password expiry, etc.)
It would be primarily written in EJS, and would use Samba 4's JS API
to perform the above tasks. An AJAX-ified UI (similar to the RegEdit
component in SWAT right now) is what I'm looking to develop.
I'm going to aim for UI conformity with the MMC for ease-of-migration.
Deliverables:
The SWAT component for user management with the following
features:
* Functionality equivalent to NT4 Server Tools (atleast)
* MMC-like AJAX interface
* Ability to work in 'normal' Samba environments
Timeline:
The SoC runs from June to September. June and July are very free for
me (can work full-time), August is so far unknown. My approach to
coding is usually to get something working, and then fine-tune
that. My tasks as I see them are:
May and June 2006
[at this point I've already downloaded Samba4(TP2), compiled and
played around with SWAT and the other tools]
* Get to know Samba4's JS API
* Get familiar with appweb, EJS and SWAT
June 2006
[at this point I am familiar with the capabilities of all the tools
and API's I'm going to use at the programmer's level. So this month
I'll be using those APIs only]
* Code non-AJAX Add/Search/Remove
* Code prototype non-AJAX user properties to get a feel for API
* Start coding AJAX Browser for users
July 2006
[at this point, I'm very comfortable with EJS, and will start porting
the non-AJAX versions to AJAX. This month I'll be concentrating on the
UI only --- I already know how to perform actions, UI linkups are
necessary]
* Port actions to AJAX browser (Add/Remove)
* Start coding properties UI for user accounts
August 2006
[at this point we have a final UI framework, most major actions are
done and working, and fine-tuning of UI, testing and tying up any
loose ends are required. I wish to get done by this month to avoid
uncertainty]
* Finish up properties UI
* Commence testing in college (and in the wild)
* Tie up any loose ends
Please do not hesitate to contact me for clarifications and/or further
details. Contact details are at top of this document.
WHY are you well suited to complete this project?
It's a personal itch. And everything has just come together. SWAT has
just gone from CGI to EJS. Samba4 needs a strong user management
interface for its AD functionality. I have (some) experience with the
exact problem. I can code well!