Hi Amir,

On Wed, Oct 6, 2010 at 7:50 AM, Amir Pakdel <pak...@gmail.com> wrote:

> Hi Matt,
>
> On Wed, Oct 6, 2010 at 5:59 PM, Matt Rogers <ma...@kde.org> wrote:
> > On Wed, Oct 6, 2010 at 8:54 AM, Amir Pakdel <pak...@gmail.com> wrote:
> >> Hi Sebastian,
> >>
> >> On Wed, Oct 6, 2010 at 4:16 PM, Sebastian Trüg <tr...@kde.org> wrote:
> >>> Hi Amir,
> >>>
> >>> On 10/02/2010 02:16 PM, Amir Pakdel wrote:
> >>>> Hi Sebastian,
> >>>>
> >>>> On Thu, Sep 23, 2010 at 11:11 AM, Amir Pakdel <pak...@gmail.com>
> wrote:
> >>>>> On Tue, Sep 21, 2010 at 2:21 PM, Sebastian Trüg <tr...@kde.org>
> wrote:
> >>>>>>
> >>>>>> On 09/21/2010 12:34 PM, Laura Dragan wrote:
> >>>>>>> On Tuesday 21 September 2010 09:30:19 Sebastian Trüg wrote:
> >>>>>>>> Hi Amir,
> >>>>>>>>
> >>>>>>>> looks like I missed this one. So here goes.
> >>>>>>>>
> >>>>>>>> On 09/14/2010 06:50 PM, Amir Pakdel wrote:
> >>>>>>>>> The last prombems were:
> >>>>>>>>>
> >>>>>>>>>    1.
> >>>>>>>>>
> >>>>>>>>>       I havd to update Krunner Nepomuk plugin to the last version
> >>>>>>>>>
> >>>>>>>>>    2.
> >>>>>>>>>
> >>>>>>>>>       There is a /22rdfsyntaxnsmetadata/ function in /rdf/ which
> I had
> >>>>>>>>>       to comment out
> >>>>>>>>
> >>>>>>>> Is this something Nepomuk-related? Something that did not work or
> might
> >>>>>>>> need fixing from my part?
> >>>>>>>>
> >>>>>>>>> I have attached latest version of /src/nepomukintegration.h/ and
> >>>>>>>>> /src/nepomukintegration.cpp/ and I would be greateful if you
> could
> >>>>>>>>> take
> >>>>>>>>> look and inform me of any error, bug or requred features.
> >>>>>>>>
> >>>>>>>> Some comments:
> >>>>>>>> - It is recommended to use KUrl(path) instead of
> >>>>>>>>   QUrl::fromLocalFile(path)
> >>>>>>>> - setProperty( "a" ) is very very wrong. :) What you want to do is
> >>>>>>>>   calling addType()
> >>>>>>>> - there is no need to add nfo:FileDataObject type manually. That
> is
> >>>>>>>>   already handled by strigi and Resource. The same goes for
> nie:url
> >>>>>>>> - nfo:fileUrl is deprecated in favor of nie:url.
> >>>>>>>> - Please do not use DC. Rather use nie:title.
> >>>>>>>> - use setLabel() instead of setProperty( NAO::prefLabel(),
> >>>>>>>>
> >>>>>>>>> Here is the updated and reformatted testing procedure:
> >>>>>>>>
> >>>>>>>> I am not sure what to do with the explanations below. Is that for
> >>>>>>>> manual
> >>>>>>>> testing?
> >>>>>>>>
> >>>>>>>>
> >>>>>>>>> Trüg, do you know why I cannot find tags?
> >>>>>>>>> Laura, what metadata do you suggest to add next?
> >>>>>>>
> >>>>>>> Hi Amir,
> >>>>>>>
> >>>>>>> There are some things which are not completely clear to me.
> >>>>>>> From what I see in the code, you consider a .basket as a note.
> >>>>>>> I see the basket as a container of multiple notes, each distinct
> >>>>>>> instances of pimo:Note, each with it's own creation/modification
> times and
> >>>>>>> tags. I'm not sure about the title, as I don't know if you can set
> the title
> >>>>>>> of an individual note in any other way as through formatting in the
> text.
> >>>>>>> And then there are the groups of notes, which I think would make
> sense to
> >>>>>>> capture as RDF as they are structured info as well.
> >>>>>>>
> >>>>>>> @nepomuk What vocabulary offers support for this kinds of
> containers of
> >>>>>>> Things already?
> >>>>>>> As a last resort, you could even make up your own small vocabulary
> for
> >>>>>>> it.
> >>>>>>
> >>>>>> Well, we do have pimo:isPartOf, right?
> >>>>>>
> >>>>>> Cheers,
> >>>>>> Sebastian
> >>>>>
> >>>>> Hi Laura,
> >>>>> Hi Sebastian,
> >>>>>
> >>>>> You are completely right: .basket files represent groups of notes
> (called
> >>>>> basket) and they contain everything except the notes. The actual
> notes are
> >>>>> individual files of a variety of types (Image, Text, HTML) in the
> same
> >>>>> directory and they are addressed in the .basket file.
> >>>>> Nonetheless, I could not define a MIME-Type for the files that really
> >>>>> containing notes, because they already have one! and I could not find
> a way
> >>>>> to include path of a file as part of the MIME-Type specification. In
> other
> >>>>> words, what makes an HTML file, a note in "Basket Note Pads" is the
> >>>>> directory that this file resides in.
> >>>>> Consequently, the only solution I could think of, is assigning all
> the
> >>>>> metadata in the Nepomuk to the .basket file. In fact, the .basket
> files
> >>>>> contains all this metadata in XML format. Afterwords, as Sebastian
> said, we
> >>>>> could link notes and baskets in Nepomuk using pimo:isPartOf.
> >>>>> Significance of the MIME-Type is related to the fact that with the
> right
> >>>>> MIME-Type being set, the search result (in this case the .basket
> file) is
> >>>>> opened using the appropriate application (Basket Note Pads).
> >>>>> However, I have not tested the effect of pimo:isPartOf! I do not know
> if a
> >>>>> single note (an HTML file for example) that is a part of a .basket is
> found
> >>>>> (as a search result) running the note using KRun will open the
> .basket
> >>>>> (which the note is part of) using the Basket Note Pads or the note
> file
> >>>>> (using Firefox in tis case).
> >>>>>
> >>>>> Any idea or suggestion?
> >>>>>
> >>>>> Thanks,
> >>>>> Amir
> >>>>>
> >>>>
> >>>> As you may know, Basket Note Pads uses a directory hierarchy like this
> >>>> under ~/.kde/share/apps/basket/baskets/:
> >>>> basket[0-9]+/
> >>>>                    |
> >>>>                    \__ .basket               <- the XML file that
> >>>> contains the metadata
> >>>>                    \__ note[0-9]+.html    <- the actual notes
> >>>> referenced inside the .basket file
> >>>>                    \__ note[0-9]+.html
> >>>>                    \......
> >>>>
> >>>> Thanks to your help, the new nepomukintegration::updateMetadata
> >>>> function in the Basket Note Pads, now can update the metadata of the
> >>>> .basket file in the Nepomuk. As a result, one can search for the title
> >>>> or the tags of the basket in the KRunner and when clicking on the
> >>>> search result, the basket would be opened in the Basket Note Pads
> >>>> (thanks to Brian).
> >>>>
> >>>> The next thing would be adding the actual note into the Nepomuk, so
> >>>> that we could search for the note contents.
> >>>>
> >>>> I thought it could be done by indexing the note file and then adding
> >>>> an nie:isPartOf to it, but it seems that I am wrong.
> >>>> I have attached the source code of the nepomukintegration.cpp and the
> >>>> result is something like the following:
> >>>>
> >>>> $ nepomukcmd query "select ?r where { ?r nie:url
> >>>>
> <file:///home/amir/.kde/share/apps/basket/baskets/basket106/note1.html>
> >>>> . }"
> >>>>
> >>>> <nepomuk:/res/18f7977b-86ca-4161-8b03-b31727e269df>
> >>>> Total results: 1
> >>>> Execution time: 00:00:00.3
> >>>>
> >>>> $ nepomukcmd query "select ?a ?b where {
> >>>> <nepomuk:/res/18f7977b-86ca-4161-8b03-b31727e269df> ?a ?b . }"
> >>>>
> >>>> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type>
> >>>> <
> http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#FileDataObject>
> >>>> <
> http://www.semanticdesktop.org/ontologies/2007/08/15/nao#lastModified>
> >>>> "2010-10-02T10:22:53.727Z"^^<
> http://www.w3.org/2001/XMLSchema#dateTime>
> >>>> <http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#wordCount>
> >>>> "37"^^<http://www.w3.org/2001/XMLSchema#int>
> >>>> <http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#fileName>
> >>>> "note1.html"^^<http://www.w3.org/2001/XMLSchema#string>
> >>>> <
> http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#characterCount>
> >>>> "498"^^<http://www.w3.org/2001/XMLSchema#int>
> >>>> <http://www.semanticdesktop.org/ontologies/2007/01/19/nie#isPartOf>
> >>>> <nepomuk:/res/549cbd4e-22c4-4552-a0f7-4f6503511023>
> >>>> <http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#lineCount>
> >>>> "5"^^<http://www.w3.org/2001/XMLSchema#int>
> >>>> <
> http://www.semanticdesktop.org/ontologies/2007/01/19/nie#lastModified>
> >>>> "2010-08-25T04:18:14Z"^^<http://www.w3.org/2001/XMLSchema#dateTime>
> >>>> <http://www.semanticdesktop.org/ontologies/2007/01/19/nie#url>
> >>>>
> <file:///home/amir/.kde/share/apps/basket/baskets/basket106/note1.html>
> >>>> <
> http://www.semanticdesktop.org/ontologies/2007/01/19/nie#plainTextContent>
> >>>> "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\"
> >>>> \"http://www.w3.org/TR/REC-html40/strict.dtd\";>\n<html><head><meta
> >>>> name=\"qrichtext\" content=\"1\" /><style type=\"text/css\">\np, li {
> >>>> white-space: pre-wrap; }\n</style></head><body style=\"
> >>>> font-family:\'Sans Serif\'; font-size:9pt; font-weight:400;
> >>>> font-style:normal;\">\n<p style=\" margin-top:0px; margin-bottom:0px;
> >>>> margin-left:0px; margin-right:0px; -qt-block-indent:0;
> >>>> text-indent:0px;\">Can be indexed in
> >>>> basketview.cpp/BasketView::closeEditor</p></body></html>"^^<
> http://www.w3.org/2001/XMLSchema#string>
> >>>> <http://www.semanticdesktop.org/ontologies/2007/01/19/nie#mimeType>
> >>>> "text/html"^^<http://www.w3.org/2001/XMLSchema#string>
> >>>> <http://www.semanticdesktop.org/ontologies/2007/01/19/nie#contentSize
> >
> >>>> "502"^^<http://www.w3.org/2001/XMLSchema#int>
> >>>> Total results: 12
> >>>> Execution time: 00:00:00.1
> >>>>
> >>>> $ nepomukcmd query "select ?a ?b where {
> >>>> <nepomuk:/res/18f7977b-86ca-4161-8b03-b31727e269df> nie:isPartOf ?t .
> >>>> ?t ?a ?b . }"
> >>>>
> >>>> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type>
> >>>> <http://www.semanticdesktop.org/ontologies/2007/11/01/pimo#Note>
> >>>> <
> http://www.semanticdesktop.org/ontologies/2007/08/15/nao#lastModified>
> >>>> "2010-10-02T10:23:07.004Z"^^<
> http://www.w3.org/2001/XMLSchema#dateTime>
> >>>> <http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#fileName>
> >>>> ".basket"^^<http://www.w3.org/2001/XMLSchema#string>
> >>>> <http://www.semanticdesktop.org/ontologies/2007/01/19/nie#url>
> >>>> <file:///home/amir/.kde/share/apps/basket/baskets/basket106/.basket>
> >>>> <http://www.semanticdesktop.org/ontologies/2007/01/19/nie#title>
> >>>> "Basket Note Pads
> >>>> development"^^<http://www.w3.org/2001/XMLSchema#string>
> >>>> <http://www.semanticdesktop.org/ontologies/2007/01/19/nie#mimeType>
> >>>> "application/x-basket-item"^^<http://www.w3.org/2001/XMLSchema#string
> >
> >>>> <http://www.semanticdesktop.org/ontologies/2007/08/15/nao#prefLabel>
> >>>> "Basket Note Pads
> >>>> development"^^<http://www.w3.org/2001/XMLSchema#string>
> >>>> <http://www.semanticdesktop.org/ontologies/2007/08/15/nao#hasTag>
> >>>> <nepomuk:/res/2085289f-3366-4d3c-a9c5-0064ce6630f9>
> >>>> <http://www.semanticdesktop.org/ontologies/2007/08/15/nao#hasTag>
> >>>> <nepomuk:/res/d06217ba-b63c-48f5-9c31-78d93a155e2c>
> >>>> <http://www.semanticdesktop.org/ontologies/2007/08/15/nao#hasTag>
> >>>> <nepomuk:/res/e2642122-636f-44fc-8f5e-fed579aff6f9>
> >>>> Total results: 10
> >>>> Execution time: 00:00:00.3
> >>>>
> >>>>
> >>>>
> >>>>
> >>>> But, unfortunately, when searching for some text in the note using
> >>>> KRunner, it finds the .html file and opens it using a Web Browser.
> >>>>
> >>>> Any suggestions?
> >>>
> >>> I see one very simple solution as a quick-fix:
> >>> Create your own .basket mimetype and store notes in foobar.basket
> files,
> >>> one note per file. Then the mimetype can be associated with your
> >>> application directly and finding the notes would open them accordingly.
> >>> This would be in par with how applications typically handle files.
> >>>
> >> It is a good idea; I like it very much. Does anyone have anything
> against it?
> >>
> >
> > I don't completely understand what is meant here. You're talking about
> > changing the way notes are stored, is that correct? I thought Amir had
> > already created a .basket mimetype for the .basket files that already
> > exist? Notes don't have names. How are they being searched for?
> >
> For example, assume in a basket directory called
> .../baskets/basketXXX/ there are the following files:
> .basket
> note1.html
> note2.html
> somePic.png
>
>
> The nepomukintegration::updateMetadata function should generate the
> following files:
> note1.html.basket
> note2.html.basket
> somePic.png.basket
>
>
Doubling the number of files in a basket doesn't seem like the best solution
to me. What if we just rename the existing files?

