= Future development MPDL = == Software selection == We examine different software systems by means of their main functions and features for our extended user requirements in the area of web based access to XML-documents. The main new requirements are: * state of the art web GUI * datastore / repository functionality (user management, versioning of documents, history function) * user notes / annotations within documents * easy document uploads * scalability We limit the examination to four systems: Magnolia, mediaWiki, eXist and eSciDoc: === Basic information of the software systems === || ||Magnolia||mediaWiki||eXist||eSciDoc|| ||Webpage|| [http://www.magnolia-cms.com/ here] || [http://www.mediawiki.org/wiki/MediaWiki here] || [http://exist.sourceforge.net/ here] || [https://www.escidoc.org/ here] || ||MPIWG installation|| see [http://hartmutkern.mpiwg-berlin.mpg.de/ here] || see this [https://it-dev.mpiwg-berlin.mpg.de/tracs/mpdl-project-content TRAC] || see [http://mpdl-proto.mpiwg-berlin.mpg.de/mpdl/query.xql MPDL system] || test system: see [http://pubman.mpiwg-berlin.mpg.de/pubman/ Pubman] || [[br]] [[br]] === Basic needs === || ||Magnolia||mediaWiki||eXist||eSciDoc|| ||Scalable|| ++ || ++ || - || ++ || ||Stable|| ++ || ++ || - || + || ||Performant|| ++ || ++ || ++ || + || ||Customizable|| ++ || ++ || ++ || ++ || ||In use at MPIWG|| ++ || ++ || ++ || + || ||Free software|| + || ++ || ++ || ++ || === Datastore === || ||Magnolia||mediaWiki||eXist||eSciDoc|| ||User management||++||++||-||+|| ||Version control system||++||++||-||+|| ||Index / Query system||++||++||++||++|| ||Many document formats (xml, pdf, doc, html)||++||++||+||++|| ||Discussions / Blogs||++||++||-||-|| === Extensions / Development === || ||Magnolia||mediaWiki||eXist||eSciDoc|| ||Predefined extensions / templates||++||++||-||-|| ||Programming||++ ^[#note1 1]^||++ ^[#note2 2]^||++ ^[#note3 3]^||+ ^[#note4 4]^|| ||Index / Query system||++||++||++||++|| ||Many document formats (xml, pdf, doc, html)||++||++||+||++|| ||Notes / Annotations||-||-||-||-|| Notes: [[br]] [=#note1 1]: Freemarker, Java Server Pages, XSL/CSS, limited XPath (works also in JCR 2.0 ?)[[br]] [=#note2 2]: php, Java over JavaBridge [[br]] [=#note3 3]: Java, XQuery / XPath, XSL / CSS [[br]] [=#note4 4]: Java [[br]] === MPDL software === || ||Magnolia||mediaWiki||eXist||eSciDoc|| ||Get XML page fragment||-||-||++||-|| ||Language technology||-||-||++||-|| ||Document upload||++||++||- ^[#note1 1]^||+ ^[#note2 2]^|| ||Web viewer||+ ^[#note2 2]^||+ ^[#note2 2]^||++||+ ^[#note2 2]^|| Notes: [[br]] [=#note1 1]: already implemented but not stable enough [[br]] [=#note2 2]: has to be implemented (relative easy) [[br]] [[br]] [[br]] [[br]] ### temporary stuff ### Functions which are not mandadory for our requirements are marked italic. === Magnolia === * Advantages * version control system with easy usable history functions (commercial EE version) * many installations and users worldwide * multimedia support (image, sound, video) * Disadvantages * user interface: all web pages have to be implemented * XQuery support has to be implemented in Java (relative easy) === mediaWiki === * Advantages * version control system with easy usable history functions * many installations and users worldwide * user interface * already included (Wiki web pages) * simple (e.g. for data uploads) * user know the Wiki system * no extra web server * many extensions / templates * footnotes: [http://meta.wikimedia.org/wiki/Help:Footnotes internal], [http://www.mediawiki.org/wiki/Extension:Cite Cite] * [http://wikisource.org presentation of old books] * multimedia support (image, sound, video) * Disadvantages * XML/XSL/CSS support has to be implemented in Java (relative easy) * XQuery support has to be implemented in Java (relative easy) === eXist + Zope === * Advantages * some installations and users worldwide * XQuery/XPath support * Disadvantages * not scalable for many documents (> 1000 XML documents) * not really stable * many system crashes at startup time (up to 2 days) * sometimes system crash when a document is uploaded * no usable version control system included, no history functions * user interface: all web pages have to be implemented === eSciDoc === * Disadvantages * not many users, installations and developers * performance of many queries not tested * very complicated: much work for administration and development (API etc.) * version control system: no easy usable history functions * user interface: all web pages have to be implemented * not many extensions / templates * XQuery support has to be implemented in Java (relative easy)