Author Archive: Frank DeRienzo

Web Services API call: sco-session-seminar-list

We have opened a bug around a recent undocumented change in the Web Services API actions.

The action, sco-session-seminar-list, which prior to 9.2.2 returned all seminar sessions for which the authenticated user had Host permissions, now requires the alternative action: sco-seminar-sessions-list. Use sco-seminar-sessions-list instead of sco-session-seminar-list until we resolve the open issue around this change; we have logged bug number: Watson: 3772441.

Consider this sample action (wherein FQDN designates your fully qualified domain name) as an example: Instead of running the action:  https://FQDN/api/xml?action=sco-session-seminar-list&sco-id=1369951914 to get all the seminar sessions under the seminar license with the sco-id of 1369951914 you ought to run this API instead: https://FQDN/api/xml?action=sco-seminar-sessions-list&sco-id=1369951914

To list all the sessions that are linked to a meeting room under one license, put a filter on the source-sco-id as in this example action: http://FQDN/api/xml?action=sco-seminar-sessions-list&sco-id=sco-id-of-the-seminar-license&filter-source-sco-id=sco-id-of-the-meeting-room

Ensuring that Email Generated by Adobe Connect Servers is Received

There have been more than a few incidents reported on the topic of email messages from Adobe Connect servers not getting delivered. These include messages generated by the Adobe Connect Events module as well as system email messages such as that generated by changing a password.

The first thing to avoid to prevent this problem is that of using special characters in the host’s name. This is scheduled to be fixed in Connect 9.3, but currently, in 9.2, if you place a comma in the Event host’s name such as Frank D., El Presidente’  it will cause an error identified in our server logs by a messaging exception.

The second thing to avoid is inviting over 20,000 participants to an Event. This generates an operation size error and causes problems with email messages being sent out. We also plan to address this ceiling tentatively in Connect 9.3.

With specific reference to Adobe Connect Hosted accounts, we just made the following change to ameliorate email problems: As of April 28th, 2014, administrative email notifications sent from Adobe Connect servers will now be coming from admin@adobeconnect.com instead of admin@acrobat.com This will help by disassociating Connect-generated email from that of the Acrobat domain which could be potentially blocked by virtue of its identification with document storage. We also made some internal changes to the way the Connect servers handle email and we worked with our Web infrastructure partners to insure that Connect generated email was not being treated as SPAM on the Web.

There is a bit of a conundrum here. If Adobe Connect Events email invitations are sent out in massive mailings to those who perceive the email as SPAM, then the Adobe Connect servers could be tagged as producing SPAM by those end-user recipients. An overzealous Events manager may cause Gmail and other providers to treat Adobe Connect email as SPAM. When an Event that is capped at 500 participants sends out 5000 email invitations, it is expected that many recipients will at best ignore the inbound email traffic and many more may consider the traffic to be a nuisance. We are investigating possible approaches to ameliorate this problem and plan in 9.3  to add an opt-out option for Events invitations that will offer a convenient alternative to any SPAM reply option for recipients to invoke.

We love large Events and Adobe Connect handles them very well; this is a case when our success can potentially lead to some problems. Currently the Adobe Hosted Service is green for SPF record checks.  We pass all major email providers and are not blacklisted according to common checker tools on the internet.  This should resolve the lion’s share of current email issues and the upcoming changes in 9.3 will serve to harden this capability for future Events.

How to make Connect use a browser-based email client to send Meeting invitations

When invoking a browser-based email client to invite participants to a Connect Meeting from within a Connect Meeting you will see this error message unless you first make the browser-based email your default email service:

 

bb-email.fw

 

Sending a browser-based email invitation from within a Connect Meeting is possible if you first make the browser-based email option your default email program. As an example, you can use the instructions at the following links to make Gmail your default email program :

http://email.about.com/od/gmailtips/qt/et_default_prog.htm

http://www.pcdailytips.com/set-gmail-as-default-email-using-chrome-or-firefox/

Note that once you enable a browser-based email client and invoke it from within a Connect Meeting, the behavior will be different based on whether the host issuing the invitation is using the Connect Meeting addin or the Flash Player. In the addin it will look like this:

