Prior to adding this to JIRA for Shindig I wanted to run it by the community to 
see if anyone else has seen this before or if I might be interpreting the 
OpenSocial API incorrectly.

I created a gadget which declares only one Content type (as outlined below) all 
actual content and structure is being built in JavaScript and/or removed for 
simplicity and security reasons:

--------------------
<Content type="html"></Content>
--------------------

Within the JavaScript I have declared to functions as defined below in a custom 
gadget package called "myGroups" as to be able to have domain language for 
accessing gadgets.views.ViewType information:

--------------------
myGroups.getViewName = function () {
    return gadgets.views.getCurrentView().getName();
};

myGroups.navigateTo = function (destinationView) {
    var supported_views = gadgets.views.getSupportedViews();
    gadgets.views.requestNavigateTo(supported_views[destinationView]);
};
--------------------

Whenever the function myGroups.getViewName() is called the ViewType string 
"profile" is always returned even after the successful request to view the 
gadget within canvas was made with the following myGroups.navigateTo("canvas"). 
Though the gadget rendered in a maximized state the string which is being 
returned for gadgets.views.getCurrentView().getName() is still "profile" and 
not what I would expect "canvas".

A workaround / "fix" that I had to do was the following to the gadget.xml 
specification.

--------------------
<Content type="html" view="canvas,profile,home"></Content>
--------------------

This leads me to believe that without explicitly requesting multiple views 
Shindig will  only assign one view to the single content tag declared. As a 
fairly new (out of practice for 2.5 years) opensocial developer I wouldn't 
imagine this was the intended use of this and that until I state otherwise if 
there is a single content element within my gadget specification then that 
content element should have support for all default views (similar to Android / 
iOS application mentality ... just use the defined view to display on a device 
which the application was explicitly designed/developed for aka "tablet 
syndrome").

Am I just interpreting the views feature incorrectly or does this seem to be a 
problem. I will be making a quick complete gadget to demonstrate this problem 
this evening though wanted to start the discussion to be able to include in a 
potential JIRA ticket.

Environment to replicate problem: Rave version 0.14-SNAPSHOT, Shindig version 
2.5.0-beta2 

--
Trevor Mack
Software Systems Engineer (R501), Apache Rave
Application Development and Maintenance (KICS), R501
MITRE K-building, 1K136 | (781) 271-7252 | tm...@mitre.org

Reply via email to