predictionio-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From don...@apache.org
Subject [37/50] [abbrv] incubator-predictionio git commit: Documentation polish
Date Tue, 25 Apr 2017 22:12:00 GMT
Documentation polish


Project: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/commit/bea82a6c
Tree: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/tree/bea82a6c
Diff: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/diff/bea82a6c

Branch: refs/heads/livedoc
Commit: bea82a6c3d14e587ce54738896666bd1a577a9c5
Parents: 23a8693
Author: Donald Szeto <donald@apache.org>
Authored: Thu Mar 30 11:26:26 2017 -0700
Committer: Donald Szeto <donald@apache.org>
Committed: Thu Mar 30 11:26:26 2017 -0700

----------------------------------------------------------------------
 RELEASE.md                                      | 74 ++++++++++++++++----
 bin/install.sh                                  |  8 +--
 conf/pio-env.sh.template                        |  4 +-
 .../predictionio/data/storage/Storage.scala     | 42 +++++++++--
 docs/manual/config.rb                           |  4 +-
 docs/manual/data/versions.yml                   | 11 +--
 .../source/community/contribute-code.html.md    |  2 +-
 .../source/community/contribute-sdk.html.md     |  6 +-
 docs/manual/source/customize/dase.html.md.erb   | 18 ++---
 .../source/datacollection/eventapi.html.md      |  4 +-
 .../datacollection/eventmodel.html.md.erb       |  4 +-
 docs/manual/source/demo/tapster.html.md         |  4 +-
 .../source/demo/textclassification.html.md.erb  |  8 +--
 docs/manual/source/gallery/templates.yaml       |  7 +-
 docs/manual/source/install/index.html.md.erb    | 18 +----
 .../install/install-sourcecode.html.md.erb      | 32 +++++++--
 .../source/install/install-vagrant.html.md.erb  |  2 +-
 .../source/partials/_action_call.html.slim      |  2 +-
 docs/manual/source/partials/_footer.html.slim   |  4 +-
 .../shared/install/_elasticsearch.html.erb      |  9 ++-
 .../partials/shared/install/_hbase.html.erb     | 10 ++-
 .../partials/shared/install/_postgres.html.erb  | 23 ++++--
 docs/manual/source/resources/faq.html.md        | 48 ++++++++-----
 docs/manual/source/resources/upgrade.html.md    | 19 +++--
 docs/manual/source/sdk/java.html.md.erb         |  2 +-
 docs/manual/source/sdk/php.html.md.erb          |  2 +-
 docs/manual/source/sdk/ruby.html.md.erb         |  2 +-
 docs/manual/source/tryit/index.html.slim        |  2 +-
 tests/docker-files/env-conf/pio-env.sh          |  2 +-
 .../engines/recommendation-engine/README.md     |  2 +-
 tests/pio_tests/scenarios/eventserver_test.py   |  4 +-
 tests/pio_tests/utils.py                        |  2 +-
 .../tools/commands/Management.scala             |  9 ++-
 33 files changed, 258 insertions(+), 132 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/bea82a6c/RELEASE.md
----------------------------------------------------------------------
diff --git a/RELEASE.md b/RELEASE.md
index 885faa3..baa5246 100644
--- a/RELEASE.md
+++ b/RELEASE.md
@@ -15,15 +15,61 @@ See the License for the specific language governing permissions and
 limitations under the License.
 -->
 
