Open jekram opened 8 years ago
We already have our conference code ready. We won't need much work here. If we intend to create new project for this then we would just move the conference code to that new project.
The main work would be on authentication, access rights on rooms and locking the rooms on server side.
We can simply use LinkedIn Authentication to get some information of the person and give him his room based on his user name. We might or might not allow the person to have more than one room name possessed by him.
On backend database, we would work on storing the room names with owners of the rooms. And information of users logged in through LinkedIn. Other information that we would keep on database for rooms is to know which room is locked and possessed by whom.
I am assuming we will not store chat. As person would invite multiple different people to his room on several times.
We would have two URLs : one would be like https://linkedin.cloudkibo.com/jekram this type of URL would denote the meeting URL. other would be like https://linkedin.cloudkibo.com this would be home page or page to do login using LinkedIn.
If we use current conference logic, current UI for conference and current backend code and do some modifications and insertions described above. Then I think it should not take ideally more than 3 days in case full working day is given to it.
Here are the steps:
@sojharo
Thanks for the quick response.
Couple of questions:
We would have two URLs : one would be like https://linkedin.cloudkibo.com/jekram this type of URL would denote the meeting URL. other would be like https://linkedin.cloudkibo.com this would be home page or page to do login using LinkedIn.
@vickieme2
I have started the work on it. I have worked on conference in this and added linkedin authentication modules of passport. I need to work on server side logic to handle logged in users and others. Others need to be logged in using other applications too i.e. google and others.
I have completed the initial prototype work on it. I need to push it on github and live server now.
In a separate email I have sent you credentials for two servers.
Also need one github repository. I have setup the turn server on one of virtual machine.
I already created github repo last week. Can you check again.
Do you see Cloudkibonew ? I created last week.
Yes. I have found it.
On Tue, Mar 8, 2016 at 7:04 PM, Cloudkibo notifications@github.com wrote:
Do you see Cloudkibonew ? I created last week.
— Reply to this email directly or view it on GitHub https://github.com/Cloudkibo/CloudKibo/issues/419#issuecomment-193795897 .
Regards,
Sojharo
I have pulled the code and worked more on it. I am having LinkedIn redirect issue again which I didn't have on localhost. I need to look into this error again.
It works from your local host but from the server?
I have added client-side javascript sdk provided by LinkedIn to do authentication and continue meeting. Needs some more work on it.
I had worked on it on Friday. Due to sudden Internet issue I could not update on it here. I was having issues with theme files while building the application. After running in production mode, user interface got broken. I had fixed it. Today, I will store user information in database and do room management.
Thanks for the update. What sub tasks are pending? What will be the ETA for completion ?
I am currently working on it and hopefully it will take me just few more hours on this task.
Great. Thanks
I have got stuck with the logic of clock in webmeeting. It is breaking the application. I need to sit with Zarmeen and understand how to integrate the clock logic of webmeeting. I had used the code of webmeeting in this new application. It has clock in it and it is giving the following error. I could not understand how to fix it or remove the clock altogether.
I do not understand the issue of clock logic with linkedin authentication.
Can you send the screen shots of authentication and next screen and where it is failing. I am not understanding the flow
When we open the page of webmeeting for conference. It gives the issue of clock. I had copied the required files of webmeeting from cloudkibo to this application. I couldn't understand which file is missing for clock and where it should be placed. Webmeeting code contains some logic of clock also. This happens when webmeeting page is opened.
This is ready for the demo. We can check it on :
https://cloudkibotest.cloudapp.net
It doesn't have ssl certificates so it will give warning.
LinkedIn doesn't give username so instead of using username as a room, we use combination of Last Name and First Name as the meeting room name.
I have added the logout button and furthermore I have added the guest logins into it.
For guest login, I am using facebook and twitter and here is how login screen looks like now:
After the user logs in as guest, we show him the following screen to enter the name of the room he was invited for.
After this, he is taken to the meeting page.
I am having some authentication problems with Twitter login. However, Facebook is working fine. I could not understand the Twitter issue. I would look into it again.
The further work in this is when the invited person joins the meeting by entering the URL, the we check if that person is logged in or not. If he is not logged in, we should take him to the login as guest page and then he should be redirected back to the meeting URL. This will eliminate the need of having the page to enter meeting room name.
The changes are in production and can be demoed.
@sojharo
When I logged off and tried to re-login I go this error
which provider did you try to log in? linkedin login?
Linkedin. I got this Linkedin page to authorize it and then I got this error.
I should have done a repro
@sojharo
Here is the use case:
I send an URL
There is no other URL sent to the guest.
Both the parties need to get into the same meeting without any additional URL
Let me know what can be done. Let's discuss this on slack.
This is what we can do.
I am working on other tasks. Please let me know if I need to go ahead with the steps discussed above.
@sojharo
Show me in screenshots what the host workflow would be and what the guest workflow would be. I do not think we are on the same page.
If I click on this URL: Linkedin.cloudkibo.com/jawaidekram then what we want that both Host and Guest join a meeting room called something internally like linkedinjawaidekram.
If I click on this URL: Twitter.cloudkibo.com/jawaidekram then what we want that both Host and Guest join a meeting room called something internally like twittterjawaidekram
The meeting rooms would be unique as each user id in respective systems are unique. Jawaidekram in Linkedin is completely separate from Jawaidekram in Twitter.
Now we know the meeting room. Now the question is what authentication we use to allow the host and the guest.
We need to separate the authentication from room name. Can we not after authentication go to these fixed room?
Somebody implemented this with Twitter some time ago.
I want to understand two things:
1) What the user workflow would be? 2) What the effort would be?
Jawaid
I could not completely understand the deck. Can we do a quick call.
The use case for the host is simple.
The use case for the guest is simple if we only ask them username and doesn't ask him to do facebook, twitter or google authentication. In this case, the flow is as follows:
With facebook (or other) authentication, flow is like this.
I am going to see if I can use the cookie to store the URL of meeting while the guest is on facebook page for authentication.
I have fixed the linkedin login issue in this which was happening when we logged off and tried logging in again with linkedin.
I have worked more on this issue and here is the user flow for guest now:
In this way, we preserver the URL during provider authentication. We can do one more thing that we remove the dialog which asks for name from the guest and we just check if he is not logged in take him to the login page and ask the name there along with the options of authentication.
The issue with Guest is that we do not want to ask him again about the host . The guest may nit know as he may have been given the URL from the directly, on an embedded link or through bitly.
The key is that the guest has already provided this information once on the initial URL string.. Asking him again does nit make sense.
I am not understanding why the initial URL information is lost if we go through authentication? Do we open a new browser?
If we do not ask the gest to authenticate and only ask him for name than would it work?
With current code that I pushed now, we do not ask guest about any information second time. when he first lands on the meeting page, we ask him username. If he doesn't provide the username we take him to the login page where he can do authentication.
The initial URL is not asked to him now in the current code. However, this URL gets lost when the user is taken to the facebook page for authentication as the memory of previous page is gone now.
this issue is also solved in current code push. We save the URL in cookie and then when user comes back to website after successful login from facebook, then we automatically take him to initial URL without asking him anything.
Whether we ask guest to authenticate or not, this is working now for both cases and user is not asked for information again.
I had not seen your last comment before I sent you my response. I was typing at the same time when you sent the last message.
I will think about it and let's discuss this online.
Got it. I think we now getting closer. I will try to use it later today to understand this better.
Thanks again. It will become more clear once I get it.
This is not working for me. When I log in as guest.
When I click on Twitter I get this screen:
I never got this screen
https://cloud.githubusercontent.com/assets/5811465/14175841/36eded02-f767-11e5-84df-9ff792edf08b.png
Please send screenshots from your side because I not getting the sam experaince.
BTW: I am using two laptops.
The guest is supposed to use the meeting URL which was given to him. So, the guest must be coming to the system from URL like https://cloudkibotest.cloudapp.net/#/webmeeting/Ekram_Jawaid.
In this way, the system would be able to save the URL in cookie when user signs in using twitter as system already knows that the person had come to this meeting URL and is supposed to be sent back to that URL after authentication.
If guest comes to the system by landing on login page directly, system will never know who the host is for that guest. In this case, when person logs in using guest the system asks him the room name of host.
I think guest should always use the meeting URL to come to the system if he doesn't use the invitation URL (meeting URL given to him) then he is not guest anymore. Because how would system know the host of such guest.
If the guest login buttons on login page are confusing then we can do one thing: On login page we just show the login as linkedin button. Guest should always land on meeting url (which was given to him by host), at that place we show him the buttons to login or give the name.
@sojharo
You are 110% correct. I am driving right now and will test when I am home..
On hold - wait for my feedback
@sojharo
I would like to understand what it will take to implement this concept:
https://ln.cloudkibo.com/jekram or https://linkedin.cloudkibo.com/jekram
On the Godaddy, I know I can add an "A" record and can point it our server or another server.
So when the user enters this URL, he will be presented to authenticate himself. With two options:
Now the owner and the guest are joined in a meeting conference.
I want to do a quick prototype of this and test the concept, and we can refine it later.
We do not have Linkedin integration, but we have passport integration so it should not to too difficult.
Can you do a high-level plan on what step would be required to do this? Would like to review this tomorrow.