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!