Social API – Tag Patterns and other optimization thoughts

Generally, I find developers implementing scenarios, such as “As a User, I need to iterate over X Social API, so I can find the right content.”  The scenario implies that the social metadata is included, however many developers iterate over the entries in the feeds to discover the Tag metadata.  If you read the documentation parameters, you can find optimizations to include metadata in the feed request, such as:


boolean Yes Specifies whether or not the tags that are displayed on the file welcome page are included in the returned Atom document. This parameter takes a Boolean value of either true or false. By default, the tags are not returned.

The URL Parameter that reduces the total number of requests needed. For instance, the request for a each of the 10 entries in a feed, and then the tags for those 10 entries appears to require 11 API calls with the includeTags=true it can be accomplished in one request.

You can also optimize the request by manipulating the page size – 1,10 or 25.

In some cases, you can further optimize with batch requests when creating content. Example, the Activities API enables batch deletes of Members or the OpenSocial ActivityStream API which enables batch creation of updates.

Swagger Enumerations in YAML

Recently, I have been spending time looking at the Swagger 2.0 Specification.  There XML representation and Enumerations are tricky.  Here is an example of a Swagger Enumeration in YAML.

You can test the YAML at!/default/get_demo


Swagger with Enumeration
Swagger with Enumeration


Updated the API Explorer

If you have used the IBM Connections Cloud API Explorer, you notice the new Bootstrap based theme and consistent menu.  The API Explorer is still the same with new menus and top nav look and feel and a consistent Font. The default page is focused on the Explorer page.

I updated the Playground with a Bootstrap, changed some logic on the API Page, also the default page, and provided new names for the the Environments available for your testing. I cleared out all the old environment configurations, and you only have Cloud, Cloud – Test, and On Premises (Domino and Connections) options.   You are no longer able to create your own environment, these are the only four enabled, if you need to create one, please reach out to me directly.

IBMers, and those using SAML authentication with IBM Connections Cloud, you are not able to use the IBM Connections Cloud API Explorer, please reach out to me internally and we can get you access.

You’ll notice the theme matches the API Wiki and the Developer Blog.

IBM Connections Cloud API Explorer
IBM Connections Cloud API Explorer

Watson’s New Bluemix Services – Text and Speech

I, and other members on my team, have been using IBM Bluemix to build out services, samples and demonstrations.  You might have seen those features in the Opening General Session at IBM ConnectEd and at Miguel Estrada’s presentation – AD202: Build Your Own Apps in Minutes Leveraging IBM Bluemix and IBM Connections.

As a developer, it’s super easy to add services to an existing application.  There are a few new services that came to my attention (I follow the Bluemix Blog) – the new Watson Services.  Two services in particular seemed like a good playground – Text-to-Speech and Speech-to-Text.

I see many possibilities when you start connecting user generated content (Activity Streams) with these services.  I can’t wait to start playing around with it.

FYI, the documentation is exemplary

IBM ConnectED 2015 – Day Three Questions

Day 3 in Orlando started early – pre first cup of coffee for some of my team.  I joined <a href=””>Joe Russo</a>, <a href=””>Miguel Estrada</a>, <a href=””>Kirti Gani</a> and <a href=””>Vijay Francis</a> at the IBM Connections Developers ChalkTalk.

The ChalkTalk was very well attended for 7:00 AM on the last day of the conference – partners, customers and developers came with questions, comments and thoughts.

The ChalkTalk had a wide range of questions ranging from User Interface, to tapping IBM Developers, to chats, to OSGI plugins and to our website – <a href=””>IBM Connections Developers</a>.

After the ChalkTalk, I demoed to a customer the <a href=””>API Explorer</a> and she had a simple request for a quick curl command to easily see an operational command.  It’s a fair point, and we are considering it for the <a href=””>Social SDK</a>.

In Between the ChalkTalk and <a href=””>Meet the Developers</a>, I answered a few question.

I have an SBTSDK question.  How do I get the data out of a JsonJavaArray, how do I use it?
You can always browse github and search for the java source you’re interested in and find the code.
JsonJavaArray is java lang iteratable.
JsonJavaArray jja = …
for(JsonJavaObject jsonObject : jja){
… process the object …

I ran into an issue with Maven/Liberty and the photosharing app. What can I do to fix?
If the user starts the web app on Liberty, and receives the following error in the Liberty Console. SBTFilter class not found.

Then the user should switch to the Error Log in the Eclipse J2EE perspective

Expand the folloing error, click on class path

Click Ctrl + 1 (Quick Fix)

I have a wiki that I am using via API.  How do I tell if the user has edit capability?
The docs describe this well.  The doc uses an enclosure link that rel = edit if the users has the ability to comment or post.

I also helped a partner debug an OAuth Provider issue.  If I get a lesson learned, I’ll post a blog for you all.

I attended the Ask the Developers and the Product Managers. I sat in the front row waiting for an AppDev question that needed my expertise (after looking at the people on the stage that need was near zero).  Did you expect anything less from that session?  I did not.  It was also cool to see <a href=””>Pags</a> called up to the stage to answer cool domino questions.

From “Ask The”  I went with Miguel to Social File Sharing presentation and copresented with Miguel on our experimental Bluemix service.  More information to come on the site.