Posts in Category "General"

Connect Meeting RTMP VS/VIPs on Load-Balancers

This article applies to on-premise Adobe Connect servers running behind hardware-based load-balancing devices or SSL accelerators.

A common cause of performance problems in Adobe Connect Meetings stems from the improper configuration of the Virtual Server (VS) Virtual IP Address (VIP) handling Real Time Messaging Protocol (RTMP) traffic in on-premise Connect deployments.

An Adobe Connect Meeting Server is at least two servers in one (possibly more if AEM/Events and UV telephony are incorporated); it is at least always a Tomcat-based HTTP application server and an Adobe Media Server (AMS) using RTMP. The two servers are fully integrated to work together in tandem to support Adobe Connect Meetings.

The most popular load-balancing and SSL acceleration  option in the Adobe Connect on-premise enterprise is the F5 BIG-IP Local Traffic Manager (LTM). This tech-note will illustrate the proper configuration of an RTMP VIP supporting Adobe Connect Meeting on an F5 LTM. The concepts apply to any load-balancing device and SSL accelerator.

The first thing to note is that the general configuration of a Connect server or cluster running behind an SSL accelerator or load-balancing device always requires more then one VIP. There are no exceptions to this rule and any attempts at shortcuts will result in delayed deployments and support cases. Attempts to place all traffic on a single VS/VIP are as common as they are incapacitating. General Connect cluster architecture tech-notes are here:

Adobe® Connect™ server pools/clusters and hardware-based load-balancing devices with SSL acceleration

Adobe Connect Servers and Hardware-based Load-balancing Devices

A simple diagram of an Adobe Connect server behind an F5 LTM follows; see the two VS/VIPs and Fully Qualified Domain Names (FQDNs) for each on the LTM:

C9SSL

Below we add a server to show a basic Connect cluster VIP configuration; see how each Connect Meeting server has its own VS/VIP while one VS/VIP servers both HTTPS application servers.

C9SSLa

Note: Neither of these basic diagrams depicts advanced configurations such as the integration of the Adobe Experience Manager (AEM) Events module. This article focuses on the performance of the Adobe Connect Meeting RTMP VIP in its basic context.

There is usually not an option for RTMP in the VIP profile of a hardware-based load-balancing device. A basic TCP profile is the correct choice. Here it is depicted on an F5 BIP-IP LTM:

f5.fw

With detail:

f5a.fw

f5b.fw

f5c.fw

Note that the symptom for an improperly configured VS/VIP is either the inability to launch a Connect Meeting or excessive latency in the Meeting due to RTMP tunneling (RTMPT) encapsulated within HTTP when the RTMP VIP is blocked or inoperable.

The presence of a capitol “T” in the latency indicator of an Adobe Connect Meeting indicates tunneling as depicted in this tech-note:

Tunneling with RTMP encapsulated in HTTP (RTMPT) should be avoided as it causes latency

Further diagnosis is usually warranted by using the Connect Meeting Addin in logging mode as depicted here:

Enable Logging in the Meeting Addin

Also here:

Troubleshooting Verbose Meeting Addin Logging

When the RTMP VS/VIP profile is improperly configured, the Connect Meeting addin verbose log will show it clearly, particularly when it is compared with the server-side debug log.

Example snippet from a Connect Meeting addin verbose log:

18:51:55    16844    PLAYER_TRACE    SSL connection closed.
18:51:55    16844    PLAYER_TRACE    SSL DoSSLHandshake WaitHandshake not in ssl_active state. (State is 0.) Failing.
18:51:55    16844    PLAYER_TRACE    SSL DoSSLHandshake WaitForSocket not in ssl_active state, failing.
18:51:55    16844    PLAYER_TRACE    SSL Receive socket read error 0x0.
18:51:55    16844    ACTION_TRACE    5/10/2016 14:51:55.101 [DEBUG] breezeLive.main.FCSConnector [attempt 1 of 60] Trying fallback tunneling connection rtmps://onlinemeeting.connectexample.com:443/?rtmp://localhost:8506/meetingas3app/7/1234567/
18:51:55    17179    PLAYER_TRACE    NetConnectionIO::DoConnect rtmps protocol, HTTP(S) tunneling, tunnel open succeeded.

The corresponding snippet in the server debug log as well as the application logs will read: RTMPT and often reconnect=true:

               Line 23456: 2016-01-17  14:25:06              32260    (s)2641173          Asc-Room               IA_CONNECT      [dID:32, ticket:123456789xyz, phase:, uID:, name:]             New client connecting:  { ip=127.0.0.1, protocol=rtmpt, player=MAC 11,9,971,247, savedConnectionSpeed=undefined, reconnect=true }                        –

