Le Sunday 28 June 2009, roide a écrit : > Hi, > In this years summer of code, I am working on the project kde Conversation > logging framework. (link to > proposal<http://docs.google.com/Doc?id=dg9f3fwb_4fdg7mpfh> > ). > A part of the work is to modify the Kopete history plugin, so that it can > save its chats in Akonadi. > I have made some changes in the Kopete history plugin, > one major change is to replace the QDomdocument with a instance History > class( which represents a chat ). > > The work i have done, on the history plugin at > branches/work/soc-logging-framework/kopete/plugins/history/ > > Since i hv made some changes in the history plugin codes( i have tried to > stick as much as i can to the original algorithm), > i was wondering if i can get some comments on the work. > > If i can get comments like > "the way you have done here, is not the right way to do it, but u should do > like this," > or > "what u have done here will give rise to new bugs" > or > "u have not implemented this feature" > > or for that mattter any comment, i will be glad, because i know that > whatever your comments will, > they will only help me improve my work. > > Please take a look, when if you all get time. :)
I had a quick look at the kopete history plugin code. But can you please ellaborate on how the aknady storage works. What kind of database is it? The internal design of the history plugin was made for file stored in xml files by month. Maybe you should change the design to work with akonady. Some small comments on the code: - Too many kDebug ! this would simply spam the console, please remove them before merging. If there is some that might stay they must have the history plugin code - Since Qt4, there is a QHash class, which is faster than QMap for lookup (if you do not need the item to be ordered) - The error handling seems poor - I do not know much about Akonady performence. But the whole idea of the old code was to load and read as less as possible (which is why each month is separate in different files). I'm afraid about how HistoryLogger::getHistory will scale with huge history. - in HistoryLogger::appendMessage, m_history[c]=monthHistory; will erase all the cache - All operations are syncronus. (job->exec()) You probably should redesign the plugin to get assyncronus operation whenever possible. - Do we realy need a savetimer anymore? - How does the import of the old history works? -- Gof _______________________________________________ kopete-devel mailing list kopete-devel@kde.org https://mail.kde.org/mailman/listinfo/kopete-devel