| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863 |
- <?xml version="1.0" encoding="UTF-8"?>
- <!-- EN-Revision: 24249 -->
- <!-- Reviewed: no -->
- <sect1 id="zend.service.developergarden">
- <title>Zend_Service_DeveloperGarden</title>
- <sect2 id="zend.service.developergarden.introduction">
- <title>Einführung in DeveloperGarden</title>
- <para>
- Developer Garden ist der Name für die Entwicker Community der Deutschen Telekom.
- Developer Garden erlaubt den Zugriff auf die zentralen Services der Deutschen Telekom,
- wie z.B. Sprache Verbindungen oder der Versand von SMS Nachrichten über die Open Apis.
- Der Zugriff auf die <acronym>API</acronym> Services erfolgt über <acronym>SOAP</acronym>
- oder <acronym>REST</acronym>.
- </para>
- <para>
- Die Familie der <classname>Zend_Service_DeveloperGarden</classname> Komponenten bietet
- ein klares und einfaches Interface zur <ulink
- url="http://www.developergarden.com">DeveloperGarden API</ulink> und bietet
- zusätzlich Funktionalitäten um die Behandlung und Geschwindigkeit zu verbessern.
- </para>
- <itemizedlist>
- <listitem>
- <para>
- <link
- linkend="zend.service.developergarden.baseuserservice">BaseUserService</link>:
- Klasse um <acronym>API</acronym> Anteile sowie Details von Benutzerzugangsdaten
- zu managen.
- </para>
- </listitem>
- <listitem>
- <para>
- <link linkend="zend.service.developergarden.iplocation">IPLocation</link>:
- Lokalisiert die angegebene IP und gibt deren Geo Koordinaten zurück. Arbeitet
- nur mit IPs welche dem Netzwerk der Deutschen Telekom zugeordnet sind.
- </para>
- </listitem>
- <listitem>
- <para>
- <link linkend="zend.service.developergarden.localsearch">LocalSearch</link>:
- Erlaubt die Suche mit Optionen in der Nähe oder um eine gegebene Geo Koordinate
- oder Stadt herum.
- </para>
- </listitem>
- <listitem>
- <para>
- <link linkend="zend.service.developergarden.sendsms">SendSMS</link>: Sendet
- eine SMS oder Flash SMS zu einer gegebenen Nummer.
- </para>
- </listitem>
- <listitem>
- <para>
- <link linkend="zend.service.developergarden.smsvalidation">SMSValidation</link>:
- Prüft eine Nummer um Sie mit SendSMS zu verwenden und auch um einen Rückkanal
- zu unterstützen.
- </para>
- </listitem>
- <listitem>
- <para>
- <link linkend="zend.service.developergarden.voicecall">VoiceCall</link>:
- Initiiert alle Anrufe zwischen zwei Teilnehmern.
- </para>
- </listitem>
- <listitem>
- <para>
- <link
- linkend="zend.service.developergarden.conferencecall">ConferenceCall</link>:
- Man kann einen kompletten Konferenzraum mit Teilnehmern für eine AdHoc Konferenz
- konfigurieren oder auch eigene Konferenzen planen.
- </para>
- </listitem>
- </itemizedlist>
- <para>
- Die Backend SOAP <acronym>API</acronym> ist <ulink
- url="http://www.developergarden.com/openapi/dokumentation/">hier</ulink>
- dokumentiert.
- </para>
- <sect3 id="zend.service.developergarden.account">
- <title>Für einen Zugang anmelden</title>
- <para>
- Bevor man damit beginnen kann die DeveloperGarden <acronym>API</acronym> zu
- verwenden muss man sich erst für einen Zugang <ulink
- url="http://www.developergarden.com/register">anmelden</ulink>.
- </para>
- </sect3>
- <sect3 id="zend.service.developergarden.environment">
- <title>Die Umgebung</title>
- <para>
- Mit der DeveloperGarden <acronym>API</acronym> hat man die Möglichkeit zwischen 3
- unterschiedlichen Umgebungen zu wählen mit denen gearbeitet werden kann.
- </para>
- <itemizedlist>
- <listitem>
- <para>
- <emphasis>production</emphasis>: In der Produktionsumgebung muss man für
- Anrufe, SMS und andere Services zahlen.
- </para>
- </listitem>
- <listitem>
- <para>
- <emphasis>sandbox</emphasis>: Im Sandbox Modus kann man die selben Features,
- mit ein paar Einschränkungen, verwenden wir in der Produktion ohne für Sie
- zu zahlen. Normalerweise kann man die eigene Anwendung während der
- Entwicklung testen.
- </para>
- </listitem>
- <listitem>
- <para>
- <emphasis>mock</emphasis>: Die Mock Umgebung erlaubt es eigene Anwendungen
- zu bauen und Ergebnisse zu erhlaten ohne das irgendeine Aktion auf Seiten
- der <acronym>API</acronym> ausgelöst wird.
- </para>
- </listitem>
- </itemizedlist>
- <para>
- Für jede Umgebung und jedes Service sind einige spezielle Features (Optionen) zum
- Testen vorhanden. Sehen Sie bitte <ulink
- url="http://www.developergarden.com/openapi/dokumentation/">hier</ulink> nach
- Details.
- </para>
- </sect3>
- <sect3 id="zend.service.developergarden.config">
- <title>Your configuration</title>
- <para>
- Man kann allen Klassen ein Array an Konfigurationswerten übergeben. Mögliche Werte
- sind:
- </para>
- <itemizedlist>
- <listitem>
- <para>
- <emphasis>username</emphasis>: Der eigene Benutzername für die
- DeveloperGarden <acronym>API</acronym>.
- </para>
- </listitem>
- <listitem>
- <para>
- <emphasis>password</emphasis>: Das eigene Passwort für die DeveloperGarden
- <acronym>API</acronym>.
- </para>
- </listitem>
- <listitem>
- <para>
- <emphasis>environment</emphasis>: Die Umgebung welche man ausgewählt hat.
- </para>
- </listitem>
- </itemizedlist>
- <example id="zend.service.developergarden.config.example">
- <title>Konfigurationsbeispiel</title>
- <programlisting language="php"><![CDATA[
- require_once 'Zend/Service/DeveloperGarden/SendSms.php';
- $config = array(
- 'username' => 'meinBenutzername',
- 'password' => 'meinPasswort',
- 'environment' => Zend_Service_DeveloperGarden_SendSms::ENV_PRODUCTION,
- );
- $service = new Zend_Service_DeveloperGarden_SendSms($config);
- ]]></programlisting>
- </example>
- </sect3>
- </sect2>
- <sect2 id="zend.service.developergarden.baseuserservice">
- <title>BaseUserService</title>
- <para>
- Diese Klasse kann verwendet werden um Quotenwerte fpr die Services zu setzen und zu
- holen sowie um Accountdetails zu holen.
- </para>
- <para>
- Die Methode <methodname>getAccountBalance()</methodname> kann ein Array von Account Id's
- mit dem aktuellen Kontostatus (Credits) holen.
- </para>
- <example id="zend.service.developergarden.baseuserservice.getaccountbalance.example">
- <title>Beispiel zum Holen des Kontostatus</title>
- <programlisting language="php"><![CDATA[
- $service = new Zend_Service_DeveloperGarden_BaseUserService($config);
- print_r($service->getAccountBalance());
- ]]></programlisting>
- </example>
- <sect3 id="zend.service.developergarden.baseuserservice.getquotainformation">
- <title>Holen von Quoteninformationen</title>
- <para>
- Man kann mit den angebotenen Methoden Quoteninformationen für ein spezifisches
- Servicemodul holen.
- </para>
- <example id="zend.service.developergarden.baseuserservice.getquotainformation.example">
- <title>Beispiel zum Holen der Quoteninformation</title>
- <programlisting language="php"><![CDATA[
- $service = new Zend_Service_DeveloperGarden_BaseUserService($config);
- $result = $service->getSmsQuotaInformation(
- Zend_Service_DeveloperGarden_BaseUserService::ENV_PRODUCTION
- );
- echo 'Sms Quote:<br />';
- echo 'Max Quote: ', $result->getMaxQuota(), '<br />';
- echo 'Max Benutzer Quote: ', $result->getMaxUserQuota(), '<br />';
- echo 'Quotenlevel: ', $result->getQuotaLevel(), '<br />';
- ]]></programlisting>
- </example>
- <para>
- Man erhält ein <classname>Result</classname> Objekt welches alle Informationen
- enthält die man benötigt. Optional kann der
- <methodname>QuotaInformation</methodname> Methode die Umgebungskonstante übergeben
- werden um die Quote für eine spezifische Umgebung zu holen.
- </para>
- <para>
- Hier ist eine Liste aller <methodname>getQuotaInformation</methodname> Methoden:
- </para>
- <itemizedlist>
- <listitem>
- <para><methodname>getConfernceCallQuotaInformation()</methodname></para>
- </listitem>
- <listitem>
- <para><methodname>getIPLocationQuotaInformation()</methodname></para>
- </listitem>
- <listitem>
- <para><methodname>getLocalSearchQuotaInformation()</methodname></para>
- </listitem>
- <listitem>
- <para><methodname>getSmsQuotaInformation()</methodname></para>
- </listitem>
- <listitem>
- <para><methodname>getVoiceCallQuotaInformation()</methodname></para>
- </listitem>
- </itemizedlist>
- </sect3>
- <sect3 id="zend.service.developergarden.baseuserservice.changequotainformation">
- <title>Quoteninformationen ändern</title>
- <para>
- Um die aktuelle Quote zu ändern kann eine der
- <methodname>changeQuotaPool</methodname> Methoden verwendet werden. Der erste
- Parameter ist der neue Poolwert und der zweite ist die Umgebung.
- </para>
- <example
- id="zend.service.developergarden.baseuserservice.changequotainformation.example">
- <title>Beispiel zum Ändern der Quoteninformation</title>
- <programlisting language="php"><![CDATA[
- $service = new Zend_Service_DeveloperGarden_BaseUserService($config);
- $result = $service->changeSmsQuotaPool(
- 1000,
- Zend_Service_DeveloperGarden_BaseUserService::ENV_PRODUCTION
- );
- if (!$result->hasError()) {
- echo 'updated Quota Pool';
- }
- ]]></programlisting>
- </example>
- <para>
- Hier ist eine Liste aller <methodname>changeQuotaPool</methodname> Methoden:
- </para>
- <itemizedlist>
- <listitem>
- <para><methodname>changeConferenceCallQuotaPool()</methodname></para>
- </listitem>
- <listitem>
- <para><methodname>changeIPLocationQuotaPool()</methodname></para>
- </listitem>
- <listitem>
- <para><methodname>changeLocalSearchQuotaPool()</methodname></para>
- </listitem>
- <listitem>
- <para><methodname>changeSmsQuotaPool()</methodname></para>
- </listitem>
- <listitem>
- <para><methodname>changeVoiceCallQuotaPool()</methodname></para>
- </listitem>
- </itemizedlist>
- </sect3>
- </sect2>
- <sect2 id="zend.service.developergarden.iplocation">
- <title>IP Lokalisierung</title>
- <para>
- Dieser Service erlaubt es Lokalisierungsinformationen für eine gegebene IP Adresse zu
- erhalten.
- </para>
- <para>
- Es gibt einige Einschränkungen:
- </para>
- <itemizedlist>
- <listitem><para>Die IP Adresse muss im T-Home Netzwerk sein</para></listitem>
- <listitem><para>Nur die nächste größere Stadt wird aufgelöst</para></listitem>
- <listitem><para>IPv6 wird aktuell nicht unterstützt</para></listitem>
- </itemizedlist>
- <example id="zend.service.developergarden.iplocation.locateip.example">
- <title>Eine gegebene IP lokalisieren</title>
- <programlisting language="php"><![CDATA[
- $service = new Zend_Service_DeveloperGarden_IpLocation($config);
- $service->setEnvironment(
- Zend_Service_DeveloperGarden_IpLocation::ENV_MOCK
- );
- $ip = new Zend_Service_DeveloperGarden_IpLocation_IpAddress('127.0.0.1');
- print_r($service->locateIp($ip));
- ]]></programlisting>
- </example>
- </sect2>
- <sect2 id="zend.service.developergarden.localsearch">
- <title>Lokalsuche</title>
- <para>
- Der Lokalsuch Service bietet die lokale Suchmaschine <ulink
- url="http://www.suchen.de">suchen.de</ulink> über ein Webservice Interface an. Für
- weitere Details wird auf <ulink
- url="http://www.developergarden.com/static/docu/en/ch04s02s06.html">die
- Dokumentation</ulink> verwiesen.
- </para>
- <example id="zend.service.developergarden.localsearch.example">
- <title>Ein Restaurant lokalisieren</title>
- <programlisting language="php"><![CDATA[
- $service = new Zend_Service_DeveloperGarden_LocalSearch($config);
- $search = new Zend_Service_DeveloperGarden_LocalSearch_SearchParameters();
- /**
- * @see http://www.developergarden.com/static/docu/en/ch04s02s06s04.html
- */
- $search->setWhat('pizza')
- ->setWhere('jena');
- print_r($service->localSearch($search));
- ]]></programlisting>
- </example>
- </sect2>
- <sect2 id="zend.service.developergarden.sendsms">
- <title>SMS senden</title>
- <para>
- Der SMS Versandservice wird verwendet um normale und Flash SMS zu beliebigen Nummern zu
- versenden.
- </para>
- <para>
- Die folgenden Einschränkungen sind auf die Verwendung des SMS Service anzuwenden:
- </para>
- <itemizedlist>
- <listitem>
- <para>
- Eine SMS oder Flash SMS darf in der Produktionsumgebung nicht länger als 765
- Zeichen sein und darf maximal an 10 Empfänger versendet werden.
- </para>
- </listitem>
- <listitem>
- <para>
- Eine SMS oder Flash SMS wird in der Sandboxumgebung gekürzt und mit einer Notiz
- in DeveloperGarden ausgestattet. Die maximale Länger der gesendeten Nachricht
- beträgt 160 Zeichen.
- </para>
- </listitem>
- <listitem>
- <para>
- In der Sandboxumgebug können maximal 10 SMS pro Tag versendet werden.
- </para>
- </listitem>
- <listitem>
- <para>
- Die folgenden Zeichen werden doppelt gezählt:
- <literal>| ^ € { } [ ] ~ \ LF</literal> (Zeilenumbruch)
- </para>
- </listitem>
- <listitem>
- <para>
- Wenn eine SMS oder Flash SMS länger als 160 Zeichen ist, wird immer für 153
- weitere Zeichen eine Nachricht berechnet (Quote und Kredit).
- </para>
- </listitem>
- <listitem>
- <para>
- Die Zustellung kann für SMS oder Flsh SMS bei Festnetzanschlüssen nicht
- garantiert werden.
- </para>
- </listitem>
- <listitem>
- <para>
- Der Sender darf maximal aus 11 Zeichen bestehen. Erlaubte Zeichen sind
- Buchstaben und Zahlen.
- </para>
- </listitem>
- <listitem>
- <para>
- Die Spezifikation einer Telefonnummer als Sender ist nur erlaubt wenn die
- Telefonnummer geprüft wurde. (Siehe <link
- linkend="zend.service.developergarden.smsvalidation">SMS Prüfung</link>)
- </para>
- </listitem>
- </itemizedlist>
- <example id="zend.service.developergarden.sendsms.example">
- <title>Senden einer SMS</title>
- <programlisting language="php"><![CDATA[
- $service = new Zend_Service_DeveloperGarden_SendSms($config);
- $sms = $service->createSms(
- '+49-172-123456; +49-177-789012',
- 'die Testnachricht',
- 'meinName'
- );
- print_r($service->send($sms));]]></programlisting>
- </example>
- </sect2>
- <sect2 id="zend.service.developergarden.smsvalidation">
- <title>SMS Prüfung</title>
- <para>
- Der SMS Prüfservice erlaubt die Prüfung einer physikalischen Telefonnummer um diese als
- Sender einer SMS zu verwenden.
- </para>
- <para>
- Zuerst muss <methodname>setValidationKeyword()</methodname> aufgerufen werden um eine
- SMS mit einem Schlüsselwort zu empfangen.
- </para>
- <para>
- Nachdem man sein Schlüsselwort erhalten hat, muss man
- <methodname>validate()</methodname> verwenden um die Nummer mit dem Schlüsselwort gegen
- das Service zu prüfen.
- </para>
- <para>
- Mit der Methode <methodname>getValidatedNumbers()</methodname> erhält man eine Liste
- aller bereits geprüften Nummern und den Status einer jeden.
- </para>
- <example id="zend.service.developergarden.smsvalidation.request.example">
- <title>Prüfschlüsselwörter anfragen</title>
- <programlisting language="php"><![CDATA[
- $service = new Zend_Service_DeveloperGarden_SmsValidation($config);
- print_r($service->sendValidationKeyword('+49-172-123456'));
- ]]></programlisting>
- </example>
- <example id="zend.service.developergarden.smsvalidation.validate.example">
- <title>Eine Nummer mit einem Schlüsselwort prüfen</title>
- <programlisting language="php"><![CDATA[
- $service = new Zend_Service_DeveloperGarden_SmsValidation($config);
- print_r($service->validate('DasSchlüsselWort', '+49-172-123456'));
- ]]></programlisting>
- </example>
- <para>
- Um eine geprüft Nummer als ungeprüft zu markieren muss die Methode
- <methodname>inValidate()</methodname> aufgerufen werden.
- </para>
- </sect2>
- <sect2 id="zend.service.developergarden.voicecall">
- <title>Sprachanruf</title>
- <para>
- Der Sprachanruf Service wird für das Setzen einer Sprachverbindung zwischen zwei
- Telefonverbindungen verwendet. Für spezifische Details lesen Sie bitte die <ulink
- url="http://www.developergarden.com/static/docu/en/ch04s02.html">API
- Dokumentation</ulink>.
- </para>
- <para>
- Normalerweise arbeitet der Service wie folgt:
- </para>
- <itemizedlist>
- <listitem><para>Den ersten Teilnehmer anrufen.</para></listitem>
- <listitem>
- <para>Wenn die Verbindung erfolgreich war, den zweiten Teilnehmer anrufen.</para>
- </listitem>
- <listitem>
- <para>
- Wenn der zweite Teilnehmer erfolgreich verbunden ist, werden beide Teilnehmer
- miteinander verbunden.
- </para>
- </listitem>
- <listitem>
- <para>
- Der Anruf bleibt geöffnet bis einer der Teilnehmer auflegt oder der
- Ablaufmechanismus eingreift.
- </para>
- </listitem>
- </itemizedlist>
- <example id="zend.service.developergarden.voicecall.call.example">
- <title>Zwei Nummern anrufen</title>
- <programlisting language="php"><![CDATA[
- $service = new Zend_Service_DeveloperGarden_VoiceCall($config);
- $aNumber = '+49-30-000001';
- $bNumber = '+49-30-000002';
- $expiration = 30; // Sekunden
- $maxDuration = 300; // 5 Minuten
- $newCall = $service->newCall($aNumber, $bNumber, $expiration, $maxDuration);
- echo $newCall->getSessionId();
- ]]></programlisting>
- </example>
- <para>
- Wenn der Anruf initiiert wurde, kann das Ergebnisobjekt nach der Session ID gefragt
- werden und diese Session ID für einen zusätzlichen Aufruf der Methoden
- <methodname>callStatus</methodname> oder <methodname>tearDownCall()</methodname>
- verwendet werden. Der zweite Parameter der Methode <methodname>callStatus()</methodname>
- erweitert die Ablaufzeit für diesen Anruf.
- </para>
- <example id="zend.service.developergarden.voicecall.teardown.example">
- <title>Zwei Nummern anrufen, den Status abfragen und Trennen</title>
- <programlisting language="php"><![CDATA[
- $service = new Zend_Service_DeveloperGarden_VoiceCall($config);
- $aNumber = '+49-30-000001';
- $bNumber = '+49-30-000002';
- $expiration = 30; // Sekunden
- $maxDuration = 300; // 5 Minuten
- $newCall = $service->newCall($aNumber, $bNumber, $expiration, $maxDuration);
- $sessionId = $newCall->getSessionId();
- $service->callStatus($sessionId, true); // Den Anruf verlängern
- sleep(10); // 10s schlummern und dann tearDown
- $service->tearDownCall($sessionId);
- ]]></programlisting>
- </example>
- </sect2>
- <sect2 id="zend.service.developergarden.conferencecall">
- <title>ConferenceCall</title>
- <para>
- Konferenzanruf erlaubt es eine Telefonkonferenz zu konfigurieren und zu starten.
- </para>
- <para>
- Die folgenden Features sind vorhanden:
- </para>
- <itemizedlist>
- <listitem><para>Konferenzen mit einem sofortigen Start</para></listitem>
- <listitem><para>Konferenzen mit einem definierten Startdatum</para></listitem>
- <listitem><para>Wiederkehrende Konferenzserien</para></listitem>
- <listitem>
- <para>Teilnehmer einer Konferenz hinzufügen, löschen und lautlos stellen</para>
- </listitem>
- <listitem><para>Templates für Konferenzen</para></listitem>
- </itemizedlist>
- <para>
- Hier ist eine Liste der aktuell implementierten <acronym>API</acronym> Methoden:
- </para>
- <itemizedlist>
- <listitem>
- <para>
- <methodname>createConference()</methodname> erstellt eine neue Konferenz
- </para>
- </listitem>
- <listitem>
- <para>
- <methodname>updateConference()</methodname> aktualisiert eine existierende
- Konferenz
- </para>
- </listitem>
- <listitem>
- <para>
- <methodname>commitConference()</methodname> speichert die Konferenz, und wenn
- kein Datum konfiguriert wurde wird die Konferenz sofort gestartet
- </para>
- </listitem>
- <listitem>
- <para>
- <methodname>removeConference()</methodname> entfernt eine Konferenz
- </para>
- </listitem>
- <listitem>
- <para>
- <methodname>getConferenceList()</methodname> gibt eine Liste aller
- konfigurierten Konferenzen zurück
- </para>
- </listitem>
- <listitem>
- <para>
- <methodname>getConferenceStatus()</methodname> zeigt Informationen für eine
- existierende Konferenz an
- </para>
- </listitem>
- <listitem>
- <para>
- <methodname>getParticipantStatus()</methodname> zeigt Statusinformationen über
- einen Konferenzteilnehmer an
- </para>
- </listitem>
- <listitem>
- <para>
- <methodname>newParticipant()</methodname> erstellt einen neuen Teilnehmer
- </para>
- </listitem>
- <listitem>
- <para>
- <methodname>addParticipant()</methodname> fügt einen neuen Teilnehmer zu einer
- Konferenz hinzu
- </para>
- </listitem>
- <listitem>
- <para>
- <methodname>updateParticipant()</methodname> aktualisiert einen Teilnehmer,
- normalerweise um den Teilnehmer stumm zu schalten oder Ihn erneut anzurufen
- </para>
- </listitem>
- <listitem>
- <para>
- <methodname>removeParticipant()</methodname> entfernt einen Teilnehmer von einer
- Konferenz
- </para>
- </listitem>
- <listitem>
- <para>
- <methodname>getRunningConference()</methodname> fragt die laufende Instanz einer
- geplanten Konferenz ab
- </para>
- </listitem>
- <listitem>
- <para>
- <methodname>createConferenceTemplate()</methodname> erstellt ein neues
- Konferenztemplate
- </para>
- </listitem>
- <listitem>
- <para>
- <methodname>getConferenceTemplate()</methodname> fragt ein existierendes
- Konferenztemplate ab
- </para>
- </listitem>
- <listitem>
- <para>
- <methodname>updateConferenceTemplate()</methodname> aktualisiert die Details
- eines existierenden Konferenztemplates
- </para>
- </listitem>
- <listitem>
- <para>
- <methodname>removeConferenceTemplate()</methodname> entfernt ein
- Konferenztemplate
- </para>
- </listitem>
- <listitem>
- <para>
- <methodname>getConferenceTemplateList()</methodname> fragt alle
- Konferenztemplates eines Benutzers ab
- </para>
- </listitem>
- <listitem>
- <para>
- <methodname>addConferenceTemplateParticipant()</methodname> fügt einen
- Konferenzteilnehmer zu einem Konferenztemplate hinzu
- </para>
- </listitem>
- <listitem>
- <para>
- <methodname>getConferenceTemplateParticipant()</methodname> zeigt die Details
- des Teilnehmers eines Konferenztemplates an
- </para>
- </listitem>
- <listitem>
- <para>
- <methodname>updateConferenceTemplateParticipant()</methodname> aktualisiert die
- Details eines Teilnehmers in einem Konferenztemplate
- </para>
- </listitem>
- <listitem>
- <para>
- <methodname>removeConferenceTemplateParticipant()</methodname> entfernt einen
- Teilnehmer von einem Konferenztemplates
- </para>
- </listitem>
- </itemizedlist>
- <example id="zend.service.developergarden.conferencecall.example">
- <title>Ad-Hoc Konferenz</title>
- <programlisting language="php"><![CDATA[
- $client = new Zend_Service_DeveloperGarden_ConferenceCall($config);
- $conferenceDetails =
- new Zend_Service_DeveloperGarden_ConferenceCall_ConferenceDetail(
- 'Zend-Conference', // Name der Konferenz
- 'this is my private zend conference', // Beschreibung
- 60 // Dauer in Sekunden
- );
- $conference = $client->createConference('MeinName', $conferenceDetails);
- $part1 = new Zend_Service_DeveloperGarden_ConferenceCall_ParticipantDetail(
- 'Jon',
- 'Doe',
- '+49-123-4321',
- 'your.name@example.com',
- true
- );
- $client->newParticipant($conference->getConferenceId(), $part1);
- // add a second, third ... participant
- $client->commitConference($conference->getConferenceId());
- ]]></programlisting>
- </example>
- </sect2>
- <sect2 id="zend.service.developergarden.performance">
- <title>Geschwindigkeit und Cachen</title>
- <para>
- Man kann verschiedene Cacheoptionen setzen um die Geschwindigkeit zu verbessern um
- WSDL und Authentifizierungs Tokens aufzulösen.
- </para>
- <para>
- Als erstes müssen die Cachewerte des internen SoapClients (PHP) eingestellt werden.
- </para>
- <example id="zend.service.developergarden.performance.wsdlcache.example">
- <title>WSDL Cacheoptionen</title>
- <programlisting language="php"><![CDATA[
- Zend_Service_DeveloperGarden_SecurityTokenServer_Cache::setWsdlCache(
- [PHP KONSTANTE]
- );
- ]]></programlisting>
- </example>
- <para>
- Die <constant>[PHP KONSTANTE]</constant> kann eine der folgenden Werte enthalten:
- </para>
- <itemizedlist>
- <listitem>
- <para>
- <constant>WSDL_CACHE_DISC</constant>: aktiviert das Cachen auf Disk
- </para>
- </listitem>
- <listitem>
- <para>
- <constant>WSDL_CACHE_MEMORY</constant>: aktiviert das Cachen im Speicher
- </para>
- </listitem>
- <listitem>
- <para>
- <constant>WSDL_CACHE_BOTH</constant>: aktiviert das Cachen auf Disk und Speicher
- </para>
- </listitem>
- <listitem>
- <para>
- <constant>WSDL_CACHE_NONE</constant>: deaktiviert beide Caches
- </para>
- </listitem>
- </itemizedlist>
- <para>
- Wenn man das Ergebnis der Aufrufe zum SecuritTokenServer cachen will kann man eine
- Instanz von <classname>Zend_Cache</classname> einrichten und diese an
- <methodname>setCache()</methodname> übergeben.
- </para>
- <example id="zend.service.developergarden.performance.cache.example">
- <title>Cacheoptionen für SecurityTokenServer</title>
- <programlisting language="php"><![CDATA[
- $cache = Zend_Cache::factory('Core', ...);
- Zend_Service_DeveloperGarden_SecurityTokenServer_Cache::setCache($cache);
- ]]></programlisting>
- </example>
- </sect2>
- </sect1>
|