= 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 (versioning * user notes / annotations === Basic information === We limit the examination to four systems: Magnolia, mediaWiki, eXist and eSciDoc: || ||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 for example 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]|| Functions which are not mandadory for our requirements are marked italic. === 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]] ### temporary stuff ### === 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)