Google Summer of Code Proposals

Proposal 2: XML DTDs, XSL and XML Schemas for all XML files used in Joomla!


Abstract:

Detailed description:

IDEA & BENEFITS:

XML files are used in various places throughout Joomla! Historically, the installer XML files have had DTDs against which they can be validated. However, there are a number of known issues with these DTDs and there are other XML files used in Joomla! that have never had DTDs written at all. Furthermore, DTDs can only catch certain classes of errors within XML files and we need to look beyond DTDs to look at XML Schemas to catch other classes of errors. I'm also positive to create XSL for XML files, which will enable formatted output of XML files, it will help developers to view XML files with no efforts.

This will help Joomla! developers to write strict and valid XML code.

ABOUT ME:

I am Edvard Ananyan aka edo888, a citizen of Armenia. I am 20 years old, and I have been granted a full scholarship to be an undergraduate student at Yerevan State University majoring in Applied Mathematics and Physics (Department of Physics).

Being highly interested in computer science, I have also accomplished a number of open source projects. Some of them are listed below:

  • GTranslate: an automatic translation module based on Google Translate
  • Jumi: Joomla! custom content extension package (in partnership with Martin Hajek)
  • Jumi Tips & Tricks
  • JosLang: Multilingual system plugin (in partnership with David Thomas)
  • Xinha WYSIWYG editor plug-in

As you may know I'm also a Joomla! Bug Squad member.

You can read more about myself on my website: http://edo.webmaster.am/about

Here is also an online reference: http://tinyurl.com/edo888 -> http://jumi.vedeme.cz/index.php?option=com_contact&view=contact&id=2:ed&catid=12:contacts&Itemid=49

MILESTONES & DEVELOPMENT PROCESS TIMELINE:

All documentation about XML, DTD, XML Schema and XSL could be found at http://www.w3schools.com

  1. Review all XML files used in Joomla! and list them on the documentation wiki
  2. Where DTDs already exist, review, revise and update them as necessary
  3. Create DTDs for those XML files that don't currently have one
  4. All current DTDs force some XML elements to appear in a particular order which is neither enforced nor required by Joomla! If possible, solve this problem so that designers and developers can place those elements in arbitrary order in the XML and still have the XML files validate against the DTDs
  5. Create XML Schemas for all XML files used in Joomla!
  6. Create XSL for all XML files used in Joomla!
  7. Ensure that DTDs and XML Schemas are well commented and/or thoroughly documented
  8. Write comprehensive documentation covering the process of validating an XML file against both DTDs and XML Schemas. Some documentation already exists that can be used as the basis for this.
  9. Expand the collection of test cases to include XML files that will not fail in Joomla! but which may or may not fail to validate against the DTDs or XML Schemas.
  10. Ensure that the test case collection is properly documented so that changes to Joomla and/or the DTDs and XML Schemas can be properly tested.

I'm going to work 8 hours a day, 5 days a week; it's a full time job.

April 20 - May 17: TIME TO SPEAK WITH THE MENTOR
Week 1 May 18 - 22: (1), (2)
Week 2 May 25 - 29: (3)
Week 3 June 1 - 5: (4), (5)
Week 4 June 8 - 12: (6)
Week 5 June 15 - 19: (7)
Week 6 June 22 - 26: (8)
Week 7 June 29 - July 3: PREPARE FOR THE MID-TERM EVALUATION
Week 8 July 6 - 10: SUBMITTING THE MID-TERM EVALUATION
Week 9 July 13 - 17: (9), (10)
Week 10 July 20 - 24: RESERVED TIME
Week 11 July 27 - 31: RESERVED TIME
Week 12 August 3 - 7: PREPARING FOR THE FINAL EVALUATION, PUTTING EVERYTHING IN THEIR PLACES
Week 13 August 10 - 14: PENCILS DOWN, SUMMARISING RESULTS, WRITING DOCUMENTATION
Week 14 August 17 - 21: SUBMITTING THE FINAL EVALUATION
August 22 - 25: TIME FOR LAST MINUTE DECISIONS

MOTIVATION:

  • Bringing new functionality to Joomla!
  • Making a big step towards a professional career
  • Being involved in serious project development for getting more experienced
  • Meeting interesting people, learning from them and SIMPLY HAVING FUN!
  • Increasing chances to get full scholarship for masters degree in the US
  • Earning some money for my further education
  • Making a dreams come true

I'm looking forward to continue contributing to Joomla! in the future and organizing Joomla! Armenian community.

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.