http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/2e6db646/resources/upgrade/index.html
----------------------------------------------------------------------
diff --git a/resources/upgrade/index.html b/resources/upgrade/index.html
deleted file mode 100644
index 1d6337e..0000000
--- a/resources/upgrade/index.html
+++ /dev/null
@@ -1,278 +0,0 @@
-<!DOCTYPE html><html><head><title>Upgrade Instructions</title><meta 
charset="utf-8"/><meta content="IE=edge,chrome=1" 
http-equiv="X-UA-Compatible"/><meta name="viewport" 
content="width=device-width, initial-scale=1.0"/><meta class="swiftype" 
name="title" data-type="string" content="Upgrade Instructions"/><link 
rel="canonical" 
href="https://predictionio.incubator.apache.org/resources/upgrade/"/><link 
href="/images/favicon/normal-b330020a.png" rel="shortcut icon"/><link 
href="/images/favicon/apple-c0febcf2.png" rel="apple-touch-icon"/><link 
href="//fonts.googleapis.com/css?family=Open+Sans:300italic,400italic,600italic,700italic,800italic,400,300,600,700,800"
 rel="stylesheet"/><link 
href="//maxcdn.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.min.css" 
rel="stylesheet"/><link href="/stylesheets/application-3a3867f7.css" 
rel="stylesheet" type="text/css"/><script 
src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.2/html5shiv.min.js"></script><script
 src="//cdn.mathjax.org/mathjax
 /latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script><script 
src="//use.typekit.net/pqo0itb.js"></script><script>try{Typekit.load({ async: 
true });}catch(e){}</script></head><body><div id="global"><header><div 
class="container" id="header-wrapper"><div class="row"><div 
class="col-sm-12"><div id="logo-wrapper"><span id="drawer-toggle"></span><a 
href="#"></a><a href="http://predictionio.incubator.apache.org/";><img 
alt="PredictionIO" id="logo" 
src="/images/logos/logo-ee2b9bb3.png"/></a></div><div id="menu-wrapper"><div 
id="pill-wrapper"><a class="pill left" 
href="/gallery/template-gallery">TEMPLATES</a> <a class="pill right" 
href="//github.com/apache/incubator-predictionio/">OPEN 
SOURCE</a></div></div><img class="mobile-search-bar-toggler hidden-md 
hidden-lg" 
src="/images/icons/search-glass-704bd4ff.png"/></div></div></div></header><div 
id="search-bar-row-wrapper"><div class="container-fluid" 
id="search-bar-row"><div class="row"><div class="col-md-9 col-sm-11 
col-xs-11"><div class
 ="hidden-md hidden-lg" id="mobile-page-heading-wrapper"><p>PredictionIO 
Docs</p><h4>Upgrade Instructions</h4></div><h4 class="hidden-sm 
hidden-xs">PredictionIO Docs</h4></div><div class="col-md-3 col-sm-1 col-xs-1 
hidden-md hidden-lg"><img id="left-menu-indicator" 
src="/images/icons/down-arrow-dfe9f7fe.png"/></div><div class="col-md-3 
col-sm-12 col-xs-12 swiftype-wrapper"><div class="swiftype"><form 
class="search-form"><img class="search-box-toggler hidden-xs hidden-sm" 
src="/images/icons/search-glass-704bd4ff.png"/><div class="search-box"><img 
src="/images/icons/search-glass-704bd4ff.png"/><input type="text" 
id="st-search-input" class="st-search-input" placeholder="Search 
Doc..."/></div><img class="swiftype-row-hider hidden-md hidden-lg" 
src="/images/icons/drawer-toggle-active-fcbef12a.png"/></form></div></div><div 
class="mobile-left-menu-toggler hidden-md 
hidden-lg"></div></div></div></div><div id="page" class="container-fluid"><div 
class="row"><div id="left-menu-wrapper" class="c
 ol-md-3"><nav id="nav-main"><ul><li class="level-1"><a class="expandible" 
href="/"><span>Apache PredictionIO (incubating) Documentation</span></a><ul><li 
class="level-2"><a class="final" href="/"><span>Welcome to Apache PredictionIO 
(incubating)</span></a></li></ul></li><li class="level-1"><a class="expandible" 
href="#"><span>Getting Started</span></a><ul><li class="level-2"><a 
class="final" href="/start/"><span>A Quick Intro</span></a></li><li 
class="level-2"><a class="final" href="/install/"><span>Installing Apache 
PredictionIO (incubating)</span></a></li><li class="level-2"><a class="final" 
href="/start/download/"><span>Downloading an Engine Template</span></a></li><li 
class="level-2"><a class="final" href="/start/deploy/"><span>Deploying Your 
First Engine</span></a></li><li class="level-2"><a class="final" 
href="/start/customize/"><span>Customizing the 
Engine</span></a></li></ul></li><li class="level-1"><a class="expandible" 
href="#"><span>Integrating with Your App</span></a><ul
 ><li class="level-2"><a class="final" href="/appintegration/"><span>App 
 >Integration Overview</span></a></li><li class="level-2"><a class="expandible" 
 >href="/sdk/"><span>List of SDKs</span></a><ul><li class="level-3"><a 
 >class="final" href="/sdk/java/"><span>Java & Android SDK</span></a></li><li 
 >class="level-3"><a class="final" href="/sdk/php/"><span>PHP 
 >SDK</span></a></li><li class="level-3"><a class="final" 
 >href="/sdk/python/"><span>Python SDK</span></a></li><li class="level-3"><a 
 >class="final" href="/sdk/ruby/"><span>Ruby SDK</span></a></li><li 
 >class="level-3"><a class="final" href="/sdk/community/"><span>Community 
 >Powered SDKs</span></a></li></ul></li></ul></li><li class="level-1"><a 
 >class="expandible" href="#"><span>Deploying an Engine</span></a><ul><li 
 >class="level-2"><a class="final" href="/deploy/"><span>Deploying as a Web 
 >Service</span></a></li><li class="level-2"><a class="final" 
 >href="/batchpredict/"><span>Batch Predictions</span></a></li><li 
 >class="level-2"><a class="final
 " href="/deploy/monitoring/"><span>Monitoring Engine</span></a></li><li 
class="level-2"><a class="final" href="/deploy/engineparams/"><span>Setting 
Engine Parameters</span></a></li><li class="level-2"><a class="final" 
href="/deploy/enginevariants/"><span>Deploying Multiple Engine 
Variants</span></a></li><li class="level-2"><a class="final" 
href="/deploy/plugin/"><span>Engine Server Plugin</span></a></li></ul></li><li 
class="level-1"><a class="expandible" href="#"><span>Customizing an 
Engine</span></a><ul><li class="level-2"><a class="final" 
href="/customize/"><span>Learning DASE</span></a></li><li class="level-2"><a 
class="final" href="/customize/dase/"><span>Implement DASE</span></a></li><li 
class="level-2"><a class="final" 
href="/customize/troubleshooting/"><span>Troubleshooting Engine 
Development</span></a></li><li class="level-2"><a class="final" 
href="/api/current/#package"><span>Engine Scala 
APIs</span></a></li></ul></li><li class="level-1"><a class="expandible" 
href="#"><span
 >Collecting and Analyzing Data</span></a><ul><li class="level-2"><a 
 >class="final" href="/datacollection/"><span>Event Server 
 >Overview</span></a></li><li class="level-2"><a class="final" 
 >href="/datacollection/eventapi/"><span>Collecting Data with 
 >REST/SDKs</span></a></li><li class="level-2"><a class="final" 
 >href="/datacollection/eventmodel/"><span>Events Modeling</span></a></li><li 
 >class="level-2"><a class="final" 
 >href="/datacollection/webhooks/"><span>Unifying Multichannel Data with 
 >Webhooks</span></a></li><li class="level-2"><a class="final" 
 >href="/datacollection/channel/"><span>Channel</span></a></li><li 
 >class="level-2"><a class="final" 
 >href="/datacollection/batchimport/"><span>Importing Data in 
 >Batch</span></a></li><li class="level-2"><a class="final" 
 >href="/datacollection/analytics/"><span>Using Analytics 
 >Tools</span></a></li><li class="level-2"><a class="final" 
 >href="/datacollection/plugin/"><span>Event Server 
 >Plugin</span></a></li></ul></li><li class="level-1"><a class="expand
 ible" href="#"><span>Choosing an Algorithm(s)</span></a><ul><li 
class="level-2"><a class="final" href="/algorithm/"><span>Built-in Algorithm 
Libraries</span></a></li><li class="level-2"><a class="final" 
href="/algorithm/switch/"><span>Switching to Another 
Algorithm</span></a></li><li class="level-2"><a class="final" 
href="/algorithm/multiple/"><span>Combining Multiple 
Algorithms</span></a></li><li class="level-2"><a class="final" 
href="/algorithm/custom/"><span>Adding Your Own 
Algorithms</span></a></li></ul></li><li class="level-1"><a class="expandible" 
href="#"><span>ML Tuning and Evaluation</span></a><ul><li class="level-2"><a 
class="final" href="/evaluation/"><span>Overview</span></a></li><li 
class="level-2"><a class="final" 
href="/evaluation/paramtuning/"><span>Hyperparameter Tuning</span></a></li><li 
class="level-2"><a class="final" 
href="/evaluation/evaluationdashboard/"><span>Evaluation 
Dashboard</span></a></li><li class="level-2"><a class="final" 
href="/evaluation/metricchoo
 se/"><span>Choosing Evaluation Metrics</span></a></li><li class="level-2"><a 
class="final" href="/evaluation/metricbuild/"><span>Building Evaluation 
Metrics</span></a></li></ul></li><li class="level-1"><a class="expandible" 
href="#"><span>System Architecture</span></a><ul><li class="level-2"><a 
class="final" href="/system/"><span>Architecture Overview</span></a></li><li 
class="level-2"><a class="final" href="/system/anotherdatastore/"><span>Using 
Another Data Store</span></a></li></ul></li><li class="level-1"><a 
class="expandible" href="#"><span>PredictionIO Official 
Templates</span></a><ul><li class="level-2"><a class="final" 
href="/templates/"><span>Intro</span></a></li><li class="level-2"><a 
class="expandible" href="#"><span>Recommendation</span></a><ul><li 
class="level-3"><a class="final" 
href="/templates/recommendation/quickstart/"><span>Quick 
Start</span></a></li><li class="level-3"><a class="final" 
href="/templates/recommendation/dase/"><span>DASE</span></a></li><li class="le
 vel-3"><a class="final" 
href="/templates/recommendation/evaluation/"><span>Evaluation 
Explained</span></a></li><li class="level-3"><a class="final" 
href="/templates/recommendation/how-to/"><span>How-To</span></a></li><li 
class="level-3"><a class="final" 
href="/templates/recommendation/reading-custom-events/"><span>Read Custom 
Events</span></a></li><li class="level-3"><a class="final" 
href="/templates/recommendation/customize-data-prep/"><span>Customize Data 
Preparator</span></a></li><li class="level-3"><a class="final" 
href="/templates/recommendation/customize-serving/"><span>Customize 
Serving</span></a></li><li class="level-3"><a class="final" 
href="/templates/recommendation/training-with-implicit-preference/"><span>Train 
with Implicit Preference</span></a></li><li class="level-3"><a class="final" 
href="/templates/recommendation/blacklist-items/"><span>Filter Recommended 
Items by Blacklist in Query</span></a></li><li class="level-3"><a class="final" 
href="/templates/recommendation/
 batch-evaluator/"><span>Batch Persistable 
