[sip-comm-dev] XCAP in SVN


#1

Hello,

I’ve checked in basic XCAP support for SIP Communicator.

It supports the following:

   1. Get/Set/Delete operations with resource-lists (XCAP groups and
   contacts).
   2. Get operation with xcap-caps (XCAP server capabilities)
   3. Add/Remove/Update operations with contact groups.
   4. Add/Remove operations with contacts.
   5. XCAP configuration on the UI.

If XCAP connection is failed – you can continue your work, but your contact
list won’t be saved on the server. I think that it will be great to show
some *pop up* saying that XCAP server has some errors.

What is not supported:

   1. Partial Get/Set/Delete operations with XCAP server. There is no way to
   determine that XCAP server supports partial operation, so I think it won’t
   be implemented.
   2. Showing XCAP external and entry-ref on the UI (it is references to
   another contact lists and entries). UI doesn’t support read only contact and
   groups, moreover it doesn’t support contact with the same address.
   Nevertheless they are saved in order not to break the initial document
   structure. If we decided to support it on the UI I will implement partial
   Get operation from point1.
   3. Authorization policies. Need to discuss how to operate with them.
   4. Update/Rename operation with contacts. Soon it will be implemented.
   Need to add special methods into OperationSetPersistentPresence.

Found bugs:

   1. If group has subgroups - UI shows them as list (i.e. tree is not
   supported). It saves hierarchy correctly into the contactlist.xml but after
   restart it breaks the initial structure.
   2. Sometimes if group has contacts it is impossible to see them (extend
   panel doesn’t work) so you have to restart SIP Communicator.

I’ve added the following jars:

   1. httpclient-4.0.1.jar
   2. httpcore-4.0.1.jar
   3. jaxb-api.jar

Next few days I’m planning to add comments, remove some unused code and set
correct protection levels in methods.

If you have some questions or remarks to the code/architecture please let me
know.

Thanks, Grigorii.


#2

Hello,

After some discussion with Emil we've decided the following:

1. I will try to support XCAP external and entry-ref (references) and show
them on the UI as not editable groups and contacts.
2. Partial Get operation will be supported (needed for point1).
3. Authorization policies. The following scenario will be implemented:
When someone wants to subscribe and they are in the contact list - XCAP
don't bother the user with the question - it will
authorize them directly and add them into the "white" list, otherwise user
will have to said directly whether he wants to allow or deny the
subscription.
4. XCAP UI configuration will be moved into Presence panel configuration.

Thanks, Grigorii

···

2010/6/2 Grigorii Balutsel <grigorii.balutsel@gmail.com>

Hello,

I’ve checked in basic XCAP support for SIP Communicator.

It supports the following:

   1. Get/Set/Delete operations with resource-lists (XCAP groups and
   contacts).
   2. Get operation with xcap-caps (XCAP server capabilities)
   3. Add/Remove/Update operations with contact groups.
   4. Add/Remove operations with contacts.
   5. XCAP configuration on the UI.

If XCAP connection is failed – you can continue your work, but your contact
list won’t be saved on the server. I think that it will be great to show
some *pop up* saying that XCAP server has some errors.

What is not supported:

   1. Partial Get/Set/Delete operations with XCAP server. There is no way
   to determine that XCAP server supports partial operation, so I think it
   won’t be implemented.
   2. Showing XCAP external and entry-ref on the UI (it is references to
   another contact lists and entries). UI doesn’t support read only contact and
   groups, moreover it doesn’t support contact with the same address.
   Nevertheless they are saved in order not to break the initial document
   structure. If we decided to support it on the UI I will implement partial
   Get operation from point1.
   3. Authorization policies. Need to discuss how to operate with them.
   4. Update/Rename operation with contacts. Soon it will be implemented.
   Need to add special methods into OperationSetPersistentPresence.

Found bugs:

   1. If group has subgroups - UI shows them as list (i.e. tree is not
   supported). It saves hierarchy correctly into the contactlist.xml but after
   restart it breaks the initial structure.
   2. Sometimes if group has contacts it is impossible to see them (extend
   panel doesn’t work) so you have to restart SIP Communicator.

