Posts in Category "Install"

Verifying the Installation of the Adobe Connect Add-in

The Adobe Connect Add-in is a modified Flash Player that enables enhanced features for Adobe Connect Meeting. The add-in is not required unless the following functionality is needed in any Adobe Connect Meeting:

  • Screen sharing a client desktop, window or application
  • Offline recording downloadable to the client in the FLV format
  • Sharing any supported file by dragging and dropping onto a Meeting share pod
  • Toast windows for Meeting management are enabled within the add-in
  • The add-in provides greater real-estate for the Meeting by eliminating the browser and actual room itself

If you are in a Meeting room using the browser and the standard Flash Player instead of the Meeting add-in, you will see the following appended to the meeting room URL: ?launcher=false

FP.fw

If you are in the add-in, the URL line is not even seen as that real-estate is allocated top the Meeting room:

addin.fw

The add-in is always launched from a browser:

brow-addin-launch.fw

To force the installation and invocation of the add-in, append the following to any Meeting URL: ?lightning=true

If while using the browser in any Meeting, you invoke a feature that is only supported in the add-in, the lightning add-in installer will quickly offer you the option to install the add-in. The process is very fast and seamless. By default, the add-in is installed from the following external URL: http://www.adobe.com/go/adobeconnect_9_addin_win

Within any Meeting room you may also go to Help>Downloads and see links for the add-in among many other resources:

help-about.fw

https://platinum.adobeconnect.com/common/help/en/support/downloads.htm

dwnlds.fw

If your organization does not allow clients to download software from external servers, you can host Adobe Connect Add-in on-premise.

The add-in installs to the client’s user profile so it does not require local administrative privileges to install. It is safe to say that if a user has the required permissions to download the standard Adobe Flash Player and install it, the Meeting add-in will not present any problems as it only requires standard user rights. There are, of course enhanced security requirement enforced in many infrastructures that will prevent a user from downloading and installing the add-in and where the add-in will need to be rolled out by an internal IT or client/network administration team as part of a standard image.

The addin is installed to the following under the user directory:

  • Windows: %appdata%\Macromedia\Flash Player\www.macromedia.com\bin\adobeconnectaddin
  • Mac: ~/Library/Preferences/Macromedia/Flash Player/www.macromedia.com/bin/

If installation is successful, within the Adobe Connect addin installation directory there will be four files:

  • adobeconnectaddin.exe  (the primary executable file)
  • digest.s (the file used by Flash Player to verify that the add-in has not been modified)
  • meetingconvertor.dll  (the file used to manage PPTX file fidelity)
  • connecthook.dll  (the file used to manage screen sharing)

A partial or corrupted installation of the add-in will be missing some or all of these files.

On occasion, the mms.cfg file will cause problems with the add-in it is found in the following directories:

  • Windows 32: C:/Windows/system32/Macromed/Flash (32-bit Windows)
  • Windows 64: C:/Windows/SysWOW64/Macromed/Flash (64-bit Windows)
  • MAC: MainDisk:Library:Application Support:Macromedia

Renaming the mms.cfg to mms.old and reinstalling the add-in solves installation problems in some cases. For information about the mms.cfg file and how it can be used for troubleshooting issues within an Adobe Connect Meeting, see the following technote: http://helpx.adobe.com/adobe-connect/kb/enable-logging-acrobat-connect-professional.html

On-premise Adobe Connect Servers and Java

The question occasionally comes up: May I freely update Java on my Adobe Connect on-premise server?

And actually this question should be split into two questions:

  • What version of Java may I use?
  • What update of that version may I use?

It is important to keep these two questions separated because going from 1.6.0_37 to 1.6.0_45 is different from (more trivial than) moving from Java 6 to Java 8 (whereby compatibility issues could result).

With reference to the shipping version with Connect, our standard is Java 7, and has been since 9.1.1. Since we make every effort to keep Adobe Connect up to date with its surrounding infrastructure,we will evaluate a move to Java 8 going forward, as eventually public Java 7 updates will come to an end.