Evaluator</span></a></li></ul></li><li class="level-2"><a class="expandible" 
href="#"><span>E-Commerce Recommendation</span></a><ul><li class="level-3"><a 
class="final" href="/templates/ecommercerecommendation/quickstart/"><span>Quick 
Start</span></a></li><li class="level-3"><a class="final" 
href="/templates/ecommercerecommendation/dase/"><span>DASE</span></a></li><li 
class="level-3"><a class="final" 
href="/templates/ecommercerecommendation/how-to/"><span>How-To</span></a></li><li
 class="level-3"><a class="final" 
href="/templates/ecommercerecommendation/train-with-rate-event/"><span>Train 
with Rate Event</span></a></li><li class="level-3"><a class="final" 
href="/templates/ecommercerecommendation/adjust-score/"><span>Adjust 
Score</span></a></li></ul></li><li class="level-2"><a class="expandible" 
href="#"><span>Similar Product</span></a><ul><li class="level-3"><a 
class="final" href="/templates/similarproduct/quickstart/"><span>Quick 
Start</spa
 n></a></li><li class="level-3"><a class="final" 
href="/templates/similarproduct/dase/"><span>DASE</span></a></li><li 
class="level-3"><a class="final" 
href="/templates/similarproduct/how-to/"><span>How-To</span></a></li><li 
class="level-3"><a class="final" 
href="/templates/similarproduct/multi-events-multi-algos/"><span>Multiple 
Events and Multiple Algorithms</span></a></li><li class="level-3"><a 
class="final" 
href="/templates/similarproduct/return-item-properties/"><span>Returns Item 
Properties</span></a></li><li class="level-3"><a class="final" 
href="/templates/similarproduct/train-with-rate-event/"><span>Train with Rate 
Event</span></a></li><li class="level-3"><a class="final" 
href="/templates/similarproduct/rid-user-set-event/"><span>Get Rid of Events 
for Users</span></a></li><li class="level-3"><a class="final" 
href="/templates/similarproduct/recommended-user/"><span>Recommend 
Users</span></a></li></ul></li><li class="level-2"><a class="expandible" 
href="#"><span>Classification<
 /span></a><ul><li class="level-3"><a class="final" 
href="/templates/classification/quickstart/"><span>Quick 
Start</span></a></li><li class="level-3"><a class="final" 
href="/templates/classification/dase/"><span>DASE</span></a></li><li 
class="level-3"><a class="final" 
href="/templates/classification/how-to/"><span>How-To</span></a></li><li 
class="level-3"><a class="final" 
href="/templates/classification/add-algorithm/"><span>Use Alternative 
Algorithm</span></a></li><li class="level-3"><a class="final" 
href="/templates/classification/reading-custom-properties/"><span>Read Custom 
Properties</span></a></li></ul></li></ul></li><li class="level-1"><a 
class="expandible" href="#"><span>Engine Template Gallery</span></a><ul><li 
class="level-2"><a class="final" 
href="/gallery/template-gallery/"><span>Browse</span></a></li><li 
class="level-2"><a class="final" 
href="/community/submit-template/"><span>Submit your Engine as a 
Template</span></a></li></ul></li><li class="level-1"><a class="expandi
 ble" href="#"><span>Demo Tutorials</span></a><ul><li class="level-2"><a 
class="final" href="/demo/tapster/"><span>Comics Recommendation 
Demo</span></a></li><li class="level-2"><a class="final" 
href="/demo/community/"><span>Community Contributed Demo</span></a></li><li 
class="level-2"><a class="final" href="/demo/textclassification/"><span>Text 
Classification Engine Tutorial</span></a></li></ul></li><li class="level-1"><a 
class="expandible" href="/community/"><span>Getting Involved</span></a><ul><li 
class="level-2"><a class="final" 
href="/community/contribute-code/"><span>Contribute Code</span></a></li><li 
class="level-2"><a class="final" 
href="/community/contribute-documentation/"><span>Contribute 
Documentation</span></a></li><li class="level-2"><a class="final" 
href="/community/contribute-sdk/"><span>Contribute a SDK</span></a></li><li 
class="level-2"><a class="final" 
href="/community/contribute-webhook/"><span>Contribute a 
Webhook</span></a></li><li class="level-2"><a class="final
 " href="/community/projects/"><span>Community 
Projects</span></a></li></ul></li><li class="level-1"><a class="expandible" 
href="#"><span>Getting Help</span></a><ul><li class="level-2"><a class="final" 
href="/resources/faq/"><span>FAQs</span></a></li><li class="level-2"><a 
class="final" href="/support/"><span>Support</span></a></li></ul></li><li 
class="level-1"><a class="expandible" 
href="#"><span>Resources</span></a><ul><li class="level-2"><a class="final" 
href="/cli/"><span>Command-line Interface</span></a></li><li class="level-2"><a 
class="final" href="/resources/release/"><span>Release 
Cadence</span></a></li><li class="level-2"><a class="final" 
href="/resources/intellij/"><span>Developing Engines with IntelliJ 
IDEA</span></a></li><li class="level-2"><a class="final active" 
href="/resources/upgrade/"><span>Upgrade Instructions</span></a></li><li 
class="level-2"><a class="final" 
href="/resources/glossary/"><span>Glossary</span></a></li></ul></li><li 
class="level-1"><a class="expand
 ible" href="#"><span>Apache Software Foundation</span></a><ul><li 
class="level-2"><a class="final" href="https://www.apache.org/";><span>Apache 
Homepage</span></a></li><li class="level-2"><a class="final" 
href="https://www.apache.org/licenses/";><span>License</span></a></li><li 
class="level-2"><a class="final" 
href="https://www.apache.org/foundation/sponsorship.html";><span>Sponsorship</span></a></li><li
 class="level-2"><a class="final" 
href="https://www.apache.org/foundation/thanks.html";><span>Thanks</span></a></li><li
 class="level-2"><a class="final" 
href="https://www.apache.org/security/";><span>Security</span></a></li></ul></li></ul></nav></div><div
 class="col-md-9 col-sm-12"><div class="content-header hidden-md 
hidden-lg"><div id="breadcrumbs" class="hidden-sm hidden xs"><ul><li><a 
href="#">Resources</a><span class="spacer">&gt;</span></li><li><span 
class="last">Upgrade Instructions</span></li></ul></div><div 
id="page-title"><h1>Upgrade Instructions</h1></div></div><div id="table-o
 f-content-wrapper"><h5>On this page</h5><aside id="table-of-contents"><ul> 
<li> <a href="#how-to-upgrade">How to Upgrade</a> </li> <li> <a 
href="#additional-notes-for-specific-versions-upgrade">Additional Notes for 
Specific Versions Upgrade</a> <ul> <li> <a href="#upgrade-to-0-12-0">Upgrade to 
0.12.0</a> </li> <li> <a href="#upgrade-to-0-11-0">Upgrade to 0.11.0</a> </li> 
<li> <a href="#upgrade-to-0-9-2">Upgrade to 0.9.2</a> </li> <li> <a 
href="#upgrade-to-0-9-0">Upgrade to 0.9.0</a> </li> <li> <a 
href="#upgrade-to-0-8-4">Upgrade to 0.8.4</a> </li> <li> <a 
href="#upgrade-from-0-8-2-to-0-8-3">Upgrade from 0.8.2 to 0.8.3</a> </li> <li> 
<a href="#schema-changes-in-0-8-2">Schema Changes in 0.8.2</a> </li> <li> <a 
href="#experimental-upgrade-tool-upgrade-hbase-schema-from-0-8-0-0-8-1-to-0-8-2">Experimental
 upgrade tool (Upgrade HBase schema from 0.8.0/0.8.1 to 0.8.2)</a> </li> </ul> 
</li> </ul> </aside><hr/><a id="edit-page-link" 
href="https://github.com/apache/incubator-predictionio/tree
 /livedoc/docs/manual/source/resources/upgrade.html.md"><img 
src="/images/icons/edit-pencil-d6c1bb3d.png"/>Edit this page</a></div><div 
class="content-header hidden-sm hidden-xs"><div id="breadcrumbs" 
class="hidden-sm hidden xs"><ul><li><a href="#">Resources</a><span 
class="spacer">&gt;</span></li><li><span class="last">Upgrade 
Instructions</span></li></ul></div><div id="page-title"><h1>Upgrade 
Instructions</h1></div></div><div class="content"> <p>This page highlights 
major changes in each version and upgrade tools.</p><h1 id='how-to-upgrade' 
class='header-anchors'>How to Upgrade</h1><p>To upgrade and use new version of 
PredictionIO, do the following:</p> <ul> <li>Download and build the new 
PredictionIO binary <a 
href="/install/install-sourcecode/">(instructions)</a>.</li> <li>Retain the 
setting from current <code>PredictionIO/conf/pio-env.sh</code> to the new 
<code>PredictionIO/conf/pio-env.sh</code>.</li> <li>If you have added 
<code>PredictionIO/bin</code> to your <code>PATH</code>
  environment variable before, change it to the new 
<code>PredictionIO/bin</code> as well.</li> </ul> <h1 
id='additional-notes-for-specific-versions-upgrade' 
class='header-anchors'>Additional Notes for Specific Versions Upgrade</h1><p>In 
addition, please take notes of the following for specific version 
upgrade.</p><h2 id='upgrade-to-0.12.0' class='header-anchors'>Upgrade to 
0.12.0</h2><p>In 0.12.0, Elasticsearch 5.x client has been reimplemented as a 
singleton. Engine templates directly using Elasticsearch 5.x StorageClient 
require update for compatibility. See <a 
href="https://github.com/apache/incubator-predictionio/pull/421";>pull 
request</a> for details.</p><h2 id='upgrade-to-0.11.0' 
class='header-anchors'>Upgrade to 0.11.0</h2><p>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 PostgreSQ
 L, you can find instructions <a 
