First check out a copy of Shindig from Apache.
svn checkout http://svn.apache.org/repos/asf/shindig/trunk/ shindig
Then compile it. The first compile will take a long time and will download a lot of artifacts. You will want to be on a quick network connection
mvn
If your compile fails a unit test, try mvn -Dmaven.test.skip=true
You can also take a look at the BUILD-JAVA file in the main directory if you are having problems getting it to compile.
Then start the Jetty server:
mvn -Prun
You best friend will be the Shindig Getting Started page – it has lots of hints on what to do to explore your container.
We will just hack a single bit of a gadget running in the sample container so click here:
http://localhost:8080/samplecontainer/samplecontainer.html
You should see the “Social Hello World” gadget. Now lets edit this file:
vi ./target/work/webapp/samplecontainer/examples/SocialHelloWorld.xml
And make the following change:
gadgets.window.setTitle('Social Hello World'); alert('Hello Chuck'); var hellos = new Array('Hello World', 'Hallo Welt', 'Ciao a tutti',
You should see your little alert box when the page refreshes. That is the end of “getting started”.
Note that the SocialHelloWorld.xml file gets overwritten each time you recompile Shindig – so keep your modifications handy elsewhere to reapply after each mvn install – I like editing the gadget in target because then I just keep doing a refresh.
To shut down the Jetty server, simply kill it (i.e. press CTRL-C in the command window on Mac/Linux).
Now here is a little weirdness when you change the gadget code. I am never sure what exactly is needed to really do a full refresh. Here are the things I generally try:
- Press Refresh in the Browser
- Press the “Reset All” button
- Clear the browser history if all else fails and your changes don’t seem to be getting reloaded
It seems as though there is *lots* of caching going on at several levels and you have to take increasingly drastic measures to get past it as you drop your code bits in.