[11-05 15:08:05] FCSj_Worker:18 (INFO) params: {bytesdown=0, protocol=rtmpt, ticket=123456789xyz, status=C, reconnect=true, nickname=John Doe, action=register-client, role=v, bytesup=0, session-timeout=12}

Correct configuration of the RTMP VS/VIP is extremely important; a Connect Meeting VS/VIP must have a dedicated FQDN.  It must have its own SSL certificate if SSL is accelerated through the load-balancing device and the VS/VIP must not have an HTTP profile; a TCP profile is needed.

For some additional information about troubleshooting Connect architecture with reference to hardware-based load-balancing devises and SSL accelerators, see the following tech-notes:

The Adobe Connect Deployment Guide on the F5 Website needs Updating

Configuring application-level health monitors for Connect on BIG-IP Local Traffic Manager

Publishing PowerPoint Presentations in Connect Meetings

There are different techniques that a Connect content author or Connect Meeting Host may employ to publish PowerPoint content in Adobe Connect Meetings. This article discusses them and how they differ and how to choose the correct option and avoid common pitfalls. The four basic techniques are:

  • Direct upload or drag and drop into a Connect Share Pod
  • Upload to the Connect Content Library and then link to the Meeting Share Pod
  • Publish to the Connect Content Library using Adobe Presenter and then link to the Meeting Share Pod
  • Publish locally using Presenter to a zip package and upload to Connect

I will summarize each of these and then compare them and offer some tips to help make sure that the published converted SWF closely matches the original PPTX.

The first and perhaps most commonly used option by Meeting Hosts is to upload a PPTX directly to a Meeting room Share Pod. The ease and simplicity of this approach certainly accounts for its popularity: You can simply drag and drop a PPTX presentation into the Share Pod or navigate to the source PPTX and upload it.

pptxa.fw

pptxb.fw

Drag and drop is pictured above. As the PPTX is dropped into the Share Pod from the local client, the boarder around the Share Pod will appear with a yellow highlight.

pptx3.fw

File conversion begins as soon as you drop the file into the Share Pod.

pptx5.fw

The PPTX is converted and ready for viewing as shown above.

pptx.fw

You may also browse to the PPTX file locally from the Share Pod menu drop-down: As a Connect Meeting Host or Presenter, click the down arrow in a Connect Meeting Share Pod and choose “Share Document” as shown above.

pptx1.fw

Choose “Browse My Computer” (We will discuss content in the shared library anon).

pptx2.fw

Browse to the PPTX locally and select it.

pptx3.fw

The size of the file and bandwidth available will determine the amount of time it takes to upload.

pptx4.fw

Likewise with conversion.

pptx5.fw

The PPTX is converted and ready for viewing.

 

Uploading to the Content library is also a common method of Publishing a PowerPoint to Connect. This technique provides a URL for on-demand playback of a the PPTX as well as a single source for use in multiple Connect Meeting rooms. Multiple Connect Meeting rooms may share a presentation from the same source in the Content Library thereby simplifying editing and version control.

pptx6.fw

Browse to the Content Library in Connect Central and choose “New Content” as shown above. Note that a Meeting Host will have access to “My Connect” by default but may need to request access to “Shared Content” and “User Content” folders depending on prior account-wide administrative permissions set.

pptx7.fw

Browse to the desired PPTX on your client or share.

pptx8.fw

Select the desired PPTX upload.

pptx9.fw

Name the Presentation in Connect Central, create a custom URL and summarize the content for administrative reference if desired.

pptx10.fw

There will be a delay while the content is processed; see the spinning wheel in the upper left.

pptx11.fw

Once completed, the active URL and summary will be displayed.

pptx12.fw

To use the Presentation uploaded to the Content Library in a Connect Meeting, simply point the share pod to the Content Library and link it to the meeting.

pptx5.fw

It will appear instantaneously in the Connect Meeting as it is already uploaded to the Connect server.

 

The third means of uploading a presentation to Connect employs Adobe Presenter. This is the richest and most accurate PowerPoint conversion option. Presenter integrates with Connect, in fact, Connect had its start as Presenter: Presidia and Breeze 3.0 were originally based on PowerPoint on-demand content publishing to SWF. The integration of Flash Communication Server in Breeze 3.0.8 led eventually to the current Adobe Media Server and the Tomcat Application server platform along with such feature rich integration as Adobe Media Gateway for telephony and Adobe Experience Manager for Events management. Presenter has a long history and it is a very rich on-demand learning tool: http://www.adobe.com/products/presenter.html

pptx14.fw

Once installed, Presenter appears as a menu option in PowerPoint and you can drive publishing to Connect in a number of ways.