href="/install/install-sourcecode#pgsql">here</a>.</p><h2 id='upgrade-to-0.9.2' 
class='header-anchors'>Upgrade to 0.9.2</h2><p>The Spark dependency has been 
upgraded to version 1.3.0. All engines must be rebuilt against it in order to 
work.</p><p>Open and edit <code>build.sbt</code> of your engine, and look for 
these two lines:</p><div class="highlight scala"><table style="border-spacing: 
0"><tbody><tr><td class="gutter gl" style="text-align: right"><pre 
class="lineno">1
-2
-3</pre></td><td class="code"><pre><span class="s">"org.apache.spark"</span> 
<span class="o">%%</span> <span class="s">"spark-core"</span>    <span 
class="o">%</span> <span class="s">"1.2.0"</span> <span class="o">%</span> 
<span class="s">"provided"</span>
-
-<span class="s">"org.apache.spark"</span> <span class="o">%%</span> <span 
class="s">"spark-mllib"</span>   <span class="o">%</span> <span 
class="s">"1.2.0"</span> <span class="o">%</span> <span 
class="s">"provided"</span>
-</pre></td></tr></tbody></table> </div> <p>Change <code>1.2.0</code> to 
<code>1.3.0</code>, and do a clean rebuild by <code>pio build --clean</code>. 
Your engine should now work with the latest Apache Spark.</p><h3 
id='new-peventstore-and-leventstore-api' class='header-anchors'>New PEventStore 
and LEventStore API</h3><p>In addition, new PEventStore and LEventStore API are 
introduced so that appName can be used as parameters in engine.json to access 
Event Store.</p><div class="alert-message note"><p>The following changes are 
not required for using 0.9.2 but it&#39;s recommended to upgrade your engine 
code as described below because the old API will be deprecated.</p></div><h4 
id='1.-in-<strong>datasource.scala</strong>:' class='header-anchors' >1. In 
<strong>DataSource.scala</strong>:</h4> <ul> <li><p>remove this line of 
code:</p><div class="highlight scala"><table style="border-spacing: 
0"><tbody><tr><td class="gutter gl" style="text-align: right"><pre 
class="lineno">1</pre></td><td
  class="code"><pre><span class="k">import</span> <span 
