Hi, I would like to have your opinion on knotes. Perhaps someone of you has background knowledge why some decisions were taken (or not).
While reviewing the syncevolution backend (I will upload it to syncevolution sometime soon), I started digging deeper into knotes.
I first opened https://bugs.trinitydesktop.org/show_bug.cgi?id=2688
for the libkcal, and then noticed that knotes uses libkcal Journal (internally), while externally a knotes interface is exposed.
The question is (I did not look too deep) if there is a way to skip the dcop interface and access the libkcal functions directly. So far I have seen is that the header files are not exposed. So how would one access the ressource assigned to knotes?
I'll upload the code now with the dcop interface for notes and later change, when I have come to a better conclusion, but there are definitely advantages in using the libkcal directly and consequently perhaps it is worth thinking of some sort of unification
For example I have in the source tdepim/libkcal/resourcelocalconfig.h tdepim/knotes/resourcelocalconfig.h
but only the former is exposed in the include directory: /opt/trinity/include/libkcal/resourcelocalconfig.h Actually it is only libkcal in the tdepim1 dev.
The last question is why Journal is not visible as notes and notes are not visible as journal in kontacts. I can imagine they are based on different logic, but still I believe it won't hurt if all of that gets unified somehow.
Thanks in advance.
regards
Hi, related to above thoughts
https://bugs.trinitydesktop.org/show_bug.cgi?id=2691
Let me know what you think please. I think it would be really of advantage to have this method there.
Thanks in advance
On 2016/09/15 05:50 AM, deloptes wrote:
Hi, related to above thoughts
https://bugs.trinitydesktop.org/show_bug.cgi?id=2691
Let me know what you think please. I think it would be really of advantage to have this method there.
Thanks in advance
Hi Emanoil, see my reply on the bugszilla. IMO, extensions to dcop interface is not a problem, just keep in mind it will go on the next minor release (R14.1.x) and not in the maintenance release for the current stable TDE (R14.0.x)
Cheers Michele
Michele Calgaro wrote:
On 2016/09/15 05:50 AM, deloptes wrote:
Hi, related to above thoughts
https://bugs.trinitydesktop.org/show_bug.cgi?id=2691
Let me know what you think please. I think it would be really of advantage to have this method there.
Thanks in advance
Hi Emanoil, see my reply on the bugszilla. IMO, extensions to dcop interface is not a problem, just keep in mind it will go on the next minor release (R14.1.x) and not in the maintenance release for the current stable TDE (R14.0.x)
Cheers Michele
Thank you Michele. I raised it against 14.1, so I am aware of this. I would rename the function from getRevision to getLastModified as revision is confusing with SEQUENCE. Until 14.1 I will rebuild from git as I did now. My problem ATM is why it always updates the LAST-MODIFIED field as mentioned in the bug - editor->isModified returns true. I'll try to find a better solution and update the patches
--- crowd-funded eco-conscious hardware: https://www.crowdsupply.com/eoma68
On Sun, Sep 11, 2016 at 10:16 PM, deloptes deloptes@gmail.com wrote:
Hi, I would like to have your opinion on knotes. Perhaps someone of you has background knowledge why some decisions were taken (or not).
While reviewing the syncevolution backend (I will upload it to syncevolution sometime soon), I started digging deeper into knotes.
I first opened https://bugs.trinitydesktop.org/show_bug.cgi?id=2688
for the libkcal, and then noticed that knotes uses libkcal Journal (internally), while externally a knotes interface is exposed.
The question is (I did not look too deep) if there is a way to skip the dcop interface and access the libkcal functions directly.
please do NOT bypass the dcop interface, it is a critical part of KDE (now TDE).
what happens if someone writes a replacement knotes back-end and wants to test it seamlessly?
what happens if someone writes a networked variant of DCOP (which i've planned to do for a long long time) that allows remote authenticated "Notes" management?
if you *bypass* DCOP and use libkal directly, you've just TOTALLY defeated what makes KDE (now TDE) so powerful and flexible.
please DO NOT design applications that bypass DCOP. if you have to extend libkcal, extend libkcal and then extend the corresponding DCOP interface as well, but DO NOT bypass DCOP.
you will be violating one of the fundamental design principles of the entire project by doing so.
i trust that that is clear.
l.
Luke Kenneth Casson Leighton wrote:
crowd-funded eco-conscious hardware: https://www.crowdsupply.com/eoma68
On Sun, Sep 11, 2016 at 10:16 PM, deloptes deloptes@gmail.com wrote:
Hi, I would like to have your opinion on knotes. Perhaps someone of you has background knowledge why some decisions were taken (or not).
While reviewing the syncevolution backend (I will upload it to syncevolution sometime soon), I started digging deeper into knotes.
I first opened https://bugs.trinitydesktop.org/show_bug.cgi?id=2688
for the libkcal, and then noticed that knotes uses libkcal Journal (internally), while externally a knotes interface is exposed.
The question is (I did not look too deep) if there is a way to skip the dcop interface and access the libkcal functions directly.
please do NOT bypass the dcop interface, it is a critical part of KDE (now TDE).
what happens if someone writes a replacement knotes back-end and wants to test it seamlessly?
what happens if someone writes a networked variant of DCOP (which i've planned to do for a long long time) that allows remote authenticated "Notes" management?
if you *bypass* DCOP and use libkal directly, you've just TOTALLY defeated what makes KDE (now TDE) so powerful and flexible.
please DO NOT design applications that bypass DCOP. if you have to extend libkcal, extend libkcal and then extend the corresponding DCOP interface as well, but DO NOT bypass DCOP.
you will be violating one of the fundamental design principles of the entire project by doing so.
i trust that that is clear.
l.
Hi Luke, all clear, no fear! I am not planning to bypass the interface. I am just looking for answers.
I am trying to find out why it updates all last-modified fields of all notes right now...
Help needed.
--- crowd-funded eco-conscious hardware: https://www.crowdsupply.com/eoma68
On Mon, Sep 19, 2016 at 6:16 AM, deloptes deloptes@gmail.com wrote:
I am trying to find out why it updates all last-modified fields of all notes right now...
sounds bizarre but fairly easy to track with the right logging / printf statements strewn liberally through the code to tell you the sequence of events.
l.
Luke Kenneth Casson Leighton wrote:
sounds bizarre but fairly easy to track with the right logging / printf statements strewn liberally through the code to tell you the sequence of events.
yes indeed. the syncing with the phone works great after I made it, however might not be enough if there is no lastmodified ... but this is a different topic.
Now moved to the next item - there is a kpart plugin for kontact, which somehow duplicates the KNotesAppIface without using it ... and this somehow contradicts to what you are saying. Anyway the same trick must be applied there (kontact) to have consistant and not overwritten LAST-MODIFIED each time it saves the notes.
regards
--- crowd-funded eco-conscious hardware: https://www.crowdsupply.com/eoma68
On Mon, Sep 19, 2016 at 7:16 PM, deloptes deloptes@gmail.com wrote:
Luke Kenneth Casson Leighton wrote:
sounds bizarre but fairly easy to track with the right logging / printf statements strewn liberally through the code to tell you the sequence of events.
yes indeed. the syncing with the phone works great after I made it, however might not be enough if there is no lastmodified ... but this is a different topic.
Now moved to the next item - there is a kpart plugin for kontact, which somehow duplicates the KNotesAppIface without using it ... and this somehow contradicts to what you are saying.
bleugh! they didn't bypass knotes and go directly to the files themselves, did they? arghhhh.... :) tell me that the people who developed the kpart plugin for kontact didn't re-implement the entire KNotesAppIface instead of just using KNotesAppIface... :)
l.
Luke Kenneth Casson Leighton wrote:
crowd-funded eco-conscious hardware: https://www.crowdsupply.com/eoma68
On Mon, Sep 19, 2016 at 7:16 PM, deloptes deloptes@gmail.com wrote:
Luke Kenneth Casson Leighton wrote:
sounds bizarre but fairly easy to track with the right logging / printf statements strewn liberally through the code to tell you the sequence of events.
yes indeed. the syncing with the phone works great after I made it, however might not be enough if there is no lastmodified ... but this is a different topic.
Now moved to the next item - there is a kpart plugin for kontact, which somehow duplicates the KNotesAppIface without using it ... and this somehow contradicts to what you are saying.
bleugh! they didn't bypass knotes and go directly to the files themselves, did they? arghhhh.... :) tell me that the people who developed the kpart plugin for kontact didn't re-implement the entire KNotesAppIface instead of just using KNotesAppIface... :)
l.
I'm not quite sure, but yes, looks like - looks like mess :) - but perhaps only from first sight. Perhaps there was a reason and we do not know. I don't see however who will rework this, so I did a patch to preserve the lastmodified also when working with knotes from kontact. Now rebuilding my packages to deploy and make it permanent on my machine.
regards
PS: I want to thank all of you, who helped me understand how to work with the code, the debugging etc. I think I have mentioned this before, but in the pastat least 10 years I was not able to sync phone with KDE (now TDE). I think now this dream comes true. Thank you for making this happen!
Luke Kenneth Casson Leighton wrote:
crowd-funded eco-conscious hardware: https://www.crowdsupply.com/eoma68
On Mon, Sep 19, 2016 at 7:16 PM, deloptes deloptes@gmail.com wrote:
Luke Kenneth Casson Leighton wrote:
sounds bizarre but fairly easy to track with the right logging / printf statements strewn liberally through the code to tell you the sequence of events.
yes indeed. the syncing with the phone works great after I made it, however might not be enough if there is no lastmodified ... but this is a different topic.
Now moved to the next item - there is a kpart plugin for kontact, which somehow duplicates the KNotesAppIface without using it ... and this somehow contradicts to what you are saying.
bleugh! they didn't bypass knotes and go directly to the files themselves, did they? arghhhh.... :) tell me that the people who developed the kpart plugin for kontact didn't re-implement the entire KNotesAppIface instead of just using KNotesAppIface... :)
l.
and as a side effect if you add/mod/del a note in kontakt or knotes, the other one is not aware of the fact until restarted (thus reload the notes) this is really odd
On 2016/09/20 09:18 PM, deloptes wrote:
bleugh! they didn't bypass knotes and go directly to the files
themselves, did they? arghhhh.... :) tell me that the people who developed the kpart plugin for kontact didn't re-implement the entire KNotesAppIface instead of just using KNotesAppIface... :)
l.
and as a side effect if you add/mod/del a note in kontakt or knotes, the other one is not aware of the fact until restarted (thus reload the notes) this is really odd
That doesn't really so nice :-( Would be good if you could find a way to fix this as well, for example an application could notify the other one if notes are modified/added/deleted. What do you think?
Cheers Michele
Michele Calgaro wrote:
That doesn't really so nice :-( Would be good if you could find a way to fix this as well, for example an application could notify the other one if notes are modified/added/deleted. What do you think?
ATM I want to focus on the syncing for one last time. So far all worked really great and I don't see any problems on TDE side. However the fix I did for the vcal format seems to be part of the syncevolution internals because when it converts internally vcal to ical I have the same problem using Cyrillic as in the tests in TDE.
I'll have this kontact knotes/kpart on the todo list - promised. The best would be to reimplement the KNotesAppIface, but it would need to understand the code and how it can be done - things I have never done before.
regards
On 2016/09/21 09:04 PM, deloptes wrote:
Michele Calgaro wrote:
That doesn't really so nice :-( Would be good if you could find a way to fix this as well, for example an application could notify the other one if notes are modified/added/deleted. What do you think?
ATM I want to focus on the syncing for one last time. So far all worked really great and I don't see any problems on TDE side. However the fix I did for the vcal format seems to be part of the syncevolution internals because when it converts internally vcal to ical I have the same problem using Cyrillic as in the tests in TDE.
I'll have this kontact knotes/kpart on the todo list - promised. The best would be to reimplement the KNotesAppIface, but it would need to understand the code and how it can be done - things I have never done before.
regards
Ok, no problem. And thanks for your good contribution so far :-) Cheers Michele