blob: 9173180d5a4079d2661b044a72c70ea51f39d40c [file] [log] [blame]
Sling Slingbucks sample
-----------------------
WHY THIS SAMPLE?
----------------
This simple coffee-ordering app demonstrates how Sling promotes RESTful
application design, and how much you can do with little code.
It was presented at ApacheCon North America 2010, slides can be found at
http://www.slideshare.net/bdelacretaz/restful-slingbdelacretaz2010
It is inspired by the excellent "How to GET a Cup of Coffee" article by
Jim Webber, Savas Parastatidis & Ian Robinson at InfoQ:
http://www.infoq.com/articles/webber-rest-workflow
HOW TO INSTALL
--------------
Build this bundle and install it in Sling. See
http://sling.apache.org/documentation/development/getting-and-building-sling.html
for how to do that.
For example, if Sling is running on port 8080 (which happens if you start
the launchpad/testing module with
"java -jar org.apache.sling.launchpad-<version>-standalone.jar"), this will build and
install it:
mvn -P autoInstallBundle clean install -Dsling.url=http://localhost:8080/system/console
The OSGi console at http://localhost:8080/system/console/bundles must then
list the "org.apache.sling.samples.slingbucks" bundle as active.
HOW TO TEST
-----------
On a default Sling trunk instance you usually need to first disable the
"Allow Anonymous Access" option at
http://localhost:8080/system/console/configMgr/org.apache.sling.engine.impl.auth.SlingAuthenticator
And also, as long as this bundle uses loginAdministrative, whitelist it by adding
"org.apache.sling.samples.slingbucks" to the "Whitelist bundles additional" configuration
property at
http://localhost:8080/system/console/configMgr/org.apache.sling.jcr.base.internal.LoginAdminWhitelist
Then, start at
http://localhost:8080/content/slingbucks/public/orders.html
and follow the instructions.
The coffee shop employee's view of things is at
http://localhost:8080/content/slingbucks/private/confirmed.html
Confirmed orders appear there five seconds after they are last modified,
you need to refresh that page to see them.
To change the coffee options, you can play with the nodes under
/content/slingbucks/readonly/options/fields, the structure should be
self-explanatory.
The Sling explorer at
http://localhost:8080/.explorer.html
can be used to modify those nodes, besides the usual POST requests that the
SlingPostServlet handles.