class="nn">org.apache.predictionio.data.storage.Storage</span>
-</pre></td></tr></tbody></table> </div> <p>and replace it by</p><div 
class="highlight scala"><table style="border-spacing: 0"><tbody><tr><td 
class="gutter gl" style="text-align: right"><pre class="lineno">1</pre></td><td 
class="code"><pre><span class="k">import</span> <span 
class="nn">org.apache.predictionio.data.store.PEventStore</span>
-</pre></td></tr></tbody></table> </div></li> <li><p>Change <code>appId: 
Int</code> to <code>appName: String</code> in DataSourceParams</p><p>For 
example,</p><div class="highlight scala"><table style="border-spacing: 
0"><tbody><tr><td class="gutter gl" style="text-align: right"><pre 
class="lineno">1</pre></td><td class="code"><pre><span class="k">case</span> 
<span class="k">class</span> <span class="nc">DataSourceParams</span><span 
class="o">(</span><span class="n">appName</span><span class="k">:</span> <span 
class="kt">String</span><span class="o">)</span> <span class="k">extends</span> 
<span class="nc">Params</span>
-</pre></td></tr></tbody></table> </div></li> <li><p>remove this line of code: 
<code>val eventsDb = Storage.getPEvents()</code></p></li> <li><p>locate where 
<code>eventsDb.aggregateProperties()</code> is used, change it to 
<code>PEventStore.aggregateProperties()</code>:</p><p>For example,</p><div 
class="highlight scala"><table style="border-spacing: 0"><tbody><tr><td 
class="gutter gl" style="text-align: right"><pre class="lineno">1
-2
-3
-4
-5
-6</pre></td><td class="code"><pre>
-  <span class="k">val</span> <span class="n">usersRDD</span><span 
class="k">:</span> <span class="kt">RDD</span><span class="o">[(</span><span 
class="kt">String</span>, <span class="kt">User</span><span class="o">)]</span> 
<span class="k">=</span> <span class="nc">PEventStore</span><span 
class="o">.</span><span class="n">aggregateProperties</span><span 
class="o">(</span> <span class="c1">// CHANGED
-</span>    <span class="n">appName</span> <span class="k">=</span> <span 
class="n">dsp</span><span class="o">.</span><span class="n">appName</span><span 
class="o">,</span> <span class="c1">// CHANGED: use appName
-</span>    <span class="n">entityType</span> <span class="k">=</span> <span 
class="s">"user"</span>
-  <span class="o">)(</span><span class="n">sc</span><span 
class="o">).</span><span class="n">map</span> <span class="o">{</span> <span 
class="o">...</span> <span class="o">}</span>
-
-</pre></td></tr></tbody></table> </div></li> <li><p>locate where 
<code>eventsDb.find()</code>is used, change it to 
<code>PEventStore.find()</code></p><p>For example,</p><div class="highlight 
scala"><table style="border-spacing: 0"><tbody><tr><td class="gutter gl" 
style="text-align: right"><pre class="lineno">1
-2
-3
-4
-5
-6</pre></td><td class="code"><pre>
-  <span class="k">val</span> <span class="n">viewEventsRDD</span><span 
class="k">:</span> <span class="kt">RDD</span><span class="o">[</span><span 
class="kt">ViewEvent</span><span class="o">]</span> <span class="k">=</span> 
<span class="nc">PEventStore</span><span class="o">.</span><span 
class="n">find</span><span class="o">(</span> <span class="c1">// CHANGED
-</span>    <span class="n">appName</span> <span class="k">=</span> <span 
class="n">dsp</span><span class="o">.</span><span class="n">appName</span><span 
class="o">,</span> <span class="c1">// CHANGED: use appName
-</span>    <span class="n">entityType</span> <span class="k">=</span> <span 
class="nc">Some</span><span class="o">(</span><span 
class="s">"user"</span><span class="o">),</span>
-    <span class="o">...</span>
-
-</pre></td></tr></tbody></table> </div></li> </ul> <h4 
id='2.-in-<strong>xxxalgorithm.scala</strong>:' class='header-anchors' >2. In 
<strong>XXXAlgorithm.scala</strong>:</h4><p>If Storage.getLEvents() is also 
used in Algorithm (such as ALSAlgorithm of E-Commerce Recommendation template), 
you also need to do following:</p><div class="alert-message note"><p>If 
<code>org.apache.predictionio.data.storage.Storage</code> is not used at all 
(such as Recommendation, Similar Product, Classification, Lead Scoring, Product 
Ranking template), there is no need to change Algorithm and can go to the later 
<strong>engine.json</strong> section.</p></div> <ul> <li>remove <code>import 
org.apache.predictionio.data.storage.Storage</code> and replace it by 
<code>import org.apache.predictionio.data.store.LEventStore</code></li> 
<li>change <code>appId</code> to <code>appName</code> in the XXXAlgorithmParams 
class.</li> <li>remove this line of code: <code>@transient lazy val lEventsDb = 
Storage.getLEvents()
 </code></li> <li><p>locate where <code>LEventStore.findByEntity()</code> is 
used, change it to <code>LEventStore.findByEntity()</code>:</p><p>For example, 
change following code</p><div class="highlight scala"><table 
style="border-spacing: 0"><tbody><tr><td class="gutter gl" style="text-align: 
right"><pre class="lineno">1
-2
-3
-4
-5
-6
-7
-8
-9
-10
-11
-12
-13
-14
-15
-16</pre></td><td class="code"><pre>  <span class="o">...</span>
-  <span class="k">val</span> <span class="n">seenEvents</span><span 
class="k">:</span> <span class="kt">Iterator</span><span 
class="o">[</span><span class="kt">Event</span><span class="o">]</span> <span 
class="k">=</span> <span class="n">lEventsDb</span><span 
class="o">.</span><span class="n">findSingleEntity</span><span 
class="o">(</span>
-    <span class="n">appId</span> <span class="k">=</span> <span 
class="n">ap</span><span class="o">.</span><span class="n">appId</span><span 
class="o">,</span>
-    <span class="n">entityType</span> <span class="k">=</span> <span 
class="s">"user"</span><span class="o">,</span>
-    <span class="n">entityId</span> <span class="k">=</span> <span 
class="n">query</span><span class="o">.</span><span class="n">user</span><span 
class="o">,</span>
-    <span class="n">eventNames</span> <span class="k">=</span> <span 
class="nc">Some</span><span class="o">(</span><span class="n">ap</span><span 
class="o">.</span><span class="n">seenEvents</span><span class="o">),</span>
-    <span class="n">targetEntityType</span> <span class="k">=</span> <span 
class="nc">Some</span><span class="o">(</span><span class="nc">Some</span><span 
class="o">(</span><span class="s">"item"</span><span class="o">)),</span>
-    <span class="c1">// set time limit to avoid super long DB access
-</span>    <span class="n">timeout</span> <span class="k">=</span> <span 
class="nc">Duration</span><span class="o">(</span><span 
class="mi">200</span><span class="o">,</span> <span 
class="s">"millis"</span><span class="o">)</span>
-  <span class="o">)</span> <span class="k">match</span> <span 
class="o">{</span>
-    <span class="k">case</span> <span class="nc">Right</span><span 
class="o">(</span><span class="n">x</span><span class="o">)</span> <span 
class="k">=&gt;</span> <span class="n">x</span>
-    <span class="k">case</span> <span class="nc">Left</span><span 
class="o">(</span><span class="n">e</span><span class="o">)</span> <span 
class="k">=&gt;</span> <span class="o">{</span>
-      <span class="n">logger</span><span class="o">.</span><span 
class="n">error</span><span class="o">(</span><span class="n">s</span><span 
class="s">"Error when read seen events: ${e}"</span><span class="o">)</span>
-      <span class="nc">Iterator</span><span class="o">[</span><span 
class="kt">Event</span><span class="o">]()</span>
-    <span class="o">}</span>
-  <span class="o">}</span>
-</pre></td></tr></tbody></table> </div> <p>to</p><div class="highlight 
scala"><table style="border-spacing: 0"><tbody><tr><td class="gutter gl" 
style="text-align: right"><pre class="lineno">1
-2
-3
-4
-5
-6
-7
-8
-9
-10
-11
-12
-13
-14
-15
-16
-17
-18
-19</pre></td><td class="code"><pre>  <span class="k">val</span> <span 
class="n">seenEvents</span><span class="k">:</span> <span 
class="kt">Iterator</span><span class="o">[</span><span 
class="kt">Event</span><span class="o">]</span> <span class="k">=</span> <span 
class="k">try</span> <span class="o">{</span> <span class="c1">// CHANGED: try 
catch block is used
-</span>    <span class="nc">LEventStore</span><span class="o">.</span><span 
class="n">findByEntity</span><span class="o">(</span> <span class="c1">// 
CHANGED: new API
-</span>      <span class="n">appName</span> <span class="k">=</span> <span 
class="n">ap</span><span class="o">.</span><span class="n">appName</span><span 
class="o">,</span> <span class="c1">// CHANGED: use appName
-</span>      <span class="n">entityType</span> <span class="k">=</span> <span 
class="s">"user"</span><span class="o">,</span>
-      <span class="n">entityId</span> <span class="k">=</span> <span 
class="n">query</span><span class="o">.</span><span class="n">user</span><span 
class="o">,</span>
-      <span class="n">eventNames</span> <span class="k">=</span> <span 
class="nc">Some</span><span class="o">(</span><span class="n">ap</span><span 
class="o">.</span><span class="n">seenEvents</span><span class="o">),</span>
-      <span class="n">targetEntityType</span> <span class="k">=</span> <span 
class="nc">Some</span><span class="o">(</span><span class="nc">Some</span><span 
class="o">(</span><span class="s">"item"</span><span class="o">)),</span>
-      <span class="c1">// set time limit to avoid super long DB access
-</span>      <span class="n">timeout</span> <span class="k">=</span> <span 
class="nc">Duration</span><span class="o">(</span><span 
class="mi">200</span><span class="o">,</span> <span 
class="s">"millis"</span><span class="o">)</span>
-    <span class="o">)</span>
-  <span class="o">}</span> <span class="k">catch</span> <span 
class="o">{</span> <span class="c1">// CHANGED: try catch block is used
-</span>    <span class="k">case</span> <span class="n">e</span><span 
class="k">:</span> <span class="kt">scala.concurrent.TimeoutException</span> 
<span class="o">=&gt;</span>
-      <span class="n">logger</span><span class="o">.</span><span 
class="n">error</span><span class="o">(</span><span class="n">s</span><span 
class="s">"Timeout when read seen events."</span> <span class="o">+</span>
-        <span class="n">s</span><span class="s">" Empty list is used. 
${e}"</span><span class="o">)</span>
-      <span class="nc">Iterator</span><span class="o">[</span><span 
class="kt">Event</span><span class="o">]()</span>
-    <span class="k">case</span> <span class="n">e</span><span 
class="k">:</span> <span class="kt">Exception</span> <span 
class="o">=&gt;</span>
-      <span class="n">logger</span><span class="o">.</span><span 
class="n">error</span><span class="o">(</span><span class="n">s</span><span 
class="s">"Error when read seen events: ${e}"</span><span class="o">)</span>
-      <span class="k">throw</span> <span class="n">e</span>
-  <span class="o">}</span>
-</pre></td></tr></tbody></table> </div> <p>If you are using E-Commerce 
Recommendation template, please refer to the latest version for other updates 
related to <code>LEventStore.findByEntity()</code></p></li> </ul> <h4 
id='3.-in-<strong>engine.json</strong>:' class='header-anchors' >3. In 
<strong>engine.json</strong>:</h4><p>locate where <code>appId</code> is used, 
change it to <code>appName</code> and specify the name of the app 
instead.</p><p>For example:</p><div class="highlight json"><table 
style="border-spacing: 0"><tbody><tr><td class="gutter gl" style="text-align: 
right"><pre class="lineno">1
-2
-3
-4
-5
-6
-7
-8</pre></td><td class="code"><pre><span class="w">  </span><span 
class="err">...</span><span class="w">
-
-  </span><span class="s2">"datasource"</span><span class="err">:</span><span 
class="w"> </span><span class="p">{</span><span class="w">
-    </span><span class="s2">"params"</span><span class="w"> </span><span 
class="p">:</span><span class="w"> </span><span class="p">{</span><span 
class="w">
-      </span><span class="s2">"appName"</span><span class="p">:</span><span 
class="w"> </span><span class="s2">"MyAppName"</span><span class="w">
-    </span><span class="p">}</span><span class="w">
-  </span><span class="p">}</span><span class="err">,</span><span class="w">
-
-</span></pre></td></tr></tbody></table> </div> <p>Note that other components 
such as <code>algorithms</code> may also have <code>appId</code> param (e.g. 
E-Commerce Recommendation template). Remember to change it to 
<code>appName</code> as well.</p><p>That&#39;s it! You can re-biuld your engine 
to try it out!</p><h2 id='upgrade-to-0.9.0' class='header-anchors'>Upgrade to 
0.9.0</h2><p>0.9.0 has the following new changes:</p> <ul> <li><p>The signature 
of <code>P2LAlgorithm</code> and <code>PAlgorithm</code>&#39;s 
<code>train()</code> method is changed from</p><div class="highlight 
scala"><table style="border-spacing: 0"><tbody><tr><td class="gutter gl" 
style="text-align: right"><pre class="lineno">1</pre></td><td 
class="code"><pre>  <span class="k">def</span> <span 
class="n">train</span><span class="o">(</span><span class="n">pd</span><span 
class="k">:</span> <span class="kt">PD</span><span class="o">)</span><span 
class="k">:</span> <span class="kt">M</span>
-</pre></td></tr></tbody></table> </div> <p>to</p><div class="highlight 
scala"><table style="border-spacing: 0"><tbody><tr><td class="gutter gl" 
style="text-align: right"><pre class="lineno">1</pre></td><td 
class="code"><pre>  <span class="k">def</span> <span 
class="n">train</span><span class="o">(</span><span class="n">sc</span><span 
class="k">:</span> <span class="kt">SparkContext</span><span class="o">,</span> 
<span class="n">pd</span><span class="k">:</span> <span 
class="kt">PD</span><span class="o">)</span><span class="k">:</span> <span 
class="kt">M</span>
-</pre></td></tr></tbody></table> </div> <p>which allows you to access 
SparkContext inside <code>train()</code> with this new parameter 
<code>sc</code>.</p></li> <li><p>A new SBT build plugin 
(<code>pio-build</code>) is added for engine template</p></li> </ul> <div 
class="alert-message warning"><p>If you have existing engine templates running 
with previous version of PredictionIO, you need to either download the latest 
templates which are compatible with 0.9.0, or follow the instructions below to 
modify them.</p></div><p>Follow instructions below to modify existing engine 
templates to be compatible with PredictionIO 0.9.0:</p> <ol> <li><p>Add a new 
parameter <code>sc: SparkContext</code> in the signature of 
<code>train()</code> method of algorithm in the templates.</p><p>For example, 
in Recommendation engine template, you will find the following 
<code>train()</code> function in <code>ALSAlgorithm.scala</code></p><div 
class="highlight scala"><table style="border-spacing: 0"><tbody><tr
 ><td class="gutter gl" style="text-align: right"><pre class="lineno">1
-2
-3
-4
-5
-6
-7
-8
-9</pre></td><td class="code"><pre><span class="k">class</span> <span 
class="nc">ALSAlgorithm</span><span class="o">(</span><span 
class="k">val</span> <span class="n">ap</span><span class="k">:</span> <span 
class="kt">ALSAlgorithmParams</span><span class="o">)</span>
-  <span class="k">extends</span> <span class="n">P2LAlgorithm</span><span 
class="o">[</span><span class="kt">PreparedData</span>, <span 
class="kt">ALSModel</span>, <span class="kt">Query</span>, <span 
class="kt">PredictedResult</span><span class="o">]</span> <span 
class="o">{</span>
-
-  <span class="o">...</span>
-
-  <span class="k">def</span> <span class="n">train</span><span 
class="o">(</span><span class="n">data</span><span class="k">:</span> <span 
class="kt">PreparedData</span><span class="o">)</span><span class="k">:</span> 
<span class="kt">ALSModel</span> <span class="o">=</span> <span 
class="o">...</span>
-
-  <span class="o">...</span>
-<span class="o">}</span>
-</pre></td></tr></tbody></table> </div> <p>Simply add the new parameter 
<code>sc: SparkContext,</code> to <code>train()</code> function 
signature:</p><div class="highlight scala"><table style="border-spacing: 
0"><tbody><tr><td class="gutter gl" style="text-align: right"><pre 
class="lineno">1
-2
-3
-4
-5
-6
-7
-8
-9</pre></td><td class="code"><pre><span class="k">class</span> <span 
class="nc">ALSAlgorithm</span><span class="o">(</span><span 
class="k">val</span> <span class="n">ap</span><span class="k">:</span> <span 
class="kt">ALSAlgorithmParams</span><span class="o">)</span>
-  <span class="k">extends</span> <span class="n">P2LAlgorithm</span><span 
class="o">[</span><span class="kt">PreparedData</span>, <span 
class="kt">ALSModel</span>, <span class="kt">Query</span>, <span 
class="kt">PredictedResult</span><span class="o">]</span> <span 
class="o">{</span>
-
-  <span class="o">...</span>
-
-  <span class="k">def</span> <span class="n">train</span><span 
class="o">(</span><span class="n">sc</span><span class="k">:</span> <span 
class="kt">SparkContext</span><span class="o">,</span> <span 
class="n">data</span><span class="k">:</span> <span 
class="kt">PreparedData</span><span class="o">)</span><span class="k">:</span> 
<span class="kt">ALSModel</span> <span class="o">=</span> <span 
class="o">...</span>
-
-  <span class="o">...</span>
-<span class="o">}</span>
-</pre></td></tr></tbody></table> </div> <p>You need to add the following 
import for your algorithm as well if it is not there:</p><div class="highlight 
scala"><table style="border-spacing: 0"><tbody><tr><td class="gutter gl" 
style="text-align: right"><pre class="lineno">1</pre></td><td 
class="code"><pre><span class="k">import</span> <span 
class="nn">org.apache.spark.SparkContext</span>
-</pre></td></tr></tbody></table> </div></li> <li><p>Modify the file 
<code>build.sbt</code> in your template directory to use 
<code>pioVersion.value</code> as the version of org.apache.predictionio.core 
dependency:</p><p>Under your template&#39;s root directory, you should see a 
file <code>build.sbt</code> which has the following content:</p><div 
class="highlight shell"><table style="border-spacing: 0"><tbody><tr><td 
class="gutter gl" style="text-align: right"><pre class="lineno">1
-2
-3
-4</pre></td><td class="code"><pre>libraryDependencies ++<span 
class="o">=</span> Seq<span class="o">(</span>
-  <span class="s2">"org.apache.predictionio"</span>    %% <span 
class="s2">"core"</span>          % <span class="s2">"0.8.6"</span> % <span 
class="s2">"provided"</span>,
-  <span class="s2">"org.apache.spark"</span> %% <span 
class="s2">"spark-core"</span>    % <span class="s2">"1.2.0"</span> % <span 
class="s2">"provided"</span>,
-  <span class="s2">"org.apache.spark"</span> %% <span 
class="s2">"spark-mllib"</span>   % <span class="s2">"1.2.0"</span> % <span 
class="s2">"provided"</span><span class="o">)</span>
-</pre></td></tr></tbody></table> </div> <p>Change the version of 
<code>&quot;org.apache.predictionio&quot; &amp;&amp; &quot;core&quot;</code> to 
<code>pioVersion.value</code>:</p><div class="highlight shell"><table 
style="border-spacing: 0"><tbody><tr><td class="gutter gl" style="text-align: 
right"><pre class="lineno">1
-2
-3
-4</pre></td><td class="code"><pre>libraryDependencies ++<span 
class="o">=</span> Seq<span class="o">(</span>
-  <span class="s2">"org.apache.predictionio"</span>    %% <span 
class="s2">"core"</span>          % pioVersion.value % <span 
class="s2">"provided"</span>,
-  <span class="s2">"org.apache.spark"</span> %% <span 
class="s2">"spark-core"</span>    % <span class="s2">"1.2.0"</span> % <span 
class="s2">"provided"</span>,
-  <span class="s2">"org.apache.spark"</span> %% <span 
class="s2">"spark-mllib"</span>   % <span class="s2">"1.2.0"</span> % <span 
class="s2">"provided"</span><span class="o">)</span>
-</pre></td></tr></tbody></table> </div></li> <li><p>Create a new file 
<code>pio-build.sbt</code> in template&#39;s <strong>project/</strong> 
directory with the following content:</p><div class="highlight shell"><table 
style="border-spacing: 0"><tbody><tr><td class="gutter gl" style="text-align: 
right"><pre class="lineno">1</pre></td><td class="code"><pre>addSbtPlugin<span 
class="o">(</span><span class="s2">"org.apache.predictionio"</span> % <span 
class="s2">"pio-build"</span> % <span class="s2">"0.9.0"</span><span 
class="o">)</span>
-</pre></td></tr></tbody></table> </div> <p>Then, you should see the following 
two files in the <strong>project/</strong> directory:</p><div class="highlight 
shell"><table style="border-spacing: 0"><tbody><tr><td class="gutter gl" 
style="text-align: right"><pre class="lineno">1
-2</pre></td><td class="code"><pre><span class="gp">your_template_directory$ 
</span>ls project/
-assembly.sbt  pio-build.sbt
-</pre></td></tr></tbody></table> </div></li> <li><p>Create a new file 
<code>template.json</code> file in the engine template&#39;s root directory 
with the following content:</p><div class="highlight shell"><table 
style="border-spacing: 0"><tbody><tr><td class="gutter gl" style="text-align: 
right"><pre class="lineno">1</pre></td><td class="code"><pre><span 
class="o">{</span><span class="s2">"pio"</span>: <span class="o">{</span><span 
class="s2">"version"</span>: <span class="o">{</span> <span 
class="s2">"min"</span>: <span class="s2">"0.9.0"</span> <span 
class="o">}}}</span>
-</pre></td></tr></tbody></table> </div> <p>This is to specify the minium 
PredictionIO version which the engine can run with.</p></li> <li><p>Lastly, you 
can add <code>/pio.sbt</code> into your engine template&#39;s 
<code>.gitignore</code>. <code>pio.sbt</code> is automatically generated by 
<code>pio build</code>.</p></li> </ol> <p>That&#39;s it! Now you can run 
<code>pio build</code>, <code>pio train</code> and <code>pio deploy</code> with 
PredictionIO 0.9.0 in the same way as before!</p><h2 id='upgrade-to-0.8.4' 
class='header-anchors'>Upgrade to 0.8.4</h2><p><strong>engine.json</strong> has 
slightly changed its format in 0.8.4 in order to make engine more flexible. If 
you are upgrading to 0.8.4, engine.json needs to have the <code>params</code> 
field for <em>datasource</em>, <em>preparator</em>, and <em>serving</em>. Here 
is the sample engine.json from 
templates/scala-parallel-recommendation-custom-preparator that demonstrate the 
change for <em>datasource</em> (line 7).</p><div cla
 ss="highlight shell"><table style="border-spacing: 0"><tbody><tr><td 
class="gutter gl" style="text-align: right"><pre class="lineno">1
-2
-3
-4
-5
-6
-7
-8
-9
-10
-11
-12
-13
-14
-15
-16
-17
-18
-19</pre></td><td class="code"><pre>In 0.8.3
-<span class="o">{</span>
-  <span class="s2">"id"</span>: <span class="s2">"default"</span>,
-  <span class="s2">"description"</span>: <span class="s2">"Default 
settings"</span>,
-  <span class="s2">"engineFactory"</span>: <span 
class="s2">"org.template.recommendation.RecommendationEngine"</span>,
-  <span class="s2">"datasource"</span>: <span class="o">{</span>
-    <span class="s2">"appId"</span>: 1
-  <span class="o">}</span>,
-  <span class="s2">"algorithms"</span>: <span class="o">[</span>
-    <span class="o">{</span>
-      <span class="s2">"name"</span>: <span class="s2">"als"</span>,
-      <span class="s2">"params"</span>: <span class="o">{</span>
-        <span class="s2">"rank"</span>: 10,
-        <span class="s2">"numIterations"</span>: 20,
-        <span class="s2">"lambda"</span>: 0.01
-      <span class="o">}</span>
-    <span class="o">}</span>
-  <span class="o">]</span>
-<span class="o">}</span>
-</pre></td></tr></tbody></table> </div> <div class="highlight shell"><table 
style="border-spacing: 0"><tbody><tr><td class="gutter gl" style="text-align: 
right"><pre class="lineno">1
-2
-3
-4
-5
-6
-7
-8
-9
-10
-11
-12
-13
-14
-15
-16
-17
-18
-19
-20</pre></td><td class="code"><pre>In 0.8.4
-<span class="o">{</span>
-  <span class="s2">"id"</span>: <span class="s2">"default"</span>,
-  <span class="s2">"description"</span>: <span class="s2">"Default 
settings"</span>,
-  <span class="s2">"engineFactory"</span>: <span 
class="s2">"org.template.recommendation.RecommendationEngine"</span>,
-  <span class="s2">"datasource"</span>: <span class="o">{</span>
-    <span class="s2">"params"</span> : <span class="o">{</span>
-      <span class="s2">"appId"</span>: 1
-    <span class="o">}</span>
-  <span class="o">}</span>,
-  <span class="s2">"algorithms"</span>: <span class="o">[</span>
-    <span class="o">{</span>
-      <span class="s2">"name"</span>: <span class="s2">"als"</span>,
-      <span class="s2">"params"</span>: <span class="o">{</span>
-        <span class="s2">"rank"</span>: 10,
-        <span class="s2">"numIterations"</span>: 20,
-        <span class="s2">"lambda"</span>: 0.01
-      <span class="o">}</span>
-    <span class="o">}</span>
-  <span class="o">]</span>
-</pre></td></tr></tbody></table> </div> <h2 id='upgrade-from-0.8.2-to-0.8.3' 
class='header-anchors'>Upgrade from 0.8.2 to 0.8.3</h2><p>0.8.3 disallows 
entity types <strong>pio_user</strong> and <strong>pio_item</strong>. These 
types are used by default for most SDKs. They are deprecated in 0.8.3, and SDKs 
helper functions have been updated to use <strong>user</strong> and 
<strong>item</strong> instead.</p><p>If you are upgrading to 0.8.3, you can 
follow these steps to migrate your data.</p><h5 id='1.-create-a-new-app' 
class='header-anchors'>1. Create a new app</h5><div class="highlight 
shell"><table style="border-spacing: 0"><tbody><tr><td class="gutter gl" 
style="text-align: right"><pre class="lineno">1</pre></td><td 
class="code"><pre><span class="gp">$ </span>pio app new &lt;my app name&gt;
-</pre></td></tr></tbody></table> </div> <p>Please take note of the <new app 
id> generated for the new app.</p><h5 id='2.-run-the-upgrade-command' 
class='header-anchors'>2. Run the upgrade command</h5><div class="highlight 
shell"><table style="border-spacing: 0"><tbody><tr><td class="gutter gl" 
style="text-align: right"><pre class="lineno">1</pre></td><td 
class="code"><pre><span class="gp">$ </span>pio upgrade 0.8.2 0.8.3 &lt;old app 
id&gt; &lt;new app id&gt;
-</pre></td></tr></tbody></table> </div> <p>It will run a script that creates a 
new app with the new app id and migreate the data to the new app.</p><h5 
id='3.-update-<strong>engine.json</strong>-to-use-the-new-app-id.-<strong>engine.json</strong>-is-located-under-your-engine-project-directory.'
 class='header-anchors' >3. Update <strong>engine.json</strong> to use the new 
app id. <strong>Engine.json</strong> is located under your engine project 
directory.</h5><div class="highlight shell"><table style="border-spacing: 
0"><tbody><tr><td class="gutter gl" style="text-align: right"><pre 
class="lineno">1
-2
-3</pre></td><td class="code"><pre>  <span class="s2">"datasource"</span>: 
<span class="o">{</span>
-    <span class="s2">"appId"</span>: &lt;new app id&gt;
-  <span class="o">}</span>,
-</pre></td></tr></tbody></table> </div> <h2 id='schema-changes-in-0.8.2' 
class='header-anchors'>Schema Changes in 0.8.2</h2><p>0.8.2 contains HBase and 
Elasticsearch schema changes from previous versions. If you are upgrading from 
a pre-0.8.2 version, you need to first clear HBase and ElasticSearch. These 
will clear out all data in Elasticsearch and HBase. Please be extra 
cautious.</p><div class="alert-message danger"><p><strong>ALL EXISTING DATA 
WILL BE LOST!</strong></p></div><h3 id='clearing-elasticsearch' 
class='header-anchors'>Clearing Elasticsearch</h3><p>With Elasticsearch 
running, do</p><div class="highlight shell"><table style="border-spacing: 
0"><tbody><tr><td class="gutter gl" style="text-align: right"><pre 
class="lineno">1</pre></td><td class="code"><pre><span class="gp">$ </span>curl 
-X DELETE http://localhost:9200/_all
-</pre></td></tr></tbody></table> </div> <p>For details see <a 
href="http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/indices-delete-index.html";>http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/indices-delete-index.html</a>.</p><h3
 id='clearing-hbase' class='header-anchors'>Clearing HBase</h3><div 
class="highlight shell"><table style="border-spacing: 0"><tbody><tr><td 
class="gutter gl" style="text-align: right"><pre class="lineno">1
-2
-3
-4
-5
-6</pre></td><td class="code"><pre><span class="gp">$ </span><span 
class="nv">$HBASE_HOME</span>/bin/hbase shell
-...
-<span class="gp">&gt; </span>disable_all <span 
class="s1">'predictionio.*'</span>
-...
-<span class="gp">&gt; </span>drop_all <span class="s1">'predictionio.*'</span>
-...
-</pre></td></tr></tbody></table> </div> <p>For details see <a 
href="http://wiki.apache.org/hadoop/Hbase/Shell";>http://wiki.apache.org/hadoop/Hbase/Shell</a>.</p><h2
 
id='experimental-upgrade-tool-(upgrade-hbase-schema-from-0.8.0/0.8.1-to-0.8.2)' 
class='header-anchors'>Experimental upgrade tool (Upgrade HBase schema from 
0.8.0/0.8.1 to 0.8.2)</h2><p>Create an app to store the data</p><div 
class="highlight shell"><table style="border-spacing: 0"><tbody><tr><td 
class="gutter gl" style="text-align: right"><pre class="lineno">1</pre></td><td 
class="code"><pre><span class="gp">$ </span>bin/pio app new &lt;my app&gt;
-</pre></td></tr></tbody></table> </div> <p>Replace by the returned app ID: ( 
is the original app ID used in 0.8.0/0.8.2.)</p><div class="highlight 
shell"><table style="border-spacing: 0"><tbody><tr><td class="gutter gl" 
style="text-align: right"><pre class="lineno">1
-2
-3
-4</pre></td><td class="code"><pre><span class="gp">$ </span><span 
class="nb">set</span> -a
-<span class="gp">$ </span><span class="nb">source </span>conf/pio-env.sh
-<span class="gp">$ </span><span class="nb">set</span> +a
-<span class="gp">$ </span>sbt/sbt <span class="s2">"data/run-main 
org.apache.predictionio.data.storage.hbase.upgrade.Upgrade &lt;from app 
ID&gt;"</span> <span class="s2">"&lt;to app ID&gt;"</span>
-</pre></td></tr></tbody></table> </div> </div></div></div></div><footer><div 
class="container"><div class="seperator"></div><div class="row"><div 
class="col-md-6 footer-link-column"><div 
class="footer-link-column-row"><h4>Community</h4><ul><li><a 
href="//predictionio.incubator.apache.org/install/" 
target="blank">Download</a></li><li><a 
href="//predictionio.incubator.apache.org/" target="blank">Docs</a></li><li><a 
href="//github.com/apache/incubator-predictionio" 
target="blank">GitHub</a></li><li><a 
href="mailto:[email protected]"; 
target="blank">Subscribe to User Mailing List</a></li><li><a 
href="//stackoverflow.com/questions/tagged/predictionio" 
target="blank">Stackoverflow</a></li></ul></div></div><div class="col-md-6 
footer-link-column"><div 
class="footer-link-column-row"><h4>Contribute</h4><ul><li><a 
href="//predictionio.incubator.apache.org/community/contribute-code/" 
target="blank">Contribute</a></li><li><a 
href="//github.com/apache/incubator-pred
 ictionio" target="blank">Source Code</a></li><li><a 
href="//issues.apache.org/jira/browse/PIO" target="blank">Bug 
Tracker</a></li><li><a 
href="mailto:[email protected]"; 
target="blank">Subscribe to Development Mailing 
List</a></li></ul></div></div></div><div class="row"><div class="col-md-12 
footer-link-column"><a class="pull-right" 
href="http://incubator.apache.org/projects/predictionio.html";><img alt="Apache 
Incubator" src="/images/logos/apache_incubator-6954bd16.png"/></a><span>Apache 
PredictionIO is an effort undergoing incubation at The Apache Software 
Foundation (ASF), sponsored by the Apache Incubator. Incubation is required of 
all newly accepted projects until a further review indicates that the 
infrastructure, communications, and decision making process have stabilized in 
a manner consistent with other successful ASF projects. While incubation status 
is not necessarily a reflection of the completeness or stability of the code, 
it does indicate t
 hat the project has yet to be fully endorsed by the 
ASF.</span></div></div></div><div id="footer-bottom"><div 
class="container"><div class="row"><div class="col-md-12"><div 
id="footer-logo-wrapper"><img alt="PredictionIO" 
src="/images/logos/logo-white-d1e9c6e6.png"/></div><div 
id="social-icons-wrapper"><a class="github-button" 
href="https://github.com/apache/incubator-predictionio"; data-style="mega" 
data-count-href="/apache/incubator-predictionio/stargazers" 
data-count-api="/repos/apache/incubator-predictionio#stargazers_count" 
data-count-aria-label="# stargazers on GitHub" aria-label="Star 
apache/incubator-predictionio on GitHub">Star</a> <a class="github-button" 
href="https://github.com/apache/incubator-predictionio/fork"; 
data-icon="octicon-git-branch" data-style="mega" 
data-count-href="/apache/incubator-predictionio/network" 
data-count-api="/repos/apache/incubator-predictionio#forks_count" 
data-count-aria-label="# forks on GitHub" aria-label="Fork 
apache/incubator-predictionio on
  GitHub">Fork</a> <script id="github-bjs" async="" defer="" 
src="https://buttons.github.io/buttons.js";></script><a 
href="https://twitter.com/predictionio"; target="blank"><img alt="PredictionIO 
on Twitter" src="/images/icons/twitter-ea9dc152.png"/></a> <a 
href="https://www.facebook.com/predictionio"; target="blank"><img 
alt="PredictionIO on Facebook" src="/images/icons/facebook-5c57939c.png"/></a> 
</div></div></div></div></div></footer></div><script>(function(w,d,t,u,n,s,e){w['SwiftypeObject']=n;w[n]=w[n]||function(){
-(w[n].q=w[n].q||[]).push(arguments);};s=d.createElement(t);
-e=d.getElementsByTagName(t)[0];s.async=1;s.src=u;e.parentNode.insertBefore(s,e);
-})(window,document,'script','//s.swiftypecdn.com/install/v1/st.js','_st');
-
-_st('install','HaUfpXXV87xoB_zzCQ45');</script><script 
src="/javascripts/application-3058a372.js"></script></body></html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/2e6db646/resources/upgrade/index.html.gz
----------------------------------------------------------------------
diff --git a/resources/upgrade/index.html.gz b/resources/upgrade/index.html.gz
deleted file mode 100644
index 48cc707..0000000
Binary files a/resources/upgrade/index.html.gz and /dev/null differ

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/2e6db646/robots.txt
----------------------------------------------------------------------
diff --git a/robots.txt b/robots.txt
deleted file mode 100644
index 11b63ad..0000000
--- a/robots.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-User-agent: *
-Disallow:
-
-Sitemap: http://predictionio.incubator.apache.org/sitemap.xml

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/2e6db646/samples/index.html
----------------------------------------------------------------------
diff --git a/samples/index.html b/samples/index.html
deleted file mode 100644
index 80368a9..0000000
--- a/samples/index.html
+++ /dev/null
@@ -1,15 +0,0 @@
-<!DOCTYPE html><html><head><title>Sample Style Page</title><meta 
charset="utf-8"/><meta content="IE=edge,chrome=1" 
http-equiv="X-UA-Compatible"/><meta name="viewport" 
content="width=device-width, initial-scale=1.0"/><meta class="swiftype" 
name="title" data-type="string" content="Sample Style Page"/><link 
rel="canonical" 
href="https://predictionio.incubator.apache.org/samples/"/><link 
href="/images/favicon/normal-b330020a.png" rel="shortcut icon"/><link 
href="/images/favicon/apple-c0febcf2.png" rel="apple-touch-icon"/><link 
href="//fonts.googleapis.com/css?family=Open+Sans:300italic,400italic,600italic,700italic,800italic,400,300,600,700,800"
 rel="stylesheet"/><link 
href="//maxcdn.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.min.css" 
rel="stylesheet"/><link href="/stylesheets/application-3a3867f7.css" 
rel="stylesheet" type="text/css"/><script 
src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.2/html5shiv.min.js"></script><script
 src="//cdn.mathjax.org/mathjax/latest/MathJax.
 js?config=TeX-AMS-MML_HTMLorMML"></script><script 
src="//use.typekit.net/pqo0itb.js"></script><script>try{Typekit.load({ async: 
true });}catch(e){}</script></head><body><div id="global"><header><div 
class="container" id="header-wrapper"><div class="row"><div 
class="col-sm-12"><div id="logo-wrapper"><span id="drawer-toggle"></span><a 
href="#"></a><a href="http://predictionio.incubator.apache.org/";><img 
alt="PredictionIO" id="logo" 
src="/images/logos/logo-ee2b9bb3.png"/></a></div><div id="menu-wrapper"><div 
id="pill-wrapper"><a class="pill left" 
href="/gallery/template-gallery">TEMPLATES</a> <a class="pill right" 
href="//github.com/apache/incubator-predictionio/">OPEN 
SOURCE</a></div></div><img class="mobile-search-bar-toggler hidden-md 
hidden-lg" 
src="/images/icons/search-glass-704bd4ff.png"/></div></div></div></header><div 
id="search-bar-row-wrapper"><div class="container-fluid" 
id="search-bar-row"><div class="row"><div class="col-md-9 col-sm-11 
col-xs-11"><div class="hidden-md hidd
 en-lg" id="mobile-page-heading-wrapper"><p>PredictionIO Docs</p><h4>Sample 
Style Page</h4></div><h4 class="hidden-sm hidden-xs">PredictionIO 
Docs</h4></div><div class="col-md-3 col-sm-1 col-xs-1 hidden-md hidden-lg"><img 
id="left-menu-indicator" 
src="/images/icons/down-arrow-dfe9f7fe.png"/></div><div class="col-md-3 
col-sm-12 col-xs-12 swiftype-wrapper"><div class="swiftype"><form 
class="search-form"><img class="search-box-toggler hidden-xs hidden-sm" 
src="/images/icons/search-glass-704bd4ff.png"/><div class="search-box"><img 
src="/images/icons/search-glass-704bd4ff.png"/><input type="text" 
id="st-search-input" class="st-search-input" placeholder="Search 
Doc..."/></div><img class="swiftype-row-hider hidden-md hidden-lg" 
src="/images/icons/drawer-toggle-active-fcbef12a.png"/></form></div></div><div 
class="mobile-left-menu-toggler hidden-md 
hidden-lg"></div></div></div></div><div id="page" class="container-fluid"><div 
class="row"><div id="left-menu-wrapper" class="col-md-3"><nav id="n
 av-main"><ul><li class="level-1"><a class="expandible" href="/"><span>Apache 
PredictionIO (incubating) Documentation</span></a><ul><li class="level-2"><a 
class="final" href="/"><span>Welcome to Apache PredictionIO 
(incubating)</span></a></li></ul></li><li class="level-1"><a class="expandible" 
href="#"><span>Getting Started</span></a><ul><li class="level-2"><a 
class="final" href="/start/"><span>A Quick Intro</span></a></li><li 
class="level-2"><a class="final" href="/install/"><span>Installing Apache 
PredictionIO (incubating)</span></a></li><li class="level-2"><a class="final" 
href="/start/download/"><span>Downloading an Engine Template</span></a></li><li 
class="level-2"><a class="final" href="/start/deploy/"><span>Deploying Your 
First Engine</span></a></li><li class="level-2"><a class="final" 
href="/start/customize/"><span>Customizing the 
Engine</span></a></li></ul></li><li class="level-1"><a class="expandible" 
href="#"><span>Integrating with Your App</span></a><ul><li class="level-2
 "><a class="final" href="/appintegration/"><span>App Integration 
Overview</span></a></li><li class="level-2"><a class="expandible" 
href="/sdk/"><span>List of SDKs</span></a><ul><li class="level-3"><a 
class="final" href="/sdk/java/"><span>Java & Android SDK</span></a></li><li 
class="level-3"><a class="final" href="/sdk/php/"><span>PHP 
SDK</span></a></li><li class="level-3"><a class="final" 
href="/sdk/python/"><span>Python SDK</span></a></li><li class="level-3"><a 
class="final" href="/sdk/ruby/"><span>Ruby SDK</span></a></li><li 
class="level-3"><a class="final" href="/sdk/community/"><span>Community Powered 
SDKs</span></a></li></ul></li></ul></li><li class="level-1"><a 
class="expandible" href="#"><span>Deploying an Engine</span></a><ul><li 
class="level-2"><a class="final" href="/deploy/"><span>Deploying as a Web 
Service</span></a></li><li class="level-2"><a class="final" 
href="/batchpredict/"><span>Batch Predictions</span></a></li><li 
class="level-2"><a class="final" href="/deploy/mon
 itoring/"><span>Monitoring Engine</span></a></li><li class="level-2"><a 
class="final" href="/deploy/engineparams/"><span>Setting Engine 
Parameters</span></a></li><li class="level-2"><a class="final" 
href="/deploy/enginevariants/"><span>Deploying Multiple Engine 
Variants</span></a></li><li class="level-2"><a class="final" 
href="/deploy/plugin/"><span>Engine Server Plugin</span></a></li></ul></li><li 
class="level-1"><a class="expandible" href="#"><span>Customizing an 
Engine</span></a><ul><li class="level-2"><a class="final" 
href="/customize/"><span>Learning DASE</span></a></li><li class="level-2"><a 
class="final" href="/customize/dase/"><span>Implement DASE</span></a></li><li 
class="level-2"><a class="final" 
href="/customize/troubleshooting/"><span>Troubleshooting Engine 
Development</span></a></li><li class="level-2"><a class="final" 
href="/api/current/#package"><span>Engine Scala 
APIs</span></a></li></ul></li><li class="level-1"><a class="expandible" 
href="#"><span>Collecting and Ana
 lyzing Data</span></a><ul><li class="level-2"><a class="final" 
href="/datacollection/"><span>Event Server Overview</span></a></li><li 
class="level-2"><a class="final" 
href="/datacollection/eventapi/"><span>Collecting Data with 
REST/SDKs</span></a></li><li class="level-2"><a class="final" 
href="/datacollection/eventmodel/"><span>Events Modeling</span></a></li><li 
class="level-2"><a class="final" 
href="/datacollection/webhooks/"><span>Unifying Multichannel Data with 
Webhooks</span></a></li><li class="level-2"><a class="final" 
href="/datacollection/channel/"><span>Channel</span></a></li><li 
class="level-2"><a class="final" 
href="/datacollection/batchimport/"><span>Importing Data in 
Batch</span></a></li><li class="level-2"><a class="final" 
href="/datacollection/analytics/"><span>Using Analytics 
Tools</span></a></li><li class="level-2"><a class="final" 
href="/datacollection/plugin/"><span>Event Server 
Plugin</span></a></li></ul></li><li class="level-1"><a class="expandible" 
href="#"><spa
 n>Choosing an Algorithm(s)</span></a><ul><li class="level-2"><a class="final" 
href="/algorithm/"><span>Built-in Algorithm Libraries</span></a></li><li 
class="level-2"><a class="final" href="/algorithm/switch/"><span>Switching to 
Another Algorithm</span></a></li><li class="level-2"><a class="final" 
href="/algorithm/multiple/"><span>Combining Multiple 
Algorithms</span></a></li><li class="level-2"><a class="final" 
href="/algorithm/custom/"><span>Adding Your Own 
Algorithms</span></a></li></ul></li><li class="level-1"><a class="expandible" 
href="#"><span>ML Tuning and Evaluation</span></a><ul><li class="level-2"><a 
class="final" href="/evaluation/"><span>Overview</span></a></li><li 
class="level-2"><a class="final" 
href="/evaluation/paramtuning/"><span>Hyperparameter Tuning</span></a></li><li 
class="level-2"><a class="final" 
href="/evaluation/evaluationdashboard/"><span>Evaluation 
Dashboard</span></a></li><li class="level-2"><a class="final" 
href="/evaluation/metricchoose/"><span>Choosing
  Evaluation Metrics</span></a></li><li class="level-2"><a class="final" 
href="/evaluation/metricbuild/"><span>Building Evaluation 
Metrics</span></a></li></ul></li><li class="level-1"><a class="expandible" 
href="#"><span>System Architecture</span></a><ul><li class="level-2"><a 
class="final" href="/system/"><span>Architecture Overview</span></a></li><li 
class="level-2"><a class="final" href="/system/anotherdatastore/"><span>Using 
Another Data Store</span></a></li></ul></li><li class="level-1"><a 
class="expandible" href="#"><span>PredictionIO Official 
Templates</span></a><ul><li class="level-2"><a class="final" 
href="/templates/"><span>Intro</span></a></li><li class="level-2"><a 
class="expandible" href="#"><span>Recommendation</span></a><ul><li 
class="level-3"><a class="final" 
href="/templates/recommendation/quickstart/"><span>Quick 
Start</span></a></li><li class="level-3"><a class="final" 
href="/templates/recommendation/dase/"><span>DASE</span></a></li><li 
class="level-3"><a class="fi
 nal" href="/templates/recommendation/evaluation/"><span>Evaluation 
Explained</span></a></li><li class="level-3"><a class="final" 
href="/templates/recommendation/how-to/"><span>How-To</span></a></li><li 
class="level-3"><a class="final" 
href="/templates/recommendation/reading-custom-events/"><span>Read Custom 
Events</span></a></li><li class="level-3"><a class="final" 
href="/templates/recommendation/customize-data-prep/"><span>Customize Data 
Preparator</span></a></li><li class="level-3"><a class="final" 
href="/templates/recommendation/customize-serving/"><span>Customize 
Serving</span></a></li><li class="level-3"><a class="final" 
href="/templates/recommendation/training-with-implicit-preference/"><span>Train 
with Implicit Preference</span></a></li><li class="level-3"><a class="final" 
href="/templates/recommendation/blacklist-items/"><span>Filter Recommended 
Items by Blacklist in Query</span></a></li><li class="level-3"><a class="final" 
href="/templates/recommendation/batch-evaluator/"><
 span>Batch Persistable Evaluator</span></a></li></ul></li><li 
class="level-2"><a class="expandible" href="#"><span>E-Commerce 
Recommendation</span></a><ul><li class="level-3"><a class="final" 
href="/templates/ecommercerecommendation/quickstart/"><span>Quick 
Start</span></a></li><li class="level-3"><a class="final" 
href="/templates/ecommercerecommendation/dase/"><span>DASE</span></a></li><li 
class="level-3"><a class="final" 
href="/templates/ecommercerecommendation/how-to/"><span>How-To</span></a></li><li
 class="level-3"><a class="final" 
href="/templates/ecommercerecommendation/train-with-rate-event/"><span>Train 
with Rate Event</span></a></li><li class="level-3"><a class="final" 
href="/templates/ecommercerecommendation/adjust-score/"><span>Adjust 
Score</span></a></li></ul></li><li class="level-2"><a class="expandible" 
href="#"><span>Similar Product</span></a><ul><li class="level-3"><a 
class="final" href="/templates/similarproduct/quickstart/"><span>Quick 
Start</span></a></li><li clas
 s="level-3"><a class="final" 
href="/templates/similarproduct/dase/"><span>DASE</span></a></li><li 
class="level-3"><a class="final" 
href="/templates/similarproduct/how-to/"><span>How-To</span></a></li><li 
class="level-3"><a class="final" 
href="/templates/similarproduct/multi-events-multi-algos/"><span>Multiple 
Events and Multiple Algorithms</span></a></li><li class="level-3"><a 
class="final" 
href="/templates/similarproduct/return-item-properties/"><span>Returns Item 
Properties</span></a></li><li class="level-3"><a class="final" 
href="/templates/similarproduct/train-with-rate-event/"><span>Train with Rate 
Event</span></a></li><li class="level-3"><a class="final" 
href="/templates/similarproduct/rid-user-set-event/"><span>Get Rid of Events 
for Users</span></a></li><li class="level-3"><a class="final" 
href="/templates/similarproduct/recommended-user/"><span>Recommend 
Users</span></a></li></ul></li><li class="level-2"><a class="expandible" 
href="#"><span>Classification</span></a><ul><li c
 lass="level-3"><a class="final" 
href="/templates/classification/quickstart/"><span>Quick 
Start</span></a></li><li class="level-3"><a class="final" 
href="/templates/classification/dase/"><span>DASE</span></a></li><li 
class="level-3"><a class="final" 
href="/templates/classification/how-to/"><span>How-To</span></a></li><li 
class="level-3"><a class="final" 
href="/templates/classification/add-algorithm/"><span>Use Alternative 
Algorithm</span></a></li><li class="level-3"><a class="final" 
href="/templates/classification/reading-custom-properties/"><span>Read Custom 
Properties</span></a></li></ul></li></ul></li><li class="level-1"><a 
class="expandible" href="#"><span>Engine Template Gallery</span></a><ul><li 
class="level-2"><a class="final" 
href="/gallery/template-gallery/"><span>Browse</span></a></li><li 
class="level-2"><a class="final" 
href="/community/submit-template/"><span>Submit your Engine as a 
Template</span></a></li></ul></li><li class="level-1"><a class="expandible" 
href="#"><span
 >Demo Tutorials</span></a><ul><li class="level-2"><a class="final" 
 >href="/demo/tapster/"><span>Comics Recommendation Demo</span></a></li><li 
 >class="level-2"><a class="final" href="/demo/community/"><span>Community 
 >Contributed Demo</span></a></li><li class="level-2"><a class="final" 
 >href="/demo/textclassification/"><span>Text Classification Engine 
 >Tutorial</span></a></li></ul></li><li class="level-1"><a class="expandible" 
 >href="/community/"><span>Getting Involved</span></a><ul><li 
 >class="level-2"><a class="final" 
 >href="/community/contribute-code/"><span>Contribute Code</span></a></li><li 
 >class="level-2"><a class="final" 
 >href="/community/contribute-documentation/"><span>Contribute 
 >Documentation</span></a></li><li class="level-2"><a class="final" 
 >href="/community/contribute-sdk/"><span>Contribute a SDK</span></a></li><li 
 >class="level-2"><a class="final" 
 >href="/community/contribute-webhook/"><span>Contribute a 
 >Webhook</span></a></li><li class="level-2"><a class="final" href="/community/
 projects/"><span>Community Projects</span></a></li></ul></li><li 
class="level-1"><a class="expandible" href="#"><span>Getting 
Help</span></a><ul><li class="level-2"><a class="final" 
href="/resources/faq/"><span>FAQs</span></a></li><li class="level-2"><a 
class="final" href="/support/"><span>Support</span></a></li></ul></li><li 
class="level-1"><a class="expandible" 
href="#"><span>Resources</span></a><ul><li class="level-2"><a class="final" 
href="/cli/"><span>Command-line Interface</span></a></li><li class="level-2"><a 
class="final" href="/resources/release/"><span>Release 
Cadence</span></a></li><li class="level-2"><a class="final" 
href="/resources/intellij/"><span>Developing Engines with IntelliJ 
IDEA</span></a></li><li class="level-2"><a class="final" 
href="/resources/upgrade/"><span>Upgrade Instructions</span></a></li><li 
class="level-2"><a class="final" 
href="/resources/glossary/"><span>Glossary</span></a></li></ul></li><li 
class="level-1"><a class="expandible" href="#"><span>Apach
 e Software Foundation</span></a><ul><li class="level-2"><a class="final" 
href="https://www.apache.org/";><span>Apache Homepage</span></a></li><li 
class="level-2"><a class="final" 
href="https://www.apache.org/licenses/";><span>License</span></a></li><li 
class="level-2"><a class="final" 
href="https://www.apache.org/foundation/sponsorship.html";><span>Sponsorship</span></a></li><li
 class="level-2"><a class="final" 
href="https://www.apache.org/foundation/thanks.html";><span>Thanks</span></a></li><li
 class="level-2"><a class="final" 
href="https://www.apache.org/security/";><span>Security</span></a></li></ul></li></ul></nav></div><div
 class="col-md-9 col-sm-12"><div class="content-header hidden-md 
hidden-lg"><div id="page-title"><h1>Sample Style Page</h1></div></div><div 
id="table-of-content-wrapper"><h5>On this page</h5><aside 
id="table-of-contents"><ul> <li> <a href="#alerts">Alerts</a> </li> <li> <a 
href="#text">Text</a> </li> <li> <a href="#lists">Lists</a> </li> <li> <a 
href="#code">Code<
 /a> </li> <li> <a href="#image">Image</a> </li> <li> <a 
href="#quotes">Quotes</a> </li> <li> <a href="#tables">Tables</a> </li> <li> <a 
href="#other">Other</a> </li> </ul> </li> <li> <a href="#heading-1">Heading 
1</a> <ul> <li> <a href="#heading-2">Heading 2</a> </li> </ul> </aside><hr/><a 
id="edit-page-link" 
href="https://github.com/apache/incubator-predictionio/tree/livedoc/docs/manual/source/samples/index.html.md";><img
 src="/images/icons/edit-pencil-d6c1bb3d.png"/>Edit this page</a></div><div 
class="content-header hidden-sm hidden-xs"><div id="page-title"><h1>Sample 
Style Page</h1></div></div><div class="content"> <h2 id='alerts' 
class='header-anchors'>Alerts</h2><h3 id='info' 
class='header-anchors'>Info</h3><p>Markdown: <code>INFO: This is a info 
message!</code> will display this:</p><div class="alert-message info"><p>This 
is a info message!</p></div><h3 id='success' 
class='header-anchors'>Success</h3><p>Markdown: <code>SUCCESS: This is a 
success message!</code> will display thi
 s:</p><div class="alert-message success"><p>This is a success 
message!</p></div><h3 id='warning' 
class='header-anchors'>Warning</h3><p>Markdown: <code>WARNING: This is a 
warning message!</code> will display this:</p><div class="alert-message 
warning"><p>This is a warning message!</p></div><h3 id='danger' 
class='header-anchors'>Danger</h3><p>Markdown: <code>DANGER: This is a danger 
message!</code> will display this:</p><div class="alert-message danger"><p>This 
is a danger message!</p></div><h3 id='note' 
class='header-anchors'>Note</h3><p>Markdown: <code>NOTE: This is a note 
message!</code> will display this:</p><div class="alert-message note"><p>This 
is a note message!</p></div><h3 id='todo' 
class='header-anchors'>TODO</h3><p>Markdown: <code>TODO: This is a TODO 
message!</code> will display this:</p><div class="alert-message todo"><p>This 
is a TODO message! This message is longer to demonstrate what a multi line 
message would look like. This message is longer to demonstrate what a mu
 lti line message would look like. This message is longer to demonstrate what a 
multi line message would look like. Yes <strong>bold</strong> and other styling 
still work inside alerts!</p></div><h2 id='text' 
class='header-anchors'>Text</h2><p>This is the normal paragraph font. This is a 
<a href="/samples/tabs">internal link</a>. This is an <a 
href="http://google.com/";>external link</a> This is a <a 
href="https://google.com/";>secure external link</a> This is 
<strong>bold</strong>. This is <em>italic</em>. This is <u>underlined</u>. This 
is <mark>highlighted</mark>. This is <del>strikethough</del>. This is 
<sup>superscript</sup>.</p><p>This is another paragraph.</p><p>View <a 
href="/samples/sizing">additional sizing</a> samples.</p><h2 id='lists' 
class='header-anchors'>Lists</h2> <ul> <li>Bullet 1</li> <li>Bullet 2 <ul> 
<li>Bullet 2.1</li> <li>Bullet 2.2</li> </ul></li> <li>Bullet 3</li> </ul> <ol> 
<li>First item</li> <li>Second item</li> <li>Third item</li> </ol> <h2 
id='code' class=
 'header-anchors'>Code</h2><h3 id='block' 
class='header-anchors'>Block</h3><p>This is a Scala code block:</p><div 
class="highlight scala"><table style="border-spacing: 0"><tbody><tr><td 
class="gutter gl" style="text-align: right"><pre class="lineno">1
-2
-3
-4
-5</pre></td><td class="code"><pre><span class="k">case</span> <span 
class="k">class</span> <span class="nc">Query</span><span class="o">(</span>
-  <span class="n">user</span><span class="k">:</span> <span 
class="kt">Int</span><span class="o">,</span>
-  <span class="n">num</span><span class="k">:</span> <span 
class="kt">Int</span>
-<span class="o">)</span> <span class="k">extends</span> <span 
class="nc">Serializable</span>
-
-</pre></td></tr></tbody></table> </div> <p>See a full list of <a 
href="/samples/languages">supported languages</a>.</p><h3 id='inline' 
class='header-anchors'>Inline</h3><p>This <code>code is inline</code>.</p><h2 
id='image' class='header-anchors'>Image</h2><p><img alt="Sample Image" 
src="/images/tutorials/rails/localhost-8000-e55d5dd2.png"/></p><h2 id='quotes' 
class='header-anchors'>Quotes</h2> <blockquote> <p>This is a blockquote. 
Don&#39;t use these for anything other actual quotes! Use <a 
href="#alerts">alerts</a> instead.</p></blockquote> <h2 id='tables' 
class='header-anchors'>Tables</h2> <table><thead> <tr> <th>First Header</th> 
<th>Second Header</th> </tr> </thead><tbody> <tr> <td>Content Cell</td> 
<td>Content Cell</td> </tr> <tr> <td>Content Cell</td> <td>Content Cell</td> 
</tr> </tbody></table> <h2 id='other' class='header-anchors'>Other</h2><p>This 
is a horizontal rule:</p> <hr> <p>This is a en dash &ndash; and an em dash 
&mdash; using HTML entities.</p><div>This is inside 
 a div tag.</div> <h1 id='heading-1' class='header-anchors'>Heading 
1</h1><p>This is the normal paragraph font.</p><h2 id='heading-2' 
class='header-anchors'>Heading 2</h2><p>This is the normal paragraph 
font.</p><h3 id='heading-3' class='header-anchors'>Heading 3</h3><p>This is the 
normal paragraph font.</p><h4 id='heading-4' class='header-anchors'>Heading 
4</h4><p>This is the normal paragraph font.</p><h5 id='heading-5' 
class='header-anchors'>Heading 5</h5><p>This is the normal paragraph 
font.</p><h6 id='heading-6' class='header-anchors'>Heading 6</h6><p>This is the 
normal paragraph font.</p></div></div></div></div><footer><div 
class="container"><div class="seperator"></div><div class="row"><div 
class="col-md-6 footer-link-column"><div 
class="footer-link-column-row"><h4>Community</h4><ul><li><a 
href="//predictionio.incubator.apache.org/install/" 
target="blank">Download</a></li><li><a 
href="//predictionio.incubator.apache.org/" target="blank">Docs</a></li><li><a 
href="//github.com/ap
 ache/incubator-predictionio" target="blank">GitHub</a></li><li><a 
href="mailto:[email protected]"; 
target="blank">Subscribe to User Mailing List</a></li><li><a 
href="//stackoverflow.com/questions/tagged/predictionio" 
target="blank">Stackoverflow</a></li></ul></div></div><div class="col-md-6 
footer-link-column"><div 
class="footer-link-column-row"><h4>Contribute</h4><ul><li><a 
href="//predictionio.incubator.apache.org/community/contribute-code/" 
target="blank">Contribute</a></li><li><a 
href="//github.com/apache/incubator-predictionio" target="blank">Source 
Code</a></li><li><a href="//issues.apache.org/jira/browse/PIO" 
target="blank">Bug Tracker</a></li><li><a 
href="mailto:[email protected]"; 
target="blank">Subscribe to Development Mailing 
List</a></li></ul></div></div></div><div class="row"><div class="col-md-12 
footer-link-column"><a class="pull-right" 
href="http://incubator.apache.org/projects/predictionio.html";><img alt="Ap
 ache Incubator" 
src="/images/logos/apache_incubator-6954bd16.png"/></a><span>Apache 
PredictionIO is an effort undergoing incubation at The Apache Software 
Foundation (ASF), sponsored by the Apache Incubator. Incubation is required of 
all newly accepted projects until a further review indicates that the 
infrastructure, communications, and decision making process have stabilized in 
a manner consistent with other successful ASF projects. While incubation status 
is not necessarily a reflection of the completeness or stability of the code, 
it does indicate that the project has yet to be fully endorsed by the 
ASF.</span></div></div></div><div id="footer-bottom"><div 
class="container"><div class="row"><div class="col-md-12"><div 
id="footer-logo-wrapper"><img alt="PredictionIO" 
src="/images/logos/logo-white-d1e9c6e6.png"/></div><div 
id="social-icons-wrapper"><a class="github-button" 
href="https://github.com/apache/incubator-predictionio"; data-style="mega" 
data-count-href="/apache/incubator-
 predictionio/stargazers" 
data-count-api="/repos/apache/incubator-predictionio#stargazers_count" 
data-count-aria-label="# stargazers on GitHub" aria-label="Star 
apache/incubator-predictionio on GitHub">Star</a> <a class="github-button" 
href="https://github.com/apache/incubator-predictionio/fork"; 
data-icon="octicon-git-branch" data-style="mega" 
data-count-href="/apache/incubator-predictionio/network" 
data-count-api="/repos/apache/incubator-predictionio#forks_count" 
data-count-aria-label="# forks on GitHub" aria-label="Fork 
apache/incubator-predictionio on GitHub">Fork</a> <script id="github-bjs" 
async="" defer="" src="https://buttons.github.io/buttons.js";></script><a 
href="https://twitter.com/predictionio"; target="blank"><img alt="PredictionIO 
on Twitter" src="/images/icons/twitter-ea9dc152.png"/></a> <a 
href="https://www.facebook.com/predictionio"; target="blank"><img 
alt="PredictionIO on Facebook" src="/images/icons/facebook-5c57939c.png"/></a> 
</div></div></div></div></div></footer>
 
</div><script>(function(w,d,t,u,n,s,e){w['SwiftypeObject']=n;w[n]=w[n]||function(){
-(w[n].q=w[n].q||[]).push(arguments);};s=d.createElement(t);
-e=d.getElementsByTagName(t)[0];s.async=1;s.src=u;e.parentNode.insertBefore(s,e);
-})(window,document,'script','//s.swiftypecdn.com/install/v1/st.js','_st');
-
-_st('install','HaUfpXXV87xoB_zzCQ45');</script><script 
src="/javascripts/application-3058a372.js"></script></body></html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-predictionio-site/blob/2e6db646/samples/index.html.gz
----------------------------------------------------------------------
diff --git a/samples/index.html.gz b/samples/index.html.gz
deleted file mode 100644
index f756083..0000000
Binary files a/samples/index.html.gz and /dev/null differ

Reply via email to