pptx28a.fw

pptx15.fw

Out of necessity, here I will be intentionally terse and ignore a plethora of Presenter features and focus only on using Presenter to publish PowerPoint content for use in a Connect Meeting. The dialog above is under Adobe Presenter>Presentation menu items in PowerPoint with Adobe Presenter installed.

pptx16.fw

The dialog above shows Presenter publishing options, among them is Adobe Connect which pushes the published Presentation to the Adobe Connect Content Library. Presenter is able to publish to any Connect server to which the author has access and permissions by its domain name.

pptx17.fw

Presenter launches a browser to log into the Connect Central Content Library.

pptx10.fw

By default Presenter will log into the Connect Central “My Content” folder belonging to the Presenter Author.

pptx19.fw

Fill in the customer URL option if desired and the summary fields.

pptx21.fw

Publishing may take a few minutes depending on the size of the PPTX file.

pptx22.fw

pptx23.fw

Once complete the active URL is available along with the summary.

pptx25.fw

It is now available as on-demand content and can be used from the Content Library in a Connect Meeting.

pptx26.fw

From the Connect Meeting room, choose the Share Pod drop down option and browse to the Content Library. Here I am using the “My Content” folder as the repository.

pptx27.fw

The published presentation is available in the Connect Meeting Share Pod.

 

The fourth method of publishing a PPTX to Connect is to first publish locally as a zip package using Presenter and then upload it to Connect.

pptx28a.fw

pptx15.fw

pptx28.fw

Within PowerPoint under Adobe Presenter >Presentation, choose “Publish” and set the publishing options to “My Computer” and the Output options to “Zip package”. Click “Publish”.

pptx29.fw

The conversion process may take a few minutes.

pptx30.fw

By default it will publish the zip package to: \Documents\My Adobe Presentations\

pptx31.fw

In the Connect Central Content Library, choose New Content.

pptx32.fw

See that among the supported upload file types, a zip package is listed.

pptx33.fw

Browse to the locally published zip package; in this case it is: \Documents\My Adobe Presentations\Large\Large.zip

pptx34.fw

Add the details in the Connect Central Content Library and click Save to begin the upload.

pptx35.fw

The published active URL allows access to the on-demand Presentation.

pptx35a.fw

pptx25.fw

In the Meeting Share Pod the Presentation is accessible from the Content Library.

You may also directly upload the Presenter published zip package from the author’s client to the Connect Meeting Share Pod and ignore the Content Library as shown below:

pptx35b.fw

pptx36.fw

pptx25.fw

The presentation is available for use in the Connect Meeting Share Pod.

 

Choosing the best presentation publishing option:

Once the PowerPoint presentation is selected, converted, and uploaded by whichever means, it is prudent to review it to check for any delta between the uploaded content and the original PPTX. Deltas are usually in one of two forms:

  • Select fonts do not match
  • Tables or bullet formatting does not line up as expected

With reference to custom fonts such as certain esoteric mathematical symbols, this article may help: Tips on Mitigating Connect Server-side PowerPoint Publishing Deltas

Using Adobe Presenter to publish, effectively eliminates any font discrepancies as all publishing is done on the author’s client where presumably all fonts are installed and are available to facilitate accurate conversion.

When uploading a PPTX to the Connect Central Content Library without Presenter, a Connect server-side version of Presenter, called Producer, facilitates the conversion process invoking the fonts available server side. If a font is used in the PPTX that is not available on the server, Producer will choose the closest font available on the Connect server to the original font.

Note: Adobe Connect hosted and ACMS customers who wish to have proprietary fonts installed on their Connect accounts  should contact the Connect Support Team to discuss the process.

When uploading a PPTX directly to a Connect Meeting room Share Pod, server-side Producer is not invoked. The client-side is leveraged and Microsoft Office should be installed on the client as PowerPoint client-side helps facilitate the conversion.

This warning message may appear when uploading a PPTX to Connect:

pptx42.fw

This warning is most common when Mac users who do not have Microsoft Office installed on their clients, attempt to upload a PPTX directly to an Adobe Connect Meeting room. There are not any client-side assets to facilitate conversion.

This tech-note is relevant: Best Practices for Sharing PPTX Files on Adobe Connect

With specific reference to portions of tables missing from graphs, often this can be mitigated by saving a PPTX as  PPT and re-uploading it to Connect.

A PPTX may also be locked down and further editing prohibited. This will affect conversion of the PPTX because conversion to SWF in Connect is a form of editing.

pptx37.fw

pptx38.fw

pptx41.fw

PowerPoint menu options to Protect the Presentation prior to uploading may cause a delta in the converted uploaded Presentation.

 

Conclusion:

