Author Topic: Database file format documentation  (Read 4330 times)

0 Members and 1 Guest are viewing this topic.

Offline slash3r

  • Newbie
  • *
  • Posts: 4
Database file format documentation
« on: 30 01 2014, 08:58:39 »
Hello. This is my first time posting here, so I hope that this is the correct place to ask this question.

I've just ditched Trillian for Miranda NG a few days a go. I got it setup almost perfectly for my likings, the only thing I would like to do now is to merge the chat history from my home instance with the one from my office instance. As I understand, the history is kept in the database file. I'm not looking for a working plugin to do my work, I'm just curious if there is some documentation for the database file format, so I can implement my own tool to do this. In lack of such a think I can always look at the source code, but it never hurts to ask first.
 

Offline Wishmaster

Re: Database file format documentation
« Reply #1 on: 30 01 2014, 12:28:49 »
If you want to implement your own tool, you should do it as a Miranda plugin. There are internal services documented to add events to the database and such. That's the recommended way.

If you want to write your own tool to read/write the database, it is going to be much more complicated, especially if you're dealing with the encrypted databases. You would risk serious corruption.
 

Offline Awkward

  • Developer
  • *****
  • Posts: 23
  • Jabber: Jabber ID
Re: Database file format documentation
« Reply #2 on: 30 01 2014, 12:38:37 »
will add one piece: if you just want to combine history from 2 instances, use "built-in" Import plugin
 

Offline slash3r

  • Newbie
  • *
  • Posts: 4
Re: Database file format documentation
« Reply #3 on: 30 01 2014, 14:29:27 »
Thank you both for your replies. I'll try the plugin way, and if that doesn't work too well I'll have a look at the Import plugin source code. I'm not worried about the database encryption, for now, as I want you pull out the deltas from the database (between start-up and shutdown), encrypt and transmit them (using Dropbox, personal VPS etc.), decrypt and import on the other side.