Using the Connect Meeting addin, invoke the invitation: Meeting> Manage Access & Entry > Invite Participants

bb-email-1.fw

bb-email-2.fw

See how the invitation is fully populated with important details:

bb-email-3.fw

Following the same procedure using the Flash Player instead of the addin (?launcher=false) also works, but with an abbreviated invitation message:

bb-email-4.fw

 

Specifications for MP4 Conversion for Connect Recordings

Here are the specifications for the MP4 conversion; they are similar to our FLV specifications albeit with better compression:

  • Resolution: 1024X768
  • Frames Per Second: 8 FPS
  • Video Bitrate: 1024kbps
  • Audio:
    • Codec – AAC (Advanced Audio Codec)
    • Profile – Main@3.1
    • Bit Rate – ~55Kbps (VBR)
    • Channels – 1 (Mono)
    • Sampling rate – 44.1Khz

Be Aware of the Closed Captioning Pod Defaults

Last week we found out that Caption Colorado changed their IP address and port number for the Closed Captioning pod downloadable from the Connect Exchange Website. Here is the direct link to the Connect version 9 Closed Captioning Pod

The new Caption Colorado information includes:

If you are experiencing any trouble with the Closed Captioning pod while using it in a Connect Meeting with Caption Colorado, please set your host to “captionedtext.com” and to port 11100 in the adobe pod. Note that the new IP, 54.193.31.11, depending on your infrastructure’s network security settings, may need to be white-listed.

For an updated user’s guide referencing the Closed Caption Pod, see this PDF: http://platinum.adobeconnect.com/cc/

 

 

Estimating the Size of Archive Meeting Recordings

I was recently asked if I had any test data showing how big a recording becomes based on the use case during the Connect Meeting being recorded. While plenty of anecdotal information exists,  I thought it prudent to begin a list of use cases and show what the size was after five minutes of each use case. This article will be a work in progress as I add different use cases in order to offer various concrete examples to use as a basis to estimate recording size based on what is being recorded, whether multiple Video pod camera feeds or screen-sharing or VoIP, etc. Among its purposes, this exercise will help meeting hosts to avoid exceeding the 2GB limit on Adobe hosted clusters for recording size.

Most relevant among the variables considered is the notion that recording size is affected by the streams present in the meeting being recorded. Typically a Video pod with VoIP (640X480) shared per hour will result in an FLV of around 200MB. Sharing a screen in a meeting (1680X1050) will result in an FLV size of around 150 MB. PPT/PPTX files uploaded to a meeting room and displayed while recording will not play a significant part in recording size because the recordings link to external content rather than contain that content intrinsically. For example,  a meeting with two Video pod streams could have recording size of around 400MB and a meeting having a single Video pod stream with VoIP and screen-sharing could end up around 350MB. The actual results may differ as the screen resolution of the publisher, the type of sharing and the amount of movement are all variables that can affect recording size: If there is little movement on screen or in the Video pod stream, the recording size will be less than it would be with a lot of movement.

Here are some concrete examples to use for planning; each recording is approximately five minutes in length:

A meeting with a single video feed for the Presenter to display and scroll through an uploaded PowerPoint file while using integrated telephony:Title: Recording Size Test_0
Type: Recording
Duration: 00:05:31
Disk usage: 8335.3 KB

rec-size1.fw

 

A recording of a meeting with six video feeds and an uploaded PowerPoint file
Title: Planning Troubleshooting and Support Meeting Room _15
Type: Recording
Duration: 00:05:48
Disk usage: 13873.8 KB

rec-size2.fw

 

A recording of a meeting with four video feeds and screen sharing an application with normal activity
Title: Planning Troubleshooting and Support Meeting Room _16
Type: Recording
Duration: 00:05:56
Disk usage: 21660.8 KB

rec-size3.fw

More examples to follow.

How Meeting Folder Permissions Affect Access to a Meeting Room