I’ve added the following jars:

   1. httpclient-4.0.1.jar
   2. httpcore-4.0.1.jar
   3. jaxb-api.jar

Next few days I’m planning to add comments, remove some unused code and set
correct protection levels in methods.

If you have some questions or remarks to the code/architecture please let
me know.

Thanks, Grigorii.


#3

Hey Grigorii,

На 10.06.10 09:52, Grigorii Balutsel написа:

Hello,

After some discussion with Emil we've decided the following:

1. I will try to support XCAP external and entry-ref (references) and
show them on the UI as not editable groups and contacts.
2. Partial Get operation will be supported (needed for point1).
3. Authorization policies. The following scenario will be implemented:
When someone wants to subscribe and they are in the contact list - XCAP
don't bother the user with the question - it will
authorize them directly and add them into the "white" list, otherwise
user will have to said directly whether he wants to allow or deny the
subscription.

It is probably worth mentioning that when removing people from the
contact list we will also have to remove them from the xcap "white" list.

4. XCAP UI configuration will be moved into Presence panel configuration.

Just curious, in addition to server address and port, is there other
things you'd like to make configurable here? If so then maybe they
should be hidden behind an "Advanced XCAP Settings button". (Although I
guess I'd prefer we started with address server and port only, if that's
possible).

Cheers,
Emil

···

Thanks, Grigorii

2010/6/2 Grigorii Balutsel <grigorii.balutsel@gmail.com
<mailto:grigorii.balutsel@gmail.com>>

    Hello,

    I’ve checked in basic XCAP support for SIP Communicator.

    It supports the following:

       1. Get/Set/Delete operations with resource-lists (XCAP groups and
          contacts).
       2. Get operation with xcap-caps (XCAP server capabilities)
       3. Add/Remove/Update operations with contact groups.
       4. Add/Remove operations with contacts.
       5. XCAP configuration on the UI.

    If XCAP connection is failed – you can continue your work, but your
    contact list won’t be saved on the server. I think that it will be
    great to show some *pop up* saying that XCAP server has some errors.

    What is not supported:

       1. Partial Get/Set/Delete operations with XCAP server. There is
          no way to determine that XCAP server supports partial
          operation, so I think it won’t be implemented.
       2. Showing XCAP external and entry-ref on the UI (it is
          references to another contact lists and entries). UI doesn’t
          support read only contact and groups, moreover it doesn’t
          support contact with the same address. Nevertheless they are
          saved in order not to break the initial document structure. If
          we decided to support it on the UI I will implement partial
          Get operation from point1.
       3. Authorization policies. Need to discuss how to operate with them.
       4. Update/Rename operation with contacts. Soon it will be
          implemented. Need to add special methods into
          OperationSetPersistentPresence.

    Found bugs:

       1. If group has subgroups - UI shows them as list (i.e. tree is
          not supported). It saves hierarchy correctly into the
          contactlist.xml but after restart it breaks the initial
          structure.
       2. Sometimes if group has contacts it is impossible to see them
          (extend panel doesn’t work) so you have to restart SIP
          Communicator.

    I’ve added the following jars:

       1. httpclient-4.0.1.jar
       2. httpcore-4.0.1.jar
       3. jaxb-api.jar

    Next few days I’m planning to add comments, remove some unused code
    and set correct protection levels in methods.

    If you have some questions or remarks to the code/architecture
    please let me know.

    Thanks, Grigorii.

--
Emil Ivov, Ph.D. 67000 Strasbourg,
Project Lead France
SIP Communicator
emcho@sip-communicator.org PHONE: +33.1.77.62.43.30
http://sip-communicator.org FAX: +33.1.77.62.47.31

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@sip-communicator.dev.java.net
For additional commands, e-mail: dev-help@sip-communicator.dev.java.net


#4

Hello,

