You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openmeetings.apache.org by se...@apache.org on 2021/09/11 23:23:04 UTC
[openmeetings-site] branch master updated: OPENMEETINGS-2661 Add
Rest examples and add Node.js Module. And update swagger description.
This is an automated email from the ASF dual-hosted git repository.
sebawagner pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/openmeetings-site.git
The following commit(s) were added to refs/heads/master by this push:
new 71b2b1e OPENMEETINGS-2661 Add Rest examples and add Node.js Module. And update swagger description.
71b2b1e is described below
commit 71b2b1e8b09f2a651af650963f7160545df1427e
Author: Sebastian Wagner <se...@apache.org>
AuthorDate: Sun Sep 12 11:22:56 2021 +1200
OPENMEETINGS-2661 Add Rest examples and add Node.js Module. And update swagger description.
---
ConfluencePlugin.html | 6 +-
JiraPlugin.html | 6 +-
RestAPISample.html | 69 ++++++++++++++++++++--
...apache-openmeetings-7.0.0-SNAPSHOT-swagger.json | 5 +-
4 files changed, 73 insertions(+), 13 deletions(-)
diff --git a/ConfluencePlugin.html b/ConfluencePlugin.html
index 9e721e1..d603b94 100644
--- a/ConfluencePlugin.html
+++ b/ConfluencePlugin.html
@@ -3,7 +3,7 @@
<!doctype html>
<!--
- Generated by Apache Maven Doxia at 2021-09-01 Rendered using Reflow Maven Skin 2.3.0 (http://devacfr.github.io/reflow-maven-skin)
+ Generated by Apache Maven Doxia at 2021-09-12 Rendered using Reflow Maven Skin 2.3.0 (http://devacfr.github.io/reflow-maven-skin)
-->
<html xml:lang="en" lang="en">
<head>
@@ -215,7 +215,7 @@
<main class="col-xs-12 col-sm-12 col-md-12 col-lg-12 col-xl-8" role="main">
<nav aria-label="breadcrumb">
<ol class="breadcrumb">
- <li class="publishDate version-date"> Last Published: 2021-09-01</li>
+ <li class="publishDate version-date"> Last Published: 2021-09-12</li>
</ol>
</nav>
<section>
@@ -240,7 +240,7 @@
<section>
<h2 id="demo-video">Demo video</h2>
<p>The demo video of Confluence plugin show you the plugin in action </p>
- <iframe width="640" height="390" src="https://www.youtube.com/embed/YFKlXggtld0" frameborder="0" allowfullscreen></iframe>
+ <iframe width="640" height="390" src="https://www.youtube.com/embed/D1XOxgpfr5c" frameborder="0" allowfullscreen></iframe>
</section> </main>
<div class="d-none d-sm-none d-md-none d-lg-none d-xl-block col-xl-2">
<div id="m-toc-sidebar" class="d-print-none m-toc-sidebar-enabled m-toc-sidebar-expanded m-toc-sidebar-autoexpandable toc-sidebar-fixed">
diff --git a/JiraPlugin.html b/JiraPlugin.html
index d144508..2aa3d47 100644
--- a/JiraPlugin.html
+++ b/JiraPlugin.html
@@ -3,7 +3,7 @@
<!doctype html>
<!--
- Generated by Apache Maven Doxia at 2021-09-01 Rendered using Reflow Maven Skin 2.3.0 (http://devacfr.github.io/reflow-maven-skin)
+ Generated by Apache Maven Doxia at 2021-09-12 Rendered using Reflow Maven Skin 2.3.0 (http://devacfr.github.io/reflow-maven-skin)
-->
<html xml:lang="en" lang="en">
<head>
@@ -215,7 +215,7 @@
<main class="col-xs-12 col-sm-12 col-md-12 col-lg-12 col-xl-8" role="main">
<nav aria-label="breadcrumb">
<ol class="breadcrumb">
- <li class="publishDate version-date"> Last Published: 2021-09-01</li>
+ <li class="publishDate version-date"> Last Published: 2021-09-12</li>
</ol>
</nav>
<section>
@@ -240,7 +240,7 @@
<section>
<h2 id="demo-video">Demo video</h2>
<p>The demo video of Jira plugin show you the plugin in action </p>
- <iframe width="640" height="390" src="https://www.youtube.com/embed/xBdYj-OZvlc" frameborder="0" allowfullscreen></iframe>
+ <iframe width="640" height="390" src="https://www.youtube.com/embed/gbp4_Lpfrno" frameborder="0" allowfullscreen></iframe>
</section> </main>
<div class="d-none d-sm-none d-md-none d-lg-none d-xl-block col-xl-2">
<div id="m-toc-sidebar" class="d-print-none m-toc-sidebar-enabled m-toc-sidebar-expanded m-toc-sidebar-autoexpandable toc-sidebar-fixed">
diff --git a/RestAPISample.html b/RestAPISample.html
index 66be039..3f472e8 100644
--- a/RestAPISample.html
+++ b/RestAPISample.html
@@ -3,7 +3,7 @@
<!doctype html>
<!--
- Generated by Apache Maven Doxia at 2021-09-01 Rendered using Reflow Maven Skin 2.3.0 (http://devacfr.github.io/reflow-maven-skin)
+ Generated by Apache Maven Doxia at 2021-09-12 Rendered using Reflow Maven Skin 2.3.0 (http://devacfr.github.io/reflow-maven-skin)
-->
<html xml:lang="en" lang="en">
<head>
@@ -215,7 +215,7 @@
<main class="col-xs-12 col-sm-12 col-md-12 col-lg-12 col-xl-8" role="main">
<nav aria-label="breadcrumb">
<ol class="breadcrumb">
- <li class="publishDate version-date"> Last Published: 2021-09-01</li>
+ <li class="publishDate version-date"> Last Published: 2021-09-12</li>
</ol>
</nav>
<section>
@@ -223,8 +223,12 @@
<h2 id="introduction1">Introduction</h2>
</div>
<p> For a detailed instruction which services, methods and params are available see the list in the <a href="/openmeetings-webservice/apidocs/index.html" target="_blank">SOAP/REST API</a> . ALL methods that are implemented for the SOAP API are also available via REST. </p>
+ <div class="bd-callout bd-callout-info">
+ There is a
+ <a class="externalLink" href="https://openmeetings.apache.org/swagger/" target="_blank">OpenAPI spec</a> published in swagger format.
+ </div>
<div>
- you can query methods of each service using following suffixes
+ You can query methods of each service using following suffixes
<ul>
<li>SOAP: <code>?wsdl</code> suffix, for example <code>https://localhost:5443/openmeetings/services/UserService?wsdl</code></li>
<li>REST: as xml <code>?_wadl</code> for example <code>https://localhost:5443/openmeetings/services/user?_wadl</code></li>
@@ -237,7 +241,59 @@
</div>
</section>
<section>
- <h2 id="how-to-get-room-hash-via-rest">How to get room hash via REST</h2>
+ <h2 id="how-to-integrate-using-nodejs">How to integrate using Node.js</h2>
+ <p>You can integrate OpenMeetings via the Rest API into your Node project.</p>
+ <div class="bd-callout bd-callout-info">
+ There is a community sponsored free module for integrating with Node.JS see:
+ <a class="externalLink" href="https://www.npmjs.com/package/openmeetings-node-client" target="_blank">openmeetings-node-client</a>
+ </div>
+ <p>Install the module</p>
+ <div class="source">
+ <pre>npm install openmeetings-node-client
+</pre>
+ </div>
+ <p>Eg generate a unique hash to enter a conference room:</p>
+ <ol style="list-style-type: decimal">
+ <li>Login to service</li>
+ <li>Generate Hash for entering a conference room</li>
+ <li>Construct Login URL</li>
+ </ol>
+ <div class="source">
+ <pre>const {UserServiceApi, Configuration} = require("openmeetings-node-client");
+const BASE_URL = "http://localhost:5080/openmeetings"
+
+const config = new Configuration({
+ basePath: BASE_URL + "/services"
+})
+// 1. Login to service
+const loginResult = await userService.login("admin", "!HansHans")
+
+// 2. Generate Hash for entering a conference room
+const hashResult = await userService.getRoomHash(sessionId, {
+ firstname: "John",
+ lastname: "Doe",
+ externalId: "uniqueId1",
+ externalType: "myCMS",
+ login: "john.doe",
+ email: "john.doe@gmail.com"
+ }, {
+ roomId: 1,
+ moderator: true
+ })
+
+// 3. Construct Login URL
+const loginUrl = `${BASE_URL}/hash?secure=${hashResult.message}`
+</pre>
+ </div>
+ <p>Full sample source code for can be found at: </p>
+ <ol style="list-style-type: decimal">
+ <li>JavaScript/ES6 example using simplistic Express website see <a class="externalLink" href="https://github.com/om-hosting/openmeetings-node-js-sample-project" target="_BLANK">Github openmeetings-node-js-sample-project</a></li>
+ <li>TypeScript example using simplistic Express website <a class="externalLink" href="https://github.com/om-hosting/openmeetings-node-sample-project" target="_BLANK">Github openmeetings-node-sample-project</a></li>
+ </ol>
+ <p>More in depth examples and use cases can be found at the module page <a class="externalLink" href="https://www.npmjs.com/package/openmeetings-node-client" target="_blank">https://www.npmjs.com/package/openmeetings-node-client</a></p>
+</section>
+<section>
+ <h2 id="how-to-get-room-hash-via-rest-vis-jquery">How to get room hash via REST vis jQuery</h2>
<ul>
<li> First of all you need to perform login and get authorized SID to perform authorized operations
<table border="0" class="bodyTable table table-striped table-hover">
@@ -340,7 +396,10 @@
<a class="nav-link" href="#introduction1" title="Introduction">Introduction</a>
</li>
<li class="h2">
- <a class="nav-link" href="#how-to-get-room-hash-via-rest" title="How to get room hash via REST">How to get room hash via REST</a>
+ <a class="nav-link" href="#how-to-integrate-using-nodejs" title="How to integrate using Node.js">How to integrate using Node.js</a>
+ </li>
+ <li class="h2">
+ <a class="nav-link" href="#how-to-get-room-hash-via-rest-vis-jquery" title="How to get room hash via REST vis jQuery">How to get room hash via REST vis jQuery</a>
</li>
</ul>
</nav>
diff --git a/swagger/apache-openmeetings-7.0.0-SNAPSHOT-swagger.json b/swagger/apache-openmeetings-7.0.0-SNAPSHOT-swagger.json
index 9aaa99c..7ea9275 100644
--- a/swagger/apache-openmeetings-7.0.0-SNAPSHOT-swagger.json
+++ b/swagger/apache-openmeetings-7.0.0-SNAPSHOT-swagger.json
@@ -2,9 +2,10 @@
"openapi" : "3.0.1",
"info" : {
"title" : "Apache OpenMeetings API",
+ "description" : "Integration API enables to connect to an OpenMeetings instance, eg for generating users, create links to directly access conference rooms.<br/><br/>\n\t\t\t\t\t\t\t\t<b>It is mainly designed for Server2Server integration, for example to integrate into your website, CMS or 3rd party application</b><br/><br/>\n\t\t\t\t\t\t\t\tFor examples how to use the Rest API see <a href=\"https://openmeetings.apache.org/RestAPISample.html\" target=\"_BLANK\">https://openmeetings.ap [...]
"contact" : {
- "name" : "Apache OpenMeetings Developer group",
- "url" : "https://openmeetings.apache.org",
+ "name" : "Apache OpenMeetings Rest Examples and Documentation",
+ "url" : "https://openmeetings.apache.org/RestAPISample.html",
"email" : "dev@openmeetings.apache.org"
},
"license" : {