Bug 73830 - Be able to add sub groups to groups
Summary: Be able to add sub groups to groups
Status: CONFIRMED
Alias: None
Product: kopete
Classification: Applications
Component: Contact list (show other bugs)
Version: unspecified
Platform: Gentoo Packages Linux
: NOR wishlist
Target Milestone: ---
Assignee: Kopete Developers
URL:
Keywords:
: 97842 126509 140378 140379 (view as bug list)
Depends on:
Blocks:
 
Reported: 2004-01-30 18:32 UTC by Jeff Smelser
Modified: 2007-06-22 12:45 UTC (History)
5 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Jeff Smelser 2004-01-30 18:32:13 UTC
Version:            (using KDE KDE 3.1.5)
Installed from:    Gentoo Packages
OS:          Linux

I would be great to be able to have sub groups.. For example.. I can have a group called Work People.. under that, have my different departments I have here with contacts under them..
Comment 1 Martijn Klingens 2004-01-30 19:58:48 UTC
Subject: Re: [Kopete-devel]  New: Be able to add sub groups to groups

This will be *VERY* hard to implement, because hardly any protocol supports it 
for the server side contact list.

Though I agree it might be useful I doubt it's worth the considerable effort 
and code complexity it brings.

Comment 2 Jason Keirstead 2004-01-30 20:04:05 UTC
This shouldn't stop us, since the majority of Kopete's protocols don't need server side lists. 


If the list is server side then the protocol could just flatten the top level group.
Comment 3 Jeff Smelser 2004-01-30 20:20:26 UTC
I forgot the groups are supported on the server side... If at least, then, is there some way of creating a group, say Work People. Then say I want Iatwork login to go in that group with its groups?? That would actually work better i think.

Hope I am clear..
Comment 4 Martijn Klingens 2004-01-30 22:16:38 UTC
Subject: Re: [Kopete-devel]  Be able to add sub groups to groups

On Friday 30 January 2004 20:04, Jason Keirstead wrote:
> This shouldn't stop us, since the majority of Kopete's protocols
> don't need server side lists.

Where do you get this FUD from?

Protocols _with_ serverside list:

1. aim
2. gadu
3. icq
4. jabber
5. msn
6. yahoo

Protocols without:

1. irc
2. sms
3. winpopup

That makes it TWICE as much protocols with serverside list than without.

Really, the complexity of supporting this properly isn't worth the hassle IMO.

Comment 5 Jason Keirstead 2004-01-30 23:04:50 UTC
Subject: Re: [Kopete-devel]  Be able to add sub groups to groups

> Protocols _with_ serverside list:
> 
> 1. aim
> 2. gadu
> 3. icq
> 4. jabber
> 5. msn
> 6. yahoo
> 
> Protocols without:
> 
> 1. irc
> 2. sms
> 3. winpopup
> 
> That makes it TWICE as much protocols with serverside list than without.

Not quite accurate. I feel you suffer from MSN syndrome... just because something
is not possible in MSN does not mean it should be abandoned everywhere.

Protocols that need server side list to function:

	MSN

Protocols that can function with or without a server-side list (and BTW, who should
have list synching as an option)

	OSCAR
	Jabber

Protocols that do not have a server side list:

	iChat
	IRC
	SMS
	WinPopup

Protocols I don't know enough about to say which of the first two
they fall in:

	Yahoo
	Gadu

Even if the last two *need* a server-side list, that still makes 4 protocols that don't
to 3 that need one. And even if you lump Oscar and Jabber with the first 3, that
is still only a 5/4 ratio.

*PLUS* Jabber's server-side list *can* have nested groups if the server implements
JEP-0083, which some clients and servers do already support (see TkJabber, Miranda
for example)

So you want to cripple Kopete's group functionality because 4 out of 9 protocols (maybe)
can't handle nested groups?

Other multi-protocol clients like Miranda do this and it works fine.

Like I said it'd be trivial, the protocols with crippled lists can just flatten the groups when the
export them to the server.

Comment 6 Martijn Klingens 2004-01-31 00:05:09 UTC
Subject: Re: [Kopete-devel]  Be able to add sub groups to groups

On Friday 30 January 2004 23:04, Jason Keirstead wrote:
> Not quite accurate. I feel you suffer from MSN syndrome... just because
> something is not possible in MSN does not mean it should be abandoned
> everywhere.

