BroadSoft-Xtended / Project-Chrome-Extension

a Google Chrome extension that adds basic BroadWorks telephony integration via XSI API calls
Apache License 2.0
18 stars 13 forks source link

Brief introduction to the application structure/architecture #13

Closed joaoborras closed 10 years ago

joaoborras commented 10 years ago

I am starting to code using the XSI and besides wanting to contribute to the project, I have a task to locale it to Japan and develop some new features on that. Also, I am quite new to JavaScript(I have experience in C, C++ and C#) and the XSI so, if possible, it would be great to have even a brief tutorial about how this app is organized so the navigation through the files can be easier.

What do you think? Is it possible? Or is it already in someplace? By the way, I got my Xchange account set up today.

Thank you.

broadsoftxtended commented 10 years ago

Hi.

Below is a brief overview of how the app is organized.

  1. Per the manifest.json file for the app, the background.html is always loaded in the background. It loads the background.js, which calls the contentLoaded() method when the page is loaded. If you review this method, it creates application listeners for specific events, intializes the xsi-actions api (xsi-actions.js), and creates an xsi-events worker which is invoked after the login is successful. After logged in, the xsi-events api is connected which creates the channels and subscribes to the relevant packages (xsi-events-api.js). 2.. The login page is options.html and it has an accompanying options.js
  2. Once logged in and restarted, the browser is navigated to tabs.html and dotabs.js has the tabs functionality.

If you would like to contribute to the project, submit your code changes for review to be included. If approved, they will be added to the project.

thx.

joaoborras commented 10 years ago

Thank you very much for your explanation. Helps a lot.

About contribution with the project, I got it. When I am done for it, will submit the code. Definitely want to help in the development.

Thanks, Joao Paulo

2014-02-10 18:11 GMT+09:00 BroadSoft Xtended Open Source Initiative < notifications@github.com>:

Hi.

Below is a brief overview of how the app is organized.

  1. Per the manifest.json file for the app, the background.html is always loaded in the background. It loads the background.js, which calls the contentLoaded() method when the page is loaded. If you review this method, it creates application listeners for specific events, intializes the xsi-actions api (xsi-actions.js), and creates an xsi-events worker which is invoked after the login is successful. After logged in, the xsi-events api is connected which creates the channels and subscribes to the relevant packages (xsi-events-api.js). 2.. The login page is options.html and it has an accompanying options.js
  2. Once logged in and restarted, the browser is navigated to tabs.html and dotabs.js has the tabs functionality.

If you would like to contribute to the project, submit your code changes for review to be included. If approved, they will be added to the project.

thx.

Reply to this email directly or view it on GitHubhttps://github.com/broadsoftxtended/dialer-for-chrome/issues/13#issuecomment-34611433 .

joaoborras commented 10 years ago

Hi. I understand the structure much better now and was able to make a small modification to accept Japanese numbers as well. But, in order to understand things better, I would like to know which file must be made by the developer and which ones are already done and we have only to use it as it is. For example, the files below, were they made by you or got as is? jquery.base64.js tinyxmlw3cdom.js tinyxmlsax.js xsiactions.js xsi-events-api.js

Thank you for your support and patience! Joao Paulo

2014-02-10 18:11 GMT+09:00 BroadSoft Xtended Open Source Initiative < notifications@github.com>:

Hi.

Below is a brief overview of how the app is organized.

  1. Per the manifest.json file for the app, the background.html is always loaded in the background. It loads the background.js, which calls the contentLoaded() method when the page is loaded. If you review this method, it creates application listeners for specific events, intializes the xsi-actions api (xsi-actions.js), and creates an xsi-events worker which is invoked after the login is successful. After logged in, the xsi-events api is connected which creates the channels and subscribes to the relevant packages (xsi-events-api.js). 2.. The login page is options.html and it has an accompanying options.js
  2. Once logged in and restarted, the browser is navigated to tabs.html and dotabs.js has the tabs functionality.

If you would like to contribute to the project, submit your code changes for review to be included. If approved, they will be added to the project.

thx.

Reply to this email directly or view it on GitHubhttps://github.com/broadsoftxtended/dialer-for-chrome/issues/13#issuecomment-34611433 .

broadsoftxtended commented 10 years ago

Hi Joao, The following files are from other open-source projects: jquery.base64.js tinyxmlw3cdom.js tinyxmlsax.js

The files below were created by us: xsiactions.js xsi-events-api.js

Feel free to modify the files created by us and/or add new files. You can also replace the open-source files with newer versions if that fixes some bugs.

joaoborras commented 10 years ago

Thank you very much for your prompt answer! I am getting the down the mechanics in my head, slowly. Soon I will be able to collaborate!

Joao Paulo

2014-02-15 0:25 GMT+09:00 BroadSoft Xtended Open Source Initiative < notifications@github.com>:

Hi Joao, The following files are from other open-source projects: jquery.base64.js tinyxmlw3cdom.js tinyxmlsax.js

The files below were created by us: xsiactions.js xsi-events-api.js

Feel free to modify the files created by us and/or add new files. You can also replace the open-source files with newer versions if that fixes some bugs.

Reply to this email directly or view it on GitHubhttps://github.com/broadsoftxtended/dialer-for-chrome/issues/13#issuecomment-35092862 .

joaoborras commented 10 years ago

Sorry to make so many questions! Now, I am very interested(actually is part of my actual job's tasks) in cti broadsoft with Google Apps, mainly Gmail and Google Calendar. I want to embed a broadsoft app within Gmail and Calendar. I searched the internet and found only Google developer center for google apps but it has only few information on how to do that.

Do you have any material or links to places with a better tutorial on how to embed gadgets within Google Apps?

Thanks a lot! Joao Paulo

2014-02-15 0:25 GMT+09:00 BroadSoft Xtended Open Source Initiative < notifications@github.com>:

Hi Joao, The following files are from other open-source projects: jquery.base64.js tinyxmlw3cdom.js tinyxmlsax.js

The files below were created by us: xsiactions.js xsi-events-api.js

Feel free to modify the files created by us and/or add new files. You can also replace the open-source files with newer versions if that fixes some bugs.

Reply to this email directly or view it on GitHubhttps://github.com/broadsoftxtended/dialer-for-chrome/issues/13#issuecomment-35092862 .

broadsoftxtended commented 10 years ago

Hi Joao, Sorry, we can't help you with that. This forum is specifically for the dialer-for-chrome app.

Have you looked at this https://developers.google.com/gmail/contextual_gadgets

Best.

joaoborras commented 10 years ago

Hi, Thank you for your answer.

Yes, I am aware about the contextual and sidebar gadgets but I think the information in the developers.google.com is comprehensive(with examples and code sample, etc.). But I will have another look on that.

Thanks, Joao Paulo

2014-02-16 4:56 GMT+09:00 BroadSoft Xtended Open Source Initiative < notifications@github.com>:

Hi Joao, Sorry, we can't help you with that. This forum is specifically for the dialer-for-chrome app.

Have you looked at this https://developers.google.com/gmail/contextual_gadgets

Best.

Reply to this email directly or view it on GitHubhttps://github.com/broadsoftxtended/dialer-for-chrome/issues/13#issuecomment-35166043 .

joaoborras commented 10 years ago

Hi. I am sorry to make this question here but I really need some support on that.

Is it possible to enable CORS in BW's xsp servers? If so, how to do that?

I put this question in Xtended but have no answer in more than one week already so, decided to try with you here.

Again, sorry to ask you here but appreciate your help.

Thank you, Joao Paulo

2014-02-16 4:56 GMT+09:00 BroadSoft Xtended Open Source Initiative < notifications@github.com>:

Hi Joao, Sorry, we can't help you with that. This forum is specifically for the dialer-for-chrome app.

Have you looked at this https://developers.google.com/gmail/contextual_gadgets

Best.

Reply to this email directly or view it on GitHubhttps://github.com/broadsoftxtended/dialer-for-chrome/issues/13#issuecomment-35166043 .