Posts in Category "XML API"

Error while uploading license file “there is already another item with this name”

This applies to On-Premise accounts only.

In rare situations, you may face a problem while uploading the license file in Adobe Connect.

Error: “There is already another item with this name”.  While checking the debug.log you find below (or similar) log snippet

[06-30 14:18:06,893] console-8510-6 (INFO)  1ms spid:332 com.adobe.connect.dal.PrincipalDAL.getGroupByType(“7”,event-admins)

[06-30 14:18:06,894] console-8510-6 (INFO)  1ms spid:332 update com.macromedia.breeze.model.AclEntry(“7″,”30″,”11016”)

[06-30 14:18:06,895] console-8510-6 (INFO)  1ms spid:332 com.adobe.connect.dal.ConsoleDAL.getShortcutScoByType(shared-training-templates,7)

[06-30 14:18:06,896] console-8510-6 (INFO)  1ms spid:332 com.adobe.connect.dal.ConsoleDAL.updateScoURLPath(“/f1185513619/”,”11020″)

[06-30 14:18:06,898] console-8510-6 (INFO)  0ms spid:332 com.macromedia.airspeed.db.SQLServerUtilityQueries.setIsolationLevel(Disable Isolation)

[06-30 14:18:06,899] console-8510-6 (INFO) Response status: invalid/duplicate

We can find from the logs that it is pointing to Shared-training-templates and giving us a url_path “/f1185513619/” and sco-id “11020“.

Get path details from this api: [Connect domain]/api/xml?action=sco-nav&sco-id=11020

Get to this path and rename the training template folder.  Re-upload license file.  This should resolve the issue.

New Adobe Connect Support Blog Subscription Option

Now you can stay on top of the new articles and posts by subscribing to the Adobe Connect Support Blog. Simply go to the Adobe Connect Support Blog home page and enter your email address and check off the categories about which you would like to be notified. Click “Subscribe me” and you will begin receiving  regular updates:

subscribe.fw

 

 

On-premise Connect without Webinars Throws an Error when Moving Meetings

On-premise Connect customers running version 9.5 who do not have the Webinar option enabled will see an error when trying to move meetings via the GUI in Connect Central:

Webinar95Bugon-prem.fw

This will be fixed in an upcoming release and in the meantime we have two workaround options:

Adobe Connect ID’s are changing from INT to BIGINT

UPDATE: THIS ARTICLE IS FOR XML API DEVELOPERS ONLY.  If you are not using the XML API with Adobe Connect to write your own custom built applications that integrate with Adobe Connect, please do not worry about the message below as it will not apply to you.


Due to the growing popularity of Adobe Connect, more and more customers rely on Adobe Connect for their collaboration needs and this naturally requires that we make adjustments to accommodate the growth.  We want to make you aware of an upcoming adjustment to the ID values in Adobe Connect databases to support longer values which will accommodate growing customer use of Adobe Connect.

What is being changed?

Starting with release 9.5.2, Adobe Connect will migrate the ID values in Connect databases from INT to BIGINT/Long.

What is the impact?

This change will impact any applications using Adobe Connect Web Service APIs.

How will Adobe Connect Web Service APIs be affected?

The change is for those APIs which consume/return id values i.e. which have a parameter in request/response which is an Id. (examples: sco-id, account-id, folder-id, etc).  The id fields in such APIs would return/accept larger values. The support and behavior of existing APIs remains same.

What does this mean for you?

In case you are interpreting ids as integers the new values might overflow. We strongly recommend using strings to represent id values. In case you still need to represent/store ids as a numeral please use integral data type with higher capacity. (Preferably 64 bit)

What is the timing?

We expect to release Connect 9.5.2 in the first quarter of 2016, so the change should be made as soon as possible in order to be ready prior to the release.

Terms of Service Notification on Adobe Connect Hosted Accounts

Changes made to the Adobe Connect Terms and Conditions (ToS) in Connect 9.4 are related to the new licenses introduced in Adobe Connect 9.4. Note that the first administrative login will be presented with the ToS dialog. If the first administrative login is an automated API call, this call will fail until the ToS dialog is manually cleared.

