SWAT Feature Details and Discussion
rvelhote at gmail.com
Sat Apr 25 17:45:31 GMT 2009
I posted during the morning to the summercode mailing list but the
message doesn't show up and I just discovered there are only three
subscribers so I'm sending to technical instead.
I'm (re)posting some relevant parts of my initial proposal hoping for
some additional feedback. As I said before this was already discussed
with Jelmer but I am of course open to more suggestions/changes.
A Web Administration Tool for Samba4
$ Not much to say ehe...
New SWAT usage guide
$ A Wiki article for now. Who knows in the future, an inclusion in the
Samba4 user guide.
Allow the user to set comments (on shares for example)
$ Important for users to keep documentation on what a share is for
Try to keep comments, default values and parameter order in smb.conf. In
other words, don't completely destroy smb.conf
$ One of the big complaints of the previous SWAT was that it destroyed
smb.conf. I will attempt to not destroy it :)
$ It's not yet decided if SWAT will be distributed with Samba4 or if it
will be a separate package. In any case the process of getting SWAT
working should be as smooth as possible.
Allow for easier integration of new Samba parameters in the SWAT and its
$ Because it's still under (heavy) development there will be many
changes to parameters. This may also be true even after development when
new stuff needs to be added. In any case I want to create a way to make
this process painless.
LBD editing and browsing
$ Managing the database engine in Samba4
Modularity (for example, changing passwords and managing shares would be
a module. New feature means new module to plug in)
$ Important for future development and contributions. I have decided to
use Pylons as a web framework and using the MVC pattern I believe we can
achieve this quite well.
HTML templating to allow easy customization (a distro could use its own
logo or change colors for example)
$ A result of modularity. It's mainly to allow users to do whatever they
want in regards to how it looks. Sometimes people don't use/use
something based on how it looks ;)
User selection for share permissions (valid users, write list etc.)
$ List of selectable users to attribute to shares. I will also include
Assistance in path selection for shares
$ Help the user select a path to share instead of just punching it in.
Less error prone.
Samba Registry editor
Samba backup and migration tools
$ Backups everything Samba needs to setup/move a server based on an
existing configuration. Also provide the means to re-import it.
Accessing/Analyzing Log files
$ Important because it's an Administration Tool :)
Attempt to run through the "Samba Checklist" to help diagnose problems
$ Attempt to address common problems with Samba directly in the Web
Interface. I based this item on the checklist present in the Samba3 manual.
Better monitoring of Samba related processes and daemons
$ Try to do something better than just checking if it's up/down and
doing startup/shutdown. I'm not really sure on what to improve here and
what needs exist in this area.
Handle existing includes in files
$ Samba has an "include" instruction for better organization (mainly for
shares I presume). SWAT should be able to deal with that. This is also
part of the "Don't destroy smb.conf" part.
Regular login screen in addition to the HTTP Authentication pop-up
Allow editing of SWAT configuration within SWAT
$ Not much to say here. If someone just wants to change ports or
deactivate or do something else I haven't thought of yet.
$ Not much to say here
As I mentioned above I'll be using a Web Framework to aid development of
SWAT. I want to make SWAT modular to ease development, contributions and
testing and existing frameworks provide this with the MVC pattern. I
chose Pylons because it's light, well regarded and I used it for a bit
and it seemed nice as well :)
experience using it.
Besides these it will be the standard stuff for Web Development as well
as Samba4 and an LDAP install.
I had planned some milestones but I'm already missing them because I
planned to start way too early :) Anyway, these are my new plans for now.
//M1 - Reached before that start of the official GSoC coding date)
$ HTML Prototyping and Base SWAT Architecture Done
I plan on doing an HTML prototype first so that the community can see
how SWAT will look like before I start the actual implementation. I'm
hoping to get plenty of feedback on this. I already thought about this
and I have some ideas in my head but nothing very clear.
Another important part is defining a good architecture. I'm not just
mentioning the modular aspects of the features but I want to have a well
defined SWAT core.
M2 - Reached by GSoC "start coding date" but never before M1 is reached//
$ Start Development
That's all for now.
More information about the samba-technical