Re: GSoC History plugin

Joshua Joseph <[email protected]>
Newsgroups gmane.comp.kde.devel.kopete
Message-ID <CAKYNVbQRSdgtaaDe3UvhqM5dfjDcXh-Qx+XaRAVOoiRpaHtyqg@mail.gmail.com>
On Sat, Jun 20, 2015 at 4:38 PM, Pali Rohár <[email protected]> wrote:
>
> >
> > I had not thought of that. :)
> >
> > > Same for Contact: Does not it make sense to store Kopete::Contact
> > > representing room? Or do you think it is not needed at all?
> >
> > Yes. I will change to Kopete::Contact.
> >
>
> I think you did not change anything, or yes?


Just changed the type column to int.


> Anyway detecting multi user
> chat messages with that mutually exclusive condition (only one of
> contact/session or name is set) is really hard to imagine and also write
> correct select sql statement (it is even possible to write optimal one
> for SQLite??). Rather use some multi user group chat boolean column (in
> SQLite there is no boolean, just int).
>

LIke this?

--messages table
CREATE TABLE "messages" (
   "id" Integer Primary Key Autoincrement Not Null, --Unique message
identifier
   "timestamp" Text, --When the message was handled
   "message" Text, --HTML containing the message contents
   "protocol" Text Not Null, --Protocol used (Kopete::Protocol::pluginId())
   "account" Text Not Null, --Account used (Kopete::Account::accountId())
   "direction" Integer Not Null, --(Inbound = 0, Outbound=1, Internal=2)
(Kopete::Message::MessageDirection)
   "importance" Integer, -- (Low, Normal, Highlight) (Kopete::Message)
(Kopete::Message::MessageImportance)
   "contact" Text, -- The local contact used in this message (if
applicable). (Kopete::Contact::ContactId()). If present, we know we are in
single user mode.
   "subject" Text, --If applicable, this will store the subject of the
message
   "session" Text, -- Internal session identifier.
   "session_name" Text, -- If in multi user mode, a human readable name for
the session.
   "from" Text, --Internal identifier for the message sender
   "from_name" Text, --Human readable name of the message sender
   "to" Text, --Internal identifier for the message recipient
   "to_name" Text, --Human readable name of the message recipient.
   "state" Integer, --(Unknown = 0, Sending = 1, Sent = 2, Error = 3)
   "type" Integer, --The type of message. (TypeNormal, TypeAction,
TypeFileTransferRequest, TypeVoiceClipRequest)
(Kopete::Message::MessageType)
   "is_group" Integer Default='0' --If this is set to 1, then we know we
are in multi user mode.
 )
>
>
> > > >    "session_name" Text, -- If in multi user mode, a human
> > > >    readable name
> > >
> > > for
> > >
> > > > the session.
> > > >
> > > >    "from" Text, --Internal identifier for the message sender
> > > >    "from_name" Text, --Human readable name of the message sender
> > > >    "to" Text, --Internal identifier for the message recipient
> > > >    "to_name" Text, --Human readable name of the message
> > > >    recipient.
> > >
> > > Kopete::Message::from() and Kopete::Message::to() can represent
> > > those from/to values...
> > >
> > > Just to note that Kopete::Message::to() is list of Kopete::Contact
> > > object. It is not single/one Kopete::Contact. Maybe storing it as
> > > concatenation with ", " separator? Or totally drop list and just
> > > store first Contact?
> >
> > Its better to store all with a preset delimiter.
> >
>
> Ok. I think that most kopete protocols (maybe all now??) just set one
> contact for Kopete::Message::to() value. So I think that in future (when
> Kopete::Message will be ported to KF5) we could change list to single
> value.
>
> If you think that full list is needed, we can use delimiter and maybe in
> future change it only to single value.
>
>
Noted.

>
>
> --
> Pali Rohár
> [email protected]
>
> _______________________________________________
> kopete-devel mailing list
> [email protected]
> https://mail.kde.org/mailman/listinfo/kopete-devel
>
>


-- 
Thanks,
Joshua

_______________________________________________
kopete-devel mailing list
[email protected]
https://mail.kde.org/mailman/listinfo/kopete-devel
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.