With reference to the updaters, Oracle releases quarterly Critical Patch Updates (see http://www.oracle.com/technetwork/topics/security/alerts-086861.html), and we have been striving to keep up with these (although our release cycle does often mean that we are one or two quarters behind so as to allow for time to fully test). The version being packaged with 9.4 is 1.7.0_71, the Critical Patch Update from Oct 2014.

While we  don’t believe there is any particular compatibility issue with moving from JRE 6 to JRE 7, nevertheless we do not recommend that customers update the JRE separately from Connect itself. There are multiple reasons for this:

  • We have uncovered JRE bugs in the past during our performance/longevity tests.
  • We also moved from 32-bit JRE to 64-bit JRE and this necessitated sizing changes (heap size etc.).

Heap size is an important variable that warrants performance testing to ensure that the sizing is adequate for the target JRE version. All this is due diligence is done as part of our packaged Connect builds; by updating outside of our quality assurance and performance testing cycles, you add unnecessary risk. It is best to take full advantage the battery of testing accomplished by the Adobe Connect engineering team; by upgrading the JRE separately, you will create an infrastructure with variables that have not been fully tested and thereby assume commensurate risk.

Make Certain that Content is Replicated Across All Servers in a Connect Cluster

Occasionally a specific piece of content may be intermittently available in a cluster. It could be Presenter or Captivate published on-demand content or even content within a Meeting room. Sometimes in these cases, the content published on one server is not replicated to all servers in the cluster. There are a few quick things to check:

First: Note that with Adobe Connect 9, the installer includes a cluster option. If you begin with a single server installation and expand later to a clustered environment by adding a server or servers, you will need to manually make the following change in the /appserv/conf/server.xml file in order to enable communication over port 8507 among clustered servers. It is prudent to double check this in the server.xml file after installing even if the cluster option was selected during installation:

<Executor name=”clusterThreadPool”
namePrefix=”cluster-8507-” maxThreads=”150″
minSpareThreads=”5″/>

<!– Define a non-SSL HTTP/1.1 Connector on port 8507 –>
<!– Used for HTTP access for intra-Cluster communications. –>
<!– Equivalent to JRun CLUSTER_PORT –>
<!– Uncomment for clustered deployments
<Connector port=”8507″ protocol=”HTTP/1.1″
executor=”clusterThreadPool”
enableLookups=”false”
acceptCount=”100″
connectionTimeout=”20000″
URIEncoding=”utf-8″/>

Second: Test the 8507 port communications on each server: From a command prompt on each server, type netstat –an|find “8507” and check to be sure that 8507 is active and listening on each.

netstat -an|find “8507”

netstat.fw

Use telnet to test connectivity on  8507 between Connect servers. Use telnet to check both IP and machine-name as well.

telnet server-machine-name 8507

telnet 8507.fw

Note: The machine name appears to the left of the FQDN under the Connect Servers Setting on port 8510 locally on any server in the cluster; here I have artificially designated them as server1 and server2.

serversettings

Be sure to check telnet connectivity from and to every server in the cluster:

telnet 8507.fw

If the IP works with telnet and the machine-name does not work, it may be necessary to add entries in DNS or add hosts files to each server:

etc-host.fw

Check the software-based firewall on the server to see if it is potentially blocking replication traffic:

netsh firewall show config

firewallsftwr.fw

win-firewall-svc.fw

Note: Connect does not support dual stack ipv6 and ipv4 on the same server.

Note: If problems are noticed in the Meeting rooms, check port 8506; it is used for Meeting communication among the servers.

Third: Examine the Connect logs: Look first in the debug.log under the \logs\support directory and search on the string: cluster-  If replication is taking place, you will see this repeating cluster- entry logging the replication activity. Absence of these log entries will indicate that replication is not working:

[10-1 12:00:00,009] cluster-8507-630 (INFO) CLUSTER Sent file: \7\xxx-xxxx\fcs-meeting\public\all\224_XXX_4.fso 9978 bytes 12 ms 6371 kbps to: server1

cluster-debug.fw

Check for any error messages in these replication log entries. Search also for the word lucene. If you see a preponderance of lucene lock errors, contact Adobe Enterprise Support: entrsupp@adobe.com and provide a log snippet to expedite diagnosis.

Also check the error.log files for the entry  CLUSTER_CON_BROKEN

2014-10-02 15:28:48 “Server server1 unable to reach server2 on port 8507 to perform cluster operations.” CLUSTER  CLUSTER_CON_BROKEN

Fourth: Check the timing of active anti-virus scanning of the content directories \content\7\ on each server; compare the directory sizes on each server to see is there if a significant size delta. Antivirus software can impede replication in manner that is not uniform across servers; active scanning of the content directory during replication may lock the content files. Active scanning after hours or during a window when publishing is unlikely is prudent.

Fifth: Check the updater page. Make sure you are on the latest patches servers-side. http://helpx.adobe.com/adobe-connect/kb/connect-90-patches.html Keep in mind that 9.2 is a full installer and not a patch. For full installers, use LWShttps://licensing.adobe.com

These steps will solve most replication problems that you encounter. If problems persist, contact our  Enterprise Support Team.

Connect 9.2.1 and higher, on-premise: Deployment Options during install

When running the installation of Connect 9.2.1 (and higher) when you get to the step “Select Deployment Options” you can specify to deploy the services under “Local System Account” or to specify an existing user account.

 

InstallDeployOptions

One common reason to specify a user account is when using shared storage. The Connect service needs to have access to the network share specified in a later step during installation.

It is necessary to grant this user account “log on as a service” rights, otherwise the Connect, FMS, FMG services set to run under this user account will not start.

Here’s how to grant a user “log on as a service” right.

  1. Go to “Control Panel”, “Administrative Tools”
  2. Expand “Local Policies”
  3. Expand “User Rights Assignment”
  4. Find the Policy called “Log on as a service” and double click on it.
  5. Select “Add User or Group” and add the user account under which you want to deploy the services.

LocalSecurityPolicy LogOnAsService_addUser

 

Alternatively you could also install with the local system account option first, then go to the windows services and change the account under which the service runs from there. This way Windows would automatically assign the missing “Log on as a service” right.

To do so, go to “Server Manager”, “Configuration” and “Services”. Find the “Adobe Connect Service”. Right-click the service name and select “Properties”. Specify the user account / password under the tab “Log On”, when you hit apply you’ll get a message that “Log On as a service” right has been granted to the user account.

viaWindowsServices

 

 

Testbuilder Status’ Explained

When setting up an application-level health monitor (blog) on your LTM, you would point to the testbuilder diagnostic page at:

/servlet/testbuilder

As the previous article explains, ‘the testbuilder page will send back the “status-ok” string.  If there is any problem with the Connect server application, then testbuilder will not report the “status-ok” string’.  Expanding on this a little bit, the following (below) are the actual status’ and possible scenarios you may see:

STATUS_OK = 0;
STATUS_CRITICAL = 2;
STATUS_MAINT = 3;
STATUS_TEST = 4;

 

STATUS_OK = 0;
This means the server is fit to work (status-ok). Server status in PPS_ENUM_DATA_HOST table is neither ‘X’, ‘M’ nor ‘T’ and server is initialized.
This is what load balancers should look for health check.

STATUS_CRITICAL = 2;
Server is not fit to work (status-critical). Server is not yet initialized (during start up), or has server status of ‘X’ in PPS_ENUM_DATA_HOST table.
This is also triggered if no connection to database can be made.

STATUS_MAINT = 3;
Server is in maintenance mode (status-maintenance). Has server status of ‘M’ in PPS_ENUM_DATA_HOST table.
Active server can be put to maintenance mode and vice versa.  No new meetings will be run on this server, but currently active meetings will run until ended.

STATUS_TEST = 4;
Server is in “server isolation” mode (status-testing). Has server status of ‘T’ in PPS_ENUM_DATA_HOST table.
Used to put server in separate zone from other servers in cluster. This is hosted feature that is not actively used in production.

Update/Renew your licenses on Connect on premise installation

Upon few requests I’m listing the steps to renew/update your licenses on the Connect server installation.

Conditions in which these steps should be followed :

  • If you have purchased additional licenses on your existing Connect account and you wish to update them on the server
  • You have an Adobe Connect server installation on your own premises
  • You want to update additional license on your existing license key and not a completely new serial key

Please follow the below steps to update your license file on the server :

  • Goto the Connect server and launch the Admin Console :  http://localhost:8510/console
  • Navigate to the License Settings tab
  • Click on the First link which says : Download your license file from Adobe
  • It is necessary to download a fresh copy of your license file after renewal or on purchasing additional licenses to see the refreshed additions.
  • Once it is downloaded Click on Browse on Step 2 and upload the file just downloaded
  • Save the page and your license should be refreshed.

license-update

If you have a clustered environment setup for the Connect servers, it is not necessary to apply these steps on all the servers.Doing it on any one of them is sufficient as it updates the settings in the DB.

Hope you would find this article useful when you want to update your licenses next time.

 

 

What files to download from LWS for Connect server installation/upgrade

I have received requests from some users to publish what all files are necessary to be downloaded when planning to do an install or upgrade on Adobe Connect server. I know this should have confused many of us, but here I’m listing the required files.

Environment – On Premise

  • Login to your LWS account : http://licensing.adobe.com
  • Goto Licenses > Downloads

LWS-1

  • Choose your product : Connect Lic General
  • Choose the desired version. I am choosing version 9 here
  • Click on Connect Lic General hyperlink at the bottom

LWS-2

  • Download both the highlighted packages for the installation

LWS-3

  • The All Platform Multilanguage/NA package contains the actuall installer files
  • The All Platform Package extractor is the extractor utility specially bundled with the installer and only this utility should be used to extract the installer files

 

I hope this makes the download process simpler for your install/upgrade next time.

 

Adobe Connect 9.2.2 Patch Now Available

The Adobe Connect 9.2.2 On Premise (Licensed) patch is now available for download at:

http://helpx.adobe.com/adobe-connect/kb/connect-90-patches.html

This download includes deployment instructions. It is intended for installation on Adobe Connect servers already running 9.2, as this is a patch (not a full install).

 

 

Connect on-premise Server: Configure additional ports for RTMP traffic

By default the meeting server (FMS) in Connect binds to port 1935.  Here’s how to add additional ports like port 80 for use with the meeting server.

This should work with all versions of Connect.  I am assuming you would like to use port 80 and 443 in addition to 1935  (all in rtmp, no encryption).
As Connect consists of two servers, the application server (Tomcat) and the meeting server (FMS) you need to configure a second IP address and FQDN in order to bind two services to port 80.  Make sure your new FQDN resolves to the new second IP address. The second IP and FQDN will be used for the meeting traffic.

I am using these values in my setup:

Application Server: connect912.adobe.com – IP 10.1.1.1
Meeting Server: connect912meeting.adobe.com – IP 10.1.1.2

So here we go:

  • Make sure you can ping both names and they resolve to the correct IP addresses.
  • Open the server console and set the new meeting server FQDN in the “external name” field and save your changes.

In my setup this is connect912meeting.adobe.com:

consoleExternalName

 

  • Configure the meeting server to listen on the new IP:Port.

In my setup I am adding port 80 and 443 in addition to the default port 1935.

Open the custom.ini (by deault  in C:\Connect\9.1.1\ if running Connect 9.1.x) and add these lines:

DEFAULT_FCS_HOSTPORT=10.1.1.2:80,443,1935
RTMP_SEQUENCE= rtmp://external-host:1935/?rtmp://localhost:8506/,rtmp://external-host:80/?rtmp://localhost:8506/,rtmp://external-host:443/?rtmp://localhost:8506/

Replace 10.1.1.2 with your meeting server IP address and also make sure the RTMP_SEQUENCE is in one line. Save the changes.

  • Restart the services, FMS and Adobe Connect service.

Once the services are back up and running you should be able to start a new meeting.  If there are no firewall restrictions a meeting should connect on the first port listed in the RTMP_SEQUENCE. In this example port 1935.
To test the connection on the other ports, block outgoing connections to port 1935 on your client firewall.  If the meeting is still open on your client it should briefly disconnect and reconnect on the next available port. In my setup this would be port 80.

You can check which port you are connected to in a meeting by holding down the shift key and clicking “About Adobe Connect” from the help menu (top right in your meeting).

AboutAdobeConnect_RTMPSequence

 

 

update (03/04/2014): 

It appears that with version 9.2 you also need to specify the IP address the application server binds to. By default it binds on 0.0.0.0:80, so on all available IPs on port 80.With Connect 9.2 I have come across an issue where the application server does not properly create a listener when port 80 is used for the meeting server as well.
The easiest way around this problem is to specify the IP in the application server config so it starts a listener on this one IP only.

In the server.xml in \appserv\conf\ find this section:

    <Connector port=”80″ protocol=”HTTP/1.1″
            executor=”httpThreadPool”    
           enableLookups=”false”
               acceptCount=”250″
               connectionTimeout=”20000″
               redirectPort=”443″
               URIEncoding=”utf-8″/>

And add your application server IP address:

    <Connector port=”80″ protocol=”HTTP/1.1″
            address=”10.1.1.1″
           executor=”httpThreadPool”    
           enableLookups=”false”
               acceptCount=”250″
               connectionTimeout=”20000″
               redirectPort=”443″
               URIEncoding=”utf-8″/>

Save the change and restart your services once again.

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.