The surest way to have the richest and most accurate PPTX to SWF conversion is by using Adobe Presenter on the author’s client. The next most accurate is to upload to the Connect Content library and invoke server-side Producer for conversion. The quickest way is to simply upload directly to the Meeting Share pod but be sure to have Microsoft Office  installed on the client to help mitigate any delta. Be sure to upload and test well in advance of the Adobe Connect Meeting.

9.5 Connect Edge Proxy Server Full Installer

The new 9.5 Connect Edge Proxy Server full installation procedure follows.

Note: This article applies to on-premise Connect customers who have purchased Edge Proxy servers and must install or upgrade to Connect version 9.5. The only possible exception to on-premise exclusivity may be for those who are hosted by a managed ISP that supports external Enterprise Proxy Edge Servers (this latter model is uncommon).

Step 1: Download the Connect Edge Server installer from the URL location provided by the Adobe Connect Support or Customer Service team;  extract and install it with local administrative permissions.

edgeintro.fw

edgeextract.fw

The first installation screen option allows language selection among the following:  English, French, German and Japanese. Click OK to proceed or x (in the upper right) to quit.

edge1a.fw

Step 2 displays the Welcome window in your selected language. Click ‘Next’ to proceed or ‘Quit’ to exit.

edge2a.fw

Note: If you have a previous version installed, this pop-up message will display:

edge2a.fw

Step 3 displays the License Agreement: The administrator conducting the installation must accept the agreement to proceed. Click ‘Previous’ to go to the previous panel, ‘Next’ to proceed or ‘Quit’ to exit.

edge3a.fw

Step 4 displays the option to Select Destination: This panel offers a browse button and facilitates choosing an installation directory. Choose the installation destination, click ‘Previous’ to go to the previous panel, ‘Next’ to proceed or ‘Quit’ to exit.

edge4a.fw

Note: If the destination directory for the installation selected in this panel already exists then the below warning will appear. Click ‘Yes’ to continue or ‘No’ to quit.

edge5a.fw

Note: If the target directory does not exist, this screen will display:

edge2b.fw

Step 5 presents Shortcut Creation options: This screen will facilitate creating the shortcuts in the Start menu. Click ‘Previous’ to go to the previous panel, ‘Next’ to proceed or ‘Quit’ to exit.

edge6a.fw

Step 6 presents a Summary: Click ‘Previous’ to go to the previous panel, ‘Next’ to proceed or ‘Quit’ to exit.

edge7a.fw

edge7a.fw

Step 7 presents a progress screen: This will occur when the installation starts. The installer will extract the files and will try to take a backup of any previous installation. During this panel a command prompt will occur if there were initially any edge services installed. It will create a backup in the same location where it originally existed, but will append “_backup” in the directory name. Wait for the processes to complete.

Note: A clean installation is highly recommended rather than any attempt at installing over older versions of the Edge.

edge8a.fw

After the processes are completed, click Next to proceed:

edge9a.fw

Step 8 offers a GUI, Edge Server Setup Configuration: This panel writes the Edge Server FQDN, the Connect server FQDN, the Cluster ID and the server ports into the Edge server configuration.

edge10b.fw

Example entries follow based on the sample deployment diagram below:

Edge Server Hostname: edge.company.com
Connect Server Hostname: connect.company.com
Edge cluster ID: edge.dmz-edge
Connect Server Normal Port: 80
Connect Server Secure Port: 443

 

95EdgeDMZstunnelOriginstunnel

Step 9 presents the Finish Panel: The installation has completed. Click ‘Done’ to finish the installation:

edge11a.fw

Post installation, the Edge config.ini file, based on our example will contain these relevant entries:

FCS_EDGE_HOST=edge.company.com
FCS_EDGE_REGISTER_HOST=connect.company.com
FCS_EDGE_CLUSTER_ID=edge.dmz-edge=1
FCS.HTTPCACHE_BREEZE_SERVER_NORMAL_PORT=connect.company.com:80
FCS.HTTPCACHE_BREEZE_SERVER_SECURE_PORT=connect.company.com:443

Note: Prior versions of the Connect Edge often employed (although never required) a custom.ini file in the Connect Edge server installation root directory for these entries. The custom.ini would then override the config.ini file in the \conf directory. Placing a custom.ini in the root installation directory is still an option as well as a hazard should one contain stale or wrong entries. The new Edge installer writes directly to config.in through the screen illustrated in step 8.

Once the Connect Edge Server is installed, it must be registered with the origin server or cluster for which it serves as proxy:

On the origin server, register the Edge server by adding the Edge server unique name into the host mappings section of the Connect Management Console; the settings will propagate throughout an origin server cluster from any one of the origin servers:

