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