Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Spreed integration #563

Closed
5 of 10 tasks
leonklingele opened this issue Aug 16, 2017 · 16 comments
Closed
5 of 10 tasks

Spreed integration #563

leonklingele opened this issue Aug 16, 2017 · 16 comments
Labels
1. to develop Accepted and waiting to be taken care of enhancement New feature request
Milestone

Comments

@leonklingele
Copy link
Member

leonklingele commented Aug 16, 2017

As outlined in nextcloud/spreed#347, we want to integrate some functionality of the Spreed app into Calendar.

Features

  • Optionally schedule Spreed meeting when creating a new calendar event Spreed integration #565
    I suggest to create a new tab (next to "Details", "Attendees", "Reminders", "Repeating") with a checkbox, maybe we can even show this checkbox in the "Details" tab -> Checkbox only shown if the Spreed app is installed, else a warning "Please install the Spreed app to schedule meetings, you can find it here bla"
  • Meeting properties Spreed integration #565
    The meeting created with the event has additional properties that need to be configurable (e.g. private/public).
  • Link to Spreed meeting
    There should be a link to join a meeting directly from a calendar event. This should include all necessary parameters (e.g. password, meeting id) that are required to join the meeting so no additional action is required for users.
  • Invitation email customization Enhance calendar invitation emails server#6402
    You know what this means. We need to extend the invitation email to include a link to the meeting, password, etc.
  • Additional participant properties Add language selection to attendee section #590
    Participants might need additional properties, e.g. the language to be used for the invitation mail.
  • Reminder emails Calendar events email reminders server#3044
    There should be reminder emails before the scheduled start to all participants. Could be configurable by the NC admin or use some hardcoded values (e.g. 24h and 1h before the meeting)
  • Password protection for public & private calls Password protection rooms spreed#36
    Each attendee should receive her individual password for private calls and a shared password for public calls (if public meetings are password-protected -> there should be an option to change that). The meeting scheduler (maybe even the moderators?) should see all passwords to be able to communicate them on another way. This also applies to private meetings for external users.
  • Ownership and moderation Introduce types of participants spreed#297
    This is required to grant different permissions to each participant ("Moderator", "Guest" / "Attendee", etc.)
  • Meeting cleanup Support for room archival spreed#383
    When do meetings associated with an event get deleted? Only when the event is removed, or when the scheduled end time is reached?
  • Landing page / Lobby Scheduled calls / waiting lobby spreed#382
    What should happen if people try to join a meeting before it is scheduled to start? We could show a landing page with information about the meeting and the scheduled start/end. Special handling is required for recurring events which have multiple start/end times.

Please edit this issue if I missed something.


Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

@georgehrke georgehrke added 1. to develop Accepted and waiting to be taken care of enhancement New feature request labels Aug 16, 2017
@fancycode
Copy link
Member

Added some more action items.

@leonklingele-work
Copy link

@fancycode

Meeting properties

Why not always make a meeting/room public, "protected" by a random token and a individual attendee PIN.

Reminder emails

This is WIP here: nextcloud/server#3044

External users

Is this a dup of Password protection for public calls?

@fancycode
Copy link
Member

Why not always make a meeting/room public, "protected" by a random token and a individual attendee PIN.

What is the "random token" here? The meeting id?

Invited participants always receive a PIN so they can authenticate themselves with the server, no matter if the meeting is public or private. For public meetings, any user can join the meeting if he knows a valid meeting id. A use case for that would be a webinar-style meeting where you publish the id on your website / send it in a mailing.
So the difference is that for "private" meetings, a PIN must be entered - for "public" meetings, the PIN is optional.

This is WIP here: nextcloud/server#3044

Ok

External users

Is this a dup of Password protection for public calls?

From what I understand, "Password protection for public calls" is about public meetings where you need a password to join - and all users can use the same password.
"External users" is about non-NC users that get invited to a meeting and receive a personalized PIN. They need to be able to join the meeting without having an account in NC (for both public and private meetings).

@leonklingele-work
Copy link

I have merged the two tasks, Password protection for public calls and External users.

