Hi Brian, On Wed, Oct 6, 2010 at 7:10 PM, Brian Milco <bcmi...@gmail.com> wrote: > 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 > I totally agree with you, but I wanted to get it working with the minimum change in the behavior of Basket Note Pads. Otherwise, if the note files are saved with a ".basket" extension, their MIME-type would be automatically considered to be application/x-basket. -Amir >> >> 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