SummerOfCode/2007/JonathanSteffan

= Fedora Documentation Publishing Platform =


 * Student: JonathanSteffan
 * Mentor: PatrickBarnes

Abstract
Currently Fedora has got a small mix of elements that we are working into a comprehensive, end-to-end documentation solution. Some elements exist, some need to be developed. All use popular open standards for XML document publishing -- a combination of Wiki, Plone, Python, Turbo Book XML, and good old Makefiles are just a few elements in the mix.

1. As a first step, the new publishing platform could include adding a Publish as Draft functionality to the Wiki. 1. Publishing platform should be able to use the Wiki's built in tools for converting Wiki content to Doc Book XML toolchain, and publish that to docs.fedoraproject.org 1. Currently this publication is a set of static HTML pages that are built with PHP includes. As an initial step, this system may be rebuilt using Python or bash, which are languages acceptable for Fedora Infrastructure. 1. One target location for publishing is a Plone content management system (CMS). If this Plone system is going to be in place in time for the development of this new publishing platform, then a new Plone module needs to be built. It should: 1. Full Text search engine for all content Fedora, including man pages and other documentation.
 * Take a trigger from an earlier publication script to take incoming content, such as from email or Wiki's Publish as Draft function, to then ...
 * Checkout and build HTML (and PDF) from documentation source in CVS, then ...
 * Publish that content into the beginning of a Plone workflow as a Draft, and ...
 * Be able to make a CVS commit back into the source document with the comments of an editor (as commit log and within the body of the content), so that an editor can send a document back to CVS for a re-write with one step, and ...
 * When the writer has made changes to the content and wants to resubmit, there is a way to trigger the submission script to put this document back into the same Plone workflow record.
 * ... plus other elements that come from the workflow.

Detailed Description
This would include all of the following concepts, and more:

http://fedoraproject.org/wiki/FedoraBounties#head-b9cdb90795e6926c3a0db184b9dd2ca429936644 http://fedoraproject.org/wiki/FedoraBounties#head-f4affa8058dbc6a6b0568c30659cba5ccf14100d

It would also include a full revamp of http://searchfedora.org/ and finishing up the bot I have wanted to do for some time now. http://fedoraproject.org/wiki/WikiBot

I think my project proposal should be based on what infrastructure and docs teams need. I would basically do anything those teams wany with regards to developing a documentation system that is a hybrid moinmoin wiki and plone CMS.