22.6: “Named Virtual Classroom Manager” means an individual that has the ability to host a Meeting in a Virtual Classroom, track user completion and course results for Meeting Attendees in Virtual Classrooms, and manage advanced registration, branded event pages, and email options. A Named Virtual Classroom Manager is a type of On-demand User.

22.7: “Named Webinar Manager” means an individual that has the ability to host a Meeting with Meeting Attendees up to the number of seats purchased, as well as manage advanced registration, branded event pages, email options, and reporting.  A Named Webinar Manager is a type of On-demand User.

The new licensing options were also added to sections 2.1, 3 and 19, and 20.  Similarly, in line with the new licensing, we also exchanged the term ‘seminar’ for ‘webinar’ in several locations.

For more information on Adobe Connect 9.4, see http://blogs.adobe.com/adobeconnect/2015/03/introducing-9-4-2.html.

XML API TIPS: Moving Archives That Have Been Repaired

One common workaround that customers do (or Adobe support may do on behalf of customers) to fix recordings that have some sort of sync or playback issue, is to download the archive (recording) zip, potentially run it through a repair tool, and then re-upload the zip package back to Connect as a content object in the ‘Content’ directory.  A common request may be to move that archive from the Content directory, to another location or even back underneath the Meeting’s ‘Recording’ directory.  The problem is that with failed recordings (recordings that didn’t fully process) and/or re-uploaded recordings, they will not have a ‘date-end’ parameter for the sco, like normal recordings do.  So when you try to (for example) move the archive to the original Meeting’s Recordings directory (which can really only be done using the API), you will get the following error:

API Call = Sco-Move:

/api/xml?action=sco-move&sco-id=xxxxxxx&folder-id=xxxxxxx

where sco-id = the sco-id of the re-uploaded archive
where folder-id = the sco-id of the original meeting (which is also the sco-id of the Recordings directory for that meeting)

Result:

<results>
<status code=”invalid”>
<invalid field=”sco-id” type=”string” subcode=”recording-is-in-progress“/>
</status>
</results>

This is because the sco does not have a date-end param/value.  You can see this by running the sco-info call on the sco-id.  You will see no date-end.

What you need to do before you can move the sco, is set a date-end param using the sco-update API.  You would set the date-end value to some date in the past.

Here is an example:

/api/xml?action=sco-update&sco-id=xxxxxxxx&date-end=2015-01-01T12:00:00.000-04:00

Result:

<results>
<status code=”ok”/>
</results>

Now, when you do a sco-info on that sco you should see the date-end param and value.

You can now also move the recording to it’s desired location (say back to the Meeting’s recording directory):

/api/xml?action=sco-move&sco-id=xxxxxxx&folder-id=xxxxxxx

Result:

<results>
<status code=”ok”/>
</results>

