Extension:Page Forms/Section handling in Semantic forms, GSoC 2013

Semantic Mediawiki features - Section handling in Semantic forms

 * Public URL: http://www.mediawiki.org/wiki/User:Himeshi/GSoC_2013_Application
 * Bugzilla report: https://bugzilla.wikimedia.org/show_bug.cgi?id=47606
 * Announcement: (link to the announcement of your proposal at the wikitech-l mailing list.

Name and contact information
Name: Himeshi De Silva Email: [mailto:himeshidslv@gmail.com himeshidslv@gmail.com] IRC or IM networks/handle(s): hpds on freenode Location: Colombo, Sri Lanka (GMT +0530h) Typical working hours: 6.00PM - 4.00AM

Summary
The http://www.mediawiki.org/wiki/Extension:Semantic_Forms is a useful and widely used feature of Mediawiki to make structured data, contained within template calls which are easy to create and edit. However at present Semantic Forms does not support structuring of wiki pages by page sections. Accomplishing this project would mean enable adding a "" tag to the form definition syntax and thereby allowing administrators of wiki pages to define page sections. Users will be presented with an input box for each page section in the form to add the text for that section.

The project would also extend the Page schemas extension to allow defining of page sections.

Benefit to Mediawiki
The Semantic Forms extension has long been useful as a way to make structured data, contained within template calls, easy to create and edit. However, there is another kind of standard structuring of wiki pages, that Semantic Forms doesn't yet handle: page sections. This project would add a "" tag to the form-definition syntax that Semantic Forms provides, so that administrators can set an entire standard layout for pages in their wiki, including both templates and sections; a much more complete solution. Each page section would then be editable in forms with its own "textarea" input. This project would also add section handling to the Page Schemas extension, which offers a more structured way to create the forms that Semantic Forms uses.

Short summary describing your project: what it means to accomplish, and how it will benefit MediaWiki or Wikimedia projects such as Wikipedia.

Deliverables
Include a brief, clear work breakdown structure with milestones and deadlines. Make sure to label deliverables as optional or required. It’s OK to include thinking time (“investigation”) in your work schedule. Deliverables should include investigation, coding, deploying, testing and documentation.

About you
We don't just care about your project -- you are a person, and that matters to us! What drives you? What makes you want to make this the most awesomest wiki enhancement ever?

You don't need to write out your life story (we can read your blog if we want that), but we want to know a little about what makes you tick. Are you a Wikipedia addict wanting to make your own experience better? Did a wiki with usability problems run over your dog, and you're seeking revenge? :-) What does making this project happen mean to you?

Participation
We don't just want to know what you plan to accomplish; we want to know how. Briefly describe your work style: how you plan to communicate progress, where you plan to publish your source code while you're working, how and where you plan to ask for help. (We will tend to favor applicants that demonstrate a clear vision for what it means to be an active participant in our development community.)

Past open source experience
Do you have any past experience working in open source projects (MediaWiki or otherwise)? If so, tell us about it! If you have already written a feature or bugfix in a Wikimedia technology such as MediaWiki, link to it here; we will give strong preference to candidates who have done so.

Any other info
Please add any other relevant information -- UI mockups, references to related projects, a link to your proof of concept code, whatever. There are no specific requirements, but we love to see people who love what they're doing. Show us you're excited about this project and have an interest in the background and are considering how best to make your idea work.