Here are the cases which need to be differentiated:

  1. Private rooms
    Private rooms are only accessible by invited participants using their personalized PIN.

  2. Public rooms

    1. Password-protected public rooms
      A room is locked by a single password, which is shared amongst attendees.
      Admins / individually invited participants should be able to provide their PIN to "upgrade" their "guest" status
    2. Unprotected public rooms
      Same as 2.1., but public rooms are not protected by a password and are free to join by all guests.

@fancycode is this correct?

@fancycode
Copy link
Member

Sounds good.

For 2.1 would an invited participant require both his personal PIN and the room "protection PIN" to join, or would the personal PIN be enough? When talking about "upgrading" above, does that mean a user joins anonymously first and then can enter his PIN later? If so, I would rather ask for the PIN first so the id of a user doesn't change later on (take for example what happens if an anonymous user tries to use the same personal PIN that another participant already used).

@leonklingele-work
Copy link

For 2.1 would an invited participant require both his personal PIN and the room "protection PIN" to join, or would the personal PIN be enough?

The personal PIN should be enough. We could mark these two kinds of authentication token with a prefix, e.g. p- and m- to tell them apart. Thinking about it, only special tokens really need to be marked (in this case only the Moderator PIN, m-).

When talking about "upgrading" above, does that mean a user joins anonymously first and then can enter his PIN later?

No, forget about that. "Upgrading" a session would be required if a user first joins a password protected public meeting using the shared password (2.1.) and then later decides to enter his PIN to upgrade to Moderator status.

@fancycode
Copy link
Member

We could mark these two kinds of authentication token with a prefix, e.g. p- and m- to tell them apart.

PINs should always be all-numeric, otherwise we will have problems using them to authenticate by phone later.

"Upgrading" a session would be required if a user first joins a password protected public meeting using the shared password (2.1.) and then later decides to enter his PIN to upgrade to Moderator status.

Which is what I meant ;-) We should not do this because switching from "protection pin" to "personal pin" will cause the userid of the session to change. A user should only enter a PIN initially when joining a meeting and that will set the properties of the user. If we want the user to enter both PINs, he should have to enter the "personal pin" first, and then - if the room is protected - also have to enter the "protection pin" (we could also decide to ignore the "protected pin" if a user authenticates with a personal pin).

@leonklingele-work
Copy link

When do meetings associated with an event get deleted?

IMO meeting rooms should be archived when the event is deleted or has passed its end of life.
We then could automatically delete an archived room after e.g. 30 days, so it can be easily unarchived in that period of time.
I've opened nextcloud/spreed#383 which requests support for that.

@nickvergessen
Copy link
Member

Question why is there this huge blob in the calendar repo all of a sudden?

We have the spreed overview at nextcloud/spreed#347

In this issue here only the calendar handling should be discussed planned.

@nickvergessen
Copy link
Member

individually invited participants should be able to provide their PIN to "upgrade" their "guest" status

No, we have logged in users and guests. Nothing further is planned for the nc13 release

@nickvergessen
Copy link
Member

Why not always make a meeting/room public, "protected" by a random token and a individual attendee PIN.

As per nextcloud/spreed#36 (comment) there is only a room password for nc13

@fancycode
Copy link
Member

No, we have logged in users and guests. Nothing further is planned for the nc13 release

Would an API be ok so we can hook into the joining workflow to override this in a separate app?

@jancborchardt
Copy link
Member

@leonklingele what’s the status here btw? Any UI to be reviewed? If you have any screenshots that would be great. :)

@georgehrke
Copy link
Member

@jancborchardt There are some minor issues to be fixed. I can provide screenshots tomorrow.

Working on #613 right now, that's priority number one and that should go in first.

@georgehrke georgehrke added this to the 1.6.2 milestone Feb 11, 2018
@Peterede
Copy link

Peterede commented Jul 5, 2018

I have added a pull request to allow separate apps to verify the password nextcloud/spreed#1020

@jospoortvliet
Copy link
Member

We essentially have fixed this with the addition of the 'create Talk room', so let's just close this...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
1. to develop Accepted and waiting to be taken care of enhancement New feature request
Projects
None yet
Development

No branches or pull requests

8 participants