Start > Programs > Adobe Connect Server > Configure Adobe Connect Server

If the Edge is communicating with the origin server, then you will see a preregistration configuration under the server settings tab:

edgereg1.fw

Add the same unique Edge name into the host mapping fields as follows to register the Edge; this is a manual security mechanism to prevent unauthorized pirate Edge server registration:

edgereg2.fw

Note: The common identification variable in the custom.ini on the origin and the config.ini on the Edge is the cluster ID; following our example is dmz-edge=1 indication the first zone by name; add this to the custom.ini file on the origin(s).

Note: Even a single Edge server warrants its own cluster ID.

edge.dmz-edge=1

For additional information on Edge server deployments including maintenance and troubleshooting, see the articles on the Connect Users Community. Note that the custom.ini file is used in these articles to configure the Edge by overriding the config.ini. As aforementioned, while the new 9.5 installer writes directly to the config.ini, the custom.ini, when used as described will override the config.ini.

The first tutorial listed below discusses the reverse proxy use of the Edge and the second discusses the enterprise proxy use:

Adobe Connect Edge Server Deployment Options: part 1
Adobe Connect Edge Server Deployment Options: part 2

Resolved: CSO: DATE (04-06-2016) – Adobe Connect NA9 Events Module Templates

At approximately 3PM EST to 3:50PM EST, 04-06-2016, some customers on NA9 reported that they could create Events Templates. The issue is resolved and was very limited in scope – customers not using the AEM Events module in Connect were unaffected and only NA9 was affected.

RCA to follow through normal channels.

 

Please see the Status Page for more information.

Adobe Connect SSL guide

Here’s a new SSL configuration guide (PDF) aimed at Connect 9 and higher. It should help you get SSL working in most environments with and without Events module (CQ).

Connect SSL Guide

Please contact support via the usual channels should you feel you need additional help with SSL.

 

Connect On-premise Server Upgrade Fails because of Encrypted SQL Connection

On-premise Connect server upgrades will fail when SQL is using a secure encrypted connection between Connect and the SQL database.

Most on-premise Connect deployments do not use encrypted SQL conenctions, instead access is restricted to the DB layer/SQL via partitioning and firewalls. This tech-note only applies to encrypted SQL connections; this upgrade tech-note applies to you if you have installed Connect and then set up SQL encryption according to this tech-note:

Configuring Secure SQL with Connect

In order to upgrade Connect running with an encrypted SQL connection, you will need to remove SQL encryption until the upgrade is complete and then you may reapply SQL connection encryption. Minor Connect dot updates and patches may not appear to fail, but they will be unable to update the Connect database as long as encryption is in place. For example if you apply the 9.2.1 update to a 9.2.0 server, the following will result:

The version.txt file will read mssql=9.2.1.0, while the Database_Version table from the SQL DB will read 9.2.0.0.

Full installer upgrades will fail with more server log errors, among them you will see this:

java.sql.SQLNonTransientConnectionException: [Macromedia][SQLServer JDBC Driver]The SQL Server login requires an SSL connection.

And an option on this theme in the installation GUI will manifest where, in this case pictured, the 9.5 installer fails in an attempt to upgrade a 9.2 Connect server:

Upgrade not supported

The following steps are required to remove SQL encryption to facilitate upgrading:

  1. Open SQL Server Configuration Manager

Update Connect With Secure SQL

2. Open the Protocols for MSSQL Server Properties

Update Connect With Secure SQL1

3. Under the Flags tab, change Force Encryption to No

Update Connect With Secure SQL2

4. Under the Certificates tab, clear the certificates and click OK.

5. Restart SQL.

6. On the Connect application server, edit the ConnectProSvc.conf file in the appserv directory; remove the following entries in the list of JAVA arguments (If they exist):

wrapper.java.additional.28=-Djavax.net.ssl.trustStore= <path of Trust Store file created >
wrapper.java.additional.29=-Djavax.net.ssl.trustStorePassword=<Truststore Password >

7. In the custom.ini file in the connect (or breeze) installation root directory, comment the following entries:

DB_ENCRYPTION_METHOD=SSL
DB_VALIDATE_SERVER_CERTIFICATE=true

8. Restart the Adobe Connect and AMS/FMS Services

logssvcs4.fw

At this point you are ready to run the Connect updates or upgrade. After you have successfully run the upgrade and performed a full function check, you may reapply the encryption to the Connect SQL database connection by reversing the steps above. Abbreviated they are:

  1. Open SQL Server Configuration Manager
  2. Open the Protocols for MSSQL server Properties
  3. Under the Flags tab, change Force Encryption to Yes

Update Connect With Secure SQL4