I don't think the distinction between requiring a server side list or just 
merely supporting it matters at all. It explains your wording in the previous 
comment, but that still doesn't change the fact that 6 out of 9 protocols 
have support for server side lists, of which only one supports nested groups.

That means that we need ugly flattening code in 5 out of 9 plugins to sync 
properly to and from the server.

What if I move user Foo to group A/B/C here and then reconnect at work?

How is the nested group stored?

How does Kopete know if I mean a nested group or a literal '/' character (or 
whatever other delimiter)?

How can we avoid a ton of code duplication in the syncing and flattening?

How do you associate the flattened group with Kopete's local group?

How do you allow to have both a literal group "A/B/C" _AND_ a group A at the 
same time? Or worse, a group "B" inside "A" at the same time?

Just some random questions to point out that this is not "trivial" and that  
"just flatten the groups when they export them to the server" is not easy to 
get right at all.

Comment 7 Jason Keirstead 2004-01-31 16:09:36 UTC
Subject: Re: [Kopete-devel]  Be able to add sub groups to groups

On January 30, 2004 07:05 pm, Martijn Klingens wrote:
> ------- You are receiving this mail because: -------
> What if I move user Foo to group A/B/C here and then reconnect at work?
> 
> How is the nested group stored?

Like i said... *flattened*

> How does Kopete know if I mean a nested group or a literal '/' character (or 
> whatever other delimiter)?

What? What are you talking about here?

> How can we avoid a ton of code duplication in the syncing and flattening?

You flatten in libkopete.
 
> How do you associate the flattened group with Kopete's local group?

You don't have to, why would you? Server-side groups have unique IDs
that are stored as address book field sin the contact list. That is how MSN etc.
associate their groups with the Kopete groups. Since these protocols don't
have nested groups it's a non issue.

> How do you allow to have both a literal group "A/B/C" _AND_ a group A at the 
> same time? Or worse, a group "B" inside "A" at the same time?

I really don't understand this one. You cant have the same group in more than
one group, that's preposterous.


Comment 8 Martijn Klingens 2004-01-31 16:58:05 UTC
Subject: Re: [Kopete-devel]  Be able to add sub groups to groups

On Saturday 31 January 2004 16:09, Jason Keirstead wrote:
> Like i said... *flattened*

Exactly. But that can be done two ways.

If you want to preserve proper grouping you store a group A inside a group B 
as a top-level group "A_B" on the server.

What you do is ANOTHER way to flatten, you dismiss all subgroup information. 
That's the lazy man's approach, but is IMO unacceptable because it throws 
away important information.

Now, with this explanantion, could you answer my questions again?

