<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">

<head>
<meta http-equiv=Content-Type content="text/html; charset=us-ascii">
<meta name=Generator content="Microsoft Word 12 (filtered medium)">
<style>
<!--
 /* Font Definitions */
 @font-face
        {font-family:Wingdings;
        panose-1:5 0 0 0 0 0 0 0 0 0;}
@font-face
        {font-family:Wingdings;
        panose-1:5 0 0 0 0 0 0 0 0 0;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";
        color:black;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
span.E-MailFormatvorlage17
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page Section1
        {size:612.0pt 792.0pt;
        margin:70.85pt 70.85pt 2.0cm 70.85pt;}
div.Section1
        {page:Section1;}
 /* List Definitions */
 @list l0
        {mso-list-id:274022468;
        mso-list-template-ids:1357547192;}
@list l0:level1
        {mso-level-number-format:bullet;
        mso-level-text:\F0B7;
        mso-level-tab-stop:36.0pt;
        mso-level-number-position:left;
        text-indent:-18.0pt;
        mso-ansi-font-size:10.0pt;
        font-family:Symbol;}
@list l1
        {mso-list-id:1514683903;
        mso-list-template-ids:552355582;}
@list l1:level1
        {mso-level-number-format:bullet;
        mso-level-text:\F0B7;
        mso-level-tab-stop:36.0pt;
        mso-level-number-position:left;
        text-indent:-18.0pt;
        mso-ansi-font-size:10.0pt;
        font-family:Symbol;}
ol
        {margin-bottom:0cm;}
ul
        {margin-bottom:0cm;}
-->
</style>
<!--[if gte mso 9]><xml>
 <o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
 <o:shapelayout v:ext="edit">
  <o:idmap v:ext="edit" data="1" />
 </o:shapelayout></xml><![endif]-->
</head>

<body bgcolor=white lang=DE link=blue vlink=purple>

<div class=Section1>

<p class=MsoNormal><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>Hi<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'><o:p> </o:p></span></p>

<p class=MsoNormal><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>Thanks Michael for applying my patches! <o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'><o:p> </o:p></span></p>

<p class=MsoNormal><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>As Michael already mentioned, they add basic support for
annotations by introducing a new “Annotatable” interface which is
currently implemented only by the XMLResource. Via this interface it is
possible to set/get/remove/clear the annotations where an annotation is a
simple string with no further properties (for now).  To allow the usage
those annotations, they are also added to the access logging from where an
analyzing component can read them together with the user requests.<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'><o:p> </o:p></span></p>

<p class=MsoNormal><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>If you have any further questions, feel free to ask </span><span
lang=EN-US style='font-size:11.0pt;font-family:Wingdings;color:#1F497D'>J</span><span
lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'><o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'><o:p> </o:p></span></p>

<p class=MsoNormal><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>Regards,<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>Marc<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'><o:p> </o:p></span></p>

<div>

<div style='border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0cm 0cm 0cm'>

<p class=MsoNormal><b><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif";
color:windowtext'>Von:</span></b><span style='font-size:10.0pt;font-family:
"Tahoma","sans-serif";color:windowtext'> yanel-development-bounces@wyona.com
[mailto:yanel-development-bounces@wyona.com] <b>Im Auftrag von </b>Michael
Wechner<br>
<b>Gesendet:</b> Mittwoch, 23. Februar 2011 13:08<br>
<b>An:</b> yanel-development@wyona.com<br>
<b>Betreff:</b> Re: [Yanel-dev] Annotating resources<o:p></o:p></span></p>

</div>

</div>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal style='margin-bottom:12.0pt'>Hi<br>
<br>
Thanks to Marc the annotations are now also added to the access log:<br>
<br>
Sending       
src/webapp/src/java/org/wyona/yanel/servlet/AccessLog.java<br>
Sending       
src/webapp/src/java/org/wyona/yanel/servlet/YanelServlet.java<br>
Transmitting file data ..<br>
Committed revision 56923.<br>
<br>
whereas the results of the review are:<o:p></o:p></p>

<ul type=disc>
 <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
     mso-list:l0 level1 lfo1'>Does it build? YES (but it didn't originally
     because it broke backwards compatibility)<o:p></o:p></li>
 <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
     mso-list:l0 level1 lfo1'>Is the formatting correct? Should be fixed now
     (used tabs instead of spaces)<o:p></o:p></li>
 <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
     mso-list:l0 level1 lfo1'>Is there an automatic test? Make sure that there
     are automatic tests, which are covering the changes which the patch will
     imply. NO<o:p></o:p></li>
 <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
     mso-list:l0 level1 lfo1'>Is it backwards compatible? YES (but it was
     broken, see
     src/contributions/resources/contact-form/src/java/org/wyona/yanel/impl/resources/contactform/ContactResource.java)<o:p></o:p></li>
 <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
     mso-list:l0 level1 lfo1'>Does it scale/perform? (Can the implementation be
     changed?) YES and NO, because the logging has become slower, but the
     analysis will become faster and it is a workaround for the revision
     problem<o:p></o:p></li>
 <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
     mso-list:l0 level1 lfo1'>Can it be enhanced? Kind of ...<o:p></o:p></li>
 <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
     mso-list:l0 level1 lfo1'>Can it be customized? The annotation
     implementation can be customized ....<o:p></o:p></li>
 <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
     mso-list:l0 level1 lfo1'>Does it work within a cluster? YES<o:p></o:p></li>
 <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
     mso-list:l0 level1 lfo1'>Is it secure? YES and NO, depends if the
     annotations contain "secret" information<o:p></o:p></li>
 <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
     mso-list:l0 level1 lfo1'>Can it be used offline? YES<o:p></o:p></li>
 <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
     mso-list:l0 level1 lfo1'>Can the patch be reverted easily? YES<o:p></o:p></li>
 <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
     mso-list:l0 level1 lfo1'>Does it work for all browsers? Only tested
     Firefox yet<o:p></o:p></li>
