Hi Matt,

I submitted a new merge request; sorry for being late.


Thanks,
Amir

On Mon, Jan 3, 2011 at 6:08 AM, Matt Rogers <ma...@kde.org> wrote:
> Amir,
>
> I went to merge this and noticed the merge request was still closed.
> Rather than continuing to use the same old merge request, can you
> submit a new one based on current master?
>
> Thanks,
> Matt
>
> On Tue, Dec 28, 2010 at 11:37 PM, Matt Rogers <ma...@kde.org> wrote:
>> Thanks Amir,
>> I will merge this by the end of the week.
>> Matt
>>
>> On Sun, Dec 19, 2010 at 10:34 PM, Amir Pakdel <pak...@gmail.com> wrote:
>>>
>>> Hi everybody,
>>>
>>> Since I have been using my version of Basket with Nepomuk Integration
>>> for some times now without any problem, I have submitted a merge
>>> request (merge request #9).
>>>
>>>
>>>
>>> Dear Sebastian,
>>>
>>> Do you have any plan to include my patch into the KRunner?
>>>
>>>
>>> Thanks,
>>> Amir
>>>
>>> On Tue, Nov 16, 2010 at 10:21 AM, Amir Pakdel <pak...@gmail.com> wrote:
>>> > Hi everybody,
>>> >
>>> > Would you please kindly give it a try before I submit the merge request?
>>> > I would be grateful if anyone could review my code too.
>>> >
>>> > Thanks,
>>> > Amir
>>> >
>>> >
>>> > ---------- Forwarded message ----------
>>> > From: Amir Pakdel <pak...@gmail.com>
>>> > Date: Thu, Nov 11, 2010 at 6:38 PM
>>> > Subject: Re: [Basket-devel] Loading Baskets from the command line
>>> > To: Sebastian Trüg <tr...@kde.org>
>>> > Cc: basket-devel <basket-devel@lists.sourceforge.net>, ma...@kde.org,
>>> > nepo...@kde.org
>>> >
>>> >
>>> > Hi Sebastian,
>>> >
>>> > I hope that I have done it right this time :D
>>> > Would you please take a look:
>>> >
>>> > http://gitorious.org/~pakdel/basket/pakdels-basket/blobs/master/src/nepomukintegration.cpp
>>> >
>>> > Moreover, I have changed NepomukSearchRunner a little bit, so I could
>>> > search for contents of notes using KRunner. I have attached the patch
>>> > for that too.
>>> >
>>> > Thanks again for your help
>>> >
>>> >
>>> >
>>> >
>>> > Dear developers,
>>> > It would be great if anybody could test it.
>>> >
>>> >
>>> > Thanks everybody,
>>> > Amir
>>> >
>>> > On Mon, Nov 1, 2010 at 2:16 PM, Sebastian Trüg <tr...@kde.org> wrote:
>>> >> On 11/01/2010 10:53 AM, Amir Pakdel wrote:
>>> >>> Hi Sebastian,
>>> >>>
>>> >>> Thanks for your reply.
>>> >>>
>>> >>> On Mon, Nov 1, 2010 at 12:43 PM, Sebastian Trüg <tr...@kde.org> wrote:
>>> >>>> Hi Amir,
>>> >>>>
>>> >>>> funnily enough you do exactly what was explained in "You are doing it
>>> >>>> wrong"[1]: you are trying to move the thread to itself. This,
>>> >>>> however,
>>> >>>> it not possible since the thread you want to move it to is not
>>> >>>> running
>>> >>>> yet (and for another reason that I forgot).
>>> >>>>
>>> >>>> Also the run method is called in the new thread. There is no need to
>>> >>>> start anything async in there. Just do the work, ie. what doUpdate()
>>> >>>> does now.
>>> >>>
>>> >>> I did it async because I wanted to queue up save requests and save
>>> >>> only once when a duplicate save request is encountered in the queue. I
>>> >>> will correct this issue and commit a new version.
>>> >>>
>>> >>>>
>>> >>>> "basketRes.setProperty( Soprano::Vocabulary::RDF::type(),
>>> >>>> Soprano::Vocabulary::PIMO::Note() );"
>>> >>>> this will overwrite all other types. You can just remove that line.
>>> >>>
>>> >>> Shouldn't I use "noteRes.addProperty"?
>>> >>
>>> >> nope, you are doing addType in the line before. That is enough. :)
>>> >>
>>> >>>>
>>> >>>> "basketRes.setProperty( Soprano::Vocabulary::NIE::url(), basketUri
>>> >>>> );"
>>> >>>> No need. This is done internally anyway.
>>> >>>>
>>> >>>> "basketTag.setProperty( Soprano::Vocabulary::NAO::prefLabel(),
>>> >>>> tagName );"
>>> >>>> just use setLabel()
>>> >>>>
>>> >>>>
>>> >>>> Are you using nie:isPartOf to group subnotes? If so better use
>>> >>>> pimo:isPartOf.
>>> >>> Do you mean pimo:partOf ? [1]
>>> >>
>>> >> yes.
>>> >>
>>> >> Cheers,
>>> >> Sebastian
>>> >>
>>> >>> Thanks again,
>>> >>> Amir
>>> >>>
>>> >>> [1]
>>> >>> http://www.semanticdesktop.org/ontologies/2007/11/01/pimo/#partOf
>>> >>>>
>>> >>>> Cheers,
>>> >>>> Sebastian
>>> >>>>
>>> >>>> [1]
>>> >>>>
>>> >>>> http://labs.trolltech.com/blogs/2010/06/17/youre-doing-it-wrong/#more-1608
>>> >>>>
>>> >>>> On 10/29/2010 09:25 PM, Amir Pakdel wrote:
>>> >>>>> Hi everybody,
>>> >>>>>
>>> >>>>> Dear Matt,
>>> >>>>> I have made some improvements (new features and bug fixes) to the
>>> >>>>> Nepomuk Integration and revised and resubmitted the merge request.
>>> >>>>>
>>> >>>>>
>>> >>>>> Dear Sebastian,
>>> >>>>> I have implemented "Indexing Contents of the Actual Notes" as
>>> >>>>> following:
>>> >>>>> 1. Requesting nepomukstrigiservice (via DBus) to index the basket
>>> >>>>> folder (using indexFolder method).
>>> >>>>> 2. Connecting to indexingStopped signal.
>>> >>>>> 3. Cleaning up the mime-type when received indexingStopped signal.
>>> >>>>> This way, it even works on my older KDE 4.4.3 at work :)
>>> >>>>> would you please take a look at the source code on the following
>>> >>>>> URL:
>>> >>>>>
>>> >>>>> http://gitorious.org/~pakdel/basket/pakdels-basket/blobs/master/src/nepomukintegration.cpp
>>> >>>>>
>>> >>>>>
>>> >>>>> Dear developers,
>>> >>>>> I have used threading in the Nepomuk Integration and I will be
>>> >>>>> grateful if you could check my code :)
>>> >>>>>
>>> >>>>> http://gitorious.org/~pakdel/basket/pakdels-basket/blobs/master/src/nepomukintegration.cpp
>>> >>>>>
>>> >>>>>
>>> >>>>> Thanks,
>>> >>>>> Amir
>>> >>>>>
>>> >>>>> On Sat, Oct 23, 2010 at 12:36 PM, Amir Pakdel <pak...@gmail.com>
>>> >>>>> wrote:
>>> >>>>>> Hi Sebastian,
>>> >>>>>>
>>> >>>>>> On Fri, Oct 22, 2010 at 5:18 PM, Sebastian Trüg <tr...@kde.org>
>>> >>>>>> wrote:
>>> >>>>>>> Hi Amir,
>>> >>>>>>>
>>> >>>>>>> On 10/19/2010 01:51 PM, Amir Pakdel wrote:
>>> >>>>>>>> Two more ideas came into my mind:
>>> >>>>>>>> 1. Something could be added to anthologies that indicates the
>>> >>>>>>>> priority
>>> >>>>>>>> of mime-types, like the "priority" property of "magic" XML
>>> >>>>>>>> element
>>> >>>>>>>> that is used in the XML files that define mime-types. This way,
>>> >>>>>>>> multiple mime-types of a resource can be prioritized.
>>> >>>>>>>
>>> >>>>>>> I think this is a problem with the way mime types are represented
>>> >>>>>>> today:
>>> >>>>>>> as strings. Do you think a hierarchy of mime types would solve
>>> >>>>>>> that
>>> >>>>>>> problem, too?
>>> >>>>>>>
>>> >>>>>> I do think so, because we can have things like the priority of the
>>> >>>>>> mime type, preferred application that handles a mime type and the
>>> >>>>>> application that added this mime type into the properties of the
>>> >>>>>> resource (the application that indexed the resource as a specific
>>> >>>>>> mime
>>> >>>>>> type).
>>> >>>>>>
>>> >>>>>>>> 2. Nepomuk::Indexer could have a method to set a flag in
>>> >>>>>>>> resources
>>> >>>>>>>> that prevents "automatic indexing" or at least prevents resources
>>> >>>>>>>> from
>>> >>>>>>>> being indexed using strigi, or some thing like a "lock" or a "do
>>> >>>>>>>> not
>>> >>>>>>>> change" hint or so. This way, a specific application would take
>>> >>>>>>>> full
>>> >>>>>>>> responsibility for the resource. Moreover, indexFile,
>>> >>>>>>>> indexResource
>>> >>>>>>>> and other method could have another parameter "force" that
>>> >>>>>>>> defaults to
>>> >>>>>>>> false and the application that is responsible for the resource
>>> >>>>>>>> could
>>> >>>>>>>> call these methods with force=true
>>> >>>>>>>
>>> >>>>>>> this is an interesting idea. How could we put that in RDF? Maybe a
>>> >>>>>>> simple property on the indexing graph which states the application
>>> >>>>>>> handling this specific file?
>>> >>>>>>>
>>> >>>>>> That is a good idea; the simpler the better :D
>>> >>>>>> This way, Nepomuk should check the application that is invoking the
>>> >>>>>> indexFile or indexResouce methods. Is it easy to implement?
>>> >>>>>> Therefore, when invoking application does not match the application
>>> >>>>>> name stored in RDF, it has to force the index.
>>> >>>>>>
>>> >>>>>> Cheers,
>>> >>>>>> Amir
>>> >>>>>>
>>> >>>>>>> Cheers,
>>> >>>>>>> Sebastian
>>> >>>>>>>
>>> >>>>>>>>
>>> >>>>>>>> I hope I explained my ideas intelligibly  :D
>>> >>>>>>>>
>>> >>>>>>>> Cheers,
>>> >>>>>>>> Amir
>>> >>>>>>>>
>>> >>>>>>>> On Mon, Oct 18, 2010 at 5:06 PM, Sebastian Trüg <tr...@kde.org>
>>> >>>>>>>> wrote:
>>> >>>>>>>>> Sounds like a good idea. However, I will still find a more
>>> >>>>>>>>> generic way
>>> >>>>>>>>> in addition to that.
>>> >>>>>>>>> Stay tuned for more info.
>>> >>>>>>>>> Cheers,
>>> >>>>>>>>> Sebastian
>>> >>>>>>>>>
>>> >>>>>>>>> On 10/15/2010 07:38 PM, Amir Pakdel wrote:
>>> >>>>>>>>>> Hi Sebastian,
>>> >>>>>>>>>>
>>> >>>>>>>>>> On Fri, Oct 8, 2010 at 12:00 PM, Sebastian Trüg <tr...@kde.org>
>>> >>>>>>>>>> wrote:
>>> >>>>>>>>>>> Hi guys,
>>> >>>>>>>>>>>
>>> >>>>>>>>>>> On 10/07/2010 09:25 PM, Amir Pakdel wrote:
>>> >>>>>>>>>>>> Hi everybody,
>>> >>>>>>>>>>>>
>>> >>>>>>>>>>>> On Wed, Oct 6, 2010 at 8:47 PM, Stephen Kelly
>>> >>>>>>>>>>>> <steve...@gmail.com> wrote:
>>> >>>>>>>>>>>>> Matt Rogers wrote:
>>> >>>>>>>>>>>>>
>>> >>>>>>>>>>>>>>> The second solution is more appealing, but I would rather
>>> >>>>>>>>>>>>>>> get a
>>> >>>>>>>>>>>>>>> working version with what we have got now. Therefore, I
>>> >>>>>>>>>>>>>>> will go with
>>> >>>>>>>>>>>>>>> the first suggestion.
>>> >>>>>>>>>>>>>>>
>>> >>>>>>>>>>>>>>
>>> >>>>>>>>>>>>>> We actually have thought about interfacing with Akonadi for
>>> >>>>>>>>>>>>>> data
>>> >>>>>>>>>>>>>> storage/caching. If we do that, would we get Nepomuk
>>> >>>>>>>>>>>>>> integration for
>>> >>>>>>>>>>>>>> "free" as well?
>>> >>>>>>>>>>>>>
>>> >>>>>>>>>>>>> Just an FYI about this:
>>> >>>>>>>>>>>>>
>>> >>>>>>>>>>>>> I changed how kjots stores data so that it can use Akonadi
>>> >>>>>>>>>>>>> for access to the
>>> >>>>>>>>>>>>> notes.
>>> >>>>>>>>>>>>
>>> >>>>>>>>>>>> Although I have read all I could find about Nepomuk and
>>> >>>>>>>>>>>> Akonadi, I
>>> >>>>>>>>>>>> still don't know what Akonadi does exactly and how it
>>> >>>>>>>>>>>> interacts with
>>> >>>>>>>>>>>> Nepomuk!
>>> >>>>>>>>>>>> Could anyone please help me with that?
>>> >>>>>>>>>>>
>>> >>>>>>>>>>> AFAIK Akonadi stores blobs of data and provides a few APIs to
>>> >>>>>>>>>>> convert
>>> >>>>>>>>>>> these blobs into something useful. One prominent example is
>>> >>>>>>>>>>> mime data.
>>> >>>>>>>>>>> Nepomuk is a graph of information and thus, completely
>>> >>>>>>>>>>> different.
>>> >>>>>>>>>>> Akonadi more or less duplicates all its information in Nepomuk
>>> >>>>>>>>>>> so one
>>> >>>>>>>>>>> can perform searches on the data and create relations. This is
>>> >>>>>>>>>>> a weird
>>> >>>>>>>>>>> situation as the info is stored twice but we cannot change
>>> >>>>>>>>>>> that at the
>>> >>>>>>>>>>> moment. Maybe in the future we can merge both projects - who
>>> >>>>>>>>>>> knows.
>>> >>>>>>>>>>>
>>> >>>>>>>>>>> So to me it does not make much sense to store notes in Akonadi
>>> >>>>>>>>>>> as you
>>> >>>>>>>>>>> need to copy them to Nepomuk anyway. Thus, you would need to
>>> >>>>>>>>>>> implement
>>> >>>>>>>>>>> the data handling twice: once the Akonadi blob and once the
>>> >>>>>>>>>>> Nepomuk
>>> >>>>>>>>>>> resource data.
>>> >>>>>>>>>>>
>>> >>>>>>>>>>>>>
>>> >>>>>>>>>>>>>
>>> >>>>>>>>>>>>> http://dot.kde.org/2010/02/17/kjots-takes-advantage-innovations-kde-
>>> >>>>>>>>>>>>> development-platform
>>> >>>>>>>>>>>>>
>>> >>>>>>>>>>>>> KJots accesses the notes as Mime documents (KMime::Message
>>> >>>>>>>>>>>>> objects) from
>>> >>>>>>>>>>>>> Akonadi. Akonadi stores the notes in mime format in maildir
>>> >>>>>>>>>>>>> containers (one
>>> >>>>>>>>>>>>> note per file). The mime format could also be used to store
>>> >>>>>>>>>>>>> the images in
>>> >>>>>>>>>>>>> the note directly in the note, but I haven't got around to
>>> >>>>>>>>>>>>> doing that
>>> >>>>>>>>>>>>> (though there is API for it I think).
>>> >>>>>>>>>>>>>
>>> >>>>>>>>>>>>> http://www.faqs.org/rfcs/rfc2387.html
>>> >>>>>>>>>>>>>
>>> >>>>>>>>>>>>> The way Akonadi stores the notes is irrelevant to the
>>> >>>>>>>>>>>>> application. They
>>> >>>>>>>>>>>>> could just as easily be in mbox format (one single file for
>>> >>>>>>>>>>>>> a group of
>>> >>>>>>>>>>>>> notes). The application just uses the KMime::Message objects
>>> >>>>>>>>>>>>> that Akonadi
>>> >>>>>>>>>>>>> returns.
>>> >>>>>>>>>>>>>
>>> >>>>>>>>>>>>> Even if you don't make basket use Akonadi yet it could make
>>> >>>>>>>>>>>>> sense to store
>>> >>>>>>>>>>>>> the notes as mime messages and use KMime to (de)serialize
>>> >>>>>>>>>>>>> them.
>>> >>>>>>>>>>>>>
>>> >>>>>>>>>>>>> All the best,
>>> >>>>>>>>>>>>>
>>> >>>>>>>>>>>>> Steve.
>>> >>>>>>>>>>>>>
>>> >>>>>>>>>>>>
>>> >>>>>>>>>>>> I hope I found a solution for opening note files with Basket:
>>> >>>>>>>>>>>> Suppose there is a basket in
>>> >>>>>>>>>>>> ~/.kde/share/apps/basket/baskets/basket106 which has a note
>>> >>>>>>>>>>>> in a file
>>> >>>>>>>>>>>> called note1.html and the metadata in Nepomuk is as
>>> >>>>>>>>>>>> following:
>>> >>>>>>>>>>>>
>>> >>>>>>>>>>>> $ nepomukcmd query "select ?r where { ?r nie:url
>>> >>>>>>>>>>>>
>>> >>>>>>>>>>>> <file:///~/.kde/share/apps/basket/baskets/basket106/note1.html>
>>> >>>>>>>>>>>>  . }"
>>> >>>>>>>>>>>> <nepomuk:/res/00473b7a-4ac9-4223-b8d3-dee3d24631c1>
>>> >>>>>>>>>>>> Total results: 1
>>> >>>>>>>>>>>> Execution time: 00:00:00.3
>>> >>>>>>>>>>>
>>> >>>>>>>>>>> Where did that URL come from? Normally Nepomuk should only
>>> >>>>>>>>>>> contain
>>> >>>>>>>>>>> absolute URLs.
>>> >>>>>>>>>>>
>>> >>>>>>>>>>>> $ nepomukcmd query "select ?a where {
>>> >>>>>>>>>>>> <nepomuk:/res/00473b7a-4ac9-4223-b8d3-dee3d24631c1>
>>> >>>>>>>>>>>> nie:mimeType ?a .
>>> >>>>>>>>>>>> }"
>>> >>>>>>>>>>>>
>>> >>>>>>>>>>>> "application/x-basket-item"^^<http://www.w3.org/2001/XMLSchema#string>
>>> >>>>>>>>>>>> Total results: 1
>>> >>>>>>>>>>>> Execution time: 00:00:00.1
>>> >>>>>>>>>>>>
>>> >>>>>>>>>>>>
>>> >>>>>>>>>>>> Now in Nepomuk::SearchRunner::run, we could get the service
>>> >>>>>>>>>>>> that
>>> >>>>>>>>>>>> should run this resource and then tell the KRun to use it,
>>> >>>>>>>>>>>> like the
>>> >>>>>>>>>>>> following:
>>> >>>>>>>>>>>>
>>> >>>>>>>>>>>> QString mimetype =
>>> >>>>>>>>>>>> res.property(Nepomuk::Vocabulary::NIE::mimeType).toString();
>>> >>>>>>>>>>>> KService::Ptr preferredService =
>>> >>>>>>>>>>>> KMimeTypeTrader::self()->preferredService( mimetype );
>>> >>>>>>>>>>>>
>>> >>>>>>>>>>>> KRun *newApp = new KRun(url, 0);
>>> >>>>>>>>>>>> newApp->setPreferredService(
>>> >>>>>>>>>>>> preferredService->desktopEntryName() );
>>> >>>>>>>>>>>>
>>> >>>>>>>>>>>> I hope it works without changing anything else.
>>> >>>>>>>>>>>> Sebastian, would you please take a look?
>>> >>>>>>>>>>>
>>> >>>>>>>>>>> This is a good idea for a quick intermediate solution. :)
>>> >>>>>>>>>>> Very nice. All you would have to do is set the mimetype on the
>>> >>>>>>>>>>> notes
>>> >>>>>>>>>>> manually. The only problem left is that strigi would add the
>>> >>>>>>>>>>> html
>>> >>>>>>>>>>> mimetype, too. But we can handle that by indexing the baskets
>>> >>>>>>>>>>> manually.
>>> >>>>>>>>>>>
>>> >>>>>>>>>>> For the latter I need to make some API public which I need to
>>> >>>>>>>>>>> do anyway.
>>> >>>>>>>>>>> Can we meet on IRC? I am in #nepomuk-kde on freenode
>>> >>>>>>>>>>>
>>> >>>>>>>>>>> Cheers,
>>> >>>>>>>>>>> Sebastian
>>> >>>>>>>>>>>
>>> >>>>>>>>>>>>
>>> >>>>>>>>>>>> Cheers,
>>> >>>>>>>>>>>> Amir
>>> >>>>>>>>>>>>
>>> >>>>>>>>>>>
>>> >>>>>>>>>>
>>> >>>>>>>>>> Sorry for being late. Since I could not find you on IRC (Friday
>>> >>>>>>>>>> 15 Oct
>>> >>>>>>>>>> 17:30 GMT) I am writing this.
>>> >>>>>>>>>>
>>> >>>>>>>>>> IMHO the following scenario would work fine:
>>> >>>>>>>>>> 0. ~/.kde/share/apps/basket should not be indexed
>>> >>>>>>>>>> automatically.
>>> >>>>>>>>>>
>>> >>>>>>>>>> 1. We keep the current code that adds the metadata of the
>>> >>>>>>>>>> basket and
>>> >>>>>>>>>> its notes into the Nepomuk and sets notes as parts of the
>>> >>>>>>>>>> basket.
>>> >>>>>>>>>> 2. Ask the Nepomuk::Indexer to index notes using
>>> >>>>>>>>>> Indexer::indexFile method
>>> >>>>>>>>>> 3. Develop a slot (for example resetMimetype) that clears
>>> >>>>>>>>>> mimetype of
>>> >>>>>>>>>> the notes and sets it back to application/x-basket
>>> >>>>>>>>>> 4. connect Nepomuk::indexingDone to the newly developed slot in
>>> >>>>>>>>>> basket
>>> >>>>>>>>>> (resetMimetype)
>>> >>>>>>>>>>
>>> >>>>>>>>>> This way, the only thing that would be changed in the Nepomuk
>>> >>>>>>>>>> it that
>>> >>>>>>>>>> the indexingDone signal is implemented and it is supposed to be
>>> >>>>>>>>>> emitted.
>>> >>>>>>>>>>
>>> >>>>>>>>>>
>>> >>>>>>>>>> Please let me know your opinion.
>>> >>>>>>>>>>
>>> >>>>>>>>>>
>>> >>>>>>>>>> Cheers,
>>> >>>>>>>>>> Amir
>>> >>>>>>>>>>
>>> >>>>>>>>>
>>> >>>>>>>>
>>> >>>>>>>
>>> >>>>>>
>>> >>>>>
>>> >>>>
>>> >>>
>>> >>
>>> >
>>>
>>>
>>> ------------------------------------------------------------------------------
>>> Lotusphere 2011
>>> Register now for Lotusphere 2011 and learn how
>>> to connect the dots, take your collaborative environment
>>> to the next level, and enter the era of Social Business.
>>> http://p.sf.net/sfu/lotusphere-d2d
>>> _______________________________________________
>>> Basket-devel mailing list
>>> Basket-devel@lists.sourceforge.net
>>> https://lists.sourceforge.net/lists/listinfo/basket-devel
>>
>>
>

------------------------------------------------------------------------------
Learn how Oracle Real Application Clusters (RAC) One Node allows customers
to consolidate database storage, standardize their database environment, and, 
should the need arise, upgrade to a full multi-node Oracle RAC database 
without downtime or disruption
http://p.sf.net/sfu/oracle-sfdevnl
_______________________________________________
Basket-devel mailing list
Basket-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/basket-devel

Reply via email to