Comment 9 Olivier Goffart 2004-02-01 10:52:18 UTC
Now my contribution:
I already implemented sub-groupping  (i commited it, but it's commented)
The only missing stuff is the loading from the contactlist.xml

about protocol's server? we don't care.  Every protocol handle their server contact list how they want, with or without support of sub-group / contact in multi groups / top-level group / .....
In that case, protocols can simply ignore that a group is a subgroup.
Comment 10 Martijn Klingens 2004-02-01 12:00:38 UTC
Subject: Re: [Kopete-devel]  Be able to add sub groups to groups

On Sunday 01 February 2004 10:52, Olivier Goffart wrote:
> about protocol's server? we don't care.  Every protocol handle their server
> contact list how they want, with or without support of sub-group / contact
> in multi groups / top-level group / ..... In that case, protocols can
> simply ignore that a group is a subgroup.

That's what Jason wants too, and I object. If I have a group Parent with the 
groups Child1 and Child2 in them I don't want, nor expect Kopete to store the 
people from Child1 and Child2 in the same group. That makes it impossible to 
sync the serverside list from another computer.

Instead Kopete should create two folders Parent_Child1 and Parent_Child2 on 
the server somehow. That is much more complex, and hence the reason I don't 
like this feature at all. But throwing away this very importing information 
is even worse.

Comment 11 Stefan Gehn 2004-02-01 12:09:28 UTC
Subject: Re: [Kopete-devel]  Be able to add sub groups to groups

Am Sonntag, 1. Februar 2004 10:52 schrieb Olivier Goffart:
> I already implemented sub-groupping  (i commited it, but it's commented)
> The only missing stuff is the loading from the contactlist.xml
>
> about protocol's server? we don't care.  Every protocol handle their server
> contact list how they want,
And THAT sucks great time!
Thanks to that "we don't care attitude" no protocol can properly sync its 
contactlist. If something goes wrong when changing the contactlist on oscar 
all Kopete can do is show a messagebox, it cannot revert the change though. 
That results in out-of-sync lists and causes headaches with contacts that are 
in different groups on server than in kopete.
I'm strictly against complicating this in any case, I already hate the fact 
that a contact can be in multiple groups, it totally breaks serverside lists!

Bye, Stefan aka mETz

Comment 12 Martijn Klingens 2004-02-01 12:13:31 UTC
Subject: Re: [Kopete-devel]  Be able to add sub groups to groups

On Sunday 01 February 2004 12:09, Stefan Gehn wrote:
> Thanks to that "we don't care attitude" no protocol can properly sync its
> contactlist. If something goes wrong when changing the contactlist on oscar
> all Kopete can do is show a messagebox, it cannot revert the change though.
> That results in out-of-sync lists and causes headaches with contacts that
> are in different groups on server than in kopete.

You got it :)

> I'm strictly against complicating this in any case, I already hate the fact
> that a contact can be in multiple groups, it totally breaks serverside
> lists!

Yeah, there should be a way to make that easier for you. Perhaps one group 
should be designated 'Primary' and if you ask for primaryGroup() you always 
get that one? Anyway, not relevant to this bug, if you reply please do that 
outside bugzilla.

Comment 13 Rob Kaper 2004-02-13 07:36:54 UTC
I agree that this is a rather important feature. Not just because I sort my concert contacts under Concerts, then Band (currently I put the band name in the display name), but also for larger organizations requiring syncing with complex organization of their employees.

What protocols want and do shouldn't matter: it is actually Kopete's goal to shield the user from protocol-specific nonsense, is it not?
Comment 14 Stefan Gehn 2004-02-13 10:16:53 UTC
> What protocols want and do shouldn't matter: it is actually Kopete's goal to
> shield the user from protocol-specific nonsense, is it not?
Feel free to shield users from what you call protocol-specific nonsense but you probably will never make it usable for people who use their contactlist on more than one machine as the serverside representation will be quite broken.
Comment 15 Olivier Goffart 2005-04-23 14:31:44 UTC
*** Bug 97842 has been marked as a duplicate of this bug. ***
Comment 16 Carsten Wolff 2005-08-13 04:07:09 UTC
The way Miranda does it, is to create groups like
group1
group2/subgroup1
group2/subgroup2
group3/subgroup3

So if you decide to go for a similar solution, it would be nice, if you used the "/" character, too. This way, a kopete user who has to use windows can go with miranda and find the same subgrouping.
Comment 17 ROUCARIES Bastien 2005-10-15 18:05:50 UTC
>What protocols want and do shouldn't matter: it is actually Kopete's goal to 
> shield the user from protocol-specific nonsense, is it not? 
> Feel free to shield users from what you call protocol-specific nonsense but >you probably will never make it usable for people who use their contactlist on >more than one machine as the serverside representation will be quite broken. 

Why not use a plugin (subgrouping) with a big red warning: only compatible with miranda/kopete.

Therefore users of miranda/kopete could use this feature (and reduce mess ;-) )  other users shouldn't be worried about contact representation...

Regards
 
Comment 18 Bartosz Fabianowski 2006-04-30 13:59:51 UTC
*** Bug 126509 has been marked as a duplicate of this bug. ***
Comment 19 Stefan F. 2006-05-28 19:29:08 UTC
*** This bug has been confirmed by popular vote. ***
Comment 20 Bartosz Fabianowski 2007-01-21 11:49:06 UTC
*** Bug 140378 has been marked as a duplicate of this bug. ***
Comment 21 Bartosz Fabianowski 2007-01-21 11:49:20 UTC
*** Bug 140379 has been marked as a duplicate of this bug. ***
Comment 22 Mephiston 2007-01-22 02:37:04 UTC
I submitted this on the wish list today.

I was thinking on basic stuff like:

Group Friends:

We know that it exists on my MSN account and on my Yahoo account.

So, in kopete, we send ALL contacts into the same Friends group, BUT, with 2 sub folders: Yahoo and Msn

This does not require server side support, it's just like what happens now, but with sub folders for each IM protocol.

Also, if intended on creating REAL sub-folders, they could be Local only, i mean, settings per computer... on the server side anyone can be a "Friend" but locally i can separate them and save the settings.

Cheers
Comment 23 David Watzke 2007-06-22 12:45:38 UTC
Yeah, subgroups would be great...

And if some protocol does not support subgroups, it could be saved just in Kopete and on the server it could be saved in main group...