On 08.07.2013 16:47, Raydhitya Yoseph wrote:
I'm posting this so all developers can know how invitation and cancellation work. There are two invitations. The first one is session and the second one is project.

*Session Invitation*
A session can be started if one user share one or more than one projects to one or more than one users.
The logic supports starting a session without a project and only with the host. Furthermore it supports starting a session without sharing a project at all. Those two cases are avoided
by the GUI logic so the user is not able to use this options.

1. One project and one user is the simplest use case. Alice invites Bob to share a project. Bob can accept the project to start a session with Alice. If Bob rejects, no session started.

Not quite true, the session is started on the host side and then terminated if the invitation is canceled.
2. More than one project and one user. Alice invites Bob to share two projects. Bob can accept all projects to start a session with Alice. If Bob rejects one project, no session started.
Bob *must* accept all projects. It really does not matter if you share 1 or n projects, the process is the same as for 1 project except you had n-1 additional entries in the project mapping.

3. One project and more than one users. Alice invites Bob and Carl to share a project. Bob and Carl must accept the project to start a session with the three of them. If only Bob accept the project, Bob starts a session with Alice. Likewise if only Carl accept the project, Carl starts a session with Alice. If both Bob and Carl reject the project, no session started.

4. More than one project and more than one users. Alice invites Bob and Carl to share two projects. Bob and Carl must accept all projects to start a session with the three of them. If only Bob accepts all projects, Bob starts a session with Alice. Likewise if only Carl accept all projects, Carl starts a session with Alice. If both Bob and Carl reject the project, no session started.

*Project Invitation in a Session*
In a session all users share all project of the session. Another user cannot be added to the session, but all users of the session can add any project to the session.
The host can add users to the session anytime.

1. One project. One of the user add one project to the session. All users of the session must accept the project to allow the project to be added to the session. If one user rejects the project, it is not added to the session.
Wrong, the user who shared the project have the project "added" to the session and so is no longer able to share the project again to other participants regardless if the participants accept or reject the sharing.

2. More than one project. One of the user add two projects to the session. All users of the session must accept all projects to allow all projects to be added to the session. If one user rejects one project, all projects are not added to the session.

Same use case as 1.
Are all use cases correct?

Adding a project to the session should be disabled for non-host users (which currently isn't) because it can lead to failures. We already have test cases for this scenario. I also see almost no real use case for non-host project adding and I think that adding another project to the session is not done very often (at least from a non-host perspective).

--
Raydhitya Yoseph
Informatics Engineering
Institut Teknologi Bandung
http://raydhityayoseph.blogspot.com


------------------------------------------------------------------------------
This SF.net email is sponsored by Windows:

Build for Windows Store.

http://p.sf.net/sfu/windows-dev2dev


_______________________________________________
DPP-Devel mailing list
DPP-Devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dpp-devel

------------------------------------------------------------------------------
This SF.net email is sponsored by Windows:

Build for Windows Store.

http://p.sf.net/sfu/windows-dev2dev
_______________________________________________
DPP-Devel mailing list
DPP-Devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dpp-devel

Reply via email to