Hello Gregor and Lenya Developers,
Please find attached my Google Summer of Code proposal for the
lenya-editor. Sorry for being so late.
I'd appreciate your reviews/comments. Any question please feel
free to contact me.
Zhiwu Xie
Editor Plug-in APIs for Lenya
=============================
by Zhiwu Xie
[EMAIL PROTECTED]
Synopsis
--------
This project will investigate and implement the editor plug-in APIs for Lenya,
an open source Java/XML Content Management System.
Benefits
--------
The proposed Lenya editor plug-in APIs will:
- Enable the ability to readily plug in different editors to Lenya
- Free the Lenya developers from maintaining multiple editors shipped with Lenya
- Enable the functionality evolving with upgrades of different editors.
- Enhance the Lenya usability by allowing users to use the editors of their
choice.
Deliverables
------------
- Editor plug-in APIs for Lenya
- Implement plug-ins for BXE and/or Kupo to demonstrate the applicability of
the API approach
Project Details
---------------
Although currently shipped with two open source editing packages BXE and Kupo,
Lenya is still in need of an editor that can fully meet the ever-growing
requirements for different content management use cases. Some of the
requirements identified by the Lenya developers are:
- Multiple browsers compatibility including IE and Mozilla
- Can edit XML, XHTML, and HTML
- Blog publication support
This list is expected to grow longer with the time, but none of the included
editors can meet even the basic requirements listed above.
A naive solution to the problem can be extending either BXE or Kupo, or another
editor that shows better prospect to meet our requirements. But a closer
analysis reveals its limitations:
- The current Lenya editor integration method, or the lack of it, is very time
and resource consuming to upgrade and maintain, therefore is not sustainable
for an open source project like this. Concerns have been raised by Lenya
developers that ��we are too short on energy and developers to support this
many editors��.
- Which editor shall we choose to support? They all have strengths and
shortcomings. Even if we can make the best choice for now, how can we be so
sure about the future? What if the chosen editor is dated in a year yet no
subsequent development will be scheduled?
- After all Lenya is about content management, not content editing. Is it
worthwhile to put so much effort in editor development?
- Large numbers of editors are widely available for various purposes. Even
though none of them can be identified to meet all Lenya��s requirements, put
together as a whole they can, and should remain so with their own evolvements
and upgrades. There is no need to re-invent the wheel.
Apparently, finding a way to mount the wheels is a smarter solution. The
proposed Lenya editor plug-in APIs will take this approach and solve the
problem by providing clearly defined interfaces for an editor software to be
plugged into Lenya. The problem can therefore be well managed by defining
contracts or interfaces between Lenya and the editors Lenya uses, with Lenya as
the client that requests services from the interfaces, and various editors as
the servers that provide the services required.
We make no assumption on which editors can be used. They can be either browser
based editors or standalone applications, open source or commercial software.
The only requirement is that for an editor to be plugged in, it must provide
implementations to these APIs.
In order for Lenya to smartly choose the editor for a specific purpose, the
proposed APIs should also "provide a way to tell the Lenya core what documents
can be edited and what it takes". By doing so, when an editor plug-in is
available and shows it can edit a certain kind of document, invoke the editor
and the functionalities should be readily working without further twists.
The proposed API will be implemented with the same tools used for Lenya
development. The applicant will work closely with Lenya developers, especially
the mentors to ensure the project's usefulness to Lenya.
Project Schedule
----------------
Total development period will be 8 weeks from 24 June 2005 to 20 August 2005. A
breakdown of the schedule is as following:
- Week 1 and 2: Inception. Review and if required, study programming skills and
tools. Set up the development environment. Lenya editor requirements gathering
and analysis by pooling and requesting comments from Lenya developers.
- Week 3 and 4: Study Lenya source code. Continue consolidate the API
requirements. API analysis.
- Week 5: API definition
- Week 6 and 7: Plug-in implementation for either BXE and/or Kupo.
- Week 8: Remaining debugging. Testing, documentation, and review.
Biography
---------
I'm currently a 2nd year PhD student of computer engineering in University of
New Mexico. My PhD research is on digital library, a closely related topic to
content management and Lenya, and I plan to extensively use Apache��s Java/XML
packages in my research. My technical background includes high performance
computing, OO software development, and requirements engineering. I have
programmed with C/C++, java, and Matlab, developed algorithms and simulation
packages as well as designed and implemented University of New Mexico
Libraries' eResource Management System, a LAMP based web application. The Lenya
editor plug-in API project will introduce me to the open source software
development, to which I look forward to contributing more in my future career.
Reference
---------
ProposalEditors. http://wiki.apache.org/lenya/ProposalEditors
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]