2007/4/30, Phreedom &lt;<a href="mailto:phreedom.stdin@gmail.com">phreedom.stdin@gmail.com</a>&gt;:<div><span class="gmail_quote"></span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
I&#39;m writing this on behalf of Strigi project.<br><br>It&#39;s important to finish Xesam specs as soon as possible since lots of code<br>and work starts to depend on meta-meta- and meta- data spec and it gets more<br>and more complicated to make changes.
</blockquote><div><br><br>Thanks a ton for picking up on this. I have not been able to yet myself since I have been utterly swamped in real-world chores. It will be better after 5/5. <br></div><br><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
I believe Xesam metadata bainstorm wiki page has shown that proposals mostly<br>split along .desktop vs RDF representation line, with the essense being very<br>similar. So it&#39;s about time to finish meta-meta-data and start actively
<br>working on meta-data spec.<br><br>Another concern is KDE feature freeze on 1th june which is also going to<br>affect our ability to implement Xesam.</blockquote><div><br><br>I was wondering about that. I shall try and update the roadmap later today to accomodate for this.
<br><br></div><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">At the end of the e-mail is our lastest proposal for meta-meta-data<br>specification.
<br><br>Best wishes,<br>Evgeny<br><br>Format specification of .fieldproperties files(DRAFT)<br>======================================================================================<br><br>[Field]<br>Uri=$URI<br>ParentUri=$PARENTURI
<br>Name=$NAME<br>Name[$LANG]=$LOCALIZED_NAME<br>Description=$DESCRIPTION<br>Description[$LANG]=$LOCALIZED_DESCRIPTION<br>TypeUri=$TYPE<br>Values=$VALUES<br>Values[$LANG]=$LOCALIZED_VALUES<br>Range=$RANGE<br>MinCardinality=$MIN_CARDINALITY
<br>MaxCardinality=$MAX_CARDINALITY<br>Indexing=$INDEXING<br>Relevance=$RELEVANCE<br>Comment=$COMMENT<br><br>$URI(required)<br>&nbsp;&nbsp;Unique resource identifier of the property. Internally properties are<br>identified by this ID.
<br>&nbsp;&nbsp;Alternative to this would be [$URI] instead of [Field].</blockquote><div><br>I would go for the alternative since we need this to be able to have multiple field defs in one file. This is because the format spec for .desktop files requires that group headers are unique. I know we can&#39;t follow the .desktop spec to the letter but we might as well aim as close as possible.
<br></div><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">$PARENTURI<br>&nbsp;&nbsp;URI of parent property. Parent relation is similar to inheritance. Usually
<br>child property<br>&nbsp;&nbsp;introduces some specifics/limitations/implications compared to its parent.<br><br>$NAME(required), $LOCALIZED NAME<br>&nbsp;&nbsp;Short user-friendly name. This is the name users will see when file metadata<br>
is displayed to them.<br><br>$DESCRIPTION(required), $LOCALIZED_DESCRIPTION<br>&nbsp;&nbsp;User-friendly property description. This is the description of property<br>suitable for tooltips.<br><br>$TYPE(required)<br>&nbsp;&nbsp;Property data type.
<br>&nbsp;&nbsp;Valid values: string, string_enum, string_enum_ext, integer, float, boolean,<br>datetime, binary.<br>&nbsp;&nbsp;string_enum type is a property that can only take one of the list of valid<br>values provided by $VALUES.<br>&nbsp;&nbsp;string_enum_ext type is a property that can take any string value, however
<br>$values list provides<br>&nbsp;&nbsp;suggested values of this property.<br><br>$VALUES(required if $TYPE=string_enum or string_enum_ext), $LOCALIZED_VALUES<br>&nbsp;&nbsp;Property value constraints. Default =&nbsp;&nbsp;no constraints.<br>&nbsp;&nbsp;if $TYPE=integer|datetime|float, $VALUES=value1|value2|value3
<br>&nbsp;&nbsp;if $TYPE=string, $VALUES=validation regexp<br>&nbsp;&nbsp;if $TYPE=string_enum, $VALUES=value1|value2|value3<br>&nbsp;&nbsp;if $TYPE=string_enum_ext, $VALUES=value1|value2|value3|*(or)<br>&nbsp;&nbsp;This syntax lets us directly use $VALUES as a regexp for validating user
<br>input. Yet it&#39;s syntax<br>&nbsp;&nbsp;is developer- and translator- friendly.<br>&nbsp;&nbsp;Suggestions on regex subset are welcome. KDE and Strigi is going to use<br>QValidator and QRegExp for this.<br><br>$RANGE<br>&nbsp;&nbsp;Numeric property allowed value range. Default = no constraints.
<br>&nbsp;&nbsp;$RANGE=[minValue,maxValue&gt;<br>&nbsp;&nbsp;[ and ] = inclusive. &lt; and &gt; = exclusive.</blockquote><div><br>Can you mix the braces like [0,1&gt;. I&#39;m not 100% sure this syntax is possible with a .desktop like spec. I&#39;m mostly worried about the [&#39;s also used for group headers.
<br>&nbsp;</div><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">$MIN_CARDINALITY<br>&nbsp;&nbsp;Minimum cardinality. Minimum number of properties of this type you must set
<br>for a given file.<br>&nbsp;&nbsp;Lets specify mandatory properties. Default is 0.</blockquote><div><br>Is there any example of a mandatory property? Does it even make sense?<br>&nbsp;</div><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
$MAX_CARDINALITY<br>&nbsp;&nbsp;Maximum cardinality. Maximum number of properties of this type you can set<br>for a given file.<br>&nbsp;&nbsp;Default is infinity.<br><br>$INDEXING<br>&nbsp;&nbsp;Values=fulltext, atomic, none, TBD. Default = TBD.</blockquote>
<div><br>Can you please describe what these values mean? I think I get it, but let&#39;s be sure :-)<br>&nbsp;</div><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
$RELEVANCE<br>&nbsp;&nbsp;Defines how relevance of the file is affected if a match is found in this<br>field. Default = 1.0<br><br>$COMMENT<br>&nbsp;&nbsp;Developer comment. Users won&#39;t see this.</blockquote><div><br><br>Overall I agree. The biggest issue is the group header as I comment above.
<br><br>Thanks again for picking up on this! Cheers,<br><br>Mikkel<br></div></div>