The question keeps coming up, what happens to Meeting accessibility and permissions if I move a Meeting room from the a User Meeting folder to the Shared Meetings folder?

Let’s look at it from multiple angles beginning with the permissions on Shared Meeting folder itself and then moving to the Meeting room access options and then to the Meeting roles.

1. The Shared Meeting folder itself has two permissions options: Manage and Denied:

sharedfolderperm.fw

If a registered user is granted Manage permission over the Shared Meeting folder by an Administrator, then that registered user can gain (at a minimum), participant access to every meeting in the Shared Meetings folder. Of course, a participant can do very little within a room:

sharedfoldermeeting.fw

Manage permissions on the Shared Meetings folder does not, by itself, allow the power to change room settings. The settings will be viewable but cannot be changed:

editinfo.fw

Clicking save will quickly manifest insufficient permissions:

notauth.fw

Manage permissions on the Shared Meeting folder allows for deletion of  a meeting in the Shared Meetings folder:

delemeet.fw

delemeet1.fw

2. Separate from the Shared Folder permissions, are the room access options under Connect Central for any Meeting Room:

editinfoopt.fw

These Meeting access options do not override the folder options. While a user with Manage permissions over the Shared Meetings folder will still need to enter a passcode if one is set, the manage permissions allow the passcode to be viewed in Connect Central :

passcd.fw

 

passcdview.fw

3, Meeting roles set will not be affected by folder permissions even if the Denied Access is chosen at the Shared Meeting folder level:

denied.fw

A user who has Denied access to the Shared Meetings folder cannot view the the folder Connect Central:

notauth.fw

Meeting access permissions and roles apply however when directly hitting the Meeting URL even if the user is denied access to the Shared Meetings folder:

notstart.fw

in.fw

 

How to Find and Administer a Meeting by Searching on its URL

Problem: Sometimes the meeting library in Connect become quite large and it may be difficult for an administrator to find a Meeting room that has been created by a host.

Solution: Generally a meeting created by a host will be under the user directory of that host (My Meetings for that particular Host), but not always. The User Meeting folder can contain hundreds of different meeting folders and scrolling through them page by page by page in the Connect Central GUI can be laborious.

usermeetings.fw

Next Page…. Next Page…. Next Page…..

nextpage.fw

One simple search trick is to place a number directly in the start parameter of the URL to skip to subsequent pages and user meeting folders. Here I have replaced the starting number of “0″ with the number “500″ and when I refresh the screen it will skip folders and accelerate my search:

start.fw

start500.fw

Note: You may also adjust the rows URL parameter as well: rows=1000

When you want to find a specific meeting to administer and you know the URL, a quick way to find the meeting folder in Connect Central is to use the Custom URL Report under the Administration Tab>Reports>View Custom URL:

customurl.fw

Our labeling of  this search option, “View Custom URL” is really is a bit of a misnomer because you can search for any meeting by its URL whether the URL is custom or automatically generated by Connect in Connect Central; all URLs are obviously unique. Here I search for a meeting URL with the suffix “es” on the platinum domain and it shows me the meeting information which gives me a hook that makes it very easy to find that meeting folder to administer:

searchedge.fw

Now simply take the title of the meeting and place it into the Connect Central search parameter to find the meeting folder:

searchtitle.fw

Connect Central has some great tools even if the possibilities they offer are not always intuitive.

How to completely delete content from a Meeting room

To completely delete content from any meeting room there are at least two places and possibly a third place in Connect from which you must delete it.

The first place is the most obvious and it is in the Meeting room itself under the Pods menu and Manage Pods option:

del-con.fw

del-con1.fw

The second place is in the Uploaded Content directory under the Meeting Information. To get there from a Meeting room, a host and owner can click Manage Meeting Information under the Meeting tab:

del-con2.fw

Then go to the Uploaded Content tab:

del-con3.fw

The third possible place is the Content Library. If you uploaded or published to the Content Library and pointed the share pod to it, you will need to go to the Content Library to delete it. If you uploaded directly to the Meeting room then you may skip this step:

del-con4.fw

Adobe Connect Database Disaster Recovery Options