We'd need to update a little more code but I think it might be a little
cleaner in the long run, as well as keeping the metadata associated directly
with the file containing the data (if that makes a difference). I'd be
willing to update the code and add a function to update existing baskets.

-Brian


> And then add the related metadata to Nepomuk.
> Now, when we click on the items that are found using KRunner, they
> will be opened using the Basket Note Pads, because they are "*.basket"
> files.
> I hope that explains the idea.
>
> >>> The second solution would be to go the clean way and store the notes in
> >>> Nepomuk only. But that requires the type/application system I
> mentioned.
> >>> Maybe it is time to create that.
> >>>
> >>> Cheers,
> >>> Sebastian
> >>>
> >>
> >> 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?
> >
> >> If nobody disagrees, I will start coding soon.
> >>
> >
> > I don't disagree, but I need more information.
> >
> >> Thanks again Sebastian.
> >>
> >>
> >> Cheers,
> >> Amir
> >>
> >
> > Thanks
> > --
> > Matt
> >
>
> Cheers,
> Amir
>
>
> ------------------------------------------------------------------------------
> Beautiful is writing same markup. Internet Explorer 9 supports
> standards for HTML5, CSS3, SVG 1.1,  ECMAScript5, and DOM L2 & L3.
> Spend less time writing and  rewriting code and more time creating great
> experiences on the web. Be a part of the beta today.
> http://p.sf.net/sfu/beautyoftheweb
> _______________________________________________
> Basket-devel mailing list
> Basket-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/basket-devel
>
------------------------------------------------------------------------------
Beautiful is writing same markup. Internet Explorer 9 supports
standards for HTML5, CSS3, SVG 1.1,  ECMAScript5, and DOM L2 & L3.
Spend less time writing and  rewriting code and more time creating great
experiences on the web. Be a part of the beta today.
http://p.sf.net/sfu/beautyoftheweb
_______________________________________________
Basket-devel mailing list
Basket-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/basket-devel

Reply via email to