Google Summer of Code Proposals

Revision 2 Revision 1

Proposal 1: The system of scheduled tasks


Abstract:
The system of scheduled tasks is to make the site function automatically.
It gives the administrator an opportunity to schedule some tasks and then
just follow their accomplishment from the administrator's interface.
The following is to be scheduled:
  1. Optional backup
  2. Holiday greetings
  3. Clean up of Temp Folder
  4. File synchronization (might be with ftp)
  5. Update checking
  6. Search indexing (need an advice)
  7. Custom Scripts (for advanced administrators)
In case more features are suggested, I will gladly add them to this list.

Detailed description:
I am Edvard Ananyan, a 19 years old undergraduate student at Yerevan State
University majoring in Applied Math and Applied Physics (Department of Physics)
and highly interested in computer science. For more info about me, please visit
http://edo.webmaster.am

I offer to create a new tool for Joomla administrators, which, as mentioned
above, will make the site perform some scheduled tasks automatically, and thus,
will make the administrator's work easier.

The following steps are to be done:
  1. Creating an interface for the administrator, which will let him to make a
    custom script schedule. This step will not take long, since I already
    have an experience of creating such interfaces. (by June 15)
  2. Testing the scheduling mechanism on Windows and Unix. (by June 18)
  3. Writing the default custom scripts listed above using PHP. If required,
    other programming languages are also possible to use. After each script is
    written, it has to be tested. My priority is optional backup (this is to be
    done before the mid-term), after which, the queue is as listed above.
  4. Writing the documentation including the user guide and a new custom
    script-writing guide. (by August 15)
  5. If there is a time, I will also try to create and test an interface
    for Joomla 1.0
Let us review the scripts in details:
  1. Optional backup
    It will be possible to choose what to backup (e.g. Database, folders, etc.),
    select the backup format (e.g. tar, gz, zip, bz2, etc.)
    and the destination folder (can be on other ftp server)
  2. Holiday greetings
    The special dates will be marked and the corresponding greeting texts will
    be prepared, for which I have to research the regional holidays and greetings
    and include all of them. Also an administrator can select some other dates and
    prepare greetings, or customize default greetings.
  3. Clean up of Temp Folder
    Administrators will be given an opportunity to mark the folders that are to
    be cleaned up periodically. An option of cash cleanup will be also included.
  4. Files synchronization (might be with ftp)
    The idea is clear. Administrators will choose files/folders on remote and
    local sites, which he would like to keep synchronized.
  5. Update checking
    Some information concerning updates of components, modules, and plug-ins will
    be sent via e-mail to administrators, and then, they can proceed.
  6. Search indexing (need an advice)
    I have yet to get familiar with the way Joomla makes search. If I get some
    information and a little help, I will proceed with this task as well.
  7. Custom Scripts
    Administrators will be given opportunity to create and schedule their own scripts.
I will use the following tools:
  1. PHP
  2. As much Joomla API as possible
  3. Cron on Unix systems and schtasks.exe on Windows for scheduling.

With my participation in GSoC I hope to make new contacts with my colleagues around
the world, and, of course, to get valuable knowledge, skills, and experience.

Comment History
04/01/08 00:04 Samuel Alexander Moffatt
Can you detail what you will do and when you will do this in terms of dates etc.
04/02/08 06:04 Edvard Ananyan
I appreciate your suggestions about The system of scheduled tasks.
Here are the dates:
   1. by June 15
   2. by June 18
   3. by June 25 (only optional backup)
   after, each default custom script will take not longer than 10 days
   4. by August 15
I have already made these changes in the proposal. As to the detailed description of what I am going to do, I cannot say more, just need to start doing the job.
04/07/08 01:04 Amy Stephen
I would love to think we could do something like this. When I consider how complicated it has been for FTP to be implemented, I can't help but wonder if such a system is too complex. There are so many issues, like permissions, version differences, even scheduler differences.

Maybe it would make sense to pick the most common environment and a set of basic administrator functions and make it work for that platform. Then, expand to the next platform, specifically releasing it as "tested" on specific platforms.

I am a big fan of phone home update notifications but I believe that has already been selected as a goal for v 1.6.

How have you considered this type of complexity? Certainly love this idea. I would hate to guess what percentage of Joomla! users do not have automated database backups.

Love the idea - simply wonder about the practicality. I am not a system administrator expert - just have seen a lot of end user questions come up in the forums just for the new FTP layer.
04/08/08 08:04 Edvard Ananyan
Dear Amy,
Thank you so much for your comments. I find them constructive and helpful and would like to pay attention they deserve. Unfortunately, spent a lot of time writing the proposals, I am currently up to my ears in the swamp of midterms in the University (until April 12), and it is hard for me to focus on anything else. Please accept my apologies for now, and I will get back to you as soon as I can.
Sincerely,
Ed
04/13/08 17:04 Edvard Ananyan
I agree with you: will try to make it work on the Unix platform first. Then, while proceeding, will expand it also on Windows marking the particular version and platform, where the test was made. The same will do with FTP; the version and platform, where the test was made will be defined.
Buy Oil Paintings, Acrylic Paintings, order custom painted Murals, Portraits, Landscapes, Still Lifes, Flowers, Replicas and Art Prints on ArtMaestro.com.
Translate and make your website multilingual with GTranslate.