We've discussed with Emil some questions:
1. We will support only first level XCAP references.
2. If there are several groups with the same name (it is possible during
point1) - they will be renamed (for example friends(1), friends(2),
friends(3) and so on).
3. We will support only Authorization pres-rules (rfc5025). In common words
- only users that are situated in the contact list will be able to see
presence status. SIP2SIP server supports it.
4. I've found several bugs with MetaContacts on the UI, I will try to fix
them after I will complete first 3 points.

Thanks, Grigorii

···

2010/6/10 Emil Ivov <emcho@sip-communicator.org>

Hey Grigorii,

На 10.06.10 09:52, Grigorii Balutsel написа:
> Hello,
>
> After some discussion with Emil we've decided the following:
>
> 1. I will try to support XCAP external and entry-ref (references) and
> show them on the UI as not editable groups and contacts.
> 2. Partial Get operation will be supported (needed for point1).
> 3. Authorization policies. The following scenario will be implemented:
> When someone wants to subscribe and they are in the contact list - XCAP
> don't bother the user with the question - it will
> authorize them directly and add them into the "white" list, otherwise
> user will have to said directly whether he wants to allow or deny the
> subscription.

It is probably worth mentioning that when removing people from the
contact list we will also have to remove them from the xcap "white" list.

> 4. XCAP UI configuration will be moved into Presence panel configuration.

Just curious, in addition to server address and port, is there other
things you'd like to make configurable here? If so then maybe they
should be hidden behind an "Advanced XCAP Settings button". (Although I
guess I'd prefer we started with address server and port only, if that's
possible).

Cheers,
Emil

>
> Thanks, Grigorii
>
> 2010/6/2 Grigorii Balutsel <grigorii.balutsel@gmail.com
> <mailto:grigorii.balutsel@gmail.com>>
>
> Hello,
>
> I've checked in basic XCAP support for SIP Communicator.
>
> It supports the following:
>
> 1. Get/Set/Delete operations with resource-lists (XCAP groups and
> contacts).
> 2. Get operation with xcap-caps (XCAP server capabilities)
> 3. Add/Remove/Update operations with contact groups.
> 4. Add/Remove operations with contacts.
> 5. XCAP configuration on the UI.
>
> If XCAP connection is failed - you can continue your work, but your
> contact list won't be saved on the server. I think that it will be
> great to show some *pop up* saying that XCAP server has some errors.
>
> What is not supported:
>
> 1. Partial Get/Set/Delete operations with XCAP server. There is
> no way to determine that XCAP server supports partial
> operation, so I think it won't be implemented.
> 2. Showing XCAP external and entry-ref on the UI (it is
> references to another contact lists and entries). UI doesn't
> support read only contact and groups, moreover it doesn't
> support contact with the same address. Nevertheless they are
> saved in order not to break the initial document structure. If
> we decided to support it on the UI I will implement partial
> Get operation from point1.
> 3. Authorization policies. Need to discuss how to operate with
them.
> 4. Update/Rename operation with contacts. Soon it will be
> implemented. Need to add special methods into
> OperationSetPersistentPresence.
>
> Found bugs:
>
> 1. If group has subgroups - UI shows them as list (i.e. tree is
> not supported). It saves hierarchy correctly into the
> contactlist.xml but after restart it breaks the initial
> structure.
> 2. Sometimes if group has contacts it is impossible to see them
> (extend panel doesn't work) so you have to restart SIP
> Communicator.
>
> I've added the following jars:
>
> 1. httpclient-4.0.1.jar
> 2. httpcore-4.0.1.jar
> 3. jaxb-api.jar
>
> Next few days I'm planning to add comments, remove some unused code
> and set correct protection levels in methods.
>
> If you have some questions or remarks to the code/architecture
> please let me know.
>
> Thanks, Grigorii.
>
>
>

--
Emil Ivov, Ph.D. 67000 Strasbourg,
Project Lead France
SIP Communicator
emcho@sip-communicator.org PHONE: +33.1.77.62.43.30
http://sip-communicator.org FAX: +33.1.77.62.47.31