</ul>

<p class=MsoNormal><br>
Btw, I have also fixed that if a URL contains a query string that this is also
written into the access log file,<br>
because for example in the case of introspection the "same" URL is
called twice be the browser, e.g.<br>
<br>
<a
href="http://127.0.0.1:8080/yanel/yanel-website/en/about.htm?yanel.resource.usecase=introspection">http://127.0.0.1:8080/yanel/yanel-website/en/about.htm?yanel.resource.usecase=introspection</a><br>
<br>
Cheers<br>
<br>
Michael<br>
<br>
<br>
On 2/22/11 9:35 AM, Michael Wechner wrote: <o:p></o:p></p>

<p class=MsoNormal style='margin-bottom:12.0pt'>Hi<br>
<br>
Thanks to Marc Schaaf we now have an "Annotatable" interface which
allows to annotate resources<br>
and also use this information for third party applications, e.g. Boost in order
to generate tag clouds re what users are interested in. Marc has also created a
simple annotation editor which is currently used by the yanel website realm. <br>
<br>
I guess Marc will send some more notes re further steps (e.g. re ontologies: <a
href="http://en.wikipedia.org/wiki/Ontology_%28information_science%29">http://en.wikipedia.org/wiki/Ontology_%28information_science%29</a>)<br>
<br>
The basic code pieces are:<br>
<br>
U    conf/resource-types.xml<br>
A   
src/realms/yanel-website/res-configs-repo/data/usecases/pageMetadataManager.html.yanel-rc<br>
U   
src/realms/yanel-website/src/java/org/wyona/yanel/website/menu/impl/YanelWebsiteMenu.java<br>
U    src/realms/yanel-website/data-repo/data/xslt/global.xsl<br>
A   
src/core/java/org/wyona/yanel/core/api/attributes/AnnotatableV1.java<br>
U    src/resources/xml/src/java/org/wyona/yanel/impl/resources/XMLResource.java<br>
A    src/resources/pageMetaDataManager<br>
A   
src/resources/pageMetaDataManager/src/java/com/wyona/yanel/metadata/manager/PageMetaDataManager.java<br>
<br>
Re code review:<o:p></o:p></p>

<ul type=disc>
 <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
     mso-list:l1 level1 lfo2'>Does it build? YES<o:p></o:p></li>
 <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
     mso-list:l1 level1 lfo2'>Is the formatting correct? Should be fixed now
     (used tabs instead of spaces)<o:p></o:p></li>
 <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
     mso-list:l1 level1 lfo2'>Is there an automatic test? Make sure that there
     are automatic tests, which are covering the changes which the patch will
     imply. NO<o:p></o:p></li>
 <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
     mso-list:l1 level1 lfo2'>Is it backwards compatible? YES, because
     annotations are implemented as a versioned interface<o:p></o:p></li>
 <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
     mso-list:l1 level1 lfo2'>Does it scale/perform? (Can the implementation be
     changed?) YES, because of doing it as an interface<o:p></o:p></li>
 <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
     mso-list:l1 level1 lfo2'>Can it be enhanced? YES, because of versioned
     interface<o:p></o:p></li>
 <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
     mso-list:l1 level1 lfo2'>Can it be customized? The implementation can be
     customized<o:p></o:p></li>
 <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
     mso-list:l1 level1 lfo2'>Does it work within a cluster? NOT really,
     because the properties are not locked yet, but we will fix that shortly.
     But also depends on the repository implementation.<o:p></o:p></li>
 <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
     mso-list:l1 level1 lfo2'>Is it secure? YES, if the policies for the editor
     are set correctly, but NO otherwise<o:p></o:p></li>
 <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
     mso-list:l1 level1 lfo2'>Can it be used offline? YES<o:p></o:p></li>
 <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
     mso-list:l1 level1 lfo2'>Can the patch be reverted easily? NO, because
     various resource types (e.g. XMLResource) will start implementing this
     interface<o:p></o:p></li>
 <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
     mso-list:l1 level1 lfo2'>Does it work for all browsers? Only tested
     Firefox yet<o:p></o:p></li>
</ul>

<p class=MsoNormal style='margin-bottom:12.0pt'>Cheers<br>
<br>
Michael<br>
<br>
<o:p></o:p></p>

<p class=MsoNormal><o:p> </o:p></p>

</div>

</body>

</html>