4. Under the Certificates tab select certificate created previously and click OK.

5. Restart SQL services

6. In the ConnectProSvc.conf file in the appserv directory, add the following entries in the list of JAVA args:

wrapper.java.additional.28=-Djavax.net.ssl.trustStore= <path of Trust Store file created >
wrapper.java.additional.29=-Djavax.net.ssl.trustStorePassword=<Truststore Password >

7. In the custom.ini file in the connect (or breeze) installation root directory, uncomment or add the following entries:

DB_ENCRYPTION_METHOD=SSL
DB_VALIDATE_SERVER_CERTIFICATE=true

8. Restart the Adobe Connect and AMS/FMS Services.

Note: For greater detail refer to the original tech-note on encrypting the SQL connection:  Configuring Secure SQL with Connect

Connect Meeting and Client-side Speaker Audio Output Control

There is a Connect feature request from various customers in place asking for the Connect Meeting GUI to offer an option to choose audio output devices. The request is a complex one because the audio output control options are opaque to Flash; the settings for audio output are in the various operating systems (OS) of the many possible clients. Connect uses what is chosen as the OS default as depicted in our help documents:

Set up audio broadcasting

The feature request number is: CONN-4082570; one customer recently suggested that we add expanded functionality for client speaker audio output control roughly similar to what we already have in Adobe Connect for Microphone and Webcam selection.  A speaker drop-down menu for sound output is desirable for obvious reasons.

There is no set date for implementation of this enhancement in Connect and I will update this blog entry if that changes. In the meantime, if the default client OS audio output option is not the option desired for use with Connect Meeting, the following example may help: I will show how to add a Bluetooth speaker to a Windows client and toggle the audio output in Connect from the built-in laptop Realtek speaker to a new iHome Bluetooth speaker. While audio output options may vary, by showing how it is done with this common example of a Bluetooth output device, it will hopefully help to show how other optional client-side speaker output devices may also be managed in kind.

To see the enabled audio output options on a Windows client, look at the Device Manager under the Control Panel:

sound-dev-mgr.fw

Here we see a Realtek device and this corresponds with the option in the lower right of the desktop tray:

audiowzd-bt5b.fw

Opening the mixer shows more detail:

realtek.fw

If I play music by invoking the Audio Setup Wizard in Connect Meeting, the Realtek speaker will play:

asw.fw

conn-soundoutput.fw

Since our example will be to switch to a Bluetooth speaker, the first step will be to make certain that Bluetooth is enabled. On my Lenovo, that is done by pressing the keys FN>F5 simultaneously. Here we see Bluetooth is enabled:

sound-bt.fw

The next step is to follow the device instructions to pair the Bluetooth speaker with the client computer; these will vary.

See the Bluetooth icon enabled and  highlighted in my system tray:

sound-bt1.fw

After putting the iHome speaker in pairing mode, I am able to search for it from the client:

sound-bt2.fw

sound-bt2a.fw

sound-bt3a.fw

Now we have more than one speaker option to toggle as the Device Manager and the system tray attest:

sound-dev-mgr1.fw

sound-bt5.fw

In Connect we now see the option to use the new audio output device:

sound-fin.fw

Note: The iHome Bluetooth speaker also has a built-in Microphone so the Connect Audio Setup Wizard will see it in the Microphone drop down menu.

Without audio output controls built into Connect, adding and/or changing the default audio output device in the client OS is the way to toggle the audio output option in Connect. The key thing to be aware us is the danger of audio feedback loops. When separate speakers feed back into a microphone and cause echoing in a Connect Meeting. On a mobile device such as an iPAD, without a headset the speaker audio will feed right back in the microphone; it is best practice to use a headset with iPad to prevent audio loop/echos.

Generating Server-side Logs to Troubleshoot On-premise Connect Deployments

In order to diagnose unexpected behavior within Adobe Connect, it may be necessary for the Adobe Connect Support team to examine server-side logs from an on-premise Connect deployment. The logs directory is located in the Connect (or Breeze – it is not uncommon for Connect upgrades to reside in legacy Breeze directories) directory:

logsdir.fw

Within the logs directory there are sub-directories containing various logs:

logsdir1.fw

The most commonly requested log by the support team, is the debug.log. It can be found in the logs>support directory. With the services running, the current debug log will appear without a date at the top of the debug.log file list. The default rollover is 12 hours generating AM and PM logs each day:

logsdir2.fw

In order to make the debug.log file more useful for purposes of diagnosis, you can enable verbose logging by adding entries to the custom.ini file located in the Connect or Breeze version sub-directory. Here you see it located in a 9.3.1 directory under the Breeze root installation/upgrade directory:

logscustomini3.fw

