Download the PHP package poldotz/cisco_webex_meeting without Composer
On this page you can find all versions of the php package poldotz/cisco_webex_meeting. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download poldotz/cisco_webex_meeting
More information about poldotz/cisco_webex_meeting
Files in poldotz/cisco_webex_meeting
Package cisco_webex_meeting
Short Description Simple and abstracted library for integrating with web meetings providers such as WebEx and Citrix.
License GPL-2.0+
Homepage https://github.com/fillup/Smx_Simple_Meetings
Informations about the package cisco_webex_meeting
poldotz/cisco_webex_meeting
Brief Description
Class library and abstraction layer for integrating with Cisco WebEx.
Table Of Contents
- Purpose
- Service Providers
- Improvement Ideas / TODO
- Installation
- Using Composer
- GitHub / Cloning Repository
- Archive Download
- Usage
- Simple Example
- Variations in Authentication
- Citrix Notes
- Join.Me Notes
- Feedback / Support
Purpose
The purpose of the SmxSimple_Meetings library is to provide a simple and consistent interface for interacting with any web meetings service provider. Using a Factory/Adapter design pattern the library can be extended to support any number of service providers, yet consumers of the library will only need to write their code once and with a simple configuration change be able to switch between any supported service providers.
Service Providers
Below is the initial list of service providers we intend to support with this library. It is our hope that by developing this library as open source that additional service providers or developers will extend the functionality.
- WebEx Meeting Center [COMPLETE]
Improvement Ideas / TODO
- Create Smx\SimpleMeetings\Exception to create consistent error reporting and exception interface. Primarily to ensure errors from service providers are translated and returned to developer consistently.
Create Smx\SimpleMeetings\Base\Time class to create consistent/standard way to handle dates internally and require each service provider to convert them to proper format.Added \Smx\SimpleMeetings\Shared\Time utility class for getting current local timestamp in UTC and it is now expected that times be unixtimestamps in objects and then converted to proper string formatting in each adapter as necessary for each API.- Need another developer to perform a code review and help identify areas of inconsistency.
Installation
You have at least three options for how to instal Smx\SimpleMeetings. The first and preferred method is to use Composer. The second option is to just clone the Git repository. The third, old school method, is to just download an archive of the source.
Installation - Using Composer
If you have never used composer, check it out at http://getcomposer.org/. It provides a simple way for you to define your requirements, run a command, and have it automatically download and install any dependencies.
Since the installation of Composer is so simple, I'll provide the full instructions of installing Composer and using it to install poldotz\cisco_webex_meeting.
Installing Composer, from the root directory of your project, run:
This will create a composer.phar and vendor/ folder. Next, create a composer.json file with contents:
Next, run the following command to tell composer to install the package:
Now you'll have the folder vender/smx/simplemeetings/ with the library source inside. One of the great things about composer is it automatically inspects the tags from the Git repository and checks out the latest tag (if you use dev-master in your require statement). To update the library you just run:
Installation - Using GitHub / Cloning the repository
If you dont want to use Composer, you can simply clone the repository. If you are not already using Git for source control management, you really should be, you can learn more about it and how to install it at http://git-scm.com/.
When cloning the repository you want to also make sure to checkout the latest tag to ensure you have a stable copy:
To update the library with this method:
Installation - Downloading Files
From the GitHub project homepage, browse to the latest Tag under the Branches button. When you're viewing the latest tag, click on the Zip button to download an archive of the source. Then simple unzip it to wherever you want. To update the library using this method you'll need to download the latest tag again, unzip it, and then sync the files over top of the original ones you downloaded.
Usage Instructions
The purpose for Smx\SimpleMeetings is to make interacting with web meetings service providers very easy and consistent.
In order to include Smx\SimpleMeetings into your application, you have two options: Standard Composer autoloader, or a single include file. If you used composer to install, we recommend you just include the vendor/autoload.php file that contains autoloaders for other composer libraries you may be using. If you did not use composer or do not wish to use the included autoloader, simply include the SmxSimpleMeetings.php file. We plan to also provide configurations for common autoloaders so that you don't need to include anything but rather just update our autoloader configuration.
Simple example of how to schedule a WebEx meeting: `` More comprehensive API documentation is under development, but for now just read through the interfaces defined in adapters/Smx/SimpleMeetings/Interfaces/ to understand what methods are available.
Variations in Authentication
Each service provider API requires a different authentication approach and therefore your application will need a little knowlege of the differences. As a consumer of smx/simplemenetings you only need to pass the authentication information as an array into the factory and each adapter will handle the rest, but you will need to know what format is required for each adpater. Here are some examples for each service provider: ``
Citrix Notes
Citrix uses oAuth for authentication and uses an access token to authorize any API calls. If you've integrated with other oAuth providers then you're already familiar with the flow.
To call Citrix APIs you'll also need an API Key. You can get one of these by registering at http://developer.citrixonline.com/. Make sure your application URL is the same domain that you'll be hosting your application. For oAuth the user can only be redirected to URLs on the same domain.
Assuming you do not already know your user's access token:
- Get new object from factory.
- Get Auth URL
- Redirect user to Auth URL
- After user logs in and grants access to your application they will be redirected back to your site with a parameter ?code= which will be a responseKey
- Get a new object from factory again and call the authForAccessToken method with the response key
- Your object will now have the accessToken and organizerKey attributes set, you may want to store these to save the user from logging in again in the future, but be responsible of course.
Example: ``
Join.Me Notes
Join.Me (http://join.me/) is a very simple and easy to use desktop sharing service. They also have an even more basic API to provide limited integration capabilities with their product. There are pretty much only two APIs:
- Authenticate a user and get an authCode returned
- Create a meeting/session and get a code and ticket to use to start it
You can checkout their APIs at http://help.join.me/knowledgebase/topics/26996-join-me-api
One thing to note is that their concept of an authCode is based at a user level, but not also at an app level. So if you generate an authCode for a user using this library, and then that user uses some other service that calls the same API, it will invalidate the previous authCode. So just something to be aware of.
Feedback / Support
Please use the GitHub ticket system to raise feature requests and bugs. We want this to be an extremely easy yet flexible library for you to use so please let us know how we can improve on it. We would also love for anyone to join the project to help provide adapters for additional service providers and extend the ones we already have.