Victor Carbune


April, 20 – May, 11 (three weeks) – Informing the community about the project on the community blog and by posting a thread on the forum. Continuos documentation, experimental coding in Joomla! Framework. After this period I should be able to adapt very good to the Joomla! Framework and coding style.

May, 11 - May, 19 - HTML code compare feature implementation for the current existing component. This helps on getting a very good insight on the way the component code is structured.

May, 19 - May, 30  - Restructuring the whole component and adding javascript in order to improve the user experience in the back-end. The most important thing is to have a component easy to adjust for the modifications that Joomla! 1.6 will bring.

May, 30 - June, 11 - Front-end side, pretty similar to Google Docs through some content plugins.

(June to July is month when I have my final year exams at my university)

June, 11 - June, 18 - Making research on current existent version control components. Making a list with other features that would be nice to have them implemented. Also I will discuss with my mentors & community the adjustments that need to be made in order to make the component Joomla! 1.6 compatible. Implementation of such adjustments & other mandatory features.

June, 18 - June, 30 - Documenting for the second part of the summer. Some (hard) exams at my university. I will document on the structure of the com_content component in order to successfully code the second project and get a very good knowledge of the table structure.

July, 1 – July, 8 – Bug solving issues, testing the final code of the content versioning component and discuss any issues that could appear in order to be Joomla! 1.6 compliant. At this moment we should have an enhanced Version Control component.

July, 8 – July, 13 (5 days or less) – Preparing the mid-term report and submitting it to Google.

July, 13 – July, 28 – Migrating all the current features to the 1.6 trunk (compare/merge and all the other views)

July, 28 - August, 2 - Implementing concurrent editing and auto-saving for draft mode

August, 2 - August, 5 - Implementing branch view

August, 5 - August, 7 - Deleting and rotate option for revisions

August, 7 - August, 14 - Implementing JTableDiff, a table that will extend JTable and will override default methods for saving and loading, so that it enables automatic revisions of any joomla extension, if used by the developer.

Auguts, 14 - August, 24 - Fulltime bug testing, code revisions and documentation.

The schedule may suffer modifications, depending on the way the project evolves. If I will finish some important parts earlier, maybe I will take several days off. After 1st of July I will finish with any tasks I have to do for my university, and I will certainly have more time to code & blog.

Google Summer of Code 2009 will be divided in the following two main tasks:

Version Control / Page Versioning

I. During the first part of the summer, until the midterm, I am responsible to finish the Version Control component started last summer of code. I have also decided to take all the existing Version Control components and compare them through the features they have. Although until the midterm only several features were mentioned in my application, I will make a list, and I will try to permanently be responsible of the evolution of this component. There will always be a to-do list, even though some features are beyond GSoC Scope.

The main tasks, in order to adjust the current VS Control component are:

  • Develop a front-end side for the current version control. I will have in view ACL for Joomla! 1.6, as soon as further information is available. The implementation will be pretty much the same as the one you can see when you edit documents with Google Docs.
  • Implement a more educational feature, html code difference in the component menu. For some users this might be of great help.
  • Restructure the current code of the component so that it respects the Joomla! MVC standards used for components developed for 1.5. At the moment the component has pretty similar version as the ones developed for Joomla! 1.0. There will be added some Javascript also, and the component menu will be modified, such that the user will get more faster to compare & merge versions (in terms of number of clicks).

System Restore / Extension Versioning

II. During the second part of the summer I will try to create an extension that should try to manage a versioning system in a generalized manner, that could be applied to any other extensions existing in a Joomla! Installation. The administrator should be able to choose which extensions need to be tracked as they are changed (parameters are modified, updates – modifications, module positions on the frontpage and so on)

This could be a first great step to System Restore. I will ask for continuous feedback. 

Main tasks:

  • Develop a versioning extension for core content component. This will give me a very good insight for further development.
  • Back-end administration component for com_content versioning.
  • As soon as these are finished all the rest of the time will be dedicated in order to generalize this extension: specific methods of obtaining the table structure of each other component/module/plugin (my approach consists in storing information about the structure of the tables needed when these are installed), generic modeling so that any table structure will efficiently be stored
Note: The specifications of this second part will change, specially closer to the midterm when I will decide with Parth & Allan a realistic implementation.

Joomla GSOC 2009 Student Victor CarbuneI'm currently enrolled in "Politehnica" University of Bucharest, Romania.  I'm a first year student.  I have participated in IT project competitions (and not only) during high-school and I have enjoyed working for them, since any new challenge requests a lot of new knowledge in order to successfully compete and win.

There are two main points regarding my GSoC 2009 Project.  First, I will extend the page versioning project component developed last year by adding adding features like html code differences and data searching through different versions and as soon as possible include it in the Joomla! 1.6 Core.  The second part of the summer I will try to take the first steps in order to develop a System Restore component, by trying to develop a general versioning extension.  Even though there will be major steps to do after this, I hope that at the end of the summer there will be available a versioning extensions for the content component.

Latest Blogs on Victor's Project

Victor's Project Links