keycloak-uncached

Merge pull request #1395 from mstruk/examples-docs KEYCLOAK-1442

6/17/2015 2:28:52 AM

Details

diff --git a/examples/admin-client/README.md b/examples/admin-client/README.md
index 7279c57..7b195b0 100644
--- a/examples/admin-client/README.md
+++ b/examples/admin-client/README.md
@@ -8,7 +8,7 @@ Start Keycloak:
 
     bin/standalone.sh
 
-Open the Keycloak admin console, click on Add Realm, click on 'Choose a JSON file', selct example-realm.json and click Upload.
+Open the Keycloak admin console, click on Add Realm, click on 'Choose a JSON file', select example-realm.json and click Upload.
 
 Deploy the Admin Client Example to Keycloak by running:
 
diff --git a/examples/cors/README.md b/examples/cors/README.md
index f2de71f..21ad94b 100755
--- a/examples/cors/README.md
+++ b/examples/cors/README.md
@@ -1,6 +1,6 @@
 Keycloak CORS support
 ===================================
-The following examples requires Wildfly 8.0.0, JBoss EAP 6.x, or JBoss AS 7.1.1.  This example simulates Browser CORS
+The following examples requires Wildfly 8.x / 9.x, JBoss EAP 6.x, or JBoss AS 7.1.1.  This example simulates Browser CORS
 requests.  While the examples will run on one machine, the servers/applications are configured to point to different domains:
 * **localhost-auth** is where the Keycloak auth server lives
 * **localhost-db** is where a database REST service lives
diff --git a/examples/demo-template/README.md b/examples/demo-template/README.md
index ec5e02e..de8fe75 100755
--- a/examples/demo-template/README.md
+++ b/examples/demo-template/README.md
@@ -1,12 +1,12 @@
 Login, Distributed SSO, Distributed Logout, and OAuth Token Grant Examples
 ===================================
-The following examples requires Wildfly 8.0.0, JBoss EAP 6.x, or JBoss AS 7.1.1.  Here's the highlights of the examples
+The following examples require Wildfly 8.x / 9.x, JBoss EAP 6.x, or JBoss AS 7.1.1.  Here's the highlights of the examples
 * Delegating authentication of a web app to the remote authentication server via OAuth 2 protocols
 * Distributed Single-Sign-On and Single-Logout
 * Transferring identity and role mappings via a special bearer token (Skeleton Key Token).
 * Bearer token authentication and authorization of JAX-RS services
 * Obtaining bearer tokens via the OAuth2 protocol
-* Interact with the Keycloak Admin REST Api
+* Interact with the Keycloak Admin REST API
 
 There are multiple WAR projects.  These will all run on the same WildFly instance, but pretend each one is running on a different
 machine on the network or Internet.
@@ -27,103 +27,110 @@ _This demo is meant to run on the same server instance as the Keycloak Server!_
 
 Step 1: Make sure you've set up the Keycloak Server
 --------------------------------------
-The Keycloak Appliance Distribution comes with a preconfigured Keycloak server (based on Wildfly).  You can use it out of
+The Keycloak Demo distribution comes with a preconfigured Keycloak server (based on Wildfly 9).  You can use it out of
 the box to run these demos.  So, if you're using this, you can head to Step 2.
 
-Alternatively, you can install the Keycloak Server onto any EAP 6.x, or Wildfly 8.x server, but there is
-a few steps you must follow. You need to obtain latest keycloak-war-dist-all.zip.  This distro is used to install Keycloak onto an existing JBoss installation.
-This installs the server using a WAR file.
+Alternatively, you can install the Keycloak Server onto any EAP 6.x, or Wildfly 9.x server, but there is
+a few steps you must follow. You need to obtain the latest Keycloak Overlay distribution. That distribution is used to install Keycloak onto an existing EAP / Wildfly installation
+by providing all the necessary Keycloak Server modules, and configurations.
+
+For Wildfly 9:
+
+    $ cd ${wildfly.home}
+    $ unzip ${keycloak-overlay.zip}
+
+For JBoss EAP 6.x:
+
+    $ cd ${jboss.eap6.home}
+    $ unzip ${keycloak-overlay-eap6.zip}
 
-    $ cd ${jboss.as7.home}/standalone
-    $ cp -r ${keycloak-war-dist-all}/deployments .
 
-To be able to run the demos you also need to install the Keycloak client adapter. For Wildfly:
+
+To be able to run the demos you also need to install the Keycloak Adapter which extends your app server with KEYCLOAK authentication mechanism.
+
+
+For Wildfly 9:
 
     $ cd ${wildfly.home}
-    $ unzip ${keycloak-war-dist-all}/adapters/keycloak-wildfly-adapter-dist.zip
+    $ unzip ${keycloak-wf9-adapter-dist.zip}
 
 For JBoss EAP 6.x
 
-    $ cd ${eap.home}
-    $ unzip ${keycloak-war-dist-all}/adapters/keycloak-eap6-adapter-dist.zip
+    $ cd ${jboss.eap6.home}
+    $ unzip ${keycloak-eap6-adapter-dist.zip}
 
 For JBoss AS 7.1.1:
 
     $ cd ${as7.home}
-    $ unzip ${keycloak-war-dist-all}/adapters/keycloak-as7-adapter-dist.zip
+    $ unzip ${keycloak-as7-adapter-dist.zip}
 
-WARNING: Note that we don't officially support Keycloak auth-server running on JBoss AS 7.1.1. You can still test examples running on AS 7.1.1,
-but then you may need to do few additional changes in examples to point them into external Keycloak server running on WildFly or EAP 6.x.
-This is especially changing "auth-server-url" in keycloak.json files to be non-relative as examples and auth-server will run on different server!
 
-Unzipping the adapter ZIP only installs the JAR files.  You must also add the Keycloak Subsystem to the server's
-configuration (standalone/configuration/standalone.xml).
+In addition to unzipping the adapter .zip we also have to add the keycloak-adapter-subsystem to the app server's configuration file.
+If you install into the same app server you installed Keycloak Overlay into then use standalone/configuration/standalone-keycloak.xml.
+Otherwise use standalone/configuration/standalone.xml.
 
-For WildFly and JBoss EAP 6.x
     <server xmlns="urn:jboss:domain:1.4">
 
         <extensions>
-            <extension module="org.keycloak.keycloak-subsystem"/>
             ...
+            <extension module="org.keycloak.keycloak-adapter-subsystem"/>
         </extensions>
 
         <profile>
-            <subsystem xmlns="urn:jboss:domain:keycloak:1.0">
-                <auth-server name="main-auth-server">
-                    <enabled>true</enabled>
-                    <web-context>auth</web-context>
-                </auth-server>
-            </subsystem>
             ...
+            <subsystem xmlns="urn:jboss:domain:keycloak:1.1"/>
         </profile>
+        
+        ...
+    </server>
 
-For AS 7.1.1:
-    <server xmlns="urn:jboss:domain:1.4">
 