Having a good recovery strategy allows for recovery of data in case of unforeseen events such as user error, hardware failure, drone strikes and fecal tsunamis. There are three recovery models:

  • Simple Recovery
  • Bulked Logged Recovery
  • Full Recovery

Simple Recovery is the most rudimentary. When the DB recovery mode is set to simple, the transaction log does not get backed up. It is auto-truncated and you can only ever recover to a full db backup; this builds-in the potential for data loss as a point-in-time recovery is not possible. Generally, the Simple Recovery option is recommended for development or test environments where data recovery is not critical. It is also a good strategy for a novice DBA as you don’t have to worry about a detailed backup and restore plan/jobs. Mission critical databases should never be in simple mode, but for non-mission critical deployments it is a low-overhead alternative.

The Bulk Logged Mode is not very commonly used. When the DB recovery mode is set to Bulk Logged, bulk operations are only minimally logged (Select Into, Create Index, etc.). This results in in reduced log space consumption. The shortfall is that if the last transaction log has bulk operations in it, then point in time recovery is not possible; if it does not have bulk operations in it, then point in time recovery is possible. While it may be prudent to switch full recovery databases temporarily into Bulk Logged Mode for the purpose of re-indexing a very large database, be sure to always switch them back as critical databases probably shouldn’t be in Bulk Logged recovery mode.

Full Recovery Mode is the default recovery model and is the most granular. When the database recovery mode is set to full, everything get’s logged to the Transaction Log resulting in greater log space consumption. Point in time recovery is possible in full recovery mode. This is the recovery model most users should choose for production data. By using this recovery model with regularly scheduled full backups, differential backups and transaction log backups, it allows for quicker point in time recovery.

Choosing a backup and recovery plan is relevant to the following criteria:

  • How important is the Data? The more important the data, the more likely you will choose full recovery and schedule regular full backups, differential backups and log backups.
  • How often does the data change? How busy is the Connect server?
    If the data only changes frequently during normal business hours, scheduling log backups closer together during these times and further apart during non business hours might work out.
  • How much space do you have available for backups? This could determine how many backups will you store and how often will you back up.
  • How quickly do you need to recover data? If recovery speed is not important, but point in time is, you might choose not to do any differential backups and just do Full nightly backups and regular transaction log backups.

Based on the answers to the previous questions, you should be able to determine a backup plan that fits your needs. Remember to test the recovery of your backups regularly.  Backing up is useless if backups are corrupt or not working correctly.

Another important consideration is with the timing of backups. Keep in mind that performing backups is resource intensive.  To help determine an appropriate schedule of your backups, consider the ongoing activities on the Connect servers.

If  you want to focus on recovering data in case of fire or natural disaster then you you should consider storing the backups offsite.  Many savvy DBA’s they keep a predetermined number of current backups on site and also ship the backups offsite (tape or network).  They might choose to keep five current backups onsite and as many as 30 offsite.

SQL 2008 has backup compression allowing you to save on disk space, but it comes with a cost of speed. Choose the compression level that suits your speed of backup. Third-party products offer backup compression as well.

Consider also the various high availability options:

  • SQL clustering relies on Windows clustering. It clusters the entire server not just the database. The fail-over is slower than mirroring and doesn’t provide a fail-over against disk failure.
  • Mirroring (http://msdn.microsoft.com/en-us/library/ms189852.aspx) is a faster fail-over solution. The Connect SQL driver has the ability to choose a fail-over server. This can be done at the DB level.
  • Log Shipping ships completed transactions to the log shipped database; this can be done on the database level and requires manual intervention to fail-over as the log-shipped db is considered a warm DB

Note: Replication is not a recommended option.

Adobe’s Hosted infrastructure uses a hybrid high-availability strategy. We use database mirroring as the primary fail-over solution.It provides faster fail-over and does not have a single point of failure as does clustering which relies on the single disk. We also use log shipping as a secondary fail-over solution. In the extreme case that all mirrored databases go down, the log shipped database can be used with some user intervention: Break the log shipping, take the database out of standby mode and point the Connect server to it.