<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:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@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:1142886318;
        mso-list-template-ids:-2140779108;}
@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:1256938528;
        mso-list-template-ids:520618266;}
@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'>maybe we can rename it to something like PageAnnotation /
ContentAnnotation / ResourceAnnotation /… however I would suggest to stick to
the term “annotation” as it points out the generic approach especially  with
regard to extended functionalities that are currently added to boost.<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,<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> Donnerstag, 24. Februar 2011 14:42<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>Hi<br>
<br>
It's more generic:<br>
<br>
<a href="http://en.wikipedia.org/wiki/Annotation">http://en.wikipedia.org/wiki/Annotation</a><br>
<br>
but yes, maybe the term "tag" or "keyword" might be better
as an alternative.<br>
<br>
WDYT?<br>
<br>
Thanks<br>
<br>
Michael<br>
<br>
On 2/24/11 9:24 AM, Balz Schreier wrote: <o:p></o:p></p>

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

<div>

<p class=MsoNormal>I am a bit irritated by the term "Annotations" and
you should explain somewhere what you mean by annotations. Otherwise Java
developers probably think about "the other" annotations which are
around since JavaSE5.<o:p></o:p></p>

</div>

<div>

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

</div>

<div>

<p class=MsoNormal>Annotations are usually declarative configuration attributes
on classes and methods, like<o:p></o:p></p>

</div>

<div>

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

</div>

<div>

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

</div>

<div>

<p class=MsoNormal>public class DataService {<o:p></o:p></p>

</div>

<div>

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

</div>

<div>

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

</div>

<div>

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

</div>

<div>

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

</div>

<div>

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

</div>

<div>

<p class=MsoNormal>private String thisDoesNotGetPersisted = null;<o:p></o:p></p>

</div>

<div>

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

</div>

<div>

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

</div>

<div>

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

<div>

<p class=MsoNormal>On Thu, Feb 24, 2011 at 9:18 AM, Schaaf Marc <<a
href="mailto:marc.schaaf@fhnw.ch">marc.schaaf@fhnw.ch</a>> wrote:<o:p></o:p></p>

<div>

<div>

<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><span
lang=EN-US style='font-size:11.0pt;color:#1F497D'>Hi</span><o:p></o:p></p>

<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><span
lang=EN-US style='font-size:11.0pt;color:#1F497D'> </span><o:p></o:p></p>

<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><span
lang=EN-US style='font-size:11.0pt;color:#1F497D'>Thanks Michael for applying
my patches! </span><o:p></o:p></p>

<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><span
lang=EN-US style='font-size:11.0pt;color:#1F497D'> </span><o:p></o:p></p>

<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><span
lang=EN-US style='font-size:11.0pt;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.</span><o:p></o:p></p>

<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><span
lang=EN-US style='font-size:11.0pt;color:#1F497D'> </span><o:p></o:p></p>

<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><span
lang=EN-US style='font-size:11.0pt;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><o:p></o:p></p>

<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><span
lang=EN-US style='font-size:11.0pt;color:#1F497D'> </span><o:p></o:p></p>

<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><span
lang=EN-US style='font-size:11.0pt;color:#1F497D'>Regards,</span><o:p></o:p></p>

<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><span
lang=EN-US style='font-size:11.0pt;color:#1F497D'>Marc</span><o:p></o:p></p>

<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><span
lang=EN-US style='font-size:11.0pt;color:#1F497D'> </span><o:p></o:p></p>

<div>

<div style='border:none;border-top:solid windowtext 1.0pt;padding:3.0pt 0cm 0cm 0cm;
border-color:-moz-use-text-color                     -moz-use-text-color'>

<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><b><span
style='font-size:10.0pt;color:windowtext'>Von:</span></b><span
style='font-size:10.0pt;color:windowtext'> <a
href="mailto:yanel-development-bounces@wyona.com" target="_blank">yanel-development-bounces@wyona.com</a>
[mailto:<a href="mailto:yanel-development-bounces@wyona.com" target="_blank">yanel-development-bounces@wyona.com</a>]
<b>Im Auftrag von </b>Michael Wechner<br>
<b>Gesendet:</b> Mittwoch, 23. Februar 2011 13:08<br>
<b>An:</b> <a href="mailto:yanel-development@wyona.com" target="_blank">yanel-development@wyona.com</a><br>
<b>Betreff:</b> Re: [Yanel-dev] Annotating resources</span><o:p></o:p></p>

</div>

</div>

<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> <o:p></o:p></p>

<p class=MsoNormal style='mso-margin-top-alt:auto;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>
</ul>

<div>

<ul type=disc>
 <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>
</ul>

</div>

<ul type=disc>
 <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>
</ul>

<div>

<ul type=disc>
 <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>
</ul>

</div>

<ul type=disc>
 <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>
</ul>

<div>

<ul type=disc>
 <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>

</div>

<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><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"
target="_blank">http://127.0.0.1:8080/yanel/yanel-website/en/about.htm?yanel.resource.usecase=introspection</a><br>
<br>
Cheers<br>
<br>
Michael<o:p></o:p></p>

<div>

<p class=MsoNormal><br>
<br>
<br>
On 2/22/11 9:35 AM, Michael Wechner wrote: <o:p></o:p></p>

</div>

<div>

<div>

<p class=MsoNormal style='mso-margin-top-alt:auto;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"
target="_blank">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='mso-margin-top-alt:auto;margin-bottom:12.0pt'>Cheers<br>
<br>
Michael<o:p></o:p></p>

<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> <o:p></o:p></p>

</div>

</div>

</div>

</div>

<p class=MsoNormal><br>
--<br>
Yanel-development mailing list <a href="mailto:Yanel-development@wyona.com">Yanel-development@wyona.com</a><br>
<a href="http://lists.wyona.org/cgi-bin/mailman/listinfo/yanel-development"
target="_blank">http://lists.wyona.org/cgi-bin/mailman/listinfo/yanel-development</a><o:p></o:p></p>

</div>

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

</div>

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

</div>

</body>

</html>