2007/2/20, Joe Shaw &lt;<a href="mailto:joeshaw@novell.com" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">joeshaw@novell.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;">

Hi,<br><br>On Sun, 2007-02-18 at 21:15 +0100, Mikkel Kamstrup Erlandsen wrote:<br>&gt; Ok. If we are to standardize something like this, I would assume that<br>&gt; we use dbus for rpc - as far as I can tell that doesn&#39;t seem to be a
<br>&gt; problem..?<br><br>Yeah, Beagle doesn&#39;t use D-Bus at all right now, so to implement the<br>spec we&#39;ll have to add support for it.&nbsp;&nbsp;(We used it 2+ years ago but it<br>didn&#39;t work out very well at the time.)
<br><br>&gt; Fx a dbus api like:<br>&gt;<br>&gt;&nbsp;&nbsp;- AddFile (in as metadata, in s input_file)<br>&gt;&nbsp;&nbsp;- AddText (in as metadata, in s text)<br>&gt;<br>&gt; where the metadata argument contains things such as uri, mime, and hit
<br>&gt; type (in some specified order (and maybe some<br>&gt; filtering/stemming/whatnot info)). The AddFile method sorta replaces<br>&gt; the &quot;drop-in-special-dir&quot; approach - the drop-in-special-dir method<br>

&gt; could still be allowed for apps not talking dbus. The AddText method<br>&gt; should encapsulate the functionality of Beagles&#39; current<br>&gt; IndexServiceRequest/Indexable duo.<br><br>Thinking ahead a bit on this one, you might want to make it so that you
<br>can add additional metadata to an existing entry in the index.&nbsp;&nbsp;Beagle<br>doesn&#39;t support this yet, but we&#39;re moving in that direction.</blockquote><div><br>I think I mentioned &quot;getters and setters&quot; for metadata somewhere in this thread, but that&#39;s not entirely obvious from the context of the mail you reply to :-) The methods I suggested was only for ingesting in the index. Or are you saying that there should also be a way to set metadata on the indexer and not only via the metadata api?
<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;">&gt; By a data source you mean something that uses IndexServiceRequests and<br>

&gt; Indexables?<br><br>No, I mean a backend that is built as a module for Beagle.&nbsp;&nbsp;File system,<br>Evolution Data Server, gaim logs, etc.&nbsp;&nbsp;These do produce Indexable<br>objects, but they&#39;re entirely within the running Beagle instance.
<br><br>&gt; In many cases the &quot;daemon&quot; would be the browser or a mail client -<br>&gt; which keeps a lot of state anyway, so I don&#39;t see that as a big<br>&gt; problem. In fx. an email client you can be pretty confident that other
<br>&gt; apps doesn&#39;t mess with your data while you are not running, so there<br>&gt; is no need to &quot;watch&quot; the mailbox.<br><br>I think it&#39;s the wrong approach to assume that any application will be<br>
running at a given time, and that to index its information that
<br>application has to be running.&nbsp;&nbsp;Mail clients in particular, because<br>there is so much information hidden underneath there that you might<br>never see if you&#39;re only indexing email messages as the user views them.
<br>(I have over 179,000 unread emails, for example; I might -- and often do<br>-- want to search them.)</blockquote><div><br>The mailbox was mainly meant as an example, but let&#39;s stick to it anyway. What I meant to say was that you can index the mailbox at any time, but the is no need to keep a watch out for changes since the only app that is ever going to change it is (say) Evolution. In a metadata aware desktop Evolution would be emitting signals (or whatever) when the mailbox changes (perhaps with hints as to what changed).
<br><br><br>Cheers,<br>Mikkel<br></div><br></div><br>