diff --git a/Doc/Sda1/Ref/Fig/docbook5Sample.png b/Doc/Sda1/Ref/Fig/docbook5Sample.png new file mode 100644 index 0000000000000000000000000000000000000000..83aaa39d804f9121af35a51aee8d577bcf544e65 Binary files /dev/null and b/Doc/Sda1/Ref/Fig/docbook5Sample.png differ diff --git a/Doc/Sda1/projects.xml b/Doc/Sda1/projects.xml index 09792b9b098dfd7a58ba56caa69d230975821d27..eb40285e8a2e8576bb8be03dc9bc27bd32372055 100644 --- a/Doc/Sda1/projects.xml +++ b/Doc/Sda1/projects.xml @@ -53,7 +53,7 @@ <para>Choose a combination of year, sda1 and your alphabetically sorted login names as base name for the git repository e.g.:</para> - <para><code>2015_winter_er102_mm117_qs049</code>.</para> + <para><code>sda1_2016_summer_er102_mm117_qs049</code>.</para> </listitem> <listitem> @@ -75,12 +75,182 @@ </listitem> <listitem> - <para>Your resulting project should be easily installable / - runnable.</para> + <para>Your resulting project should be easily installable / runnable + like:</para> + + <itemizedlist> + <listitem> + <para><command>mvn</command> <option>package</option>; + <command>java</command> <option>-jar</option> ... (Command line, + no Eclipse / IntelliJ / whatsoever).</para> + </listitem> + + <listitem> + <para>Possible post execution of some SQL schema creating + script</para> + </listitem> + + <listitem> + <para>Well written installation documentation.</para> + </listitem> + + <listitem> + <para>Test the deployment yourself!</para> + </listitem> + </itemizedlist> + </listitem> + + <listitem> + <para>There will be an oral examination verifying active project + participation and complete project understanding for each <emphasis + role="bold">individual participant</emphasis>. </para> </listitem> </orderedlist> </section> + <section xml:id="sda1SectPrjDocbookCms"> + <title>Project <productname>Docbook</productname> + <acronym>CMS</acronym>.</title> + + <para>Implement a <orgname + xlink:href="https://vaadin.com">Vaadin</orgname> based <quote>mini</quote> + CMS managing <productname + xlink:href="http://www.docbook.org/tdg5/en/html/docbook.html">Docbok + 5</productname> (not <productname>Docbook 4</productname>!) document + instances. The <link xlink:href="http://www.xmlmind.com/xmleditor">XMLmind + editor</link> allows for easy editing of such documents. Consider the + following example screenshot:</para> + + <figure xml:id="sda1FgDocbook5Example"> + <title>Editing a <productname + xlink:href="http://www.docbook.org/tdg5/en/html/docbook.html">Docbok + 5</productname> document using the <productname + xlink:href="http://www.xmlmind.com/xmleditor">XMLMind</productname> + editor.</title> + + <mediaobject> + <imageobject> + <imagedata fileref="Ref/Fig/docbook5Sample.png"/> + </imageobject> + </mediaobject> + </figure> + + <para>The underlying XML code mirrors some relevant meta + information:</para> + + <programlisting xml:id="sda1ProgDocbook5Sample"><book version="5.0" xmlns="http://docbook.org/ns/docbook" + ... + <info> + <title>Project summer 2016</title> <co + linkends="sda1CalloutDocbook5Meta-1" + xml:id="sda1CalloutDocbook5Meta-1-co"/> + <author> + <personname><firstname>Martin </firstname><surname>Goik</surname></personname> <co + linkends="sda1CalloutDocbook5Meta-2" + xml:id="sda1CalloutDocbook5Meta-2-co"/> + <affiliation> + <orgname>HdM Stuttgart</orgname> <co + linkends="sda1CalloutDocbook5Meta-3" + xml:id="sda1CalloutDocbook5Meta-3-co"/> + </affiliation> + </author> + <pubdate>2.5.2016</pubdate> <co + linkends="sda1CalloutDocbook5Meta-4" + xml:id="sda1CalloutDocbook5Meta-4-co"/> + </info> + <chapter> + <title>Introduction</title> + <section> + <title>Starting <productname>Vaadin</productname></title> + <para>More work to be done!</para> + </section> + </chapter> +</book></programlisting> + + <calloutlist> + <title xml:id="sda1CalloutDocbkMetaData">Document meta data:</title> + + <callout arearefs="sda1CalloutDocbook5Meta-1-co" + xml:id="sda1CalloutDocbook5Meta-1"> + <para>The document's main title</para> + </callout> + + <callout arearefs="sda1CalloutDocbook5Meta-2-co" + xml:id="sda1CalloutDocbook5Meta-2"> + <para>The author's name and surname</para> + </callout> + + <callout arearefs="sda1CalloutDocbook5Meta-3-co" + xml:id="sda1CalloutDocbook5Meta-3"> + <para>The author's affiliation</para> + </callout> + + <callout arearefs="sda1CalloutDocbook5Meta-4-co" + xml:id="sda1CalloutDocbook5Meta-4"> + <para>Date of publication</para> + </callout> + </calloutlist> + + <para>Desired functionality:</para> + + <itemizedlist> + <listitem> + <para>User self registration by choosing a unique email and + password.</para> + </listitem> + + <listitem> + <para>Uploading of <productname + xlink:href="http://www.docbook.org/tdg5/en/html/docbook.html">Docbok + 5</productname> single file instances to a <xref + linkend="glo_Soft_Mysql"/> database thereby extracting relevant meta + information to be stored along with the document.</para> + </listitem> + + <listitem> + <para>Document search facility by author ownership or <link + linkend="sda1CalloutDocbkMetaData">meta data</link> (may be + overlapping).</para> + </listitem> + + <listitem> + <para>Deletion of document instances.</para> + </listitem> + + <listitem> + <para>n:1 relationship between document instances and corresponding + owners.</para> + </listitem> + + <listitem> + <para>Checkout (download) of instances to the local file + system.</para> + </listitem> + + <listitem> + <para>Use <xref linkend="glo_JPA"/> rather than plain <xref + linkend="glo_JDBC"/>. You may as well use the <link + xlink:href="https://vaadin.com/docs/-/part/framework/jpacontainer/jpacontainer-overview.html">Vaadin + JPA container</link>.</para> + </listitem> + + <listitem> + <para>Optional plus: On the fly generation of PDF using XSL-FO based + on the <productname + xlink:href="http://www.docbook.org/tdg5/en/html/docbook.html">Docbok + 5</productname> <link + xlink:href="http://www.sagehill.net/docbookxsl">style sheets</link> + using <productname + xlink:href="https://xmlgraphics.apache.org/fop">Apache + FOP</productname>.</para> + </listitem> + </itemizedlist> + + <para>Implementation based on the <orgname + xlink:href="https://vaadin.com">Vaadin</orgname> <acronym>UI</acronym> + framework.</para> + </section> + <section xml:id="sdiProjectBusinessCard"> <title>Project business cards</title>