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