Before editing the custom.ini file, be sure to create a backup copy of it. Add the following lines in order to enable verbose logging:

HTTP_TRACE=true
DB_LOG_ALL_QUERIES=true

Note that for versions of Connect 9.2 and prior, use yes instead of true:

HTTP_TRACE=yes
DB_LOG_ALL_QUERIES=yes

Save the custom.ini file (be careful not to accidentally change the file type to .txt) and during a scheduled maintenance window, cycle the Connect and AMS/FMS services in order to load the changes and begin verbose logging (note this will bring Connect down while the services cycle):

logssvcs4.fw

There are occasions when it may be prudent to provide more than one log for a more complete diagnosis. To provide a full sample of the various Connect logs without sending a massive historical sample of log files, you may simply stop the Connect services (during scheduled downtime as this will bring down Connect) and rename the entire log directory to log.old. Then upon starting the services back up, recreate the issue being diagnosed and then stop the services.

This activity will generate a new small log directory isolating the issue under scrutiny that you just reproduced in Connect: Zip/compress this new abbreviated log directory with all its fresh abbreviated sub-directories and provide it to the the Adobe Connect Support team to help expedite more exhaustive server-side log analysis. This option is particularly helpful when examining a cluster as each server will have a set of logs. When providing cluster logs, always label each compressed log folder to easily identify the server from which it came.

Note that often when diagnosing unexpected behavior in Adobe Connect Meetings, it may also be prudent to enable client-side Connect addin verbose logging as well.  The relevant client-side logging tech-notes are here:

Enable logging | Meeting Add-in

Troubleshooting Verbose Meeting Addin Logging

Virtual Classrooms and Account Limit Reached Error

This article is applicable ONLY to Adobe Connect users who have purchased a Named Virtual Classroom Manager license within the Training Module and are running into Account Limit Reached messages unexpectedly when they are launching Virtual Classrooms.

With the release of Adobe Connect 9.4 in May of 2015, we introduced a new training license model called the “Named Virtual Classroom Manager”.  This is specifically for Connect users to create and host Virtual Classrooms (plus it gives you access to the Events module).  It is basically another way we are licensing access to Virtual Classrooms.  This means there are technically two different types of Virtual Classrooms that can be created when you have the Training module enabled:

  1. The ‘traditional’ model of Virtual Classrooms (VC) which use the Concurrent Learner seat quota on the account (up to 100 seats per room), and…
  2. The Named Virtual Classroom Manager (NVCM) model of Virtual Classrooms which use a built-in 200 seat quota and does not use any Concurrent Learner seats.

When accounts are provisioned and quotas and features purchased, customers have the option of buying ONLY a Named Virtual Classroom Manager license.  They do not need to buy any additional training seats for Concurrent Learners.  In the older traditional model, in order to use a Virtual Classroom, you had to buy Concurrent Learner seats (say 250 seats for sake of discussion).  When a training manager created a VC, it would utilize seats out of that (in this example) 250 seat quota, up to 100 attendees (the rest of the concurrent seats could be used for another VC or other training content).  It was capped at 100 per VC.  With the new Named Virtual Classroom Manager license, you can now have only the NVCM feature enabled (and essentially have purchased no other training seats…so Concurrent Learner quota =0) or you can have it in conjunction with other training seats purchased in case you have a need for on-demand courses and curriculum, etc.. The NVCM model VC will not use any Concurrent Learner seats. It has a built-in 200 seat quota per room.  However, the caveat here is that the VC created for intended use with the NVCM model needs to have one of a few conditions in place in order to take on that NVCM model.  Otherwise, it may inadvertently take on the behavior of a traditional model VC and it could lead to unexpected circumstances like an ‘Account Limit Reached’ when the very first person joins the VC.

Let’s explain…

To create a Virtual Classroom, no matter what type of training features/quotas were purchased, all you need to be is a Training Manager, Named Virtual Classroom Manager, or Administrator.

The process of creating a VC is always the same.  You click on the “New Virtual Classroom” button from within the Training module.

Each time a Virtual Classroom is launched, Adobe Connect checks a few conditions to see how the VC should be licensed when it launches.  The result of which will dictate the quota used for the seats.  Where this becomes very problematic and confusing for customers is when the customer ONLY purchases a NVCM license and doesn’t have any Concurrent Learner seats (so Concurrent Learner = 0).  It is possible for a customer to create and launch a VC that is trying to use a Concurrent Learner quota by mistake.  If that happens, you will get the error ‘Account Limit Reached‘ right away.

For the sake of the scenarios below that explain how the VC’s are licensed when they launch, I will also mention that when a VC is created in a NVCM’s individual user folder under the Training tab, it automatically is a NVCM model room.  If it’s created under the Shared Training area of the Training tab, then there is a setting you can check or uncheck called ‘Named Virtual Classroom Model‘.