-        <extensions>
-            <extension module="org.keycloak.keycloak-as7-subsystem"/>
-            ...
-        </extensions>
+WARNING: Note that we only target Wildfly 9, and EAP 6.4 for Keycloak Server. While you can still test examples running on AS 7.1.1, you may need to do a few additional changes in examples to point them to external Keycloak Server running on Wildfly 9 or EAP 6.4.
+Specifically, "auth-server-url" attribute in keycloak.json files has to be set to an absolute URL since examples will run on a different app server than Keycloak Server.
 
-        <profile>
-            <subsystem xmlns="urn:jboss:domain:keycloak:1.0"/>
-            ...
-        </profile>
 
-Step 2: Boot Keycloak Server
+Step 2: Start up the Keycloak Server
 ---------------------------------------
-Where you go to start up the Keycloak Server depends on which distro you installed.
 
-From appliance:
+The exact command to start up the server depends on the installation method chosen in Step 1.
+
+For Keycloak Demo distribution - which includes Keycloak Server, and Keycloak Adapter:
 
 ```
-$ cd keycloak/bin
-$ ./standalone.sh
+$ cd keycloak-demo
+$ bin/standalone.sh
 ```
 
 
-From existing Wildfly/EAP6/AS7 distro
+For Keycloak Server deployed to existing Wildfly 9 / EAP 6 server using Keycloak Overlay distribution:
 
 ```
-$ cd ${wildfly.jboss.home}/bin
-$ ./standalone.sh
+$ cd ${jboss.home}
+$ bin/standalone.sh -c standalone-keycloak.xml
 ```
 
+For AS 7 / EAP 6 / Wildfly server containing example applications only - without the Keycloak Server:
+
+```
+$ cd ${jboss.home}
+$ bin/standalone.sh
+```
+  
 
 Step 3: Import the Test Realm
 ---------------------------------------
