GSoC Propsoal: GNOME centralized file sharing administration
杨杰
xtyangjie at gmail.com
Mon Apr 5 06:25:54 BST 2010
Dear Ubuntu developers,
I am Yang Jie, a 2nd-year MSc student in Xi'an Jiaotong University from
China. I am especially interested in the project of *GNOME centralized file
sharing administration* and want to apply for this project.
It has been multiple years since I had chosen Ubuntu as my major OS due to
its humanized and convinence( of course, another important reason is that
it's a Linux OS). I had got some opportunities to handle some administration
tasks based both on Ubuntu Server & Desktop Edition, when I contributed a
file server with samba & nfs, so I have had some basic knowledge about them.
Additional, my group do researches mostly on Linux, and I have some
experience on Open Source projects as well as a strong background of C++ &
Perl, so I think I am fit for this job. *The link of my proposal on the
Ubuntu wiki is as follows:*
https://wiki.ubuntu.com/GSoC/2010/YangJie
Be so kind to give me any adivce, please! Your advices will considerably
encourage me. I will be keeping on with the improvement of my proposal, to
make it as clear and proper as possible. I will try my best to give a
humanized file sharing administration tool with quality, as my contribution
to Ubuntu. I am the one for it!
The following is an abstract and some teasers of my proposal:
Abstract
In this proposal, an *extendible *GNOME centralized file sharing
administration tool is designed. It provides a *uniform *UI just like
Nautilus to browse and control the shared/sharable directories based on
protocols, which gives users a humanized interface to manage their sharing
intuitively and conveniently. The tool works based on a set of *Schema files
*in which record the necessary properties, scripts and service libraries of
specified protocols, and the whole configuration work flow is managed
by a *configuration
manager *implemented from a uniform interface, also based on specified
protocols. Both of the above features make it easy and convenient to add new
protocols to this tool, making it *a extendible architecture for long time
evolution*.
How will the tool serve for users & developers?
1. The centralized file sharing manager has a *main workspace *similar with
nautilus and a *administration tool *with individual interface. File sharing
tasks are carried out as the following method: Any of the mounted network
places through Samba/NFS are detected and shown in the workspace of this
tool, just like the style of nautilus. Users click on a mount point to open
nautilus and browse the files or right click on it to get the details.
2. People also use the menu bar or context menu in the tool to open
the *administration
tool*, in which users setup some parameters and mount a new network place.
The required parameters, such as protocols, URLs, folder path and mount
points and so on, are all given through a dialog box. Note that currently
only samba and NFS is supported.
3. Support for certain protocols should be *designed as module*, so that the
future work on *extend for other protocols are easy* to be carried out.
A tentative project architecture !
1.
My experience considered, I choose *Perl *as my main language,
*gtk2-perl<http://gtk2-perl.sourceforge.net/>
* as the graphical library to develop the GUI and *Moose *as the OO
framework when developing the backend;
2. The tool will be completed after 2 months with the 1st alpha version,
the tool will be able to support * Samba and NFS *file sharing;
3. The tool setup the configurations based on *a set of Schema files*.
These files are all XML files. According to the configuration files of a
specified protocol, Those files record the necessary properties in the conf
file and their meta-properties, scripts, and deb libraries to install the
services. The Schema file is the base of this tool;
4. There are three levels in the design of its architecture.
- The * UI *level has three modules. The main workspace is where the
shared directories are mounted and shown automatically and most
operations
towards sharing directories take place. The administration tool
is a dialog
box, in which users are able to add or remove a shared URL, share
directories with specified protocol in their computers and do other
necessary configurations. The Schema Viewer shows schema file of
specified
protocol in a humanized style.
- The *Protocol Management *level is where the configuration takes
place. Four modules handle the task. File Manager handles all the file
operations; Schema Helper analyzes Schema files to generate the property
hash table; Config Manager is a kernel module in this level. It
decides the
work flow according to the requirement of the current protocol,
and updates
the hash table according to user operation; Service Manager is called to
execute scripts or manages the deb libraries if necessary.
- The last level is the *file system *level, in which the *Schema *file
is the most important. As stated, Schema files record the properties and
other required information. Other important elements are the controlled
objects such as services, shared URLs and the deb libraries.
Milestones of the project
-
Week 1-2: Get more information on Samba and
gtk2-perl<http://gtk2-perl.sourceforge.net/>.
- Week 3-5: Start with a read-only GUI towards samba sharing
configurations.
- Week 6-10: Add to the function of reading the NFS sharing
configurations; Make it enable to modify those configurations to manage the
sharing.
- Week 10-12: Write the documentation and submit the project; tackle bugs
and submit patches.
Thank you for all !
Best wishes!
--
Yang Jie(杨杰)
hi.baidu.com/thinkdifferent
Group of CLOUD, Xi'an Jiaotong University
Department of Computer Science and Technology, Xi’an Jiaotong University
PHONE: 86 1346888 3723
TEL: 86 29 82665263 EXT. 608
MSN: xtyangjie2004 at yahoo.com.cn
once i didn't know software is not free; then i knew it days later; now i
find it indeed free.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: https://lists.ubuntu.com/archives/ubuntu-soc/attachments/20100405/7364f497/attachment.htm
More information about the ubuntu-soc
mailing list