nvcm

The value can either be Yes or No.  Below in the listed scenarios, that is what ‘set to yes’ or ‘set to no’ means.

Also below in the listed scenarios, a ‘NVCManager‘ is a person who is in the group ‘Virtual Classroom Managers’ in the Users and Groups area of Connect.  That is what gives that person the ability to utilize the NVCM model.  A ‘non-NVCManager‘ indicates someone who is NOT in that group.  This would be a normal Training Manager or Administrator.

Here are the conditions and scenarios (assuming the room is Public) where a VC can be launched with or without the 200 seat expected NVCM quota:

Green = NVCM is used and quota will be 200 seats
Red = traditional model is used and quota will be taken from Concurrent Learner seats and could result in an “Account Limit Reached” error if that quota is 0.
Orange = NVCM is used but there could be some confusion due to the lack of NVCM in the room or permissions for that NVCM.

Scenarios:

  • VC created in My Training folder by NVCManager – launched by NVCManager = Will use NVCM license (quota 200)
  • VC created in My Training folder by NVCManager – launched by non-NVCManager = Will use NVCM license (quota 200) however will not have the host present even if non NVCM who launched the room is a host (permission-wise).  A NVCM needs to be present for the room to have an initial host, similar to Named Host Meeting.  If the VC is ‘public’ as far as access level, it will launch and use the 200 seat quota for that owner, but if the owner isn’t in the room, the users who have entered will be participants.
  • VC created in Shared Training folder by NVCManager (set to yes) – launched by NVCManager = Will use NVCM license (quota 200)
  • VC created in Shared Training folder by NVCManager (set to yes) – launched by non-NVCManager = Will use NVCM license (quota 200) however will not have the host present even if non NVCM who launched the room is a host (permission-wise).  A NVCM needs to be present for the room to have an initial host, similar to Named Host Meeting.  If the VC is ‘public’ as far as access level, it will launch and use the 200 seat quota for that owner, but if the owner isn’t in the room, the users who have entered will be participants.
  • VC created in Shared Training folder by NVCManager (set to no) – launched by NVCManager = Will use NVCM license (quota 200)
  • VC created in Shared Training folder by NVCManager (set to no) – launched by non-NVCManager = Will use Traditional VC license (quota 100 taken from Concurrent Learners quota).  IF there is no quota for Concurrent Learners purchased, user will get ‘Account Limit Reached’ error.
  • VC created in Shared Training folder or My Training folder by non-NVCManager (set to yes) – launched by NVCManager = Will use NVCM license (quota 200)
  • VC created in Shared Training folder or My Training folder by non-NVCManager (set to yes) – launched by non-NVCManager – the room will behave like a Named VC and will use the 200 quota. But The room will not be owned by anyone, to be more precisely, there will not be an active host until an Named VC manager enters the room. Also all other non-NVCM hosts and presenters will be downgraded to participants until NVCM, who is assigned as a host, arrives.
  • VC created in Shared Training folder or My Training folder by non-NVCManager (set to no) – launched by NVCManager = Will use NVCM license (quota 200)
  • VC created in Shared Training folder or My Training folder by non-NVCManager (set to no) – launched by non-NVCManager  = Will use Traditional VC license (quota 100 taken from Concurrent Learners quota).  IF there is no quota for Concurrent Learners purchased, user will get ‘Account Limit Reached’ error.

So ultimately if you have purchased a NVCM license and you are expecting a VC to open and allow 200 seats, but you are getting an Account Limit Reached error either right away OR after a lower number of people access the room (so under 200), then most likely one of the situations above (in RED) has occurred.  To confirm, make sure that the creator of the room is in the NVCM group, the room exists inside of a NVCM’s My Training folder, the host launching the room is a NVCM, or at the very least the room has ‘YES’ set for the ‘Named Virtual Classroom License Model’ setting if the room is in the Shared Training area.

Articulate Project not Displaying Web Objects After Publishing to Adobe Connect

Issue: If you will publish an Articulate project to Adobe Connect containing web objects, it may not display those web objects. Upon opening the project the client will see the below message at the bottom of the screen.

show

If “Show all content” is clicked then the content re-launches and displays the video.  This behavior is expected on any HTTPS server where the content is hosted and is not unique to Adobe Connect/hosted.

The solutions include:

  • If your content (web object) is on the HTTPS server then you should have HTTPS enabled on your Adobe Connect server.
  • If your content (web object) is on the HTTP server then you should have HTTPS disabled on your Adobe Connect server.
  • Don’t reference external content