-#Release Notes and News
+# Release Notes and News
 
 **Note:** For upgrade instructions please refer to [this page](http://predictionio.incubator.apache.org/resources/upgrade/).
 
 ## Version History
 
+### 0.11.0
+
+Apr ?, 2017
+
+#### New Features
+
+- PIO-30: Scala 2.11 support
+- PIO-30: Spark 2 support
+- PIO-49: Elasticsearch 5 support
+- PIO-30, PIO-49: Flexible build system
+- PIO-47, PIO-51: Removal of engine manifests
+- PIO-49: Modularized storage backend modules
+- PIO-45: Self cleaning data source
+
+#### Behavior Changes
+
+- PIO-25: `pio-start-all` will no longer start PostgreSQL if it is not being
+  used.
+- PIO-47, PIO-51: `pio build` no longer requires access to the metadata
+  repository. `pio` commands will now accept an optional `--engine-dir`
+  parameter if you want to run `pio build`, `pio train`, or `pio deploy` outside
+  of an engine directory. This is an interim solution before an engine registry
+  feature becomes available in the future.
+- PIO-54: Generated access keys will no longer start with a `-` character.
+
+#### Other Changes
+
+- PIO-28: Code refactoring of the command line interface. It is now possible to
+  develop new interfaces that perform the same functionalities provided by the
+  CLI.
+- PIO-53: Integration tests can now be tied to every single Git commit, without
+  the need to update the official test Docker image.
+- The meta data and model data access object methods are now public and marked
+  as Core Developer API.
+
+#### Credits
+
+The following contributors have spent a great deal of effort to bring to you
+this release:
+
+Ahmet DAL, Alexander Merritt, Bansari Shah, Chan Lee, Chris Woodford, Daniel
+Gabrieli, Dennis Jung, Donald Szeto, Emily Rose, Hari Charan Ayada,
+infoquestsolutions, Jonny Daenen, Kenneth Chan, Laertis Pappas, Marcin
+Ziemiński, Naoki Takezoe, Rajdeep Dua, Shinsuke Sugaya, Pat Ferrel, scorpiovn,
+Suneel Marthi, Steven Yan, Takahiro Hagino, Takako Shimamoto
+
 ### 0.10.0
 
-Aug ??, 2016
+Oct 7, 2016
 
  - Make SSL optional
  - Merge ActionML fork
@@ -36,10 +82,10 @@ Aug 5, 2016
  - changed version id so artifacts don't conflict with naming in the Salesforce sponsored project.
  - bug fix in memory use during moving window event trim and compaction  EventStore data.
  - update [install.sh](https://github.com/actionml/PredictionIO/blob/master/bin/install.sh) script for single line installs with options that support various combinations required by some templates.
- 
-### v0.9.6
 
-April 11, 2015 
+### 0.9.6
+
+April 11, 2015
 
 For a detailed list of commits check [this page](https://github.com/apache/incubator-predictionio/commits/master)
 
@@ -47,7 +93,7 @@ For a detailed list of commits check [this page](https://github.com/apache/incub
 - Support for maintaining a moving window of events by discarding old events from the EventStore
 - Support for doing a deploy without creating a Spark Context
 
-### v0.9.6 (ActionML fork)
+### 0.9.6 (ActionML fork)
 
 March 26, 2016
 
@@ -55,9 +101,9 @@ March 26, 2016
 - Support for maintaining a moving window of events by discarding old events from the EventStore
 - Support for doing a deploy without creating a Spark Context
 
-###v0.9.5 
+### 0.9.5
 
-October 14th, 2015 
+October 14th, 2015
 
 [Release Notes](https://github.com/apache/incubator-predictionio/blob/master/RELEASE.md) have been moved to Github and you are reading them. For a detailed list of commits check [this page](https://github.com/apache/incubator-predictionio/commits/v0.9.5)
 
@@ -65,7 +111,7 @@ October 14th, 2015
 - Support creating an Elasticsearch StorageClient created for an Elasticsearch cluster from variables in pio-env.sh
 - Fixed some errors installing PredictionIO through install.sh when SBT was not correctly downloaded
 
-###v0.9.4
+### 0.9.4
 
 July 16th, 2015
 
@@ -76,7 +122,7 @@ Release Notes
 - Support running `pio eval` without `engine.json`
 - Fix an issue where `--verbose` is not handled properly by `pio train`
 
-###v0.9.3
+### 0.9.3
 
 May 20th, 2015
 
@@ -89,7 +135,7 @@ Release Notes
 - Creation of specific app access keys
 - Prevent a case where `pio build` accidentally removes PredictionIO core library
 
-###v0.9.2
+### 0.9.2
 
 April 14th, 2015
 
@@ -101,7 +147,7 @@ Release Notes
 - Engine and Event Servers now by default bind to 0.0.0.0
 - Many documentation improvements
 
-###v0.9.1
+### 0.9.1
 
 March 17th, 2015
 
@@ -110,7 +156,7 @@ Release Notes
 - Improved `pio-start-all`
 - Fixed a bug where `pio build` failed to set PredictionIO dependency version for engine templates
 
-###v0.9.0
+### 0.9.0
 
 March 4th, 2015
 
@@ -121,7 +167,7 @@ Release Notes
 - [Lead Scoring Template](http://predictionio.incubator.apache.org/gallery/template-gallery#classification) predicts the probability of an user will convert in the current session
 - `pio-start-all`, `pio-stop-all` commands to start and stop all PredictionIO related services
 
-###v0.8.6
+### 0.8.6
 
 Feb 10th, 2015
 

http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/bea82a6c/bin/install.sh
----------------------------------------------------------------------
diff --git a/bin/install.sh b/bin/install.sh
index 7431b09..ca7fcac 100755
--- a/bin/install.sh
+++ b/bin/install.sh
@@ -22,8 +22,8 @@ SPARK_VERSION=1.6.3
 # Looks like support for Elasticsearch 2.0 will require 2.0 so deferring
 ELASTICSEARCH_VERSION=1.7.5
 HBASE_VERSION=1.2.2
-POSTGRES_VERSION=9.4-1204.jdbc41
-MYSQL_VERSION=5.1.37
+POSTGRES_VERSION=42.0.0
+MYSQL_VERSION=5.1.41
 PIO_DIR=$HOME/PredictionIO
 USER_PROFILE=$HOME/.profile
 PIO_FILE=PredictionIO-*.tar.gz
@@ -284,9 +284,9 @@ files=$(ls PredictionIO*.tar.gz 2> /dev/null | wc -l)
 
 if [[ $files == 0 ]]; then
   echo "Downloading PredictionIO..."
-  curl -L https://codeload.github.com/apache/incubator-predictionio/tar.gz/master > incubator-predictionio-master.tar.gz 
+  curl -L https://codeload.github.com/apache/incubator-predictionio/tar.gz/master > incubator-predictionio-master.tar.gz
 
-  tar zxf incubator-predictionio-master.tar.gz 
+  tar zxf incubator-predictionio-master.tar.gz
 
   mv incubator-predictionio-master PredictionIO
 

http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/bea82a6c/conf/pio-env.sh.template
----------------------------------------------------------------------
diff --git a/conf/pio-env.sh.template b/conf/pio-env.sh.template
index 57185ba..c3a1e07 100644
--- a/conf/pio-env.sh.template
+++ b/conf/pio-env.sh.template
@@ -27,8 +27,8 @@
 # SPARK_HOME=$PIO_HOME/vendors/spark-2.0.2-bin-hadoop2.7
 SPARK_HOME=$PIO_HOME/vendors/spark-1.6.3-bin-hadoop2.6
 
-POSTGRES_JDBC_DRIVER=$PIO_HOME/lib/postgresql-9.4-1204.jdbc41.jar
-MYSQL_JDBC_DRIVER=$PIO_HOME/lib/mysql-connector-java-5.1.37.jar
+POSTGRES_JDBC_DRIVER=$PIO_HOME/lib/postgresql-42.0.0.jar
+MYSQL_JDBC_DRIVER=$PIO_HOME/lib/mysql-connector-java-5.1.41.jar
 
 # ES_CONF_DIR: You must configure this if you have advanced configuration for
 #              your Elasticsearch setup.

http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/bea82a6c/data/src/main/scala/org/apache/predictionio/data/storage/Storage.scala
----------------------------------------------------------------------
diff --git a/data/src/main/scala/org/apache/predictionio/data/storage/Storage.scala b/data/src/main/scala/org/apache/predictionio/data/storage/Storage.scala
index 6372446..d61ad4f 100644
--- a/data/src/main/scala/org/apache/predictionio/data/storage/Storage.scala
+++ b/data/src/main/scala/org/apache/predictionio/data/storage/Storage.scala
@@ -362,22 +362,52 @@ object Storage extends Logging {
     eventsDb.close()
   }
 
-  private[predictionio] def getMetaDataEngineInstances(): EngineInstances =
+  /** :: DeveloperApi ::
+    * Get a data access object for [[EngineInstances]]
+    *
+    * @return An implementation of [[EngineInstances]], depending on the runtime configuration
+    */
+  def getMetaDataEngineInstances(): EngineInstances =
     getDataObjectFromRepo[EngineInstances](MetaDataRepository)
 
-  private[predictionio] def getMetaDataEvaluationInstances(): EvaluationInstances =
+  /** :: DeveloperApi ::
+    * Get a data access object for [[EvaluationInstances]]
+    *
+    * @return An implementation of [[EvaluationInstances]], depending on the runtime configuration
+    */
+  def getMetaDataEvaluationInstances(): EvaluationInstances =
     getDataObjectFromRepo[EvaluationInstances](MetaDataRepository)
 
-  private[predictionio] def getMetaDataApps(): Apps =
+  /** :: DeveloperApi ::
+    * Get a data access object for [[Apps]]
+    *
+    * @return An implementation of [[Apps]], depending on the runtime configuration
+    */
+  def getMetaDataApps(): Apps =
     getDataObjectFromRepo[Apps](MetaDataRepository)
 
-  private[predictionio] def getMetaDataAccessKeys(): AccessKeys =
+  /** :: DeveloperApi ::
+    * Get a data access object for [[AccessKeys]]
+    *
+    * @return An implementation of [[AccessKeys]], depending on the runtime configuration
+    */
+  def getMetaDataAccessKeys(): AccessKeys =
     getDataObjectFromRepo[AccessKeys](MetaDataRepository)
 
-  private[predictionio] def getMetaDataChannels(): Channels =
+  /** :: DeveloperApi ::
+    * Get a data access object for [[Channels]]
+    *
+    * @return An implementation of [[Channels]], depending on the runtime configuration
+    */
+  def getMetaDataChannels(): Channels =
     getDataObjectFromRepo[Channels](MetaDataRepository)
 
-  private[predictionio] def getModelDataModels(): Models =
+  /** :: DeveloperApi ::
+    * Get a data access object for [[Models]]
+    *
+    * @return An implementation of [[Models]], depending on the runtime configuration
+    */
+  def getModelDataModels(): Models =
     getDataObjectFromRepo[Models](ModelDataRepository)
 
   /** Obtains a data access object that returns [[Event]] related local data

http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/bea82a6c/docs/manual/config.rb
----------------------------------------------------------------------
diff --git a/docs/manual/config.rb b/docs/manual/config.rb
index 14cf91a..74628f0 100644
--- a/docs/manual/config.rb
+++ b/docs/manual/config.rb
@@ -61,7 +61,7 @@ end
 # Build Settings
 configure :build do
   set :scheme, 'https'
-  set :host, 'docs.prediction.io'
+  set :host, 'predictionio.incubator.apache.org'
   set :port, 80
   Slim::Engine.set_options pretty: false, sort_attrs: false
   activate :asset_hash
@@ -88,7 +88,7 @@ end
 
 # S3 Sync
 activate :s3_sync do |s3_sync|
-  s3_sync.bucket = 'docs.prediction.io'
+  s3_sync.bucket = 'predictionio.incubator.apache.org'
   s3_sync.prefer_gzip = false
 end
 

http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/bea82a6c/docs/manual/data/versions.yml
----------------------------------------------------------------------
diff --git a/docs/manual/data/versions.yml b/docs/manual/data/versions.yml
index 0768ca1..06001a7 100644
--- a/docs/manual/data/versions.yml
+++ b/docs/manual/data/versions.yml
@@ -1,6 +1,7 @@
-pio: 0.10.0-incubating
-spark: 1.5.2
-spark_download_filename: spark-1.5.1-bin-hadoop2.6
-elasticsearch_download_filename: elasticsearch-1.4.4
-hbase_basename: hbase-1.0.0
+pio: 0.11.0-incubating
+spark: 1.6.3
+spark_download_filename: spark-1.6.3-bin-hadoop2.6
+elasticsearch_download_filename: elasticsearch-1.7.6
+hbase_version: 1.2.5
+hbase_basename: hbase-1.2.5
 hbase_variant: bin

http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/bea82a6c/docs/manual/source/community/contribute-code.html.md
----------------------------------------------------------------------
diff --git a/docs/manual/source/community/contribute-code.html.md b/docs/manual/source/community/contribute-code.html.md
index 0d4b3fd..f1c1810 100644
--- a/docs/manual/source/community/contribute-code.html.md
+++ b/docs/manual/source/community/contribute-code.html.md
@@ -124,7 +124,7 @@ After the previous section, you should have a copy of Apache PredictionIO
 
 Apache PredictionIO (incubating) relies on 3rd party software to perform its
 tasks. To set them up, simply follow this [documentation](
-http://docs.prediction.io/install/install-sourcecode/#installing-dependencies).
+http://predictionio.incubator.apache.org/install/install-sourcecode/#installing-dependencies).
 
 ### Start Hacking
 

http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/bea82a6c/docs/manual/source/community/contribute-sdk.html.md
----------------------------------------------------------------------
diff --git a/docs/manual/source/community/contribute-sdk.html.md b/docs/manual/source/community/contribute-sdk.html.md
index 4ee5d31..a4a6fc0 100644
--- a/docs/manual/source/community/contribute-sdk.html.md
+++ b/docs/manual/source/community/contribute-sdk.html.md
@@ -26,7 +26,7 @@ corresponding clients: `Event Client` and `Engine Client`.
 
 The following guideline bases on the REST API provided by Apache PredictionIO
 (incubating)'s  Event Client which details can be found
-[here](http://docs.prediction.io/datacollection/eventapi/).
+[here](http://predictionio.incubator.apache.org/datacollection/eventapi/).
 
 ## Event Client
 Because the Event Server has only 1 connection point, the `Event Client`
@@ -37,7 +37,7 @@ following rules.
 (e.g. http://localhost:7070/events.json?accessKey=1234567890)
 
 - **Request**: `POST` + JSON data. Please refer to the [Event Creation API]
-(http://docs.prediction.io/datacollection/eventapi/) for the details
+(http://predictionio.incubator.apache.org/datacollection/eventapi/) for the details
 on the fields of the JSON data object.
 
 - **Response**:
@@ -134,7 +134,7 @@ support the following 7 shorthand operations:
         ```
 
 Again, please refer to the [API documentation]
-(http://docs.prediction.io/datacollection/eventapi/) for explanations
+(http://predictionio.incubator.apache.org/datacollection/eventapi/) for explanations
 on the reversed events like `$set`, `$unset` or `$delete`.
 
 INFO: The `eventTime` is optional but it is recommended that the client

http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/bea82a6c/docs/manual/source/customize/dase.html.md.erb
----------------------------------------------------------------------
diff --git a/docs/manual/source/customize/dase.html.md.erb b/docs/manual/source/customize/dase.html.md.erb
index 419abb9..89c75ea 100644
--- a/docs/manual/source/customize/dase.html.md.erb
+++ b/docs/manual/source/customize/dase.html.md.erb
@@ -27,7 +27,7 @@ DataSource reads and selects useful data from the Event Store (data store of the
 
 ## readTraining()
 
-You need to implment readTraining() of [PDataSource](https://docs.prediction.io/api/current/#org.apache.predictionio.controller.PDataSource), where you can use the [PEventStore Engine API](https://docs.prediction.io/api/current/#org.apache.predictionio.data.store.PEventStore$) to read the events and create the TrainingData based on the events.
+You need to implment readTraining() of [PDataSource](https://predictionio.incubator.apache.org/api/current/#org.apache.predictionio.controller.PDataSource), where you can use the [PEventStore Engine API](https://predictionio.incubator.apache.org/api/current/#org.apache.predictionio.data.store.PEventStore$) to read the events and create the TrainingData based on the events.
 
 The following code example reads user "view" and "buy" item events, filters specific type of events for future processing and returns TrainingData accordingly.
 
@@ -64,9 +64,9 @@ class DataSource(val dsp: DataSourceParams)
 
 ## Using PEventStore Engine API
 
-Please see [Event Server Overview](https://docs.prediction.io/datacollection/) to understand [EventAPI](https://docs.prediction.io/datacollection/eventapi/) and [event modeling](https://docs.prediction.io/datacollection/eventmodel/).
+Please see [Event Server Overview](https://predictionio.incubator.apache.org/datacollection/) to understand [EventAPI](https://predictionio.incubator.apache.org/datacollection/eventapi/) and [event modeling](https://predictionio.incubator.apache.org/datacollection/eventmodel/).
 
-With [PEventStore Engine API](https://docs.prediction.io/api/current/#org.apache.predictionio.data.store.PEventStore$), you can easily read different events in DataSource and get the information you need.
+With [PEventStore Engine API](https://predictionio.incubator.apache.org/api/current/#org.apache.predictionio.data.store.PEventStore$), you can easily read different events in DataSource and get the information you need.
 
 For example, let's say you have events like the following:
 
@@ -117,7 +117,7 @@ Then following code could read these events and extract the properties field of
 
 If you have used special events `$set/$unset/$delete` setting entity's properties, you can retrieve it with `PEventStore.aggregateProperties()`.
 
-Please see [event modeling](https://docs.prediction.io/datacollection/eventmodel/) to understand usage of special `$set/$unset/$delete` events.
+Please see [event modeling](https://predictionio.incubator.apache.org/datacollection/eventmodel/) to understand usage of special `$set/$unset/$delete` events.
 
 For example, the following code show how you could retrieve properties of the "item" entities:
 
@@ -163,7 +163,7 @@ A few example usages of Preparator:
 
 ## prepare()
 
-You need to implement the `prepare()` method of [PPrepartor](https://docs.prediction.io/api/current/#org.apache.predictionio.controller.PPreparator) to perform such tasks.
+You need to implement the `prepare()` method of [PPrepartor](https://predictionio.incubator.apache.org/api/current/#org.apache.predictionio.controller.PPreparator) to perform such tasks.
 
 Example:
 
@@ -185,8 +185,8 @@ predict() is responsible for using this model to make prediction. It is called w
 
 Apache PredictionIO (incubating) supports two types of algorithms:
 
-- **[P2LAlgorithm](https://docs.prediction.io/api/current/#org.apache.predictionio.controller.P2LAlgorithm)**: trains a Model which does not contain RDD
-- **[PAlgorithm](https://docs.prediction.io/api/current/#org.apache.predictionio.controller.PAlgorithm)**: trains a Model which contains RDD
+- **[P2LAlgorithm](https://predictionio.incubator.apache.org/api/current/#org.apache.predictionio.controller.P2LAlgorithm)**: trains a Model which does not contain RDD
+- **[PAlgorithm](https://predictionio.incubator.apache.org/api/current/#org.apache.predictionio.controller.PAlgorithm)**: trains a Model which contains RDD
 
 ## P2LAlgorithm
 
@@ -213,7 +213,7 @@ Example:
 
 ## using LEventStore Engine API in predict()
 
-You may use [LEventStore.findByEntity()](https://docs.prediction.io/api/current/#org.apache.predictionio.data.store.LEventStore$) to retrieve events of a specific entity. For example, retrieve recent events of the user specified in the query) and use these recent events to make prediction in real time.
+You may use [LEventStore.findByEntity()](https://predictionio.incubator.apache.org/api/current/#org.apache.predictionio.data.store.LEventStore$) to retrieve events of a specific entity. For example, retrieve recent events of the user specified in the query) and use these recent events to make prediction in real time.
 
 
 For example, the following code reads the recent 10 view events of `query.user`:
@@ -253,7 +253,7 @@ Example:
 
 ## serve()
 
-You need to implement the serve() method of the class [LServing](https://docs.prediction.io/api/current/#org.apache.predictionio.controller.LServing). The serve() method processes predicted result. It is also responsible for combining multiple predicted results into one if you have more than one predictive model.
+You need to implement the serve() method of the class [LServing](https://predictionio.incubator.apache.org/api/current/#org.apache.predictionio.controller.LServing). The serve() method processes predicted result. It is also responsible for combining multiple predicted results into one if you have more than one predictive model.
 
 Example:
 

http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/bea82a6c/docs/manual/source/datacollection/eventapi.html.md
----------------------------------------------------------------------
diff --git a/docs/manual/source/datacollection/eventapi.html.md b/docs/manual/source/datacollection/eventapi.html.md
index ca64812..c847b48 100644
--- a/docs/manual/source/datacollection/eventapi.html.md
+++ b/docs/manual/source/datacollection/eventapi.html.md
@@ -27,14 +27,14 @@ with `EventClient`s of PredictionIO's SDKs.
 INFO: All Apache PredictionIO (incubating)-compliant engines support accessing
 the Event Store (i.e. the data store of Event Server) through [Apache
 PredictionIO (incubating)'s Storage
-API](http://docs.prediction.io/api/current/index.html#io.prediction.data.storage.package).
+API](http://predictionio.incubator.apache.org/api/current/index.html#org.apache.predictionio.data.storage.package).
 
 ## Launching the Event Server
 
 INFO: Before launching the Event Server, make sure that your event data store
 backend is properly configured and is running. By default, Apache PredictionIO
 (incubating) uses Apache HBase, and a quick configuration can be found
-[here](/install/install-linux.html#hbase). Please allow a minute (usually less
+[here](/install/install-sourcecode/#hbase). Please allow a minute (usually less
 than 30 seconds) after HBase is started for its initialization to complete
 before starting the Event Server.
 

http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/bea82a6c/docs/manual/source/datacollection/eventmodel.html.md.erb
----------------------------------------------------------------------
diff --git a/docs/manual/source/datacollection/eventmodel.html.md.erb b/docs/manual/source/datacollection/eventmodel.html.md.erb
index 8a71f84..f40880c 100644
--- a/docs/manual/source/datacollection/eventmodel.html.md.erb
+++ b/docs/manual/source/datacollection/eventmodel.html.md.erb
@@ -104,7 +104,7 @@ For example, setting entity `user-1`'s properties `birthday` and `address`:
 }
 ```
 
-**Note** that the properties values of the entity will be aggregated based on these special events and the eventTime. The state of the entity is different depending on the time you are looking at the data. In engine's DataSource, you can use [PEventStore.aggregateProperties() API](https://docs.prediction.io/api/current/#org.apache.predictionio.data.store.PEventStore$) to retrieve the state of entity's properties (based on time).
+**Note** that the properties values of the entity will be aggregated based on these special events and the eventTime. The state of the entity is different depending on the time you are looking at the data. In engine's DataSource, you can use [PEventStore.aggregateProperties() API](https://predictionio.incubator.apache.org/api/current/#org.apache.predictionio.data.store.PEventStore$) to retrieve the state of entity's properties (based on time).
 
 NOTE: Although it doesn't hurt to import duplicated special events for an entity (exactly same properties) into event server (it just means that the entity changes to the same state as before and new duplicated event provides no new information about the user), it could waste storage space.
 
@@ -240,7 +240,7 @@ NOTE: Note that you should quote the entire URL by using single or double quotes
 
 You should see all events being created for this user-2.
 
-Now, let's retrieve the user-2's properties using the [PEventStore API](https://docs.prediction.io/api/current/#org.apache.predictionio.data.store.PEventStore$).
+Now, let's retrieve the user-2's properties using the [PEventStore API](https://predictionio.incubator.apache.org/api/current/#org.apache.predictionio.data.store.PEventStore$).
 
 First, start `pio-shell` by running:
 

http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/bea82a6c/docs/manual/source/demo/tapster.html.md
----------------------------------------------------------------------
diff --git a/docs/manual/source/demo/tapster.html.md b/docs/manual/source/demo/tapster.html.md
index 97ec7f8..7345bab 100644
--- a/docs/manual/source/demo/tapster.html.md
+++ b/docs/manual/source/demo/tapster.html.md
@@ -23,7 +23,7 @@ limitations under the License.
 
 In this demo, we will show you how to build a Tinder-style web application (named "Tapster") recommending comics to users based on their likes/dislikes of episodes interactively.
 
-The demo will use [Similar Product Template](https://docs.prediction.io/templates/similarproduct/quickstart/). Similar Product Template is a great choice if you want to make recommendations based on immediate user activities or for new users with limited history. It uses MLLib Alternating Least Squares (ALS) recommendation algorithm, a [Collaborative filtering](http://en.wikipedia.org/wiki/Recommender_system#Collaborative_filtering) (CF) algorithm commonly used for recommender systems. These techniques aim to fill in the missing entries of a user-item association matrix. Users and products are described by a small set of latent factors that can be used to predict missing entries. A layman's interpretation of Collaborative Filtering is "People who like this comic, also like these comics."
+The demo will use [Similar Product Template](https://predictionio.incubator.apache.org/templates/similarproduct/quickstart/). Similar Product Template is a great choice if you want to make recommendations based on immediate user activities or for new users with limited history. It uses MLLib Alternating Least Squares (ALS) recommendation algorithm, a [Collaborative filtering](http://en.wikipedia.org/wiki/Recommender_system#Collaborative_filtering) (CF) algorithm commonly used for recommender systems. These techniques aim to fill in the missing entries of a user-item association matrix. Users and products are described by a small set of latent factors that can be used to predict missing entries. A layman's interpretation of Collaborative Filtering is "People who like this comic, also like these comics."
 
 All the code and data is on GitHub at: [github.com/PredictionIO/Demo-Tapster](https://github.com/PredictionIO/Demo-Tapster).
 
@@ -406,7 +406,7 @@ looking it up in the database and rendering that object as JSON.
 
 Once the response is sent to the browser JavaScript is used to replace the existing comic and hide the loading message.
 
-Thats it. You’re done! If Ruby is not your language of choice check out our other [SDKs](http://docs.prediction.io/sdk/) and remember you can always interact with the Event Server though it’s native JSON API.
+Thats it. You’re done! If Ruby is not your language of choice check out our other [SDKs](http://predictionio.incubator.apache.org/sdk/) and remember you can always interact with the Event Server though it’s native JSON API.
 
 ## Links
 Source code is on GitHub at: [github.com/PredictionIO/Demo-Tapster](https://github.com/PredictionIO/Demo-Tapster)

http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/bea82a6c/docs/manual/source/demo/textclassification.html.md.erb
----------------------------------------------------------------------
diff --git a/docs/manual/source/demo/textclassification.html.md.erb b/docs/manual/source/demo/textclassification.html.md.erb
index cacc2f4..7beef7d 100644
--- a/docs/manual/source/demo/textclassification.html.md.erb
+++ b/docs/manual/source/demo/textclassification.html.md.erb
@@ -61,7 +61,7 @@ Here category is the model's class assignment for this new text document (i.e. t
 
 `{category : String}`.
 
-This is used in the evaluation stage when estimating the performance of your predictive model (how well does the model predict categories). Please refer to the [following tutorial](https://docs.prediction.io/customize/) for a more detailed explanation of how your engine will interact with your web application, as well as an in depth-overview of DASE.
+This is used in the evaluation stage when estimating the performance of your predictive model (how well does the model predict categories). Please refer to the [following tutorial](https://predictionio.incubator.apache.org/customize/) for a more detailed explanation of how your engine will interact with your web application, as well as an in depth-overview of DASE.
 
 
 ## Quick Start
@@ -497,7 +497,7 @@ The last and final object implemented in this class simply creates a Map with ke
 The algorithm components in this engine, `NBAlgorithm` and `LRAlgorithm`, actually follows a very general form. Firstly, a parameter class must again be initialized to feed in the corresponding Algorithm model parameters. For example, NBAlgorithm incorporates NBAlgorithmParams which holds the appropriate additive smoothing parameter lambda for the Naive Bayes model.
 
 
-The main class of interest in this component is the class that extends [P2LAlgorithm](https://docs.prediction.io/api/current/#org.apache.predictionio.controller.P2LAlgorithm). This class must implement a method named train which will output your predictive model (as a concrete object, this will be implemented via a Scala  class). It must also implement a predict method that transforms a query to an appropriate feature vector, and uses this to predict with the fitted model. The vectorization function is implemented by a PreparedData object, and the categorization (prediction) is handled by an instance of the NBModel implementation. Again, this demonstrates the facility with which different models can be incorporated into PredictionIO's DASE architecture.
+The main class of interest in this component is the class that extends [P2LAlgorithm](https://predictionio.incubator.apache.org/api/current/#org.apache.predictionio.controller.P2LAlgorithm). This class must implement a method named train which will output your predictive model (as a concrete object, this will be implemented via a Scala  class). It must also implement a predict method that transforms a query to an appropriate feature vector, and uses this to predict with the fitted model. The vectorization function is implemented by a PreparedData object, and the categorization (prediction) is handled by an instance of the NBModel implementation. Again, this demonstrates the facility with which different models can be incorporated into PredictionIO's DASE architecture.
 
 The model class itself will be discussed in the following section, however, turn your attention to the TextManipulationEngine object defined in the script `Engine.scala`. You can see here that the engine is initialized by specifying the DataSource, Preparator, and Serving classes, as well as a Map of algorithm names to Algorithm classes. This tells the engine which algorithms to run. In practice, you can have as many statistical learning models as you'd like, you simply have to implement a new algorithm component to do this. However, this general design form will persist, and the main meat of the work should be in the implementation of your model class.
 
@@ -607,7 +607,7 @@ To use the alternative multinomial logistic regression algorithm change your `en
 
 ## Serving: Delivering the Final Prediction
 
-The serving component is the final stage in the engine, and in a sense, the most important. This is the final stage in which you combine the results obtained from the different models you choose to run. The Serving class extends the [LServing](https://docs.prediction.io/api/current/#org.apache.predictionio.controller.LServing) class which must implement a method called serve. This takes a query and an associated sequence of predicted results, which contains the predicted results from the different algorithms that are implemented in your engine, and combines the results to yield a final prediction.  It is this final prediction that you will receive after sending a query.
+The serving component is the final stage in the engine, and in a sense, the most important. This is the final stage in which you combine the results obtained from the different models you choose to run. The Serving class extends the [LServing](https://predictionio.incubator.apache.org/api/current/#org.apache.predictionio.controller.LServing) class which must implement a method called serve. This takes a query and an associated sequence of predicted results, which contains the predicted results from the different algorithms that are implemented in your engine, and combines the results to yield a final prediction.  It is this final prediction that you will receive after sending a query.
 
 For example, you could choose to slightly modify the implementation to return class probabilities coming from a mixture of model estimates for class probabilities, or any other technique you could conceive for combining your results. The default engine setting has this set to yield the label from the model predicting with greater confidence.
 
@@ -617,7 +617,7 @@ For example, you could choose to slightly modify the implementation to return cl
 
  A predictive model needs to be evaluated to see how it will generalize to future observations. PredictionIO uses cross-validation to perform model performance metric estimates needed to assess your particular choice of model. The script `Evaluation.scala` available with the engine template exemplifies what a usual evaluator setup will look like. First, you must define an appropriate metric. In the engine template, since the topic is text classification, the default metric implemented is category accuracy.
 
- Second you must define an evaluation object (i.e. extends the class [Evaluation](https://docs.prediction.io/api/current/#org.apache.predictionio.controller.Evaluation)).
+ Second you must define an evaluation object (i.e. extends the class [Evaluation](https://predictionio.incubator.apache.org/api/current/#org.apache.predictionio.controller.Evaluation)).
 Here, you must specify the actual engine and metric components that are to be used for the evaluation. In the engine template, the specified engine is the TextManipulationEngine object, and metric, Accuracy. Lastly, you must specify the parameter values that you want to test in the cross validation. You see in the following block of code:
 
 ```scala

http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/bea82a6c/docs/manual/source/gallery/templates.yaml
----------------------------------------------------------------------
diff --git a/docs/manual/source/gallery/templates.yaml b/docs/manual/source/gallery/templates.yaml
index 7e1dd34..9f0ec1d 100644
--- a/docs/manual/source/gallery/templates.yaml
+++ b/docs/manual/source/gallery/templates.yaml
@@ -689,12 +689,7 @@
     name: Linear Regression BFGS
     repo: "https://github.com/mgcdanny/pio-linear-regression-bfgs"
     description: |-
-      Use for:
-
-        * Modeling the relationship between a dependent variable, y, and one or more explanatory variables, denoted X.
-
-    Forked from apache/incubator-predictionio-template-skeleton
-
+      Modeling the relationship between a dependent variable, y, and one or more explanatory variables, denoted X.
     tags: [regression]
     type: Parallel
     language: Scala

http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/bea82a6c/docs/manual/source/install/index.html.md.erb
----------------------------------------------------------------------
diff --git a/docs/manual/source/install/index.html.md.erb b/docs/manual/source/install/index.html.md.erb
index 70879d1..902c3bc 100644
--- a/docs/manual/source/install/index.html.md.erb
+++ b/docs/manual/source/install/index.html.md.erb
@@ -19,18 +19,6 @@ See the License for the specific language governing permissions and
 limitations under the License.
 -->
 
-[//]: # (## Method 1: Quick Install)
-
-[//]: # (On Linux / Mac OS X, Apache PredictionIO (incubating) can now be installed with a single command:)
-
-[//]: # (```)
-[//]: # ($ bash -c "$(curl -s https://raw.githubusercontent.com/apache/incubator-predictionio/master/bin/install.sh)")
-[//]: # (```)
-
-[//]: # (The above script will complete the installation for you.)
-
-[//]: # (<%= partial 'shared/install/proceed_template' %>)
-
 ## Prerequisites
 
 It is **very important** to meet the minimum version of the following
@@ -38,7 +26,7 @@ technologies that power Apache PredictionIO (incubating).
 
 * Apache Hadoop 2.4.0 (optional, required only if YARN and HDFS are needed)
 * Apache Spark 1.4.0 for Hadoop 2.4
-* Java SE Development Kit 7
+* Java SE Development Kit 8
 
 and one of the following sets:
 
@@ -65,11 +53,7 @@ mode](http://spark.apache.org/docs/latest/spark-standalone.html).
 Apache PredictionIO (incubating) runs on a Java virtual machine, so it runs on
 most platforms. Choose your platform below:
 
-[//]: # (* [Installing Apache PredictionIO (incubating) on Linux / Mac OS X](install-linux.html))
 * [Installing Apache PredictionIO (incubating) from Source Code](install-sourcecode.html)
-[//]: # (* [Installing Apache PredictionIO (incubating) with Vagrant (VirtualBox)](install-vagrant.html))
-[//]: # (* [Installing Apache PredictionIO (incubating) with Terminal.com Snap](https://www.terminal.com/snapshot/f444bfb7538dfc596485374f56167ec6f79cbc16f793f013ad120067070eb81a))
-
 
 You may also use one of the community-contributed packages to install
 Apache PredictionIO (incubating):

http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/bea82a6c/docs/manual/source/install/install-sourcecode.html.md.erb
----------------------------------------------------------------------
diff --git a/docs/manual/source/install/install-sourcecode.html.md.erb b/docs/manual/source/install/install-sourcecode.html.md.erb
index a795b82..7d5614f 100644
--- a/docs/manual/source/install/install-sourcecode.html.md.erb
+++ b/docs/manual/source/install/install-sourcecode.html.md.erb
@@ -32,7 +32,12 @@ data.versions.pio %>.tar.gz).
 ## Building
 
 Run the following at the directory where you downloaded the source code to build
-Apache PredictionIO (incubating).
+Apache PredictionIO (incubating). By default, the build will be against
+
+* Scala 2.10.6
+* Spark 1.6.3
+* Hadoop 2.6.5
+* Elasticsearch 1.7.6
 
 ```
 $ tar zxvf apache-predictionio-<%= data.versions.pio %>.tar.gz
@@ -57,6 +62,23 @@ Extract the binary distribution you have just built.
 $ tar zxvf PredictionIO-<%= data.versions.pio %>.tar.gz
 ```
 
+### Building against Different Versions of Dependencies
+
+Starting from version 0.11.0, PredictionIO can be built against different
+versions of dependencies. As of writing, one could build PredictionIO against
+these different dependencies:
+
+* Scala 2.10.x, 2.11.x
+* Spark 1.6.x, 2.x
+* Hadoop 2.4.x to 2.7.x
+* Elasticsearch 1.x, 5.x
+
+As an example, if you want to build PredictionIO to support Scala 2.11.8,
+Spark 2.1.0, and Elasticsearch 5.3.0, you can do
+
+```
+$ ./make-distribution.sh -Dscala.version=2.11.8 -Dspark.version=2.1.0 -Delasticsearch.version=5.3.0
+```
 
 ## Installing Dependencies
 
@@ -76,7 +98,9 @@ $ mkdir PredictionIO-<%= data.versions.pio %>/vendors
 
 ### Storage Setup
 
-#### PostgreSQL Setup
+#### <a name="pgsql"></a>PostgreSQL Setup
+
+WARNING: You may skip this section if you are not using PostgreSQL.
 
 <%=partial 'shared/install/postgres' %>
 
@@ -84,14 +108,14 @@ $ mkdir PredictionIO-<%= data.versions.pio %>/vendors
 
 ##### Elasticsearch Setup
 
-WARNING: You may skip this section if you are using PostgreSQL or MySQL.
+WARNING: You may skip this section if you are not using Elasticsearch.
 
 <%= partial 'shared/install/elasticsearch' %>
 
 
 ##### <a name="hbase"></a>HBase Setup
 
-WARNING: You may skip this section if you are using PostgreSQL or MySQL.
+WARNING: You may skip this section if you are not using HBase.
 
 <%= partial 'shared/install/hbase' %>
 

http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/bea82a6c/docs/manual/source/install/install-vagrant.html.md.erb
----------------------------------------------------------------------
diff --git a/docs/manual/source/install/install-vagrant.html.md.erb b/docs/manual/source/install/install-vagrant.html.md.erb
index 8cd4fd0..9e91b94 100644
--- a/docs/manual/source/install/install-vagrant.html.md.erb
+++ b/docs/manual/source/install/install-vagrant.html.md.erb
@@ -75,7 +75,7 @@ When it finishes successfully, you should see somthing like the following:
 ==> default: Check the status with: 'pio status'
 ==> default: Use: 'pio [train|deploy|...]' commands
 ==> default: Please report any problems to: support@prediction.io
-==> default: Documentation at: http://docs.prediction.io
+==> default: Documentation at: http://predictionio.incubator.apache.org
 ==> default: --------------------------------------------------------------------------------
 ==> default: Finish PredictionIO installation.
 ```

http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/bea82a6c/docs/manual/source/partials/_action_call.html.slim
----------------------------------------------------------------------
diff --git a/docs/manual/source/partials/_action_call.html.slim b/docs/manual/source/partials/_action_call.html.slim
index 7554540..2b824a6 100644
--- a/docs/manual/source/partials/_action_call.html.slim
+++ b/docs/manual/source/partials/_action_call.html.slim
@@ -7,7 +7,7 @@
           p
             | Please take a look at the
             = succeed "." do
-              a href="//docs.prediction.io/" target="blank"  Docs
+              a href="//predictionio.incubator.apache.org/" target="blank"  Docs
             | It is helpful to read through a few examples.
       .col-md-4.col-xs-12
         .action-square

http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/bea82a6c/docs/manual/source/partials/_footer.html.slim
----------------------------------------------------------------------
diff --git a/docs/manual/source/partials/_footer.html.slim b/docs/manual/source/partials/_footer.html.slim
index c9c9565..feb1d0c 100644
--- a/docs/manual/source/partials/_footer.html.slim
+++ b/docs/manual/source/partials/_footer.html.slim
@@ -8,8 +8,8 @@ footer
         .footer-link-column-row
           h4 Community
           ul
-            li: a href="//docs.prediction.io/install/" target="blank" Download
-            li: a href="//docs.prediction.io/" target="blank" Docs
+            li: a href="//predictionio.incubator.apache.org/install/" target="blank" Download
+            li: a href="//predictionio.incubator.apache.org/" target="blank" Docs
             li: a href="//github.com/apache/incubator-predictionio" target="blank" GitHub
             li: a href="mailto:user-subscribe@predictionio.incubator.apache.org" target="blank" Subscribe to User Mailing List
             li: a href="//stackoverflow.com/questions/tagged/predictionio" target="blank" Stackoverflow

http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/bea82a6c/docs/manual/source/partials/shared/install/_elasticsearch.html.erb
----------------------------------------------------------------------
diff --git a/docs/manual/source/partials/shared/install/_elasticsearch.html.erb b/docs/manual/source/partials/shared/install/_elasticsearch.html.erb
index 40e16b1..5befd71 100644
--- a/docs/manual/source/partials/shared/install/_elasticsearch.html.erb
+++ b/docs/manual/source/partials/shared/install/_elasticsearch.html.erb
@@ -15,11 +15,14 @@ See the License for the specific language governing permissions and
 limitations under the License.
 -->
 
-[Elasticsearch](http://www.elasticsearch.org/) is the default metadata store for
-PredictionIO. Download and extract it.
+[Elasticsearch](https://www.elastic.co/) can be used as a storage backend for
+the meta data repository.
+
+INFO: Starting from 0.11.0, if you build PredictionIO against Elasticsearch 5+,
+you may also use it as a backend for the event data repository.
 
 ```
-$ wget https://download.elasticsearch.org/elasticsearch/elasticsearch/<%= data.versions.elasticsearch_download_filename %>.tar.gz
+$ wget https://download.elastic.co/elasticsearch/elasticsearch/<%= data.versions.elasticsearch_download_filename %>.tar.gz
 $ tar zxvfC <%= data.versions.elasticsearch_download_filename %>.tar.gz PredictionIO-<%= data.versions.pio %>/vendors
 ```
 

http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/bea82a6c/docs/manual/source/partials/shared/install/_hbase.html.erb
----------------------------------------------------------------------
diff --git a/docs/manual/source/partials/shared/install/_hbase.html.erb b/docs/manual/source/partials/shared/install/_hbase.html.erb
index 78395eb..9d0cbdb 100644
--- a/docs/manual/source/partials/shared/install/_hbase.html.erb
+++ b/docs/manual/source/partials/shared/install/_hbase.html.erb
@@ -15,11 +15,15 @@ See the License for the specific language governing permissions and
 limitations under the License.
 -->
 
-[HBase](http://hbase.apache.org) is the default event data store for
-PredictionIO. Download and extract it.
+[HBase](http://hbase.apache.org) can be used as the backend of the event data
+repository.
+
+Download HBase from a [mirror](http://www.apache.org/dyn/closer.cgi/hbase/<%=
+data.versions.hbase_version %>/<%= data.versions.hbase_basename %>-<%=
+data.versions.hbase_variant %>.tar.gz). Extract HBase by following the example
+below.
 
 ```
-$ wget http://archive.apache.org/dist/hbase/<%= data.versions.hbase_basename %>/<%= data.versions.hbase_basename %>-<%= data.versions.hbase_variant %>.tar.gz
 $ tar zxvfC <%= data.versions.hbase_basename %>-<%= data.versions.hbase_variant %>.tar.gz PredictionIO-<%= data.versions.pio %>/vendors
 ```
 

http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/bea82a6c/docs/manual/source/partials/shared/install/_postgres.html.erb
----------------------------------------------------------------------
diff --git a/docs/manual/source/partials/shared/install/_postgres.html.erb b/docs/manual/source/partials/shared/install/_postgres.html.erb
index 8302e5d..a2e6e99 100644
--- a/docs/manual/source/partials/shared/install/_postgres.html.erb
+++ b/docs/manual/source/partials/shared/install/_postgres.html.erb
@@ -15,25 +15,31 @@ See the License for the specific language governing permissions and
 limitations under the License.
 -->
 
-Setting up [PostgreSQL](http://www.postgresql.org/) to work with PredictionIO.
+[PostgreSQL](https://www.postgresql.org/) can be used by PredictionIO as a
+storage backend for all 3 repositories (event data, meta data, and model data).
+This is perhaps the easiest route if you are trying PredictionIO for the first
+time.
 
-Make sure you have PostgreSQL installed. For Mac Users, [Homebrew](brew.sh) is recommended and can be used as
+Make sure you have PostgreSQL installed. For Mac Users,
+[Homebrew](https://brew.sh/) is recommended and can be used as
 
 ```
 $ brew install postgresql
 ```
 or on Ubuntu:
+
 ```
-apt-get install postgresql-9.4 
+$ apt-get install postgresql
 ```
 
 Now that PostgreSQL is installed use the following comands
 
 ```
 $ createdb pio
-``` 
+```
 
-If you get an error of the form `could not connect to server: No such file or directory`, then you must first start the server manually,:
+If you get an error of the form `could not connect to server: No such file or
+directory`, then you must first start the server manually,:
 
 ```
 $ pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log start
@@ -45,4 +51,9 @@ Finally use the command:
 $ psql -c "create user pio with password 'pio'"
 ```
 
-Your configuration  in `pio-env.sh` is now compatible to run with PostgreSQL.
+Starting from 0.11.0, PredictionIO no longer bundles JDBC drivers. Download the
+PostgreSQL JDBC driver from the [official web
+site](https://jdbc.postgresql.org/), and put the JAR file in the `lib`
+subdirectory. By default, `conf/pio-env.sh` assumes version 42.0.0 JDBC 4.2. If
+you use a different version, modify `POSTGRES_JDBC_DRIVER` to point to the
+correct JAR.

http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/bea82a6c/docs/manual/source/resources/faq.html.md
----------------------------------------------------------------------
diff --git a/docs/manual/source/resources/faq.html.md b/docs/manual/source/resources/faq.html.md
index 80d98d5..a08d631 100644
--- a/docs/manual/source/resources/faq.html.md
+++ b/docs/manual/source/resources/faq.html.md
@@ -24,7 +24,7 @@ the user mailing list. You can follow the instructions [here](/support).
 
 ## Using PredictionIO
 
-### Q: How do I check to see if various dependencies, such as ElasticSearch and HBase, are running?
+### Q: How do I check to see if various dependencies, such as Elasticsearch and HBase, are running?
 
 You can run `$ pio status` from the terminal and it will return the status of various components that PredictionIO depends on.
 
@@ -52,7 +52,7 @@ Storage Backend Connections
 Your system is all ready to go.
 ```
 
-- If you see the following error message, it usually means ElasticSearch is not running properly:
+- If you see the following error message, it usually means Elasticsearch is not running properly:
 
 ```
   ...
@@ -66,9 +66,9 @@ Caused by: org.elasticsearch.client.transport.NoNodeAvailableException: None of
 Unable to connect to all storage backend(s) successfully. Please refer to error message(s) above. Aborting.
 ```
 
-You can check if there is any ElasticSearch process by running 'jps'.
+You can check if there is any Elasticsearch process by running 'jps'.
 
-Please see **How to start elasticsearch** below.
+Please see **How to start Elasticsearch** below.
 
 - If you see the following error message, it usually means HBase is not running properly:
 
@@ -94,22 +94,26 @@ You can check if there is any HBase-related process by running 'jps'.
 
 Please see **How to start HBase** below.
 
-### Q: How to start ElasticSearch?
+### Q: How to start Elasticsearch?
 
-If you used the [install script](/install/install-linux/#quick-install) to install PredictionIO, the ElasticSearch is installed at `~/PredictionIO/vendors/elasticsearch-x.y.z/` where x.y.z is the
-version number (currently it's 1.4.4). To start it, run:
+If you followed the [instructions](/install/install-sourcecode/) to install
+PredictionIO, Elasticsearch would have been installed at
+`PredictionIO/vendors/elasticsearch-x.y.z/` where x.y.z is the version number.
+To start it, run:
 
 ```
 $ ~/PredictionIO/vendors/elasticsearch-x.y.z/bin/elasticsearch
 ```
 
-If you didn't use install script, please go to where ElasticSearch is installed to start it.
+If you didn't use install script, please go to where Elasticsearch is installed to start it.
 
-INFO: It may take some time (15 seconds or so) for ElasticSearch to become ready after you start it (wait a bit before you run `pio status` again).
+INFO: It may take some time (15 seconds or so) for Elasticsearch to become ready after you start it (wait a bit before you run `pio status` again).
 
 ### Q: How to start HBase ?
 
-If you used the [install script](/install/install-linux/#quick-install) to install PredictionIO, the HBase is installed at `~/PredictionIO/vendors/hbase-x.y.z/` where x.y.z is the version number (currently it's 0.98.6). To start it, run:
+If you followed the [instructions](/install/install-sourcecode/) to install
+PredictionIO, the HBase is installed at `~/PredictionIO/vendors/hbase-x.y.z/`
+where x.y.z is the version number. To start it, run:
 
 ```
 $ ~/PredictionIO/vendors/hbase-x.y.z/bin/start-hbase.sh
@@ -117,7 +121,8 @@ $ ~/PredictionIO/vendors/hbase-x.y.z/bin/start-hbase.sh
 
 If you didn't use install script, please go to where HBase is installed to start it.
 
-INFO: It may take some time (15 seconds or so) for HBase to become ready after you start it (wait a bit before you run `pio status` again).
+INFO: It may take some time (15 seconds or so) for HBase to become ready after
+you start it (wait a bit before you run `pio status` again).
 
 
 ## Problem with Event Server
@@ -163,7 +168,8 @@ $ pio train -- --conf spark.akka.frameSize=1024
 
 ### Q: How to increase heap space memory for "pio deploy"?
 
-If you see the following error during `pio deploy`, it means there is not enough heap space memory.
+If you see the following error during `pio deploy`, it means there is not enough
+heap space memory.
 
 ```
 ...
@@ -172,7 +178,8 @@ If you see the following error during `pio deploy`, it means there is not enough
 ...
 ```
 
-To increase the heap space, specify the "-- --driver-memory " parameter in the command. For example, set the driver memory to 8G when deploy the engine:
+To increase the heap space, specify the "-- --driver-memory " parameter in the
+command. For example, set the driver memory to 8G when deploy the engine:
 
 ```
 $ pio deploy -- --driver-memory 8G
@@ -206,9 +213,9 @@ drwxr-xr-x 17 yipjustin yipjustin      4096 Nov 12 00:09 ..
 PredictionIO/assembly$ rm pio-assembly-0.8.1-SNAPSHOT.jar
 ```
 
-### Q: How to resolve ".......[error] (data/compile:compile) java.lang.AssertionError: assertion failed: java.lang.AutoCloseable" when ./make_distribution.sh?
+### Q: How to resolve ".......\[error\] (data/compile:compile) java.lang.AssertionError: assertion failed: java.lang.AutoCloseable" when ./make_distribution.sh?
 
-PredictionIO only support Java 7 or later. Please make sure you have the
+PredictionIO only support Java 8 or later. Please make sure you have the
 correct Java version with the command:
 
 ```
@@ -219,9 +226,16 @@ $ javac -version
 
 ### Q: What's the difference between P- and L- prefixed classes and functions?
 
-PredictionIO v0.8 is built on the top of Spark, a massively scalable programming framework. A spark algorithm is different from conventional single machine algorithm in a way that spark algorithms use the [RDD](http://spark.apache.org/docs/1.0.1/programming-guide.html#resilient-distributed-datasets-rdds) abstraction as its primary data type.
+PredictionIO v0.8 is built on the top of Spark, a massively scalable programming
+framework. A spark algorithm is different from conventional single machine
+algorithm in a way that spark algorithms use the
+[RDD](http://spark.apache.org/docs/1.0.1/programming-guide.html#resilient-distributed-datasets-rdds)
+abstraction as its primary data type.
 
-PredictionIO framework natively support both RDD-based algorithms and traditional single-machine algorithms. For controllers prefixed by "P" (i.e. PJavaDataSource, PJavaAlgorithm), their data include RDD abstraction; For "L" controllers, they are traditional single machine algorithms.
+PredictionIO framework natively support both RDD-based algorithms and
+traditional single-machine algorithms. For controllers prefixed by "P" (i.e.
+PJavaDataSource, PJavaAlgorithm), their data include RDD abstraction; For "L"
+controllers, they are traditional single machine algorithms.
 
 ## Running HBase
 

http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/bea82a6c/docs/manual/source/resources/upgrade.html.md
----------------------------------------------------------------------
diff --git a/docs/manual/source/resources/upgrade.html.md b/docs/manual/source/resources/upgrade.html.md
index 2e30123..f708fb8 100644
--- a/docs/manual/source/resources/upgrade.html.md
+++ b/docs/manual/source/resources/upgrade.html.md
@@ -21,18 +21,29 @@ limitations under the License.
 
 This page highlights major changes in each version and upgrade tools.
 
-# How to upgrade
+# How to Upgrade
 
 To upgrade and use new version of PredictionIO, do the following:
 
-- Download and unzip the new PredictionIO binary (the download path can be found in the [Download PredictionIO section](/install/install-linux/#method-2:-manual-install))
-- Retain the setting from current PredictionIO/conf/pio-env.sh to the new PredictionIO/conf/pio-env.sh.
-- If you have added PredictionIO/bin to your `PATH` environment variable before, change it to the new PredictionIO/bin as well.
+- Download and build the new PredictionIO binary
+  [(instructions)](/install/install-sourcecode/).
+- Retain the setting from current `PredictionIO/conf/pio-env.sh` to the new
+  `PredictionIO/conf/pio-env.sh`.
+- If you have added `PredictionIO/bin` to your `PATH` environment variable before,
+  change it to the new `PredictionIO/bin` as well.
 
 # Additional Notes for Specific Versions Upgrade
 
 In addition, please take notes of the following for specific version upgrade.
 
+## Upgrade to 0.11.0
+
+Starting from 0.11.0, PredictionIO no longer bundles any JDBC drivers in the
+binary assembly. If your setup is using a JDBC backend and you run into storage
+connection errors after an upgrade, please manually install the JDBC driver. If
+you use PostgreSQL, you can find instructions
+[here](/install/install-sourcecode#pgsql).
+
 ## Upgrade to 0.9.2
 
 The Spark dependency has been upgraded to version 1.3.0. All engines must be

http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/bea82a6c/docs/manual/source/sdk/java.html.md.erb
----------------------------------------------------------------------
diff --git a/docs/manual/source/sdk/java.html.md.erb b/docs/manual/source/sdk/java.html.md.erb
index 3923635..7b1cc28 100644
--- a/docs/manual/source/sdk/java.html.md.erb
+++ b/docs/manual/source/sdk/java.html.md.erb
@@ -21,7 +21,7 @@ limitations under the License.
 
 ## API Docs
 
-[View API documentation](http://docs.prediction.io/java/api/) for version <%= data.versions.pio %>.
+[View API documentation](http://predictionio.incubator.apache.org/java/api/) for version <%= data.versions.pio %>.
 
 ## Central Repository
 

http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/bea82a6c/docs/manual/source/sdk/php.html.md.erb
----------------------------------------------------------------------
diff --git a/docs/manual/source/sdk/php.html.md.erb b/docs/manual/source/sdk/php.html.md.erb
index 4a9930c..b51a4c3 100644
--- a/docs/manual/source/sdk/php.html.md.erb
+++ b/docs/manual/source/sdk/php.html.md.erb
@@ -21,7 +21,7 @@ limitations under the License.
 
 ## API Docs
 
-[View API documentation](http://docs.prediction.io/php/api/) for version <%= data.versions.pio %>.
+[View API documentation](http://predictionio.incubator.apache.org/php/api/) for version <%= data.versions.pio %>.
 
 ## Packagist
 

http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/bea82a6c/docs/manual/source/sdk/ruby.html.md.erb
----------------------------------------------------------------------
diff --git a/docs/manual/source/sdk/ruby.html.md.erb b/docs/manual/source/sdk/ruby.html.md.erb
index b6548f7..ef08872 100644
--- a/docs/manual/source/sdk/ruby.html.md.erb
+++ b/docs/manual/source/sdk/ruby.html.md.erb
@@ -21,7 +21,7 @@ limitations under the License.
 
 ## API Docs
 
-[View API documentation](http://docs.prediction.io/ruby/api/PredictionIO.html) for version <%= data.versions.pio %>.
+[View API documentation](http://predictionio.incubator.apache.org/ruby/api/PredictionIO.html) for version <%= data.versions.pio %>.
 
 ## RubyGems
 

http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/bea82a6c/docs/manual/source/tryit/index.html.slim
----------------------------------------------------------------------
diff --git a/docs/manual/source/tryit/index.html.slim b/docs/manual/source/tryit/index.html.slim
index ee50c30..7918812 100644
--- a/docs/manual/source/tryit/index.html.slim
+++ b/docs/manual/source/tryit/index.html.slim
@@ -53,7 +53,7 @@ title: Try PredictionIO
 
           li
             h2 Next Steps
-            p #{link_to 'Install', 'http://docs.prediction.io/install/'} PredictionIO on your own computer!
+            p #{link_to 'Install', 'http://predictionio.incubator.apache.org/install/'} PredictionIO on your own computer!
             h3 Support
             p Get support on our #{link_to 'Google Group', 'https://groups.google.com/forum/#!forum/predictionio-user'} or on Twitter #{link_to '@PredictionIO', 'https://twitter.com/predictionio/'}
         .jcarousel-controls

http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/bea82a6c/tests/docker-files/env-conf/pio-env.sh
----------------------------------------------------------------------
diff --git a/tests/docker-files/env-conf/pio-env.sh b/tests/docker-files/env-conf/pio-env.sh
index 16f1fef..72a8f12 100644
--- a/tests/docker-files/env-conf/pio-env.sh
+++ b/tests/docker-files/env-conf/pio-env.sh
@@ -52,7 +52,7 @@ PIO_FS_TMPDIR=$PIO_FS_BASEDIR/tmp
 # storage facilities. Default values are shown below.
 #
 # For more information on storage configuration please refer to
-# https://docs.prediction.io/system/anotherdatastore/
+# https://predictionio.incubator.apache.org/system/anotherdatastore/
 
 # Storage Repositories
 

http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/bea82a6c/tests/pio_tests/engines/recommendation-engine/README.md
----------------------------------------------------------------------
diff --git a/tests/pio_tests/engines/recommendation-engine/README.md b/tests/pio_tests/engines/recommendation-engine/README.md
index 298321b..69bd6d9 100644
--- a/tests/pio_tests/engines/recommendation-engine/README.md
+++ b/tests/pio_tests/engines/recommendation-engine/README.md
@@ -19,7 +19,7 @@ limitations under the License.
 
 ## Documentation
 
-Please refer to http://docs.prediction.io/templates/recommendation/quickstart/
+Please refer to http://predictionio.incubator.apache.org/templates/recommendation/quickstart/
 
 ## Versions
 

http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/bea82a6c/tests/pio_tests/scenarios/eventserver_test.py
----------------------------------------------------------------------
diff --git a/tests/pio_tests/scenarios/eventserver_test.py b/tests/pio_tests/scenarios/eventserver_test.py
index 6f29876..f902f74 100644
--- a/tests/pio_tests/scenarios/eventserver_test.py
+++ b/tests/pio_tests/scenarios/eventserver_test.py
@@ -28,8 +28,8 @@ from pio_tests.integration import BaseTestCase, AppContext
 class EventserverTest(BaseTestCase):
   """ Integration test for PredictionIO Eventserver API
   Refer to below for further information:
-    http://docs.prediction.io/datacollection/eventmodel/
-    http://docs.prediction.io/datacollection/eventapi/
+    http://predictionio.incubator.apache.org/datacollection/eventmodel/
+    http://predictionio.incubator.apache.org/datacollection/eventapi/
   """
   # Helper methods
   def eventserver_url(self, path=None):

http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/bea82a6c/tests/pio_tests/utils.py
----------------------------------------------------------------------
diff --git a/tests/pio_tests/utils.py b/tests/pio_tests/utils.py
index 05c8d1c..b5e5fac 100644
--- a/tests/pio_tests/utils.py
+++ b/tests/pio_tests/utils.py
@@ -119,7 +119,7 @@ def send_events_batch(events, test_context, access_key, channel=None):
     channel (str): custom channel for storing event
   Returns: `requests.Response`
   Requires: Events length must not exceed length of 50
-    http://docs.prediction.io/datacollection/eventmodel/#3.-batch-events-to-the-eventserver
+    http://predictionio.incubator.apache.org/datacollection/eventmodel/#3.-batch-events-to-the-eventserver
   """
   url = 'http://{}:{}/batch/events.json'.format(
       test_context.es_ip, test_context.es_port)

http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/bea82a6c/tools/src/main/scala/org/apache/predictionio/tools/commands/Management.scala
----------------------------------------------------------------------
diff --git a/tools/src/main/scala/org/apache/predictionio/tools/commands/Management.scala b/tools/src/main/scala/org/apache/predictionio/tools/commands/Management.scala
index 47c9f3b..84242ea 100644
--- a/tools/src/main/scala/org/apache/predictionio/tools/commands/Management.scala
+++ b/tools/src/main/scala/org/apache/predictionio/tools/commands/Management.scala
@@ -158,10 +158,13 @@ object Management extends EitherLogging {
       case e: Throwable =>
         val errStr = s"""Unable to connect to all storage backends successfully.
             |The following shows the error message from the storage backend.
-            |${e.getMessage} (${e.getClass.getName})", e)
+            |
+            |${e.getMessage} (${e.getClass.getName})
+            |
             |Dumping configuration of initialized storage backend sources.
-            |"Please make sure they are correct.
-            |"""
+            |Please make sure they are correct.
+            |
+            |""".stripMargin
         val sources = storage.Storage.config.get("sources") map { src =>
           src map { case (s, p) =>
             s"Source Name: $s; Type: ${p.getOrElse("type", "(error)")}; " +


Mime
View raw message