Apache Shindig Javascript | |
What is it? | |
----------- | |
Shindig is a JavaScript container and implementations of the backend APIs | |
and proxy required for hosting OpenSocial applications. | |
This is the Javascript component of Shindig. | |
Documentation | |
------------- | |
The most up-to-date documentation can be found at http://incubator.apache.org/shindig/ | |
Using Shindig Gadget Container JavaScript | |
----------------------------------------- | |
1) Try out the samples. | |
A) Set up your own Shindig Gadget Server. See java/README for details. | |
B) Assuming your server is running on http://yourserver:yourport/gadgets/... | |
you can hit these html files in your favorite browser to see your local | |
Shindig in action: | |
(Note: yourserver:yourport defaults to localhost:8080 for the java server, | |
and just localhost for the php server) | |
* http://yourserver:yourport/gadgets/files/container/sample1.html - basic container | |
* http://yourserver:yourport/gadgets/files/container/sample2.html - custom rendering | |
* http://yourserver:yourport/gadgets/files/container/sample3.html - custom layouts | |
* http://yourserver:yourport/gadgets/files/container/sample4.html - set pref | |
* http://yourserver:yourport/gadgets/files/container/sample5.html - set pref | |
* http://yourserver:yourport/gadgets/files/container/sample6.html - dynamic height | |
* http://yourserver:yourport/gadgets/files/container/sample7.html - set title | |
These samples are very basic and aren't production-ready. Shindig will | |
include a more advanced container at a later date but it hasn't been | |
completed yet. | |
2) Play around with the code. | |
A) Create an HTML file including the following <head> boilerplate: | |
<script type="text/javascript" src="../../js/rpc.js?c=1"></script> | |
<script type="text/javascript" src="cookies.js"></script> | |
<script type="text/javascript" src="util.js"></script> | |
<script type="text/javascript" src="gadgets.js"></script> | |
<script type="text/javascript" src="cookiebaseduserprefstore.js"></script> | |
B) For each Gadget you wish to add to the page: | |
i) Create it. Example, for Gadget whose spec is at http://foo.com/spec.xml | |
var gadget = gadgets.container.createGadget( | |
{specUrl: "http://foo.com/spec.xml"}); | |
Check "gadgets.js" for other options to be set in createGadget. If you are | |
debugging your own gadgets you can consider to use specVersion to get a more | |
optimal use of the cache. Alternatively, gadgets.container.setNoCache(1) | |
ii) Add it to the container. Example: | |
gadgets.container.addGadget(gadget); | |
If your setup is too complicated, you can need to tell each Gadget | |
where its server is. Example | |
gadget.setServerBase("http://yourserver:yourport/gadgets/"); | |
iii) Ensure the Gadget's chrome ID is defined. This is the ID of the | |
elements in which the Gadget is rendered. The way these are specified | |
differs depending on the LayoutManager being used. Example with default | |
LayoutManager: | |
gadgets.container.layoutManager.setGadgetChromeIds([ 'gadget-id-1' ]); | |
iv) Render it. The chrome element must exist when this call is performed | |
(ie. this must occur onLoad of the document.body or in inline script). | |
gadgets.container.renderGadget(gadget); | |
You may also render several added Gadgets at once: | |
gadgets.container.renderGadgets(); | |
C) Explore samples 2, 3, and 4 for examples using different LayoutManagers | |
and supporting UserPrefs storage. | |
4) Run the opensocial sample container | |
A) Set up your own Shindig Gadget Server. See java/README for details. (If you | |
are using the java based server make sure you run with mvn jetty:run-war) | |
B) Hit the sample container at | |
http://yourserver:yourport/gadgets/files/samplecontainer/samplecontainer.html | |
C) See the sample container help document for more details on how it works: | |
http://yourserver:yourport/gadgets/files/samplecontainer/getting-started.html | |
D) Get, and try to run, coderunner.xml and compliancetests.xml from the project | |
http://opensocial-resources.googlecode.com/ | |
Licensing | |
--------- | |
Please see the file called LICENSE. | |
Shindig URLS | |
------------ | |
Home Page: http://incubator.apache.org/shindig/ | |
Downloads: http://incubator.apache.org/shindig/download/index.html | |
Mailing Lists: http://incubator.apache.org/shindig/mail-lists.html | |
Source Code: http://svn.apache.org/repos/asf/incubator/shindig/ | |
Issue Tracking: https://issues.apache.org/jira/browse/SHINDIG | |
Wiki: http://cwiki.apache.org/confluence/display/SHINDIG/ |