-Next thing you have to do is import the test realm for the demo.  Clicking on the below link will bring you to the
-create realm page in the Admin UI.  The username/password is admin/admin to login in.  Keycloak will ask you to
-create a new admin password before you can go to the create realm page.
+Next thing to do is to import the test realm for the demo.  Clicking on the below link will bring you to the
+Create Realm page in the Admin UI.  The username/password is admin/admin.  Keycloak will ask you to
+create a new admin password the first time you try to log in. You can simply re-enter admin/admin.
 
 [http://localhost:8080/auth/admin/master/console/#/create/realm](http://localhost:8080/auth/admin/master/console/#/create/realm)
 
-Import the testrealm.json file that is in the preconfigured-demo/ example directory.
+Import the testrealm.json file from examples/preconfigured-demo directory.
 
 
 Step 4: Build and deploy
 ---------------------------------------
-next you must build and deploy
+Next, we build and deploy
 
 ```
 cd preconfigured-demo
@@ -149,25 +156,25 @@ Try going to the customer app and view customer data:
 
 [http://localhost:8080/customer-portal/customers/view.jsp](http://localhost:8080/customer-portal/customers/view.jsp)
 
-This should take you to the auth-server login screen.  Enter username: bburke@redhat.com and password: password.
+This should take you to the Keycloak Server login screen.  Enter username: bburke@redhat.com and password: password.
 
-If you click on the products link, you'll be taken to the products app and show a product listing.  The redirects
-are still happening, but the auth-server knows you are already logged in so the login is bypassed.
+If you click on the products link, you'll be taken to the products app and see a product listing.  The redirects
+are still happening, but the Keycloak Server knows you are already logged in so the login is bypassed.
 
-If you click on the logout link of either of the product or customer app, you'll be logged out of all the applications.
+If you click on the logout link of either the product or customer app, you'll be logged out of all the applications.
 
 If you click on [http://localhost:8080/customer-portal-js](http://localhost:8080/customer-portal-js) you can invoke
-on the pure HTML/Javascript application.
+the pure HTML/Javascript application.
 
 Step 6: Traditional OAuth2 Example
 ----------------------------------
-The customer and product apps are logins.  The third-party app is the traditional OAuth2 usecase of a client wanting
-to get permission to access a user's data. To run this example open
+The customer and product apps use web forms for login.  The third-party app is the traditional OAuth2 usecase of a client wanting
+to get permission to access user's data. To run this example open:
 
 [http://localhost:8080/oauth-client](http://localhost:8080/oauth-client)
 
-If you are already logged in, you will not be asked for a username and password, but you will be redirected to
-an oauth grant page.  This page asks you if you want to grant certain permissions to the third-part app.
+If you are already logged in, you will not be asked for a username and password, but will be redirected to
+an oauth grant page. The page asks you if you want to grant certain permissions to the third-part app.
 
 Step 7: Try the CLI Example
 ---------------------------
@@ -176,39 +183,40 @@ To try the CLI example run the following commands:
 $ cd customer-app-cli
 $ mvn exec:java
 
-This will open a shell that lets you specify a few different commands. For example type 'login' and press enter to login. Pressing enter with a blank line will display the available commands.
+That will open a shell which lets you specify a few different commands. For example, type 'login' and press enter to login. Pressing enter with a blank line will display the available commands.
 
-The CLI example has two alternative methods for login. When a browser is available the CLI opens the login form in a browser, and will automatically retrieve the return code by starting a 
-temporary web server on a free port. If a browser is not available the URL to login is displayed on the CLI. The user can copy this URL to another computer that has a browser available. The code
-is displayed to the user after login and the user has to copy this code back to the application.
+The CLI example has two alternative methods for login. When a browser is available the CLI opens the login form in a browser, and automatically retrieves the return code by starting a 
+temporary web server on an available port. If there is no browser available, the login URL is printed in console. User can copy this URL to another computer that has a browser available. After successful login
+the code is displayed which the user has to copy back to the application.
 
 Step 8: Admin REST API
 ----------------------------------
-Keycloak has a Admin REST API.  This example shows an application making a remove direct login to Keycloak to obtain a token
-then using that token to access the Admin REST API.
+Keycloak comes with an Admin REST API. This example demonstrates how an application remotely logs into Keycloak to obtain a token
+which it then uses to access the Admin REST API.
 
 [http://localhost:8080/admin-access](http://localhost:8080/admin-access)
 
-If you are already logged in, you will not be asked for a username and password, but you will be redirected to
-an oauth grant page.  This page asks you if you want to grant certain permissions to the third-part app.
+If you are already logged in, you will not be asked for a username and password, and will be redirected straight to
+an oauth grant page.  The page asks you to grant certain permissions to the third-part app.
 
 Step 9: Angular JS Example
 ----------------------------------
-An Angular JS example using Keycloak to secure it.
+An example shows how to secure an Angular JS application using Keycloak.
 
 [http://localhost:8080/angular-product](http://localhost:8080/angular-product)
 
-If you are already logged in, you will not be asked for a username and password, but you will be redirected to
-an oauth grant page.  This page asks you if you want to grant certain permissions to the third-part app.
+If you are already logged in, you will not be asked for a username and password, and will be redirected straight to
+an oauth grant page.  The page asks you to grant certain permissions to the third-part app.
+
 
 Step 9: Pure HTML5/Javascript Example
 ----------------------------------
-An pure HTML5/Javascript example using Keycloak to secure it.
+A pure HTML5/Javascript example secured by Keycloak.
 
 [http://localhost:8080/customer-portal-js](http://localhost:8080/customer-portal-js)
 
-If you are already logged in, you will not be asked for a username and password, but you will be redirected to
-an oauth grant page.  This page asks you if you want to grant certain permissions to the third-part app.
+If you are already logged in, you will not be asked for a username and password, and will be redirected straight to
+an oauth grant page.  The page asks you to grant certain permissions to the third-part app.
 
 Admin Console
 ==========================
diff --git a/examples/demo-template/README.md.unconfigured b/examples/demo-template/README.md.unconfigured
index 2752997..8db3739 100755
--- a/examples/demo-template/README.md.unconfigured
+++ b/examples/demo-template/README.md.unconfigured
@@ -1,50 +1,68 @@
 Unconfigured Examples
 ===================================
-This set of projects contains a stripped down version of the demo described in preconfigured-demo.  All keycloak specific
+This set of projects contains a stripped down version of the demo described in preconfigured-demo.  All Keycloak specific
 configuration has been removed. Use this project in conjunction with instructions below and/or the online screencast tutorials at
 [http://keycloak.org/docs](http://keycloak.org/docs).
 
 
 # Run Demo with an external Keycloak Server
 
-These instructions assume you've already installed and started a Keycloak Server. Keycloak can be running on your locally or remotely (for example on OpenShift). If you're not running Keycloak locally you'll also need a locally running WildFly server.
+These instructions assume you've already installed and started a Keycloak Server. Keycloak can be running locally on your system or remotely on another system (for example on OpenShift). If you're not running Keycloak locally you'll also need a locally running WildFly server.
 
 ## Create Realm
 
 Open the Keycloak admin console and click on `Add Realm`. Enter `demo` as the name for the realm and click `Save`.
 
-The demo applications uses two realm roles, `user` and `admin`, so the next step is to create these. Click on `Roles` then click on `Add Role`. Use `user` as the role name and click `Save`. Repeat to create a role with the name `admin`.
+The demo applications use two realm roles, `user` and `admin`, so the next step is to create these roles. Click on `Roles` then click on `Add Role`. Use `user` as the role name and click `Save`. Repeat to create a role with the name `admin`.
 
 Next you'll either want to enable user registration or create a new user.
 
 ### Enable user registration
 
-To enable user registration first click on `Roles` then `Default Roles`. Select the `user` role and click on the right arrow. This will make sure that all new users are automatically assigned the `user` role. Next step is to enable user registration for the realm. Click on `Settings` then `Login`. Click on the toggle for `user registration` to allow users to self-register.
+To enable user registration first click on `Roles` then `Default Roles`. Select the `user` role and click `Add Selected`. This will make sure that all new users are automatically assigned the `user` role. Next step is to enable user registration for the realm. Click on `Settings` then `Login`. Click on the toggle for `User registration` to allow users to self-register, then `Save`.
 
 ### Create user
 
-To create a new user click on `Users` then `Add User`. You are required to at least fill in the `username` field, but you may want to fill in values for the other fields as well. After you've completed the form click on `Save`. To allow the user to login you also need to set a password for the user. To do this click on `Credentials`. Enter a new password for the user. If you leave the `Temporary` toggle ON the user will be required to reset the password on the next login.
+To create a new user click on `Users` then `Add User`. You are required to at least fill in the `Username` field, but you may want to fill in values for the other fields as well. After you've completed the form click `Save`. To allow the user to login you also need to set a password for the user. To do this click on `Credentials`. Enter a new password for the user. If you leave the `Temporary` toggle ON the user will be required to reset the password on the next login.
 
 
 ## Deploy Demo Applications
 
-First you need to install WildFly application server. Second step is to install the Keycloak WildFly subsystem. To do this run:
+First, you need to install AS 7 / EAP 6.x / WildFly application server. Second, you need to install the Keycloak subsystem. To do this execute:
+
+For AS 7.1.1:
+
+    # cd <WILDFLY HOME>
+    # unzip <KEYCLOAK DIST>/adapters/keycloak-as7-adapter-dist-<KEYCLOAK VERSION>.zip
+
+For EAP 6.x:
+
+    # cd <WILDFLY HOME>
+    # unzip <KEYCLOAK DIST>/adapters/keycloak-eap6-adapter-dist-<KEYCLOAK VERSION>.zip
+
+For WildFly 8.x:
 
     # cd <WILDFLY HOME>
-    # unzip <KEYCLOAK DIST>/adapters/keycloak-wildfly-adapter-dist-<KEYCLOAK VERSION>.zip
+    # unzip <KEYCLOAK DIST>/adapters/keycloak-wf8-adapter-dist-<KEYCLOAK VERSION>.zip
 
-Next configure the Keycloak adapter by editing `standalone/configuration/standalone.xml`. Add a new child-element to `<extensions>`:
+For WildFly 9.x:
+
+    # cd <WILDFLY HOME>
+    # unzip <KEYCLOAK DIST>/adapters/keycloak-wf9-adapter-dist-<KEYCLOAK VERSION>.zip
+
+
+Next, configure the Keycloak adapter by editing `standalone/configuration/standalone.xml`. Add a new child-element to `<extensions>`:
 
     <extensions>
         ....
-        <extension module="org.keycloak.keycloak-subsystem"/>
+        <extension module="org.keycloak.keycloak-adapter-subsystem"/>
     </extensions>
 
 You also need to add realm config to the same file. Add a new child-element to `<profile>`:
 
     <profile>
         ....
-        <subsystem xmlns="urn:jboss:domain:keycloak:1.0">
+        <subsystem xmlns="urn:jboss:domain:keycloak:1.1">
             <realm name="demo">
                 <realm-public-key>REALM PUBLIC KEY</realm-public-key>
                 <auth-server-url>KEYCLOAK URL</auth-server-url>
@@ -62,15 +80,15 @@ Don't start the WildFly server until you've configured and deployed the demo app
 
 ### Database Services
 
-Most demo applications connects to the REST services provided by the database-services application, so start with deploying this.
+Most demo applications connect to the REST services provided by the database-services application, so start with deploying that one.
 
-Run the following to deploy it:
+Deploy by running the following:
 
     # cd database-services
     # mvn install
     # cp target/database.war <WILDFLY HOME>/standalone/deployments
 
-Next add the configuration for it to the Keycloak subsystem. Edit `<WILDFLY HOME>/standalone/configuration/standalone.xml` to `<subsystem xmlns="urn:jboss:domain:keycloak:1.0">` add:
+Next add the configuration for it to the Keycloak subsystem. Edit `<WILDFLY HOME>/standalone/configuration/standalone.xml` to `<subsystem xmlns="urn:jboss:domain:keycloak:1.1">` add the following:
 
     <secure-deployment name="database.war">
         <realm>demo</realm>
@@ -80,22 +98,22 @@ Next add the configuration for it to the Keycloak subsystem. Edit `<WILDFLY HOME
 
 ### Customer Portal
 
-Next deploy the customer portal application.
+Next, deploy the customer portal application.
 
-Run the following to deploy it:
+Deploy by running the following:
 
     # cd customer-app
     # mvn install
     # cp target/customer-portal.war <WILDFLY HOME>/standalone/deployments
 
-Then open the Keycloak admin console to add a configuration for it. Navigate to the realm and click on `Applications` then `Add Application`. Fill in the form with:
+Then open the Keycloak admin console to add a configuration for it. Navigate to the realm and click on `Clients`, then `Create` button. Fill in the form with:
 
-* Name - `customer-portal`
-* Redirect URI - `http://localhost:8080/customer-portal/*` (click `Add` after filling in the field)
+* Client ID - `customer-portal`
+* Valid Redirect URIs - `http://localhost:8080/customer-portal/*`
 
-Then click on `Save`. As it's a confidential (non-public) application you need the secret for it. Click on `Credentials` and note the value of the `Secret` field.
+Then click on `Save`. As this is a confidential (non-public) application you need the secret for it. Click on `Credentials` and note the value of the `Secret` field.
 
-Then edit `<WILDFLY HOME>/standalone/configuration/standalone.xml` and add the following to `<subsystem xmlns="urn:jboss:domain:keycloak:1.0">`:
+Then edit `<WILDFLY HOME>/standalone/configuration/standalone.xml` and add the following to `<subsystem xmlns="urn:jboss:domain:keycloak:1.1">`:
 
     <secure-deployment name="customer-portal.war">
         <realm>demo</realm>
@@ -109,7 +127,7 @@ In the above snippet replace the following:
 
 ### Product Portal
 
-Next deploy the product portal application.
+Next, deploy the product portal application.
 
 Run the following to deploy it:
 
@@ -117,14 +135,14 @@ Run the following to deploy it:
     # mvn install
     # cp target/product-portal.war <WILDFLY HOME>/standalone/deployments
 
-Then open the Keycloak admin console to add a configuration for it. Navigate to the realm and click on `Applications` then `Add Application`. Fill in the form with:
+Then, open the Keycloak admin console to add a configuration for it. Navigate to the realm and click on `Clients`, then `Create` button. Fill in the form with:
 
-* Name - `product-portal`
-* Redirect URI - `http://localhost:8080/product-portal/*` (click `Add` after filling in the field)
+* Client ID - `product-portal`
+* Valid Redirect URIs - `http://localhost:8080/product-portal/*`
 
-Then click on `Save`. As it's a confidential (non-public) application you need the secret for it. Click on `Credentials` and note the value of the `Secret` field.
+Click on `Save`. As this is a confidential (non-public) application you need the secret for it. Click on `Credentials` and note the value of the `Secret` field.
 
-Then edit `<WILDFLY HOME>/standalone/configuration/standalone.xml` and add the following to `<subsystem xmlns="urn:jboss:domain:keycloak:1.0">`:
+Now edit `<WILDFLY HOME>/standalone/configuration/standalone.xml` and add the following to `<subsystem xmlns="urn:jboss:domain:keycloak:1.1">`:
 
     <secure-deployment name="product-portal.war">
         <realm>demo</realm>
diff --git a/examples/README.md b/examples/README.md
index 5637f10..0d4899e 100755
--- a/examples/README.md
+++ b/examples/README.md
@@ -6,12 +6,12 @@ This directory contains a number of examples for Keycloak.
 Demo
 ----
 
-This is the our main example, which shows Login, Single-Sign On, Single-Sign Out and OAuth Token Grant. The demo comes in two flavours: 
+This is our main example, which shows Login, Single-Sign On, Single-Sign Out and OAuth Token Grant. The demo comes in two flavours: 
 
 * Preconfigured - Use this flavour to quickly deploy the demo to a local Keycloak server without having to configure anything other than importing the realm settings into Keycloak
 * Unconfigured - Use this flavour to manually configure and deploy the demo to either a local or external Keycloak server
 
-For more information look at `preconfigured-demo/README.md` or `unconfigured-demo/README.md`. For the unconfigured-demo there's an accompanying screencast at [http://keycloak.org/docs](http://keycloak.org/docs) that walks you through the setup process.
+For more information look at `preconfigured-demo/README.md` or `unconfigured-demo/README.md`. For the unconfigured-demo there's an accompanying screencast at [http://keycloak.org/docs](http://keycloak.org/docs) called _The Basics_ that walks you through the setup process. Note that there were some changes since that screenshot was recorded - instead of Applications we now have Clients. And what used to be keycloak-appliance-dist-all is now called keycloak-demo.
 
 
 Admin Client
diff --git a/examples/saml/post-basic/README.md b/examples/saml/post-basic/README.md
index b84a6d3..34e6f2f 100755
--- a/examples/saml/post-basic/README.md
+++ b/examples/saml/post-basic/README.md
@@ -18,73 +18,101 @@ you should always use signed SAML messages as shown in "post-with-signature" or 
 
 Make sure you've set up the Keycloak Server
 --------------------------------------
-The Keycloak Appliance Distribution comes with a preconfigured Keycloak server (based on Wildfly).  You can use it out of
+The Keycloak Demo distribution comes with a preconfigured Keycloak server (based on Wildfly 9).  You can use it out of
 the box to run these demos.  So, if you're using this, you can head to Step 2.
 
-Alternatively, you can install the Keycloak Server onto any EAP 6.x, or Wildfly 8.x server, but there is
-a few steps you must follow.
+Alternatively, you can install the Keycloak Server onto any EAP 6.x, or Wildfly 9.x server, but there is
+a few steps you must follow. You need to obtain the latest Keycloak Overlay distribution. That distribution is used to install Keycloak onto an existing EAP / Wildfly installation
+by providing all the necessary Keycloak Server modules, and configurations.
 
-Obtain latest keycloak-war-dist-all.zip.  This distro is used to install Keycloak onto an existing JBoss installation.
-This installs the server.
+For Wildfly 9:
+
+    $ cd ${wildfly.home}
+    $ unzip ${keycloak-overlay.zip}
+
+For JBoss EAP 6.x:
+
+    $ cd ${jboss.eap6.home}
+    $ unzip ${keycloak-overlay-eap6.zip}
 
-    $ cd ${wildfly.jboss.home}/standalone
-    $ cp -r ${keycloak-war-dist-all}/deployments .
 
-To be able to run the demos you also need to install the Keycloak client adapter. For Wildfly:
+
+To be able to run the demos you also need to install the Keycloak Adapter which extends your app server with KEYCLOAK authentication mechanism.
+
+
+For Wildfly 9:
 
     $ cd ${wildfly.home}
-    $ unzip ${keycloak-war-dist-all}/adapters/keycloak-wildfly-adapter-dist.zip
+    $ unzip ${keycloak-wf9-adapter-dist.zip}
 
 For JBoss EAP 6.x
 
-    $ cd ${eap.home}
-    $ unzip ${keycloak-war-dist-all}/adapters/keycloak-eap6-adapter-dist.zip
+    $ cd ${jboss.eap6.home}
+    $ unzip ${keycloak-eap6-adapter-dist.zip}
 
 For JBoss AS 7.1.1:
 
     $ cd ${as7.home}
-    $ unzip ${keycloak-war-dist-all}/adapters/keycloak-as7-adapter-dist.zip
+    $ unzip ${keycloak-as7-adapter-dist.zip}
+
 
-Unzipping the adapter ZIP only installs the JAR files.  You must also add the Keycloak Subsystem to the server's
-configuration (standalone/configuration/standalone.xml).
+In addition to unzipping the adapter .zip we also have to add the keycloak-adapter-subsystem to the app server's configuration file.
+If you install into the same app server you installed Keycloak Overlay into then use standalone/configuration/standalone-keycloak.xml.
+Otherwise use standalone/configuration/standalone.xml.
 
     <server xmlns="urn:jboss:domain:1.4">
 
         <extensions>
-            <extension module="org.keycloak.keycloak-subsystem"/>
             ...
+            <extension module="org.keycloak.keycloak-adapter-subsystem"/>
         </extensions>
 
         <profile>
-            <subsystem xmlns="urn:jboss:domain:keycloak:1.0"/>
             ...
+            <subsystem xmlns="urn:jboss:domain:keycloak:1.1"/>
         </profile>
+        
+        ...
+    </server>
 
-Boot Keycloak Server
+
+WARNING: Note that we only target Wildfly 9, and EAP 6.4 for Keycloak Server. While you can still test examples running on AS 7.1.1, you may need to do a few additional changes in examples to point them to external Keycloak Server running on Wildfly 9 or EAP 6.4.
+Specifically, "auth-server-url" attribute in keycloak.json files has to be set to an absolute URL since examples will run on a different app server than Keycloak Server.
+
+
+Step 2: Start up the Keycloak Server
 ---------------------------------------
-Where you go to start up the Keycloak Server depends on which distro you installed.
 
-From appliance:
+The exact command to start up the server depends on the installation method chosen in Step 1.
+
+For Keycloak Demo distribution - which includes Keycloak Server, and Keycloak Adapter:
 
 ```
-$ cd keycloak/bin
-$ ./standalone.sh
+$ cd keycloak-demo
+$ bin/standalone.sh
 ```
 
 
-From existing Wildfly/EAP6/AS7 distro
+For Keycloak Server deployed to existing Wildfly 9 / EAP 6 server using Keycloak Overlay distribution:
 
 ```
-$ cd ${wildfly.jboss.home}/bin
-$ ./standalone.sh
+$ cd ${jboss.home}
+$ bin/standalone.sh -c standalone-keycloak.xml
 ```
 
+For AS 7 / EAP 6 / Wildfly server containing example applications only - without the Keycloak Server:
+
+```
+$ cd ${jboss.home}
+$ bin/standalone.sh
+```
+  
 
 Import the Test Realm
 ---------------------------------------
-Next thing you have to do is import the test realm for the demo.  Clicking on the below link will bring you to the
-create realm page in the Admin UI.  The username/password is admin/admin to login in.  Keycloak will ask you to
-create a new admin password before you can go to the create realm page.
+Next thing to do is to import the test realm for the demo.  Clicking on the below link will bring you to the
+Create Realm page in the Admin UI.  The username/password is admin/admin.  Keycloak will ask you to
+create a new admin password the first time you try to log in. You can simply re-enter admin/admin.
 
 [http://localhost:8080/auth/admin/master/console/#/create/realm](http://localhost:8080/auth/admin/master/console/#/create/realm)
 
diff --git a/examples/saml/post-with-encryption/README.md b/examples/saml/post-with-encryption/README.md
index 4baf9c3..17fb96e 100755
--- a/examples/saml/post-with-encryption/README.md
+++ b/examples/saml/post-with-encryption/README.md
@@ -15,78 +15,107 @@ This example demonstrates Keycloak SAML 2.0 support in conjunction with a servle
 
 Make sure you've set up the Keycloak Server
 --------------------------------------
-The Keycloak Appliance Distribution comes with a preconfigured Keycloak server (based on Wildfly).  You can use it out of
+The Keycloak Demo distribution comes with a preconfigured Keycloak server (based on Wildfly 9).  You can use it out of
 the box to run these demos.  So, if you're using this, you can head to Step 2.
 
-Alternatively, you can install the Keycloak Server onto any EAP 6.x, or Wildfly 8.x server, but there is
-a few steps you must follow.
+Alternatively, you can install the Keycloak Server onto any EAP 6.x, or Wildfly 9.x server, but there is
+a few steps you must follow. You need to obtain the latest Keycloak Overlay distribution. That distribution is used to install Keycloak onto an existing EAP / Wildfly installation
+by providing all the necessary Keycloak Server modules, and configurations.
 
-Obtain latest keycloak-war-dist-all.zip.  This distro is used to install Keycloak onto an existing JBoss installation.
-This installs the server.
+For Wildfly 9:
+
+    $ cd ${wildfly.home}
+    $ unzip ${keycloak-overlay.zip}
+
+For JBoss EAP 6.x:
+
+    $ cd ${jboss.eap6.home}
+    $ unzip ${keycloak-overlay-eap6.zip}
 
-    $ cd ${wildfly.jboss.home}/standalone
-    $ cp -r ${keycloak-war-dist-all}/deployments .
 
-To be able to run the demos you also need to install the Keycloak client adapter. For Wildfly:
+
+To be able to run the demos you also need to install the Keycloak Adapter which extends your app server with KEYCLOAK authentication mechanism.
+
+
+For Wildfly 9:
 
     $ cd ${wildfly.home}
-    $ unzip ${keycloak-war-dist-all}/adapters/keycloak-wildfly-adapter-dist.zip
+    $ unzip ${keycloak-wf9-adapter-dist.zip}
 
 For JBoss EAP 6.x
 
-    $ cd ${eap.home}
-    $ unzip ${keycloak-war-dist-all}/adapters/keycloak-eap6-adapter-dist.zip
+    $ cd ${jboss.eap6.home}
+    $ unzip ${keycloak-eap6-adapter-dist.zip}
 
 For JBoss AS 7.1.1:
 
     $ cd ${as7.home}
-    $ unzip ${keycloak-war-dist-all}/adapters/keycloak-as7-adapter-dist.zip
+    $ unzip ${keycloak-as7-adapter-dist.zip}
+
 
-Unzipping the adapter ZIP only installs the JAR files.  You must also add the Keycloak Subsystem to the server's
-configuration (standalone/configuration/standalone.xml).
+In addition to unzipping the adapter .zip we also have to add the keycloak-adapter-subsystem to the app server's configuration file.
+If you install into the same app server you installed Keycloak Overlay into then use standalone/configuration/standalone-keycloak.xml.
+Otherwise use standalone/configuration/standalone.xml.
 
     <server xmlns="urn:jboss:domain:1.4">
 
         <extensions>
-            <extension module="org.keycloak.keycloak-subsystem"/>
             ...
+            <extension module="org.keycloak.keycloak-adapter-subsystem"/>
         </extensions>
 
         <profile>
-            <subsystem xmlns="urn:jboss:domain:keycloak:1.0"/>
             ...
+            <subsystem xmlns="urn:jboss:domain:keycloak:1.1"/>
         </profile>
+        
+        ...
+    </server>
 
-Boot Keycloak Server
+
+WARNING: Note that we only target Wildfly 9, and EAP 6.4 for Keycloak Server. While you can still test examples running on AS 7.1.1, you may need to do a few additional changes in examples to point them to external Keycloak Server running on Wildfly 9 or EAP 6.4.
+Specifically, "auth-server-url" attribute in keycloak.json files has to be set to an absolute URL since examples will run on a different app server than Keycloak Server.
+
+
+Step 2: Start up the Keycloak Server
 ---------------------------------------
-Where you go to start up the Keycloak Server depends on which distro you installed.
 
-From appliance:
+The exact command to start up the server depends on the installation method chosen in Step 1.
+
+For Keycloak Demo distribution - which includes Keycloak Server, and Keycloak Adapter:
 
 ```
-$ cd keycloak/bin
-$ ./standalone.sh
+$ cd keycloak-demo
+$ bin/standalone.sh
 ```
 
 
-From existing Wildfly/EAP6/AS7 distro
+For Keycloak Server deployed to existing Wildfly 9 / EAP 6 server using Keycloak Overlay distribution:
 
 ```
-$ cd ${wildfly.jboss.home}/bin
-$ ./standalone.sh
+$ cd ${jboss.home}
+$ bin/standalone.sh -c standalone-keycloak.xml
 ```
 
+For AS 7 / EAP 6 / Wildfly server containing example applications only - without the Keycloak Server:
+
+```
+$ cd ${jboss.home}
+$ bin/standalone.sh
+```
+  
 
 Import the Test Realm
 ---------------------------------------
-Next thing you have to do is import the test realm for the demo.  Clicking on the below link will bring you to the
-create realm page in the Admin UI.  The username/password is admin/admin to login in.  Keycloak will ask you to
-create a new admin password before you can go to the create realm page.
+Next thing to do is to import the test realm for the demo.  Clicking on the below link will bring you to the
+Create Realm page in the Admin UI.  The username/password is admin/admin.  Keycloak will ask you to
+create a new admin password the first time you try to log in. You can simply re-enter admin/admin.
 
 [http://localhost:8080/auth/admin/master/console/#/create/realm](http://localhost:8080/auth/admin/master/console/#/create/realm)
 
 Import the testsaml.json file that is in the saml/ example directory.
 
+
 Install Picketlink Modules into App server
 ------------------------------------------
 
diff --git a/examples/saml/post-with-signature/README.md b/examples/saml/post-with-signature/README.md
index 12346d7..f129434 100755
--- a/examples/saml/post-with-signature/README.md
+++ b/examples/saml/post-with-signature/README.md
@@ -15,74 +15,101 @@ This example demonstrates Keycloak SAML 2.0 support in conjunction with a servle
 
 Make sure you've set up the Keycloak Server
 --------------------------------------
-The Keycloak Appliance Distribution comes with a preconfigured Keycloak server (based on Wildfly).  You can use it out of
+The Keycloak Demo distribution comes with a preconfigured Keycloak server (based on Wildfly 9).  You can use it out of
 the box to run these demos.  So, if you're using this, you can head to Step 2.
 
-Alternatively, you can install the Keycloak Server onto any EAP 6.x, or Wildfly 8.x server, but there is
-a few steps you must follow.
+Alternatively, you can install the Keycloak Server onto any EAP 6.x, or Wildfly 9.x server, but there is
+a few steps you must follow. You need to obtain the latest Keycloak Overlay distribution. That distribution is used to install Keycloak onto an existing EAP / Wildfly installation
+by providing all the necessary Keycloak Server modules, and configurations.
 
-Obtain latest keycloak-war-dist-all.zip.  This distro is used to install Keycloak onto an existing JBoss installation.
-This installs the server.
+For Wildfly 9:
+
+    $ cd ${wildfly.home}
+    $ unzip ${keycloak-overlay.zip}
+
+For JBoss EAP 6.x:
+
+    $ cd ${jboss.eap6.home}
+    $ unzip ${keycloak-overlay-eap6.zip}
+
+
+
+To be able to run the demos you also need to install the Keycloak Adapter which extends your app server with KEYCLOAK authentication mechanism.
 
-    $ cd ${wildfly.jboss.home}/standalone
-    $ cp -r ${keycloak-war-dist-all}/deployments .
 
-To be able to run the demos you also need to install the Keycloak client adapter. For Wildfly:
+For Wildfly 9:
 
     $ cd ${wildfly.home}
-    $ unzip ${keycloak-war-dist-all}/adapters/keycloak-wildfly-adapter-dist.zip
+    $ unzip ${keycloak-wf9-adapter-dist.zip}
 
 For JBoss EAP 6.x
 
-    $ cd ${eap.home}
-    $ unzip ${keycloak-war-dist-all}/adapters/keycloak-eap6-adapter-dist.zip
+    $ cd ${jboss.eap6.home}
+    $ unzip ${keycloak-eap6-adapter-dist.zip}
 
 For JBoss AS 7.1.1:
 
     $ cd ${as7.home}
-    $ unzip ${keycloak-war-dist-all}/adapters/keycloak-as7-adapter-dist.zip
+    $ unzip ${keycloak-as7-adapter-dist.zip}
 
-Unzipping the adapter ZIP only installs the JAR files.  You must also add the Keycloak Subsystem to the server's
-configuration (standalone/configuration/standalone.xml).
+
+In addition to unzipping the adapter .zip we also have to add the keycloak-adapter-subsystem to the app server's configuration file.
+If you install into the same app server you installed Keycloak Overlay into then use standalone/configuration/standalone-keycloak.xml.
+Otherwise use standalone/configuration/standalone.xml.
 
     <server xmlns="urn:jboss:domain:1.4">
 
         <extensions>
-            <extension module="org.keycloak.keycloak-subsystem"/>
             ...
+            <extension module="org.keycloak.keycloak-adapter-subsystem"/>
         </extensions>
 
         <profile>
-            <subsystem xmlns="urn:jboss:domain:keycloak:1.0"/>
             ...
+            <subsystem xmlns="urn:jboss:domain:keycloak:1.1"/>
         </profile>
+        
+        ...
+    </server>
+
 
+WARNING: Note that we only target Wildfly 9, and EAP 6.4 for Keycloak Server. While you can still test examples running on AS 7.1.1, you may need to do a few additional changes in examples to point them to external Keycloak Server running on Wildfly 9 or EAP 6.4.
+Specifically, "auth-server-url" attribute in keycloak.json files has to be set to an absolute URL since examples will run on a different app server than Keycloak Server.
 
-Boot Keycloak Server
+
+Step 2: Start up the Keycloak Server
 ---------------------------------------
-Where you go to start up the Keycloak Server depends on which distro you installed.
 
-From appliance:
+The exact command to start up the server depends on the installation method chosen in Step 1.
+
+For Keycloak Demo distribution - which includes Keycloak Server, and Keycloak Adapter:
 
 ```
-$ cd keycloak/bin
-$ ./standalone.sh
+$ cd keycloak-demo
+$ bin/standalone.sh
 ```
 
 
-From existing Wildfly/EAP6/AS7 distro
+For Keycloak Server deployed to existing Wildfly 9 / EAP 6 server using Keycloak Overlay distribution:
 
 ```
-$ cd ${wildfly.jboss.home}/bin
-$ ./standalone.sh
+$ cd ${jboss.home}
+$ bin/standalone.sh -c standalone-keycloak.xml
 ```
 
+For AS 7 / EAP 6 / Wildfly server containing example applications only - without the Keycloak Server:
+
+```
+$ cd ${jboss.home}
+$ bin/standalone.sh
+```
+  
 
 Import the Test Realm
 ---------------------------------------
-Next thing you have to do is import the test realm for the demo.  Clicking on the below link will bring you to the
-create realm page in the Admin UI.  The username/password is admin/admin to login in.  Keycloak will ask you to
-create a new admin password before you can go to the create realm page.
+Next thing to do is to import the test realm for the demo.  Clicking on the below link will bring you to the
+Create Realm page in the Admin UI.  The username/password is admin/admin.  Keycloak will ask you to
+create a new admin password the first time you try to log in. You can simply re-enter admin/admin.
 
 [http://localhost:8080/auth/admin/master/console/#/create/realm](http://localhost:8080/auth/admin/master/console/#/create/realm)
 
diff --git a/examples/saml/redirect-basic/README.md b/examples/saml/redirect-basic/README.md
index 29cf529..9d19445 100755
--- a/examples/saml/redirect-basic/README.md
+++ b/examples/saml/redirect-basic/README.md
@@ -17,74 +17,101 @@ you should always use signed SAML messages as shown in "redirect-with-signature"
 
 Make sure you've set up the Keycloak Server
 --------------------------------------
-The Keycloak Appliance Distribution comes with a preconfigured Keycloak server (based on Wildfly).  You can use it out of
+The Keycloak Demo distribution comes with a preconfigured Keycloak server (based on Wildfly 9).  You can use it out of
 the box to run these demos.  So, if you're using this, you can head to Step 2.
 
-Alternatively, you can install the Keycloak Server onto any EAP 6.x, or Wildfly 8.x server, but there is
-a few steps you must follow.
+Alternatively, you can install the Keycloak Server onto any EAP 6.x, or Wildfly 9.x server, but there is
+a few steps you must follow. You need to obtain the latest Keycloak Overlay distribution. That distribution is used to install Keycloak onto an existing EAP / Wildfly installation
+by providing all the necessary Keycloak Server modules, and configurations.
 
-Obtain latest keycloak-war-dist-all.zip.  This distro is used to install Keycloak onto an existing JBoss installation.
-This installs the server.
+For Wildfly 9:
+
+    $ cd ${wildfly.home}
+    $ unzip ${keycloak-overlay.zip}
+
+For JBoss EAP 6.x:
+
+    $ cd ${jboss.eap6.home}
+    $ unzip ${keycloak-overlay-eap6.zip}
+
+
+
+To be able to run the demos you also need to install the Keycloak Adapter which extends your app server with KEYCLOAK authentication mechanism.
 
-    $ cd ${wildfly.jboss.home}/standalone
-    $ cp -r ${keycloak-war-dist-all}/deployments .
 
-To be able to run the demos you also need to install the Keycloak client adapter. For Wildfly:
+For Wildfly 9:
 
     $ cd ${wildfly.home}
-    $ unzip ${keycloak-war-dist-all}/adapters/keycloak-wildfly-adapter-dist.zip
+    $ unzip ${keycloak-wf9-adapter-dist.zip}
 
 For JBoss EAP 6.x
 
-    $ cd ${eap.home}
-    $ unzip ${keycloak-war-dist-all}/adapters/keycloak-eap6-adapter-dist.zip
+    $ cd ${jboss.eap6.home}
+    $ unzip ${keycloak-eap6-adapter-dist.zip}
 
 For JBoss AS 7.1.1:
 
     $ cd ${as7.home}
-    $ unzip ${keycloak-war-dist-all}/adapters/keycloak-as7-adapter-dist.zip
+    $ unzip ${keycloak-as7-adapter-dist.zip}
 
-Unzipping the adapter ZIP only installs the JAR files.  You must also add the Keycloak Subsystem to the server's
-configuration (standalone/configuration/standalone.xml).
+
+In addition to unzipping the adapter .zip we also have to add the keycloak-adapter-subsystem to the app server's configuration file.
+If you install into the same app server you installed Keycloak Overlay into then use standalone/configuration/standalone-keycloak.xml.
+Otherwise use standalone/configuration/standalone.xml.
 
     <server xmlns="urn:jboss:domain:1.4">
 
         <extensions>
-            <extension module="org.keycloak.keycloak-subsystem"/>
             ...
+            <extension module="org.keycloak.keycloak-adapter-subsystem"/>
         </extensions>
 
         <profile>
-            <subsystem xmlns="urn:jboss:domain:keycloak:1.0"/>
             ...
+            <subsystem xmlns="urn:jboss:domain:keycloak:1.1"/>
         </profile>
+        
+        ...
+    </server>
+
 
+WARNING: Note that we only target Wildfly 9, and EAP 6.4 for Keycloak Server. While you can still test examples running on AS 7.1.1, you may need to do a few additional changes in examples to point them to external Keycloak Server running on Wildfly 9 or EAP 6.4.
+Specifically, "auth-server-url" attribute in keycloak.json files has to be set to an absolute URL since examples will run on a different app server than Keycloak Server.
 
-Boot Keycloak Server
+
+Step 2: Start up the Keycloak Server
 ---------------------------------------
-Where you go to start up the Keycloak Server depends on which distro you installed.
 
-From appliance:
+The exact command to start up the server depends on the installation method chosen in Step 1.
+
+For Keycloak Demo distribution - which includes Keycloak Server, and Keycloak Adapter:
 
 ```
-$ cd keycloak/bin
-$ ./standalone.sh
+$ cd keycloak-demo
+$ bin/standalone.sh
 ```
 
 
-From existing Wildfly/EAP6/AS7 distro
+For Keycloak Server deployed to existing Wildfly 9 / EAP 6 server using Keycloak Overlay distribution:
 
 ```
-$ cd ${wildfly.jboss.home}/bin
-$ ./standalone.sh
+$ cd ${jboss.home}
+$ bin/standalone.sh -c standalone-keycloak.xml
 ```
 
+For AS 7 / EAP 6 / Wildfly server containing example applications only - without the Keycloak Server:
+
+```
+$ cd ${jboss.home}
+$ bin/standalone.sh
+```
+  
 
 Import the Test Realm
 ---------------------------------------
-Next thing you have to do is import the test realm for the demo.  Clicking on the below link will bring you to the
-create realm page in the Admin UI.  The username/password is admin/admin to login in.  Keycloak will ask you to
-create a new admin password before you can go to the create realm page.
+Next thing to do is to import the test realm for the demo.  Clicking on the below link will bring you to the
+Create Realm page in the Admin UI.  The username/password is admin/admin.  Keycloak will ask you to
+create a new admin password the first time you try to log in. You can simply re-enter admin/admin.
 
 [http://localhost:8080/auth/admin/master/console/#/create/realm](http://localhost:8080/auth/admin/master/console/#/create/realm)
 
diff --git a/examples/saml/redirect-with-signature/README.md b/examples/saml/redirect-with-signature/README.md
index 402cac6..8bf23eb 100755
--- a/examples/saml/redirect-with-signature/README.md
+++ b/examples/saml/redirect-with-signature/README.md
@@ -15,75 +15,101 @@ This example demonstrates Keycloak SAML 2.0 support in conjunction with a servle
 
 Make sure you've set up the Keycloak Server
 --------------------------------------
-The Keycloak Appliance Distribution comes with a preconfigured Keycloak server (based on Wildfly).  You can use it out of
+The Keycloak Demo distribution comes with a preconfigured Keycloak server (based on Wildfly 9).  You can use it out of
 the box to run these demos.  So, if you're using this, you can head to Step 2.
 
-Alternatively, you can install the Keycloak Server onto any EAP 6.x, or Wildfly 8.x server, but there is
-a few steps you must follow.
+Alternatively, you can install the Keycloak Server onto any EAP 6.x, or Wildfly 9.x server, but there is
+a few steps you must follow. You need to obtain the latest Keycloak Overlay distribution. That distribution is used to install Keycloak onto an existing EAP / Wildfly installation
+by providing all the necessary Keycloak Server modules, and configurations.
 
-Obtain latest keycloak-war-dist-all.zip.  This distro is used to install Keycloak onto an existing JBoss installation.
-This installs the server.
+For Wildfly 9:
+
+    $ cd ${wildfly.home}
+    $ unzip ${keycloak-overlay.zip}
+
+For JBoss EAP 6.x:
+
+    $ cd ${jboss.eap6.home}
+    $ unzip ${keycloak-overlay-eap6.zip}
+
+
+
+To be able to run the demos you also need to install the Keycloak Adapter which extends your app server with KEYCLOAK authentication mechanism.
 
-    $ cd ${wildfly.jboss.home}/standalone
-    $ cp -r ${keycloak-war-dist-all}/deployments .
 
-To be able to run the demos you also need to install the Keycloak client adapter. For Wildfly:
+For Wildfly 9:
 
     $ cd ${wildfly.home}
-    $ unzip ${keycloak-war-dist-all}/adapters/keycloak-wildfly-adapter-dist.zip
+    $ unzip ${keycloak-wf9-adapter-dist.zip}
 
 For JBoss EAP 6.x
 
-    $ cd ${eap.home}
-    $ unzip ${keycloak-war-dist-all}/adapters/keycloak-eap6-adapter-dist.zip
+    $ cd ${jboss.eap6.home}
+    $ unzip ${keycloak-eap6-adapter-dist.zip}
 
 For JBoss AS 7.1.1:
 
     $ cd ${as7.home}
-    $ unzip ${keycloak-war-dist-all}/adapters/keycloak-as7-adapter-dist.zip
+    $ unzip ${keycloak-as7-adapter-dist.zip}
 
-Unzipping the adapter ZIP only installs the JAR files.  You must also add the Keycloak Subsystem to the server's
-configuration (standalone/configuration/standalone.xml).
+
+In addition to unzipping the adapter .zip we also have to add the keycloak-adapter-subsystem to the app server's configuration file.
+If you install into the same app server you installed Keycloak Overlay into then use standalone/configuration/standalone-keycloak.xml.
+Otherwise use standalone/configuration/standalone.xml.
 
     <server xmlns="urn:jboss:domain:1.4">
 
         <extensions>
-            <extension module="org.keycloak.keycloak-subsystem"/>
             ...
+            <extension module="org.keycloak.keycloak-adapter-subsystem"/>
         </extensions>
 
         <profile>
-            <subsystem xmlns="urn:jboss:domain:keycloak:1.0"/>
             ...
+            <subsystem xmlns="urn:jboss:domain:keycloak:1.1"/>
         </profile>
+        
+        ...
+    </server>
+
 
+WARNING: Note that we only target Wildfly 9, and EAP 6.4 for Keycloak Server. While you can still test examples running on AS 7.1.1, you may need to do a few additional changes in examples to point them to external Keycloak Server running on Wildfly 9 or EAP 6.4.
+Specifically, "auth-server-url" attribute in keycloak.json files has to be set to an absolute URL since examples will run on a different app server than Keycloak Server.
 
 
-Boot Keycloak Server
+Step 2: Start up the Keycloak Server
 ---------------------------------------
-Where you go to start up the Keycloak Server depends on which distro you installed.
 
-From appliance:
+The exact command to start up the server depends on the installation method chosen in Step 1.
+
+For Keycloak Demo distribution - which includes Keycloak Server, and Keycloak Adapter:
 
 ```
-$ cd keycloak/bin
-$ ./standalone.sh
+$ cd keycloak-demo
+$ bin/standalone.sh
 ```
 
 
-From existing Wildfly/EAP6/AS7 distro
+For Keycloak Server deployed to existing Wildfly 9 / EAP 6 server using Keycloak Overlay distribution:
 
 ```
-$ cd ${wildfly.jboss.home}/bin
-$ ./standalone.sh
+$ cd ${jboss.home}
+$ bin/standalone.sh -c standalone-keycloak.xml
 ```
 
+For AS 7 / EAP 6 / Wildfly server containing example applications only - without the Keycloak Server:
+
+```
+$ cd ${jboss.home}
+$ bin/standalone.sh
+```
+  
 
 Import the Test Realm
 ---------------------------------------
-Next thing you have to do is import the test realm for the demo.  Clicking on the below link will bring you to the
-create realm page in the Admin UI.  The username/password is admin/admin to login in.  Keycloak will ask you to
-create a new admin password before you can go to the create realm page.
+Next thing to do is to import the test realm for the demo.  Clicking on the below link will bring you to the
+Create Realm page in the Admin UI.  The username/password is admin/admin.  Keycloak will ask you to
+create a new admin password the first time you try to log in. You can simply re-enter admin/admin.
 
 [http://localhost:8080/auth/admin/master/console/#/create/realm](http://localhost:8080/auth/admin/master/console/#/create/realm)
 
diff --git a/examples/themes/README.md b/examples/themes/README.md
index 69c922b..a4d2e2c 100644
--- a/examples/themes/README.md
+++ b/examples/themes/README.md
@@ -29,13 +29,13 @@ Then open $KEYCLOAK_HOME/standalone/configuration/keycloak-server.json and regis
 Sunrise Login Theme
 -------------------
 
-Example login theme that changes the look of the login forms. To enable the theme open the admin console, select your realm, click on `Theme`. In the dropdown for `Login Theme` select `sunrise`. Click `Save` and login to the realm to see the new theme in action.
+Example login theme that changes the look of the login forms. To enable the theme open the admin console, select your realm's `Settings`, click on `Themes`. In the dropdown for `Login Theme` select `sunrise`. Click `Save` and login to the realm to see the new theme in action.
 
 
 Change Logo Theme
 -----------------
 
-To enable the theme open the admin console, select your realm, click on `Theme`. In the dropdowns for `Login Theme`, `Account Theme` and `Admin Console Theme` select `logo-example`. Click `Save` and login to the realm to see the new theme in action.
+To enable the theme open the admin console, select your realm's `Settings`, click on `Themes`. In the dropdowns for `Login Theme`, `Account Theme` and `Admin Console Theme` select `logo-example`. Click `Save` and login to the realm to see the new theme in action.
 
 To change the theme for the welcome pages open `standalone/configuration/keycloak-server.json` find the config for `theme` and add 'welcomeTheme':