[Pidgin] #3794: Buddy list synchronization policy

Pidgin trac at pidgin.im
Wed Oct 31 06:58:32 EDT 2007


#3794: Buddy list synchronization policy
--------------------------+-------------------------------------------------
 Reporter:  BillyCrook    |       Type:  enhancement
   Status:  new           |   Priority:  minor      
Component:  pidgin (gtk)  |    Version:  2.2.2      
 Keywords:                |    Pending:  0          
--------------------------+-------------------------------------------------
 I propose addign a buddy list synchronization policy.  This could be
 implemented in two parts.

 First, an application-level setting under 'Tools'>'Preferences'.  It would
 take another tab most likely, but by using a gtk treeview, as suggested in
 http://developer.pidgin.im/ticket/3782 , this is less of an issue.  You
 could call this tab 'Buddy list Sync' or Buddy list arpitration', whatever
 you think most people would 'get'.  Policies should be listed in an
 'Available Policy' list on right, and an 'Applied Policy' list on left, or
 vice versa.  The user could choose which policies should be applied, and
 in which order.  This will allow for the contingency of one protocol not
 supporting a specific policy.  The applied policy would be an ordered
 list, where the first applicable policy is applied to each account.  Below
 these two lists, a 'Policy Definition' area would define what a policy
 means/does, but be greyed out when the form opens.  Each policy in
 'Available Policy', when selected, would enable this field, and display
 the "Definition" of each policy.

 The useful policies that I can think of off the top of my head should
 include:[[BR]]
 Use Client but sync it with server at logon[[BR]]
 Use Client List[[BR]]
 Use Server List[[BR]]
 Use Server List but ignore server's groupings*[[BR]]
 *This would provide for when the chat server admin thinks he knows best
 which buddies to group where, and is wrong.

 Every policy could be defined as a combination of at least the following
 options. Note that no [ ] should be exclusive to any other [ ][[BR]]
 Propagate buddy Additions to             [ ] server [ ] client[[BR]]
 Propagate buddy deletions to             [ ] server [ ] client[[BR]]
 Propagate group schema to                [ ] server [ ] client[[BR]]
 On account login, load buddies from      [ ] server [ ] client[[BR]]
 On account login, load group schema from [ ] server [ ] client[[BR]]


 In the future, a third option could be added like [ ] HomeServer for
 synchronizing buddy lists between client instances where the protocol does
 not support, or the chat server is not trusted.  The HomeServer host would
 likely also handle log aggregation.

 Second, an account-level setting under 'Accounts'>'Add/Edit'>[account
 name]>'Modify', a 'Buddy List Sync' tab could appear.  Then in that tab,
 there would be a combo box (drop down box) to list all policies applicable
 for this account's protocol.  The first, and default account-level buddy
 list sync policy should be <global default>, which would point to the
 first applicable policy in the global list.  Then a full list of all
 applicable policies should follow (regardless whether they were selected
 in 'Applied Policies' or only in 'Available Policies' in the global
 config.

 Then the 'Effective Policy' should be displayed in a read only label to
 show what is currently being applied as a result of the global 'Applied
 Policy' order, and the account-selected policy, which should always
 override.


 Sorry to be so long winded, but I wanted to get my ideas out there so
 people could tear them apart for me.

-- 
Ticket URL: <http://developer.pidgin.im/ticket/3794>
Pidgin <http://pidgin.im>
Pidgin


More information about the Tracker mailing list