Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id 18242200B4A for ; Wed, 20 Jul 2016 21:05:00 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id 167FB160A64; Wed, 20 Jul 2016 19:05:00 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id 185A3160A5B for ; Wed, 20 Jul 2016 21:04:57 +0200 (CEST) Received: (qmail 76529 invoked by uid 500); 20 Jul 2016 19:04:57 -0000 Mailing-List: contact commits-help@predictionio.incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@predictionio.incubator.apache.org Delivered-To: mailing list commits@predictionio.incubator.apache.org Received: (qmail 76520 invoked by uid 99); 20 Jul 2016 19:04:57 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd1-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 20 Jul 2016 19:04:57 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd1-us-west.apache.org (ASF Mail Server at spamd1-us-west.apache.org) with ESMTP id 6363DC7D87 for ; Wed, 20 Jul 2016 19:04:56 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd1-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: -4.507 X-Spam-Level: X-Spam-Status: No, score=-4.507 tagged_above=-999 required=6.31 tests=[KAM_ASCII_DIVIDERS=0.8, KAM_LAZY_DOMAIN_SECURITY=1, RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, RP_MATCHES_RCVD=-1.287] autolearn=disabled Received: from mx1-lw-us.apache.org ([10.40.0.8]) by localhost (spamd1-us-west.apache.org [10.40.0.7]) (amavisd-new, port 10024) with ESMTP id DiGANJssipVx for ; Wed, 20 Jul 2016 19:04:51 +0000 (UTC) Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by mx1-lw-us.apache.org (ASF Mail Server at mx1-lw-us.apache.org) with SMTP id F3B065FD03 for ; Wed, 20 Jul 2016 19:04:48 +0000 (UTC) Received: (qmail 76419 invoked by uid 99); 20 Jul 2016 19:04:48 -0000 Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 20 Jul 2016 19:04:48 +0000 Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33) id 27BDDE08E8; Wed, 20 Jul 2016 19:04:48 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit From: donald@apache.org To: commits@predictionio.incubator.apache.org Date: Wed, 20 Jul 2016 19:04:49 -0000 Message-Id: <74fc5f1a6a9747129d97d1bb25354d76@git.apache.org> In-Reply-To: <90912f33380a4a6ab479f0b1012c0cbc@git.apache.org> References: <90912f33380a4a6ab479f0b1012c0cbc@git.apache.org> X-Mailer: ASF-Git Admin Mailer Subject: [2/2] incubator-predictionio git commit: [PIO-6] Initial doc site archived-at: Wed, 20 Jul 2016 19:05:00 -0000 [PIO-6] Initial doc site Addresses pressing installation and mailing list issues Project: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/commit/5be3cca8 Tree: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/tree/5be3cca8 Diff: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/diff/5be3cca8 Branch: refs/heads/livedoc Commit: 5be3cca83e341ab7b2c5347004311c1de2b2aea4 Parents: 03cab0f Author: Donald Szeto Authored: Wed Jul 20 12:04:14 2016 -0700 Committer: Donald Szeto Committed: Wed Jul 20 12:04:14 2016 -0700 ---------------------------------------------------------------------- docs/manual/config.rb | 2 +- docs/manual/data/nav/main.yml | 9 +- docs/manual/helpers/application_helpers.rb | 4 +- docs/manual/source/algorithm/index.html.md | 9 +- docs/manual/source/appintegration/index.html.md | 24 +- docs/manual/source/cli/index.html.md | 43 +- .../source/community/contribute-code.html.md | 106 +-- .../community/contribute-documentation.html.md | 41 +- .../source/community/contribute-sdk.html.md | 45 +- .../source/community/contribute-webhook.html.md | 19 +- docs/manual/source/community/index.html.md | 20 +- docs/manual/source/community/projects.html.md | 12 +- docs/manual/source/customize/dase.html.md.erb | 8 +- docs/manual/source/customize/index.html.md | 6 +- .../source/customize/troubleshooting.html.md | 12 +- .../datacollection/analytics-ipynb.html.md.erb | 2 +- .../analytics-tableau.html.md.erb | 4 +- .../analytics-zeppelin.html.md.erb | 6 +- .../source/datacollection/batchimport.html.md | 6 +- .../source/datacollection/channel.html.md.erb | 15 +- .../source/datacollection/eventapi.html.md | 33 +- docs/manual/source/datacollection/index.html.md | 5 +- .../source/datacollection/webhooks.html.md.erb | 7 +- docs/manual/source/demo/community.html.md | 10 +- docs/manual/source/demo/index.html.md.erb | 6 +- docs/manual/source/demo/tapster.html.md | 76 ++- .../source/demo/textclassification.html.md | 663 ------------------ .../source/demo/textclassification.html.md.erb | 673 +++++++++++++++++++ docs/manual/source/deploy/index.html.md | 11 +- docs/manual/source/index.html.md.erb | 35 +- docs/manual/source/install/index.html.md.erb | 47 +- .../source/install/install-linux.html.md.erb | 30 +- .../install/install-sourcecode.html.md.erb | 19 +- 33 files changed, 1042 insertions(+), 966 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/5be3cca8/docs/manual/config.rb ---------------------------------------------------------------------- diff --git a/docs/manual/config.rb b/docs/manual/config.rb index e9cbe75..c115891 100644 --- a/docs/manual/config.rb +++ b/docs/manual/config.rb @@ -28,7 +28,7 @@ set :markdown, sprockets.append_path File.join root, 'bower_components' # Sitemap -set :url_root, 'https://docs.prediction.io' +set :url_root, '//predictionio.incubator.apache.org' activate :search_engine_sitemap, exclude_attr: 'hidden' # Development Settings http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/5be3cca8/docs/manual/data/nav/main.yml ---------------------------------------------------------------------- diff --git a/docs/manual/data/nav/main.yml b/docs/manual/data/nav/main.yml index c9f4485..f9bd0fc 100644 --- a/docs/manual/data/nav/main.yml +++ b/docs/manual/data/nav/main.yml @@ -1,10 +1,10 @@ root: - - body: 'PredictionIO Docs' + body: 'Apache PredictionIO (incubating) Documentation' url: '/' children: - - body: 'Welcome to PredictionIO' + body: 'Welcome to Apache PredictionIO (incubating)' url: '/' - body: 'Getting Started' @@ -14,7 +14,7 @@ root: body: 'A Quick Intro' url: '/start/' - - body: 'Installing PredictionIO' + body: 'Installing Apache PredictionIO (incubating)' url: '/install/' - body: 'Downloading an Engine Template' @@ -154,9 +154,6 @@ root: body: 'Architecture Overview' url: '/system/' - - body: 'Production Deployment with AWS CloudFormation' - url: '/system/deploy-cloudformation/' - - body: 'Using Another Data Store' url: '/system/anotherdatastore/' - http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/5be3cca8/docs/manual/helpers/application_helpers.rb ---------------------------------------------------------------------- diff --git a/docs/manual/helpers/application_helpers.rb b/docs/manual/helpers/application_helpers.rb index 07e7775..a20ea54 100644 --- a/docs/manual/helpers/application_helpers.rb +++ b/docs/manual/helpers/application_helpers.rb @@ -19,7 +19,7 @@ module ApplicationHelpers end def github_url - base = 'https://github.com/PredictionIO/PredictionIO/tree/livedoc/docs/manual' + base = 'https://github.com/apache/incubator-predictionio/tree/livedoc/docs/manual' path = current_page.source_file.sub(Middleman::Application.root_path.to_s, '') base + path end @@ -54,7 +54,7 @@ module ApplicationHelpers return current_page.data.title end else - return "Welcome to PredictionIO Docs!" + return "Welcome to Apache PredictionIO (incubating) Documentation!" end end http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/5be3cca8/docs/manual/source/algorithm/index.html.md ---------------------------------------------------------------------- diff --git a/docs/manual/source/algorithm/index.html.md b/docs/manual/source/algorithm/index.html.md index 7d09d9d..0ef9242 100644 --- a/docs/manual/source/algorithm/index.html.md +++ b/docs/manual/source/algorithm/index.html.md @@ -2,7 +2,10 @@ title: Built-in Algorithm Libraries --- -An engine can virtually call any algorithm in the Algorithm class. PredictionIO currently offers native support to [Spark MLlib](http://spark.apache.org/docs/latest/mllib-guide.html) machine learning library. -It is being used by some of the engine templates in the [template gallery](http://templates.prediction.io/). +An engine can virtually call any algorithm in the Algorithm class. Apache +PredictionIO (incubating) currently offers native support to [Spark +MLlib](http://spark.apache.org/docs/latest/mllib-guide.html) machine learning +library. It is being used by some of the engine templates in the [template +gallery](http://templates.prediction.io/). -More library support will be added soon. \ No newline at end of file +More library support will be added soon. http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/5be3cca8/docs/manual/source/appintegration/index.html.md ---------------------------------------------------------------------- diff --git a/docs/manual/source/appintegration/index.html.md b/docs/manual/source/appintegration/index.html.md index 8d9b08e..510ca62 100644 --- a/docs/manual/source/appintegration/index.html.md +++ b/docs/manual/source/appintegration/index.html.md @@ -2,20 +2,26 @@ title: App Integration Overview --- -PredictionIO is designed as a machine learning server that integrates with your applications on production environments. +Apache PredictionIO (incubating) is designed as a machine learning server that +integrates with your applications on production environments. A web or mobile app normally: -1. Send event data to PredictionIO's Event Server for model training -2. Send dynamic queries to deployed engine(s) to retrieve predicted results +1. Send event data to Apache PredictionIO (incubating)'s Event Server for model + training +2. Send dynamic queries to deployed engine(s) to retrieve predicted results -![PredictionIO Single Engine Overview](/images/overview-singleengine.png) +![Apache PredictionIO (incubating) Single Engine +Overview](/images/overview-singleengine.png) ## Sending Event Data -PredictionIO's Event Server receives event data from your application. The data can be used by engines as training data to build preditive models. +Apache PredictionIO (incubating)'s Event Server receives event data from your +application. The data can be used by engines as training data to build preditive +models. -Event Server listens to port 7070 by default. You can change the port with the [--port arg](/cli/#event-server-commands) when you launch the Event Server. +Event Server listens to port 7070 by default. You can change the port with the +[--port arg](/cli/#event-server-commands) when you launch the Event Server. For further information, please read: @@ -24,8 +30,10 @@ For further information, please read: ## Sending Query -After you deploy an engine as a web service, -it will wait for queries from your application and return predicted results in JSON format. An engine listens to port 8000 by default. If you want to deploy multiple engines, you can specific a different port for each of them. +After you deploy an engine as a web service, it will wait for queries from your +application and return predicted results in JSON format. An engine listens to +port 8000 by default. If you want to deploy multiple engines, you can specific a +different port for each of them. For further information, please read: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/5be3cca8/docs/manual/source/cli/index.html.md ---------------------------------------------------------------------- diff --git a/docs/manual/source/cli/index.html.md b/docs/manual/source/cli/index.html.md index 0dbe777..9394807 100644 --- a/docs/manual/source/cli/index.html.md +++ b/docs/manual/source/cli/index.html.md @@ -4,17 +4,20 @@ title: Command Line ##Overview -Interaction with PredictionIO is done through the command line interface. It follows the format of: +Interaction with Apache PredictionIO (incubating) is done through the command +line interface. It follows the format of: ```pio [options] ...``` -You can run ```pio help``` to see a list of all available commands and ```pio help ``` to see details of the command. +You can run ```pio help``` to see a list of all available commands and ```pio +help ``` to see details of the command. -PredictionIO commands can be separated into the following three categories. +Apache PredictionIO (incubating) commands can be separated into the following +three categories. ##General Commands ```pio help``` Display usage summary. `pio help ` to read about a specific subcommand. - + ```pio version``` Displays the version of the installed PredictionIO. ```pio status``` Displays install path and running status of PredictionIO system and its dependencies. @@ -24,14 +27,14 @@ PredictionIO commands can be separated into the following three categories. ```pio eventserver``` Launch the Event Server. -```pio app``` Manage apps that are used by the Event Server. +```pio app``` Manage apps that are used by the Event Server. + +```pio app data-delete ``` deletes all data associated with the app. + +```pio app delete ``` deletes the app and its data. -```pio app data-delete ``` deletes all data associated with the app. - -```pio app delete ``` deletes the app and its data. + ```--ip ``` IP to bind to. Default to localhost. - ```--ip ``` IP to bind to. Default to localhost. - ```--port ``` Port to bind to. Default to 7070. @@ -39,22 +42,12 @@ PredictionIO commands can be separated into the following three categories. ##Engine Commands -Engine commands need to be run from the directory that contains the engine project. ```--debug``` and ```--verbose``` flags will provide debug and third-party informational messages. +Engine commands need to be run from the directory that contains the engine +project. ```--debug``` and ```--verbose``` flags will provide debug and +third-party informational messages. -```pio build``` Build the engine at the current directory. +```pio build``` Build the engine at the current directory. ```pio train``` Kick off a training using an engine. -```pio deploy``` Deploy an engine as an engine server. If no instance ID is specified, it will deploy the latest instance. - - - - - - - - - - - - +```pio deploy``` Deploy an engine as an engine server. If no instance ID is specified, it will deploy the latest instance. http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/5be3cca8/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 a9e8767..902091e 100644 --- a/docs/manual/source/community/contribute-code.html.md +++ b/docs/manual/source/community/contribute-code.html.md @@ -2,8 +2,13 @@ title: Contribute Code --- -Thank you for your interest in contributing to PredictionIO. Our mission is to -enable developers to build scalable machine learning applications easily. Here is how you can help with the project development. If you have questions at anytime, please free to post on the [Developer Fourm](https://groups.google.com/forum/#!forum/predictionio-dev) or email us at support@prediction.io. +Thank you for your interest in contributing to Apache PredictionIO (incubating). +Our mission is to enable developers to build scalable machine learning +applications easily. Here is how you can help with the project development. If +you have any question regarding development at anytime, please free to +[subscribe](mailto:dev-subscribe@predictionio.incubator.apache.org) and post to +the [Development Mailing +List](mailto:dev-subscribe@predictionio.incubator.apache.org). ## Areas in Need of Help @@ -20,83 +25,78 @@ show features that are highly sought after by the community. ## How to Report an Issue -If you wish to report an issue you found, you can do so on [GitHub Issues](https://github.com/PredictionIO/PredictionIO/issues) -or [PredictionIO JIRA](https://predictionio.atlassian.net). +If you wish to report an issue you found, you can do so on [Apache PredictionIO +(incubating) JIRA](https://issues.apache.org/jira/browse/PIO). ## How to Help Resolve Existing Issues In general, bug fixes should be done the same way as new features, but critical bug fixes will follow a different path. -#### Critical Bug Fixes Only - -1. File an issue against the issue tracker if there isn't one already. -2. Create a new hotfix branch described by the *git flow* methodology, and write - the fix in that branch. -3. Verify the patch and issue a pull request to the main repository. -4. Once merged to the main repository, critical bug fixes will be merged to the - "master" branch and new binary will be built and distributed. - - ## How to Add / Propose a New Feature -1. To propose a new feature, simply post your proposal to [PredictionIO - Development Google Group] - (https://groups.google.com/forum/#!forum/predictionio-dev) or email us directly at support@prediction.io. +1. To propose a new feature, simply + [subscribe](mailto:dev-subscribe@predictionio.incubator.apache.org) and post + your proposal to [Apache PredictionIO (incubating) Development Mailing List] + (mailto:dev@predictionio.incubator.apache.org). 2. Discuss with the community and the core development team on what needs to be done, and lay down concrete plans on deliverables. 3. Once solid plans are made, start creating tickets in the [issue tracker] - (https://predictionio.atlassian.net/secure/RapidBoard.jspa?rapidView=1). -4. Work side by side with other developers using PredictionIO Development Google - Group as primary mode of communication. You never know if someone else has a - better idea. ;) - + (https://issues.apache.org/jira/browse/PIO). +4. Work side by side with other developers using Apache PredictionIO + (incubating) Development Mailing List as primary mode of communication. You + never know if someone else has a better idea. ;) + ## How to Issue a Pull Request When you have finished your code, you can [create a pull request](https://help.github.com/articles/creating-a-pull-request/) against the -**develop** branch. You also need to complete the [Contributor Agreement](http://prediction.io/cla). We cannot accept your PR without the agreement. - +**develop** branch. + +- The title must contain a tag associating with an existing JIRA ticket. You + must create a ticket so that the infrastructure can correctly track issues + across Apache JIRA and GitHub. If your ticket is `PIO-789`, your title must + look something like `[PIO-789] Some short description`. +- Please also, in your commit message summary, include the JIRA ticket number + similar to above. - Make sure the title and description are clear and concise. For more details on writing a good commit message, check out [this guide](http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html). - If the change is visual, make sure to include a screenshot or GIF. -- If the PR closes an issue, make sure to put *Closes #X* at the end of the - description on a new line. - Make sure it is being opened into the right branch. - Make sure it has been rebased on top of that branch. -NOTE: When it is close to a release, and if there are major development ongoing, a -release branch will be forked from the develop branch to stabilize the code for -binary release. Please refer to the *git flow* methodology page for more +NOTE: When it is close to a release, and if there are major development ongoing, +a release branch will be forked from the develop branch to stabilize the code +for binary release. Please refer to the *git flow* methodology page for more information. ## Getting Started -PredictionIO relies heavily on the [git flow methodology]( +Apache PredictionIO (incubating) relies heavily on the [git flow methodology]( http://nvie.com/posts/a-successful-git-branching-model/). Please make sure you read and understand it before you start your development. By default, cloning -PredictionIO will put you in the *develop* branch, which in most cases is where -all the latest development go to. +Apache PredictionIO (incubating) will put you in the *develop* branch, which in +most cases is where all the latest development go to. NOTE: For core development, please follow the [Scala Style Guide](http://docs.scala-lang.org/style/). -### Create a Clone of PredictionIO’s Repository +### Create a Fork of the Apache PredictionIO (incubating) Repository 1. Start by creating a GitHub account if you do not already have one. -2. Go to [PredictionIO’s - repository](https://github.com/PredictionIO/PredictionIO) and fork it to your - own account. +2. Go to [Apache PredictionIO (incubating)’s GitHub + mirror](https://github.com/PredictionIO/PredictionIO) and fork it to your own + account. 3. Clone your fork to your local machine. If you need additional help, please refer to https://help.github.com/articles/fork-a-repo/. -### Building PredictionIO from Source +### Building Apache PredictionIO (incubating) from Source -After the previous section, you should have a copy of PredictionIO in your local -machine ready to be built. +After the previous section, you should have a copy of Apache PredictionIO +(incubating) in your local machine ready to be built. 1. Make sure you are on the *develop* branch. You can double check by `git status` or simply `git checkout develop`. @@ -105,15 +105,16 @@ machine ready to be built. ### Setting Up the Environment -PredictionIO relies on 3rd party software to perform its tasks. To set them up, -simply follow this [documentation]( +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). ### Start Hacking -You should have a PredictionIO development environment by now. Happy hacking! +You should have a Apache PredictionIO (incubating) development environment by +now. Happy hacking! -## Anatomy of PredictionIO’s Code Tree +## Anatomy of Apache PredictionIO (incubating) Code Tree The following describes each directory’s purpose. @@ -128,18 +129,18 @@ Configuration files that are used by both a source tree and binary distribution. ### core -Core PredictionIO code that provides the DASE controller API, core data -structures, and workflow creation and management code. +Core Apache PredictionIO (incubating) code that provides the DASE controller +API, core data structures, and workflow creation and management code. ### data -PredictionIO Event Server, and backend-agnostic storage layer for event store -and metadata store. +Apache PredictionIO (incubating) Event Server, and backend-agnostic storage +layer for event store and metadata store. ### docs -Source code for docs.prediction.io site, and any other documentation support -files. +Source code for http://predictionio.incubator.apache.org site, and any other +documentation support files. ### engines @@ -147,7 +148,7 @@ Obsolete built-in engines. To be removed. ### examples -Complete code examples showing PredictionIO’s application. +Complete code examples showing Apache PredictionIO (incubating)'s application. ### sbt @@ -159,5 +160,6 @@ Starting point of building your custom engine. ### tools -Tools for running PredictionIO. Contains primarily the CLI (command-line -interface) and its supporting code, and the experimental evaluation dashboard. +Tools for running Apache PredictionIO (incubating). Contains primarily the CLI +(command-line interface) and its supporting code, and the experimental +evaluation dashboard. http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/5be3cca8/docs/manual/source/community/contribute-documentation.html.md ---------------------------------------------------------------------- diff --git a/docs/manual/source/community/contribute-documentation.html.md b/docs/manual/source/community/contribute-documentation.html.md index 86dcfa8..fe97ffd 100644 --- a/docs/manual/source/community/contribute-documentation.html.md +++ b/docs/manual/source/community/contribute-documentation.html.md @@ -4,32 +4,30 @@ title: Contribute Documentation ## How to Write Documentation -You can help improve the PredictionIO documentation by submitting tutorials, -writing how-tos, fixing errors, and adding missing information. You can edit any page -live on [GitHub](https://github.com/PredictionIO/PredictionIO) by clicking the pencil icon on any page or open a -[Pull Request](https://help.github.com/articles/creating-a-pull-request/). - -Dependency Status - +You can help improve the Apache PredictionIO (incubating) documentation by +submitting tutorials, writing how-tos, fixing errors, and adding missing +information. You can edit any page live on +[GitHub](https://github.com/apache/incubator-predictionio) by clicking the +pencil icon on any page or open a [Pull +Request](https://help.github.com/articles/creating-a-pull-request/). ## Branching Use the `livedoc` branch if you want to update the current documentation. -Build Status - -Use the `develop` branch if you want to write documentation for the next release. - -Build Status +Use the `develop` branch if you want to write documentation for the next +release. ## Installing Locally -PredictionIO documentation uses [Middleman](http://middlemanapp.com/) and is hosted on [S3](http://aws.amazon.com/s3/). +Apache PredictionIO (incubating) documentation uses +[Middleman](http://middlemanapp.com/) and is hosted on Apache. -[Gems](http://rubygems.org/) are managed with [Bundler](http://bundler.io/). Front end code with [Bower](http://bower.io/). +[Gems](http://rubygems.org/) are managed with [Bundler](http://bundler.io/). +Front end code with [Bower](http://bower.io/). -Requires [Ruby](https://www.ruby-lang.org/en/) 2.1 or greater. -We recommend [RVM](http://rvm.io/) or [rbenv](https://github.com/sstephenson/rbenv). +Requires [Ruby](https://www.ruby-lang.org/en/) 2.1 or greater. We recommend +[RVM](http://rvm.io/) or [rbenv](https://github.com/sstephenson/rbenv). WARNING: **OS X** users you will need to install [Xcode Command Line Tools](https://developer.apple.com/xcode/downloads/) with: `$ xcode-select --install` first. @@ -89,8 +87,9 @@ Internal links: * Should end with / (S3 requirement). * Should **not** end with .html. -Following these rules helps keep everything consistent and allows our version parser to correctly version links. -Middleman is configured for directory indexes. Linking to a file in `sources/samples/index.html` should be done with +Following these rules helps keep everything consistent and allows our version +parser to correctly version links. Middleman is configured for directory +indexes. Linking to a file in `sources/samples/index.html` should be done with `[Title](/sample/)`. ```md @@ -170,9 +169,11 @@ NOTE: Files must end with a `.erb` extension to be processed as ERB. ## Going Live -Pushing to the `livedoc` branch will update [docs.prediction.io](http://docs.prediction.io/) in about 5 minutes. +Pushing to the `livedoc` branch will update +http://predictionio.incubator.apache.org in about 5 minutes. -You can check the progress of each build on [Travis CI](https://travis-ci.org/PredictionIO/PredictionIO). +You can check the progress of each build on [Apache's +Jenkins](https://builds.apache.org/). ``` $ git push origin livedoc http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/5be3cca8/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 f88c966..1cc0357 100644 --- a/docs/manual/source/community/contribute-sdk.html.md +++ b/docs/manual/source/community/contribute-sdk.html.md @@ -2,28 +2,28 @@ title: Contribute a SDK --- -A SDK should provide convenient methods for client applications to easily -record users' behaviors in PredictionIO's Event Server and also query -recommendations from the ML Engines. Therefore, a SDK typically has 2 +A SDK should provide convenient methods for client applications to easily +record users' behaviors in Apache PredictionIO (incubating)'s Event Server and +also query recommendations from the ML Engines. Therefore, a SDK typically has 2 corresponding clients: `Event Client` and `Engine Client`. -The following guideline bases on the REST API provided by PredictionIO's -Event Client which details can be found [here](http://docs.prediction.io/datacollection/eventapi/). - +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/). ## Event Client Because the Event Server has only 1 connection point, the `Event Client` -needs to implement this core request first. The core request has the +needs to implement this core request first. The core request has the following rules. -- **URL**: `/events.json?accessKey=` +- **URL**: `/events.json?accessKey=` (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://docs.prediction.io/datacollection/eventapi/) for the details on the fields of the JSON data object. -- **Response**: +- **Response**: + **Success**: status code `201` with a JSON result containing the `eventId`. + **Failure**: a JSON result containing a `message` field describing @@ -32,8 +32,8 @@ on the fields of the JSON data object. * Status code `400`: fail to parse the JSON request e.g. missing required fields like `event`, or invalid `eventTime` format. -Other convenient methods are just shortcut. They could simply build -the event's parameters and call the core request. `Event Client` should +Other convenient methods are just shortcut. They could simply build +the event's parameters and call the core request. `Event Client` should support the following 7 shorthand operations: - **User entities** @@ -127,8 +127,8 @@ sending the event to the server. ## Engine Client -`Engine Client`'s main job is to retrieve recommendation or prediction -results from PredictionIO's Engines. It has only a few rules on the +`Engine Client`'s main job is to retrieve recommendation or prediction results +from Apache PredictionIO (incubating)'s Engines. It has only a few rules on the request and response type. - **URL**: `/queries.json` (e.g. http://localhost:8000/queries.json) @@ -162,10 +162,10 @@ request and response type. ``` + **Failure**: status code `400` e.g. fail to parse the query. -The formats of JSON objects in both the request and response must be defined -by the PredictionIO's Engine and are different across applications. The above -examples are taken from the Recommendation Engine template in which the query -and prediction results are defined as following. +The formats of JSON objects in both the request and response must be defined by +the Apache PredictionIO (incubating)'s Engine and are different across +applications. The above examples are taken from the Recommendation Engine +template in which the query and prediction results are defined as following. ```scala case class Query( @@ -179,10 +179,11 @@ case class PredictedResult( ``` ## Testing Your SDK -You can set up a local host PredictionIO environment to test your SDK. -However, it is hard to set it up online to test your SDK automatically -using services like Travis CI. In that case, you should consider -using these lightweight [mock servers] + +You can set up a local host Apache PredictionIO (incubating) environment to test +your SDK. However, it is hard to set it up online to test your SDK automatically +using services like Travis CI. In that case, you should consider using these +lightweight [mock servers] (https://github.com/minhtule/PredictionIO-Mock-Server). Please see the instructions in the repo how to use it. It takes less than 5 minutes! http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/5be3cca8/docs/manual/source/community/contribute-webhook.html.md ---------------------------------------------------------------------- diff --git a/docs/manual/source/community/contribute-webhook.html.md b/docs/manual/source/community/contribute-webhook.html.md index 5919cc4..2876f01 100644 --- a/docs/manual/source/community/contribute-webhook.html.md +++ b/docs/manual/source/community/contribute-webhook.html.md @@ -2,7 +2,8 @@ title: Contribute a Webhooks Connector --- -NOTE: Please check out the [latest develop branch](https://github.com/PredictionIO/PredictionIO). +NOTE: Please check out the [latest develop +branch](https://github.com/apache/incubator-predictionio). Event server can collect data from other third-party sites or software through their webhooks services (for example, SegmentIO, MailChimp). To support that, a *Webhooks Connector* for the third-party data is needed to be integrated into Event Server. The job of the *Webhooks Connector* is as simply as converting the third-party data into Event JSON. You can find an example below. @@ -161,7 +162,10 @@ private[prediction] object ExampleJsonConnector extends JsonConnector { } ``` -You can find the complete example in [the GitHub repo](https://github.com/PredictionIO/PredictionIO/blob/develop/data/src/main/scala/io/prediction/data/webhooks/examplejson/ExampleJsonConnector.scala) and how to write [tests for the connector](https://github.com/PredictionIO/PredictionIO/blob/develop/data/src/test/scala/io/prediction/data/webhooks/examplejson/ExampleJsonConnectorSpec.scala). +You can find the complete example in [the GitHub +repo](https://github.com/apache/incubator-predictionio/blob/develop/data/src/main/scala/io/prediction/data/webhooks/examplejson/ExampleJsonConnector.scala) +and how to write [tests for the +connector](https://github.com/apache/incubator-predictionio/blob/develop/data/src/test/scala/io/prediction/data/webhooks/examplejson/ExampleJsonConnectorSpec.scala). Please put the connector code in a separate directory for each site. For example, code for segmentio connector should be in @@ -176,7 +180,10 @@ and tests should be in data/src/test/scala/io/prediction/data/webhooks/segmentio/ ``` -**For form-submission data**, you can find the comple example [the GitHub repo](https://github.com/PredictionIO/PredictionIO/blob/develop/data/src/main/scala/io/prediction/data/webhooks/exampleform/ExampleFormConnector.scala) and how to write [tests for the connector](https://github.com/PredictionIO/PredictionIO/blob/develop/data/src/test/scala/io/prediction/data/webhooks/exampleform/ExampleFormConnectorSpec.scala). +**For form-submission data**, you can find the comple example [the GitHub +repo](https://github.com/apache/incubator-predictionio/blob/develop/data/src/main/scala/io/prediction/data/webhooks/exampleform/ExampleFormConnector.scala) +and how to write [tests for the +connector](https://github.com/apache/incubator-predictionio/blob/develop/data/src/test/scala/io/prediction/data/webhooks/exampleform/ExampleFormConnectorSpec.scala). ## 2. Integrate the Connector into Event Server @@ -184,7 +191,7 @@ data/src/test/scala/io/prediction/data/webhooks/segmentio/ Once we have the connector implemented, we can add this to the EventServer so we can collect real-time data. Add the connector to [`WebhooksConnectors` object]( -https://github.com/PredictionIO/PredictionIO/blob/develop/data/src/main/scala/io/prediction/data/api/WebhooksConnectors.scala): +https://github.com/apache/incubator-predictionio/blob/develop/data/src/main/scala/io/prediction/data/api/WebhooksConnectors.scala): ```scala @@ -218,4 +225,6 @@ For `FormConnector`, the URL doesn't have `.json`. For example, http:///webhooks/mailchimp?accessKey=&channel= ``` -That's it. Once you re-compile PredictionIO, you can send the ExampleJson data to the following URL and the data will be stored to the App of the corresponding Access Key. +That's it. Once you re-compile Apache PredictionIO (incubating), you can send +the ExampleJson data to the following URL and the data will be stored to the App +of the corresponding Access Key. http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/5be3cca8/docs/manual/source/community/index.html.md ---------------------------------------------------------------------- diff --git a/docs/manual/source/community/index.html.md b/docs/manual/source/community/index.html.md index d988afd..e7b9c75 100644 --- a/docs/manual/source/community/index.html.md +++ b/docs/manual/source/community/index.html.md @@ -2,13 +2,15 @@ title: Community Page --- -## User Forum +## User Mailing List -Join our [Google Group](https://groups.google.com/forum/#!forum/predictionio-user). +This list is for users of Apache PredictionIO (incubating) to ask questions, +share knowledge, and discuss issues. Do send mail to this list with usage and +configuration questions and problems. Also, please send questions to this list +to verify your problem before filing issues in JIRA. -## Request a Feature - -Fill out the form [here](https://predictionio.uservoice.com/forums/219398-general/filters/top). +[Subscribe](mailto:user-subscribe@predictionio.incubator.apache.org) to our User Mailing List. +[Unsubscribe](mailto:user-unsubscribe@predictionio.incubator.apache.org) from our User Mailing List. ## Twitter @@ -16,11 +18,11 @@ Follow us on Twitter [@predictionio](https://twitter.com/PredictionIO). ## Facebook Page -Like us on Facebook at [https://www.facebook.com/predictionio](https://www.facebook.com/predictionio). +Like us on Facebook at https://www.facebook.com/predictionio. ## GitHub -View our code on GitHub at [https://github.com/PredictionIO](https://github.com/PredictionIO) +View our code on GitHub at https://github.com/apache/incubator-predictionio. - - + + http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/5be3cca8/docs/manual/source/community/projects.html.md ---------------------------------------------------------------------- diff --git a/docs/manual/source/community/projects.html.md b/docs/manual/source/community/projects.html.md index 29735d6..982e870 100644 --- a/docs/manual/source/community/projects.html.md +++ b/docs/manual/source/community/projects.html.md @@ -2,13 +2,13 @@ title: Community Powered Projects --- -We are compiling a list of community-powered projects for PredictionIO 0.8.0 and above. +Here you will find great projects contributed by the Apache PredictionIO +(incubating) community. Stay tuned. -Here you will find great projects contributed by the PredictionIO community. -Stay tuned. - -INFO: If you have built a PredictionIO-related project, we would love to showcase it -to the community! Simply edit [this page](https://github.com/PredictionIO/PredictionIO/blob/livedoc/docs/manual/source/community/projects.html.md) and submit a pull request. +INFO: If you have built a Apache PredictionIO (incubating)-related project, we +would love to showcase it to the community! Simply edit [this +page](https://github.com/apache/incubator-predictionio/blob/livedoc/docs/manual/source/community/projects.html.md) +and submit a pull request. ## SDKs http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/5be3cca8/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 78a0194..456a373 100644 --- a/docs/manual/source/customize/dase.html.md.erb +++ b/docs/manual/source/customize/dase.html.md.erb @@ -159,20 +159,22 @@ The two methods of the Algorithm class are train() and predict(): ## train() -train() is responsible for training a predictive model. It is called when you run `pio train`. PredictionIO will store this model. +train() is responsible for training a predictive model. It is called when you +run `pio train`. Apache PredictionIO (incubating) will store this model. ## predict() predict() is responsible for using this model to make prediction. It is called when you send a JSON query to the engine. Note that predict() is called in real time. -PredictionIO supports two types of algorithms: +Apache PredictionIO (incubating) supports two types of algorithms: - **[P2LAlgorithm](https://docs.prediction.io/api/current/#io.prediction.controller.P2LAlgorithm)**: trains a Model which does not contain RDD - **[PAlgorithm](https://docs.prediction.io/api/current/#io.prediction.controller.PAlgorithm)**: trains a Model which contains RDD ## P2LAlgorithm -For `P2LAlgorithm`, the Model is automatically serialized and persisted by PredictionIO after training. +For `P2LAlgorithm`, the Model is automatically serialized and persisted by +Apache PredictionIO (incubating) after training. Implementing `IPersistentModel` and `IPersistentModelLoader` is optional for P2LAlgorithm. http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/5be3cca8/docs/manual/source/customize/index.html.md ---------------------------------------------------------------------- diff --git a/docs/manual/source/customize/index.html.md b/docs/manual/source/customize/index.html.md index c99ecde..00fdde0 100644 --- a/docs/manual/source/customize/index.html.md +++ b/docs/manual/source/customize/index.html.md @@ -27,9 +27,9 @@ customize the final returned results. An Evaluation Metric quantifies prediction accuracy with a numerical score. It can be used for comparing algorithms or algorithm parameter settings. -> PredictionIO helps you modularize these components so you can build, for -example, several Serving components for an Engine. You will be able to choose -which one to be deployed when you create an Engine. +> Apache PredictionIO (incubating) helps you modularize these components so you +can build, for example, several Serving components for an Engine. You will be +able to choose which one to be deployed when you create an Engine. ![Engine Overview](/images/engineinstance-overview.png) http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/5be3cca8/docs/manual/source/customize/troubleshooting.html.md ---------------------------------------------------------------------- diff --git a/docs/manual/source/customize/troubleshooting.html.md b/docs/manual/source/customize/troubleshooting.html.md index 201a8de..2e9b130 100644 --- a/docs/manual/source/customize/troubleshooting.html.md +++ b/docs/manual/source/customize/troubleshooting.html.md @@ -2,7 +2,8 @@ title: Engine Development - Troubleshoot --- -PredictionIO provides the following features to help you debug engines during development cycle. +Apache PredictionIO (incubating) provides the following features to help you +debug engines during development cycle. ## Stop Training between Stages @@ -116,8 +117,9 @@ After run `pio deploy`, you can access the engine status page by go to same URL ## pio-shell -PredictionIO also provides `pio-shell` in which you can easily access PredictionIO API, -Spark context and Spark API for quickly testing code or debugging purposes. +Apache PredictionIO (incubating) also provides `pio-shell` in which you can +easily access Apache PredictionIO (incubating) API, Spark context and Spark API +for quickly testing code or debugging purposes. To bring up the shell, simply run: @@ -125,7 +127,9 @@ To bring up the shell, simply run: $ pio-shell --with-spark ``` -(`pio-shell` is available inside `bin/` directory of installed PredictionIO directory, you should be able to access it if you have added PredictionIO/bin into your environment variable `PATH`) +(`pio-shell` is available inside `bin/` directory of installed Apache +PredictionIO (incubating) directory, you should be able to access it if you have +added PredictionIO/bin into your environment variable `PATH`) Note that the Spark context is available as variable `sc` inside the shell. http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/5be3cca8/docs/manual/source/datacollection/analytics-ipynb.html.md.erb ---------------------------------------------------------------------- diff --git a/docs/manual/source/datacollection/analytics-ipynb.html.md.erb b/docs/manual/source/datacollection/analytics-ipynb.html.md.erb index ee8aea2..9179e8c 100644 --- a/docs/manual/source/datacollection/analytics-ipynb.html.md.erb +++ b/docs/manual/source/datacollection/analytics-ipynb.html.md.erb @@ -4,7 +4,7 @@ title: Machine Learning Analytics with IPython Notebook [IPython Notebook](http://ipython.org/notebook.html) is a very powerful interactive computational environment, and with -[PredictionIO](https://prediction.io), +[Apache PredictionIO (incubating)](http://predictionio.incubator.apache.org), [PySpark](http://spark.apache.org/docs/latest/api/python/) and [Spark SQL](https://spark.apache.org/sql/), you can easily analyze your collected events when you are developing or tuning your engine. http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/5be3cca8/docs/manual/source/datacollection/analytics-tableau.html.md.erb ---------------------------------------------------------------------- diff --git a/docs/manual/source/datacollection/analytics-tableau.html.md.erb b/docs/manual/source/datacollection/analytics-tableau.html.md.erb index 0386c82..9d20365 100644 --- a/docs/manual/source/datacollection/analytics-tableau.html.md.erb +++ b/docs/manual/source/datacollection/analytics-tableau.html.md.erb @@ -2,8 +2,8 @@ title: Machine Learning Analytics with Tableau --- -With Spark SQL, it is possible to connect Tableau to PredictionIO Event Server -for interactive analysis of event data. +With Spark SQL, it is possible to connect Tableau to Apache PredictionIO +(incubating) Event Server for interactive analysis of event data. ## Prerequisites http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/5be3cca8/docs/manual/source/datacollection/analytics-zeppelin.html.md.erb ---------------------------------------------------------------------- diff --git a/docs/manual/source/datacollection/analytics-zeppelin.html.md.erb b/docs/manual/source/datacollection/analytics-zeppelin.html.md.erb index 94cb0ec..399d133 100644 --- a/docs/manual/source/datacollection/analytics-zeppelin.html.md.erb +++ b/docs/manual/source/datacollection/analytics-zeppelin.html.md.erb @@ -3,8 +3,8 @@ title: Machine Learning Analytics with Zeppelin --- [Apache Zeppelin](http://zeppelin-project.org/) is an interactive computational -environment built on Apache Spark like the IPython Notebook. With -[PredictionIO](https://prediction.io) and [Spark +environment built on Apache Spark like the IPython Notebook. With [Apache +PredictionIO (incubating)](http://predictionio.incubator.apache.org) and [Spark SQL](https://spark.apache.org/sql/), you can easily analyze your collected events when you are developing or tuning your engine. @@ -12,7 +12,7 @@ events when you are developing or tuning your engine. The following instructions assume that you have the command `sbt` accessible in your shell's search path. Alternatively, you can use the `sbt` command that -comes with PredictionIO at `$PIO_HOME/sbt/sbt`. +comes with Apache PredictionIO (incubating) at `$PIO_HOME/sbt/sbt`. <%= partial 'shared/datacollection/parquet' %> http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/5be3cca8/docs/manual/source/datacollection/batchimport.html.md ---------------------------------------------------------------------- diff --git a/docs/manual/source/datacollection/batchimport.html.md b/docs/manual/source/datacollection/batchimport.html.md index 9364d6b..ab31d41 100644 --- a/docs/manual/source/datacollection/batchimport.html.md +++ b/docs/manual/source/datacollection/batchimport.html.md @@ -29,7 +29,11 @@ import. ## Use SDK to Prepare Batch Input File -Some of the PredictionIO SDKs also provides FileExporter client. You may use them to prepare the JSON file as described above. The FileExporter creates event in the same way as EventClient except that the events are written to a JSON file instead of being sent to EventSever. The written JSON file can then be used by batch import. +Some of the Apache PredictionIO (incubating) SDKs also provides FileExporter +client. You may use them to prepare the JSON file as described above. The +FileExporter creates event in the same way as EventClient except that the events +are written to a JSON file instead of being sent to EventSever. The written JSON +file can then be used by batch import.
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/5be3cca8/docs/manual/source/datacollection/channel.html.md.erb ---------------------------------------------------------------------- diff --git a/docs/manual/source/datacollection/channel.html.md.erb b/docs/manual/source/datacollection/channel.html.md.erb index af2a70c..92814a8 100644 --- a/docs/manual/source/datacollection/channel.html.md.erb +++ b/docs/manual/source/datacollection/channel.html.md.erb @@ -2,17 +2,24 @@ title: Channel --- -Each App has a default channel (without name) which stores all incoming events. This "default" one is used when channel is not specified. +Each App has a default channel (without name) which stores all incoming events. +This "default" one is used when channel is not specified. -You may create additional Channels for the App. Creating multiple Channels is advanced usage. You don't need to create any in order to use PredictionIO. The Channel is associated with one App only and must have unique name within the same App. +You may create additional Channels for the App. Creating multiple Channels is +advanced usage. You don't need to create any in order to use Apache PredictionIO +(incubating). The Channel is associated with one App only and must have unique +name within the same App. -Creating multiple Channels allows you more easily to identify, manage and use specific event data if you may collect events from different multiple sources (eg. mobile, website, or third-party webhooks service) for the your application. +Creating multiple Channels allows you more easily to identify, manage and use +specific event data if you may collect events from different multiple sources +(eg. mobile, website, or third-party webhooks service) for the your application. (More usage details coming soon...) ## Create a new Channel -For example, to create a new channel "myChannel" for app "myApp", run following `pio` command: +For example, to create a new channel "myChannel" for app "myApp", run following +`pio` command: ``` pio app channel-new myApp myChannel http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/5be3cca8/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 9fb3716..0e59c0a 100644 --- a/docs/manual/source/datacollection/eventapi.html.md +++ b/docs/manual/source/datacollection/eventapi.html.md @@ -2,28 +2,29 @@ title: Collecting Data through REST/SDKs --- -**Event Server** is designed to collect data into PredictionIO in an event-based -style. Once the Event Server is launched, your application can send data to it -through its **Event API** with HTTP requests or with `EventClient`s of -PredictionIO's SDKs. - -INFO: All PredictionIO-compliant engines support accessing the Event Store (i.e. the -data store of Event Server) through [PredictionIO's Storage +**Event Server** is designed to collect data into Apache PredictionIO +(incubating) in an event-based style. Once the Event Server is launched, your +application can send data to it through its **Event API** with HTTP requests or +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). ## 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, PredictionIO uses -Apache HBase, and a quick configuration can be found -[here](/install/install-linux.html#hbase). Please allow a minute -(usually less than 30 seconds) after HBase is started for its initialization to -complete before starting the Event Server. +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 +than 30 seconds) after HBase is started for its initialization to complete +before starting the Event Server. -Everything about PredictionIO can be done through the `pio` command. Please add -PIO binary command path to to your `PATH` first. Assuming PredictionIO is -installed at `/home/yourname/PredictionIO/`, you can run +Everything about Apache PredictionIO (incubating) can be done through the `pio` +command. Please add PIO binary command path to to your `PATH` first. Assuming +PredictionIO is installed at `/home/yourname/PredictionIO/`, you can run ``` $ PATH=$PATH:/home/yourname/PredictionIO/bin; export PATH @@ -81,7 +82,7 @@ to use the Event API. You should see something like the following output: ### Creating Your First Event You may connect to the Event Server with HTTP request or by using one of many -**PredictionIO SDKs**. +**Apache PredictionIO (incubating) SDKs**. For example, the following shows how one can create an event involving a single entity. Replace the value of `accessKey` by the *Access Key* generated for your App. http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/5be3cca8/docs/manual/source/datacollection/index.html.md ---------------------------------------------------------------------- diff --git a/docs/manual/source/datacollection/index.html.md b/docs/manual/source/datacollection/index.html.md index 55293fd..b304c3d 100644 --- a/docs/manual/source/datacollection/index.html.md +++ b/docs/manual/source/datacollection/index.html.md @@ -2,8 +2,9 @@ title: Event Server Overview --- -PredictionIO offers an Event Server that collects data in an event-based style -via a RESTful API. By default, Event Server uses Apache HBase as data store. +Apache PredictionIO (incubating) offers an Event Server that collects data in an +event-based style via a RESTful API. By default, Event Server uses Apache HBase +as data store. ![EventServer Highlight](/images/eventserver-overview.png) http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/5be3cca8/docs/manual/source/datacollection/webhooks.html.md.erb ---------------------------------------------------------------------- diff --git a/docs/manual/source/datacollection/webhooks.html.md.erb b/docs/manual/source/datacollection/webhooks.html.md.erb index df0f032..b5b7c4d 100644 --- a/docs/manual/source/datacollection/webhooks.html.md.erb +++ b/docs/manual/source/datacollection/webhooks.html.md.erb @@ -4,7 +4,6 @@ title: Unifying Multichannel Data with Webhooks Webhooks are used to collects data for your application from multiple channels automatically. -PredictionIO offers webhooks for Segment.io and MailChimp (backend only). Several users also have expressed interest in -Magento, Shopify and KeenIO so we'd be happy to help if anyone wishes to implement these. - -Please contact us at support@prediction.io if you are interested in trying out one of them. +Apache PredictionIO (incubating) offers webhooks for Segment.io and MailChimp +(backend only). Several users also have expressed interest in Magento, Shopify +and KeenIO so we'd be happy to help if anyone wishes to implement these. http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/5be3cca8/docs/manual/source/demo/community.html.md ---------------------------------------------------------------------- diff --git a/docs/manual/source/demo/community.html.md b/docs/manual/source/demo/community.html.md index 6bb7a68..e1c1a0b 100644 --- a/docs/manual/source/demo/community.html.md +++ b/docs/manual/source/demo/community.html.md @@ -1,10 +1,12 @@ --- -title: Demo Tutorials with PredictionIO +title: Demo Tutorials with Apache PredictionIO (incubating) --- -Here is a list of demo tutorials for PredictionIO. +Here is a list of demo tutorials for Apache PredictionIO (incubating). -INFO: If you want to showcase your demo app here, simply edit [this page](https://github.com/PredictionIO/PredictionIO/blob/livedoc/docs/manual/source/community/showcase.html.md) and submit a pull request. +INFO: If you want to showcase your demo app here, simply edit [this +page](https://github.com/apache/incubator-predictionio/blob/livedoc/docs/manual/source/community/showcase.html.md) +and submit a pull request. ## Tapster iOS Demo @@ -37,7 +39,7 @@ URL: http://ontappapp.com/ Writeup: http://victorleungtw.com/prediction-io/ -## Yelpio +## Yelpio OnTapp http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/5be3cca8/docs/manual/source/demo/index.html.md.erb ---------------------------------------------------------------------- diff --git a/docs/manual/source/demo/index.html.md.erb b/docs/manual/source/demo/index.html.md.erb index 76f4320..43da798 100644 --- a/docs/manual/source/demo/index.html.md.erb +++ b/docs/manual/source/demo/index.html.md.erb @@ -4,9 +4,11 @@ title: Demos ## Current Demos -[Tapster](/demo/tapster/) - A Tinder like Rails application using PredictionIO. +[Tapster](/demo/tapster/) - A Tinder like Rails application using Apache +PredictionIO (incubating). ## Contribute -Interested in writing a demo? Contact us at <%= mail_to 'support@prediction.io' %>. +Interested in writing a demo? Contact us at <%= mail_to +'dev@prediction.incubator.apache.org' %>. http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/5be3cca8/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 efb0de6..4bf9917 100644 --- a/docs/manual/source/demo/tapster.html.md +++ b/docs/manual/source/demo/tapster.html.md @@ -66,20 +66,21 @@ $rails server ![Rails Server](/images/demo/tapster/rails-server.png) -## PredictionIO Setup +## Apache PredictionIO (incubating) Setup -### Install PredictionIO -Follow the installation instructions [here](http://docs.prediction.io/install/) or simply run: +### Install Apache PredictionIO (incubating) +Follow the installation instructions [here](http://predictionio.incubator.apache.org/install/) or simply run: ``` -$ bash -c "$(curl -s https://install.prediction.io/install.sh)" +$ bash -c "$(curl -s https://raw.githubusercontent.com/apache/incubator-predictionio/master/bin/install.sh)" ``` ![PIO Install](/images/demo/tapster/pio-install.png) ### Create a New App -You will need to create a new app on PredictionIO to house the Tapster demo. You can do this with: +You will need to create a new app on Apache PredictionIO (incubating) to house +the Tapster demo. You can do this with: ``` $ pio app new tapster @@ -172,7 +173,8 @@ Once everything is installed, start the event server by running: `$ pio eventser ![Event Server](/images/demo/tapster/pio-eventserver.png) -INFO: You can check the status of PredictionIO at any time by running: `$ pio status` +INFO: You can check the status of Apache PredictionIO (incubating) at any time +by running: `$ pio status` ALERT: If your laptop goes to sleep you might manually need to restart HBase with: @@ -182,9 +184,11 @@ $ ./stop-hbase.sh $ ./start-hbase.sh ``` -The key event we are importing into PredictionIO event server is the "Like" event (for example, user X likes episode Y). +The key event we are importing into Apache PredictionIO (incubating) event +server is the "Like" event (for example, user X likes episode Y). -We will send this data to PredictionIO by executing `$ rake import:predictionio` command. +We will send this data to Apache PredictionIO (incubating) by executing `$ rake +import:predictionio` command. [View on GitHub](https://github.com/PredictionIO/Demo-Tapster/blob/master/lib/tasks/import/predictionio.rake) @@ -200,7 +204,9 @@ INFO: If you forget your **Access Key** you can always run: `$ pio app list` You can set these values in the `.env` file located in the application root directory and it will be automatically loaded into your environment each time Rails is run. -The next part of the script loops through each line of the `data/user_list.csv` file and returns an array of unique user and episode IDs. Once we have those we can send the data to PredictionIO like this. +The next part of the script loops through each line of the `data/user_list.csv` +file and returns an array of unique user and episode IDs. Once we have those we +can send the data to Apache PredictionIO (incubating) like this. First the users: @@ -253,7 +259,8 @@ CSV.foreach(USER_LIST, headers: true) do |row| end ``` -In total the script takes about 4 minutes to run on a basic laptop. At this point all the data is now imported to PredictionIO. +In total the script takes about 4 minutes to run on a basic laptop. At this +point all the data is now imported to Apache PredictionIO (incubating). ![Import](/images/demo/tapster/pio-import-predictionio.png) @@ -268,7 +275,10 @@ $ pio train -- --driver-memory 4g ![PIO Train](/images/demo/tapster/pio-train.png) -Using the --driver-memory option to limit the memory used by PredictionIO. Without this PredictionIO can consume too much memory leading to a crash. You can adjust the 4g up or down depending on your system specs. +Using the --driver-memory option to limit the memory used by Apache PredictionIO +(incubating). Without this Apache PredictionIO (incubating) can consume too much +memory leading to a crash. You can adjust the 4g up or down depending on your +system specs. You can set up a job to periodically retrain the engine so the model is updated with the latest dataset. @@ -277,27 +287,33 @@ You can set up a job to periodically retrain the engine so the model is updated You can deploy the model with: `$ pio deploy` from the `tapster-episode-similar` directory. -At this point, you have an demo app with data and a PredictionIO server with a trained model all setup. Next, we will connect the two so you can log the live interaction (likes) events into PredictionIO event server and query the engine server for recommendation. +At this point, you have an demo app with data and a Apache PredictionIO +(incubating) server with a trained model all setup. Next, we will connect the +two so you can log the live interaction (likes) events into Apache PredictionIO +(incubating) event server and query the engine server for recommendation. -## Connect Demo app with PredictionIO +## Connect Demo app with Apache PredictionIO (incubating) ### Overview -On a high level the application keeps a record of each like and dislike. It uses jQuery to send an array of both likes and dislikes to the server on each click. The server then queries PredictionIO for a similar episode which is relayed to jQuery and displayed to the user. +On a high level the application keeps a record of each like and dislike. It uses jQuery to send an array of both likes and dislikes to the server on each click. The server then queries Apache PredictionIO (incubating) for a similar episode which is relayed to jQuery and displayed to the user. Data flow: - The user likes an episode. -- Tapster sends the "Like" event to PredictionIO event server. -- Tapster queries PredictionIO engine with all the episodes the user has rated (likes and dislikes) in this session. -- PredictionIO returns 1 recommended episode. +- Tapster sends the "Like" event to Apache PredictionIO (incubating) event + server. +- Tapster queries Apache PredictionIO (incubating) engine with all the episodes + the user has rated (likes and dislikes) in this session. +- Apache PredictionIO (incubating) returns 1 recommended episode. ### JavaScript All the important code lives in `app/assets/javascripts/application.js` [View on GitHub](https://github.com/PredictionIO/Demo-Tapster/blob/master/app/assets/javascripts/application.js) Most of this file is just handlers for click things, displaying the loading dialog and other such things. -The most important function is to query the Rails server for results from PredictionIO. +The most important function is to query the Rails server for results from Apache +PredictionIO (incubating). ``` // Query the server for a comic based on previous likes. See episodes#query. @@ -354,17 +370,21 @@ def query end ``` -On the first line we make a connection to PredictionIO. You will need to set the `PIO_ENGINE_URL`. This can be done in the `.env` file. The default URL is: http://localhost:8000. +On the first line we make a connection to Apache PredictionIO (incubating). You +will need to set the `PIO_ENGINE_URL`. This can be done in the `.env` file. The +default URL is: http://localhost:8000. Next we decode the JSON sent from the browser. After that we check to see if the user has liked anything yet. If not we just return a random episode. -If the user has likes then we can send that data to PredictionIO event server. +If the user has likes then we can send that data to Apache PredictionIO +(incubating) event server. We also blacklist the dislikes so that they are not returned. -With our response from PredictionIO it’s just a matter of looking it up in the database and rendering that object as JSON. +With our response from Apache PredictionIO (incubating) it’s just a matter of +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. @@ -375,8 +395,16 @@ Source code is on GitHub at: [github.com/PredictionIO/Demo-Tapster](https://gith ## Conclusion -Love this tutorial and PredictionIO? Both are open source (Apache 2 License). [Fork](https://github.com/PredictionIO/Demo-Tapster) this demo and build upon it. If you produce something cool shoot us an email and we will link to it from here. - -Found a typo? Think something should be explained better? This tutorial (and all our other documenation) live in the main repo [here](https://github.com/PredictionIO/PredictionIO/blob/livedoc/docs/manual/source/demo/tapster.html.md). Our documentation is in the `livedoc` branch. Find out how to contribute documentation at [docs.prediction.io/community/contribute-documentation/](http://docs.prediction.io/community/contribute-documentation/). +Love this tutorial and Apache PredictionIO (incubating)? Both are open source +(Apache 2 License). [Fork](https://github.com/PredictionIO/Demo-Tapster) this +demo and build upon it. If you produce something cool shoot us an email and we +will link to it from here. + +Found a typo? Think something should be explained better? This tutorial (and all +our other documenation) live in the main repo +[here](https://github.com/apache/incubator-predictionio/blob/livedoc/docs/manual/source/demo/tapster.html.md). +Our documentation is in the `livedoc` branch. Find out how to contribute +documentation at +http://predictionio.incubator.apache.org/community/contribute-documentation/]. We ♥ pull requests!