[jdev] Local history storage
Mathieu Pasquet
mathieui at mathieui.net
Wed Dec 19 10:02:11 UTC 2012
On 19/12/2012 08:14, David E. Ammouial wrote:
> Hello,
>
> I'm currently switching from Gajim to Empathy (trying it out becomes I'm
> discovering GNOME 3), and as a user I'd like to express a wish to client
> developers: IMHO, clients should store the chat history at the same place.
>
> Gajim, for instance, has taken interesting steps since its beginning.
> Before, everything was stored under $HOME/.gajim and now there's
> .local/share/gajim, .config/gajim and .cache/gajim. Such sweetness is a
> global naming policy change that modern software tend to respect, so
> that there's more consistency (e.g. all local storage goes to .local).
>
> So here, my proposal is to go one step further: I guess .local/share is
> called "share" because it's supposed to host shared resources, not one
> subdirectory per program. Chat history is a good example: a
> .local/share/xmpplogs/ directory would make total sense.
>
> Of course, the exact format would need to be thoughtfully defined, but
> does the goal itself sound reasonable?
>
> (I'm well aware of the efforts to store history on server side, but I
> think local history will still be around for a while.)
>
> Regards.
I’m not sure about having the same location for every clients
(conflicts, concurrent access, and all the fun of shared resources), but
a common format in order to allow easy migrations (copy + paste of the
log files) would indeed be nice. It would also mean that we could have
an external, standardized tool to view the logs.
As it was mentionned, XEP-0136 introduces a standard for querying and
retrieving message logs, but in order to create a new XEP to specify the
file format of the client logs, we would need to extend its scope. Most
clients nowadays store lots of things in their logs (namely, presences)
which are not mentionned in the XEP (or did I misread?) ; this is
especially true for nick changes in a groupchat.
Another issue with a standardized file format is that the chosen file
format depends of the goal of the client. E.g gajim, if I’m not
mistaken, stores its logs in a sqlite database, which allows them to
have a nice graphical tool dedicated to query the logs in various ways,
and stay efficient. But other clients (like poezio, or mcabber) have
opted for a plain text and file-based file format, because it keeps the
logs human-readable, and less prone to corruption (and we can still
kinda-query it with grep).
(for reference, you were talking about the freedesktop basedir spec:
http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html )
--
Mathieu Pasquet (mathieui)
More information about the JDev
mailing list