The Adobe Connect API Accepts Special Charaters (+,$,# etc) if Executed with Encoded Values

Description : The Adobe Connect Web Services API accepts special characters such as (+,$,# etc) if you encode the characters. For example:

If a user Login employs the credentials shown below on the User Interface, it will work without issue.
User Name :- abc+def@adobe.com
Password :- Passw0rd

However, when the user uses the following API “/api/xml?action=login&login=abc+def@adobe.com&password=Passw0rd”

The plus sign is interpreted as though it were a space and the Login looks like this “abc def@adobe.com” resulting in the following:

  • <results>
  • <status code=”no-data”/>
  • </results>

In order to employ these special characters, you must encode them and then execute the API.  For instance in the above case we will execute an API as shown below :

/api/xml?action=login&login=abc%2Bdef@adobe.com&password=Passw0rd

Special character encoding reference information is found under URL :- w3schools  This reference is useful for those users who are trying to run API with special characters.

XML API TIPS: Moving Virtual Classrooms to Meetings

You may have a situation arise where you want to move Virtual Classrooms (VCs) over to the Meeting area of Adobe Connect.  You may notice that if you try to move Virtual Classrooms, you only have the ability to move them within the confines of the Training module and not out to the Meetings area if you are using the UI.  There is an option however.  The API can be used to move VC’s either one by one or an easier way is to put them all into folders inside of the training area (in either Shared or User training folder) and then move the folders themselves (which in turn will move all the VCs inside of it).

The API process for doing this is:

https://{connect domain} /api/xml?action=sco-move&sco-id=xxxxxxx&folder-id=xxxxxxx

where:

sco-id = the sco-id of the VC (or folder that contains all the VCs you want to move)
folder-id = the folder-id of the destination folder you want to move the VC to.

** DO NOT move any main User Training folder or the Shared Training folder itself. ONLY move user-created folders or individual VCs themselves.

 

The process is not done however.  For each VC you move, you have to do one more step.  You need to change the icon of the VC to a meeting icon.  If you do not do this, the VC’s will NOT launch.  You won’t even be able to get to the information page for the VC once it’s moved.  The link to the VC information will simply refresh the meeting list page if you do not change the icon.

To finish the process change the icon by making this call:

https://{connect domain} /api/xml?action=sco-update&sco-id=xxxxxxx&icon=meeting

where:

sco-id = the sco-id of the VC you just moved.
icon=meeting

 

Now, the VC link will work and you will be able to get into the information page and access the links, content, reports, and archives.

Your application can handle building a list of VCs to move by using the sco-contents or sco-expanded-contents API calls (filtering on ‘icon=virtual-classroom’) to list out all VC’s in a specific folder or across the account as a whole, should you want to move everything for example.  Then your application would loop through and not only move the VCs but then also loop through each and change the icon.  If you only want to move one or two, you can simply do this in the browser with the API calls above.

It’s important to note that the uploaded content and any archives associated with this will be retained, HOWEVER in the reports, you will notice you are missing the ‘By Course’ report.  That is LOST with the move.  ‘By Course’ report is essentially the difference between a meeting and a VC.  So if you move VCs to meetings, that report is gone.  You still will have ‘By Attendees’ , ‘By Session’, and ‘By Questions’ (which are poll pod questions, not courses) reporting that will be retained.

Of course moving meetings to training will work the opposite way.  You finish that process off by changing the icon from ‘meeting’ to ‘virtual-classroom’.

 

XML API Tips: Internal-error When Executing Reporting Calls

Periodically when executing a reporting API call, you may get an unexpected return as shown below:

<results>
<status code=”internal-error”>
<exception>java.sql.SQLNonTransientConnectionException: [Macromedia][SQLServer JDBC Driver][SQLServer]Cannot open database “XXXXXXXXX” requested by the login. The login failed.</exception>

</status>
</results>

Where the ‘XXXXXXXXX’ would be the database name of the database your request was trying to hit.

This is expected if you are making one of the ‘reporting database API calls‘ during the exact time that the db is locked for a small restore.  As previously discussed, the reporting database is not real-time. It is synched occasionally and can be behind by as much as 24 hours.   That error (you would see it in the logs and in your response) is thrown when the DB is being restored.  When the db is being restored, the DB is locked down and the result will be a failed login (internal-error).  The reporting DB is log shipped every 15 minutes.  So every 15 minutes there will be a small restore.  All you’re application needs to do is retry when you get that message.  It could be as much as a minute of downtime, but most of the time is less.

 

XML API Tips: Reporting API Calls and the Reporting Database

One common question from API developers revolves around the existence of our reporting database vs our production database on Adobe’s Hosted platform.  There are a few API calls that will hit the reporting database rather than production, to retrieve information.  This is by design and is to prevent some of the more expensive APIs from being run on a multi-tenant environment’s production database.  The current calls that are redirected to our reporting database and not to our production (real-time) database are:

/api/xml?action=report-bulk-consolidated-transactions
/api/xml?action=report-bulk-objects
/api/xml?action=report-bulk-questions
/api/xml?action=report-bulk-users
/api/xml?action=report-bulk-slide-views

As you can see, these are all the ‘bulk’ API calls.  There is one additional call that is currently (as of Adobe Connect 9.2.2) being directed to the reporting database rather than production, and that is:

/api/xml?action=report-quiz-results

This action will be shifted to the production database in the next major release of Adobe Connect.

The reason this is important is that the reporting database is not real-time like production.  It is delayed, sometimes up to 24 hours.  So it is recommended that if you need to have real-time information in your application, you avoid making the calls above and use other APIs to retrieve the desired data.