You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@streams.apache.org by sb...@apache.org on 2016/05/07 00:35:32 UTC
[01/22] incubator-streams-master git commit: add new version of
streams.incubator.apache.org
Repository: incubator-streams-master
Updated Branches:
refs/heads/master 3fbbdefb9 -> 4a4c78e32
add new version of streams.incubator.apache.org
temporarily hosted under people.apache.org/~sblackmon
Project: http://git-wip-us.apache.org/repos/asf/incubator-streams-master/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-streams-master/commit/64bf15a1
Tree: http://git-wip-us.apache.org/repos/asf/incubator-streams-master/tree/64bf15a1
Diff: http://git-wip-us.apache.org/repos/asf/incubator-streams-master/diff/64bf15a1
Branch: refs/heads/master
Commit: 64bf15a1a4dfe35170ba972e9bfeba96bc885fa8
Parents: 3fbbdef
Author: Steve Blackmon @steveblackmon <sb...@apache.org>
Authored: Thu Feb 25 16:43:47 2016 -0600
Committer: Steve Blackmon @steveblackmon <sb...@apache.org>
Committed: Thu Feb 25 16:43:47 2016 -0600
----------------------------------------------------------------------
pom.xml | 26 +++----
src/site/markdown/architecture.md | 59 +++++++++++++++
src/site/markdown/downloads.md | 9 +++
src/site/markdown/faq.md | 96 ++++++++++++++++++++++++
src/site/markdown/index.md | 15 ++++
src/site/resources/images/streams_logo.jpg | Bin 0 -> 56578 bytes
src/site/site.xml | 76 +++++++++++++++++++
src/site/site_en.xml | 76 +++++++++++++++++++
8 files changed, 342 insertions(+), 15 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-streams-master/blob/64bf15a1/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index e6b973f..cccb732 100644
--- a/pom.xml
+++ b/pom.xml
@@ -36,7 +36,7 @@
<inceptionYear>2012</inceptionYear>
- <url>http://streams.incubator.apache.org/${project.version}/${project.artifactId}</url>
+ <url>http://people.apache.org/sblackmon/${project.version}/${project.artifactId}</url>
<licenses>
<license>
@@ -109,8 +109,8 @@
<url>${snapshot.repository.url}</url>
</snapshotRepository>
<site>
- <id>site.streams.project</id>
- <url>scm:svn:https://svn.apache.org/repos/infra/websites/production/streams/content/site/${project.version}/streams-master</url>
+ <id>site.streams.sblackmon.home</id>
+ <url>scp://people.apache.org/home/sblackmon/public_html/0.3-incubating-SNAPSHOT/streams-master/</url>
</site>
</distributionManagement>
@@ -153,7 +153,7 @@
<site.plugin.version>3.4</site.plugin.version>
<source.plugin.version>2.4</source.plugin.version>
<surefire.plugin.version>2.17</surefire.plugin.version>
- <wagon.plugin.version>2.8</wagon.plugin.version>
+ <wagon.plugin.version>2.5</wagon.plugin.version>
<war.plugin.version>2.5</war.plugin.version>
<!-- Library Dependency Versions -->
@@ -204,14 +204,6 @@
<plugin>
<artifactId>maven-clean-plugin</artifactId>
<version>${clean.plugin.version}</version>
- <configuration>
- <filesets>
- <fileset>
- <directory>src/site/resources</directory>
- <followSymlinks>false</followSymlinks>
- </fileset>
- </filesets>
- </configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
@@ -424,6 +416,11 @@
</dependency>
<dependency>
<groupId>org.apache.maven.wagon</groupId>
+ <artifactId>wagon-ssh</artifactId>
+ <version>${wagon.plugin.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.wagon</groupId>
<artifactId>wagon-scm</artifactId>
<version>${wagon.plugin.version}</version>
</dependency>
@@ -543,7 +540,7 @@
</plugins>
-
+
</build>
<reporting>
@@ -754,14 +751,13 @@
</plugin>
<plugin>
<artifactId>maven-site-plugin</artifactId>
- <version>${site.plugin.version}</version>
</plugin>
<plugin>
<groupId>com.github.ferstl</groupId>
<artifactId>depgraph-maven-plugin</artifactId>
<version>${depgraph.plugin.version}</version>
</plugin>
- <plugin>
+ <plugin>
<groupId>org.apache.rat</groupId>
<artifactId>apache-rat-plugin</artifactId>
<version>${apache-rat.plugin.version}</version>
http://git-wip-us.apache.org/repos/asf/incubator-streams-master/blob/64bf15a1/src/site/markdown/architecture.md
----------------------------------------------------------------------
diff --git a/src/site/markdown/architecture.md b/src/site/markdown/architecture.md
new file mode 100644
index 0000000..120f139
--- /dev/null
+++ b/src/site/markdown/architecture.md
@@ -0,0 +1,59 @@
+##Architecture
+
+Streams contains libraries and patterns for specifying document schemas and converting documents to and from ActivityStreams format, and runtime bindings for deploying, monitoring, and interfacing with running streams.
+
+In general streams can be characterized as perpetual (capable of running indefinitely) or non-perpetual (expected to run until all providers run out of data).
+
+###Basic Concepts
+
+####Activity
+
+Apache Streams has a preference for ActivityStreams formatted messages. These messages may be passed using the 'Activity' class or one of it's sub-classes.
+
+####Datum
+
+A Datum is a single piece of data within a stream. A datum typically has an identifier, a timestamp, a document (which may be any java object), and additional metadata kept apart from the document related to upstream or downstream processing..
+
+####Module
+
+Apache Streams consists of a loosely coupled set of modules with specific capabilities. Such as:
+ * collecting data.
+ * transforming or filter data
+ * storing and retrieving documents and metadata from databases
+ * binding streams components to other systems
+ * facilitating starting and stopping of streams.
+
+Each module has it's own POM and dependency tree. Each stream deployment needs to import only the modules it needs.
+
+####Pipeline
+
+A Pipeline is a set of collection, processing, and storage components structured in a directed graph (cycles may be permitted) which is packaged, deployed, started, and stopped together.
+
+####Runtime
+
+A Runtime is a module containing bindings that help setup and run a pipeline. Runtimes may submit pipeline binaries to an existing cluster, or may launch the processes to execute the stream directly.
+####Schema
+
+A Schema defines the expected shape of the documents that will passed from step to step within a stream. Defining the schema for a type of document allows source files and resource files to be generated at compile time. Schema can include other schemas, whether in the same repo or available via HTTP, allowing for full or partial reuse.
+
+####Component
+
+Components are individual instances of classes that do stuff within a stream. Components are assembled into pipelines and executed using a runtime.
+
+####Types of Components
+
+#####Provider
+
+A Provider is a component that *provides* data to the stream from external systems.
+
+#####Processor
+
+A Processor is a component that *processes* data flowing through the stream - transformations, filters, and enrichments are common processors.
+
+#####PersistWriter
+
+A PersistWriter is a component that writes data exiting the stream.
+
+#####PersistReader
+
+A PersistReader is a component that reads data, often previously written by a PersistWriter.
http://git-wip-us.apache.org/repos/asf/incubator-streams-master/blob/64bf15a1/src/site/markdown/downloads.md
----------------------------------------------------------------------
diff --git a/src/site/markdown/downloads.md b/src/site/markdown/downloads.md
new file mode 100644
index 0000000..5226618
--- /dev/null
+++ b/src/site/markdown/downloads.md
@@ -0,0 +1,9 @@
+All downloads can be verified using Apache Streams code signing.
+
+## Current Downloads
+
+### Streams Project
+
+| Version | Source |
+|---------|--------|
+| 0.2-incubating | [zip](https://dist.apache.org/repos/dist/release/incubator/streams/releases/streams-project/streams-project/streams-project-0.1-incubating-source-release.zip) ([asc](https://dist.apache.org/repos/dist/release/incubator/streams/releases/0.2-incubating/streams-project/streams-project-0.1-incubating-source-release.zip.asc) [md5](https://dist.apache.org/repos/dist/release/incubator/streams/releases/0.2-incubating/streams-project/streams-project-0.1-incubating-source-release.zip.md5) [sha1](https://dist.apache.org/repos/dist/release/incubator/streams/releases/0.2-incubating/streams-project/streams-project-0.1-incubating-source-release.zip.sha1)) |
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-streams-master/blob/64bf15a1/src/site/markdown/faq.md
----------------------------------------------------------------------
diff --git a/src/site/markdown/faq.md b/src/site/markdown/faq.md
new file mode 100644
index 0000000..14c18ea
--- /dev/null
+++ b/src/site/markdown/faq.md
@@ -0,0 +1,96 @@
+#Frequently Asked Questions
+
+### Why should I adopt activity streams for my project?
+
+Odds are the dataset you are working with is some combination of timestamped events and observations of entities and their relationships at various points in time. Activity Streams provides a simple yet powerful standard format for these types of data, regardless of their origin, publisher, or specific details. As an community-driven specification designed for interoperability and flexibility, by adopting activity streams you maximize the chance that a new data-source of interest to you will be compatible with your existing database, and that your database will be compatible with a community working on a new project.
+
+### Why should I consider using Apache Streams for my project?
+
+If you are working with structured event and or entity data that fits with an Activity Streams model, and working with a JVM language, Apache Streams can simplify many of the challenging aspects involved with these types of projects.
+
+Here are a few examples:
+
+* Keeping track of the original source of each piece of information
+* Harmonizing a multitude of date-time formats
+* Moving between JSON, XML, YAML, and binary serializations
+* Writing processing logic that can run in both batch and real-time workflows
+* Defining constraints and validation rules for up-stream (third-party) and in-stream (your sphere of control) data
+* Supplying run-time configuration globally and per-stream-component in a sensible manner
+
+### What does Apache Streams actually do?
+
+Apache Streams is
+
+* an SDK for data-centric JVM software
+* a set of modules that connect data-providing APIs and data-persisting analytical systems
+* a community working to make web and enterprise datasets interoperable by default
+
+Apache Streams is not
+
+* highly prescriptive or opinionated
+* one-size-fits-all
+* only useful for projects fully dedicated to activity streams datasets
+
+The primary Streams git repository incubator-streams (org.apache.streams:streams-project) which contains a library of modules inputs, outputs, and reusable components for tranforming and enriching data streams. Similar modules can also be hosted externally - so long as they publish maven artifacts compatible with your version of streams, you can import and use them in your streams easily.
+
+The streams community also supports a seperate repository incubator-streams-examples (org.apache.streams:streams-examples) which contains a library of simple streams that are 'ready-to-run'. Look here to see what Streams user code look like.
+
+### Why bother with any data framework at all?
+
+Why use Linux, Java, Postgres, Elasticsearch, Cassandra, or Hadoop?
+
+Frameworks make important but boring parts of systems and code just work so your team can focus on features important to your users.
+
+If you are sure you can write code that is some combination of faster, more readable, better tested, easier to learn, easier to build with, or more maintainable than any existing framework (including Streams), maybe you should.
+
+On the other hand, maybe you are under-estimating how difficult it will be to optimize across these factors and keep improving.
+
+Or maybe your time is just more valuable focused on your product rather than on plumbing.
+
+Or maybe by joining forces with others who have more than just a passing interest in running water everyone can benefit from .
+
+### How is streams different than "*processing framework*"?
+
+You don't have to look hard to find great data processing frameworks for batch or for real-time. Storm, Spark, Flink, and Dataflow are well-known and pretty solid. At the core these platforms help you specify inputs, outputs, and a directed graph of computation and then run your code at scale.
+
+Streams supports a similar computational model, but is more focused on intelligently modeling the data that will flow through the stream. In this sense Streams has an alternative to avro or protocol buffers, that places flexibility, expressivity and tooling ahead of speed or compute efficiency.
+
+Streams also seeks to make it easy to design and evolve streams, and to configure complex streams sensibly. Where many processing frameworks leave all business logic and configuration issues to the developer, streams modules are designed to mix-and-match.
+
+### How do I deploy Streams?
+
+Currently you cannot deploy "Streams". Streams has no shrink-wrapped ready-to-run server process. You can however deploy streams. The right method for packaging, deploying, and running streams depends on what runtime you are going to use.
+
+Streams includes a local runtime that uses blocking queues and multi-threaded execution within a single process. In this scenario you build an uberjar with few exclusions and ship it to a target environment however you want - maven, scp, docker, etc... You launch the stream process with an appropriate run configuration and watch the magic / catastrophic fail.
+
+Alternatively, components written to streams interfaces can be bound within other platforms such as pig or spark. In this scenario, you build an uberjar that excludes the platform parts of the classpath and launch your stream using the launch style of that platform.
+
+### Can't I just dump source data directly into files or databases?
+
+Absolutely - and that will work great right up until the point where the requirements, the tools, or the way you want to index your data need to change.
+
+A better long-term approach is to archive each data series you observe, and label each piece of data by source, connector, connector version, and execution. Once data is 'under management' in it's original form, normalize it into a format that fits your application with a set of core fields you don't ever expect to change. Then add metadata piece by piece using code and APIs managed by you and/or third-parties. Write these finished data points sequentially or simultaneouly to all of the places from which your applications will look them up.
+
+### What if I need data from "*specific API*"?
+
+No problem - anyone can write a Streams provider. The project contains providers that use sockets, webhooks, and polling to generate near-real-time data streams. There are providers which work sequentially through a backlog of items from the stream configuration, running a thread to collect data related to each item. And if you need to collect so many items that you can't fit all of their ids in the memory available to your stream, a stream can read an arbitrarily long sequence of ids and launch new streams for each batch that terminate when complete.
+
+### What if I want to keep data in "*unsupported database*"?
+
+No problem - anyone can write a Streams persist reader or persist writer. The project contains persist writers that write documents efficiently with batch-style binary indexing, that write documents one-by-one to services with REST api endpoints, and that write data to local or distributed buffers. If you just want to get incoming data into a queueing system to work with outside of streams that's understandable.
+
+### Can't I just use "*third-party SDK*" to do the same thing?
+
+For any specific data collection, processing, or storage function there are several if not tens of basic implementations on GitHub. There may even be language-specific libraries published by a vendor backing the technology in question.
+
+However, in general there are a set of tradeoffs involved relying on these package. They often have transitive dependencies. They may not use performant HTTP and JSON libraries. The object representations and lifecycle mechanisms they provide may not be consistent with the rest of your code.
+
+Streams goes to great lengths to regularize many of these challenges so they uniform across existing modules, and easy to reuse within new modules. Where quality java libraries exist, the most useful parts of their classpath may be included within a streams implementation while other dependencies are excluded.
+
+### Where do I start?
+
+Navigate the list of 'Getting Started' recommendation in order to get up and running with streams.
+
+### How can I help?
+
+Please join our mailing list, then ask questions and suggest features. Contribute to the documentation in one of the streams repositories. Consider writing a new provider using an existing provider as a template.
http://git-wip-us.apache.org/repos/asf/incubator-streams-master/blob/64bf15a1/src/site/markdown/index.md
----------------------------------------------------------------------
diff --git a/src/site/markdown/index.md b/src/site/markdown/index.md
new file mode 100644
index 0000000..f18667a
--- /dev/null
+++ b/src/site/markdown/index.md
@@ -0,0 +1,15 @@
+# Overview
+
+Apache Streams (incubating) unifies a diverse world of digital profiles and online activities into common formats and vocabularies, and makes these datasets accessible across a variety of databases, devices, and platforms for streaming, browsing, search, sharing, and analytics use-cases.
+
+## What is Streams?
+Apache Streams contains JRE-based modules that developers can use to easily integrate with online data sources and build polyglot indexes of activities, entities, and relationships - all based on public standards such as [Activity Streams](activitystrea.ms), or other published organizational standards.
+
+## Why use Streams?
+Streams contains libraries and patterns for specifying, publishing, and inter-linking schemas, and assists with conversion of activities (posts, shares, likes, follows, etc.) and objects (profiles, pages, photos, videos, etc.) between the representation, format, and encoding preferred by supported data providers (Twitter, Instagram, etc.), and storage services (Cassandra, Elasticsearch, HBase, HDFS, Neo4J, etc.)
+
+## Why is Streams important?
+The project aims to provide simple two-way data interchange with all popular REST APIs in activity streams formats using a universal protocol. No other active open-source project has this ambitious goal, as well as production-worthy implementations for >10 services. Streams compatibility with multiple storage back-ends and ability to be embedded within any java-based real-time or batch data processing platform ensures that its interoperability features come with little technical baggage.
+
+# Disclaimer
+Apache Streams is an effort undergoing incubation at [The Apache Software Foundation (ASF)](apache.org) sponsored by the [Apache Incubator PMC](incubator.apache.org). 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.
http://git-wip-us.apache.org/repos/asf/incubator-streams-master/blob/64bf15a1/src/site/resources/images/streams_logo.jpg
----------------------------------------------------------------------
diff --git a/src/site/resources/images/streams_logo.jpg b/src/site/resources/images/streams_logo.jpg
new file mode 100644
index 0000000..799ad58
Binary files /dev/null and b/src/site/resources/images/streams_logo.jpg differ
http://git-wip-us.apache.org/repos/asf/incubator-streams-master/blob/64bf15a1/src/site/site.xml
----------------------------------------------------------------------
diff --git a/src/site/site.xml b/src/site/site.xml
new file mode 100644
index 0000000..0068beb
--- /dev/null
+++ b/src/site/site.xml
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--
+ ~ Licensed to the Apache Software Foundation (ASF) under one
+ ~ or more contributor license agreements. See the NOTICE file
+ ~ distributed with this work for additional information
+ ~ regarding copyright ownership. The ASF licenses this file
+ ~ to you under the Apache License, Version 2.0 (the
+ ~ "License"); you may not use this file except in compliance
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing,
+ ~ software distributed under the License is distributed on an
+ ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ ~ KIND, either express or implied. See the License for the
+ ~ specific language governing permissions and limitations
+ ~ under the License.
+ -->
+<project>
+ <version position="right"/>
+ <skin>
+ <groupId>org.apache.maven.skins</groupId>
+ <artifactId>maven-fluido-skin</artifactId>
+ <version>1.4</version>
+ </skin>
+ <custom>
+ <fluidoSkin>
+ <topBarEnabled>true</topBarEnabled>
+ <sideBarEnabled>false</sideBarEnabled>
+ </fluidoSkin>
+ </custom>
+ <bannerLeft>
+ <name>Apache Streams</name>
+ <src>./images/streams_logo.jpg</src>
+ <href>http://streams.incubator.apache.org</href>
+ <height>100</height>
+ <width>150</width>
+ </bannerLeft>
+ <bannerRight>
+ <name>Apache Incubator</name>
+ <src>http://incubator.apache.org/images/egg-logo.png</src>
+ <href>http://incubator.apache.org</href>
+ </bannerRight>
+ <body>
+ <breadcrumbs>
+ <item name="Incubator" href="http://incubator.apache.org/"/>
+ </breadcrumbs>
+ <menu ref="parent" inherit="top"/>
+ <menu name="Project Overview">
+ <item name="Overview" href="index.html" />
+ <item name="Architecture" href="architecture.html" />
+ <item name="Downloads" href="downloads.html" />
+ <item name="Frequently Asked Questions" href="faq.html" />
+ </menu>
+ <menu name="Getting Started">
+ <item name="Learn more about Activity Streams" href="http://activitystrea.ms" />
+ <item name="Check out streams-project web site" href="http://streams.incubator.apache.org/site/0.2-incubating/streams-project/" />
+ <item name="View the official Apache Streams jsonschema files" href="http://streams.incubator.apache.org/site/0.2-incubating/streams-project/streams-pojo/index.html" />
+ <item name="Check out streams-examples web site" href="http://streams.incubator.apache.org/site/0.2-incubating-SNAPSHOT/streams-examples/" />
+ <item name="Set up a local environment to run streams" />
+ <item name="Set up a local database to store streams data" />
+ <item name="Build and run twitter-history-elasticsearch" href="http://streams.incubator.apache.org/site/0.2-incubating-SNAPSHOT/streams-examples/streams-examples-local/twitter-history-elasticsearch/index.html" />
+ <item name="Browse and search the twitter data you collected" />
+ <item name="View the schemas that describe twitter data" href="http://streams.incubator.apache.org/site/0.2-incubating/streams-project/streams-contrib/streams-provider-twitter/index.html" />
+ <item name="Read about twitter / streams conversion" href="http://streams.incubator.apache.org/site/0.2-incubating/streams-project/streams-contrib/index.html" />
+ <item name="Learn about utility streams components" href="http://streams.incubator.apache.org/site/0.2-incubating/streams-project/streams-components/index.html" />
+ <item name="Learn about streams interoperability modules" href="http://streams.incubator.apache.org/site/0.2-incubating/streams-project/streams-contrib/index.html" />
+ </menu>
+ <menu name="Foundation">
+ <item name="Foundation Info" href="http://www.apache.org/" />
+ <item name="License" href="http://apache.org/licenses/LICENSE-2.0.html" />
+ <item name="Sponsorship" href="http://www.apache.org/foundation/sponsorship.html" />
+ <item name="Thanks" href="http://www.apache.org/foundation/thanks.html" />
+ </menu>
+ </body>
+</project>
http://git-wip-us.apache.org/repos/asf/incubator-streams-master/blob/64bf15a1/src/site/site_en.xml
----------------------------------------------------------------------
diff --git a/src/site/site_en.xml b/src/site/site_en.xml
new file mode 100644
index 0000000..0068beb
--- /dev/null
+++ b/src/site/site_en.xml
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--
+ ~ Licensed to the Apache Software Foundation (ASF) under one
+ ~ or more contributor license agreements. See the NOTICE file
+ ~ distributed with this work for additional information
+ ~ regarding copyright ownership. The ASF licenses this file
+ ~ to you under the Apache License, Version 2.0 (the
+ ~ "License"); you may not use this file except in compliance
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing,
+ ~ software distributed under the License is distributed on an
+ ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ ~ KIND, either express or implied. See the License for the
+ ~ specific language governing permissions and limitations
+ ~ under the License.
+ -->
+<project>
+ <version position="right"/>
+ <skin>
+ <groupId>org.apache.maven.skins</groupId>
+ <artifactId>maven-fluido-skin</artifactId>
+ <version>1.4</version>
+ </skin>
+ <custom>
+ <fluidoSkin>
+ <topBarEnabled>true</topBarEnabled>
+ <sideBarEnabled>false</sideBarEnabled>
+ </fluidoSkin>
+ </custom>
+ <bannerLeft>
+ <name>Apache Streams</name>
+ <src>./images/streams_logo.jpg</src>
+ <href>http://streams.incubator.apache.org</href>
+ <height>100</height>
+ <width>150</width>
+ </bannerLeft>
+ <bannerRight>
+ <name>Apache Incubator</name>
+ <src>http://incubator.apache.org/images/egg-logo.png</src>
+ <href>http://incubator.apache.org</href>
+ </bannerRight>
+ <body>
+ <breadcrumbs>
+ <item name="Incubator" href="http://incubator.apache.org/"/>
+ </breadcrumbs>
+ <menu ref="parent" inherit="top"/>
+ <menu name="Project Overview">
+ <item name="Overview" href="index.html" />
+ <item name="Architecture" href="architecture.html" />
+ <item name="Downloads" href="downloads.html" />
+ <item name="Frequently Asked Questions" href="faq.html" />
+ </menu>
+ <menu name="Getting Started">
+ <item name="Learn more about Activity Streams" href="http://activitystrea.ms" />
+ <item name="Check out streams-project web site" href="http://streams.incubator.apache.org/site/0.2-incubating/streams-project/" />
+ <item name="View the official Apache Streams jsonschema files" href="http://streams.incubator.apache.org/site/0.2-incubating/streams-project/streams-pojo/index.html" />
+ <item name="Check out streams-examples web site" href="http://streams.incubator.apache.org/site/0.2-incubating-SNAPSHOT/streams-examples/" />
+ <item name="Set up a local environment to run streams" />
+ <item name="Set up a local database to store streams data" />
+ <item name="Build and run twitter-history-elasticsearch" href="http://streams.incubator.apache.org/site/0.2-incubating-SNAPSHOT/streams-examples/streams-examples-local/twitter-history-elasticsearch/index.html" />
+ <item name="Browse and search the twitter data you collected" />
+ <item name="View the schemas that describe twitter data" href="http://streams.incubator.apache.org/site/0.2-incubating/streams-project/streams-contrib/streams-provider-twitter/index.html" />
+ <item name="Read about twitter / streams conversion" href="http://streams.incubator.apache.org/site/0.2-incubating/streams-project/streams-contrib/index.html" />
+ <item name="Learn about utility streams components" href="http://streams.incubator.apache.org/site/0.2-incubating/streams-project/streams-components/index.html" />
+ <item name="Learn about streams interoperability modules" href="http://streams.incubator.apache.org/site/0.2-incubating/streams-project/streams-contrib/index.html" />
+ </menu>
+ <menu name="Foundation">
+ <item name="Foundation Info" href="http://www.apache.org/" />
+ <item name="License" href="http://apache.org/licenses/LICENSE-2.0.html" />
+ <item name="Sponsorship" href="http://www.apache.org/foundation/sponsorship.html" />
+ <item name="Thanks" href="http://www.apache.org/foundation/thanks.html" />
+ </menu>
+ </body>
+</project>
[09/22] incubator-streams-master git commit: better markdown
Posted by sb...@apache.org.
better markdown
Project: http://git-wip-us.apache.org/repos/asf/incubator-streams-master/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-streams-master/commit/37f6768f
Tree: http://git-wip-us.apache.org/repos/asf/incubator-streams-master/tree/37f6768f
Diff: http://git-wip-us.apache.org/repos/asf/incubator-streams-master/diff/37f6768f
Branch: refs/heads/master
Commit: 37f6768f7c6521811046f12d2c8678a64a32bac9
Parents: c5d54a9
Author: Steve Blackmon @steveblackmon <sb...@apache.org>
Authored: Tue Mar 1 17:08:22 2016 -0600
Committer: Steve Blackmon @steveblackmon <sb...@apache.org>
Committed: Tue Mar 1 17:08:22 2016 -0600
----------------------------------------------------------------------
src/site/markdown/downloads.md | 4 ++--
src/site/markdown/faq.md | 24 +++++++++++++-----------
2 files changed, 15 insertions(+), 13 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-streams-master/blob/37f6768f/src/site/markdown/downloads.md
----------------------------------------------------------------------
diff --git a/src/site/markdown/downloads.md b/src/site/markdown/downloads.md
index 5226618..9d055d4 100644
--- a/src/site/markdown/downloads.md
+++ b/src/site/markdown/downloads.md
@@ -4,6 +4,6 @@ All downloads can be verified using Apache Streams code signing.
### Streams Project
-| Version | Source |
+| Version | Source | asc | md5 | sha1 |
|---------|--------|
-| 0.2-incubating | [zip](https://dist.apache.org/repos/dist/release/incubator/streams/releases/streams-project/streams-project/streams-project-0.1-incubating-source-release.zip) ([asc](https://dist.apache.org/repos/dist/release/incubator/streams/releases/0.2-incubating/streams-project/streams-project-0.1-incubating-source-release.zip.asc) [md5](https://dist.apache.org/repos/dist/release/incubator/streams/releases/0.2-incubating/streams-project/streams-project-0.1-incubating-source-release.zip.md5) [sha1](https://dist.apache.org/repos/dist/release/incubator/streams/releases/0.2-incubating/streams-project/streams-project-0.1-incubating-source-release.zip.sha1)) |
\ No newline at end of file
+| 0.2-incubating | [zip](https://dist.apache.org/repos/dist/release/incubator/streams/releases/streams-project/streams-project/streams-project-0.2-incubating-source-release.zip) | [asc](https://dist.apache.org/repos/dist/release/incubator/streams/releases/0.2-incubating/streams-project/streams-project-0.2-incubating-source-release.zip.asc) | [md5](https://dist.apache.org/repos/dist/release/incubator/streams/releases/0.2-incubating/streams-project/streams-project-0.2-incubating-source-release.zip.md5) | [sha1](https://dist.apache.org/repos/dist/release/incubator/streams/releases/0.2-incubating/streams-project/streams-project-0.2-incubating-source-release.zip.sha1) |
http://git-wip-us.apache.org/repos/asf/incubator-streams-master/blob/37f6768f/src/site/markdown/faq.md
----------------------------------------------------------------------
diff --git a/src/site/markdown/faq.md b/src/site/markdown/faq.md
index 151852a..0cb87b5 100644
--- a/src/site/markdown/faq.md
+++ b/src/site/markdown/faq.md
@@ -29,9 +29,9 @@ Apache Streams is not
* one-size-fits-all
* only useful for projects fully dedicated to activity streams datasets
-The primary Streams git repository incubator-streams (org.apache.streams:streams-project) contains a library of modules inputs, outputs, and reusable components for tranforming and enriching data streams. Similar modules can also be hosted externally - so long as they publish maven artifacts compatible with your version of streams, you can import and use them in your streams easily.
+The primary Streams git repository incubator-streams (org.apache.streams:streams-project) contains a library of modules inputs, outputs, and reusable components for transforming and enriching data streams. Similar modules can also be hosted externally - so long as they publish maven artifacts compatible with your version of streams, you can import and use them in your streams easily.
-The streams community also supports a seperate repository incubator-streams-examples (org.apache.streams:streams-examples) which contains a library of simple streams that are 'ready-to-run'. Look here to see what Streams user code look like.
+The streams community also supports a separate repository incubator-streams-examples (org.apache.streams:streams-examples) which contains a library of simple streams that are 'ready-to-run'. Look here to see what Streams user code look like.
### Why bother with any data framework at all?
@@ -49,9 +49,9 @@ Or maybe by joining forces with others who have more than just a passing interes
### How is streams different than "*processing framework*"?
-You don't have to look hard to find great data processing frameworks for batch or for real-time. Storm, Spark, Samza, Flink, and Dataflow are well-known, well-documented, and solid. At the core these platforms help you specify inputs, outputs, and a directed graph of computation and then run your code at scale.
+You don't have to look hard to find great data processing frameworks for batch or for real-time. Storm, Spark, Samza, Flink, and Google Cloud Dataflow (soon-to-be Apache Beam) are mature and well-documented. NiFi and Apex are interesting new options. At the core these platforms help you specify inputs, outputs, and a directed graph of computation and then run your code at scale.
-Streams supports a similar computational model, but is more focused on intelligently modeling the data that will flow through the stream. In this sense Streams is an alternative to avro or protocol buffers which prioritizes flexibility, expressivity, interoperability, and tooling ahead of speed or compute efficiency.
+Streams supports a similar computational model, but is more focused on intelligently modeling the data that will flow through the stream than on stream execution. In this sense Streams is an alternative to avro or protocol buffers which prioritizes flexibility, expressivity, interoperability, and tooling ahead of speed or compute efficiency.
Streams also seeks to make it easy to design and evolve streams, and to configure complex streams sensibly. Where many processing frameworks leave all business logic and configuration issues to the developer, streams modules are designed to mix-and-match. Streams modules expect to be embedded with other frameworks and are organized to make that process painless.
@@ -72,19 +72,21 @@ A better long-term approach is to archive each data series you observe, and labe
### What if I need data from "*specific API*"?
No problem - anyone can write a Streams provider. The project contains providers that use a variety of strategies to generate near-real-time data streams, including:
- - sockets
- - webhooks
- - polling
- - scraping
+
+* sockets
+* webhooks
+* polling
+* scraping
Providers can run continuously and pass-through new data, or they can work sequentially through a backlog of items. If you need to collect so many items that you can't fit all of their ids in the memory available to your stream, a stream provider can read an arbitrarily long sequence of ids and hand those off to other providers for collection.
### What if I want to keep data in "*unsupported database*"?
No problem - anyone can write a Streams persist reader or persist writer. The project contains persist writers that:
- - write documents efficiently with batch-style binary indexing
- - write documents one-by-one to services with REST api endpoints
- - write data to local or distributed buffers.
+
+* write documents efficiently with batch-style binary indexing
+* write documents one-by-one to services with REST api endpoints
+* write data to local or distributed buffers.
If you just want to use streams providers to collect and feed incoming data into a queueing system to work with outside of streams that's just fine.
[18/22] incubator-streams-master git commit: add source plugin
Posted by sb...@apache.org.
add source plugin
Project: http://git-wip-us.apache.org/repos/asf/incubator-streams-master/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-streams-master/commit/9e91ffe3
Tree: http://git-wip-us.apache.org/repos/asf/incubator-streams-master/tree/9e91ffe3
Diff: http://git-wip-us.apache.org/repos/asf/incubator-streams-master/diff/9e91ffe3
Branch: refs/heads/master
Commit: 9e91ffe3a3068db5d6756add06203dd3e0dc375a
Parents: 2491383
Author: Steve Blackmon @steveblackmon <sb...@apache.org>
Authored: Wed Apr 27 19:23:05 2016 -0500
Committer: Steve Blackmon @steveblackmon <sb...@apache.org>
Committed: Wed Apr 27 19:23:05 2016 -0500
----------------------------------------------------------------------
pom.xml | 13 +++++++++++++
1 file changed, 13 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-streams-master/blob/9e91ffe3/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index e461cdf..6a6576e 100644
--- a/pom.xml
+++ b/pom.xml
@@ -574,6 +574,19 @@
</dependency>
</dependencies>
</plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-source-plugin</artifactId>
+ <version>${source.plugin.version}</version>
+ <executions>
+ <execution>
+ <id>attach-sources</id>
+ <goals>
+ <goal>jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
<!-- Apache POM doesn't define default war-plugin version, so do it here -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
[03/22] incubator-streams-master git commit: add a contributor to
generate project-team.html
Posted by sb...@apache.org.
add a contributor to generate project-team.html
Project: http://git-wip-us.apache.org/repos/asf/incubator-streams-master/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-streams-master/commit/538a6c93
Tree: http://git-wip-us.apache.org/repos/asf/incubator-streams-master/tree/538a6c93
Diff: http://git-wip-us.apache.org/repos/asf/incubator-streams-master/diff/538a6c93
Branch: refs/heads/master
Commit: 538a6c938db7b7aef5b2bebf8ddb55f775303811
Parents: 3740e92
Author: Steve Blackmon @steveblackmon <sb...@apache.org>
Authored: Mon Feb 29 09:27:00 2016 -0600
Committer: Steve Blackmon @steveblackmon <sb...@apache.org>
Committed: Mon Feb 29 09:27:00 2016 -0600
----------------------------------------------------------------------
pom.xml | 59 +++++++++++++++++++++++++++++++++++------------------------
1 file changed, 35 insertions(+), 24 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-streams-master/blob/538a6c93/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index cccb732..f97941a 100644
--- a/pom.xml
+++ b/pom.xml
@@ -82,6 +82,17 @@
</mailingList>
</mailingLists>
+ <developers>
+ <developer>
+ <id>sblackmon</id>
+ <name>Steve Blackmon</name>
+ <email>sblackmon@apache.org</email>
+ <url>https://github.com/steveblackmon</url>
+ <organization>Apache Software Foundation</organization>
+ <organizationUrl>http://streams.incubator.apache.org</organizationUrl>
+ </developer>
+ </developers>
+
<repositories>
<repository>
<id>apache-repo</id>
@@ -138,6 +149,7 @@
<bundle.plugin.version>1.4.3</bundle.plugin.version>
<compiler.plugin.version>3.0</compiler.plugin.version>
<clean.plugin.version>2.6</clean.plugin.version>
+ <dependency.plugin.version>2.8</dependency.plugin.version>
<depgraph.plugin.version>1.0.2</depgraph.plugin.version>
<docker.plugin.version>0.11.5-M1</docker.plugin.version>
<enforcer.plugin.version>1.3.1</enforcer.plugin.version>
@@ -147,6 +159,7 @@
<pax.plugin.version>1.5</pax.plugin.version>
<reflections.plugin.version>0.9.8</reflections.plugin.version>
<remote-resources.plugin.version>1.4</remote-resources.plugin.version>
+ <reports.plugin.version>2.8.1</reports.plugin.version>
<resources.plugin.version>2.7</resources.plugin.version>
<scm.plugin.version>1.9.4</scm.plugin.version>
<shade.plugin.version>2.3</shade.plugin.version>
@@ -449,14 +462,20 @@
</plugin>
<plugin>
<artifactId>maven-project-info-reports-plugin</artifactId>
+ <version>${reports.plugin.version}</version>
<configuration>
<dependencyLocationsEnabled>false</dependencyLocationsEnabled>
</configuration>
</plugin>
<plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-dependency-plugin</artifactId>
+ <version>${dependency.plugin.version}</version>
+ </plugin>
+ <plugin>
<groupId>com.github.ferstl</groupId>
<artifactId>depgraph-maven-plugin</artifactId>
- <version>1.0.2</version>
+ <version>${depgraph.plugin.version}</version>
</plugin>
</plugins>
</pluginManagement>
@@ -536,6 +555,7 @@
<minmemory>128m</minmemory>
<maxmemory>1g</maxmemory>
</configuration>
+
</plugin>
</plugins>
@@ -544,32 +564,24 @@
</build>
<reporting>
- <plugins>
+ <plugins>
<plugin>
<artifactId>maven-project-info-reports-plugin</artifactId>
- <configuration>
- <dependencyLocationsEnabled>false</dependencyLocationsEnabled>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-javadoc-plugin</artifactId>
<reportSets>
- <reportSet>
- <id>aggregate</id>
- <reports>
- <report>javadoc-no-fork</report>
- <report>test-javadoc-no-fork</report>
- <report>aggregate</report>
- </reports>
- </reportSet>
- <reportSet>
- <id>html</id>
- <reports>
- <report>javadoc</report>
- </reports>
- </reportSet>
+ <reportSet>
+ <reports><!-- select reports -->
+ <report>cim</report>
+ <report>license</report>
+ <report>mailing-list</report>
+ <report>project-team</report>
+ <report>issue-tracking</report>
+ <report>distribution-management</report>
+ </reports>
+ </reportSet>
</reportSets>
+ <configuration>
+ <dependencyLocationsEnabled>false</dependencyLocationsEnabled>
+ </configuration>
</plugin>
<plugin>
<artifactId>maven-site-plugin</artifactId>
@@ -578,7 +590,6 @@
<plugin>
<groupId>com.github.ferstl</groupId>
<artifactId>depgraph-maven-plugin</artifactId>
- <version>${depgraph.plugin.version}</version>
</plugin>
</plugins>
</reporting>
[06/22] incubator-streams-master git commit: add css file to
customize look-and-feel
Posted by sb...@apache.org.
add css file to customize look-and-feel
Project: http://git-wip-us.apache.org/repos/asf/incubator-streams-master/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-streams-master/commit/51428a8f
Tree: http://git-wip-us.apache.org/repos/asf/incubator-streams-master/tree/51428a8f
Diff: http://git-wip-us.apache.org/repos/asf/incubator-streams-master/diff/51428a8f
Branch: refs/heads/master
Commit: 51428a8f0fede10593722fd3579324cb9bea92f4
Parents: ecbb81a
Author: Steve Blackmon @steveblackmon <sb...@apache.org>
Authored: Mon Feb 29 09:27:48 2016 -0600
Committer: Steve Blackmon @steveblackmon <sb...@apache.org>
Committed: Mon Feb 29 09:27:48 2016 -0600
----------------------------------------------------------------------
src/main/resources/maven-theme.css | 160 ++++++++++++++++++++++++++++++++
1 file changed, 160 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-streams-master/blob/51428a8f/src/main/resources/maven-theme.css
----------------------------------------------------------------------
diff --git a/src/main/resources/maven-theme.css b/src/main/resources/maven-theme.css
new file mode 100644
index 0000000..78d04ed
--- /dev/null
+++ b/src/main/resources/maven-theme.css
@@ -0,0 +1,160 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+body {
+ padding: 0px 0px 10px 0px;
+}
+body, td, select, input, li{
+ font-family: Verdana, Helvetica, Arial, sans-serif;
+ font-size: 13px;
+}
+code{
+ font-family: Courier, monospace;
+ font-size: 13px;
+}
+a {
+ text-decoration: none;
+}
+a:link {
+ color:#36a;
+}
+a:visited {
+ color:#47a;
+}
+a:active, a:hover {
+ color:#69c;
+}
+#legend li.externalLink {
+ background: url(../images/external.png) left top no-repeat;
+ padding-left: 18px;
+}
+a.externalLink, a.externalLink:link, a.externalLink:visited, a.externalLink:active, a.externalLink:hover {
+ background: url(../images/external.png) right center no-repeat;
+ padding-right: 18px;
+}
+#legend li.newWindow {
+ background: url(../images/newwindow.png) left top no-repeat;
+ padding-left: 18px;
+}
+a.newWindow, a.newWindow:link, a.newWindow:visited, a.newWindow:active, a.newWindow:hover {
+ background: url(../images/newwindow.png) right center no-repeat;
+ padding-right: 18px;
+}
+h2 {
+ padding: 4px 4px 4px 6px;
+ border: 1px solid #999;
+ color: #900;
+ background-color: #ddd;
+ font-weight:900;
+ font-size: x-large;
+}
+h3 {
+ padding: 4px 4px 4px 6px;
+ border: 1px solid #aaa;
+ color: #900;
+ background-color: #eee;
+ font-weight: normal;
+ font-size: large;
+}
+h4 {
+ padding: 4px 4px 4px 6px;
+ border: 1px solid #bbb;
+ color: #900;
+ background-color: #fff;
+ font-weight: normal;
+ font-size: large;
+}
+h5 {
+ padding: 4px 4px 4px 6px;
+ color: #900;
+ font-size: medium;
+}
+p {
+ line-height: 1.3em;
+ font-size: small;
+}
+#breadcrumbs {
+ border-top: 1px solid #aaa;
+ border-bottom: 1px solid #aaa;
+ background-color: #ccc;
+}
+#leftColumn {
+ margin: 10px 0 0 5px;
+ border: 1px solid #999;
+ background-color: #eee;
+ padding-bottom: 3px; /* IE-9 scrollbar-fix */
+}
+#navcolumn h5 {
+ font-size: smaller;
+ border-bottom: 1px solid #aaaaaa;
+ padding-top: 2px;
+ color: #000;
+}
+
+table.bodyTable th {
+ color: white;
+ background-color: #bbb;
+ text-align: left;
+ font-weight: bold;
+}
+
+table.bodyTable th, table.bodyTable td {
+ font-size: 1em;
+}
+
+table.bodyTable tr.a {
+ background-color: #ddd;
+}
+
+table.bodyTable tr.b {
+ background-color: #eee;
+}
+
+.source {
+ border: 1px solid #999;
+}
+dl {
+ padding: 4px 4px 4px 6px;
+ border: 1px solid #aaa;
+ background-color: #ffc;
+}
+dt {
+ color: #900;
+}
+#organizationLogo img, #projectLogo img, #projectLogo span{
+ margin: 8px;
+}
+#banner {
+ border-bottom: 1px solid #fff;
+}
+.errormark, .warningmark, .donemark, .infomark {
+ background: url(../images/icon_error_sml.gif) no-repeat;
+}
+
+.warningmark {
+ background-image: url(../images/icon_warning_sml.gif);
+}
+
+.donemark {
+ background-image: url(../images/icon_success_sml.gif);
+}
+
+.infomark {
+ background-image: url(../images/icon_info_sml.gif);
+}
[08/22] incubator-streams-master git commit: better markdown
Posted by sb...@apache.org.
better markdown
Project: http://git-wip-us.apache.org/repos/asf/incubator-streams-master/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-streams-master/commit/c5d54a9b
Tree: http://git-wip-us.apache.org/repos/asf/incubator-streams-master/tree/c5d54a9b
Diff: http://git-wip-us.apache.org/repos/asf/incubator-streams-master/diff/c5d54a9b
Branch: refs/heads/master
Commit: c5d54a9bcf7266d16180fec336964b343650feee
Parents: 88b9c36
Author: Steve Blackmon @steveblackmon <sb...@apache.org>
Authored: Tue Mar 1 15:45:32 2016 -0600
Committer: Steve Blackmon @steveblackmon <sb...@apache.org>
Committed: Tue Mar 1 15:45:32 2016 -0600
----------------------------------------------------------------------
pom.xml | 14 +-
src/site/markdown/dependency-info.md | 2 +-
src/site/markdown/downloads.md | 4 +-
src/site/markdown/faq.md | 24 +--
src/site/markdown/release-setup.md | 89 ++++----
src/site/markdown/release.md | 345 ++++++++++++++----------------
6 files changed, 226 insertions(+), 252 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-streams-master/blob/c5d54a9b/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 3eca798..af2ff94 100644
--- a/pom.xml
+++ b/pom.xml
@@ -36,7 +36,8 @@
<inceptionYear>2012</inceptionYear>
- <url>http://people.apache.org/sblackmon/${project.version}/${project.artifactId}</url>
+ <!-- <url>http://people.apache.org/sblackmon/${project.version}/${project.artifactId}</url> -->
+ <url>http://streams.incubator.apache.org/site/${project.version}/${project.artifactId}</url>
<licenses>
<license>
@@ -236,9 +237,13 @@
<url>${snapshot.repository.url}</url>
</snapshotRepository>
<site>
- <id>site.streams.sblackmon.home</id>
- <url>scp://people.apache.org/home/sblackmon/public_html/0.3-incubating-SNAPSHOT/streams-master/</url>
+ <id>site.streams.master</id>
+ <url>scm:svn:https://svn.apache.org/repos/infra/websites/production/streams/content/site/${project.version}/${project.artifactId}/</url>
</site>
+ <!-- <site>
+ <id>site.streams.sblackmon.home</id>
+ <url>scp://people.apache.org/home/sblackmon/public_html/${project.version}/${project.artifactId}/</url>
+ </site> -->
</distributionManagement>
<properties>
@@ -705,6 +710,9 @@
<plugin>
<artifactId>maven-site-plugin</artifactId>
<version>${site.plugin.version}</version>
+ <configuration>
+ <topSiteURL>scm:svn:https://svn.apache.org/repos/infra/websites/production/streams/content/site/${project.version}/${project.artifactId}</topSiteURL>
+ </configuration>
</plugin>
<plugin>
<groupId>com.github.ferstl</groupId>
http://git-wip-us.apache.org/repos/asf/incubator-streams-master/blob/c5d54a9b/src/site/markdown/dependency-info.md
----------------------------------------------------------------------
diff --git a/src/site/markdown/dependency-info.md b/src/site/markdown/dependency-info.md
index 44d4e21..97c6af6 100644
--- a/src/site/markdown/dependency-info.md
+++ b/src/site/markdown/dependency-info.md
@@ -4,7 +4,7 @@ This project uses [Maven](http://maven.apache.org/ "Maven") for dependency manag
Below are some examples of how to import Streams artifacts into your project.
-Please note that your project should import multiple artifacts corresponding to the Components in your stream and the Runtime used to execute your stream.
+Please note that your project should import multiple artifacts corresponding to the Components in your stream(s) and the Runtime used to execute your stream(s).
You should *not* import streams-master (depicted below), because it does not do anything interesting.
http://git-wip-us.apache.org/repos/asf/incubator-streams-master/blob/c5d54a9b/src/site/markdown/downloads.md
----------------------------------------------------------------------
diff --git a/src/site/markdown/downloads.md b/src/site/markdown/downloads.md
index 9d055d4..5226618 100644
--- a/src/site/markdown/downloads.md
+++ b/src/site/markdown/downloads.md
@@ -4,6 +4,6 @@ All downloads can be verified using Apache Streams code signing.
### Streams Project
-| Version | Source | asc | md5 | sha1 |
+| Version | Source |
|---------|--------|
-| 0.2-incubating | [zip](https://dist.apache.org/repos/dist/release/incubator/streams/releases/streams-project/streams-project/streams-project-0.2-incubating-source-release.zip) | [asc](https://dist.apache.org/repos/dist/release/incubator/streams/releases/0.2-incubating/streams-project/streams-project-0.2-incubating-source-release.zip.asc) | [md5](https://dist.apache.org/repos/dist/release/incubator/streams/releases/0.2-incubating/streams-project/streams-project-0.2-incubating-source-release.zip.md5) | [sha1](https://dist.apache.org/repos/dist/release/incubator/streams/releases/0.2-incubating/streams-project/streams-project-0.2-incubating-source-release.zip.sha1) |
+| 0.2-incubating | [zip](https://dist.apache.org/repos/dist/release/incubator/streams/releases/streams-project/streams-project/streams-project-0.1-incubating-source-release.zip) ([asc](https://dist.apache.org/repos/dist/release/incubator/streams/releases/0.2-incubating/streams-project/streams-project-0.1-incubating-source-release.zip.asc) [md5](https://dist.apache.org/repos/dist/release/incubator/streams/releases/0.2-incubating/streams-project/streams-project-0.1-incubating-source-release.zip.md5) [sha1](https://dist.apache.org/repos/dist/release/incubator/streams/releases/0.2-incubating/streams-project/streams-project-0.1-incubating-source-release.zip.sha1)) |
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-streams-master/blob/c5d54a9b/src/site/markdown/faq.md
----------------------------------------------------------------------
diff --git a/src/site/markdown/faq.md b/src/site/markdown/faq.md
index 0cb87b5..151852a 100644
--- a/src/site/markdown/faq.md
+++ b/src/site/markdown/faq.md
@@ -29,9 +29,9 @@ Apache Streams is not
* one-size-fits-all
* only useful for projects fully dedicated to activity streams datasets
-The primary Streams git repository incubator-streams (org.apache.streams:streams-project) contains a library of modules inputs, outputs, and reusable components for transforming and enriching data streams. Similar modules can also be hosted externally - so long as they publish maven artifacts compatible with your version of streams, you can import and use them in your streams easily.
+The primary Streams git repository incubator-streams (org.apache.streams:streams-project) contains a library of modules inputs, outputs, and reusable components for tranforming and enriching data streams. Similar modules can also be hosted externally - so long as they publish maven artifacts compatible with your version of streams, you can import and use them in your streams easily.
-The streams community also supports a separate repository incubator-streams-examples (org.apache.streams:streams-examples) which contains a library of simple streams that are 'ready-to-run'. Look here to see what Streams user code look like.
+The streams community also supports a seperate repository incubator-streams-examples (org.apache.streams:streams-examples) which contains a library of simple streams that are 'ready-to-run'. Look here to see what Streams user code look like.
### Why bother with any data framework at all?
@@ -49,9 +49,9 @@ Or maybe by joining forces with others who have more than just a passing interes
### How is streams different than "*processing framework*"?
-You don't have to look hard to find great data processing frameworks for batch or for real-time. Storm, Spark, Samza, Flink, and Google Cloud Dataflow (soon-to-be Apache Beam) are mature and well-documented. NiFi and Apex are interesting new options. At the core these platforms help you specify inputs, outputs, and a directed graph of computation and then run your code at scale.
+You don't have to look hard to find great data processing frameworks for batch or for real-time. Storm, Spark, Samza, Flink, and Dataflow are well-known, well-documented, and solid. At the core these platforms help you specify inputs, outputs, and a directed graph of computation and then run your code at scale.
-Streams supports a similar computational model, but is more focused on intelligently modeling the data that will flow through the stream than on stream execution. In this sense Streams is an alternative to avro or protocol buffers which prioritizes flexibility, expressivity, interoperability, and tooling ahead of speed or compute efficiency.
+Streams supports a similar computational model, but is more focused on intelligently modeling the data that will flow through the stream. In this sense Streams is an alternative to avro or protocol buffers which prioritizes flexibility, expressivity, interoperability, and tooling ahead of speed or compute efficiency.
Streams also seeks to make it easy to design and evolve streams, and to configure complex streams sensibly. Where many processing frameworks leave all business logic and configuration issues to the developer, streams modules are designed to mix-and-match. Streams modules expect to be embedded with other frameworks and are organized to make that process painless.
@@ -72,21 +72,19 @@ A better long-term approach is to archive each data series you observe, and labe
### What if I need data from "*specific API*"?
No problem - anyone can write a Streams provider. The project contains providers that use a variety of strategies to generate near-real-time data streams, including:
-
-* sockets
-* webhooks
-* polling
-* scraping
+ - sockets
+ - webhooks
+ - polling
+ - scraping
Providers can run continuously and pass-through new data, or they can work sequentially through a backlog of items. If you need to collect so many items that you can't fit all of their ids in the memory available to your stream, a stream provider can read an arbitrarily long sequence of ids and hand those off to other providers for collection.
### What if I want to keep data in "*unsupported database*"?
No problem - anyone can write a Streams persist reader or persist writer. The project contains persist writers that:
-
-* write documents efficiently with batch-style binary indexing
-* write documents one-by-one to services with REST api endpoints
-* write data to local or distributed buffers.
+ - write documents efficiently with batch-style binary indexing
+ - write documents one-by-one to services with REST api endpoints
+ - write data to local or distributed buffers.
If you just want to use streams providers to collect and feed incoming data into a queueing system to work with outside of streams that's just fine.
http://git-wip-us.apache.org/repos/asf/incubator-streams-master/blob/c5d54a9b/src/site/markdown/release-setup.md
----------------------------------------------------------------------
diff --git a/src/site/markdown/release-setup.md b/src/site/markdown/release-setup.md
index cb83c93..a4f5d8a 100644
--- a/src/site/markdown/release-setup.md
+++ b/src/site/markdown/release-setup.md
@@ -1,75 +1,78 @@
-Release Setup
+###Release Setup
+
These setup steps only need to be performed on a particular machine once.
Developers using Linux workstations can skip over the references to Cygwin. If using Windows, install cygwin, including Utils/gnupg and Net/openssh packages.
-Create and install a SSH key
+####Create and install a SSH key
+
+1. Open a shell window. If using Windows, open a cygwin window.
+2. Use ssh-keygen to create an SSH key.
-Open a shell window. If using Windows, open a cygwin window.
-Use ssh-keygen to create an SSH key.
-Follow the latest steps and guides on the ASF website as you should NOT be using SHA1 and new keys MUST be at least 4096 bits.
+ Follow the latest steps and guides on the [ASF website](http://www.apache.org/dev/openpgp.html#generate-key) as you should **NOT** be using SHA1 and new keys **MUST** be at least 4096 bits.
- $ ssh-keygen -t rsa -b 4096
-Program defaults should be fine. No passphrase is required for the ssh key generation. The keys will be saved in ~/.ssh/id_dsa (private) and ~/.ssh/id_dsa.pub (public).
+> $ ssh-keygen -t rsa -b 4096
-See Authenticating By Public Key (OpenSSH) for a good description on why and how to perform this task.
+ Program defaults should be fine. No passphrase is required for the ssh key generation. The keys will be saved in ~/.ssh/id_dsa (private) and ~/.ssh/id_dsa.pub (public).
-SCP your SSH public key ~/.ssh/id_dsa.pub created in last step to ~/id_dsa.pub on people.apache.org.
-$ cd ~/.ssh
-$ scp id_dsa.pub @people.apache.org:id_dsa.pub
-$ You will be prompted for your password.
+ See [Authenticating By Public Key (OpenSSH)](http://www.networknewz.com/networknewz-10-20030707AuthenticatingbyPublicKeyOpenSSH.html) for a good description on why and how to perform this task.
-Use ssh to login to people.apache.org
+3. SCP your SSH public key ~/.ssh/id_dsa.pub created in last step to ~/id_dsa.pub on people.apache.org.
+> $ cd ~/.ssh
+> $ scp id_dsa.pub <your userid>@people.apache.org:id_dsa.pub
+> $ You will be prompted for your password.
-$ cd ~
-$ ssh @people.apache.org
+4. Use ssh to login to people.apache.org
-At this point, you will still be prompted for your password.
+> $ cd ~
+> $ ssh <your userid>@people.apache.org
-Create a ~/.ssh folder in your home directory on people.apache.org and change its file mode to 700.
+ At this point, you will still be prompted for your password.
-$ mkdir ~/.ssh
-$ chmod 700 ~/.ssh
-Move or append ~/id_dsa.pub to ~/.ssh/authorized_keys and change its file mode to 600.
+5. Create a ~/.ssh folder in your home directory on people.apache.org and change its file mode to 700.
-$ mv ~/id_dsa.pub ~/.ssh/authorized_keys $ chmod 600 ~/.ssh/authorized_keys
+> $ mkdir ~/.ssh
+> $ chmod 700 ~/.ssh
-*Each public key in the authorized_keys spans only one line.
-For example: "ssh-dss AAAAB3NzaC1kc3MAAA ..... agBmmfZ9uAbSqA== dsa-key-20071107"
-'#' in the first column is a comment line.*
-Exit out of this ssh session.
+6. Move or append ~/id_dsa.pub to ~/.ssh/authorized_keys and change its file mode to 600.
-Start a new ssh session. No login should be required this time due to the private ssh key on your local box matching up with the public ssh key in your home directory (~/.ssh).
+> $ mv ~/id_dsa.pub ~/.ssh/authorized_keys
+> $ chmod 600 ~/.ssh/authorized_keys
-$ ssh @people.apache.org
+ * *Each public key in the authorized_keys spans only one line.
+ * For example: "ssh-dss AAAAB3NzaC1kc3MAAA ..... agBmmfZ9uAbSqA== dsa-key-20071107"
+ * '#' in the first column is a comment line.*
-If you are still prompted for a password, then you have not set up the ssh keys properly. Review the steps above and ensure that all of the steps were followed properly. Or, maybe the instructions are still not quite right and they still need some adjusting. In that case, please update the instructions accordingly.
+7. Exit out of this ssh session.
+8. Start a new ssh session. No login should be required this time due to the private ssh key on your local box matching up with the public ssh key in your home directory (~/.ssh).
-Create a GPG key
+> $ ssh <userid>@people.apache.org
-Open a shell window. If using Windows, open a cygwin window.
-Generate a key-pair with gpg, using default key kind ("RSA and RSA") and keys size (4096).
+ *If you are still prompted for a password, then you have not set up the ssh keys properly. Review the steps above and ensure that all of the steps were followed properly. Or, maybe the instructions are still not quite right and they still need some adjusting. In that case, please update the instructions accordingly.*
-$ gpg --gen-key
+####Create a GPG key
-The program's default values should be fine. For the "Real Name" enter your full name (ie. Stan Programmer). For the "e-mail address" enter your apache address (ie. sprogrammer@apache.org). You will also be required to enter a "passphrase" for the GPG key generation. Keep track of this as you will need this for the Release processing.
+1. Open a shell window. If using Windows, open a cygwin window.
+2. Generate a key-pair with gpg, using default key kind ("RSA and RSA") and keys size (4096).
-The generated keys are stored in $HOME/.gnupg or %HOME%\Application Data\gnupg subdirectory.
+> $ gpg --gen-key
-Save the content in this subdirectory to a safe media. This contains your private key used to sign all the Streams release materials.
+ The program's default values should be fine. For the "Real Name" enter your full name (ie. Stan Programmer). For the "e-mail address" enter your apache address (ie. sprogrammer@apache.org). You will also be required to enter a "passphrase" for the GPG key generation. Keep track of this as you will need this for the Release processing.
-Backup your home directory to another media ||
+ * *The generated keys are stored in $HOME/.gnupg or %HOME%\Application Data\gnupg subdirectory.*
+ * *Save the content in this subdirectory to a safe media. This contains your private key used to sign all the Streams release materials.*
-Add your public key to the SVN repository. See the commands describe at the beginning of this KEYS file to perform this task. The gpg key-pair is used to sign the published artifacts for the Streams releases.
+3. Backup your home directory to another media ||
+4. Add your public key to the [SVN repository](https://svn.apache.org/repos/asf/incubator/streams/KEYS). See the commands describe at the beginning of this KEYS file to perform this task. The gpg key-pair is used to sign the published artifacts for the Streams releases.
-$ gpg --list-sigs && gpg --armor -- export
+> $ gpg --list-sigs <Real Name> && gpg --armor -- export <Real Name>
-The KEYS file is updated via normal svn commit procedures. The one under w.a.o/dist/ has to be manually updated from svn.
+ *The [KEYS](https://svn.apache.org/repos/asf/incubator/streams/KEYS) file is updated via normal svn commit procedures. The one under w.a.o/dist/ has to be manually updated from svn.*
-Submit your public key to a key server. E.g. SURFNET or MIT
+5. Submit your public key to a key server. E.g. [SURFNET](http://pgp.surfnet.nl:11371/) or [MIT](http://pgp.mit.edu/)
-Following the instructions in http://people.apache.org/~henkp/trust/ and ask multiple (at least 3) current Apache committers to sign your public key.
+6. Following the instructions in http://people.apache.org/~henkp/trust/ and ask multiple (at least 3) current Apache committers to sign your public key.
-Configure Maven
+####Configure Maven
-Update your ~/.m2/settings.xml with the properties from Publishing Maven Artifacts
+1. Update your ~/.m2/settings.xml with the properties from [Publishing Maven Artifacts](http://www.apache.org/dev/publishing-maven-artifacts.html#dev-env)
http://git-wip-us.apache.org/repos/asf/incubator-streams-master/blob/c5d54a9b/src/site/markdown/release.md
----------------------------------------------------------------------
diff --git a/src/site/markdown/release.md b/src/site/markdown/release.md
index 675ea7c..9e691ee 100644
--- a/src/site/markdown/release.md
+++ b/src/site/markdown/release.md
@@ -1,197 +1,162 @@
-Release Process
-
-
-Release Steps Overview
-There are two distinct sets of artifacts that are released on independent schedules: streams-master & streams-project. The streams-master is the project metadata and only needs to be released when there is a change in the structure of the project itself. The streams-project artifacts are comprised of all streams source code, binaries and a standalone demo. For release setup information, refer to Release Setup Information.
-
-All of the steps below apply to both the master and project releases, unless otherwise specified. As an alternative to releasing separately, the projects MAY be released together as one combined release. The steps for this can be found below. (Combined Release Steps)
-
-Common Release Steps
-
-Environment setup for releasing artifacts (same for SNAPSHOTs and releases)
-
-Increase the default Java heap available to Maven (required for Java SE 6)
-
-export MAVEN_OPTS="-Xmx1024m -XX:MaxPermSize=256m"
-
-Use the latest Sun 1.7.0 JDK
-
-Use Maven 3.2.1 or later
-
-Make sure the Release Setup steps have been performed.
-
-Prepare the source for release:
-
-Cleanup JIRA so the Fix Version in issues resolved since the last release includes this release version correctly.
-Update the text files in a working copy of the project root -
-Update the CHANGELOG based on the Text release reports from JIRA.
-Review and update README.md if needed.
-Commit any changes back to git
-Stage any Roadmap or Release landing pages on the site.
-Create a release candidate branch from master. X should start at 1 and increment if early release candidates fail to complete the release cycle.
-
-$ git checkout master $ git branch {$project.version}-rcX
-
-Verify the source has the required license headers before trying to release:
-
-$ mvn -P apache-release clean rat:check -e -DskipTests
-
-Do a dry run of the release:prepare step:
-
-$ mvn -P apache-release release:prepare -DautoVersionSubmodules=true -DdryRun=true
-The dry run will not commit any changes back to SCM and gives you the opportunity to verify that the release process will complete as expected. You will be prompted for the following information :
-
-Release version - take the default (should be ${project.version}-incubating)
-SCM release tag - DO NOT TAKE THE DEFAULT - ${project.version}-rcX
-New development version - take the default (should be ${project.version}-incubating-SNAPSHOT)
-GPG Passphrase
-If you cancel a release:prepare before it updates the pom.xml versions, then use the release:clean goal to just remove the extra files that were created.
-
-The Maven release plugin checks for SNAPSHOT dependencies in pom's. It will not complete the prepare goal until all SNAPSHOT dependencies are resolved.
-
-Verify that the release process completed as expected
-
-The release plugin will create pom.xml.tag files which contain the changes that would have been committed to SVN. The only differences between pom.xml.tag and it's corresponding pom.xml file should be the version number.
-Check release.properties and make sure that the scm properties have the right version. Sometimes the scm location can be the previous version not the next version.
-Verify signatures (Verifying release signatures)
-Cleanup the release prepare files again:
-
-$ mvn -P apache-release release:clean
-Prepare the release
-
-Run the "release:prepare" step for real this time. You'll be prompted for the same version information.
-
-$ mvn -P apache-release -U clean release:prepare -DautoVersionSubmodules=true
-
-Backup (zip or tar) your local release candidate directory in case you need to rollback the release after the next step is performed.
-
-Perform the release
-
-This step will create a maven staging repository and site for use in testing and voting.
-
-$ mvn -Papache-release -Darguments='-Dmaven.test.skip.exec=true' release:perform -Dgoals=deploy -DlocalRepoDirectory=. -DlocalCheckout=true
-
-If your local OS userid doesn't match your Apache userid, then you'll have to also override the value provided by the OS to Maven for the site-deploy step to work. This is known to work for Linux, but not for Mac and unknown for Windows.
-
--Duser.name=[your_apache_uid]
-
-Verify the Nexus release artifacts
-
-Verify the staged artifacts in the nexus repo
-
-https://repository.apache.org/index.html
-Staging repositories (under Build Promotion) --> Name column --> org.apache.streams
-Navigate through the artifact tree and make sure that all javadoc, sources, tests, jars, ... have .asc (GPG signature) and .md5 files. See http://people.apache.org/~henkp/repo/faq.html and http://www.apache.org/dev/release-signing.html#openpgp-ascii-detach-sig
-Close the nexus staging repo
-
-https://repository.apache.org/index.html
-Staging repositories (under Build Promotion) --> Name column --> org.apache.streams
-Click checkbox for the open staging repo (org.apache.streams-XXX) and press Close in the menu bar.
-Put the release candidate up for a vote
-
-Create a VOTE email thread on dev@ to record votes as replies
-Create a DISCUSS email thread on dev@ for any vote questions
-Perform a review of the release and cast your vote. See the following for more details on Apache releases
-
-http://www.apache.org/dev/release.html
-
-A -1 vote does not necessarily mean that the vote must be redone, however it is usually a good idea to rollback the release if a -1 vote is received. See - Recovering from a vetoed release
-
-After the vote has been open for at least 72 hours, has at least three +1 PMC votes and no -1 votes, then post the results to the vote thread by -
-reply to the initial email and prepend to the original subject "[RESULT]"
-Include a list of everyone who voted +1, 0 or -1.
-If there are fewer than 3 +1 (binding) votes from IPMC members, submit a vote to general@incubator.apache.org requesting additional IPMC member votes.
-Finalizing a release
-
-Promote the staged nexus artifacts
-
-https://repository.apache.org/index.html
-Staging repositories (under Build Promotion) --> Name column --> org.apache.streams
-Click checkbox of the closed staging repo (org.apache.streams-XXX) and select Release.
-Copy the source artifacts over to the distribution area
-
-$ svn co https://dist.apache.org/repos/dist/release/incubator/streams/releases ./streams-releases (KEEP this directory until after the release process has been completed)
-$ cd ./streams-releases
-$ mkdir ${project.version}
-$ cd ./${project.version}
-$ wget https://repository.apache.org/content/repositories/releases/org/apache/streams/${project.name}/${project.version}/${project.name}-${project.version}-source-release.zip
-$ wget https://repository.apache.org/content/repositories/releases/org/apache/streams/${project.name}/${project.version}/${project.name}-${project.version}-source-release.zip.asc
-$ wget https://repository.apache.org/content/repositories/releases/org/apache/streams/${project.name}/${project.version}/${project.name}-${project.version}-source-release.zip.md5
-$ svn add ${project.name}-*
-$ svn commit -m "Committing Source Release for ${project.name}-${project.version}
-Create an official release tag from the successful release candidate tag.
-
-$ git checkout streams-project-${project.version}-rcX
-$ git tag -a streams-project-${project.version} -m 'release tag streams-project-${project.version}'
-$ git push origin :refs/tags/streams-project-${project.version}
-Update the staged website
-
-Update the downloads page to add new version using the mirrored URLs
-Modify the URL for the prior release to the archived URL for the release
-Publish the website
-
-WAIT 24hrs after committing releases for mirrors to replicate
-Publish updates to the download page
-Delete the prior versions
-
-Navigate to the release directories checked out in the prior steps
-Delete the prior release artifacts using the svn delete command
-Commit the deletion
-Update the JIRA versions page to close all issues, mark the version as "released", and set the date to the date that the release was approved. You may also need to make a new release entry for the next release.
-
-Announcing the release
-
-Make a news announcement on the streams homepage.
-Make an announcement about the release on the users@streams.apache.org, dev@streams.apache.org, and announce@apache.org list as per the Apache Announcement Mailing Lists page)
-Recovering from a vetoed release
-
-Reply to the initial vote email and prepend to the original subject -
-
-[CANCELED]
-
-Clean the release prepare files and hard reset the release candidate branch.
-
-mvn -P apache-release release:clean
-
-Delete the git tag created by the release:perform step -
-
-$ git tag -d streams-project-${project.version}-rcX $ git push origin :refs/tags/streams-project-${project.version}-rcX
-
-Delete the build artifacts on people & www
-
-$ rm -rfv /www/people.apache.org/builds/streams/${project.version}
-$ rm -rfv /www/www.apache.org/dist/streams/${project.version}
-Drop the nexus staging repo
-
-https://repository.apache.org/index.html
-Enterprise --> Staging
-Staging tab --> Name column --> org.apache.streams
-Right click on the closed staging repo (org.apache.streams-XXX) and select Drop.
-Remove the staged site
-
-Make the required updates that caused the vote to be canceled during the next release cycle
-
-
-Verifying release signatures
-
+###Release Process
+
+There are two distinct sets of artifacts that are released on independent schedules: streams-master & streams-project. The streams-master is the project metadata and only needs to be released when there is a change in the structure of the project itself. The streams-project artifacts are comprised of all streams source code, binaries and a standalone demo. For release setup information, refer to [Release Setup Information](/release-setup.html).
+
+All of the steps below apply to both the master and project releases, unless otherwise specified. As an alternative to releasing separately, the projects MAY be released together as one combined release. The steps for this can be found below. ([Combined Release Steps](#combined))
+
+####Common Release Steps
+
+1. Environment setup for releasing artifacts (same for SNAPSHOTs and releases)
+
+ 1. Increase the default Java heap available to Maven (required for Java SE 6)
+ > export MAVEN_OPTS="-Xmx1024m -XX:MaxPermSize=256m"
+ 2. Use the latest Sun 1.7.0 JDK
+ 3. Use Maven 3.2.1 or later
+ 4. Make sure the [Release Setup](release-setup.html) steps have been performed.
+
+2. Prepare the source for release:
+
+ 1. Cleanup JIRA so the Fix Version in issues resolved since the last release includes this release version correctly.
+ 2. Update the text files in a working copy of the project root -
+ 1. Update the CHANGELOG based on the Text release reports from JIRA.
+ 2. Review and update README.md if needed.
+ 3. Commit any changes back to git
+ 3. Stage any Roadmap or Release landing pages on the site.
+
+3. Create a release candidate branch from master.
+ X should start at 1 and increment if early release candidates fail to complete the release cycle.
+> $ git checkout master
+> $ git branch {$project.version}-rcX
+4. Verify the source has the required license headers before trying to release:
+> $ mvn -P apache-release clean rat:check -e -DskipTests
+5. Do a dry run of the release:prepare step:
+> $ mvn -P apache-release release:prepare -DautoVersionSubmodules=true -DdryRun=true
+
+ The dry run will not commit any changes back to SCM and gives you the opportunity to verify that the release process will complete as expected. You will be prompted for the following information :
+
+ * Release version - take the default (should be ${project.version}-incubating)
+ * SCM release tag - *DO NOT TAKE THE DEFAULT* - ${project.version}-rcX
+ * New development version - take the default (should be ${project.version}-incubating-SNAPSHOT)
+ * GPG Passphrase
+
+ *If you cancel a release:prepare before it updates the pom.xml versions, then use the release:clean goal to just remove the extra files that were created.*
+
+ The Maven release plugin checks for SNAPSHOT dependencies in pom's. It will not complete the prepare goal until all SNAPSHOT dependencies are resolved.
+
+6. Verify that the release process completed as expected
+ 1. The release plugin will create pom.xml.tag files which contain the changes that would have been committed to SVN. The only differences between pom.xml.tag and it's corresponding pom.xml file should be the version number.
+ 2. Check release.properties and make sure that the scm properties have the right version. Sometimes the scm location can be the previous version not the next version.
+ 3. Verify signatures ([Verifying release signatures](#verify_signatures))
+
+7. Cleanup the release prepare files again:
+> $ mvn -P apache-release release:clean
+8. Prepare the release
+ 1. Run the "release:prepare" step for real this time. You'll be prompted for the same version information.
+ > $ mvn -P apache-release -U clean release:prepare -DautoVersionSubmodules=true
+ 2. Backup (zip or tar) your local release candidate directory in case you need to rollback the release after the next step is performed.
+9. Perform the release
+ * This step will create a maven staging repository and site for use in testing and voting.
+ > $ mvn -Papache-release -Darguments='-Dmaven.test.skip.exec=true' release:perform -Dgoals=deploy -DlocalRepoDirectory=. -DlocalCheckout=true
+ * If your local OS userid doesn't match your Apache userid, then you'll have to also override the value provided by the OS to Maven for the site-deploy step to work. This is known to work for Linux, but not for Mac and unknown for Windows.*
+ > -Duser.name=[your_apache_uid]
+10. Verify the Nexus release artifacts
+ 1. Verify the staged artifacts in the nexus repo
+ * https://repository.apache.org/index.html
+ * Staging repositories (under Build Promotion) --> Name column --> org.apache.streams
+ * Navigate through the artifact tree and make sure that all javadoc, sources, tests, jars, ... have .asc (GPG signature) and .md5 files. See http://people.apache.org/~henkp/repo/faq.html and http://www.apache.org/dev/release-signing.html#openpgp-ascii-detach-sig
+ 2. Close the nexus staging repo
+ * https://repository.apache.org/index.html
+ * Staging repositories (under Build Promotion) --> Name column --> org.apache.streams
+ * Click checkbox for the open staging repo (org.apache.streams-XXX) and press Close in the menu bar.
+11. Put the release candidate up for a vote
+ 1. Create a VOTE email thread on dev@ to record votes as replies
+ 2. Create a DISCUSS email thread on dev@ for any vote questions
+ 3. Perform a review of the release and cast your vote. See the following for more details on Apache releases
+ [http://www.apache.org/dev/release.html](http://www.apache.org/dev/release.html)
+ 4. A -1 vote does not necessarily mean that the vote must be redone, however it is usually a good idea to rollback the release if a -1 vote is received. See - Recovering from a vetoed release
+ 5. After the vote has been open for at least 72 hours, has at least three +1 PMC votes and no -1 votes, then post the results to the vote thread by -
+ * reply to the initial email and prepend to the original subject "[RESULT]"
+ * Include a list of everyone who voted +1, 0 or -1.
+ 6. If there are fewer than 3 +1 (binding) votes from IPMC members, submit a vote to general@incubator.apache.org requesting additional IPMC member votes.
+12. Finalizing a release
+ 1. Promote the staged nexus artifacts
+ * https://repository.apache.org/index.html
+ * Staging repositories (under Build Promotion) --> Name column --> org.apache.streams
+ * Click checkbox of the closed staging repo (org.apache.streams-XXX) and select Release.
+ 2. Copy the source artifacts over to the distribution area
+> $ svn co https://dist.apache.org/repos/dist/release/incubator/streams/releases ./streams-releases (KEEP this directory until after the release process has been completed)
+> $ cd ./streams-releases
+> $ mkdir ${project.version}
+> $ cd ./${project.version}
+> $ wget https://repository.apache.org/content/repositories/releases/org/apache/streams/${project.name}/${project.version}/${project.name}-${project.version}-source-release.zip
+> $ wget https://repository.apache.org/content/repositories/releases/org/apache/streams/${project.name}/${project.version}/${project.name}-${project.version}-source-release.zip.asc
+> $ wget https://repository.apache.org/content/repositories/releases/org/apache/streams/${project.name}/${project.version}/${project.name}-${project.version}-source-release.zip.md5
+> $ svn add ${project.name}-*
+> $ svn commit -m "Committing Source Release for ${project.name}-${project.version}
+ 3. Create an official release tag from the successful release candidate tag.
+> $ git checkout streams-project-${project.version}-rcX
+> $ git tag -a streams-project-${project.version} -m 'release tag streams-project-${project.version}'
+> $ git push origin :refs/tags/streams-project-${project.version}
+ 4. Update the staged website
+ * Update the downloads page to add new version using the mirrored URLs
+ * Modify the URL for the prior release to the archived URL for the release
+ 5. Publish the website
+ * WAIT 24hrs after committing releases for mirrors to replicate
+ * Publish updates to the download page
+ 6. Delete the prior versions
+ * Navigate to the release directories checked out in the prior steps
+ * Delete the prior release artifacts using the svn delete command
+ * Commit the deletion
+14. Update the JIRA versions page to close all issues, mark the version as "released", and set the date to the date that the release was approved. You may also need to make a new release entry for the next release.
+15. Announcing the release
+ * Make a news announcement on the streams homepage.
+ * Make an announcement about the release on the users@streams.apache.org, dev@streams.apache.org, and announce@apache.org list as per the Apache Announcement Mailing Lists page)
+
+####Recovering from a vetoed release
+
+1. Reply to the initial vote email and prepend to the original subject -
+ [CANCELED]
+2. Clean the release prepare files and hard reset the release candidate branch.
+> mvn -P apache-release release:clean
+
+3. Delete the git tag created by the release:perform step -
+> $ git tag -d streams-project-${project.version}-rcX
+> $ git push origin :refs/tags/streams-project-${project.version}-rcX
+
+4. Delete the build artifacts on people & www
+> $ rm -rfv /www/people.apache.org/builds/streams/${project.version}
+> $ rm -rfv /www/www.apache.org/dist/streams/${project.version}
+
+5. Drop the nexus staging repo
+ 1. https://repository.apache.org/index.html
+ 2. Enterprise --> Staging
+ 3. Staging tab --> Name column --> org.apache.streams
+ 4. Right click on the closed staging repo (org.apache.streams-XXX) and select Drop.
+5. Remove the staged site
+6. Make the required updates that caused the vote to be canceled during the next release cycle
+
+<a name="verify_signatures" ></a>
+####Verifying release signatures
On unix platforms the following command can be executed -
- for file in `find . -type f -iname '*.asc'`
- do
- gpg --verify ${file}
- done
-You'll need to look at the output to ensure it contains only good signatures -
+> for file in `find . -type f -iname '*.asc'`
+> do
+> gpg --verify ${file}
+> done
-gpg: Good signature from ... gpg: Signature made ...
+You'll need to look at the output to ensure it contains only good signatures -
+gpg: Good signature from ...
+gpg: Signature made ...
-Combined Release
-In order to perform a combined release of the streams-master and streams-project trunks, do the following:
+<a name="combined" ></a>
+####Combined Release
+In order to perform a combined release of the streams-master and streams-project trunks, do the following:
-Perform Steps 1-9 of the release for streams Master & streams Project
-Do NOT perform step 10 until steps 1-9 have been completed for BOTH projects
-Build the streams-master FIRST
-When prompted to change the streams-project dependency on streams-master SNAPSHOT, do so to the release that you just built
-Execute the remaining steps using the following e-mail templates
-PMC Release Vote
+ * Perform Steps 1-9 of the [release](#release-steps) for streams Master & streams Project
+ * Do NOT perform step 10 until steps 1-9 have been completed for BOTH projects
+ * Build the streams-master FIRST
+ * When prompted to change the streams-project dependency on streams-master SNAPSHOT, do so to the release that you just built
+ * Execute the remaining steps using the following e-mail templates
+ * [PMC Release Vote](PPMC_Combined.txt)
[15/22] incubator-streams-master git commit: fix blockquote inside
lists
Posted by sb...@apache.org.
fix blockquote inside lists
Project: http://git-wip-us.apache.org/repos/asf/incubator-streams-master/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-streams-master/commit/51456fb0
Tree: http://git-wip-us.apache.org/repos/asf/incubator-streams-master/tree/51456fb0
Diff: http://git-wip-us.apache.org/repos/asf/incubator-streams-master/diff/51456fb0
Branch: refs/heads/master
Commit: 51456fb00ea48a091f5e0bc6fb134e3ddd85b1f3
Parents: 9cb990c
Author: Steve Blackmon @steveblackmon <sb...@apache.org>
Authored: Mon Apr 25 15:41:10 2016 -0500
Committer: Steve Blackmon @steveblackmon <sb...@apache.org>
Committed: Mon Apr 25 15:41:10 2016 -0500
----------------------------------------------------------------------
src/site/markdown/release-setup.md | 28 +++++----
src/site/markdown/release.md | 82 ++++++++++++++++----------
src/site/markdown/tutorial/build.md | 14 ++---
src/site/markdown/tutorial/database.md | 8 +--
src/site/markdown/tutorial/docker.md | 2 +-
src/site/markdown/tutorial/environment.md | 8 +--
src/site/markdown/website.md | 56 +++++++++---------
7 files changed, 111 insertions(+), 87 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-streams-master/blob/51456fb0/src/site/markdown/release-setup.md
----------------------------------------------------------------------
diff --git a/src/site/markdown/release-setup.md b/src/site/markdown/release-setup.md
index a4f5d8a..bde255b 100644
--- a/src/site/markdown/release-setup.md
+++ b/src/site/markdown/release-setup.md
@@ -11,33 +11,35 @@ Developers using Linux workstations can skip over the references to Cygwin. If u
Follow the latest steps and guides on the [ASF website](http://www.apache.org/dev/openpgp.html#generate-key) as you should **NOT** be using SHA1 and new keys **MUST** be at least 4096 bits.
-> $ ssh-keygen -t rsa -b 4096
+ ssh-keygen -t rsa -b 4096
Program defaults should be fine. No passphrase is required for the ssh key generation. The keys will be saved in ~/.ssh/id_dsa (private) and ~/.ssh/id_dsa.pub (public).
See [Authenticating By Public Key (OpenSSH)](http://www.networknewz.com/networknewz-10-20030707AuthenticatingbyPublicKeyOpenSSH.html) for a good description on why and how to perform this task.
3. SCP your SSH public key ~/.ssh/id_dsa.pub created in last step to ~/id_dsa.pub on people.apache.org.
-> $ cd ~/.ssh
-> $ scp id_dsa.pub <your userid>@people.apache.org:id_dsa.pub
-> $ You will be prompted for your password.
+
+ cd ~/.ssh
+ scp id_dsa.pub <your userid>@people.apache.org:id_dsa.pub
+
+You will be prompted for your password.
4. Use ssh to login to people.apache.org
-> $ cd ~
-> $ ssh <your userid>@people.apache.org
+ cd ~
+ ssh <your userid>@people.apache.org
At this point, you will still be prompted for your password.
5. Create a ~/.ssh folder in your home directory on people.apache.org and change its file mode to 700.
-> $ mkdir ~/.ssh
-> $ chmod 700 ~/.ssh
+ mkdir ~/.ssh
+ chmod 700 ~/.ssh
6. Move or append ~/id_dsa.pub to ~/.ssh/authorized_keys and change its file mode to 600.
-> $ mv ~/id_dsa.pub ~/.ssh/authorized_keys
-> $ chmod 600 ~/.ssh/authorized_keys
+ mv ~/id_dsa.pub ~/.ssh/authorized_keys
+ chmod 600 ~/.ssh/authorized_keys
* *Each public key in the authorized_keys spans only one line.
* For example: "ssh-dss AAAAB3NzaC1kc3MAAA ..... agBmmfZ9uAbSqA== dsa-key-20071107"
@@ -46,7 +48,7 @@ Developers using Linux workstations can skip over the references to Cygwin. If u
7. Exit out of this ssh session.
8. Start a new ssh session. No login should be required this time due to the private ssh key on your local box matching up with the public ssh key in your home directory (~/.ssh).
-> $ ssh <userid>@people.apache.org
+ ssh <userid>@people.apache.org
*If you are still prompted for a password, then you have not set up the ssh keys properly. Review the steps above and ensure that all of the steps were followed properly. Or, maybe the instructions are still not quite right and they still need some adjusting. In that case, please update the instructions accordingly.*
@@ -55,7 +57,7 @@ Developers using Linux workstations can skip over the references to Cygwin. If u
1. Open a shell window. If using Windows, open a cygwin window.
2. Generate a key-pair with gpg, using default key kind ("RSA and RSA") and keys size (4096).
-> $ gpg --gen-key
+ gpg --gen-key
The program's default values should be fine. For the "Real Name" enter your full name (ie. Stan Programmer). For the "e-mail address" enter your apache address (ie. sprogrammer@apache.org). You will also be required to enter a "passphrase" for the GPG key generation. Keep track of this as you will need this for the Release processing.
@@ -65,7 +67,7 @@ Developers using Linux workstations can skip over the references to Cygwin. If u
3. Backup your home directory to another media ||
4. Add your public key to the [SVN repository](https://svn.apache.org/repos/asf/incubator/streams/KEYS). See the commands describe at the beginning of this KEYS file to perform this task. The gpg key-pair is used to sign the published artifacts for the Streams releases.
-> $ gpg --list-sigs <Real Name> && gpg --armor -- export <Real Name>
+ gpg --list-sigs <Real Name> && gpg --armor -- export <Real Name>
*The [KEYS](https://svn.apache.org/repos/asf/incubator/streams/KEYS) file is updated via normal svn commit procedures. The one under w.a.o/dist/ has to be manually updated from svn.*
http://git-wip-us.apache.org/repos/asf/incubator-streams-master/blob/51456fb0/src/site/markdown/release.md
----------------------------------------------------------------------
diff --git a/src/site/markdown/release.md b/src/site/markdown/release.md
index 9e691ee..0896b7a 100644
--- a/src/site/markdown/release.md
+++ b/src/site/markdown/release.md
@@ -9,7 +9,9 @@ All of the steps below apply to both the master and project releases, unless oth
1. Environment setup for releasing artifacts (same for SNAPSHOTs and releases)
1. Increase the default Java heap available to Maven (required for Java SE 6)
- > export MAVEN_OPTS="-Xmx1024m -XX:MaxPermSize=256m"
+
+ export MAVEN_OPTS="-Xmx1024m -XX:MaxPermSize=256m"
+
2. Use the latest Sun 1.7.0 JDK
3. Use Maven 3.2.1 or later
4. Make sure the [Release Setup](release-setup.html) steps have been performed.
@@ -25,12 +27,17 @@ All of the steps below apply to both the master and project releases, unless oth
3. Create a release candidate branch from master.
X should start at 1 and increment if early release candidates fail to complete the release cycle.
-> $ git checkout master
-> $ git branch {$project.version}-rcX
+
+ git checkout master
+ git branch {$project.version}-rcX
+
4. Verify the source has the required license headers before trying to release:
-> $ mvn -P apache-release clean rat:check -e -DskipTests
+
+ mvn -P apache-release clean rat:check -e -DskipTests
+
5. Do a dry run of the release:prepare step:
-> $ mvn -P apache-release release:prepare -DautoVersionSubmodules=true -DdryRun=true
+
+ mvn -P apache-release release:prepare -DautoVersionSubmodules=true -DdryRun=true
The dry run will not commit any changes back to SCM and gives you the opportunity to verify that the release process will complete as expected. You will be prompted for the following information :
@@ -49,16 +56,24 @@ All of the steps below apply to both the master and project releases, unless oth
3. Verify signatures ([Verifying release signatures](#verify_signatures))
7. Cleanup the release prepare files again:
-> $ mvn -P apache-release release:clean
+
+ mvn -P apache-release release:clean
+
8. Prepare the release
1. Run the "release:prepare" step for real this time. You'll be prompted for the same version information.
- > $ mvn -P apache-release -U clean release:prepare -DautoVersionSubmodules=true
+
+ mvn -P apache-release -U clean release:prepare -DautoVersionSubmodules=true
+
2. Backup (zip or tar) your local release candidate directory in case you need to rollback the release after the next step is performed.
9. Perform the release
* This step will create a maven staging repository and site for use in testing and voting.
- > $ mvn -Papache-release -Darguments='-Dmaven.test.skip.exec=true' release:perform -Dgoals=deploy -DlocalRepoDirectory=. -DlocalCheckout=true
+
+ mvn -Papache-release -Darguments='-Dmaven.test.skip.exec=true' release:perform -Dgoals=deploy -DlocalRepoDirectory=. -DlocalCheckout=true
+
* If your local OS userid doesn't match your Apache userid, then you'll have to also override the value provided by the OS to Maven for the site-deploy step to work. This is known to work for Linux, but not for Mac and unknown for Windows.*
- > -Duser.name=[your_apache_uid]
+
+ -Duser.name=[your_apache_uid]
+
10. Verify the Nexus release artifacts
1. Verify the staged artifacts in the nexus repo
* https://repository.apache.org/index.html
@@ -84,19 +99,23 @@ All of the steps below apply to both the master and project releases, unless oth
* Staging repositories (under Build Promotion) --> Name column --> org.apache.streams
* Click checkbox of the closed staging repo (org.apache.streams-XXX) and select Release.
2. Copy the source artifacts over to the distribution area
-> $ svn co https://dist.apache.org/repos/dist/release/incubator/streams/releases ./streams-releases (KEEP this directory until after the release process has been completed)
-> $ cd ./streams-releases
-> $ mkdir ${project.version}
-> $ cd ./${project.version}
-> $ wget https://repository.apache.org/content/repositories/releases/org/apache/streams/${project.name}/${project.version}/${project.name}-${project.version}-source-release.zip
-> $ wget https://repository.apache.org/content/repositories/releases/org/apache/streams/${project.name}/${project.version}/${project.name}-${project.version}-source-release.zip.asc
-> $ wget https://repository.apache.org/content/repositories/releases/org/apache/streams/${project.name}/${project.version}/${project.name}-${project.version}-source-release.zip.md5
-> $ svn add ${project.name}-*
-> $ svn commit -m "Committing Source Release for ${project.name}-${project.version}
+
+ svn co https://dist.apache.org/repos/dist/release/incubator/streams/releases ./streams-releases (KEEP this directory until after the release process has been completed)
+ cd ./streams-releases
+ mkdir ${project.version}
+ cd ./${project.version}
+ wget https://repository.apache.org/content/repositories/releases/org/apache/streams/${project.name}/${project.version}/${project.name}-${project.version}-source-release.zip
+ wget https://repository.apache.org/content/repositories/releases/org/apache/streams/${project.name}/${project.version}/${project.name}-${project.version}-source-release.zip.asc
+ wget https://repository.apache.org/content/repositories/releases/org/apache/streams/${project.name}/${project.version}/${project.name}-${project.version}-source-release.zip.md5
+ svn add ${project.name}-*
+ svn commit -m "Committing Source Release for ${project.name}-${project.version}
+
3. Create an official release tag from the successful release candidate tag.
-> $ git checkout streams-project-${project.version}-rcX
-> $ git tag -a streams-project-${project.version} -m 'release tag streams-project-${project.version}'
-> $ git push origin :refs/tags/streams-project-${project.version}
+
+ git checkout streams-project-${project.version}-rcX
+ git tag -a streams-project-${project.version} -m 'release tag streams-project-${project.version}'
+ git push origin :refs/tags/streams-project-${project.version}
+
4. Update the staged website
* Update the downloads page to add new version using the mirrored URLs
* Modify the URL for the prior release to the archived URL for the release
@@ -117,15 +136,18 @@ All of the steps below apply to both the master and project releases, unless oth
1. Reply to the initial vote email and prepend to the original subject -
[CANCELED]
2. Clean the release prepare files and hard reset the release candidate branch.
-> mvn -P apache-release release:clean
+
+ mvn -P apache-release release:clean
3. Delete the git tag created by the release:perform step -
-> $ git tag -d streams-project-${project.version}-rcX
-> $ git push origin :refs/tags/streams-project-${project.version}-rcX
+
+ git tag -d streams-project-${project.version}-rcX
+ git push origin :refs/tags/streams-project-${project.version}-rcX
4. Delete the build artifacts on people & www
-> $ rm -rfv /www/people.apache.org/builds/streams/${project.version}
-> $ rm -rfv /www/www.apache.org/dist/streams/${project.version}
+
+ rm -rfv /www/people.apache.org/builds/streams/${project.version}
+ rm -rfv /www/www.apache.org/dist/streams/${project.version}
5. Drop the nexus staging repo
1. https://repository.apache.org/index.html
@@ -139,10 +161,10 @@ All of the steps below apply to both the master and project releases, unless oth
####Verifying release signatures
On unix platforms the following command can be executed -
-> for file in `find . -type f -iname '*.asc'`
-> do
-> gpg --verify ${file}
-> done
+ for file in `find . -type f -iname '*.asc'`
+ do
+ gpg --verify ${file}
+ done
You'll need to look at the output to ensure it contains only good signatures -
http://git-wip-us.apache.org/repos/asf/incubator-streams-master/blob/51456fb0/src/site/markdown/tutorial/build.md
----------------------------------------------------------------------
diff --git a/src/site/markdown/tutorial/build.md b/src/site/markdown/tutorial/build.md
index a51f2c2..37ef3fd 100644
--- a/src/site/markdown/tutorial/build.md
+++ b/src/site/markdown/tutorial/build.md
@@ -56,24 +56,24 @@ See [streams-project-index.html](http://streams.incubator.apache.org/site/0.2-in
Run from your command line:
-> git clone https://github.com/apache/incubator-streams
-> git clone https://github.com/apache/incubator-streams-examples
+ git clone https://github.com/apache/incubator-streams
+ git clone https://github.com/apache/incubator-streams-examples
### Build Projects
Run from your command line:
-> export MAVEN_OPTS="-Xmx2G"
-> cd incubator-streams
-> mvn clean install -Dmaven.test.skip.exec=true
+ export MAVEN_OPTS="-Xmx2G"
+ cd incubator-streams
+ mvn clean install -Dmaven.test.skip.exec=true
| Possible result | Explanation |
|-----------------|-------------|
| BUILD SUCCESSFUL | You are all good |
| BUILD FAILED | Check yourself |
-> cd ../incubator-streams-examples
-> mvn clean package
+ cd ../incubator-streams-examples
+ mvn clean package
| Possible result | Explanation |
|-----------------|-------------|
http://git-wip-us.apache.org/repos/asf/incubator-streams-master/blob/51456fb0/src/site/markdown/tutorial/database.md
----------------------------------------------------------------------
diff --git a/src/site/markdown/tutorial/database.md b/src/site/markdown/tutorial/database.md
index 5564ee8..9dc1b69 100644
--- a/src/site/markdown/tutorial/database.md
+++ b/src/site/markdown/tutorial/database.md
@@ -8,7 +8,7 @@ We'll assume you've got docker up and running.
Run from your command line:
-> $ docker ps
+ docker ps
If you see a (possibly empty) list of running containers, you are good.
@@ -16,12 +16,12 @@ If you see a (possibly empty) list of running containers, you are good.
Elasticsearch is a great database for storing content from your streams.
-> $ docker run -d --name elasticsearch elasticsearch
+ docker run -d --name elasticsearch elasticsearch
### Add Elasticsearch container details to your configuration
-> cd $STREAMS
-> export DOCKERHOST=$(docker-machine ip)
+ cd $STREAMS
+ export DOCKERHOST=$(docker-machine ip)
Put the following into elasticsearch.conf
http://git-wip-us.apache.org/repos/asf/incubator-streams-master/blob/51456fb0/src/site/markdown/tutorial/docker.md
----------------------------------------------------------------------
diff --git a/src/site/markdown/tutorial/docker.md b/src/site/markdown/tutorial/docker.md
index 2f71e4d..84fc6cb 100644
--- a/src/site/markdown/tutorial/docker.md
+++ b/src/site/markdown/tutorial/docker.md
@@ -12,7 +12,7 @@ We'll assume you've got docker up and running.
Run from your command line:
-> $ docker ps
+ docker ps
If you see a (possibly empty) list of running containers, you are good.
http://git-wip-us.apache.org/repos/asf/incubator-streams-master/blob/51456fb0/src/site/markdown/tutorial/environment.md
----------------------------------------------------------------------
diff --git a/src/site/markdown/tutorial/environment.md b/src/site/markdown/tutorial/environment.md
index 64bb050..1a50a28 100644
--- a/src/site/markdown/tutorial/environment.md
+++ b/src/site/markdown/tutorial/environment.md
@@ -4,13 +4,13 @@ Pick a place on your file system that's easy to remember and reference with an a
Create a new empty folder there and export the path to a variables.
-> $ mkdir ~/streams
-> $ export STREAMS=$(cd ~streams; pwd)
+ mkdir ~/streams
+ export STREAMS=$(cd ~streams; pwd)
### Create a configuration file to hold secrets
-> $ cd $STREAMS
-> $ touch reference.conf
+ cd $STREAMS
+ touch reference.conf
To get started, put the following into reference.conf
http://git-wip-us.apache.org/repos/asf/incubator-streams-master/blob/51456fb0/src/site/markdown/website.md
----------------------------------------------------------------------
diff --git a/src/site/markdown/website.md b/src/site/markdown/website.md
index cca00a5..65826ea 100644
--- a/src/site/markdown/website.md
+++ b/src/site/markdown/website.md
@@ -42,9 +42,17 @@ Currently pushing website changes is a manual process performed by whomever is m
This typically requires checking out the current website from SVN.
- `svn co https://svn.apache.org/repos/infra/websites/production/streams/content`
- `cd content`
-
+ svn co https://svn.apache.org/repos/infra/websites/production/streams/content
+ cd content
+
+NOTE:
+
+Repositories should always be built and published in the following order:
+
+* streams-master
+* streams-project
+* streams-examples
+
#### Preparing to publishing a new website version
The instructions below presume:
@@ -54,33 +62,27 @@ The instructions below presume:
If this is a brand new snapshot or release version, you first need to create a directory corresponding to the new version.
-> content$ mkdir site/${project.version}
-> content$ svn add site/${project.version}
-> content$ svn commit -m "svn add site/${project.version}"
+ mkdir site/${project.version}
+ svn add site/${project.version}
+ svn commit -m "svn add site/${project.version}"
The first time a specific site is being published for this version, you must create the directory where it will be published.
-> content$ mkdir site/${project.version}/${project.artifactId}
-> content$ svn add site/${project.version}/${project.artifactId}
-> content$ svn commit -m "svn add site/${project.version}/${project.artifactId}"
+ mkdir site/${project.version}/${project.artifactId}
+ svn add site/${project.version}/${project.artifactId}
+ svn commit -m "svn add site/${project.version}/${project.artifactId}"
If you are published over an existing snapshot, you must first remove the existing version and recreate an empty directory.
-> content$ rm -rf site/${project.version}/${project.artifactId}
-> content$ svn delete site/${project.version}/${project.artifactId}
-> content$ svn commit -m "svn delete site/${project.version}/${project.artifactId}"
-> content$ mkdir site/${project.version}/${project.artifactId}
-> content$ svn add site/${project.version}/${project.artifactId}
-> content$ svn commit -m "svn add site/${project.version}/${project.artifactId}"
+ rm -rf site/${project.version}/${project.artifactId}
+ svn delete site/${project.version}/${project.artifactId}
+ svn commit -m "svn delete site/${project.version}/${project.artifactId}"
+ mkdir site/${project.version}/${project.artifactId}
+ svn add site/${project.version}/${project.artifactId}
+ svn commit -m "svn add site/${project.version}/${project.artifactId}"
The folder must exist and be empty for the publish steps to succeed.
-Repositories should always be built and published in the following order:
-
-* streams-master
-* streams-project
-* streams-examples
-
#### Generating and publishing a new website version
The instructions below presume:
@@ -102,23 +104,21 @@ First, ensure that you have local credentials capable of publishing the site.
Next, generate SVG resources for all DOT diagrams in the source tree
-> $ for dot in $(find . -name *.dot); do dot -Tsvg $dot -o $dot.svg; done
+ for dot in $(find . -name *.dot); do dot -Tsvg $dot -o $dot.svg; done
Then, generate the site that will be published
-> $ mvn clean site:site site:stage
+ mvn clean site:site site:stage
At this point you can open target/staging/index.html and do a sanity check on the site you intend to publish.
Finally, publish the site.
-> $ mvn scm-publish:publish-scm -Dscmpublish.pubScmUrl=scm:svn:https://svn.apache.org/repos/infra/websites/production/streams/content/site/${project.version}/${project.artifactId}
+ mvn scm-publish:publish-scm -Dscmpublish.pubScmUrl=scm:svn:https://svn.apache.org/repos/infra/websites/production/streams/content/site/${project.version}/${project.artifactId}
Note the revision number checked in at the bottom of the maven logs.
-You should now be able to access the published site(s) via an absolute URL.
-
- http://streams.incubator.apache.org/site/${project.version}/${project.artifactId}
+You should now be able to access the published site(s) via an absolute URL such as http://streams.incubator.apache.org/site/${project.version}/${project.artifactId}
For example, website documentation from a recent release:
@@ -152,7 +152,7 @@ If you are promoting sites from all streams repositories simultaneously, the fil
Redirect /site/latest/ /site/${project.version}
-If you want to publish sites at different versions across streams repositories, configure as follows:
+If you want to expose sites hosted under different versions across streams repositories:
Redirect /site/latest/streams-master /site/0.3-incubating-SNAPSHOT/streams-master
Redirect /site/latest/streams-project /site/0.2-incubating/streams-project
[21/22] incubator-streams-master git commit: fix typos on faq and a
broken link
Posted by sb...@apache.org.
fix typos on faq and a broken link
Project: http://git-wip-us.apache.org/repos/asf/incubator-streams-master/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-streams-master/commit/2cd53890
Tree: http://git-wip-us.apache.org/repos/asf/incubator-streams-master/tree/2cd53890
Diff: http://git-wip-us.apache.org/repos/asf/incubator-streams-master/diff/2cd53890
Branch: refs/heads/master
Commit: 2cd53890bf01e52c632ecaa8418dbcdfc17c1b68
Parents: 02e9743
Author: Steve Blackmon @steveblackmon <sb...@apache.org>
Authored: Sat Apr 30 15:06:10 2016 -0500
Committer: Steve Blackmon @steveblackmon <sb...@apache.org>
Committed: Sat Apr 30 15:06:10 2016 -0500
----------------------------------------------------------------------
src/site/markdown/faq.md | 19 +++++----
src/site/markdown/website.md | 86 ++++++++++++++++++++++++---------------
src/site/site.xml | 3 +-
src/site/site_en.xml | 4 +-
4 files changed, 68 insertions(+), 44 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-streams-master/blob/2cd53890/src/site/markdown/faq.md
----------------------------------------------------------------------
diff --git a/src/site/markdown/faq.md b/src/site/markdown/faq.md
index 9c202ad..6d41649 100644
--- a/src/site/markdown/faq.md
+++ b/src/site/markdown/faq.md
@@ -55,15 +55,15 @@ If you are sure you can write code that is some combination of faster, more read
But you are probably under-estimating how difficult it will be to optimize across all of these considerations, stay current with upgrades to underlying libraries, and fix whatever bugs are discovered.
-Or maybe you are capable of doing it all flawlessly, but your time is just more valuable focused on your product rather than on plumbing
+Or maybe you are capable of doing it all flawlessly, but your time is just more valuable focused on your product rather than on plumbing.
-By joining forces with others who care about clean running water, everyone can run better, faster, stronger code: assembled with more diverse expertise for and tested in use cases beyond your own.
+By joining forces with others who care about clean running water, everyone can run better, faster, stronger code assembled with more diverse expertise, tested and tuned under more use cases.
### How is streams different than "*processing framework*"?
-You don't have to look hard to find great data processing frameworks for batch or for real-time. Pig, Hive, Storm, Spark, Samza, Flink, and Google Cloud Dataflow (soon-to-be Apache Beam) are all great. Apex and NiFi are interesting newer options. And this list only Apache Foundation JVM projects!
+You don't have to look hard to find great data processing frameworks for batch or for real-time. Pig, Hive, Storm, Spark, Samza, Flink, and Google Cloud Dataflow (soon-to-be Apache Beam) are all great. Apex and NiFi are interesting newer options. This list only includes Apache Foundation JVM projects!
-At the core these platforms help you specify inputs, outputs, and a directed graph of computation and then run your code at scale.
+At the core these platforms help you connect inputs and outputs to a directed graph of computation, and run your code at scale.
Streams use this computational model as well, but is more focused on intelligently and correctly modeling the data that will flow through the stream than on stream execution. In this sense Streams is an alternative to avro or protocol buffers - one which prioritizes flexibility, expressivity, interoperability, and tooling ahead of speed or compute efficiency.
@@ -122,10 +122,15 @@ Where quality java libraries exist, their most useful parts may be included with
### Where do I start?
-Work your way through the list of 'Tutorial' items above to get up and running with streams.
+Work your way through the 'Tutorial' menu to get up and running with streams.
-Then browse the 'Getting Started' items to learn more about how streams works and why.
+Then browse the 'Other Resources' menu to learn more about how streams works and why.
### How can I help?
-Please join our mailing list, then ask questions and suggest features. Contribute to the documentation in one of the streams repositories. Consider writing a new provider using an existing provider as a template. Consider adding a feature (and / or tests) to an existing module you intend to use. Consider building and contributing a new example.
+* Join our mailing list.
+* Ask questions and suggest features.
+* Contribute to the documentation in one of the streams repositories.
+* Write a new provider using an existing provider as a template.
+* Add new features (and / or tests) to an existing module you intend to use.
+* Build and contributing a new example.
http://git-wip-us.apache.org/repos/asf/incubator-streams-master/blob/2cd53890/src/site/markdown/website.md
----------------------------------------------------------------------
diff --git a/src/site/markdown/website.md b/src/site/markdown/website.md
index 06f71a1..4b8c3e5 100644
--- a/src/site/markdown/website.md
+++ b/src/site/markdown/website.md
@@ -2,7 +2,9 @@
http://streams.incubator.apache.org is a set of interconnected websites generated
by the maven site plugin. The front page, this page, and most pages linked in the
-top nav of the site are part of incubator-streams-master.
+top nav of the site are part of incubator-streams-master. incubator-streams and
+incubator-streams-examples also contain documentation of specific modules and examples that
+are part of the project webpage.
### Website Content
@@ -38,11 +40,11 @@ This allows users to import HOCON from modules outside their sphere of control a
The project website(s) are hosted by the Apache foundation and updated via SVN.
-Currently pushing website changes is a manual process performed by whomever is making the change.
+Currently pushing website changes is a manual process with several steps, performed by whomever is making the change.
This typically requires checking out the current website from SVN.
- svn co https://svn.apache.org/repos/infra/websites/production/streams/content
+ svn co https://svn.apache.org/repos/asf/incubator/streams/site/trunk/content
cd content
NOTE:
@@ -83,7 +85,15 @@ If you are published over an existing snapshot, you must first remove the existi
The folder must exist and be empty for the publish steps to succeed.
-#### Generating and publishing a new website version
+If you are publishing a release, it's appropriate to delete the site snapshots related to the prior releases.
+
+For example when 0.3-incubating is published, 0.2-incubating-SNAPSHOT should be deleted.
+
+This policy of removing old snapshots keeps external projects from linking to snapshot artifacts indefinitely.
+
+Release artifacts should be retained indefinitely.
+
+#### Generating and committing a new website version
The instructions below presume:
@@ -114,57 +124,67 @@ At this point you can open target/staging/index.html and do a sanity check on th
Finally, publish the site.
- mvn scm-publish:publish-scm -Dscmpublish.pubScmUrl=scm:svn:https://svn.apache.org/repos/infra/websites/production/streams/content/site/${project.version}/${project.artifactId}
+ mvn scm-publish:publish-scm -Dscmpublish.pubScmUrl=scm:svn:https://svn.apache.org/repos/asf/incubator/streams/site/trunk/content/site/${project.version}/${project.artifactId}
You may need to provide -Dscmpublish.content= depending where the staging site directory winds up under target/
Note the revision number checked in at the bottom of the maven logs.
-You should now be able to access the published site(s) via an absolute URL such as http://streams.incubator.apache.org/site/${project.version}/${project.artifactId}
-
-For example, website documentation from a recent release:
+#### Updating the staging site
-* http://streams.incubator.apache.org/site/0.2-incubating/streams-project/index.html
+Next step is to update the staging site and check it out.
-Some recent snapshots:
+Log into https://cms.apache.org with your apache credentials.
-* http://streams.incubator.apache.org/site/0.3-incubating-SNAPSHOT/streams-master/index.html
-* http://streams.incubator.apache.org/site/0.3-incubating-SNAPSHOT/streams-project/index.html
-* http://streams.incubator.apache.org/site/0.2-incubating-SNAPSHOT/streams-examples/index.html
+Use https://cms.apache.org/streams to access the streams website.
-#### Promoting a new website version
+Typically you can use Get streams Working Copy, although you might need to Force if you run into conflicts in SVN.
-New release or snapshots are immediately published, but visitors to the website won't arrive there from standard links and navigation
-until it has been fully promoted.
-
-The instructions below presume:
+You'll probably need to 'Update this directory' if you want to inspect the changes you committed above.
-* you have a shell open in the SVN content directory
-* you know the artifactId and version of the repository you want to publish.
+'View Staging Builds' should show a build around the time of the previous commit. This means the change has been staged.
+
+You should now be able to access and review the published site(s) via the staging URL:
-The convention in place exposes the latest specific site version(s) using redirects maintained in the .htaccess file of project website SVN.
+* http://streams.staging.apache.org/
+
+At this point use explicit versions to access and review the new documentation, i.e.
-This file can be edited from https://cms.apache.org/streams/
+* http://streams.staging.apache.org/site/0.3-incubating-SNAPSHOT/streams-master/index.html
+* http://streams.staging.apache.org/site/0.3-incubating-SNAPSHOT/streams-project/index.html
+* http://streams.staging.apache.org/site/0.3-incubating-SNAPSHOT/streams-examples/index.html
-First, click 'Get streams Working Copy'
+#### Managing version pointers
-Next, open .htaccess
+When new versions of these sites are built for the first time, an additional set to alter Apache rules may be appropriate.
-If you are promoting sites from all streams repositories simultaneously, the file should end with:
+The convention we use exposes the latest specific site version(s) using redirects maintained in the .htaccess file of project website SVN.
- Redirect /site/latest/ /site/${project.version}
-
-If you want to expose sites hosted under different versions across streams repositories:
+These rules are located in the '.htaccess' file in the root of the SVN content directory and looks something like this:
+ Options +FollowSymLinks
+ RewriteEngine on
+ RedirectMatch "^/$" "/site/0.3-incubating-SNAPSHOT/streams-master"
+ Redirect /site/latest /site/0.3-incubating-SNAPSHOT
Redirect /site/latest/streams-master /site/0.3-incubating-SNAPSHOT/streams-master
- Redirect /site/latest/streams-project /site/0.2-incubating/streams-project
+ Redirect /site/latest/streams-project /site/0.3-incubating-SNAPSHOT/streams-project
Redirect /site/latest/streams-examples /site/0.3-incubating-SNAPSHOT/streams-examples
-Commit your changes.
+Adjust the Redirect rules as appropriate for the project and version you are deploying. You can do this directly from the CMS.
-Wait a few seconds and click Follow Staging Build.
+Commit your changes, wait a few seconds, click Follow Staging Build, and you should see a new build with a 'Build Successful' message.
+
+You should now be able to use 'latest' as an alias for the docs you are deploying, i.e.
+
+* http://streams.staging.apache.org/site/latest/streams-master/index.html
+* http://streams.staging.apache.org/site/latest/streams-project/index.html
+* http://streams.staging.apache.org/site/latest/streams-examples/index.html
+
+#### Promoting a new website version
-You should see a new build with a 'Build Successful' message.
+All that's left at this point is to promote from staging to production.
-Open a new tab and visit http://streams.staging.apache.org for one last check before go-live.
+If a release is happening, this should happen just prior to the release announcement.
+If you are just updating content associated with a snapshot, use good judgement to determine whether the list should have a chance to review
+and/or vote on the changes in staging prior to promotion.
http://git-wip-us.apache.org/repos/asf/incubator-streams-master/blob/2cd53890/src/site/site.xml
----------------------------------------------------------------------
diff --git a/src/site/site.xml b/src/site/site.xml
index da3c126..3e63fb7 100644
--- a/src/site/site.xml
+++ b/src/site/site.xml
@@ -86,12 +86,11 @@
<item name="Set up a local docker environment" href="tutorial/docker.html" />
<item name="Run a local database to store activity documents" href="tutorial/database.html" />
<item name="Run twitter-history-elasticsearch" href="http://streams.incubator.apache.org/site/latest/streams-examples/streams-examples-local/twitter-history-elasticsearch/index.html" />
- <item name="Run twitter-history-elasticsearch" href="http://streams.incubator.apache.org/site/latest/streams-examples/streams-examples-local/twitter-history-elasticsearch/index.html" />
</menu>
<menu name="Learn More">
<item name="Browse streams providers, processors, and persisters" href="http://streams.incubator.apache.org/site/latest/streams-project/streams-contrib/index.html" />
<item name="View the official Apache Streams jsonschema files" href="http://streams.incubator.apache.org/site/latest/streams-project/streams-pojo/index.html" />
- <item name="View java POJOs generated from the official Apache Streams jsonschema files" href="http://streams.incubator.apache.org/site/latest/streams-project/streams-contrib/streams-pojo/apidocs/index.html" />
+ <item name="View java POJOs generated from the official Apache Streams jsonschema files" href="http://streams.incubator.apache.org/site/latest/streams-project/streams-pojo/apidocs/org/apache/streams/pojo/json/package-summary.html" />
<item name="Check out some additional examples" href="http://streams.incubator.apache.org/site/latest/streams-examples/index.html" />
</menu>
<menu name="Other Resources">
http://git-wip-us.apache.org/repos/asf/incubator-streams-master/blob/2cd53890/src/site/site_en.xml
----------------------------------------------------------------------
diff --git a/src/site/site_en.xml b/src/site/site_en.xml
index cce4000..5e612eb 100644
--- a/src/site/site_en.xml
+++ b/src/site/site_en.xml
@@ -77,7 +77,7 @@
<item name="Website Management" href="website.html" />
</menu>
<menu name="Projects" inherit="top">
- <item name="streams-master" />
+ <item name="streams-master" href="http://streams.incubator.apache.org/site/latest/streams-master" />
<item name="streams-project" href="http://streams.incubator.apache.org/site/latest/streams-project" />
<item name="streams-examples" href="http://streams.incubator.apache.org/site/latest/streams-examples/" />
</menu>
@@ -91,7 +91,7 @@
<menu name="Learn More">
<item name="Browse streams providers, processors, and persisters" href="http://streams.incubator.apache.org/site/latest/streams-project/streams-contrib/index.html" />
<item name="View the official Apache Streams jsonschema files" href="http://streams.incubator.apache.org/site/latest/streams-project/streams-pojo/index.html" />
- <item name="View java POJOs generated from the official Apache Streams jsonschema files" href="http://streams.incubator.apache.org/site/latest/streams-project/streams-contrib/streams-pojo/apidocs/index.html" />
+ <item name="View java POJOs generated from the official Apache Streams jsonschema files" href="http://streams.incubator.apache.org/site/latest/streams-project/streams-pojo/apidocs/org/apache/streams/pojo/json/package-summary.html" />
<item name="Check out some additional examples" href="http://streams.incubator.apache.org/site/latest/streams-examples/index.html" />
</menu>
<menu name="Other Resources">
[16/22] incubator-streams-master git commit: round of improvements -
getting close
Posted by sb...@apache.org.
round of improvements - getting close
Project: http://git-wip-us.apache.org/repos/asf/incubator-streams-master/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-streams-master/commit/ff129ea8
Tree: http://git-wip-us.apache.org/repos/asf/incubator-streams-master/tree/ff129ea8
Diff: http://git-wip-us.apache.org/repos/asf/incubator-streams-master/diff/ff129ea8
Branch: refs/heads/master
Commit: ff129ea871bb0dd212fa429639c84d3eb10d97c4
Parents: 51456fb
Author: Steve Blackmon @steveblackmon <sb...@apache.org>
Authored: Tue Apr 26 16:09:17 2016 -0500
Committer: Steve Blackmon @steveblackmon <sb...@apache.org>
Committed: Tue Apr 26 16:09:17 2016 -0500
----------------------------------------------------------------------
pom.xml | 272 ++++++++++++++++++--
src/site/custom/project-info-report.properties | 2 +-
src/site/markdown/dependency-info.md | 2 +-
src/site/markdown/downloads.md | 7 +-
src/site/markdown/faq.md | 56 ++--
src/site/markdown/integration.md | 3 +-
src/site/markdown/release-setup.md | 32 +--
src/site/markdown/release.md | 50 ++--
src/site/markdown/source-repository.md | 3 +-
src/site/markdown/website.md | 8 +-
src/site/markdown/who.md | 10 +
src/site/resources/PPMC_Combined.txt | 37 +++
src/site/resources/example.dot | 74 ++----
src/site/site.xml | 17 +-
src/site/site_en.xml | 18 +-
15 files changed, 433 insertions(+), 158 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-streams-master/blob/ff129ea8/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 509161d..2d52ec3 100644
--- a/pom.xml
+++ b/pom.xml
@@ -270,7 +270,7 @@
<compiler.plugin.version>3.0</compiler.plugin.version>
<clean.plugin.version>2.6</clean.plugin.version>
<dependency.plugin.version>2.8</dependency.plugin.version>
- <depgraph.plugin.version>1.0.2</depgraph.plugin.version>
+ <depgraph.plugin.version>1.0.3</depgraph.plugin.version>
<docker.plugin.version>0.11.5-M1</docker.plugin.version>
<enforcer.plugin.version>1.3.1</enforcer.plugin.version>
<failsafe.plugin.version>2.17</failsafe.plugin.version>
@@ -279,7 +279,7 @@
<pax.plugin.version>1.5</pax.plugin.version>
<reflections.plugin.version>0.9.8</reflections.plugin.version>
<remote-resources.plugin.version>1.4</remote-resources.plugin.version>
- <reports.plugin.version>2.8.1</reports.plugin.version>
+ <reports.plugin.version>2.9</reports.plugin.version>
<resources.plugin.version>2.7</resources.plugin.version>
<scm.plugin.version>1.9.4</scm.plugin.version>
<shade.plugin.version>2.3</shade.plugin.version>
@@ -662,6 +662,237 @@
</build>
+ <dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>commons-io</groupId>
+ <artifactId>commons-io</artifactId>
+ <version>${commons-io.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>commons-codec</groupId>
+ <artifactId>commons-codec</artifactId>
+ <version>${commons-codec.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>commons-validator</groupId>
+ <artifactId>commons-validator</artifactId>
+ <version>${commons-validator.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.commons</groupId>
+ <artifactId>commons-lang3</artifactId>
+ <version>${commons-lang3.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.jsonschema2pojo</groupId>
+ <artifactId>jsonschema2pojo-core</artifactId>
+ <version>${jsonschema2pojo.version}</version>
+ <type>jar</type>
+ <scope>compile</scope>
+ <exclusions>
+ <exclusion>
+ <groupId>commons-logging</groupId>
+ <artifactId>commons-logging</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>com.typesafe</groupId>
+ <artifactId>config</artifactId>
+ <version>${typesafe.config.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.reflections</groupId>
+ <artifactId>reflections</artifactId>
+ <version>${reflections.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.hamcrest</groupId>
+ <artifactId>hamcrest-all</artifactId>
+ <version>${hamcrest.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>${junit.version}</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.mockito</groupId>
+ <artifactId>mockito-all</artifactId>
+ <version>${mockito.version}</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.powermock</groupId>
+ <artifactId>powermock</artifactId>
+ <version>${powermock.version}</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.powermock</groupId>
+ <artifactId>powermock-module-junit4</artifactId>
+ <version>${powermock.version}</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.powermock</groupId>
+ <artifactId>powermock-api-mockito</artifactId>
+ <version>${powermock.version}</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-api</artifactId>
+ <version>${slf4j.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-log4j12</artifactId>
+ <version>${slf4j.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>log4j-over-slf4j</artifactId>
+ <version>${slf4j.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>jcl-over-slf4j</artifactId>
+ <version>${slf4j.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>log4j</groupId>
+ <artifactId>log4j</artifactId>
+ <version>${log4j.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>ch.qos.logback</groupId>
+ <artifactId>logback-core</artifactId>
+ <version>${logback.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>ch.qos.logback</groupId>
+ <artifactId>logback-classic</artifactId>
+ <version>${logback.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>com.google.guava</groupId>
+ <artifactId>guava</artifactId>
+ <version>${guava.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>io.netty</groupId>
+ <artifactId>netty</artifactId>
+ <version>${netty.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>joda-time</groupId>
+ <artifactId>joda-time</artifactId>
+ <version>${joda-time.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>com.fasterxml.jackson.core</groupId>
+ <artifactId>jackson-core</artifactId>
+ <version>${jackson.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>com.fasterxml.jackson.core</groupId>
+ <artifactId>jackson-databind</artifactId>
+ <version>${jackson.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>com.fasterxml.jackson.core</groupId>
+ <artifactId>jackson-annotations</artifactId>
+ <version>${jackson.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>com.fasterxml.jackson.datatype</groupId>
+ <artifactId>jackson-datatype-joda</artifactId>
+ <version>${jackson.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>com.fasterxml.jackson.module</groupId>
+ <artifactId>jackson-module-scala_${scala.version}</artifactId>
+ <version>${jackson.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>com.fasterxml.jackson.dataformat</groupId>
+ <artifactId>jackson-dataformat-xml</artifactId>
+ <version>${jackson.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>com.fasterxml</groupId>
+ <artifactId>jackson-xml-databind</artifactId>
+ <version>${jackson-xml-databind.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>com.fasterxml.jackson.dataformat</groupId>
+ <artifactId>jackson-dataformat-yaml</artifactId>
+ <version>${jackson.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>com.fasterxml.jackson.datatype</groupId>
+ <artifactId>jackson-datatype-json-org</artifactId>
+ <version>${jackson.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>com.fasterxml</groupId>
+ <artifactId>aalto-xml</artifactId>
+ <version>${aalto.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>nz.net.ultraq.jaxb</groupId>
+ <artifactId>jaxb-utilities</artifactId>
+ <version>${jaxbutil.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.json</groupId>
+ <artifactId>json</artifactId>
+ <version>${orgjson.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.clojure</groupId>
+ <artifactId>clojure</artifactId>
+ <version>${clojure.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.clojure</groupId>
+ <artifactId>clojure-contrib</artifactId>
+ <version>${clojure.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.storm</groupId>
+ <artifactId>storm-core</artifactId>
+ <version>${storm.version}</version>
+ <scope>provided</scope>
+ </dependency>
+ <!-- JsonPath -->
+ <dependency>
+ <groupId>com.jayway.jsonpath</groupId>
+ <artifactId>json-path</artifactId>
+ <version>${json-path.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>com.jayway.jsonpath</groupId>
+ <artifactId>json-path-assert</artifactId>
+ <version>${json-path.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.zookeeper</groupId>
+ <artifactId>zookeeper</artifactId>
+ <version>${zookeeper.version}</version>
+ <exclusions>
+ <exclusion>
+ <groupId>log4j</groupId>
+ <artifactId>log4j</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ </dependencies>
+ </dependencyManagement>
+
<reporting>
<plugins>
<plugin>
@@ -671,24 +902,22 @@
<configuration>
<customBundle>${project.basedir}/src/site/custom/project-info-report.properties</customBundle>
<dependencyLocationsEnabled>false</dependencyLocationsEnabled>
+ <skipEmptyReport>false</skipEmptyReport>
</configuration>
<reportSets>
<reportSet>
<inherited>false</inherited>
- <reports><!-- select reports -->
- <!--<report>cim</report>-->
- <!--<report>scm</report>-->
- <report>license</report>
- <report>mailing-list</report>
- <report>project-team</report>
- <report>scm</report>
- <report>help</report>
- <report>issue-tracking</report>
- <report>dependencies</report>
- <report>dependency-info</report>
- <report>dependency-management</report>
- <report>distribution-management</report>
- <report>plugin-management</report>
+ <reports>
+ <report>license</report>
+ <report>mailing-list</report>
+ <report>project-team</report>
+ <report>scm</report>
+ <report>issue-tracking</report>
+ <report>dependencies</report>
+ <report>dependency-info</report>
+ <report>dependency-management</report>
+ <report>distribution-management</report>
+ <report>plugin-management</report>
</reports>
</reportSet>
</reportSets>
@@ -697,6 +926,7 @@
<artifactId>maven-site-plugin</artifactId>
<version>${site.plugin.version}</version>
<configuration>
+ <generateSitemap>true</generateSitemap>
<topSiteURL>scm:svn:https://svn.apache.org/repos/infra/websites/production/streams/content/site/${project.version}/${project.artifactId}</topSiteURL>
</configuration>
</plugin>
@@ -859,11 +1089,11 @@
</execution>
</executions>
</plugin>
- <plugin>
- <groupId>com.github.ferstl</groupId>
- <artifactId>depgraph-maven-plugin</artifactId>
- <version>${depgraph.plugin.version}</version>
- </plugin>
+ <!--<plugin>-->
+ <!--<groupId>com.github.ferstl</groupId>-->
+ <!--<artifactId>depgraph-maven-plugin</artifactId>-->
+ <!--<version>${depgraph.plugin.version}</version>-->
+ <!--</plugin>-->
</plugins>
</build>
<reporting>
http://git-wip-us.apache.org/repos/asf/incubator-streams-master/blob/ff129ea8/src/site/custom/project-info-report.properties
----------------------------------------------------------------------
diff --git a/src/site/custom/project-info-report.properties b/src/site/custom/project-info-report.properties
index d702f7d..49033c8 100644
--- a/src/site/custom/project-info-report.properties
+++ b/src/site/custom/project-info-report.properties
@@ -257,7 +257,7 @@ report.dependency-management.column.version = Version
report.dependency-management.column.classifier = Classifier
report.dependency-management.column.type = Type
report.dependency-management.column.license = License
-report.dependency-management.intro.compile = The following is a list of compile dependencies in the DependencyManagement of this project. These dependencies can be included in the submodules to compile and run the submodule:
+report.dependency-management.intro.compile = The following is a list of compile dependencies in the DependencyManagement of this project. These dependencies are used widely across many streams modules:
report.dependency-management.intro.provided = The following is a list of provided dependencies in the DependencyManagement of this project. These dependencies can be included in the submodules to compile the submodule, but should be provided by default when using the library:
report.dependency-management.intro.runtime = The following is a list of runtime dependencies in the DependencyManagement of this project. These dependencies can be included in the submodules to run the submodule:
report.dependency-management.intro.system = The following is a list of system dependencies in the DependencyManagement of this project. These dependencies can be included in the submodules to compile the submodule:
http://git-wip-us.apache.org/repos/asf/incubator-streams-master/blob/ff129ea8/src/site/markdown/dependency-info.md
----------------------------------------------------------------------
diff --git a/src/site/markdown/dependency-info.md b/src/site/markdown/dependency-info.md
index 97c6af6..b674b8a 100644
--- a/src/site/markdown/dependency-info.md
+++ b/src/site/markdown/dependency-info.md
@@ -10,7 +10,7 @@ You should *not* import streams-master (depicted below), because it does not do
Browse the "Project Modules" index of streams-project to find artifacts you might want to import.
-[streams-project-modules](http://streams.incubator.apache.org/site/0.2-incubating/streams-project/modules.html "http://streams.incubator.apache.org/site/0.2-incubating/streams-project/modules.html")
+[streams-project-modules](http://streams.incubator.apache.org/site/latest/streams-project/modules.html "http://streams.incubator.apache.org/site/latest/streams-project/modules.html")
<div class="section">
http://git-wip-us.apache.org/repos/asf/incubator-streams-master/blob/ff129ea8/src/site/markdown/downloads.md
----------------------------------------------------------------------
diff --git a/src/site/markdown/downloads.md b/src/site/markdown/downloads.md
index f1fae55..4d1857a 100644
--- a/src/site/markdown/downloads.md
+++ b/src/site/markdown/downloads.md
@@ -1,7 +1,8 @@
+## Downloads
+
All downloads can be verified using Apache Streams code signing.
-## Current Downloads
| Artifact | Version | Source | asc | md5 | sha1 |
-|---------|--------|
-| streams-project | 0.2-incubating | [zip](https://dist.apache.org/repos/dist/release/incubator/streams/releases/streams-project/streams-project/streams-project-0.2-incubating-source-release.zip) | [asc](https://dist.apache.org/repos/dist/release/incubator/streams/releases/0.2-incubating/streams-project/streams-project-0.2-incubating-source-release.zip.asc) | [md5](https://dist.apache.org/repos/dist/release/incubator/streams/releases/0.2-incubating/streams-project/streams-project-0.2-incubating-source-release.zip.md5) | [sha1](https://dist.apache.org/repos/dist/release/incubator/streams/releases/0.2-incubating/streams-project/streams-project-0.2-incubating-source-release.zip.sha1) |
+|----------|---------|
+| streams-project | 0.2-incubating | <a class="externalLink" href="https://dist.apache.org/repos/dist/release/incubator/streams/releases/streams-project/streams-project/streams-project-0.2-incubating-source-release.zip">zip</a> | <a class="externalLink" href="https://dist.apache.org/repos/dist/release/incubator/streams/releases/0.2-incubating/streams-project/streams-project-0.2-incubating-source-release.zip.asc">asc</a> | <a class="externalLink" href="https://dist.apache.org/repos/dist/release/incubator/streams/releases/0.2-incubating/streams-project/streams-project-0.2-incubating-source-release.zip.md5">md5</a> | <a class="externalLink" href="https://dist.apache.org/repos/dist/release/incubator/streams/releases/0.2-incubating/streams-project/streams-project-0.2-incubating-source-release.zip.sha1">sha1</a> |
http://git-wip-us.apache.org/repos/asf/incubator-streams-master/blob/ff129ea8/src/site/markdown/faq.md
----------------------------------------------------------------------
diff --git a/src/site/markdown/faq.md b/src/site/markdown/faq.md
index 0cb87b5..0fc950e 100644
--- a/src/site/markdown/faq.md
+++ b/src/site/markdown/faq.md
@@ -2,7 +2,13 @@
### Why should I adopt activity streams for my project?
-Odds are the dataset you are working with is some combination of timestamped events and observations of entities and their relationships at various points in time. Activity Streams provides a simple yet powerful standard format for these types of data, regardless of their origin, publisher, or specific details. Activity Streams is a community-driven specification designed for interoperability and flexibility. By supporting activity streams you maximize the chance that a new data-source of interest to you will be compatible with your existing data, and that your data will be compatible with that of other communities working on similar projects.
+Odds are the dataset you are working with is some combination of timestamped events and observations of entities and their relationships at various points in time. Activity Streams provides a simple yet powerful standard format for these types of data, regardless of their origin, publisher, or specific details. Activity Streams is a community-driven specification designed for interoperability and flexibility. By supporting activity streams you maximize the chance that a new data-source of interest to you will be compatible with your existing data, and that your data will be compatible with that of other communities working on similar projects.
+
+### What organizations exchange data in activity streams formats?
+
+A short list of organizations and products that support activity streams format is compiled [who](who.html "here").
+
+If your organization supports activity streams, please let us know on the project mailing list.
### Why should I consider using Apache Streams for my project?
@@ -25,11 +31,17 @@ Apache Streams is
Apache Streams is not
-* highly prescriptive or opinionated
* one-size-fits-all
+* prescriptive or opinionated about how it should be used
* only useful for projects fully dedicated to activity streams datasets
-The primary Streams git repository incubator-streams (org.apache.streams:streams-project) contains a library of modules inputs, outputs, and reusable components for transforming and enriching data streams. Similar modules can also be hosted externally - so long as they publish maven artifacts compatible with your version of streams, you can import and use them in your streams easily.
+The primary Streams git repository incubator-streams (org.apache.streams:streams-project) contains
+
+* core interfaces and utilities
+* plugins for transforming schemas into source code and other artifacts
+* a library of modules for acquiring, transforming, and enriching data streams.
+
+Similar modules can also be hosted externally - so long as they publish maven artifacts compatible with your version of streams, you can import and use them in your streams easily.
The streams community also supports a separate repository incubator-streams-examples (org.apache.streams:streams-examples) which contains a library of simple streams that are 'ready-to-run'. Look here to see what Streams user code look like.
@@ -41,19 +53,23 @@ Frameworks make important but boring parts of systems and code just work so your
If you are sure you can write code that is some combination of faster, more readable, better tested, easier to learn, easier to build with, or more maintainable than any existing framework (including Streams), maybe you should.
-On the other hand, maybe you are under-estimating how difficult it will be to optimize across these factors and continuous improving those libraries.
+But you are probably under-estimating how difficult it will be to optimize across all of these considerations, stay current with upgrades to underlying libraries, and fix whatever bugs are discovered.
-Or maybe your time is just more valuable focused on your product rather than on plumbing.
+Or maybe you are capable of doing it all flawlessly, but your time is just more valuable focused on your product rather than on plumbing
-Or maybe by joining forces with others who have more than just a passing interest in running water, everyone can run better, faster, stronger code assembled with expertise including your own.
+By joining forces with others who care about clean running water, everyone can run better, faster, stronger code: assembled with more diverse expertise for and tested in use cases beyond your own.
### How is streams different than "*processing framework*"?
-You don't have to look hard to find great data processing frameworks for batch or for real-time. Storm, Spark, Samza, Flink, and Google Cloud Dataflow (soon-to-be Apache Beam) are mature and well-documented. NiFi and Apex are interesting new options. At the core these platforms help you specify inputs, outputs, and a directed graph of computation and then run your code at scale.
+You don't have to look hard to find great data processing frameworks for batch or for real-time. Pig, Hive, Storm, Spark, Samza, Flink, and Google Cloud Dataflow (soon-to-be Apache Beam) are all great. Apex and NiFi are interesting newer options. And this list only Apache Foundation JVM projects!
+
+At the core these platforms help you specify inputs, outputs, and a directed graph of computation and then run your code at scale.
-Streams supports a similar computational model, but is more focused on intelligently modeling the data that will flow through the stream than on stream execution. In this sense Streams is an alternative to avro or protocol buffers which prioritizes flexibility, expressivity, interoperability, and tooling ahead of speed or compute efficiency.
+Streams use this computational model as well, but is more focused on intelligently and correctly modeling the data that will flow through the stream than on stream execution. In this sense Streams is an alternative to avro or protocol buffers - one which prioritizes flexibility, expressivity, interoperability, and tooling ahead of speed or compute efficiency.
-Streams also seeks to make it easy to design and evolve streams, and to configure complex streams sensibly. Where many processing frameworks leave all business logic and configuration issues to the developer, streams modules are designed to mix-and-match. Streams modules expect to be embedded with other frameworks and are organized to make that process painless.
+Streams seeks to make it easy to design and evolve streams, and to configure complex streams sensibly. Where many processing frameworks leave all business logic and configuration issues to the developer, streams modules are designed to mix-and-match. Streams modules expect to be embedded with other frameworks and are organized to make that process painless.
+
+Streams also contains a library of plug-and-play data providers to collect and normalize data from a variety of popular sources.
### How do I deploy Streams?
@@ -67,8 +83,6 @@ Alternatively, components written to streams interfaces can be bound within othe
Absolutely - and that will work great right up until the point where the requirements, the tools, or the way you want to index your data need to change.
-A better long-term approach is to archive each data series you observe, and label each piece of data by source, connector, connector version, and execution. Once data is 'under management' in it's original form, normalize it into a format that fits your application with a set of core fields you don't ever expect to change. Then add metadata piece by piece using code and APIs managed by you and/or third-parties. Write these finished data points sequentially or simultaneouly to all of the places from which your applications will look them up.
-
### What if I need data from "*specific API*"?
No problem - anyone can write a Streams provider. The project contains providers that use a variety of strategies to generate near-real-time data streams, including:
@@ -78,7 +92,7 @@ No problem - anyone can write a Streams provider. The project contains provider
* polling
* scraping
-Providers can run continuously and pass-through new data, or they can work sequentially through a backlog of items. If you need to collect so many items that you can't fit all of their ids in the memory available to your stream, a stream provider can read an arbitrarily long sequence of ids and hand those off to other providers for collection.
+Providers can run continuously and pass-through new data, or they can work sequentially through a backlog of items. If you need to collect so many items that you can't fit all of their ids in the memory available to your stream, it's pretty simple to sub-divide your backlog into small batches and launch a series of providers for collection using frameworks such as Flink or Spark Streaming.
### What if I want to keep data in "*unsupported database*"?
@@ -92,15 +106,25 @@ If you just want to use streams providers to collect and feed incoming data into
### Can't I just use "*third-party SDK*" to do the same thing?
-For any specific data collection, processing, or storage function there are several if not tens of basic implementations on GitHub. There may be language-specific libraries published by a vendor backing the technology in question.
+Describe any specific data collection, processing, or storage function and there are probably several if not tens of basic implementations on GitHub. There may even be language-specific libraries published by a vendor with a commercial interest in a related technology.
+
+However, in general there are a set of tradeoffs involved when relying on these packages.
-However, in general there are a set of tradeoffs involved relying on these package. They often have transitive dependencies. They may not use performant HTTP and JSON libraries. The object representations and lifecycle mechanisms they provide may not be consistent with the rest of your code. They may source configuration properties in a problematic or cumbersome fashion. Their licenses may be restrictive or undocumented.
+* They often have transitive dependencies.
+* They may not use performant HTTP and JSON libraries.
+* The object representations and lifecycle mechanisms they provide may not be consistent with the rest of your code.
+* They may source configuration properties in a problematic or cumbersome fashion.
+* Their licenses may be restrictive or undocumented.
-Streams goes to great lengths to regularize many of these issues so they are uniform across existing modules, and easy to reuse within new modules. Where quality java libraries exist, their most useful parts may be included within a streams module, while parts of their classpath are excluded.
+Streams goes to great lengths to regularize many of these issues so that they are uniform across project modules, and easy to reuse within new and external modules.
+
+Where quality java libraries exist, their most useful parts may be included within a streams module, with unnecessary or difficult parts of their dependency tree excluded.
### Where do I start?
-Navigate the list of 'Getting Started' recommendations in order to get up and running with streams.
+Work your way through the list of 'Tutorial' items above to get up and running with streams.
+
+Then browse the 'Getting Started' items to learn more about how streams works and why.
### How can I help?
http://git-wip-us.apache.org/repos/asf/incubator-streams-master/blob/ff129ea8/src/site/markdown/integration.md
----------------------------------------------------------------------
diff --git a/src/site/markdown/integration.md b/src/site/markdown/integration.md
index 5a79b5b..fe1b367 100644
--- a/src/site/markdown/integration.md
+++ b/src/site/markdown/integration.md
@@ -1,4 +1,5 @@
-##Overview
+## Continuous Integration
+
This project uses [Jenkins](http://jenkins-ci.org/ "Jenkins") for continuous integration.
###streams-master
http://git-wip-us.apache.org/repos/asf/incubator-streams-master/blob/ff129ea8/src/site/markdown/release-setup.md
----------------------------------------------------------------------
diff --git a/src/site/markdown/release-setup.md b/src/site/markdown/release-setup.md
index bde255b..1638643 100644
--- a/src/site/markdown/release-setup.md
+++ b/src/site/markdown/release-setup.md
@@ -9,28 +9,23 @@ Developers using Linux workstations can skip over the references to Cygwin. If u
1. Open a shell window. If using Windows, open a cygwin window.
2. Use ssh-keygen to create an SSH key.
- Follow the latest steps and guides on the [ASF website](http://www.apache.org/dev/openpgp.html#generate-key) as you should **NOT** be using SHA1 and new keys **MUST** be at least 4096 bits.
-
ssh-keygen -t rsa -b 4096
- Program defaults should be fine. No passphrase is required for the ssh key generation. The keys will be saved in ~/.ssh/id_dsa (private) and ~/.ssh/id_dsa.pub (public).
-
- See [Authenticating By Public Key (OpenSSH)](http://www.networknewz.com/networknewz-10-20030707AuthenticatingbyPublicKeyOpenSSH.html) for a good description on why and how to perform this task.
-
+ - Follow the latest steps and guides on the [ASF website](http://www.apache.org/dev/openpgp.html#generate-key) as you should **NOT** be using SHA1 and new keys **MUST** be at least 4096 bits.
+ - Program defaults should be fine. No passphrase is required for the ssh key generation. The keys will be saved in ~/.ssh/id_dsa (private) and ~/.ssh/id_dsa.pub (public).
+ - See [Authenticating By Public Key (OpenSSH)](http://www.networknewz.com/networknewz-10-20030707AuthenticatingbyPublicKeyOpenSSH.html) for a good description on why and how to perform this task.
3. SCP your SSH public key ~/.ssh/id_dsa.pub created in last step to ~/id_dsa.pub on people.apache.org.
-
+
cd ~/.ssh
scp id_dsa.pub <your userid>@people.apache.org:id_dsa.pub
-You will be prompted for your password.
-
+ - You will be prompted for your password.
4. Use ssh to login to people.apache.org
cd ~
ssh <your userid>@people.apache.org
- At this point, you will still be prompted for your password.
-
+ - At this point, you will still be prompted for your password.
5. Create a ~/.ssh folder in your home directory on people.apache.org and change its file mode to 700.
mkdir ~/.ssh
@@ -41,16 +36,16 @@ You will be prompted for your password.
mv ~/id_dsa.pub ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
- * *Each public key in the authorized_keys spans only one line.
- * For example: "ssh-dss AAAAB3NzaC1kc3MAAA ..... agBmmfZ9uAbSqA== dsa-key-20071107"
- * '#' in the first column is a comment line.*
+ - Each public key in the authorized_keys spans only one line. For example: "ssh-dss AAAAB3NzaC1kc3MAAA ..... agBmmfZ9uAbSqA== dsa-key-20071107"
+ - *'#' in the first column is a comment line.*
7. Exit out of this ssh session.
+
8. Start a new ssh session. No login should be required this time due to the private ssh key on your local box matching up with the public ssh key in your home directory (~/.ssh).
ssh <userid>@people.apache.org
- *If you are still prompted for a password, then you have not set up the ssh keys properly. Review the steps above and ensure that all of the steps were followed properly. Or, maybe the instructions are still not quite right and they still need some adjusting. In that case, please update the instructions accordingly.*
+ - If you are still prompted for a password, then you have not set up the ssh keys properly. Review the steps above and ensure that all of the steps were followed properly. Or, maybe the instructions are still not quite right and they still need some adjusting. In that case, please update the instructions accordingly.*
####Create a GPG key
@@ -59,10 +54,9 @@ You will be prompted for your password.
gpg --gen-key
- The program's default values should be fine. For the "Real Name" enter your full name (ie. Stan Programmer). For the "e-mail address" enter your apache address (ie. sprogrammer@apache.org). You will also be required to enter a "passphrase" for the GPG key generation. Keep track of this as you will need this for the Release processing.
-
- * *The generated keys are stored in $HOME/.gnupg or %HOME%\Application Data\gnupg subdirectory.*
- * *Save the content in this subdirectory to a safe media. This contains your private key used to sign all the Streams release materials.*
+ - The program's default values should be fine. For the "Real Name" enter your full name (ie. Stan Programmer). For the "e-mail address" enter your apache address (ie. sprogrammer@apache.org). You will also be required to enter a "passphrase" for the GPG key generation. Keep track of this as you will need this for the Release processing.
+ - *The generated keys are stored in $HOME/.gnupg or %HOME%\Application Data\gnupg subdirectory.*
+ - *Save the content in this subdirectory to a safe media. This contains your private key used to sign all the Streams release materials.*
3. Backup your home directory to another media ||
4. Add your public key to the [SVN repository](https://svn.apache.org/repos/asf/incubator/streams/KEYS). See the commands describe at the beginning of this KEYS file to perform this task. The gpg key-pair is used to sign the published artifacts for the Streams releases.
http://git-wip-us.apache.org/repos/asf/incubator-streams-master/blob/ff129ea8/src/site/markdown/release.md
----------------------------------------------------------------------
diff --git a/src/site/markdown/release.md b/src/site/markdown/release.md
index 0896b7a..6f8563a 100644
--- a/src/site/markdown/release.md
+++ b/src/site/markdown/release.md
@@ -1,10 +1,22 @@
-###Release Process
+##Release Process
There are two distinct sets of artifacts that are released on independent schedules: streams-master & streams-project. The streams-master is the project metadata and only needs to be released when there is a change in the structure of the project itself. The streams-project artifacts are comprised of all streams source code, binaries and a standalone demo. For release setup information, refer to [Release Setup Information](/release-setup.html).
-All of the steps below apply to both the master and project releases, unless otherwise specified. As an alternative to releasing separately, the projects MAY be released together as one combined release. The steps for this can be found below. ([Combined Release Steps](#combined))
+All of the steps below apply to all streams repository releases, unless otherwise specified. As an alternative to releasing separately, the projects MAY be released together as one combined release. The steps for this can be found below. ([Combined Release Steps](#combined))
-####Common Release Steps
+NOTE:
+
+Releases should always be built and published in the following order:
+
+* streams-master
+* streams-project
+* streams-examples
+
+In the instructions below, ${project.name} should be one of these top-level repository aggregator pom project names.
+
+As an alternative to releasing separately, the projects MAY be released together as one combined release. The steps for this can be found below. (Combined Release Steps)
+
+###Common Release Steps
1. Environment setup for releasing artifacts (same for SNAPSHOTs and releases)
@@ -28,8 +40,8 @@ All of the steps below apply to both the master and project releases, unless oth
3. Create a release candidate branch from master.
X should start at 1 and increment if early release candidates fail to complete the release cycle.
- git checkout master
- git branch {$project.version}-rcX
+ git checkout master
+ git branch ${project.name}-${project.version}-rcX
4. Verify the source has the required license headers before trying to release:
@@ -39,16 +51,16 @@ All of the steps below apply to both the master and project releases, unless oth
mvn -P apache-release release:prepare -DautoVersionSubmodules=true -DdryRun=true
- The dry run will not commit any changes back to SCM and gives you the opportunity to verify that the release process will complete as expected. You will be prompted for the following information :
+ - The dry run will not commit any changes back to SCM and gives you the opportunity to verify that the release process will complete as expected. You will be prompted for the following information :
- * Release version - take the default (should be ${project.version}-incubating)
- * SCM release tag - *DO NOT TAKE THE DEFAULT* - ${project.version}-rcX
- * New development version - take the default (should be ${project.version}-incubating-SNAPSHOT)
- * GPG Passphrase
+ * Release version - take the default (should be ${project.version}-incubating)
+ * SCM release tag - *DO NOT TAKE THE DEFAULT* - ${project.artifactId}-${project.version}-rcX
+ * New development version - take the default (should be ${project.version}-incubating-SNAPSHOT)
+ * GPG Passphrase
- *If you cancel a release:prepare before it updates the pom.xml versions, then use the release:clean goal to just remove the extra files that were created.*
+ - *If you cancel a release:prepare before it updates the pom.xml versions, then use the release:clean goal to just remove the extra files that were created.*
- The Maven release plugin checks for SNAPSHOT dependencies in pom's. It will not complete the prepare goal until all SNAPSHOT dependencies are resolved.
+ - The Maven release plugin checks for SNAPSHOT dependencies in pom's. It will not complete the prepare goal until all SNAPSHOT dependencies are resolved.
6. Verify that the release process completed as expected
1. The release plugin will create pom.xml.tag files which contain the changes that would have been committed to SVN. The only differences between pom.xml.tag and it's corresponding pom.xml file should be the version number.
@@ -112,14 +124,14 @@ All of the steps below apply to both the master and project releases, unless oth
3. Create an official release tag from the successful release candidate tag.
- git checkout streams-project-${project.version}-rcX
- git tag -a streams-project-${project.version} -m 'release tag streams-project-${project.version}'
+ git checkout ${project.name}-${project.version}-rcX
+ git tag -a ${project.name}-${project.version} -m 'release tag ${project.name}-${project.version}'
git push origin :refs/tags/streams-project-${project.version}
4. Update the staged website
- * Update the downloads page to add new version using the mirrored URLs
+ * Update the downloads page (downloads.md) to add new version using the mirrored URLs
* Modify the URL for the prior release to the archived URL for the release
- 5. Publish the website
+ 5. Publish the website (see [website](website.html "Website Management")
* WAIT 24hrs after committing releases for mirrors to replicate
* Publish updates to the download page
6. Delete the prior versions
@@ -129,7 +141,7 @@ All of the steps below apply to both the master and project releases, unless oth
14. Update the JIRA versions page to close all issues, mark the version as "released", and set the date to the date that the release was approved. You may also need to make a new release entry for the next release.
15. Announcing the release
* Make a news announcement on the streams homepage.
- * Make an announcement about the release on the users@streams.apache.org, dev@streams.apache.org, and announce@apache.org list as per the Apache Announcement Mailing Lists page)
+ * Make an announcement about the release on the dev@streams.incubator.apache.org, and announce@incubator.apache.org list as per the Apache Announcement Mailing Lists page)
####Recovering from a vetoed release
@@ -176,9 +188,9 @@ gpg: Signature made ...
####Combined Release
In order to perform a combined release of the streams-master and streams-project trunks, do the following:
- * Perform Steps 1-9 of the [release](#release-steps) for streams Master & streams Project
+ * Perform Steps 1-9 of the [release](#release-steps) for streams-master, streams-project, and streams-examples
* Do NOT perform step 10 until steps 1-9 have been completed for BOTH projects
* Build the streams-master FIRST
- * When prompted to change the streams-project dependency on streams-master SNAPSHOT, do so to the release that you just built
+ * When prompted to change dependencies on SNAPSHOTs, do so to the corresponding releases that you just built
* Execute the remaining steps using the following e-mail templates
* [PMC Release Vote](PPMC_Combined.txt)
http://git-wip-us.apache.org/repos/asf/incubator-streams-master/blob/ff129ea8/src/site/markdown/source-repository.md
----------------------------------------------------------------------
diff --git a/src/site/markdown/source-repository.md b/src/site/markdown/source-repository.md
index fe6f8b2..8f817fa 100644
--- a/src/site/markdown/source-repository.md
+++ b/src/site/markdown/source-repository.md
@@ -1,4 +1,5 @@
-##Overview
+## Source Repositories
+
This project uses [Git](http://git.org/ "Git") for source control.
Only project committers are permitted to push to git-wip-us.apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-streams-master/blob/ff129ea8/src/site/markdown/website.md
----------------------------------------------------------------------
diff --git a/src/site/markdown/website.md b/src/site/markdown/website.md
index 65826ea..b56ffc6 100644
--- a/src/site/markdown/website.md
+++ b/src/site/markdown/website.md
@@ -1,10 +1,10 @@
-### Website Information
+## Website Management
http://streams.incubator.apache.org is a set of interconnected websites generated
by the maven site plugin. The front page, this page, and most pages linked in the
top nav of the site are part of incubator-streams-master.
-#### Website Content
+### Website Content
Pages, diagrams, and other hard-linkable resources are stored throughout the source tree.
@@ -34,7 +34,7 @@ they can be linked to across projects and in external projects.
This allows users to import HOCON from modules outside their sphere of control and adapt to changes upstream.
-### Website Changes
+### Website Updates
The project website(s) are hosted by the Apache foundation and updated via SVN.
@@ -108,7 +108,7 @@ Next, generate SVG resources for all DOT diagrams in the source tree
Then, generate the site that will be published
- mvn clean site:site site:stage
+ mvn clean install -Dmaven.test.skip.exec=true site:site site:stage
At this point you can open target/staging/index.html and do a sanity check on the site you intend to publish.
http://git-wip-us.apache.org/repos/asf/incubator-streams-master/blob/ff129ea8/src/site/markdown/who.md
----------------------------------------------------------------------
diff --git a/src/site/markdown/who.md b/src/site/markdown/who.md
new file mode 100644
index 0000000..ae55ea2
--- /dev/null
+++ b/src/site/markdown/who.md
@@ -0,0 +1,10 @@
+### Who uses activity streams?
+
+| Organization (Product) | Reference |
+|------------------------|-----------|
+| Atlassian (JIRA) | [jira](https://developer.atlassian.com/docs/atlassian-platform-common-components/activity-streams/consuming-an-activity-streams-feed "Consuming an Activity Streams Feed") |
+| Google (Google Plus) | [google](https://developers.google.com/+/web/api/rest/latest/activities#resource-representations "Google+ Platform for Web") |
+| IBM | [ibm](https://developer.ibm.com/open/activity-streams/ "Activity Streams") |
+| Twitter (Gnip) | [gnip](http://support.gnip.com/articles/activity-streams-intro.html "Activity Streams Intro") |
+
+If your organization supports activity streams, please let us know on the project mailing list.
http://git-wip-us.apache.org/repos/asf/incubator-streams-master/blob/ff129ea8/src/site/resources/PPMC_Combined.txt
----------------------------------------------------------------------
diff --git a/src/site/resources/PPMC_Combined.txt b/src/site/resources/PPMC_Combined.txt
new file mode 100644
index 0000000..cf2a03d
--- /dev/null
+++ b/src/site/resources/PPMC_Combined.txt
@@ -0,0 +1,37 @@
+to: streams-dev@incubator.apache.org
+subject: [VOTE] Apache Streams 0.1-incubating Release Candidate
+
+I've created a combined ${release.version} release candidate, with the
+following artifacts up for a vote:
+
+SVN source tag (r${release.master.revision}):
+https://svn.apache.org/repos/asf/rave/rave-master-pom/tags/${release.version}/
+
+SVN source tag (r${release.project.revision}):
+
+https://svn.apache.org/repos/asf/rave/tags/${release.version}/
+
+Maven staging repo:
+https://repository.apache.org/content/repositories/${release.master.repository}/
+https://repository.apache.org/content/repositories/${release.project.repository}/
+
+
+Source releases:
+https://repository.apache.org/content/repositories/${release.master.repository}/org/apache/rave/rave-master/0.1-incubating/rave-master-0.1-incubating-source-release.zip
+https://repository.apache.org/content/repositories/${release.project.repository}/org/apache/rave/rave-project/0.1-incubating/rave-project-0.1-incubating-source-release.zip
+
+Demo Artifacts
+http://people.apache.org/builds/incubator/rave/${release.version}/rave-${release.version}-bin.tar.gz
+http://people.apache.org/builds/incubator/rave/${release.version}/rave-${release.version}-bin.zip
+
+PGP release keys:
+https://svn.apache.org/repos/asf/rave/KEYS
+
+Please take the time to verify the artifacts before casting your vote.
+
+Vote will be open for 72 hours.
+
+[ ] +1 approve
+[ ] +0 no opinion
+[ ] -1 disapprove (and reason why)
+
http://git-wip-us.apache.org/repos/asf/incubator-streams-master/blob/ff129ea8/src/site/resources/example.dot
----------------------------------------------------------------------
diff --git a/src/site/resources/example.dot b/src/site/resources/example.dot
index 5b97773..941258b 100644
--- a/src/site/resources/example.dot
+++ b/src/site/resources/example.dot
@@ -9,26 +9,12 @@ digraph g {
subgraph cluster_generators {
label="generators";
- generators_twitter [label="https://api.twitter.com"]
- generators_facebook [label="https://api.facebook.com"]
generators_youtube [label="https://api.youtube.com"]
generators_instagram [label="https://api.instagram.com"]
}
subgraph cluster_providers {
label="providers";
- subgraph cluster_providers_twitter {
- label="twitter";
- providers_twitter_userstream [label="TwitterUserstreamProvider"]
- providers_twitter_userinfo [label="TwitterUserInformationProvider"]
- providers_twitter_timeline [label="TwitterTimelineProvider"]
- providers_twitter_following [label="TwitterFollowingProvider"]
- }
- subgraph cluster_providers_facebook {
- label="facebook";
- providers_facebook_page [label="FacebookPageProvider"]
- providers_facebook_pagefeed [label="FacebookPageFeedDataCollector"]
- }
subgraph cluster_providers_youtube {
label="youtube";
providers_youtube_channel [label="YoutubeChannelProvider"]
@@ -43,10 +29,6 @@ digraph g {
subgraph cluster_processors {
label="processors";
- processors_twitter_activity [label="ActivityConverterProcessor"]
- processors_twitter_activityobject [label="ActivityObjectConverterProcessor"]
- processors_facebook_activity [label="FacebookPageActivitySerializer"]
- processors_facebook_activityobject [label="FacebookPostActivitySerializer"]
processors_youtube_activity [label="YoutubeTypeConverter"]
processors_youtube_activityobject [label="YoutubeTypeConverter"]
processors_instagram_activity [label="InstagramTypeConverter"]
@@ -55,40 +37,28 @@ digraph g {
subgraph cluster_persisters_1 {
label="persisters";
- persisters_kinesis_writer_activity [label="KinesisPersistWriter"]
- persisters_kinesis_writer_activityobject [label="KinesisPersistWriter"]
+ persisters_kinesis_writer [label="KinesisPersistWriter"]
+ persisters_kinesis_writer [label="KinesisPersistWriter"]
}
+ subgraph cluster_queues {
+ label="queues";
+ kinesis [label="kinesis://" shape="box"]
+ }
subgraph cluster_persisters_2 {
label="persisters";
persisters_elasticsearch [label="ElasticsearchPersistWriter"]
- persisters_graph [label="GraphPersistWriter"]
persisters_hdfs [label="WebHdfsPersistWriter"]
- persisters_kinesis_reader_activity [label="KinesisPersistReader"]
- persisters_kinesis_reader_activityobject [label="KinesisPersistReader"]
+ persisters_kinesis_reader [label="KinesisPersistReader"]
+ persisters_kinesis_reader [label="KinesisPersistReader"]
}
subgraph cluster_dbs {
label="dbs";
elasticsearch [label="elasticsearch"]
hdfs [label="hdfs"]
- neo4j [label="neo4j"]
}
- generators_twitter -> providers_twitter_userstream
- generators_twitter -> providers_twitter_timeline
- generators_twitter -> providers_twitter_following
- generators_twitter -> providers_twitter_userinfo
- providers_twitter_userinfo -> processors_twitter_activityobject [label="o.a.s.t.User"]
- providers_twitter_userstream -> processors_twitter_activity [label="o.a.s.t.Tweet"]
- providers_twitter_timeline -> processors_twitter_activity [label="o.a.s.t.Tweet"]
- providers_twitter_following -> processors_twitter_activity [label="o.a.s.t.Follow"]
-
- generators_facebook -> providers_facebook_page
- generators_facebook -> providers_facebook_pagefeed
- providers_facebook_page -> processors_facebook_activityobject [label="o.a.s.f.Page"]
- providers_facebook_pagefeed -> processors_facebook_activity [label="o.a.s.f.Post\no.a.s.f.Comment"]
-
generators_youtube -> providers_youtube_channel
generators_youtube -> providers_youtube_video
providers_youtube_channel -> processors_youtube_activityobject [label="o.a.s.y.Channel"]
@@ -99,26 +69,18 @@ digraph g {
providers_instagram_userinfo -> processors_instagram_activityobject [label="o.a.s.i.UserInfoData"]
providers_instagram_media -> processors_instagram_activity [label="o.a.s.i.MediaFeedData"]
- processors_twitter_activityobject -> persisters_kinesis_writer_activityobject [label="o.a.s.p.j.Page"]
- processors_twitter_activity -> persisters_kinesis_writer_activity [label="o.a.s.p.j.Post\no.a.s.p.j.Share\no.a.s.p.j.Follow"]
- processors_facebook_activityobject -> persisters_kinesis_writer_activityobject [label="o.a.s.p.j.Page"]
- processors_facebook_activity -> persisters_kinesis_writer_activity [label="o.a.s.p.j.Post\no.a.s.p.j.Comment"]
- processors_youtube_activityobject -> persisters_kinesis_writer_activityobject [label="o.a.s.p.j.Page"]
- processors_youtube_activity -> persisters_kinesis_writer_activity [label="o.a.s.p.j.Video\no.a.s.p.j.Comment"]
- processors_instagram_activityobject -> persisters_kinesis_writer_activityobject [label="o.a.s.p.j.Page"]
- processors_instagram_activity -> persisters_kinesis_writer_activity [label="o.a.s.p.j.Photo\no.a.s.p.j.Video\no.a.s.p.j.Comment"]
+ processors_youtube_activityobject -> persisters_kinesis_writer [label="o.a.s.p.j.Page"]
+ processors_youtube_activity -> persisters_kinesis_writer [label="o.a.s.p.j.Video\no.a.s.p.j.Comment"]
+ processors_instagram_activityobject -> persisters_kinesis_writer [label="o.a.s.p.j.Page"]
+ processors_instagram_activity -> persisters_kinesis_writer [label="o.a.s.p.j.Photo\no.a.s.p.j.Video\no.a.s.p.j.Comment"]
- persisters_kinesis_writer_activity -> kinesis -> persisters_kinesis_reader_activity [label="o.a.s.p.j.Activity"]
- persisters_kinesis_writer_activityobject -> kinesis -> persisters_kinesis_reader_activityobject [label="o.a.s.p.j.ActivityObject"]
+ persisters_kinesis_writer -> kinesis -> persisters_kinesis_reader [label="o.a.s.p.j.Activity"]
+ persisters_kinesis_writer -> kinesis -> persisters_kinesis_reader [label="o.a.s.p.j.ActivityObject"]
- persisters_kinesis_reader_activity -> persisters_elasticsearch
- persisters_kinesis_reader_activity -> persisters_hdfs
- persisters_kinesis_reader_activity -> persisters_graph
- persisters_kinesis_reader_activityobject -> persisters_elasticsearch
- persisters_kinesis_reader_activityobject -> persisters_hdfs
+ persisters_kinesis_reader -> persisters_elasticsearch
+ persisters_kinesis_reader -> persisters_hdfs
- persisters_elasticsearch -> elasticsearch
- persisters_hdfs -> hdfs
- persisters_graph -> neo4j
+ persisters_elasticsearch -> elasticsearch [label="es://"]
+ persisters_hdfs -> hdfs [label="hdfs://"]
}
http://git-wip-us.apache.org/repos/asf/incubator-streams-master/blob/ff129ea8/src/site/site.xml
----------------------------------------------------------------------
diff --git a/src/site/site.xml b/src/site/site.xml
index fbe2ff1..f958930 100644
--- a/src/site/site.xml
+++ b/src/site/site.xml
@@ -68,20 +68,13 @@
<item name="Plugin Management" href="plugin-management.html" />
<item name="Release Setup" href="release-setup.html" />
<item name="Release Process" href="release.html" />
+ <item name="Website Management" href="website.html" />
</menu>
<menu name="Projects">
<item name="streams-master" />
<item name="streams-project" href="http://streams.incubator.apache.org/site/latest/streams-project" />
<item name="streams-examples" href="http://streams.incubator.apache.org/site/latest/streams-examples/" />
</menu>
- <menu name="Getting Started">
- <item name="View the official Apache Streams jsonschema files" href="http://streams.incubator.apache.org/site/latest/streams-project/streams-pojo/index.html" />
- <item name="View the schemas that describe twitter data" href="http://streams.incubator.apache.org/site/latest/streams-project/streams-contrib/streams-provider-twitter/index.html" />
- <item name="Read about twitter / streams conversion" href="http://streams.incubator.apache.org/site/latest/streams-project/streams-contrib/index.html" />
- <item name="Learn about utility streams components" href="http://streams.incubator.apache.org/site/latest/streams-project/streams-components/index.html" />
- <item name="Learn about streams interoperability modules" href="http://streams.incubator.apache.org/site/latest/streams-project/streams-contrib/index.html" />
- <item name="Browse streams providers, processors, and persisters" href="http://streams.incubator.apache.org/site/latest/streams-project/streams-contrib/index.html" />
- </menu>
<menu name="Tutorial">
<item name="Build streams and streams-examples from source" href="tutorial/build.html" />
<item name="Create a local folder to configure streams" href="tutorial/environment.html"/>
@@ -90,6 +83,14 @@
<item name="Run twitter-history-elasticsearch" href="http://streams.incubator.apache.org/site/latest/streams-examples/streams-examples-local/twitter-history-elasticsearch/index.html" />
<item name="Browse and search the twitter data you collected" href="tutorial/browse.html" />
</menu>
+ <menu name="Getting Started">
+ <item name="View the official Apache Streams jsonschema files" href="http://streams.incubator.apache.org/site/latest/streams-project/streams-pojo/index.html" />
+ <item name="View the schemas that describe twitter data" href="http://streams.incubator.apache.org/site/latest/streams-project/streams-contrib/streams-provider-twitter/index.html" />
+ <item name="Read about twitter / streams conversion" href="http://streams.incubator.apache.org/site/latest/streams-project/streams-contrib/index.html" />
+ <item name="Learn about utility streams components" href="http://streams.incubator.apache.org/site/latest/streams-project/streams-components/index.html" />
+ <item name="Learn about streams interoperability modules" href="http://streams.incubator.apache.org/site/latest/streams-project/streams-contrib/index.html" />
+ <item name="Browse streams providers, processors, and persisters" href="http://streams.incubator.apache.org/site/latest/streams-project/streams-contrib/index.html" />
+ </menu>
<menu name="Other Resources">
<item name="ActivityStreams Homepage" href="http://activitystrea.ms" />
<item name="ActivityStreams Specifications" href="http://activitystrea.ms/specs/" />
http://git-wip-us.apache.org/repos/asf/incubator-streams-master/blob/ff129ea8/src/site/site_en.xml
----------------------------------------------------------------------
diff --git a/src/site/site_en.xml b/src/site/site_en.xml
index b844c2d..5e6f85a 100644
--- a/src/site/site_en.xml
+++ b/src/site/site_en.xml
@@ -64,24 +64,18 @@
<item name="Issue Tracking" href="issue-tracking.html" />
<item name="Source Repositories" href="source-repository.html" />
<item name="Dependency Info" href="dependency-info.html" />
+ <item name="Dependency Management" href="dependency-management.html" />
<item name="Distribution Management" href="distribution-management.html" />
<item name="Plugin Management" href="plugin-management.html" />
<item name="Release Setup" href="release-setup.html" />
<item name="Release Process" href="release.html" />
+ <item name="Website Management" href="website.html" />
</menu>
<menu name="Projects">
<item name="streams-master" />
<item name="streams-project" href="http://streams.incubator.apache.org/site/latest/streams-project" />
<item name="streams-examples" href="http://streams.incubator.apache.org/site/latest/streams-examples/" />
</menu>
- <menu name="Getting Started">
- <item name="View the official Apache Streams jsonschema files" href="http://streams.incubator.apache.org/site/latest/streams-project/streams-pojo/index.html" />
- <item name="View the schemas that describe twitter data" href="http://streams.incubator.apache.org/site/latest/streams-project/streams-contrib/streams-provider-twitter/index.html" />
- <item name="Read about twitter / streams conversion" href="http://streams.incubator.apache.org/site/latest/streams-project/streams-contrib/index.html" />
- <item name="Learn about utility streams components" href="http://streams.incubator.apache.org/site/latest/streams-project/streams-components/index.html" />
- <item name="Learn about streams interoperability modules" href="http://streams.incubator.apache.org/site/latest/streams-project/streams-contrib/index.html" />
- <item name="Browse streams providers, processors, and persisters" href="http://streams.incubator.apache.org/site/latest/streams-project/streams-contrib/index.html" />
- </menu>
<menu name="Tutorial">
<item name="Build streams and streams-examples from source" href="tutorial/build.html" />
<item name="Create a local folder to configure streams" href="tutorial/environment.html"/>
@@ -90,6 +84,14 @@
<item name="Run twitter-history-elasticsearch" href="http://streams.incubator.apache.org/site/latest/streams-examples/streams-examples-local/twitter-history-elasticsearch/index.html" />
<item name="Browse and search the twitter data you collected" href="tutorial/browse.html" />
</menu>
+ <menu name="Getting Started">
+ <item name="View the official Apache Streams jsonschema files" href="http://streams.incubator.apache.org/site/latest/streams-project/streams-pojo/index.html" />
+ <item name="View the schemas that describe twitter data" href="http://streams.incubator.apache.org/site/latest/streams-project/streams-contrib/streams-provider-twitter/index.html" />
+ <item name="Read about twitter / streams conversion" href="http://streams.incubator.apache.org/site/latest/streams-project/streams-contrib/index.html" />
+ <item name="Learn about utility streams components" href="http://streams.incubator.apache.org/site/latest/streams-project/streams-components/index.html" />
+ <item name="Learn about streams interoperability modules" href="http://streams.incubator.apache.org/site/latest/streams-project/streams-contrib/index.html" />
+ <item name="Browse streams providers, processors, and persisters" href="http://streams.incubator.apache.org/site/latest/streams-project/streams-contrib/index.html" />
+ </menu>
<menu name="Other Resources">
<item name="ActivityStreams Homepage" href="http://activitystrea.ms" />
<item name="ActivityStreams Specifications" href="http://activitystrea.ms/specs/" />
[20/22] incubator-streams-master git commit: google analytics
Posted by sb...@apache.org.
google analytics
Project: http://git-wip-us.apache.org/repos/asf/incubator-streams-master/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-streams-master/commit/02e97430
Tree: http://git-wip-us.apache.org/repos/asf/incubator-streams-master/tree/02e97430
Diff: http://git-wip-us.apache.org/repos/asf/incubator-streams-master/diff/02e97430
Branch: refs/heads/master
Commit: 02e97430dbc54e3ce7ce9675fd3e355d3d513e9c
Parents: 3689338
Author: Steve Blackmon @steveblackmon <sb...@apache.org>
Authored: Thu Apr 28 16:16:49 2016 -0500
Committer: Steve Blackmon @steveblackmon <sb...@apache.org>
Committed: Thu Apr 28 16:16:49 2016 -0500
----------------------------------------------------------------------
pom.xml | 15 +++++++++++++--
src/site/site.xml | 25 +++++++++++++------------
src/site/site_en.xml | 25 +++++++++++++------------
3 files changed, 39 insertions(+), 26 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-streams-master/blob/02e97430/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 6a6576e..9e6ea3e 100644
--- a/pom.xml
+++ b/pom.xml
@@ -283,7 +283,7 @@
<resources.plugin.version>2.7</resources.plugin.version>
<scm.plugin.version>1.9.4</scm.plugin.version>
<shade.plugin.version>2.4.3</shade.plugin.version>
- <site.plugin.version>3.4</site.plugin.version>
+ <site.plugin.version>3.5</site.plugin.version>
<source.plugin.version>2.4</source.plugin.version>
<surefire.plugin.version>2.17</surefire.plugin.version>
<wagon.plugin.version>2.5</wagon.plugin.version>
@@ -323,6 +323,7 @@
<powermock.version>1.5.6</powermock.version>
<httpcomponents.core.version>4.3.3</httpcomponents.core.version>
<httpcomponents.client.version>4.3.5</httpcomponents.client.version>
+ <doxia.version>1.7</doxia.version>
<!-- osgi configuration -->
<org.osgi.service.http.port>8080</org.osgi.service.http.port>
@@ -545,7 +546,17 @@
<dependency>
<groupId>org.apache.maven.doxia</groupId>
<artifactId>doxia-module-markdown</artifactId>
- <version>1.6</version>
+ <version>${doxia.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.doxia</groupId>
+ <artifactId>doxia-core</artifactId>
+ <version>${doxia.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.doxia</groupId>
+ <artifactId>doxia-module-xhtml</artifactId>
+ <version>${doxia.version}</version>
</dependency>
<dependency>
<groupId>org.apache.maven.wagon</groupId>
http://git-wip-us.apache.org/repos/asf/incubator-streams-master/blob/02e97430/src/site/site.xml
----------------------------------------------------------------------
diff --git a/src/site/site.xml b/src/site/site.xml
index 9c8a3b5..da3c126 100644
--- a/src/site/site.xml
+++ b/src/site/site.xml
@@ -41,6 +41,19 @@
<item name="Incubator" href="http://incubator.apache.org/"/>
<item name="Streams" href="http://streams.incubator.apache.org/"/>
</breadcrumbs>
+ <head>
+ <![CDATA[
+ <script>
+ (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+ m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+ })(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
+
+ ga('create', 'UA-77087101-1', 'auto');
+ ga('send', 'pageview');
+ </script>
+ ]]>
+ </head>
<menu name="Overview" inherit="top">
<item name="Overview" href="index.html" />
<item name="Architecture" href="architecture.html" />
@@ -90,18 +103,6 @@
<item name="Sponsorship" href="http://www.apache.org/foundation/sponsorship.html" />
<item name="Thanks" href="http://www.apache.org/foundation/thanks.html" />
</menu>
- <head>
- <script>
- (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
- (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
- m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
- })(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
-
- ga('create', 'UA-77087101-1', 'auto');
- ga('send', 'pageview');
-
- </script>
- </head>
</body>
<custom>
<fluidoSkin>
http://git-wip-us.apache.org/repos/asf/incubator-streams-master/blob/02e97430/src/site/site_en.xml
----------------------------------------------------------------------
diff --git a/src/site/site_en.xml b/src/site/site_en.xml
index 23d6191..cce4000 100644
--- a/src/site/site_en.xml
+++ b/src/site/site_en.xml
@@ -41,6 +41,19 @@
<item name="Incubator" href="http://incubator.apache.org/"/>
<item name="Streams" href="http://streams.incubator.apache.org/"/>
</breadcrumbs>
+ <head>
+ <![CDATA[
+ <script>
+ (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+ m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+ })(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
+
+ ga('create', 'UA-77087101-1', 'auto');
+ ga('send', 'pageview');
+ </script>
+ ]]>
+ </head>
<menu name="Overview" inherit="top">
<item name="Overview" href="index.html" />
<item name="Architecture" href="architecture.html" />
@@ -90,18 +103,6 @@
<item name="Sponsorship" href="http://www.apache.org/foundation/sponsorship.html" />
<item name="Thanks" href="http://www.apache.org/foundation/thanks.html" />
</menu>
- <head>
- <script>
- (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
- (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
- m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
- })(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
-
- ga('create', 'UA-77087101-1', 'auto');
- ga('send', 'pageview');
-
- </script>
- </head>
</body>
<custom>
<fluidoSkin>
[10/22] incubator-streams-master git commit: add architecture and
example diagrams
Posted by sb...@apache.org.
add architecture and example diagrams
rework architecture content
Project: http://git-wip-us.apache.org/repos/asf/incubator-streams-master/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-streams-master/commit/749300a8
Tree: http://git-wip-us.apache.org/repos/asf/incubator-streams-master/tree/749300a8
Diff: http://git-wip-us.apache.org/repos/asf/incubator-streams-master/diff/749300a8
Branch: refs/heads/master
Commit: 749300a88c5704578ceeb75d06bcb16362c0a467
Parents: 37f6768
Author: Steve Blackmon @steveblackmon <sb...@apache.org>
Authored: Thu Apr 21 15:44:15 2016 -0500
Committer: Steve Blackmon @steveblackmon <sb...@apache.org>
Committed: Thu Apr 21 15:44:15 2016 -0500
----------------------------------------------------------------------
pom.xml | 47 +++++++-----
src/site/markdown/architecture.md | 65 ++++------------
src/site/markdown/concepts.md | 56 ++++++++++++++
src/site/markdown/downloads.md | 6 +-
src/site/resources/architecture.dot | 40 ++++++++++
src/site/resources/example.dot | 124 +++++++++++++++++++++++++++++++
src/site/site.xml | 19 ++++-
src/site/site_en.xml | 9 ++-
8 files changed, 284 insertions(+), 82 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-streams-master/blob/749300a8/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index af2ff94..509161d 100644
--- a/pom.xml
+++ b/pom.xml
@@ -36,7 +36,6 @@
<inceptionYear>2012</inceptionYear>
- <!-- <url>http://people.apache.org/sblackmon/${project.version}/${project.artifactId}</url> -->
<url>http://streams.incubator.apache.org/site/${project.version}/${project.artifactId}</url>
<licenses>
@@ -297,7 +296,7 @@
<joda-time.version>2.2</joda-time.version>
<rave.version>0.22</rave.version>
<datastax.version>1.0.3</datastax.version>
- <jsonschema2pojo.version>0.4.6</jsonschema2pojo.version>
+ <jsonschema2pojo.version>0.4.10</jsonschema2pojo.version>
<jaxb2.version>0.8.3</jaxb2.version>
<jaxb2-basics.version>0.8.4</jaxb2-basics.version>
<jaxbutil.version>1.2.6</jaxbutil.version>
@@ -386,6 +385,9 @@
<resource>
<directory>src/main/resources</directory>
</resource>
+ <resource>
+ <directory>src/site/diagrams</directory>
+ </resource>
</resources>
</configuration>
</execution>
@@ -399,9 +401,6 @@
<addCompileSourceRoot>true</addCompileSourceRoot>
<generateBuilders>true</generateBuilders>
<outputDirectory>target/generated-sources/jsonschema2pojo</outputDirectory>
- <sourcePaths>
- <sourcePath>src/main/jsonschema</sourcePath>
- </sourcePaths>
<useLongIntegers>true</useLongIntegers>
<useJodaDates>true</useJodaDates>
</configuration>
@@ -658,23 +657,9 @@
</packagingExcludes>
</configuration>
</plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-javadoc-plugin</artifactId>
- <version>${javadoc.plugin.version}</version>
- <configuration>
- <additionalparam>-Xdoclint:none</additionalparam>
- <aggregate>true</aggregate>
- <failOnError>false</failOnError>
- <minmemory>128m</minmemory>
- <maxmemory>1g</maxmemory>
- </configuration>
-
- </plugin>
</plugins>
-
</build>
<reporting>
@@ -689,7 +674,8 @@
</configuration>
<reportSets>
<reportSet>
- <reports><!-- select reports -->
+ <inherited>false</inherited>
+ <reports><!-- select reports -->
<!--<report>cim</report>-->
<!--<report>scm</report>-->
<report>license</report>
@@ -718,6 +704,27 @@
<groupId>com.github.ferstl</groupId>
<artifactId>depgraph-maven-plugin</artifactId>
</plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-javadoc-plugin</artifactId>
+ <version>${javadoc.plugin.version}</version>
+ <configuration>
+ <additionalparam>-Xdoclint:none</additionalparam>
+ <aggregate>false</aggregate>
+ <failOnError>false</failOnError>
+ <minmemory>128m</minmemory>
+ <maxmemory>1g</maxmemory>
+ <docfilessubdirs/>
+ </configuration>
+ <reportSets>
+ <reportSet>
+ <reports>
+ <report>javadoc-no-fork</report>
+ <report>test-javadoc-no-fork</report>
+ </reports>
+ </reportSet>
+ </reportSets>
+ </plugin>
</plugins>
</reporting>
http://git-wip-us.apache.org/repos/asf/incubator-streams-master/blob/749300a8/src/site/markdown/architecture.md
----------------------------------------------------------------------
diff --git a/src/site/markdown/architecture.md b/src/site/markdown/architecture.md
index 174fabb..9f457a4 100644
--- a/src/site/markdown/architecture.md
+++ b/src/site/markdown/architecture.md
@@ -1,12 +1,4 @@
-##Architecture
-
-Streams contains libraries and patterns for specifying document schemas and converting documents to and from ActivityStreams format, and runtime bindings for deploying, monitoring, and interfacing with running streams.
-
-In general streams can be characterized as perpetual (capable of running indefinitely) or non-perpetual (expected to run until all providers run out of data).
-
-###Basic Concepts
-
-####Module
+## Architecture
Apache Streams consists of a loosely coupled set of modules with specific capabilities, such as:
@@ -16,58 +8,27 @@ Apache Streams consists of a loosely coupled set of modules with specific capabi
- binding streams components to other systems
- facilitating starting and stopping of streams.
-Each module has it's own POM and dependency tree. Each stream deployment needs to import only the modules it needs for what it wants to do.
-
-####Component
-
-Components are the classes that do stuff within a stream. Components are assembled into pipelines and executed using a runtime. There are several core types of Components, each using a specific java interface:
-
-#####Provider
-
-A Provider is a component that *provides* data to the stream from external systems.
-
-#####Processor
-
-A Processor is a component that *processes* data flowing through the stream - transformations, filters, and enrichments are common processors.
-
-#####PersistWriter
+
-A PersistWriter is a component that *writes* data exiting the stream.
+#### Modules
-#####PersistReader
-
-A PersistReader is a component that *reads* data, often previously written by a PersistWriter.
-
-####Schema
-
-A Schema defines the expected shape of the documents that will passed from step to step within a stream. Defining the schema for a type of document allows source files and resource files to be generated by the build process, relieving your team of the need to maintain these files by hand.
-
-Schemas can include other schemas, whether in the same repo or available via HTTP, allowing for full or partial reuse within or across organizations.
-
-####Datum
-
-A Datum is a single piece of data within a stream. A datum typically has an identifier, a timestamp, a document (which may be any java object), and additional metadata kept apart from the document related to upstream or downstream processing..
+Each module has it's own POM and dependency tree. Each stream deployment needs to import only the modules it needs for what it wants to do.
-####Activity
+#### Schemas
-Apache Streams has a preference for ActivityStreams formatted messages. These messages may be passed using the 'Activity' class or one of it's sub-classes.
+Streams also contains libraries and patterns for specifying document schemas, converting documents to and from ActivityStreams format, and generating source and resource files for binding to data objects in those formats.
-####ActivityObject
+#### Pipelines
-An activity has several sub-object fields:
+A Pipeline is a set of collection, processing, and storage components structured in a directed graph (cycles may be permitted) which is packaged, deployed, started, and stopped together.
- - actor (required)
- - object (optional)
- - target (optional)
- - generator (optional)
- - provider (optional)
+#### Runtimes
-Streams containing details of actors, objects, etc... may be created using the 'ActivityObject' class or one of it's sub-classes.
+A Runtime is a module containing bindings that help setup and run a pipeline. Runtimes may submit pipeline binaries to an existing cluster, or may launch the process(es) to execute the stream directly.
-####Pipeline
+### Example
-A Pipeline is a set of collection, processing, and storage components structured in a directed graph (cycles may be permitted) which is packaged, deployed, started, and stopped together.
+A standard usage of Apache Streams is to collect, normalize, and archive activity across multiple networks.
-####Runtime
+
-A Runtime is a module containing bindings that help setup and run a pipeline. Runtimes may submit pipeline binaries to an existing cluster, or may launch the process(es) to execute the stream directly.
http://git-wip-us.apache.org/repos/asf/incubator-streams-master/blob/749300a8/src/site/markdown/concepts.md
----------------------------------------------------------------------
diff --git a/src/site/markdown/concepts.md b/src/site/markdown/concepts.md
new file mode 100644
index 0000000..9a580e6
--- /dev/null
+++ b/src/site/markdown/concepts.md
@@ -0,0 +1,56 @@
+### Concepts
+
+####Component
+
+Components are the classes that do stuff within a stream. Components are assembled into pipelines and executed using a runtime. There are several core types of Components, each using a specific java interface:
+
+#####Provider
+
+A Provider is a component that *provides* data to the stream from external systems.
+
+#####Processor
+
+A Processor is a component that *processes* data flowing through the stream - transformations, filters, and enrichments are common processors.
+
+#####PersistWriter
+
+A PersistWriter is a component that *writes* data exiting the stream.
+
+#####PersistReader
+
+A PersistReader is a component that *reads* data, often previously written by a PersistWriter.
+
+####Schema
+
+A Schema defines the expected shape of the documents that will passed from step to step within a stream. Defining the schema for a type of document allows source files and resource files to be generated by the build process, relieving your team of the need to maintain these files by hand.
+
+Schemas can include other schemas, whether in the same repo or available via HTTP, allowing for full or partial reuse within or across organizations.
+
+####Datum
+
+A Datum is a single piece of data within a stream. A datum typically has an identifier, a timestamp, a document (which may be any java object), and additional metadata kept apart from the document related to upstream or downstream processing..
+
+####Activity
+
+Apache Streams has a preference for ActivityStreams formatted messages. These messages may be passed using the 'Activity' class or one of it's sub-classes.
+
+####ActivityObject
+
+An activity has several sub-object fields:
+
+ - actor (required)
+ - object (optional)
+ - target (optional)
+ - generator (optional)
+ - provider (optional)
+
+Streams containing details of actors, objects, etc... may be created using the 'ActivityObject' class or one of it's sub-classes.
+
+####Pipeline
+
+A Pipeline is a set of collection, processing, and storage components structured in a directed graph (cycles may be permitted) which is packaged, deployed, started, and stopped together.
+
+####Runtime
+
+A Runtime is a module containing bindings that help setup and run a pipeline. Runtimes may submit pipeline binaries to an existing cluster, or may launch the process(es) to execute the stream directly.
+
http://git-wip-us.apache.org/repos/asf/incubator-streams-master/blob/749300a8/src/site/markdown/downloads.md
----------------------------------------------------------------------
diff --git a/src/site/markdown/downloads.md b/src/site/markdown/downloads.md
index 9d055d4..f1fae55 100644
--- a/src/site/markdown/downloads.md
+++ b/src/site/markdown/downloads.md
@@ -2,8 +2,6 @@ All downloads can be verified using Apache Streams code signing.
## Current Downloads
-### Streams Project
-
-| Version | Source | asc | md5 | sha1 |
+| Artifact | Version | Source | asc | md5 | sha1 |
|---------|--------|
-| 0.2-incubating | [zip](https://dist.apache.org/repos/dist/release/incubator/streams/releases/streams-project/streams-project/streams-project-0.2-incubating-source-release.zip) | [asc](https://dist.apache.org/repos/dist/release/incubator/streams/releases/0.2-incubating/streams-project/streams-project-0.2-incubating-source-release.zip.asc) | [md5](https://dist.apache.org/repos/dist/release/incubator/streams/releases/0.2-incubating/streams-project/streams-project-0.2-incubating-source-release.zip.md5) | [sha1](https://dist.apache.org/repos/dist/release/incubator/streams/releases/0.2-incubating/streams-project/streams-project-0.2-incubating-source-release.zip.sha1) |
+| streams-project | 0.2-incubating | [zip](https://dist.apache.org/repos/dist/release/incubator/streams/releases/streams-project/streams-project/streams-project-0.2-incubating-source-release.zip) | [asc](https://dist.apache.org/repos/dist/release/incubator/streams/releases/0.2-incubating/streams-project/streams-project-0.2-incubating-source-release.zip.asc) | [md5](https://dist.apache.org/repos/dist/release/incubator/streams/releases/0.2-incubating/streams-project/streams-project-0.2-incubating-source-release.zip.md5) | [sha1](https://dist.apache.org/repos/dist/release/incubator/streams/releases/0.2-incubating/streams-project/streams-project-0.2-incubating-source-release.zip.sha1) |
http://git-wip-us.apache.org/repos/asf/incubator-streams-master/blob/749300a8/src/site/resources/architecture.dot
----------------------------------------------------------------------
diff --git a/src/site/resources/architecture.dot b/src/site/resources/architecture.dot
new file mode 100644
index 0000000..f1aa1d5
--- /dev/null
+++ b/src/site/resources/architecture.dot
@@ -0,0 +1,40 @@
+digraph g {
+
+ graph [compound = true];
+
+ //presentation
+ splines = true;
+ overlap = false;
+ rankdir = TB;
+
+ subgraph cluster_upstream {
+ label="Upstream Systems";
+ upstream_databases [label="Databases"]
+ upstream_generators [label="Generators"]
+ upstream_queues [label="Queues"]
+ }
+
+ subgraph cluster_streams {
+ label="Apache Streams Pipelines";
+ providers [label="Providers"]
+ persistReaders [label="PersistReaders"]
+ processors [label="Processors"]
+ persistWriters [label="PersistWriters"]
+ }
+
+ subgraph cluster_downstream {
+ label="Downstream Systems";
+ downstream_databases [label="Databases"]
+ downstream_queues [label="Queues"]
+ }
+
+ upstream_generators -> providers
+ upstream_queues -> persistReaders
+ upstream_databases -> persistReaders
+ providers,persistReaders -> processors
+ processors -> processors
+ processors -> persistWriters
+ persistWriters -> downstream_databases,downstream_queues
+
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-streams-master/blob/749300a8/src/site/resources/example.dot
----------------------------------------------------------------------
diff --git a/src/site/resources/example.dot b/src/site/resources/example.dot
new file mode 100644
index 0000000..5b97773
--- /dev/null
+++ b/src/site/resources/example.dot
@@ -0,0 +1,124 @@
+digraph g {
+
+ graph [compound = true];
+
+ //presentation
+ splines = true;
+ overlap = false;
+ rankdir = TB;
+
+ subgraph cluster_generators {
+ label="generators";
+ generators_twitter [label="https://api.twitter.com"]
+ generators_facebook [label="https://api.facebook.com"]
+ generators_youtube [label="https://api.youtube.com"]
+ generators_instagram [label="https://api.instagram.com"]
+ }
+
+ subgraph cluster_providers {
+ label="providers";
+ subgraph cluster_providers_twitter {
+ label="twitter";
+ providers_twitter_userstream [label="TwitterUserstreamProvider"]
+ providers_twitter_userinfo [label="TwitterUserInformationProvider"]
+ providers_twitter_timeline [label="TwitterTimelineProvider"]
+ providers_twitter_following [label="TwitterFollowingProvider"]
+ }
+ subgraph cluster_providers_facebook {
+ label="facebook";
+ providers_facebook_page [label="FacebookPageProvider"]
+ providers_facebook_pagefeed [label="FacebookPageFeedDataCollector"]
+ }
+ subgraph cluster_providers_youtube {
+ label="youtube";
+ providers_youtube_channel [label="YoutubeChannelProvider"]
+ providers_youtube_video [label="YoutubeUserActivityProvider"]
+ }
+ subgraph cluster_providers_instagram{
+ label="instagram";
+ providers_instagram_userinfo [label="InstagramUserInfoCollector"]
+ providers_instagram_media [label="InstagramRecentMediaCollector"]
+ }
+ }
+
+ subgraph cluster_processors {
+ label="processors";
+ processors_twitter_activity [label="ActivityConverterProcessor"]
+ processors_twitter_activityobject [label="ActivityObjectConverterProcessor"]
+ processors_facebook_activity [label="FacebookPageActivitySerializer"]
+ processors_facebook_activityobject [label="FacebookPostActivitySerializer"]
+ processors_youtube_activity [label="YoutubeTypeConverter"]
+ processors_youtube_activityobject [label="YoutubeTypeConverter"]
+ processors_instagram_activity [label="InstagramTypeConverter"]
+ processors_instagram_activityobject [label="InstagramTypeConverter"]
+ }
+
+ subgraph cluster_persisters_1 {
+ label="persisters";
+ persisters_kinesis_writer_activity [label="KinesisPersistWriter"]
+ persisters_kinesis_writer_activityobject [label="KinesisPersistWriter"]
+ }
+
+ subgraph cluster_persisters_2 {
+ label="persisters";
+ persisters_elasticsearch [label="ElasticsearchPersistWriter"]
+ persisters_graph [label="GraphPersistWriter"]
+ persisters_hdfs [label="WebHdfsPersistWriter"]
+ persisters_kinesis_reader_activity [label="KinesisPersistReader"]
+ persisters_kinesis_reader_activityobject [label="KinesisPersistReader"]
+ }
+
+ subgraph cluster_dbs {
+ label="dbs";
+ elasticsearch [label="elasticsearch"]
+ hdfs [label="hdfs"]
+ neo4j [label="neo4j"]
+ }
+
+ generators_twitter -> providers_twitter_userstream
+ generators_twitter -> providers_twitter_timeline
+ generators_twitter -> providers_twitter_following
+ generators_twitter -> providers_twitter_userinfo
+ providers_twitter_userinfo -> processors_twitter_activityobject [label="o.a.s.t.User"]
+ providers_twitter_userstream -> processors_twitter_activity [label="o.a.s.t.Tweet"]
+ providers_twitter_timeline -> processors_twitter_activity [label="o.a.s.t.Tweet"]
+ providers_twitter_following -> processors_twitter_activity [label="o.a.s.t.Follow"]
+
+ generators_facebook -> providers_facebook_page
+ generators_facebook -> providers_facebook_pagefeed
+ providers_facebook_page -> processors_facebook_activityobject [label="o.a.s.f.Page"]
+ providers_facebook_pagefeed -> processors_facebook_activity [label="o.a.s.f.Post\no.a.s.f.Comment"]
+
+ generators_youtube -> providers_youtube_channel
+ generators_youtube -> providers_youtube_video
+ providers_youtube_channel -> processors_youtube_activityobject [label="o.a.s.y.Channel"]
+ providers_youtube_video -> processors_youtube_activity [label="o.a.s.y.Video"]
+
+ generators_instagram -> providers_instagram_userinfo
+ generators_instagram -> providers_instagram_media
+ providers_instagram_userinfo -> processors_instagram_activityobject [label="o.a.s.i.UserInfoData"]
+ providers_instagram_media -> processors_instagram_activity [label="o.a.s.i.MediaFeedData"]
+
+ processors_twitter_activityobject -> persisters_kinesis_writer_activityobject [label="o.a.s.p.j.Page"]
+ processors_twitter_activity -> persisters_kinesis_writer_activity [label="o.a.s.p.j.Post\no.a.s.p.j.Share\no.a.s.p.j.Follow"]
+ processors_facebook_activityobject -> persisters_kinesis_writer_activityobject [label="o.a.s.p.j.Page"]
+ processors_facebook_activity -> persisters_kinesis_writer_activity [label="o.a.s.p.j.Post\no.a.s.p.j.Comment"]
+ processors_youtube_activityobject -> persisters_kinesis_writer_activityobject [label="o.a.s.p.j.Page"]
+ processors_youtube_activity -> persisters_kinesis_writer_activity [label="o.a.s.p.j.Video\no.a.s.p.j.Comment"]
+ processors_instagram_activityobject -> persisters_kinesis_writer_activityobject [label="o.a.s.p.j.Page"]
+ processors_instagram_activity -> persisters_kinesis_writer_activity [label="o.a.s.p.j.Photo\no.a.s.p.j.Video\no.a.s.p.j.Comment"]
+
+ persisters_kinesis_writer_activity -> kinesis -> persisters_kinesis_reader_activity [label="o.a.s.p.j.Activity"]
+ persisters_kinesis_writer_activityobject -> kinesis -> persisters_kinesis_reader_activityobject [label="o.a.s.p.j.ActivityObject"]
+
+ persisters_kinesis_reader_activity -> persisters_elasticsearch
+ persisters_kinesis_reader_activity -> persisters_hdfs
+ persisters_kinesis_reader_activity -> persisters_graph
+ persisters_kinesis_reader_activityobject -> persisters_elasticsearch
+ persisters_kinesis_reader_activityobject -> persisters_hdfs
+
+ persisters_elasticsearch -> elasticsearch
+ persisters_hdfs -> hdfs
+ persisters_graph -> neo4j
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-streams-master/blob/749300a8/src/site/site.xml
----------------------------------------------------------------------
diff --git a/src/site/site.xml b/src/site/site.xml
index dfcaf2a..e06e9f2 100644
--- a/src/site/site.xml
+++ b/src/site/site.xml
@@ -17,6 +17,7 @@
~ under the License.
-->
<project>
+ <publishDate position="right"/>
<version position="right"/>
<skin>
<groupId>org.apache.maven.skins</groupId>
@@ -26,12 +27,13 @@
<custom>
<fluidoSkin>
<topBarEnabled>true</topBarEnabled>
+ <navBarStyle>navbar-inverse</navBarStyle>
<sideBarEnabled>false</sideBarEnabled>
</fluidoSkin>
</custom>
<bannerLeft>
<name>Apache Streams</name>
- <src>./images/streams_logo.jpg</src>
+ <src>http://streams.incubator.apache.org/images/streams_logo.jpg</src>
<href>http://streams.incubator.apache.org</href>
<height>100</height>
<width>150</width>
@@ -50,6 +52,7 @@
<menu name="Overview">
<item name="Overview" href="index.html" />
<item name="Architecture" href="architecture.html" />
+ <item name="Concepts" href="concepts.html" />
<item name="Downloads" href="downloads.html" />
<item name="Frequently Asked Questions" href="faq.html" />
</menu>
@@ -59,11 +62,17 @@
<item name="Project Team" href="team-list.html" />
<item name="Continuous Integration" href="integration.html"/>
<item name="Issue Tracking" href="issue-tracking.html" />
+ <item name="Source Repositories" href="source-repository.html" />
+ <item name="Dependency Info" href="dependency-info.html" />
+ <item name="Distribution Management" href="distribution-management.html" />
+ <item name="Plugin Management" href="plugin-management.html" />
+ <item name="Release Setup" href="release-setup.html" />
+ <item name="Release Process" href="release.html" />
</menu>
<menu name="Projects">
<item name="streams-master" />
- <item name="streams-project" href="http://streams.incubator.apache.org/site/0.2-incubating/streams-project" />
- <item name="streams-examples" href="http://streams.incubator.apache.org/site/0.2-incubating-SNAPSHOT/streams-examples/" />
+ <item name="streams-project" href="http://streams.incubator.apache.org/site/0.3-incubating-SNAPSHOT/streams-project" />
+ <item name="streams-examples" href="http://streams.incubator.apache.org/site/0.3-incubating-SNAPSHOT/streams-examples/" />
</menu>
<menu name="Getting Started">
<item name="Learn more about Activity Streams" href="http://activitystrea.ms" />
@@ -83,5 +92,9 @@
<item name="Sponsorship" href="http://www.apache.org/foundation/sponsorship.html" />
<item name="Thanks" href="http://www.apache.org/foundation/thanks.html" />
</menu>
+ <menu name="Other Resources">
+ <item name="Streams Proposal Wiki Page" href="http://wiki.apache.org/incubator/StreamsProposal" />
+ <item name="ActivityStreams Specifications" href="http://activitystrea.ms/specs/" />
+ </menu>
</body>
</project>
http://git-wip-us.apache.org/repos/asf/incubator-streams-master/blob/749300a8/src/site/site_en.xml
----------------------------------------------------------------------
diff --git a/src/site/site_en.xml b/src/site/site_en.xml
index 99d3a23..e06e9f2 100644
--- a/src/site/site_en.xml
+++ b/src/site/site_en.xml
@@ -17,6 +17,7 @@
~ under the License.
-->
<project>
+ <publishDate position="right"/>
<version position="right"/>
<skin>
<groupId>org.apache.maven.skins</groupId>
@@ -26,12 +27,13 @@
<custom>
<fluidoSkin>
<topBarEnabled>true</topBarEnabled>
+ <navBarStyle>navbar-inverse</navBarStyle>
<sideBarEnabled>false</sideBarEnabled>
</fluidoSkin>
</custom>
<bannerLeft>
<name>Apache Streams</name>
- <src>./images/streams_logo.jpg</src>
+ <src>http://streams.incubator.apache.org/images/streams_logo.jpg</src>
<href>http://streams.incubator.apache.org</href>
<height>100</height>
<width>150</width>
@@ -50,6 +52,7 @@
<menu name="Overview">
<item name="Overview" href="index.html" />
<item name="Architecture" href="architecture.html" />
+ <item name="Concepts" href="concepts.html" />
<item name="Downloads" href="downloads.html" />
<item name="Frequently Asked Questions" href="faq.html" />
</menu>
@@ -68,8 +71,8 @@
</menu>
<menu name="Projects">
<item name="streams-master" />
- <item name="streams-project" href="http://streams.incubator.apache.org/site/0.2-incubating/streams-project" />
- <item name="streams-examples" href="http://streams.incubator.apache.org/site/0.2-incubating-SNAPSHOT/streams-examples/" />
+ <item name="streams-project" href="http://streams.incubator.apache.org/site/0.3-incubating-SNAPSHOT/streams-project" />
+ <item name="streams-examples" href="http://streams.incubator.apache.org/site/0.3-incubating-SNAPSHOT/streams-examples/" />
</menu>
<menu name="Getting Started">
<item name="Learn more about Activity Streams" href="http://activitystrea.ms" />
[05/22] incubator-streams-master git commit: tweaks to site outline
and content
Posted by sb...@apache.org.
tweaks to site outline and content
Project: http://git-wip-us.apache.org/repos/asf/incubator-streams-master/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-streams-master/commit/ecbb81a0
Tree: http://git-wip-us.apache.org/repos/asf/incubator-streams-master/tree/ecbb81a0
Diff: http://git-wip-us.apache.org/repos/asf/incubator-streams-master/diff/ecbb81a0
Branch: refs/heads/master
Commit: ecbb81a0f5e627053553144ecbbdb43198762f1b
Parents: 09f4d65
Author: Steve Blackmon @steveblackmon <sb...@apache.org>
Authored: Mon Feb 29 09:27:34 2016 -0600
Committer: Steve Blackmon @steveblackmon <sb...@apache.org>
Committed: Mon Feb 29 09:27:34 2016 -0600
----------------------------------------------------------------------
src/site/markdown/architecture.md | 70 ++++++++++++++++++++--------------
src/site/markdown/faq.md | 51 +++++++++++++++----------
src/site/markdown/index.md | 10 ++---
src/site/site.xml | 18 +++++++--
src/site/site_en.xml | 17 +++++++--
5 files changed, 105 insertions(+), 61 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-streams-master/blob/ecbb81a0/src/site/markdown/architecture.md
----------------------------------------------------------------------
diff --git a/src/site/markdown/architecture.md b/src/site/markdown/architecture.md
index 120f139..174fabb 100644
--- a/src/site/markdown/architecture.md
+++ b/src/site/markdown/architecture.md
@@ -6,54 +6,68 @@ In general streams can be characterized as perpetual (capable of running indefin
###Basic Concepts
-####Activity
+####Module
-Apache Streams has a preference for ActivityStreams formatted messages. These messages may be passed using the 'Activity' class or one of it's sub-classes.
+Apache Streams consists of a loosely coupled set of modules with specific capabilities, such as:
-####Datum
+ - collecting data.
+ - transforming or filter data
+ - storing and retrieving documents and metadata from databases
+ - binding streams components to other systems
+ - facilitating starting and stopping of streams.
-A Datum is a single piece of data within a stream. A datum typically has an identifier, a timestamp, a document (which may be any java object), and additional metadata kept apart from the document related to upstream or downstream processing..
+Each module has it's own POM and dependency tree. Each stream deployment needs to import only the modules it needs for what it wants to do.
-####Module
+####Component
-Apache Streams consists of a loosely coupled set of modules with specific capabilities. Such as:
- * collecting data.
- * transforming or filter data
- * storing and retrieving documents and metadata from databases
- * binding streams components to other systems
- * facilitating starting and stopping of streams.
+Components are the classes that do stuff within a stream. Components are assembled into pipelines and executed using a runtime. There are several core types of Components, each using a specific java interface:
-Each module has it's own POM and dependency tree. Each stream deployment needs to import only the modules it needs.
+#####Provider
-####Pipeline
+A Provider is a component that *provides* data to the stream from external systems.
-A Pipeline is a set of collection, processing, and storage components structured in a directed graph (cycles may be permitted) which is packaged, deployed, started, and stopped together.
+#####Processor
-####Runtime
+A Processor is a component that *processes* data flowing through the stream - transformations, filters, and enrichments are common processors.
+
+#####PersistWriter
+
+A PersistWriter is a component that *writes* data exiting the stream.
+
+#####PersistReader
+
+A PersistReader is a component that *reads* data, often previously written by a PersistWriter.
-A Runtime is a module containing bindings that help setup and run a pipeline. Runtimes may submit pipeline binaries to an existing cluster, or may launch the processes to execute the stream directly.
####Schema
-A Schema defines the expected shape of the documents that will passed from step to step within a stream. Defining the schema for a type of document allows source files and resource files to be generated at compile time. Schema can include other schemas, whether in the same repo or available via HTTP, allowing for full or partial reuse.
+A Schema defines the expected shape of the documents that will passed from step to step within a stream. Defining the schema for a type of document allows source files and resource files to be generated by the build process, relieving your team of the need to maintain these files by hand.
-####Component
+Schemas can include other schemas, whether in the same repo or available via HTTP, allowing for full or partial reuse within or across organizations.
-Components are individual instances of classes that do stuff within a stream. Components are assembled into pipelines and executed using a runtime.
+####Datum
-####Types of Components
+A Datum is a single piece of data within a stream. A datum typically has an identifier, a timestamp, a document (which may be any java object), and additional metadata kept apart from the document related to upstream or downstream processing..
-#####Provider
+####Activity
-A Provider is a component that *provides* data to the stream from external systems.
+Apache Streams has a preference for ActivityStreams formatted messages. These messages may be passed using the 'Activity' class or one of it's sub-classes.
-#####Processor
+####ActivityObject
-A Processor is a component that *processes* data flowing through the stream - transformations, filters, and enrichments are common processors.
+An activity has several sub-object fields:
-#####PersistWriter
+ - actor (required)
+ - object (optional)
+ - target (optional)
+ - generator (optional)
+ - provider (optional)
-A PersistWriter is a component that writes data exiting the stream.
+Streams containing details of actors, objects, etc... may be created using the 'ActivityObject' class or one of it's sub-classes.
-#####PersistReader
+####Pipeline
+
+A Pipeline is a set of collection, processing, and storage components structured in a directed graph (cycles may be permitted) which is packaged, deployed, started, and stopped together.
+
+####Runtime
-A PersistReader is a component that reads data, often previously written by a PersistWriter.
+A Runtime is a module containing bindings that help setup and run a pipeline. Runtimes may submit pipeline binaries to an existing cluster, or may launch the process(es) to execute the stream directly.
http://git-wip-us.apache.org/repos/asf/incubator-streams-master/blob/ecbb81a0/src/site/markdown/faq.md
----------------------------------------------------------------------
diff --git a/src/site/markdown/faq.md b/src/site/markdown/faq.md
index 14c18ea..151852a 100644
--- a/src/site/markdown/faq.md
+++ b/src/site/markdown/faq.md
@@ -1,14 +1,12 @@
-#Frequently Asked Questions
+## Frequently Asked Questions
### Why should I adopt activity streams for my project?
-Odds are the dataset you are working with is some combination of timestamped events and observations of entities and their relationships at various points in time. Activity Streams provides a simple yet powerful standard format for these types of data, regardless of their origin, publisher, or specific details. As an community-driven specification designed for interoperability and flexibility, by adopting activity streams you maximize the chance that a new data-source of interest to you will be compatible with your existing database, and that your database will be compatible with a community working on a new project.
+Odds are the dataset you are working with is some combination of timestamped events and observations of entities and their relationships at various points in time. Activity Streams provides a simple yet powerful standard format for these types of data, regardless of their origin, publisher, or specific details. Activity Streams is a community-driven specification designed for interoperability and flexibility. By supporting activity streams you maximize the chance that a new data-source of interest to you will be compatible with your existing data, and that your data will be compatible with that of other communities working on similar projects.
### Why should I consider using Apache Streams for my project?
-If you are working with structured event and or entity data that fits with an Activity Streams model, and working with a JVM language, Apache Streams can simplify many of the challenging aspects involved with these types of projects.
-
-Here are a few examples:
+If you are working with structured event and or entity data that fits the Activity Streams model, and working with a JVM language, Apache Streams can simplify many of the challenging aspects involved with these types of projects. For example:
* Keeping track of the original source of each piece of information
* Harmonizing a multitude of date-time formats
@@ -31,37 +29,37 @@ Apache Streams is not
* one-size-fits-all
* only useful for projects fully dedicated to activity streams datasets
-The primary Streams git repository incubator-streams (org.apache.streams:streams-project) which contains a library of modules inputs, outputs, and reusable components for tranforming and enriching data streams. Similar modules can also be hosted externally - so long as they publish maven artifacts compatible with your version of streams, you can import and use them in your streams easily.
+The primary Streams git repository incubator-streams (org.apache.streams:streams-project) contains a library of modules inputs, outputs, and reusable components for tranforming and enriching data streams. Similar modules can also be hosted externally - so long as they publish maven artifacts compatible with your version of streams, you can import and use them in your streams easily.
The streams community also supports a seperate repository incubator-streams-examples (org.apache.streams:streams-examples) which contains a library of simple streams that are 'ready-to-run'. Look here to see what Streams user code look like.
### Why bother with any data framework at all?
-Why use Linux, Java, Postgres, Elasticsearch, Cassandra, or Hadoop?
+Why use Postgres, Elasticsearch, Cassandra, Hadoop, Linux, or Java?
Frameworks make important but boring parts of systems and code just work so your team can focus on features important to your users.
If you are sure you can write code that is some combination of faster, more readable, better tested, easier to learn, easier to build with, or more maintainable than any existing framework (including Streams), maybe you should.
-On the other hand, maybe you are under-estimating how difficult it will be to optimize across these factors and keep improving.
+On the other hand, maybe you are under-estimating how difficult it will be to optimize across these factors and continuous improving those libraries.
Or maybe your time is just more valuable focused on your product rather than on plumbing.
-Or maybe by joining forces with others who have more than just a passing interest in running water everyone can benefit from .
+Or maybe by joining forces with others who have more than just a passing interest in running water, everyone can run better, faster, stronger code assembled with expertise including your own.
### How is streams different than "*processing framework*"?
-You don't have to look hard to find great data processing frameworks for batch or for real-time. Storm, Spark, Flink, and Dataflow are well-known and pretty solid. At the core these platforms help you specify inputs, outputs, and a directed graph of computation and then run your code at scale.
+You don't have to look hard to find great data processing frameworks for batch or for real-time. Storm, Spark, Samza, Flink, and Dataflow are well-known, well-documented, and solid. At the core these platforms help you specify inputs, outputs, and a directed graph of computation and then run your code at scale.
-Streams supports a similar computational model, but is more focused on intelligently modeling the data that will flow through the stream. In this sense Streams has an alternative to avro or protocol buffers, that places flexibility, expressivity and tooling ahead of speed or compute efficiency.
+Streams supports a similar computational model, but is more focused on intelligently modeling the data that will flow through the stream. In this sense Streams is an alternative to avro or protocol buffers which prioritizes flexibility, expressivity, interoperability, and tooling ahead of speed or compute efficiency.
-Streams also seeks to make it easy to design and evolve streams, and to configure complex streams sensibly. Where many processing frameworks leave all business logic and configuration issues to the developer, streams modules are designed to mix-and-match.
+Streams also seeks to make it easy to design and evolve streams, and to configure complex streams sensibly. Where many processing frameworks leave all business logic and configuration issues to the developer, streams modules are designed to mix-and-match. Streams modules expect to be embedded with other frameworks and are organized to make that process painless.
### How do I deploy Streams?
-Currently you cannot deploy "Streams". Streams has no shrink-wrapped ready-to-run server process. You can however deploy streams. The right method for packaging, deploying, and running streams depends on what runtime you are going to use.
+Currently you cannot deploy Streams (uppercase). Streams has no shrink-wrapped ready-to-run server process. You can however deploy streams (lowercase). The right method for packaging, deploying, and running streams depends on what runtime you are going to use.
-Streams includes a local runtime that uses blocking queues and multi-threaded execution within a single process. In this scenario you build an uberjar with few exclusions and ship it to a target environment however you want - maven, scp, docker, etc... You launch the stream process with an appropriate run configuration and watch the magic / catastrophic fail.
+Streams includes a local runtime that uses multi-threaded execution and blocking queues within a single process. In this scenario you build an uberjar with few exclusions and ship it to a target environment however you want - maven, scp, docker, etc... You launch the stream process with an appropriate configuration and watch the magic / catastrophic fail.
Alternatively, components written to streams interfaces can be bound within other platforms such as pig or spark. In this scenario, you build an uberjar that excludes the platform parts of the classpath and launch your stream using the launch style of that platform.
@@ -73,24 +71,35 @@ A better long-term approach is to archive each data series you observe, and labe
### What if I need data from "*specific API*"?
-No problem - anyone can write a Streams provider. The project contains providers that use sockets, webhooks, and polling to generate near-real-time data streams. There are providers which work sequentially through a backlog of items from the stream configuration, running a thread to collect data related to each item. And if you need to collect so many items that you can't fit all of their ids in the memory available to your stream, a stream can read an arbitrarily long sequence of ids and launch new streams for each batch that terminate when complete.
+No problem - anyone can write a Streams provider. The project contains providers that use a variety of strategies to generate near-real-time data streams, including:
+ - sockets
+ - webhooks
+ - polling
+ - scraping
+
+Providers can run continuously and pass-through new data, or they can work sequentially through a backlog of items. If you need to collect so many items that you can't fit all of their ids in the memory available to your stream, a stream provider can read an arbitrarily long sequence of ids and hand those off to other providers for collection.
### What if I want to keep data in "*unsupported database*"?
-No problem - anyone can write a Streams persist reader or persist writer. The project contains persist writers that write documents efficiently with batch-style binary indexing, that write documents one-by-one to services with REST api endpoints, and that write data to local or distributed buffers. If you just want to get incoming data into a queueing system to work with outside of streams that's understandable.
+No problem - anyone can write a Streams persist reader or persist writer. The project contains persist writers that:
+ - write documents efficiently with batch-style binary indexing
+ - write documents one-by-one to services with REST api endpoints
+ - write data to local or distributed buffers.
+
+If you just want to use streams providers to collect and feed incoming data into a queueing system to work with outside of streams that's just fine.
### Can't I just use "*third-party SDK*" to do the same thing?
-For any specific data collection, processing, or storage function there are several if not tens of basic implementations on GitHub. There may even be language-specific libraries published by a vendor backing the technology in question.
+For any specific data collection, processing, or storage function there are several if not tens of basic implementations on GitHub. There may be language-specific libraries published by a vendor backing the technology in question.
-However, in general there are a set of tradeoffs involved relying on these package. They often have transitive dependencies. They may not use performant HTTP and JSON libraries. The object representations and lifecycle mechanisms they provide may not be consistent with the rest of your code.
+However, in general there are a set of tradeoffs involved relying on these package. They often have transitive dependencies. They may not use performant HTTP and JSON libraries. The object representations and lifecycle mechanisms they provide may not be consistent with the rest of your code. They may source configuration properties in a problematic or cumbersome fashion. Their licenses may be restrictive or undocumented.
-Streams goes to great lengths to regularize many of these challenges so they uniform across existing modules, and easy to reuse within new modules. Where quality java libraries exist, the most useful parts of their classpath may be included within a streams implementation while other dependencies are excluded.
+Streams goes to great lengths to regularize many of these issues so they are uniform across existing modules, and easy to reuse within new modules. Where quality java libraries exist, their most useful parts may be included within a streams module, while parts of their classpath are excluded.
### Where do I start?
-Navigate the list of 'Getting Started' recommendation in order to get up and running with streams.
+Navigate the list of 'Getting Started' recommendations in order to get up and running with streams.
### How can I help?
-Please join our mailing list, then ask questions and suggest features. Contribute to the documentation in one of the streams repositories. Consider writing a new provider using an existing provider as a template.
+Please join our mailing list, then ask questions and suggest features. Contribute to the documentation in one of the streams repositories. Consider writing a new provider using an existing provider as a template. Consider adding a feature (and / or tests) to an existing module you intend to use. Consider building and contributing a new example.
http://git-wip-us.apache.org/repos/asf/incubator-streams-master/blob/ecbb81a0/src/site/markdown/index.md
----------------------------------------------------------------------
diff --git a/src/site/markdown/index.md b/src/site/markdown/index.md
index f18667a..bbff087 100644
--- a/src/site/markdown/index.md
+++ b/src/site/markdown/index.md
@@ -1,15 +1,15 @@
-# Overview
+## Overview
Apache Streams (incubating) unifies a diverse world of digital profiles and online activities into common formats and vocabularies, and makes these datasets accessible across a variety of databases, devices, and platforms for streaming, browsing, search, sharing, and analytics use-cases.
-## What is Streams?
+### What is Streams?
Apache Streams contains JRE-based modules that developers can use to easily integrate with online data sources and build polyglot indexes of activities, entities, and relationships - all based on public standards such as [Activity Streams](activitystrea.ms), or other published organizational standards.
-## Why use Streams?
+### Why use Streams?
Streams contains libraries and patterns for specifying, publishing, and inter-linking schemas, and assists with conversion of activities (posts, shares, likes, follows, etc.) and objects (profiles, pages, photos, videos, etc.) between the representation, format, and encoding preferred by supported data providers (Twitter, Instagram, etc.), and storage services (Cassandra, Elasticsearch, HBase, HDFS, Neo4J, etc.)
-## Why is Streams important?
+### Why is Streams important?
The project aims to provide simple two-way data interchange with all popular REST APIs in activity streams formats using a universal protocol. No other active open-source project has this ambitious goal, as well as production-worthy implementations for >10 services. Streams compatibility with multiple storage back-ends and ability to be embedded within any java-based real-time or batch data processing platform ensures that its interoperability features come with little technical baggage.
-# Disclaimer
+### Disclaimer
Apache Streams is an effort undergoing incubation at [The Apache Software Foundation (ASF)](apache.org) sponsored by the [Apache Incubator PMC](incubator.apache.org). 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.
http://git-wip-us.apache.org/repos/asf/incubator-streams-master/blob/ecbb81a0/src/site/site.xml
----------------------------------------------------------------------
diff --git a/src/site/site.xml b/src/site/site.xml
index 547ac5d..dfcaf2a 100644
--- a/src/site/site.xml
+++ b/src/site/site.xml
@@ -44,19 +44,31 @@
<body>
<breadcrumbs>
<item name="Incubator" href="http://incubator.apache.org/"/>
+ <item name="Streams" href="http://streams.incubator.apache.org/"/>
</breadcrumbs>
<menu ref="parent" inherit="top"/>
- <menu name="Project Overview">
+ <menu name="Overview">
<item name="Overview" href="index.html" />
<item name="Architecture" href="architecture.html" />
<item name="Downloads" href="downloads.html" />
<item name="Frequently Asked Questions" href="faq.html" />
</menu>
+ <menu name="Details">
+ <item name="Project License" href="license.html" />
+ <item name="Mailing Lists" href="mail-lists.html" />
+ <item name="Project Team" href="team-list.html" />
+ <item name="Continuous Integration" href="integration.html"/>
+ <item name="Issue Tracking" href="issue-tracking.html" />
+ </menu>
+ <menu name="Projects">
+ <item name="streams-master" />
+ <item name="streams-project" href="http://streams.incubator.apache.org/site/0.2-incubating/streams-project" />
+ <item name="streams-examples" href="http://streams.incubator.apache.org/site/0.2-incubating-SNAPSHOT/streams-examples/" />
+ </menu>
<menu name="Getting Started">
<item name="Learn more about Activity Streams" href="http://activitystrea.ms" />
<item name="Check out streams-project web site" href="http://streams.incubator.apache.org/site/0.2-incubating/streams-project/" />
<item name="View the official Apache Streams jsonschema files" href="http://streams.incubator.apache.org/site/0.2-incubating/streams-project/streams-pojo/index.html" />
- <item name="Check out streams-examples web site" href="http://streams.incubator.apache.org/site/0.2-incubating-SNAPSHOT/streams-examples/" />
<item name="Set up a local environment to run streams" />
<item name="Set up a local database to store streams data" />
<item name="Build and run twitter-history-elasticsearch" href="http://streams.incubator.apache.org/site/0.2-incubating-SNAPSHOT/streams-examples/streams-examples-local/twitter-history-elasticsearch/index.html" />
@@ -65,11 +77,9 @@
<item name="Read about twitter / streams conversion" href="http://streams.incubator.apache.org/site/0.2-incubating/streams-project/streams-contrib/index.html" />
<item name="Learn about utility streams components" href="http://streams.incubator.apache.org/site/0.2-incubating/streams-project/streams-components/index.html" />
<item name="Learn about streams interoperability modules" href="http://streams.incubator.apache.org/site/0.2-incubating/streams-project/streams-contrib/index.html" />
- <item name="Browse the streams-project javadocs" href="http://streams.incubator.apache.org/site/0.2-incubating/streams-project/apidocs/index.html" />
</menu>
<menu name="Foundation">
<item name="Foundation Info" href="http://www.apache.org/" />
- <item name="License" href="http://apache.org/licenses/LICENSE-2.0.html" />
<item name="Sponsorship" href="http://www.apache.org/foundation/sponsorship.html" />
<item name="Thanks" href="http://www.apache.org/foundation/thanks.html" />
</menu>
http://git-wip-us.apache.org/repos/asf/incubator-streams-master/blob/ecbb81a0/src/site/site_en.xml
----------------------------------------------------------------------
diff --git a/src/site/site_en.xml b/src/site/site_en.xml
index 0068beb..dfcaf2a 100644
--- a/src/site/site_en.xml
+++ b/src/site/site_en.xml
@@ -44,19 +44,31 @@
<body>
<breadcrumbs>
<item name="Incubator" href="http://incubator.apache.org/"/>
+ <item name="Streams" href="http://streams.incubator.apache.org/"/>
</breadcrumbs>
<menu ref="parent" inherit="top"/>
- <menu name="Project Overview">
+ <menu name="Overview">
<item name="Overview" href="index.html" />
<item name="Architecture" href="architecture.html" />
<item name="Downloads" href="downloads.html" />
<item name="Frequently Asked Questions" href="faq.html" />
</menu>
+ <menu name="Details">
+ <item name="Project License" href="license.html" />
+ <item name="Mailing Lists" href="mail-lists.html" />
+ <item name="Project Team" href="team-list.html" />
+ <item name="Continuous Integration" href="integration.html"/>
+ <item name="Issue Tracking" href="issue-tracking.html" />
+ </menu>
+ <menu name="Projects">
+ <item name="streams-master" />
+ <item name="streams-project" href="http://streams.incubator.apache.org/site/0.2-incubating/streams-project" />
+ <item name="streams-examples" href="http://streams.incubator.apache.org/site/0.2-incubating-SNAPSHOT/streams-examples/" />
+ </menu>
<menu name="Getting Started">
<item name="Learn more about Activity Streams" href="http://activitystrea.ms" />
<item name="Check out streams-project web site" href="http://streams.incubator.apache.org/site/0.2-incubating/streams-project/" />
<item name="View the official Apache Streams jsonschema files" href="http://streams.incubator.apache.org/site/0.2-incubating/streams-project/streams-pojo/index.html" />
- <item name="Check out streams-examples web site" href="http://streams.incubator.apache.org/site/0.2-incubating-SNAPSHOT/streams-examples/" />
<item name="Set up a local environment to run streams" />
<item name="Set up a local database to store streams data" />
<item name="Build and run twitter-history-elasticsearch" href="http://streams.incubator.apache.org/site/0.2-incubating-SNAPSHOT/streams-examples/streams-examples-local/twitter-history-elasticsearch/index.html" />
@@ -68,7 +80,6 @@
</menu>
<menu name="Foundation">
<item name="Foundation Info" href="http://www.apache.org/" />
- <item name="License" href="http://apache.org/licenses/LICENSE-2.0.html" />
<item name="Sponsorship" href="http://www.apache.org/foundation/sponsorship.html" />
<item name="Thanks" href="http://www.apache.org/foundation/thanks.html" />
</menu>
[07/22] incubator-streams-master git commit: additional
streams-master site updates
Posted by sb...@apache.org.
additional streams-master site updates
Project: http://git-wip-us.apache.org/repos/asf/incubator-streams-master/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-streams-master/commit/88b9c369
Tree: http://git-wip-us.apache.org/repos/asf/incubator-streams-master/tree/88b9c369
Diff: http://git-wip-us.apache.org/repos/asf/incubator-streams-master/diff/88b9c369
Branch: refs/heads/master
Commit: 88b9c369f2dd06c5af25b0bcd3f9cdd384415004
Parents: 51428a8
Author: Steve Blackmon @steveblackmon <sb...@apache.org>
Authored: Mon Feb 29 17:07:48 2016 -0600
Committer: Steve Blackmon @steveblackmon <sb...@apache.org>
Committed: Mon Feb 29 17:07:48 2016 -0600
----------------------------------------------------------------------
pom.xml | 161 ++++++++++++++++++++---
src/site/markdown/dependency-info.md | 105 +++++++++++++++
src/site/markdown/downloads.md | 4 +-
src/site/markdown/faq.md | 24 ++--
src/site/markdown/integration.md | 14 ++
src/site/markdown/release-setup.md | 75 +++++++++++
src/site/markdown/release.md | 197 ++++++++++++++++++++++++++++
src/site/markdown/source-repository.md | 24 ++++
src/site/site_en.xml | 10 ++
9 files changed, 580 insertions(+), 34 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-streams-master/blob/88b9c369/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index f97941a..3eca798 100644
--- a/pom.xml
+++ b/pom.xml
@@ -68,29 +68,145 @@
</prerequisites>
<mailingLists>
- <mailingList>
+ <!-- <mailingList>
+ <name>User Mailing List</name>
+ <post>user@streams.incubator.apache.org</post>
+ <subscribe>user-subscribe@streams.incubator.apache.org</subscribe>
+ <unsubscribe>user-unsubscribe@streams.incubator.apache.org</unsubscribe>
+ <archive>http://mail-archives.apache.org/mod_mbox/incubator-streams-user/</archive>
+ </mailingList> -->
+ <mailingList>
<name>Dev Mailing List</name>
<post>dev@streams.incubator.apache.org</post>
<subscribe>dev-subscribe@streams.incubator.apache.org</subscribe>
<unsubscribe>dev-unsubscribe@streams.incubator.apache.org</unsubscribe>
+ <archive>http://mail-archives.apache.org/mod_mbox/incubator-streams-dev/</archive>
</mailingList>
<mailingList>
- <name>User Mailing List</name>
- <post>user@streams.incubator.apache.org</post>
- <subscribe>user-subscribe@streams.incubator.apache.org</subscribe>
- <unsubscribe>user-unsubscribe@streams.incubator.apache.org</unsubscribe>
+ <name>Commits Mailing List</name>
+ <post>commits@streams.incubator.apache.org</post>
+ <subscribe>commits-subscribe@streams.incubator.apache.org</subscribe>
+ <unsubscribe>commits-unsubscribe@streams.incubator.apache.org</unsubscribe>
+ <archive>http://mail-archives.apache.org/mod_mbox/incubator-streams-commits/</archive>
</mailingList>
</mailingLists>
<developers>
- <developer>
+ <developer>
+ <id>rbaxter85</id>
+ <name>Ryan Baxter</name>
+ <email>rbaxter85@apache.org</email>
+ <url>http://twitter.com/ryanjbaxter</url>
+ <roles>
+ <role>Committer</role>
+ </roles>
+ </developer>
+ <developer>
<id>sblackmon</id>
<name>Steve Blackmon</name>
<email>sblackmon@apache.org</email>
- <url>https://github.com/steveblackmon</url>
- <organization>Apache Software Foundation</organization>
- <organizationUrl>http://streams.incubator.apache.org</organizationUrl>
+ <url>http://twitter.com/steveblackmon</url>
+ <roles>
+ <role>PPMC Member</role>
+ <role>Committer</role>
+ </roles>
+ <properties>
+ <picUrl>https://avatars.githubusercontent.com/steveblackmon</picUrl>
+ </properties>
+ </developer>
+ <developer>
+ <id>rdouglas</id>
+ <name>Robert Douglas</name>
+ <email>rdouglas@apache.org</email>
+ <roles>
+ <role>PPMC Member</role>
+ <role>Committer</role>
+ </roles>
</developer>
+ <developer>
+ <id>ate</id>
+ <name>Ate Douma</name>
+ <email>ate@apache.org</email>
+ <url>http://twitter.com/atedouma</url>
+ <roles>
+ <role>Mentor</role>
+ <role>PPMC Member</role>
+ <role>Committer</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>rebanks</id>
+ <name>Ryan Ebanks</name>
+ <email>rebanks@apache.org</email>
+ <url>http://twitter.com/ebanksre</url>
+ <roles>
+ <role>PPMC Member</role>
+ <role>Committer</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>chansen</id>
+ <name>Carol Hansen</name>
+ <email>chansen@apache.org</email>
+ <url>http://twitter.com/carolbirgitta</url>
+ <roles>
+ <role>PPMC Member</role>
+ <role>Committer</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>ahart</id>
+ <name>Andrew Hart</name>
+ <email>ahart@apache.org</email>
+ <url>http://twitter.com/andrewfhart</url>
+ <roles>
+ <role>Mentor</role>
+ <role>PPMC Member</role>
+ <role>Committer</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>mfranklin</id>
+ <name>Matt Franklin</name>
+ <email>mfranklin@apache.org</email>
+ <url>http://twitter.com/mattfranklin</url>
+ <roles>
+ <role>Mentor</role>
+ <role>PPMC Member</role>
+ <role>Committer</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>letourneau</id>
+ <name>Jason Letourneau</name>
+ <email>letourneau@apache.org</email>
+ <url>http://twitter.com/jletourneau8080</url>
+ <roles>
+ <role>PPMC Member</role>
+ <role>Committer</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>craigmcc</id>
+ <name>Craig McClanahan</name>
+ <email>craigmcc@apache.org</email>
+ <url>http://twitter.com/craigmcclanahan</url>
+ <roles>
+ <role>Mentor</role>
+ <role>PPMC Member</role>
+ <role>Committer</role>
+ </roles>
+ </developer>
+ <developer>
+ <id>dsullivan</id>
+ <name>Danny Sullivan</name>
+ <email>dsullivan@apache.org</email>
+ <url>http://twitter.com/dbsullivan23</url>
+ <roles>
+ <role>PPMC Member</role>
+ <role>Committer</role>
+ </roles>
+ </developer>
</developers>
<repositories>
@@ -461,13 +577,6 @@
<version>${war.plugin.version}</version>
</plugin>
<plugin>
- <artifactId>maven-project-info-reports-plugin</artifactId>
- <version>${reports.plugin.version}</version>
- <configuration>
- <dependencyLocationsEnabled>false</dependencyLocationsEnabled>
- </configuration>
- </plugin>
- <plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>${dependency.plugin.version}</version>
@@ -564,24 +673,34 @@
</build>
<reporting>
- <plugins>
+ <plugins>
<plugin>
+ <groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-project-info-reports-plugin</artifactId>
+ <version>${reports.plugin.version}</version>
+ <configuration>
+ <customBundle>${project.basedir}/src/site/custom/project-info-report.properties</customBundle>
+ <dependencyLocationsEnabled>false</dependencyLocationsEnabled>
+ </configuration>
<reportSets>
<reportSet>
<reports><!-- select reports -->
- <report>cim</report>
+ <!--<report>cim</report>-->
+ <!--<report>scm</report>-->
<report>license</report>
<report>mailing-list</report>
<report>project-team</report>
+ <report>scm</report>
+ <report>help</report>
<report>issue-tracking</report>
+ <report>dependencies</report>
+ <report>dependency-info</report>
+ <report>dependency-management</report>
<report>distribution-management</report>
+ <report>plugin-management</report>
</reports>
</reportSet>
</reportSets>
- <configuration>
- <dependencyLocationsEnabled>false</dependencyLocationsEnabled>
- </configuration>
</plugin>
<plugin>
<artifactId>maven-site-plugin</artifactId>
http://git-wip-us.apache.org/repos/asf/incubator-streams-master/blob/88b9c369/src/site/markdown/dependency-info.md
----------------------------------------------------------------------
diff --git a/src/site/markdown/dependency-info.md b/src/site/markdown/dependency-info.md
new file mode 100644
index 0000000..44d4e21
--- /dev/null
+++ b/src/site/markdown/dependency-info.md
@@ -0,0 +1,105 @@
+##Dependency Info
+
+This project uses [Maven](http://maven.apache.org/ "Maven") for dependency management.
+
+Below are some examples of how to import Streams artifacts into your project.
+
+Please note that your project should import multiple artifacts corresponding to the Components in your stream and the Runtime used to execute your stream.
+
+You should *not* import streams-master (depicted below), because it does not do anything interesting.
+
+Browse the "Project Modules" index of streams-project to find artifacts you might want to import.
+
+[streams-project-modules](http://streams.incubator.apache.org/site/0.2-incubating/streams-project/modules.html "http://streams.incubator.apache.org/site/0.2-incubating/streams-project/modules.html")
+
+<div class="section">
+
+<h3><a name="Apache_Maven"></a>Apache Maven</h3><a name="Apache_Maven"></a>
+
+<div class="source">
+
+<pre class="prettyprint"><dependency>
+ <groupId>org.apache.streams</groupId>
+ <artifactId>streams-master</artifactId>
+ <version>0.3-incubating-SNAPSHOT</version>
+ <type>pom</type>
+</dependency></pre>
+
+</div>
+
+</div>
+
+<div class="section">
+
+<h3><a name="Apache_Buildr"></a>Apache Buildr</h3><a name="Apache_Buildr"></a>
+
+<div class="source">
+
+<pre class="prettyprint">'org.apache.streams:streams-master:pom:0.3-incubating-SNAPSHOT'</pre>
+
+</div>
+
+</div>
+
+<div class="section">
+
+<h3><a name="Apache_Ivy"></a>Apache Ivy</h3><a name="Apache_Ivy"></a>
+
+<div class="source">
+
+<pre class="prettyprint"><dependency org="org.apache.streams" name="streams-master" rev="0.3-incubating-SNAPSHOT">
+ <artifact name="streams-master" type="pom" />
+</dependency></pre>
+
+</div>
+
+</div>
+
+<div class="section">
+
+<h3><a name="Groovy_Grape"></a>Groovy Grape</h3><a name="Groovy_Grape"></a>
+
+<div class="source"><pre class="prettyprint">@Grapes(
+@Grab(group='org.apache.streams', module='streams-master', version='0.3-incubating-SNAPSHOT')
+)</pre>
+
+</div>
+
+<div>
+
+<div class="section">
+
+<h3><a name="Grails"></a>Grails</h3><a name="Grails"></a>
+
+<div class="source"><pre class="prettyprint">compile 'org.apache.streams:streams-master:0.3-incubating-SNAPSHOT'</pre>
+
+</div>
+
+</div>
+
+<div class="section">
+<h3><a name="Leiningen"></a>Leiningen</h3><a name="Leiningen"></a>
+
+<div class="source">
+
+<pre class="prettyprint">[org.apache.streams/streams-master "0.3-incubating-SNAPSHOT"]</pre>
+
+</div>
+
+</div>
+
+<div class="section">
+
+<h3><a name="SBT"></a>SBT</h3><a name="SBT"></a>
+
+<div class="source">
+
+<pre class="prettyprint">libraryDependencies += "org.apache.streams" % "streams-master" % "0.3-incubating-SNAPSHOT"</pre>
+
+</div>
+
+</div>
+
+</div>
+
+</div>
http://git-wip-us.apache.org/repos/asf/incubator-streams-master/blob/88b9c369/src/site/markdown/downloads.md
----------------------------------------------------------------------
diff --git a/src/site/markdown/downloads.md b/src/site/markdown/downloads.md
index 5226618..9d055d4 100644
--- a/src/site/markdown/downloads.md
+++ b/src/site/markdown/downloads.md
@@ -4,6 +4,6 @@ All downloads can be verified using Apache Streams code signing.
### Streams Project
-| Version | Source |
+| Version | Source | asc | md5 | sha1 |
|---------|--------|
-| 0.2-incubating | [zip](https://dist.apache.org/repos/dist/release/incubator/streams/releases/streams-project/streams-project/streams-project-0.1-incubating-source-release.zip) ([asc](https://dist.apache.org/repos/dist/release/incubator/streams/releases/0.2-incubating/streams-project/streams-project-0.1-incubating-source-release.zip.asc) [md5](https://dist.apache.org/repos/dist/release/incubator/streams/releases/0.2-incubating/streams-project/streams-project-0.1-incubating-source-release.zip.md5) [sha1](https://dist.apache.org/repos/dist/release/incubator/streams/releases/0.2-incubating/streams-project/streams-project-0.1-incubating-source-release.zip.sha1)) |
\ No newline at end of file
+| 0.2-incubating | [zip](https://dist.apache.org/repos/dist/release/incubator/streams/releases/streams-project/streams-project/streams-project-0.2-incubating-source-release.zip) | [asc](https://dist.apache.org/repos/dist/release/incubator/streams/releases/0.2-incubating/streams-project/streams-project-0.2-incubating-source-release.zip.asc) | [md5](https://dist.apache.org/repos/dist/release/incubator/streams/releases/0.2-incubating/streams-project/streams-project-0.2-incubating-source-release.zip.md5) | [sha1](https://dist.apache.org/repos/dist/release/incubator/streams/releases/0.2-incubating/streams-project/streams-project-0.2-incubating-source-release.zip.sha1) |
http://git-wip-us.apache.org/repos/asf/incubator-streams-master/blob/88b9c369/src/site/markdown/faq.md
----------------------------------------------------------------------
diff --git a/src/site/markdown/faq.md b/src/site/markdown/faq.md
index 151852a..0cb87b5 100644
--- a/src/site/markdown/faq.md
+++ b/src/site/markdown/faq.md
@@ -29,9 +29,9 @@ Apache Streams is not
* one-size-fits-all
* only useful for projects fully dedicated to activity streams datasets
-The primary Streams git repository incubator-streams (org.apache.streams:streams-project) contains a library of modules inputs, outputs, and reusable components for tranforming and enriching data streams. Similar modules can also be hosted externally - so long as they publish maven artifacts compatible with your version of streams, you can import and use them in your streams easily.
+The primary Streams git repository incubator-streams (org.apache.streams:streams-project) contains a library of modules inputs, outputs, and reusable components for transforming and enriching data streams. Similar modules can also be hosted externally - so long as they publish maven artifacts compatible with your version of streams, you can import and use them in your streams easily.
-The streams community also supports a seperate repository incubator-streams-examples (org.apache.streams:streams-examples) which contains a library of simple streams that are 'ready-to-run'. Look here to see what Streams user code look like.
+The streams community also supports a separate repository incubator-streams-examples (org.apache.streams:streams-examples) which contains a library of simple streams that are 'ready-to-run'. Look here to see what Streams user code look like.
### Why bother with any data framework at all?
@@ -49,9 +49,9 @@ Or maybe by joining forces with others who have more than just a passing interes
### How is streams different than "*processing framework*"?
-You don't have to look hard to find great data processing frameworks for batch or for real-time. Storm, Spark, Samza, Flink, and Dataflow are well-known, well-documented, and solid. At the core these platforms help you specify inputs, outputs, and a directed graph of computation and then run your code at scale.
+You don't have to look hard to find great data processing frameworks for batch or for real-time. Storm, Spark, Samza, Flink, and Google Cloud Dataflow (soon-to-be Apache Beam) are mature and well-documented. NiFi and Apex are interesting new options. At the core these platforms help you specify inputs, outputs, and a directed graph of computation and then run your code at scale.
-Streams supports a similar computational model, but is more focused on intelligently modeling the data that will flow through the stream. In this sense Streams is an alternative to avro or protocol buffers which prioritizes flexibility, expressivity, interoperability, and tooling ahead of speed or compute efficiency.
+Streams supports a similar computational model, but is more focused on intelligently modeling the data that will flow through the stream than on stream execution. In this sense Streams is an alternative to avro or protocol buffers which prioritizes flexibility, expressivity, interoperability, and tooling ahead of speed or compute efficiency.
Streams also seeks to make it easy to design and evolve streams, and to configure complex streams sensibly. Where many processing frameworks leave all business logic and configuration issues to the developer, streams modules are designed to mix-and-match. Streams modules expect to be embedded with other frameworks and are organized to make that process painless.
@@ -72,19 +72,21 @@ A better long-term approach is to archive each data series you observe, and labe
### What if I need data from "*specific API*"?
No problem - anyone can write a Streams provider. The project contains providers that use a variety of strategies to generate near-real-time data streams, including:
- - sockets
- - webhooks
- - polling
- - scraping
+
+* sockets
+* webhooks
+* polling
+* scraping
Providers can run continuously and pass-through new data, or they can work sequentially through a backlog of items. If you need to collect so many items that you can't fit all of their ids in the memory available to your stream, a stream provider can read an arbitrarily long sequence of ids and hand those off to other providers for collection.
### What if I want to keep data in "*unsupported database*"?
No problem - anyone can write a Streams persist reader or persist writer. The project contains persist writers that:
- - write documents efficiently with batch-style binary indexing
- - write documents one-by-one to services with REST api endpoints
- - write data to local or distributed buffers.
+
+* write documents efficiently with batch-style binary indexing
+* write documents one-by-one to services with REST api endpoints
+* write data to local or distributed buffers.
If you just want to use streams providers to collect and feed incoming data into a queueing system to work with outside of streams that's just fine.
http://git-wip-us.apache.org/repos/asf/incubator-streams-master/blob/88b9c369/src/site/markdown/integration.md
----------------------------------------------------------------------
diff --git a/src/site/markdown/integration.md b/src/site/markdown/integration.md
new file mode 100644
index 0000000..5a79b5b
--- /dev/null
+++ b/src/site/markdown/integration.md
@@ -0,0 +1,14 @@
+##Overview
+This project uses [Jenkins](http://jenkins-ci.org/ "Jenkins") for continuous integration.
+
+###streams-master
+
+[streams-master](index.html "streams-master") builds run at [builds.apache.com/job/Streams Master](https://builds.apache.org/job/Streams%20Master/ "builds.apache.com/job/Streams%20Master")
+
+###streams-project
+
+[streams-project](http://streams.incubator.apache.org/site/0.2-incubating/streams-project "streams-project") builds run at [builds.apache.com/job/Streams Trunk](https://builds.apache.org/job/Streams%20Trunk/ "builds.apache.com/job/Streams%20Trunk")
+
+###streams-examples
+
+[streams-examples](http://streams.incubator.apache.org/site/0.2-incubating/streams-examples "streams-examples") builds run at [builds.apache.com/job/Streams Examples](https://builds.apache.org/job/Streams%20Examples/ "builds.apache.com/job/Streams%20Examples")
http://git-wip-us.apache.org/repos/asf/incubator-streams-master/blob/88b9c369/src/site/markdown/release-setup.md
----------------------------------------------------------------------
diff --git a/src/site/markdown/release-setup.md b/src/site/markdown/release-setup.md
new file mode 100644
index 0000000..cb83c93
--- /dev/null
+++ b/src/site/markdown/release-setup.md
@@ -0,0 +1,75 @@
+Release Setup
+These setup steps only need to be performed on a particular machine once.
+
+Developers using Linux workstations can skip over the references to Cygwin. If using Windows, install cygwin, including Utils/gnupg and Net/openssh packages.
+
+Create and install a SSH key
+
+Open a shell window. If using Windows, open a cygwin window.
+Use ssh-keygen to create an SSH key.
+Follow the latest steps and guides on the ASF website as you should NOT be using SHA1 and new keys MUST be at least 4096 bits.
+
+ $ ssh-keygen -t rsa -b 4096
+Program defaults should be fine. No passphrase is required for the ssh key generation. The keys will be saved in ~/.ssh/id_dsa (private) and ~/.ssh/id_dsa.pub (public).
+
+See Authenticating By Public Key (OpenSSH) for a good description on why and how to perform this task.
+
+SCP your SSH public key ~/.ssh/id_dsa.pub created in last step to ~/id_dsa.pub on people.apache.org.
+$ cd ~/.ssh
+$ scp id_dsa.pub @people.apache.org:id_dsa.pub
+$ You will be prompted for your password.
+
+Use ssh to login to people.apache.org
+
+$ cd ~
+$ ssh @people.apache.org
+
+At this point, you will still be prompted for your password.
+
+Create a ~/.ssh folder in your home directory on people.apache.org and change its file mode to 700.
+
+$ mkdir ~/.ssh
+$ chmod 700 ~/.ssh
+Move or append ~/id_dsa.pub to ~/.ssh/authorized_keys and change its file mode to 600.
+
+$ mv ~/id_dsa.pub ~/.ssh/authorized_keys $ chmod 600 ~/.ssh/authorized_keys
+
+*Each public key in the authorized_keys spans only one line.
+For example: "ssh-dss AAAAB3NzaC1kc3MAAA ..... agBmmfZ9uAbSqA== dsa-key-20071107"
+'#' in the first column is a comment line.*
+Exit out of this ssh session.
+
+Start a new ssh session. No login should be required this time due to the private ssh key on your local box matching up with the public ssh key in your home directory (~/.ssh).
+
+$ ssh @people.apache.org
+
+If you are still prompted for a password, then you have not set up the ssh keys properly. Review the steps above and ensure that all of the steps were followed properly. Or, maybe the instructions are still not quite right and they still need some adjusting. In that case, please update the instructions accordingly.
+
+Create a GPG key
+
+Open a shell window. If using Windows, open a cygwin window.
+Generate a key-pair with gpg, using default key kind ("RSA and RSA") and keys size (4096).
+
+$ gpg --gen-key
+
+The program's default values should be fine. For the "Real Name" enter your full name (ie. Stan Programmer). For the "e-mail address" enter your apache address (ie. sprogrammer@apache.org). You will also be required to enter a "passphrase" for the GPG key generation. Keep track of this as you will need this for the Release processing.
+
+The generated keys are stored in $HOME/.gnupg or %HOME%\Application Data\gnupg subdirectory.
+
+Save the content in this subdirectory to a safe media. This contains your private key used to sign all the Streams release materials.
+
+Backup your home directory to another media ||
+
+Add your public key to the SVN repository. See the commands describe at the beginning of this KEYS file to perform this task. The gpg key-pair is used to sign the published artifacts for the Streams releases.
+
+$ gpg --list-sigs && gpg --armor -- export
+
+The KEYS file is updated via normal svn commit procedures. The one under w.a.o/dist/ has to be manually updated from svn.
+
+Submit your public key to a key server. E.g. SURFNET or MIT
+
+Following the instructions in http://people.apache.org/~henkp/trust/ and ask multiple (at least 3) current Apache committers to sign your public key.
+
+Configure Maven
+
+Update your ~/.m2/settings.xml with the properties from Publishing Maven Artifacts
http://git-wip-us.apache.org/repos/asf/incubator-streams-master/blob/88b9c369/src/site/markdown/release.md
----------------------------------------------------------------------
diff --git a/src/site/markdown/release.md b/src/site/markdown/release.md
new file mode 100644
index 0000000..675ea7c
--- /dev/null
+++ b/src/site/markdown/release.md
@@ -0,0 +1,197 @@
+Release Process
+
+
+Release Steps Overview
+There are two distinct sets of artifacts that are released on independent schedules: streams-master & streams-project. The streams-master is the project metadata and only needs to be released when there is a change in the structure of the project itself. The streams-project artifacts are comprised of all streams source code, binaries and a standalone demo. For release setup information, refer to Release Setup Information.
+
+All of the steps below apply to both the master and project releases, unless otherwise specified. As an alternative to releasing separately, the projects MAY be released together as one combined release. The steps for this can be found below. (Combined Release Steps)
+
+Common Release Steps
+
+Environment setup for releasing artifacts (same for SNAPSHOTs and releases)
+
+Increase the default Java heap available to Maven (required for Java SE 6)
+
+export MAVEN_OPTS="-Xmx1024m -XX:MaxPermSize=256m"
+
+Use the latest Sun 1.7.0 JDK
+
+Use Maven 3.2.1 or later
+
+Make sure the Release Setup steps have been performed.
+
+Prepare the source for release:
+
+Cleanup JIRA so the Fix Version in issues resolved since the last release includes this release version correctly.
+Update the text files in a working copy of the project root -
+Update the CHANGELOG based on the Text release reports from JIRA.
+Review and update README.md if needed.
+Commit any changes back to git
+Stage any Roadmap or Release landing pages on the site.
+Create a release candidate branch from master. X should start at 1 and increment if early release candidates fail to complete the release cycle.
+
+$ git checkout master $ git branch {$project.version}-rcX
+
+Verify the source has the required license headers before trying to release:
+
+$ mvn -P apache-release clean rat:check -e -DskipTests
+
+Do a dry run of the release:prepare step:
+
+$ mvn -P apache-release release:prepare -DautoVersionSubmodules=true -DdryRun=true
+The dry run will not commit any changes back to SCM and gives you the opportunity to verify that the release process will complete as expected. You will be prompted for the following information :
+
+Release version - take the default (should be ${project.version}-incubating)
+SCM release tag - DO NOT TAKE THE DEFAULT - ${project.version}-rcX
+New development version - take the default (should be ${project.version}-incubating-SNAPSHOT)
+GPG Passphrase
+If you cancel a release:prepare before it updates the pom.xml versions, then use the release:clean goal to just remove the extra files that were created.
+
+The Maven release plugin checks for SNAPSHOT dependencies in pom's. It will not complete the prepare goal until all SNAPSHOT dependencies are resolved.
+
+Verify that the release process completed as expected
+
+The release plugin will create pom.xml.tag files which contain the changes that would have been committed to SVN. The only differences between pom.xml.tag and it's corresponding pom.xml file should be the version number.
+Check release.properties and make sure that the scm properties have the right version. Sometimes the scm location can be the previous version not the next version.
+Verify signatures (Verifying release signatures)
+Cleanup the release prepare files again:
+
+$ mvn -P apache-release release:clean
+Prepare the release
+
+Run the "release:prepare" step for real this time. You'll be prompted for the same version information.
+
+$ mvn -P apache-release -U clean release:prepare -DautoVersionSubmodules=true
+
+Backup (zip or tar) your local release candidate directory in case you need to rollback the release after the next step is performed.
+
+Perform the release
+
+This step will create a maven staging repository and site for use in testing and voting.
+
+$ mvn -Papache-release -Darguments='-Dmaven.test.skip.exec=true' release:perform -Dgoals=deploy -DlocalRepoDirectory=. -DlocalCheckout=true
+
+If your local OS userid doesn't match your Apache userid, then you'll have to also override the value provided by the OS to Maven for the site-deploy step to work. This is known to work for Linux, but not for Mac and unknown for Windows.
+
+-Duser.name=[your_apache_uid]
+
+Verify the Nexus release artifacts
+
+Verify the staged artifacts in the nexus repo
+
+https://repository.apache.org/index.html
+Staging repositories (under Build Promotion) --> Name column --> org.apache.streams
+Navigate through the artifact tree and make sure that all javadoc, sources, tests, jars, ... have .asc (GPG signature) and .md5 files. See http://people.apache.org/~henkp/repo/faq.html and http://www.apache.org/dev/release-signing.html#openpgp-ascii-detach-sig
+Close the nexus staging repo
+
+https://repository.apache.org/index.html
+Staging repositories (under Build Promotion) --> Name column --> org.apache.streams
+Click checkbox for the open staging repo (org.apache.streams-XXX) and press Close in the menu bar.
+Put the release candidate up for a vote
+
+Create a VOTE email thread on dev@ to record votes as replies
+Create a DISCUSS email thread on dev@ for any vote questions
+Perform a review of the release and cast your vote. See the following for more details on Apache releases
+
+http://www.apache.org/dev/release.html
+
+A -1 vote does not necessarily mean that the vote must be redone, however it is usually a good idea to rollback the release if a -1 vote is received. See - Recovering from a vetoed release
+
+After the vote has been open for at least 72 hours, has at least three +1 PMC votes and no -1 votes, then post the results to the vote thread by -
+reply to the initial email and prepend to the original subject "[RESULT]"
+Include a list of everyone who voted +1, 0 or -1.
+If there are fewer than 3 +1 (binding) votes from IPMC members, submit a vote to general@incubator.apache.org requesting additional IPMC member votes.
+Finalizing a release
+
+Promote the staged nexus artifacts
+
+https://repository.apache.org/index.html
+Staging repositories (under Build Promotion) --> Name column --> org.apache.streams
+Click checkbox of the closed staging repo (org.apache.streams-XXX) and select Release.
+Copy the source artifacts over to the distribution area
+
+$ svn co https://dist.apache.org/repos/dist/release/incubator/streams/releases ./streams-releases (KEEP this directory until after the release process has been completed)
+$ cd ./streams-releases
+$ mkdir ${project.version}
+$ cd ./${project.version}
+$ wget https://repository.apache.org/content/repositories/releases/org/apache/streams/${project.name}/${project.version}/${project.name}-${project.version}-source-release.zip
+$ wget https://repository.apache.org/content/repositories/releases/org/apache/streams/${project.name}/${project.version}/${project.name}-${project.version}-source-release.zip.asc
+$ wget https://repository.apache.org/content/repositories/releases/org/apache/streams/${project.name}/${project.version}/${project.name}-${project.version}-source-release.zip.md5
+$ svn add ${project.name}-*
+$ svn commit -m "Committing Source Release for ${project.name}-${project.version}
+Create an official release tag from the successful release candidate tag.
+
+$ git checkout streams-project-${project.version}-rcX
+$ git tag -a streams-project-${project.version} -m 'release tag streams-project-${project.version}'
+$ git push origin :refs/tags/streams-project-${project.version}
+Update the staged website
+
+Update the downloads page to add new version using the mirrored URLs
+Modify the URL for the prior release to the archived URL for the release
+Publish the website
+
+WAIT 24hrs after committing releases for mirrors to replicate
+Publish updates to the download page
+Delete the prior versions
+
+Navigate to the release directories checked out in the prior steps
+Delete the prior release artifacts using the svn delete command
+Commit the deletion
+Update the JIRA versions page to close all issues, mark the version as "released", and set the date to the date that the release was approved. You may also need to make a new release entry for the next release.
+
+Announcing the release
+
+Make a news announcement on the streams homepage.
+Make an announcement about the release on the users@streams.apache.org, dev@streams.apache.org, and announce@apache.org list as per the Apache Announcement Mailing Lists page)
+Recovering from a vetoed release
+
+Reply to the initial vote email and prepend to the original subject -
+
+[CANCELED]
+
+Clean the release prepare files and hard reset the release candidate branch.
+
+mvn -P apache-release release:clean
+
+Delete the git tag created by the release:perform step -
+
+$ git tag -d streams-project-${project.version}-rcX $ git push origin :refs/tags/streams-project-${project.version}-rcX
+
+Delete the build artifacts on people & www
+
+$ rm -rfv /www/people.apache.org/builds/streams/${project.version}
+$ rm -rfv /www/www.apache.org/dist/streams/${project.version}
+Drop the nexus staging repo
+
+https://repository.apache.org/index.html
+Enterprise --> Staging
+Staging tab --> Name column --> org.apache.streams
+Right click on the closed staging repo (org.apache.streams-XXX) and select Drop.
+Remove the staged site
+
+Make the required updates that caused the vote to be canceled during the next release cycle
+
+
+Verifying release signatures
+
+On unix platforms the following command can be executed -
+
+ for file in `find . -type f -iname '*.asc'`
+ do
+ gpg --verify ${file}
+ done
+You'll need to look at the output to ensure it contains only good signatures -
+
+gpg: Good signature from ... gpg: Signature made ...
+
+
+Combined Release
+
+In order to perform a combined release of the streams-master and streams-project trunks, do the following:
+
+Perform Steps 1-9 of the release for streams Master & streams Project
+Do NOT perform step 10 until steps 1-9 have been completed for BOTH projects
+Build the streams-master FIRST
+When prompted to change the streams-project dependency on streams-master SNAPSHOT, do so to the release that you just built
+Execute the remaining steps using the following e-mail templates
+PMC Release Vote
http://git-wip-us.apache.org/repos/asf/incubator-streams-master/blob/88b9c369/src/site/markdown/source-repository.md
----------------------------------------------------------------------
diff --git a/src/site/markdown/source-repository.md b/src/site/markdown/source-repository.md
new file mode 100644
index 0000000..fe6f8b2
--- /dev/null
+++ b/src/site/markdown/source-repository.md
@@ -0,0 +1,24 @@
+##Overview
+This project uses [Git](http://git.org/ "Git") for source control.
+
+Only project committers are permitted to push to git-wip-us.apache.org.
+
+However, anyone may open pull requests via github.org.
+
+###streams-master
+
+[streams-master](index.html "streams-master") source is officially hosted at [git-wip-us.apache.org/repos/asf/incubator-streams-master.git](https://git-wip-us.apache.org/repos/asf/incubator-streams-master.git "https://git-wip-us.apache.org/repos/asf/incubator-streams-master.git")
+
+[streams-master](index.html "streams-master") source is also hosted at [github.com/apache/incubator-streams-master.git](https://github.com/apache/incubator-streams-master.git "https://github.com/apache/incubator-streams-master.git")
+
+###streams-project
+
+[streams-project](http://streams.incubator.apache.org/site/0.2-incubating/streams-project "streams-project") source is officially hosted at [git-wip-us.apache.org/repos/asf/incubator-streams.git](https://git-wip-us.apache.org/repos/asf/incubator-streams.git "https://git-wip-us.apache.org/repos/asf/incubator-streams.git")
+
+[streams-project](index.html "streams-project") source is also hosted at [github.com/apache/incubator-streams.git](https://github.com/apache/incubator-streams.git "https://github.com/apache/incubator-streams.git")
+
+###streams-examples
+
+[streams-examples](http://streams.incubator.apache.org/site/0.2-incubating/streams-project "streams-examples") source is officially hosted at [git-wip-us.apache.org/repos/asf/incubator-streams-examples.git](https://git-wip-us.apache.org/repos/asf/incubator-streams-examples.git "https://git-wip-us.apache.org/repos/asf/incubator-streams-examples.git")
+
+[streams-examples](http://streams.incubator.apache.org/site/0.2-incubating/streams-project "streams-examples") source is also hosted at [github.com/apache/incubator-streams-examples.git](https://github.com/apache/incubator-streams-examples.git "https://github.com/apache/incubator-streams-examples.git")
http://git-wip-us.apache.org/repos/asf/incubator-streams-master/blob/88b9c369/src/site/site_en.xml
----------------------------------------------------------------------
diff --git a/src/site/site_en.xml b/src/site/site_en.xml
index dfcaf2a..99d3a23 100644
--- a/src/site/site_en.xml
+++ b/src/site/site_en.xml
@@ -59,6 +59,12 @@
<item name="Project Team" href="team-list.html" />
<item name="Continuous Integration" href="integration.html"/>
<item name="Issue Tracking" href="issue-tracking.html" />
+ <item name="Source Repositories" href="source-repository.html" />
+ <item name="Dependency Info" href="dependency-info.html" />
+ <item name="Distribution Management" href="distribution-management.html" />
+ <item name="Plugin Management" href="plugin-management.html" />
+ <item name="Release Setup" href="release-setup.html" />
+ <item name="Release Process" href="release.html" />
</menu>
<menu name="Projects">
<item name="streams-master" />
@@ -83,5 +89,9 @@
<item name="Sponsorship" href="http://www.apache.org/foundation/sponsorship.html" />
<item name="Thanks" href="http://www.apache.org/foundation/thanks.html" />
</menu>
+ <menu name="Other Resources">
+ <item name="Streams Proposal Wiki Page" href="http://wiki.apache.org/incubator/StreamsProposal" />
+ <item name="ActivityStreams Specifications" href="http://activitystrea.ms/specs/" />
+ </menu>
</body>
</project>
[13/22] incubator-streams-master git commit: add tutorial,
website instructions, use latest instead of absolute versions
Posted by sb...@apache.org.
add tutorial, website instructions, use latest instead of absolute versions
Project: http://git-wip-us.apache.org/repos/asf/incubator-streams-master/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-streams-master/commit/a3b44b92
Tree: http://git-wip-us.apache.org/repos/asf/incubator-streams-master/tree/a3b44b92
Diff: http://git-wip-us.apache.org/repos/asf/incubator-streams-master/diff/a3b44b92
Branch: refs/heads/master
Commit: a3b44b926df39f9840d1233af7774e808cf72163
Parents: b0c4310
Author: Steve Blackmon @steveblackmon <sb...@apache.org>
Authored: Mon Apr 25 15:20:01 2016 -0500
Committer: Steve Blackmon @steveblackmon <sb...@apache.org>
Committed: Mon Apr 25 15:20:01 2016 -0500
----------------------------------------------------------------------
src/site/markdown/tutorial/build.md | 14 +--
src/site/markdown/tutorial/database.md | 8 +-
src/site/markdown/tutorial/docker.md | 2 +-
src/site/markdown/tutorial/environment.md | 8 +-
src/site/markdown/website.md | 159 +++++++++++++++++++++++++
src/site/site.xml | 18 +--
src/site/site_en.xml | 18 +--
7 files changed, 193 insertions(+), 34 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-streams-master/blob/a3b44b92/src/site/markdown/tutorial/build.md
----------------------------------------------------------------------
diff --git a/src/site/markdown/tutorial/build.md b/src/site/markdown/tutorial/build.md
index 1608b28..a51f2c2 100644
--- a/src/site/markdown/tutorial/build.md
+++ b/src/site/markdown/tutorial/build.md
@@ -56,24 +56,24 @@ See [streams-project-index.html](http://streams.incubator.apache.org/site/0.2-in
Run from your command line:
- `git clone https://github.com/apache/incubator-streams`
- `git clone https://github.com/apache/incubator-streams-examples`
+> git clone https://github.com/apache/incubator-streams
+> git clone https://github.com/apache/incubator-streams-examples
### Build Projects
Run from your command line:
- `export MAVEN_OPTS="-Xmx2G"`
- `cd incubator-streams`
- `mvn clean install -Dmaven.test.skip.exec=true`
+> export MAVEN_OPTS="-Xmx2G"
+> cd incubator-streams
+> mvn clean install -Dmaven.test.skip.exec=true
| Possible result | Explanation |
|-----------------|-------------|
| BUILD SUCCESSFUL | You are all good |
| BUILD FAILED | Check yourself |
- `cd ../incubator-streams-examples`
- `mvn clean package`
+> cd ../incubator-streams-examples
+> mvn clean package
| Possible result | Explanation |
|-----------------|-------------|
http://git-wip-us.apache.org/repos/asf/incubator-streams-master/blob/a3b44b92/src/site/markdown/tutorial/database.md
----------------------------------------------------------------------
diff --git a/src/site/markdown/tutorial/database.md b/src/site/markdown/tutorial/database.md
index b546826..5564ee8 100644
--- a/src/site/markdown/tutorial/database.md
+++ b/src/site/markdown/tutorial/database.md
@@ -8,7 +8,7 @@ We'll assume you've got docker up and running.
Run from your command line:
- `docker ps`
+> $ docker ps
If you see a (possibly empty) list of running containers, you are good.
@@ -16,12 +16,12 @@ If you see a (possibly empty) list of running containers, you are good.
Elasticsearch is a great database for storing content from your streams.
- `docker run -d --name elasticsearch elasticsearch`
+> $ docker run -d --name elasticsearch elasticsearch
### Add Elasticsearch container details to your configuration
- `cd $STREAMS`
- `export DOCKERHOST=$(docker-machine ip)`
+> cd $STREAMS
+> export DOCKERHOST=$(docker-machine ip)
Put the following into elasticsearch.conf
http://git-wip-us.apache.org/repos/asf/incubator-streams-master/blob/a3b44b92/src/site/markdown/tutorial/docker.md
----------------------------------------------------------------------
diff --git a/src/site/markdown/tutorial/docker.md b/src/site/markdown/tutorial/docker.md
index fa5ffec..2f71e4d 100644
--- a/src/site/markdown/tutorial/docker.md
+++ b/src/site/markdown/tutorial/docker.md
@@ -12,7 +12,7 @@ We'll assume you've got docker up and running.
Run from your command line:
- `docker ps`
+> $ docker ps
If you see a (possibly empty) list of running containers, you are good.
http://git-wip-us.apache.org/repos/asf/incubator-streams-master/blob/a3b44b92/src/site/markdown/tutorial/environment.md
----------------------------------------------------------------------
diff --git a/src/site/markdown/tutorial/environment.md b/src/site/markdown/tutorial/environment.md
index b86dd7e..64bb050 100644
--- a/src/site/markdown/tutorial/environment.md
+++ b/src/site/markdown/tutorial/environment.md
@@ -4,13 +4,13 @@ Pick a place on your file system that's easy to remember and reference with an a
Create a new empty folder there and export the path to a variables.
- `mkdir ~/streams`
- `export STREAMS=$(cd ~streams; pwd)`
+> $ mkdir ~/streams
+> $ export STREAMS=$(cd ~streams; pwd)
### Create a configuration file to hold secrets
- `cd $STREAMS`
- `touch reference.conf`
+> $ cd $STREAMS
+> $ touch reference.conf
To get started, put the following into reference.conf
http://git-wip-us.apache.org/repos/asf/incubator-streams-master/blob/a3b44b92/src/site/markdown/website.md
----------------------------------------------------------------------
diff --git a/src/site/markdown/website.md b/src/site/markdown/website.md
new file mode 100644
index 0000000..2e2c8f2
--- /dev/null
+++ b/src/site/markdown/website.md
@@ -0,0 +1,159 @@
+### Website Information
+
+http://streams.incubator.apache.org is a set of interconnected websites generated
+by the maven site plugin. The front page, this page, and most pages linked in the
+top nav of the site are part of incubator-streams-master.
+
+#### Website Content
+
+Pages, diagrams, and other hard-linkable resources are stored throughout the source tree.
+
+#### Markdown
+
+* src/site/markdown
+
+Most HTML pages are generated from markdown. The maven-site-plugin does this during the site build process.
+
+#### Schemas
+
+* src/main/jsonschema
+* src/main/xmlschema
+
+JSON and XML Schemas through-out the project are copied to the web page of their respective modules so they can be
+linked to in other projects.
+
+This allows users to extend the canonical streams schemas incrementally and/or re-use specific fields as they see fit.
+
+#### Resources
+
+* src/main/resources
+* src/test/resources
+
+Other resources including .conf and .properties files are copied to the web page of their respective modules so
+they can be linked to across projects and in external projects.
+
+This allows users to import HOCON from modules outside their sphere of control and adapt to changes upstream.
+
+### Website Changes
+
+The project website(s) are hosted by the Apache foundation and updated via SVN.
+
+Currently pushing website changes is a manual process performed by whomever is making the change.
+
+This typically requires checking out the current website from SVN.
+
+ `svn co https://svn.apache.org/repos/infra/websites/production/streams/content`
+ `cd content`
+
+#### Preparing to publishing a new website version
+
+The instructions below presume:
+
+* you have a shell open in the SVN content directory
+* you know the artifactId and version of the repository you want to publish.
+
+If this is a brand new snapshot or release version, you first need to create a directory corresponding to the new version.
+
+> content$ mkdir site/${project.version}
+> content$ svn add site/${project.version}
+> content$ svn commit -m "svn add site/${project.version}"
+
+The first time a specific site is being published for this version, you must create the directory where it will be published.
+
+> content$ mkdir site/${project.version}/${project.artifactId}
+> content$ svn add site/${project.version}/${project.artifactId}
+> content$ svn commit -m "svn add site/${project.version}/${project.artifactId}"
+
+The folder must exist and be empty for the publish steps to succeed.
+
+Repositories should always be built and published in the following order:
+
+* streams-master
+* streams-project
+* streams-examples
+
+#### Generating and publishing a new website version
+
+The instructions below presume:
+
+* you have a shell open in the root of a project repository
+* you know the artifactId and version of the repository you want to publish.
+
+First, ensure that you have local credentials capable of publishing the site.
+
+ <server>
+ <id>site.streams.{master|project|examples}</id>
+ <username>{your apache ID}</username>
+ <privateKey>{absolute path to your private key</privateKey>
+ <passphrase>{your private key passphrase}</passphrase>
+ <filePermissions>664</filePermissions>
+ <directoryPermissions>775</directoryPermissions>
+ <configuration></configuration>
+ </server>
+
+Next, generate SVG resources for all DOT diagrams in the source tree
+
+> $ for dot in $(find . -name *.dot); do dot -Tsvg $dot -o $dot.svg; done
+
+Then, generate the site that will be published
+
+> $ mvn clean site:site site:stage
+
+At this point you can open target/staging/index.html and do a sanity check on the site you intend to publish.
+
+Finally, publish the site.
+
+> $ mvn scm-publish:publish-scm -Dscmpublish.pubScmUrl=scm:svn:https://svn.apache.org/repos/infra/websites/production/streams/content/site/${project.version}/${project.artifactId}
+
+Note the revision number checked in at the bottom of the maven logs.
+
+You should now be able to access the published site(s) via an absolute URL.
+
+ http://streams.incubator.apache.org/site/${project.version}/${project.artifactId}
+
+For example, website documentation from a recent release:
+
+* http://streams.incubator.apache.org/site/0.2-incubating/streams-project/index.html
+
+Some recent snapshots:
+
+* http://streams.incubator.apache.org/site/0.3-incubating-SNAPSHOT/streams-master/index.html
+* http://streams.incubator.apache.org/site/0.3-incubating-SNAPSHOT/streams-project/index.html
+* http://streams.incubator.apache.org/site/0.2-incubating-SNAPSHOT/streams-examples/index.html
+
+#### Promoting a new website version
+
+New release or snapshots are immediately published, but visitors to the website won't arrive there from standard links and navigation
+until it has been fully promoted.
+
+The instructions below presume:
+
+* you have a shell open in the SVN content directory
+* you know the artifactId and version of the repository you want to publish.
+
+The convention in place exposes the latest specific site version(s) using redirects maintained in the .htaccess file of project website SVN.
+
+This file can be edited from https://cms.apache.org/streams/
+
+First, click 'Get streams Working Copy'
+
+Next, open .htaccess
+
+If you are promoting sites from all streams repositories simultaneously, the file should end with:
+
+ Redirect /site/latest/ /site/${project.version}
+
+If you want to publish sites at different versions across streams repositories, configure as follows:
+
+ Redirect /site/latest/streams-master /site/0.3-incubating-SNAPSHOT/streams-master
+ Redirect /site/latest/streams-project /site/0.2-incubating/streams-project
+ Redirect /site/latest/streams-examples /site/0.3-incubating-SNAPSHOT/streams-examples
+
+Commit your changes.
+
+Wait a few seconds and click Follow Staging Build.
+
+You should see a new build with a 'Build Successful' message.
+
+Open a new tab and visit http://streams.staging.apache.org for one last check before go-live.
+
http://git-wip-us.apache.org/repos/asf/incubator-streams-master/blob/a3b44b92/src/site/site.xml
----------------------------------------------------------------------
diff --git a/src/site/site.xml b/src/site/site.xml
index 4087ae7..fbe2ff1 100644
--- a/src/site/site.xml
+++ b/src/site/site.xml
@@ -71,23 +71,23 @@
</menu>
<menu name="Projects">
<item name="streams-master" />
- <item name="streams-project" href="http://streams.incubator.apache.org/site/0.3-incubating-SNAPSHOT/streams-project" />
- <item name="streams-examples" href="http://streams.incubator.apache.org/site/0.3-incubating-SNAPSHOT/streams-examples/" />
+ <item name="streams-project" href="http://streams.incubator.apache.org/site/latest/streams-project" />
+ <item name="streams-examples" href="http://streams.incubator.apache.org/site/latest/streams-examples/" />
</menu>
<menu name="Getting Started">
- <item name="View the official Apache Streams jsonschema files" href="http://streams.incubator.apache.org/site/0.3-incubating-SNAPSHOT/streams-project/streams-pojo/index.html" />
- <item name="View the schemas that describe twitter data" href="http://streams.incubator.apache.org/site/0.3-incubating-SNAPSHOT/streams-project/streams-contrib/streams-provider-twitter/index.html" />
- <item name="Read about twitter / streams conversion" href="http://streams.incubator.apache.org/site/0.3-incubating-SNAPSHOT/streams-project/streams-contrib/index.html" />
- <item name="Learn about utility streams components" href="http://streams.incubator.apache.org/site/0.3-incubating-SNAPSHOT/streams-project/streams-components/index.html" />
- <item name="Learn about streams interoperability modules" href="http://streams.incubator.apache.org/site/0.3-incubating-SNAPSHOT/streams-project/streams-contrib/index.html" />
- <item name="Browse streams providers, processors, and persisters" href="http://streams.incubator.apache.org/site/0.3-incubating-SNAPSHOT/streams-project/streams-contrib/index.html" />
+ <item name="View the official Apache Streams jsonschema files" href="http://streams.incubator.apache.org/site/latest/streams-project/streams-pojo/index.html" />
+ <item name="View the schemas that describe twitter data" href="http://streams.incubator.apache.org/site/latest/streams-project/streams-contrib/streams-provider-twitter/index.html" />
+ <item name="Read about twitter / streams conversion" href="http://streams.incubator.apache.org/site/latest/streams-project/streams-contrib/index.html" />
+ <item name="Learn about utility streams components" href="http://streams.incubator.apache.org/site/latest/streams-project/streams-components/index.html" />
+ <item name="Learn about streams interoperability modules" href="http://streams.incubator.apache.org/site/latest/streams-project/streams-contrib/index.html" />
+ <item name="Browse streams providers, processors, and persisters" href="http://streams.incubator.apache.org/site/latest/streams-project/streams-contrib/index.html" />
</menu>
<menu name="Tutorial">
<item name="Build streams and streams-examples from source" href="tutorial/build.html" />
<item name="Create a local folder to configure streams" href="tutorial/environment.html"/>
<item name="Set up a local docker environment" href="tutorial/docker.html" />
<item name="Run a local database to store activity documents" href="tutorial/database.html" />
- <item name="Run twitter-history-elasticsearch" href="http://streams.incubator.apache.org/site/0.2-incubating-SNAPSHOT/streams-examples/streams-examples-local/twitter-history-elasticsearch/index.html" />
+ <item name="Run twitter-history-elasticsearch" href="http://streams.incubator.apache.org/site/latest/streams-examples/streams-examples-local/twitter-history-elasticsearch/index.html" />
<item name="Browse and search the twitter data you collected" href="tutorial/browse.html" />
</menu>
<menu name="Other Resources">
http://git-wip-us.apache.org/repos/asf/incubator-streams-master/blob/a3b44b92/src/site/site_en.xml
----------------------------------------------------------------------
diff --git a/src/site/site_en.xml b/src/site/site_en.xml
index effd07e..b844c2d 100644
--- a/src/site/site_en.xml
+++ b/src/site/site_en.xml
@@ -71,23 +71,23 @@
</menu>
<menu name="Projects">
<item name="streams-master" />
- <item name="streams-project" href="http://streams.incubator.apache.org/site/0.3-incubating-SNAPSHOT/streams-project" />
- <item name="streams-examples" href="http://streams.incubator.apache.org/site/0.3-incubating-SNAPSHOT/streams-examples/" />
+ <item name="streams-project" href="http://streams.incubator.apache.org/site/latest/streams-project" />
+ <item name="streams-examples" href="http://streams.incubator.apache.org/site/latest/streams-examples/" />
</menu>
<menu name="Getting Started">
- <item name="View the official Apache Streams jsonschema files" href="http://streams.incubator.apache.org/site/0.3-incubating-SNAPSHOT/streams-project/streams-pojo/index.html" />
- <item name="View the schemas that describe twitter data" href="http://streams.incubator.apache.org/site/0.3-incubating-SNAPSHOT/streams-project/streams-contrib/streams-provider-twitter/index.html" />
- <item name="Read about twitter / streams conversion" href="http://streams.incubator.apache.org/site/0.3-incubating-SNAPSHOT/streams-project/streams-contrib/index.html" />
- <item name="Learn about utility streams components" href="http://streams.incubator.apache.org/site/0.3-incubating-SNAPSHOT/streams-project/streams-components/index.html" />
- <item name="Learn about streams interoperability modules" href="http://streams.incubator.apache.org/site/0.3-incubating-SNAPSHOT/streams-project/streams-contrib/index.html" />
- <item name="Browse streams providers, processors, and persisters" href="http://streams.incubator.apache.org/site/0.3-incubating-SNAPSHOT/streams-project/streams-contrib/index.html" />
+ <item name="View the official Apache Streams jsonschema files" href="http://streams.incubator.apache.org/site/latest/streams-project/streams-pojo/index.html" />
+ <item name="View the schemas that describe twitter data" href="http://streams.incubator.apache.org/site/latest/streams-project/streams-contrib/streams-provider-twitter/index.html" />
+ <item name="Read about twitter / streams conversion" href="http://streams.incubator.apache.org/site/latest/streams-project/streams-contrib/index.html" />
+ <item name="Learn about utility streams components" href="http://streams.incubator.apache.org/site/latest/streams-project/streams-components/index.html" />
+ <item name="Learn about streams interoperability modules" href="http://streams.incubator.apache.org/site/latest/streams-project/streams-contrib/index.html" />
+ <item name="Browse streams providers, processors, and persisters" href="http://streams.incubator.apache.org/site/latest/streams-project/streams-contrib/index.html" />
</menu>
<menu name="Tutorial">
<item name="Build streams and streams-examples from source" href="tutorial/build.html" />
<item name="Create a local folder to configure streams" href="tutorial/environment.html"/>
<item name="Set up a local docker environment" href="tutorial/docker.html" />
<item name="Run a local database to store activity documents" href="tutorial/database.html" />
- <item name="Run twitter-history-elasticsearch" href="http://streams.incubator.apache.org/site/0.2-incubating-SNAPSHOT/streams-examples/streams-examples-local/twitter-history-elasticsearch/index.html" />
+ <item name="Run twitter-history-elasticsearch" href="http://streams.incubator.apache.org/site/latest/streams-examples/streams-examples-local/twitter-history-elasticsearch/index.html" />
<item name="Browse and search the twitter data you collected" href="tutorial/browse.html" />
</menu>
<menu name="Other Resources">
[12/22] incubator-streams-master git commit: add svgs
Posted by sb...@apache.org.
add svgs
Project: http://git-wip-us.apache.org/repos/asf/incubator-streams-master/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-streams-master/commit/b0c4310a
Tree: http://git-wip-us.apache.org/repos/asf/incubator-streams-master/tree/b0c4310a
Diff: http://git-wip-us.apache.org/repos/asf/incubator-streams-master/diff/b0c4310a
Branch: refs/heads/master
Commit: b0c4310ab32662f20a4e7b1daa4cbae00501c481
Parents: 283d0fc
Author: Steve Blackmon @steveblackmon <sb...@apache.org>
Authored: Mon Apr 25 11:18:28 2016 -0500
Committer: Steve Blackmon @steveblackmon <sb...@apache.org>
Committed: Mon Apr 25 11:18:28 2016 -0500
----------------------------------------------------------------------
src/site/resources/architecture.dot.svg | 136 +++++++
src/site/resources/example.dot.svg | 530 +++++++++++++++++++++++++++
2 files changed, 666 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-streams-master/blob/b0c4310a/src/site/resources/architecture.dot.svg
----------------------------------------------------------------------
diff --git a/src/site/resources/architecture.dot.svg b/src/site/resources/architecture.dot.svg
new file mode 100644
index 0000000..ea6726f
--- /dev/null
+++ b/src/site/resources/architecture.dot.svg
@@ -0,0 +1,136 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
+ "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<!-- Generated by graphviz version 2.39.20160214.2135 (20160214.2135)
+ -->
+<!-- Title: g Pages: 1 -->
+<svg width="340pt" height="406pt"
+ viewBox="0.00 0.00 340.00 406.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 402)">
+<title>g</title>
+<polygon fill="white" stroke="transparent" points="-4,4 -4,-402 336,-402 336,4 -4,4"/>
+<g id="clust1" class="cluster">
+<title>cluster_upstream</title>
+<polygon fill="none" stroke="black" points="8,-316 8,-390 324,-390 324,-316 8,-316"/>
+<text text-anchor="middle" x="166" y="-374.8" font-family="Times,serif" font-size="14.00">Upstream Systems</text>
+</g>
+<g id="clust2" class="cluster">
+<title>cluster_streams</title>
+<polygon fill="none" stroke="black" points="73,-90 73,-308 319,-308 319,-90 73,-90"/>
+<text text-anchor="middle" x="196" y="-292.8" font-family="Times,serif" font-size="14.00">Apache Streams Pipelines</text>
+</g>
+<g id="clust3" class="cluster">
+<title>cluster_downstream</title>
+<polygon fill="none" stroke="black" points="52,-8 52,-82 252,-82 252,-8 52,-8"/>
+<text text-anchor="middle" x="152" y="-66.8" font-family="Times,serif" font-size="14.00">Downstream Systems</text>
+</g>
+<!-- upstream_databases -->
+<g id="node1" class="node">
+<title>upstream_databases</title>
+<ellipse fill="none" stroke="black" cx="154" cy="-342" rx="45.9114" ry="18"/>
+<text text-anchor="middle" x="154" y="-337.8" font-family="Times,serif" font-size="14.00">Databases</text>
+</g>
+<!-- persistReaders -->
+<g id="node5" class="node">
+<title>persistReaders</title>
+<ellipse fill="none" stroke="black" cx="143" cy="-260" rx="62.3494" ry="18"/>
+<text text-anchor="middle" x="143" y="-255.8" font-family="Times,serif" font-size="14.00">PersistReaders</text>
+</g>
+<!-- upstream_databases->persistReaders -->
+<g id="edge3" class="edge">
+<title>upstream_databases->persistReaders</title>
+<path fill="none" stroke="black" d="M151.559,-323.802C150.163,-313.398 148.382,-300.122 146.807,-288.377"/>
+<polygon fill="black" stroke="black" points="150.233,-287.593 145.434,-278.148 143.295,-288.524 150.233,-287.593"/>
+</g>
+<!-- upstream_generators -->
+<g id="node2" class="node">
+<title>upstream_generators</title>
+<ellipse fill="none" stroke="black" cx="267" cy="-342" rx="48.8014" ry="18"/>
+<text text-anchor="middle" x="267" y="-337.8" font-family="Times,serif" font-size="14.00">Generators</text>
+</g>
+<!-- providers -->
+<g id="node4" class="node">
+<title>providers</title>
+<ellipse fill="none" stroke="black" cx="267" cy="-260" rx="44.0078" ry="18"/>
+<text text-anchor="middle" x="267" y="-255.8" font-family="Times,serif" font-size="14.00">Providers</text>
+</g>
+<!-- upstream_generators->providers -->
+<g id="edge1" class="edge">
+<title>upstream_generators->providers</title>
+<path fill="none" stroke="black" d="M267,-323.802C267,-313.398 267,-300.122 267,-288.377"/>
+<polygon fill="black" stroke="black" points="270.5,-288.148 267,-278.148 263.5,-288.148 270.5,-288.148"/>
+</g>
+<!-- upstream_queues -->
+<g id="node3" class="node">
+<title>upstream_queues</title>
+<ellipse fill="none" stroke="black" cx="53" cy="-342" rx="36.7576" ry="18"/>
+<text text-anchor="middle" x="53" y="-337.8" font-family="Times,serif" font-size="14.00">Queues</text>
+</g>
+<!-- upstream_queues->persistReaders -->
+<g id="edge2" class="edge">
+<title>upstream_queues->persistReaders</title>
+<path fill="none" stroke="black" d="M70.7811,-325.799C83.7482,-313.985 101.545,-297.77 116.227,-284.393"/>
+<polygon fill="black" stroke="black" points="118.978,-286.621 124.013,-277.299 114.264,-281.447 118.978,-286.621"/>
+</g>
+<!-- processors -->
+<g id="node6" class="node">
+<title>processors</title>
+<ellipse fill="none" stroke="black" cx="146" cy="-188" rx="47.8668" ry="18"/>
+<text text-anchor="middle" x="146" y="-183.8" font-family="Times,serif" font-size="14.00">Processors</text>
+</g>
+<!-- providers->processors -->
+<g id="edge4" class="edge">
+<title>providers->processors</title>
+<path fill="none" stroke="black" d="M241.929,-245.082C224.16,-234.509 200.097,-220.19 180.516,-208.539"/>
+<polygon fill="black" stroke="black" points="182.257,-205.502 171.874,-203.396 178.678,-211.518 182.257,-205.502"/>
+</g>
+<!-- persistReaders->processors -->
+<g id="edge5" class="edge">
+<title>persistReaders->processors</title>
+<path fill="none" stroke="black" d="M143.757,-241.831C144.078,-234.131 144.459,-224.974 144.816,-216.417"/>
+<polygon fill="black" stroke="black" points="148.313,-216.55 145.233,-206.413 141.319,-216.259 148.313,-216.55"/>
+</g>
+<!-- processors->processors -->
+<g id="edge6" class="edge">
+<title>processors->processors</title>
+<path fill="none" stroke="black" d="M179.246,-201.025C196.437,-203.029 211.933,-198.688 211.933,-188 211.933,-179.483 202.093,-174.996 189.397,-174.539"/>
+<polygon fill="black" stroke="black" points="189.087,-171.049 179.246,-174.975 189.387,-178.042 189.087,-171.049"/>
+</g>
+<!-- persistWriters -->
+<g id="node7" class="node">
+<title>persistWriters</title>
+<ellipse fill="none" stroke="black" cx="146" cy="-116" rx="59.7202" ry="18"/>
+<text text-anchor="middle" x="146" y="-111.8" font-family="Times,serif" font-size="14.00">PersistWriters</text>
+</g>
+<!-- processors->persistWriters -->
+<g id="edge7" class="edge">
+<title>processors->persistWriters</title>
+<path fill="none" stroke="black" d="M146,-169.831C146,-162.131 146,-152.974 146,-144.417"/>
+<polygon fill="black" stroke="black" points="149.5,-144.413 146,-134.413 142.5,-144.413 149.5,-144.413"/>
+</g>
+<!-- downstream_databases -->
+<g id="node8" class="node">
+<title>downstream_databases</title>
+<ellipse fill="none" stroke="black" cx="198" cy="-34" rx="45.9114" ry="18"/>
+<text text-anchor="middle" x="198" y="-29.8" font-family="Times,serif" font-size="14.00">Databases</text>
+</g>
+<!-- persistWriters->downstream_databases -->
+<g id="edge8" class="edge">
+<title>persistWriters->downstream_databases</title>
+<path fill="none" stroke="black" d="M157.283,-98.2072C164.35,-87.0636 173.579,-72.5096 181.464,-60.0761"/>
+<polygon fill="black" stroke="black" points="184.518,-61.7959 186.917,-51.4764 178.606,-58.047 184.518,-61.7959"/>
+</g>
+<!-- downstream_queues -->
+<g id="node9" class="node">
+<title>downstream_queues</title>
+<ellipse fill="none" stroke="black" cx="97" cy="-34" rx="36.7576" ry="18"/>
+<text text-anchor="middle" x="97" y="-29.8" font-family="Times,serif" font-size="14.00">Queues</text>
+</g>
+<!-- persistWriters->downstream_queues -->
+<g id="edge9" class="edge">
+<title>persistWriters->downstream_queues</title>
+<path fill="none" stroke="black" d="M135.368,-98.2072C128.709,-87.0636 120.012,-72.5096 112.582,-60.0761"/>
+<polygon fill="black" stroke="black" points="115.577,-58.2652 107.443,-51.4764 109.568,-61.8559 115.577,-58.2652"/>
+</g>
+</g>
+</svg>
http://git-wip-us.apache.org/repos/asf/incubator-streams-master/blob/b0c4310a/src/site/resources/example.dot.svg
----------------------------------------------------------------------
diff --git a/src/site/resources/example.dot.svg b/src/site/resources/example.dot.svg
new file mode 100644
index 0000000..510681a
--- /dev/null
+++ b/src/site/resources/example.dot.svg
@@ -0,0 +1,530 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
+ "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<!-- Generated by graphviz version 2.39.20160214.2135 (20160214.2135)
+ -->
+<!-- Title: g Pages: 1 -->
+<svg width="2441pt" height="877pt"
+ viewBox="0.00 0.00 2441.00 877.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 873)">
+<title>g</title>
+<polygon fill="white" stroke="transparent" points="-4,4 -4,-873 2437,-873 2437,4 -4,4"/>
+<g id="clust1" class="cluster">
+<title>cluster_generators</title>
+<polygon fill="none" stroke="black" points="807,-787 807,-861 1635,-861 1635,-787 807,-787"/>
+<text text-anchor="middle" x="1221" y="-845.8" font-family="Times,serif" font-size="14.00">generators</text>
+</g>
+<g id="clust2" class="cluster">
+<title>cluster_providers</title>
+<polygon fill="none" stroke="black" points="8,-656 8,-768 2425,-768 2425,-656 8,-656"/>
+<text text-anchor="middle" x="1216.5" y="-752.8" font-family="Times,serif" font-size="14.00">providers</text>
+</g>
+<g id="clust3" class="cluster">
+<title>cluster_providers_twitter</title>
+<polygon fill="none" stroke="black" points="16,-664 16,-738 948,-738 948,-664 16,-664"/>
+<text text-anchor="middle" x="482" y="-722.8" font-family="Times,serif" font-size="14.00">twitter</text>
+</g>
+<g id="clust4" class="cluster">
+<title>cluster_providers_facebook</title>
+<polygon fill="none" stroke="black" points="956,-664 956,-738 1431,-738 1431,-664 956,-664"/>
+<text text-anchor="middle" x="1193.5" y="-722.8" font-family="Times,serif" font-size="14.00">facebook</text>
+</g>
+<g id="clust5" class="cluster">
+<title>cluster_providers_youtube</title>
+<polygon fill="none" stroke="black" points="1439,-664 1439,-738 1904,-738 1904,-664 1439,-664"/>
+<text text-anchor="middle" x="1671.5" y="-722.8" font-family="Times,serif" font-size="14.00">youtube</text>
+</g>
+<g id="clust6" class="cluster">
+<title>cluster_providers_instagram</title>
+<polygon fill="none" stroke="black" points="1912,-664 1912,-738 2417,-738 2417,-664 1912,-664"/>
+<text text-anchor="middle" x="2164.5" y="-722.8" font-family="Times,serif" font-size="14.00">instagram</text>
+</g>
+<g id="clust7" class="cluster">
+<title>cluster_processors</title>
+<polygon fill="none" stroke="black" points="402,-538 402,-612 2283,-612 2283,-538 402,-538"/>
+<text text-anchor="middle" x="1342.5" y="-596.8" font-family="Times,serif" font-size="14.00">processors</text>
+</g>
+<g id="clust8" class="cluster">
+<title>cluster_persisters_1</title>
+<polygon fill="none" stroke="black" points="1279,-404 1279,-478 1645,-478 1645,-404 1279,-404"/>
+<text text-anchor="middle" x="1462" y="-462.8" font-family="Times,serif" font-size="14.00">persisters</text>
+</g>
+<g id="clust9" class="cluster">
+<title>cluster_persisters_2</title>
+<polygon fill="none" stroke="black" points="1106,-101 1106,-286 1701,-286 1701,-101 1106,-101"/>
+<text text-anchor="middle" x="1403.5" y="-270.8" font-family="Times,serif" font-size="14.00">persisters</text>
+</g>
+<g id="clust10" class="cluster">
+<title>cluster_dbs</title>
+<polygon fill="none" stroke="black" points="1266,-8 1266,-82 1542,-82 1542,-8 1266,-8"/>
+<text text-anchor="middle" x="1404" y="-66.8" font-family="Times,serif" font-size="14.00">dbs</text>
+</g>
+<!-- generators_twitter -->
+<g id="node1" class="node">
+<title>generators_twitter</title>
+<ellipse fill="none" stroke="black" cx="903" cy="-813" rx="87.9585" ry="18"/>
+<text text-anchor="middle" x="903" y="-808.8" font-family="Times,serif" font-size="14.00">https://api.twitter.com</text>
+</g>
+<!-- providers_twitter_userstream -->
+<g id="node5" class="node">
+<title>providers_twitter_userstream</title>
+<ellipse fill="none" stroke="black" cx="398" cy="-690" rx="106.491" ry="18"/>
+<text text-anchor="middle" x="398" y="-685.8" font-family="Times,serif" font-size="14.00">TwitterUserstreamProvider</text>
+</g>
+<!-- generators_twitter->providers_twitter_userstream -->
+<g id="edge1" class="edge">
+<title>generators_twitter->providers_twitter_userstream</title>
+<path fill="none" stroke="black" d="M818.49,-807.973C721.02,-801.351 567.233,-788.131 513,-768 480.311,-755.866 447.876,-732.57 425.828,-714.584"/>
+<polygon fill="black" stroke="black" points="427.831,-711.697 417.908,-707.985 423.351,-717.075 427.831,-711.697"/>
+</g>
+<!-- providers_twitter_userinfo -->
+<g id="node6" class="node">
+<title>providers_twitter_userinfo</title>
+<ellipse fill="none" stroke="black" cx="149" cy="-690" rx="124.824" ry="18"/>
+<text text-anchor="middle" x="149" y="-685.8" font-family="Times,serif" font-size="14.00">TwitterUserInformationProvider</text>
+</g>
+<!-- generators_twitter->providers_twitter_userinfo -->
+<g id="edge4" class="edge">
+<title>generators_twitter->providers_twitter_userinfo</title>
+<path fill="none" stroke="black" d="M815.52,-811.503C668.86,-808.185 379.922,-797.96 283,-768 245.107,-756.287 206.443,-732.218 180.449,-713.896"/>
+<polygon fill="black" stroke="black" points="182.303,-710.919 172.138,-707.929 178.22,-716.605 182.303,-710.919"/>
+</g>
+<!-- providers_twitter_timeline -->
+<g id="node7" class="node">
+<title>providers_twitter_timeline</title>
+<ellipse fill="none" stroke="black" cx="620" cy="-690" rx="97.6831" ry="18"/>
+<text text-anchor="middle" x="620" y="-685.8" font-family="Times,serif" font-size="14.00">TwitterTimelineProvider</text>
+</g>
+<!-- generators_twitter->providers_twitter_timeline -->
+<g id="edge2" class="edge">
+<title>generators_twitter->providers_twitter_timeline</title>
+<path fill="none" stroke="black" d="M834.06,-801.691C800.693,-794.655 760.669,-783.855 727,-768 697.44,-754.08 667.721,-731.573 647.131,-714.305"/>
+<polygon fill="black" stroke="black" points="649.314,-711.567 639.436,-707.738 644.77,-716.892 649.314,-711.567"/>
+</g>
+<!-- providers_twitter_following -->
+<g id="node8" class="node">
+<title>providers_twitter_following</title>
+<ellipse fill="none" stroke="black" cx="838" cy="-690" rx="102.174" ry="18"/>
+<text text-anchor="middle" x="838" y="-685.8" font-family="Times,serif" font-size="14.00">TwitterFollowingProvider</text>
+</g>
+<!-- generators_twitter->providers_twitter_following -->
+<g id="edge3" class="edge">
+<title>generators_twitter->providers_twitter_following</title>
+<path fill="none" stroke="black" d="M893.409,-794.851C882.608,-774.412 864.938,-740.975 852.46,-717.364"/>
+<polygon fill="black" stroke="black" points="855.397,-715.43 847.63,-708.224 849.208,-718.7 855.397,-715.43"/>
+</g>
+<!-- generators_facebook -->
+<g id="node2" class="node">
+<title>generators_facebook</title>
+<ellipse fill="none" stroke="black" cx="1106" cy="-813" rx="97.5707" ry="18"/>
+<text text-anchor="middle" x="1106" y="-808.8" font-family="Times,serif" font-size="14.00">https://api.facebook.com</text>
+</g>
+<!-- providers_facebook_page -->
+<g id="node9" class="node">
+<title>providers_facebook_page</title>
+<ellipse fill="none" stroke="black" cx="1056" cy="-690" rx="92.267" ry="18"/>
+<text text-anchor="middle" x="1056" y="-685.8" font-family="Times,serif" font-size="14.00">FacebookPageProvider</text>
+</g>
+<!-- generators_facebook->providers_facebook_page -->
+<g id="edge9" class="edge">
+<title>generators_facebook->providers_facebook_page</title>
+<path fill="none" stroke="black" d="M1098.62,-794.851C1090.35,-774.503 1076.84,-741.272 1067.25,-717.679"/>
+<polygon fill="black" stroke="black" points="1070.42,-716.169 1063.41,-708.224 1063.93,-718.805 1070.42,-716.169"/>
+</g>
+<!-- providers_facebook_pagefeed -->
+<g id="node10" class="node">
+<title>providers_facebook_pagefeed</title>
+<ellipse fill="none" stroke="black" cx="1295" cy="-690" rx="128.44" ry="18"/>
+<text text-anchor="middle" x="1295" y="-685.8" font-family="Times,serif" font-size="14.00">FacebookPageFeedDataCollector</text>
+</g>
+<!-- generators_facebook->providers_facebook_pagefeed -->
+<g id="edge10" class="edge">
+<title>generators_facebook->providers_facebook_pagefeed</title>
+<path fill="none" stroke="black" d="M1132.68,-795.638C1165.84,-774.058 1222.54,-737.155 1259.39,-713.175"/>
+<polygon fill="black" stroke="black" points="1261.37,-716.06 1267.85,-707.672 1257.55,-710.193 1261.37,-716.06"/>
+</g>
+<!-- generators_youtube -->
+<g id="node3" class="node">
+<title>generators_youtube</title>
+<ellipse fill="none" stroke="black" cx="1315" cy="-813" rx="93.7378" ry="18"/>
+<text text-anchor="middle" x="1315" y="-808.8" font-family="Times,serif" font-size="14.00">https://api.youtube.com</text>
+</g>
+<!-- providers_youtube_channel -->
+<g id="node11" class="node">
+<title>providers_youtube_channel</title>
+<ellipse fill="none" stroke="black" cx="1547" cy="-690" rx="99.7162" ry="18"/>
+<text text-anchor="middle" x="1547" y="-685.8" font-family="Times,serif" font-size="14.00">YoutubeChannelProvider</text>
+</g>
+<!-- generators_youtube->providers_youtube_channel -->
+<g id="edge13" class="edge">
+<title>generators_youtube->providers_youtube_channel</title>
+<path fill="none" stroke="black" d="M1364.37,-797.607C1386.52,-789.917 1412.64,-779.741 1435,-768 1464.26,-752.634 1494.89,-730.856 1516.7,-714.216"/>
+<polygon fill="black" stroke="black" points="1519.12,-716.769 1524.9,-707.888 1514.84,-711.228 1519.12,-716.769"/>
+</g>
+<!-- providers_youtube_video -->
+<g id="node12" class="node">
+<title>providers_youtube_video</title>
+<ellipse fill="none" stroke="black" cx="1780" cy="-690" rx="115.637" ry="18"/>
+<text text-anchor="middle" x="1780" y="-685.8" font-family="Times,serif" font-size="14.00">YoutubeUserActivityProvider</text>
+</g>
+<!-- generators_youtube->providers_youtube_video -->
+<g id="edge14" class="edge">
+<title>generators_youtube->providers_youtube_video</title>
+<path fill="none" stroke="black" d="M1367.31,-797.992C1383.44,-793.851 1401.35,-789.746 1418,-787 1522.7,-769.731 1555.29,-801.438 1656,-768 1691.41,-756.243 1726.96,-732.346 1750.86,-714.084"/>
+<polygon fill="black" stroke="black" points="1753.07,-716.797 1758.8,-707.888 1748.76,-711.276 1753.07,-716.797"/>
+</g>
+<!-- generators_instagram -->
+<g id="node4" class="node">
+<title>generators_instagram</title>
+<ellipse fill="none" stroke="black" cx="1527" cy="-813" rx="100.002" ry="18"/>
+<text text-anchor="middle" x="1527" y="-808.8" font-family="Times,serif" font-size="14.00">https://api.instagram.com</text>
+</g>
+<!-- providers_instagram_userinfo -->
+<g id="node13" class="node">
+<title>providers_instagram_userinfo</title>
+<ellipse fill="none" stroke="black" cx="2030" cy="-690" rx="109.615" ry="18"/>
+<text text-anchor="middle" x="2030" y="-685.8" font-family="Times,serif" font-size="14.00">InstagramUserInfoCollector</text>
+</g>
+<!-- generators_instagram->providers_instagram_userinfo -->
+<g id="edge17" class="edge">
+<title>generators_instagram->providers_instagram_userinfo</title>
+<path fill="none" stroke="black" d="M1621.07,-806.731C1716.4,-799.516 1856.88,-786.267 1908,-768 1942.37,-755.719 1976.99,-732.284 2000.52,-714.294"/>
+<polygon fill="black" stroke="black" points="2002.94,-716.851 2008.67,-707.943 1998.63,-711.33 2002.94,-716.851"/>
+</g>
+<!-- providers_instagram_media -->
+<g id="node14" class="node">
+<title>providers_instagram_media</title>
+<ellipse fill="none" stroke="black" cx="2283" cy="-690" rx="125.542" ry="18"/>
+<text text-anchor="middle" x="2283" y="-685.8" font-family="Times,serif" font-size="14.00">InstagramRecentMediaCollector</text>
+</g>
+<!-- generators_instagram->providers_instagram_media -->
+<g id="edge18" class="edge">
+<title>generators_instagram->providers_instagram_media</title>
+<path fill="none" stroke="black" d="M1626.8,-811.244C1777.18,-807.674 2054.35,-797.246 2149,-768 2186.89,-756.291 2225.56,-732.221 2251.55,-713.899"/>
+<polygon fill="black" stroke="black" points="2253.78,-716.607 2259.86,-707.931 2249.7,-710.921 2253.78,-716.607"/>
+</g>
+<!-- processors_twitter_activity -->
+<g id="node15" class="node">
+<title>processors_twitter_activity</title>
+<ellipse fill="none" stroke="black" cx="801" cy="-564" rx="108.672" ry="18"/>
+<text text-anchor="middle" x="801" y="-559.8" font-family="Times,serif" font-size="14.00">ActivityConverterProcessor</text>
+</g>
+<!-- providers_twitter_userstream->processors_twitter_activity -->
+<g id="edge6" class="edge">
+<title>providers_twitter_userstream->processors_twitter_activity</title>
+<path fill="none" stroke="black" d="M439.397,-673.395C481.506,-657.199 548.988,-633.14 609.446,-620 641.579,-613.016 651.117,-620.051 683,-612 708.217,-605.633 735.166,-594.986 756.935,-585.336"/>
+<polygon fill="black" stroke="black" points="758.564,-588.441 766.236,-581.134 755.682,-582.061 758.564,-588.441"/>
+<text text-anchor="middle" x="645.277" y="-629.8" font-family="Times,serif" font-size="14.00">o.a.s.t.Tweet</text>
+</g>
+<!-- processors_twitter_activityobject -->
+<g id="node16" class="node">
+<title>processors_twitter_activityobject</title>
+<ellipse fill="none" stroke="black" cx="542" cy="-564" rx="132.317" ry="18"/>
+<text text-anchor="middle" x="542" y="-559.8" font-family="Times,serif" font-size="14.00">ActivityObjectConverterProcessor</text>
+</g>
+<!-- providers_twitter_userinfo->processors_twitter_activityobject -->
+<g id="edge5" class="edge">
+<title>providers_twitter_userinfo->processors_twitter_activityobject</title>
+<path fill="none" stroke="black" d="M200.378,-673.528C272.507,-650.402 403.579,-608.379 480.706,-583.652"/>
+<polygon fill="black" stroke="black" points="481.843,-586.963 490.297,-580.577 479.706,-580.297 481.843,-586.963"/>
+<text text-anchor="middle" x="389.493" y="-629.8" font-family="Times,serif" font-size="14.00">o.a.s.t.User</text>
+</g>
+<!-- providers_twitter_timeline->processors_twitter_activity -->
+<g id="edge7" class="edge">
+<title>providers_twitter_timeline->processors_twitter_activity</title>
+<path fill="none" stroke="black" d="M645.167,-672.48C676.957,-650.351 731.775,-612.19 767.194,-587.533"/>
+<polygon fill="black" stroke="black" points="769.548,-590.159 775.755,-581.574 765.548,-584.414 769.548,-590.159"/>
+<text text-anchor="middle" x="751.277" y="-629.8" font-family="Times,serif" font-size="14.00">o.a.s.t.Tweet</text>
+</g>
+<!-- providers_twitter_following->processors_twitter_activity -->
+<g id="edge8" class="edge">
+<title>providers_twitter_following->processors_twitter_activity</title>
+<path fill="none" stroke="black" d="M832.699,-671.947C826.544,-650.989 816.323,-616.182 809.156,-591.773"/>
+<polygon fill="black" stroke="black" points="812.467,-590.628 806.291,-582.019 805.751,-592.6 812.467,-590.628"/>
+<text text-anchor="middle" x="863.114" y="-629.8" font-family="Times,serif" font-size="14.00">o.a.s.t.Follow</text>
+</g>
+<!-- processors_facebook_activityobject -->
+<g id="node18" class="node">
+<title>processors_facebook_activityobject</title>
+<ellipse fill="none" stroke="black" cx="1050" cy="-564" rx="122.678" ry="18"/>
+<text text-anchor="middle" x="1050" y="-559.8" font-family="Times,serif" font-size="14.00">FacebookPostActivitySerializer</text>
+</g>
+<!-- providers_facebook_page->processors_facebook_activityobject -->
+<g id="edge11" class="edge">
+<title>providers_facebook_page->processors_facebook_activityobject</title>
+<path fill="none" stroke="black" d="M1055.14,-671.947C1054.15,-651.082 1052.5,-616.493 1051.34,-592.101"/>
+<polygon fill="black" stroke="black" points="1054.83,-591.841 1050.86,-582.019 1047.84,-592.174 1054.83,-591.841"/>
+<text text-anchor="middle" x="1086.27" y="-629.8" font-family="Times,serif" font-size="14.00">o.a.s.f.Page</text>
+</g>
+<!-- processors_facebook_activity -->
+<g id="node17" class="node">
+<title>processors_facebook_activity</title>
+<ellipse fill="none" stroke="black" cx="1315" cy="-564" rx="124.582" ry="18"/>
+<text text-anchor="middle" x="1315" y="-559.8" font-family="Times,serif" font-size="14.00">FacebookPageActivitySerializer</text>
+</g>
+<!-- providers_facebook_pagefeed->processors_facebook_activity -->
+<g id="edge12" class="edge">
+<title>providers_facebook_pagefeed->processors_facebook_activity</title>
+<path fill="none" stroke="black" d="M1297.87,-671.947C1301.18,-651.082 1306.67,-616.493 1310.54,-592.101"/>
+<polygon fill="black" stroke="black" points="1314.03,-592.444 1312.14,-582.019 1307.12,-591.347 1314.03,-592.444"/>
+<text text-anchor="middle" x="1351.27" y="-636.8" font-family="Times,serif" font-size="14.00">o.a.s.f.Post</text>
+<text text-anchor="middle" x="1351.27" y="-622.8" font-family="Times,serif" font-size="14.00">o.a.s.f.Comment</text>
+</g>
+<!-- processors_youtube_activityobject -->
+<g id="node20" class="node">
+<title>processors_youtube_activityobject</title>
+<ellipse fill="none" stroke="black" cx="1550" cy="-564" rx="92.691" ry="18"/>
+<text text-anchor="middle" x="1550" y="-559.8" font-family="Times,serif" font-size="14.00">YoutubeTypeConverter</text>
+</g>
+<!-- providers_youtube_channel->processors_youtube_activityobject -->
+<g id="edge15" class="edge">
+<title>providers_youtube_channel->processors_youtube_activityobject</title>
+<path fill="none" stroke="black" d="M1547.43,-671.947C1547.93,-651.082 1548.75,-616.493 1549.33,-592.101"/>
+<polygon fill="black" stroke="black" points="1552.83,-592.1 1549.57,-582.019 1545.83,-591.933 1552.83,-592.1"/>
+<text text-anchor="middle" x="1590.7" y="-629.8" font-family="Times,serif" font-size="14.00">o.a.s.y.Channel</text>
+</g>
+<!-- processors_youtube_activity -->
+<g id="node19" class="node">
+<title>processors_youtube_activity</title>
+<ellipse fill="none" stroke="black" cx="1753" cy="-564" rx="92.691" ry="18"/>
+<text text-anchor="middle" x="1753" y="-559.8" font-family="Times,serif" font-size="14.00">YoutubeTypeConverter</text>
+</g>
+<!-- providers_youtube_video->processors_youtube_activity -->
+<g id="edge16" class="edge">
+<title>providers_youtube_video->processors_youtube_activity</title>
+<path fill="none" stroke="black" d="M1776.13,-671.947C1771.66,-651.082 1764.25,-616.493 1759.02,-592.101"/>
+<polygon fill="black" stroke="black" points="1762.38,-591.064 1756.86,-582.019 1755.53,-592.531 1762.38,-591.064"/>
+<text text-anchor="middle" x="1806.07" y="-629.8" font-family="Times,serif" font-size="14.00">o.a.s.y.Video</text>
+</g>
+<!-- processors_instagram_activityobject -->
+<g id="node22" class="node">
+<title>processors_instagram_activityobject</title>
+<ellipse fill="none" stroke="black" cx="1962" cy="-564" rx="98.2636" ry="18"/>
+<text text-anchor="middle" x="1962" y="-559.8" font-family="Times,serif" font-size="14.00">InstagramTypeConverter</text>
+</g>
+<!-- providers_instagram_userinfo->processors_instagram_activityobject -->
+<g id="edge19" class="edge">
+<title>providers_instagram_userinfo->processors_instagram_activityobject</title>
+<path fill="none" stroke="black" d="M2020.26,-671.947C2008.85,-650.802 1989.83,-615.56 1976.64,-591.122"/>
+<polygon fill="black" stroke="black" points="1979.55,-589.157 1971.72,-582.019 1973.39,-592.482 1979.55,-589.157"/>
+<text text-anchor="middle" x="2062.37" y="-629.8" font-family="Times,serif" font-size="14.00">o.a.s.i.UserInfoData</text>
+</g>
+<!-- processors_instagram_activity -->
+<g id="node21" class="node">
+<title>processors_instagram_activity</title>
+<ellipse fill="none" stroke="black" cx="2177" cy="-564" rx="98.2636" ry="18"/>
+<text text-anchor="middle" x="2177" y="-559.8" font-family="Times,serif" font-size="14.00">InstagramTypeConverter</text>
+</g>
+<!-- providers_instagram_media->processors_instagram_activity -->
+<g id="edge20" class="edge">
+<title>providers_instagram_media->processors_instagram_activity</title>
+<path fill="none" stroke="black" d="M2267.81,-671.947C2249.71,-650.427 2219.32,-614.308 2198.73,-589.834"/>
+<polygon fill="black" stroke="black" points="2201.27,-587.418 2192.16,-582.019 2195.92,-591.925 2201.27,-587.418"/>
+<text text-anchor="middle" x="2307.98" y="-629.8" font-family="Times,serif" font-size="14.00">o.a.s.i.MediaFeedData</text>
+</g>
+<!-- persisters_kinesis_writer_activity -->
+<g id="node23" class="node">
+<title>persisters_kinesis_writer_activity</title>
+<ellipse fill="none" stroke="black" cx="1554" cy="-430" rx="82.8977" ry="18"/>
+<text text-anchor="middle" x="1554" y="-425.8" font-family="Times,serif" font-size="14.00">KinesisPersistWriter</text>
+</g>
+<!-- processors_twitter_activity->persisters_kinesis_writer_activity -->
+<g id="edge22" class="edge">
+<title>processors_twitter_activity->persisters_kinesis_writer_activity</title>
+<path fill="none" stroke="black" d="M859.547,-548.761C878.112,-544.531 898.802,-540.434 918,-538 983.733,-529.666 1151.97,-545.058 1216,-528 1254.53,-517.735 1256.82,-496.542 1295.27,-486 1366.82,-466.385 1390.39,-497.388 1462,-478 1482.1,-472.558 1502.81,-462.243 1519.47,-452.567"/>
+<polygon fill="black" stroke="black" points="1521.5,-455.43 1528.29,-447.292 1517.91,-449.424 1521.5,-455.43"/>
+<text text-anchor="middle" x="1338.36" y="-516.8" font-family="Times,serif" font-size="14.00">o.a.s.p.j.Post</text>
+<text text-anchor="middle" x="1338.36" y="-502.8" font-family="Times,serif" font-size="14.00">o.a.s.p.j.Share</text>
+<text text-anchor="middle" x="1338.36" y="-488.8" font-family="Times,serif" font-size="14.00">o.a.s.p.j.Follow</text>
+</g>
+<!-- persisters_kinesis_writer_activityobject -->
+<g id="node24" class="node">
+<title>persisters_kinesis_writer_activityobject</title>
+<ellipse fill="none" stroke="black" cx="1370" cy="-430" rx="82.8977" ry="18"/>
+<text text-anchor="middle" x="1370" y="-425.8" font-family="Times,serif" font-size="14.00">KinesisPersistWriter</text>
+</g>
+<!-- processors_twitter_activityobject->persisters_kinesis_writer_activityobject -->
+<g id="edge21" class="edge">
+<title>processors_twitter_activityobject->persisters_kinesis_writer_activityobject</title>
+<path fill="none" stroke="black" d="M619.514,-549.367C640.13,-545.568 662.394,-541.549 683,-538 902.818,-500.139 1163.16,-460.677 1291.05,-441.643"/>
+<polygon fill="black" stroke="black" points="1291.77,-445.075 1301.15,-440.142 1290.74,-438.151 1291.77,-445.075"/>
+<text text-anchor="middle" x="1022.13" y="-502.8" font-family="Times,serif" font-size="14.00">o.a.s.p.j.Page</text>
+</g>
+<!-- processors_facebook_activity->persisters_kinesis_writer_activity -->
+<g id="edge24" class="edge">
+<title>processors_facebook_activity->persisters_kinesis_writer_activity</title>
+<path fill="none" stroke="black" d="M1388.42,-549.455C1434.94,-540.137 1486.76,-529.512 1489,-528 1502.56,-518.833 1524.62,-482.716 1539.23,-456.998"/>
+<polygon fill="black" stroke="black" points="1542.4,-458.496 1544.24,-448.062 1536.29,-455.071 1542.4,-458.496"/>
+<text text-anchor="middle" x="1572.14" y="-509.8" font-family="Times,serif" font-size="14.00">o.a.s.p.j.Post</text>
+<text text-anchor="middle" x="1572.14" y="-495.8" font-family="Times,serif" font-size="14.00">o.a.s.p.j.Comment</text>
+</g>
+<!-- processors_facebook_activityobject->persisters_kinesis_writer_activityobject -->
+<g id="edge23" class="edge">
+<title>processors_facebook_activityobject->persisters_kinesis_writer_activityobject</title>
+<path fill="none" stroke="black" d="M1066.14,-546.078C1083.21,-528.222 1111.77,-501.321 1141.73,-486 1187.25,-462.73 1242.88,-448.824 1287.83,-440.691"/>
+<polygon fill="black" stroke="black" points="1288.59,-444.111 1297.83,-438.943 1287.38,-437.216 1288.59,-444.111"/>
+<text text-anchor="middle" x="1178.13" y="-502.8" font-family="Times,serif" font-size="14.00">o.a.s.p.j.Page</text>
+</g>
+<!-- processors_youtube_activity->persisters_kinesis_writer_activity -->
+<g id="edge26" class="edge">
+<title>processors_youtube_activity->persisters_kinesis_writer_activity</title>
+<path fill="none" stroke="black" d="M1751.05,-545.759C1748.23,-528.174 1741.4,-501.947 1725,-486 1701.15,-462.814 1667.56,-449.227 1636.45,-441.266"/>
+<polygon fill="black" stroke="black" points="1637,-437.798 1626.46,-438.874 1635.37,-444.605 1637,-437.798"/>
+<text text-anchor="middle" x="1797.14" y="-509.8" font-family="Times,serif" font-size="14.00">o.a.s.p.j.Video</text>
+<text text-anchor="middle" x="1797.14" y="-495.8" font-family="Times,serif" font-size="14.00">o.a.s.p.j.Comment</text>
+</g>
+<!-- processors_youtube_activityobject->persisters_kinesis_writer_activityobject -->
+<g id="edge25" class="edge">
+<title>processors_youtube_activityobject->persisters_kinesis_writer_activityobject</title>
+<path fill="none" stroke="black" d="M1493.63,-549.569C1457.24,-540.162 1416.37,-529.382 1414.73,-528 1393.52,-510.081 1381.86,-479.98 1375.82,-457.856"/>
+<polygon fill="black" stroke="black" points="1379.18,-456.873 1373.35,-448.025 1372.39,-458.576 1379.18,-456.873"/>
+<text text-anchor="middle" x="1451.13" y="-502.8" font-family="Times,serif" font-size="14.00">o.a.s.p.j.Page</text>
+</g>
+<!-- processors_instagram_activity->persisters_kinesis_writer_activity -->
+<g id="edge28" class="edge">
+<title>processors_instagram_activity->persisters_kinesis_writer_activity</title>
+<path fill="none" stroke="black" d="M2117.3,-549.617C2101.59,-545.834 2084.66,-541.761 2069,-538 1972.57,-514.838 1948.99,-506.72 1852,-486 1776.45,-469.859 1689.58,-453.82 1629.21,-443.071"/>
+<polygon fill="black" stroke="black" points="1629.46,-439.561 1619,-441.26 1628.24,-446.454 1629.46,-439.561"/>
+<text text-anchor="middle" x="2078.14" y="-516.8" font-family="Times,serif" font-size="14.00">o.a.s.p.j.Photo</text>
+<text text-anchor="middle" x="2078.14" y="-502.8" font-family="Times,serif" font-size="14.00">o.a.s.p.j.Video</text>
+<text text-anchor="middle" x="2078.14" y="-488.8" font-family="Times,serif" font-size="14.00">o.a.s.p.j.Comment</text>
+</g>
+<!-- processors_instagram_activityobject->persisters_kinesis_writer_activityobject -->
+<g id="edge27" class="edge">
+<title>processors_instagram_activityobject->persisters_kinesis_writer_activityobject</title>
+<path fill="none" stroke="black" d="M1908.51,-548.886C1891.53,-544.662 1872.6,-540.537 1855,-538 1832.07,-534.694 1666.23,-540.514 1646.73,-528 1629.05,-516.647 1642.68,-497.362 1625,-486 1609.75,-476.197 1479.5,-482.749 1462,-478 1441.9,-472.547 1421.2,-462.231 1404.53,-452.557"/>
+<polygon fill="black" stroke="black" points="1406.09,-449.414 1395.72,-447.283 1402.5,-455.421 1406.09,-449.414"/>
+<text text-anchor="middle" x="1683.13" y="-502.8" font-family="Times,serif" font-size="14.00">o.a.s.p.j.Page</text>
+</g>
+<!-- kinesis -->
+<g id="node33" class="node">
+<title>kinesis</title>
+<ellipse fill="none" stroke="black" cx="1465" cy="-344" rx="34.8458" ry="18"/>
+<text text-anchor="middle" x="1465" y="-339.8" font-family="Times,serif" font-size="14.00">kinesis</text>
+</g>
+<!-- persisters_kinesis_writer_activity->kinesis -->
+<g id="edge29" class="edge">
+<title>persisters_kinesis_writer_activity->kinesis</title>
+<path fill="none" stroke="black" d="M1543.77,-412.111C1537.45,-401.981 1528.7,-389.481 1519,-380 1512.57,-373.716 1504.91,-367.853 1497.4,-362.758"/>
+<polygon fill="black" stroke="black" points="1499.04,-359.649 1488.74,-357.151 1495.23,-365.524 1499.04,-359.649"/>
+<text text-anchor="middle" x="1577.47" y="-382.8" font-family="Times,serif" font-size="14.00">o.a.s.p.j.Activity</text>
+</g>
+<!-- persisters_kinesis_writer_activityobject->kinesis -->
+<g id="edge31" class="edge">
+<title>persisters_kinesis_writer_activityobject->kinesis</title>
+<path fill="none" stroke="black" d="M1371.66,-411.544C1373.44,-401.225 1377.13,-388.725 1384.75,-380 1394.95,-368.32 1409.69,-360.241 1423.76,-354.745"/>
+<polygon fill="black" stroke="black" points="1425.08,-357.989 1433.33,-351.34 1422.73,-351.395 1425.08,-357.989"/>
+<text text-anchor="middle" x="1449.13" y="-382.8" font-family="Times,serif" font-size="14.00">o.a.s.p.j.ActivityObject</text>
+</g>
+<!-- persisters_elasticsearch -->
+<g id="node25" class="node">
+<title>persisters_elasticsearch</title>
+<ellipse fill="none" stroke="black" cx="1590" cy="-127" rx="103.134" ry="18"/>
+<text text-anchor="middle" x="1590" y="-122.8" font-family="Times,serif" font-size="14.00">ElasticsearchPersistWriter</text>
+</g>
+<!-- elasticsearch -->
+<g id="node30" class="node">
+<title>elasticsearch</title>
+<ellipse fill="none" stroke="black" cx="1479" cy="-34" rx="55.0578" ry="18"/>
+<text text-anchor="middle" x="1479" y="-29.8" font-family="Times,serif" font-size="14.00">elasticsearch</text>
+</g>
+<!-- persisters_elasticsearch->elasticsearch -->
+<g id="edge38" class="edge">
+<title>persisters_elasticsearch->elasticsearch</title>
+<path fill="none" stroke="black" d="M1568.86,-109.289C1551.36,-94.6244 1526.34,-73.6627 1507.14,-57.5795"/>
+<polygon fill="black" stroke="black" points="1509.22,-54.7573 1499.31,-51.0179 1504.73,-60.123 1509.22,-54.7573"/>
+</g>
+<!-- persisters_graph -->
+<g id="node26" class="node">
+<title>persisters_graph</title>
+<ellipse fill="none" stroke="black" cx="1193" cy="-127" rx="78.5369" ry="18"/>
+<text text-anchor="middle" x="1193" y="-122.8" font-family="Times,serif" font-size="14.00">GraphPersistWriter</text>
+</g>
+<!-- neo4j -->
+<g id="node32" class="node">
+<title>neo4j</title>
+<ellipse fill="none" stroke="black" cx="1304" cy="-34" rx="29.5104" ry="18"/>
+<text text-anchor="middle" x="1304" y="-29.8" font-family="Times,serif" font-size="14.00">neo4j</text>
+</g>
+<!-- persisters_graph->neo4j -->
+<g id="edge40" class="edge">
+<title>persisters_graph->neo4j</title>
+<path fill="none" stroke="black" d="M1213.88,-109.507C1232.23,-94.1301 1259,-71.7062 1278.59,-55.2903"/>
+<polygon fill="black" stroke="black" points="1281.08,-57.7658 1286.5,-48.6608 1276.59,-52.4002 1281.08,-57.7658"/>
+</g>
+<!-- persisters_hdfs -->
+<g id="node27" class="node">
+<title>persisters_hdfs</title>
+<ellipse fill="none" stroke="black" cx="1379" cy="-127" rx="89.7062" ry="18"/>
+<text text-anchor="middle" x="1379" y="-122.8" font-family="Times,serif" font-size="14.00">WebHdfsPersistWriter</text>
+</g>
+<!-- hdfs -->
+<g id="node31" class="node">
+<title>hdfs</title>
+<ellipse fill="none" stroke="black" cx="1379" cy="-34" rx="27" ry="18"/>
+<text text-anchor="middle" x="1379" y="-29.8" font-family="Times,serif" font-size="14.00">hdfs</text>
+</g>
+<!-- persisters_hdfs->hdfs -->
+<g id="edge39" class="edge">
+<title>persisters_hdfs->hdfs</title>
+<path fill="none" stroke="black" d="M1379,-108.626C1379,-95.4212 1379,-77.369 1379,-62.3274"/>
+<polygon fill="black" stroke="black" points="1382.5,-62.0192 1379,-52.0192 1375.5,-62.0192 1382.5,-62.0192"/>
+</g>
+<!-- persisters_kinesis_reader_activity -->
+<g id="node28" class="node">
+<title>persisters_kinesis_reader_activity</title>
+<ellipse fill="none" stroke="black" cx="1379" cy="-238" rx="85.0273" ry="18"/>
+<text text-anchor="middle" x="1379" y="-233.8" font-family="Times,serif" font-size="14.00">KinesisPersistReader</text>
+</g>
+<!-- persisters_kinesis_reader_activity->persisters_elasticsearch -->
+<g id="edge33" class="edge">
+<title>persisters_kinesis_reader_activity->persisters_elasticsearch</title>
+<path fill="none" stroke="black" d="M1411.05,-221.141C1447.73,-201.842 1507.94,-170.168 1548.26,-148.956"/>
+<polygon fill="black" stroke="black" points="1550.08,-151.953 1557.3,-144.2 1546.82,-145.758 1550.08,-151.953"/>
+</g>
+<!-- persisters_kinesis_reader_activity->persisters_graph -->
+<g id="edge35" class="edge">
+<title>persisters_kinesis_reader_activity->persisters_graph</title>
+<path fill="none" stroke="black" d="M1350.35,-220.9C1318.03,-201.614 1265.38,-170.195 1229.99,-149.073"/>
+<polygon fill="black" stroke="black" points="1231.76,-146.057 1221.38,-143.938 1228.18,-152.068 1231.76,-146.057"/>
+</g>
+<!-- persisters_kinesis_reader_activity->persisters_hdfs -->
+<g id="edge34" class="edge">
+<title>persisters_kinesis_reader_activity->persisters_hdfs</title>
+<path fill="none" stroke="black" d="M1379,-219.671C1379,-202.237 1379,-175.748 1379,-155.549"/>
+<polygon fill="black" stroke="black" points="1382.5,-155.357 1379,-145.357 1375.5,-155.357 1382.5,-155.357"/>
+</g>
+<!-- persisters_kinesis_reader_activityobject -->
+<g id="node29" class="node">
+<title>persisters_kinesis_reader_activityobject</title>
+<ellipse fill="none" stroke="black" cx="1568" cy="-238" rx="85.0273" ry="18"/>
+<text text-anchor="middle" x="1568" y="-233.8" font-family="Times,serif" font-size="14.00">KinesisPersistReader</text>
+</g>
+<!-- persisters_kinesis_reader_activityobject->persisters_elasticsearch -->
+<g id="edge36" class="edge">
+<title>persisters_kinesis_reader_activityobject->persisters_elasticsearch</title>
+<path fill="none" stroke="black" d="M1571.63,-219.671C1575.1,-202.157 1580.39,-175.504 1584.4,-155.27"/>
+<polygon fill="black" stroke="black" points="1587.85,-155.846 1586.36,-145.357 1580.98,-154.485 1587.85,-155.846"/>
+</g>
+<!-- persisters_kinesis_reader_activityobject->persisters_hdfs -->
+<g id="edge37" class="edge">
+<title>persisters_kinesis_reader_activityobject->persisters_hdfs</title>
+<path fill="none" stroke="black" d="M1538.88,-220.9C1506.14,-201.67 1452.86,-170.378 1416.9,-149.257"/>
+<polygon fill="black" stroke="black" points="1418.55,-146.166 1408.15,-144.12 1415,-152.202 1418.55,-146.166"/>
+</g>
+<!-- kinesis->persisters_kinesis_reader_activity -->
+<g id="edge30" class="edge">
+<title>kinesis->persisters_kinesis_reader_activity</title>
+<path fill="none" stroke="black" d="M1442.34,-330.005C1433.73,-323.956 1424.28,-316.349 1417.07,-308 1406.15,-295.363 1397.07,-279.081 1390.51,-265.4"/>
+<polygon fill="black" stroke="black" points="1393.55,-263.62 1386.2,-255.988 1387.18,-266.537 1393.55,-263.62"/>
+<text text-anchor="middle" x="1463.47" y="-296.8" font-family="Times,serif" font-size="14.00">o.a.s.p.j.Activity</text>
+</g>
+<!-- kinesis->persisters_kinesis_reader_activityobject -->
+<g id="edge32" class="edge">
+<title>kinesis->persisters_kinesis_reader_activityobject</title>
+<path fill="none" stroke="black" d="M1485.45,-329.062C1493.42,-322.884 1502.44,-315.434 1510,-308 1523.89,-294.349 1537.86,-277.595 1548.61,-263.901"/>
+<polygon fill="black" stroke="black" points="1551.51,-265.875 1554.86,-255.824 1545.97,-261.592 1551.51,-265.875"/>
+<text text-anchor="middle" x="1587.13" y="-296.8" font-family="Times,serif" font-size="14.00">o.a.s.p.j.ActivityObject</text>
+</g>
+</g>
+</svg>
[02/22] incubator-streams-master git commit: add link to javadocs
Posted by sb...@apache.org.
add link to javadocs
Project: http://git-wip-us.apache.org/repos/asf/incubator-streams-master/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-streams-master/commit/3740e925
Tree: http://git-wip-us.apache.org/repos/asf/incubator-streams-master/tree/3740e925
Diff: http://git-wip-us.apache.org/repos/asf/incubator-streams-master/diff/3740e925
Branch: refs/heads/master
Commit: 3740e92550f0b3094e039b473e40c2dd4df959fb
Parents: 64bf15a
Author: Steve Blackmon @steveblackmon <sb...@apache.org>
Authored: Thu Feb 25 16:49:56 2016 -0600
Committer: Steve Blackmon @steveblackmon <sb...@apache.org>
Committed: Thu Feb 25 16:49:56 2016 -0600
----------------------------------------------------------------------
src/site/site.xml | 1 +
1 file changed, 1 insertion(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-streams-master/blob/3740e925/src/site/site.xml
----------------------------------------------------------------------
diff --git a/src/site/site.xml b/src/site/site.xml
index 0068beb..547ac5d 100644
--- a/src/site/site.xml
+++ b/src/site/site.xml
@@ -65,6 +65,7 @@
<item name="Read about twitter / streams conversion" href="http://streams.incubator.apache.org/site/0.2-incubating/streams-project/streams-contrib/index.html" />
<item name="Learn about utility streams components" href="http://streams.incubator.apache.org/site/0.2-incubating/streams-project/streams-components/index.html" />
<item name="Learn about streams interoperability modules" href="http://streams.incubator.apache.org/site/0.2-incubating/streams-project/streams-contrib/index.html" />
+ <item name="Browse the streams-project javadocs" href="http://streams.incubator.apache.org/site/0.2-incubating/streams-project/apidocs/index.html" />
</menu>
<menu name="Foundation">
<item name="Foundation Info" href="http://www.apache.org/" />
[04/22] incubator-streams-master git commit: add props file to
support text customization
Posted by sb...@apache.org.
add props file to support text customization
Project: http://git-wip-us.apache.org/repos/asf/incubator-streams-master/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-streams-master/commit/09f4d659
Tree: http://git-wip-us.apache.org/repos/asf/incubator-streams-master/tree/09f4d659
Diff: http://git-wip-us.apache.org/repos/asf/incubator-streams-master/diff/09f4d659
Branch: refs/heads/master
Commit: 09f4d6596ddf73bb693a0ee064d9e5a996b1cac1
Parents: 538a6c9
Author: Steve Blackmon @steveblackmon <sb...@apache.org>
Authored: Mon Feb 29 09:27:14 2016 -0600
Committer: Steve Blackmon @steveblackmon <sb...@apache.org>
Committed: Mon Feb 29 09:27:14 2016 -0600
----------------------------------------------------------------------
src/site/custom/project-info-report.properties | 299 ++++++++++++++++++++
1 file changed, 299 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-streams-master/blob/09f4d659/src/site/custom/project-info-report.properties
----------------------------------------------------------------------
diff --git a/src/site/custom/project-info-report.properties b/src/site/custom/project-info-report.properties
new file mode 100644
index 0000000..d702f7d
--- /dev/null
+++ b/src/site/custom/project-info-report.properties
@@ -0,0 +1,299 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+report.ci-management.jenkins.intro = This project uses {Jenkins, http://jenkins-ci.org/}.
+report.ci-management.name = CI Management
+report.ci-management.nocim = No continuous integration management system is defined. Please check back at a later date.
+report.ci-management.notifiers.column.address = Address
+report.ci-management.notifiers.column.configuration = Configuration
+report.ci-management.notifiers.column.type = Type
+report.ci-management.notifiers.intro = Configuration for notifying developers/users when a build is unsuccessful, including user information and notification mode.
+report.ci-management.notifiers.nolist = No notifiers are defined. Please check back at a later date.
+report.ci-management.notifiers.title = Notifiers
+report.ci-management.nourl = No url to the continuous integration system is defined.
+report.ci-management.overview.title = Overview
+report.ci-management.title = CI Management Yo
+report.ci-management.url = The following is a link to the continuous integration system used by the project, yo:
+report.dependencies.column.artifactId = ArtifactId
+report.dependencies.column.classifier = Classifier
+report.dependencies.column.description = Description
+report.dependencies.column.groupId = GroupId
+report.dependencies.column.licenses = Licenses
+report.dependencies.column.optional = Optional
+report.dependencies.column.isOptional = Yes
+report.dependencies.column.isNotOptional = No
+report.dependencies.column.type = Type
+report.dependencies.column.url = URL
+report.dependencies.column.version = Version
+report.dependencies.description = This document lists the project's dependencies and provides information on each dependency.
+report.dependencies.file.details.cell.debuginformation.yes = Yes
+report.dependencies.file.details.cell.debuginformation.no = No
+report.dependencies.file.details.cell.sealed.yes = Yes
+report.dependencies.file.details.cell.sealed.no = No
+report.dependencies.file.details.column.classes = Classes
+report.dependencies.file.details.column.debuginformation = Debug Information
+report.dependencies.file.details.column.entries = Entries
+report.dependencies.file.details.column.file = Filename
+report.dependencies.file.details.column.javaVersion = Java Version
+report.dependencies.file.details.column.packages = Packages
+report.dependencies.file.details.column.sealed = Sealed
+report.dependencies.file.details.column.size = Size
+report.dependencies.file.details.column.size.gb = GB
+report.dependencies.file.details.column.size.mb = MB
+report.dependencies.file.details.column.size.kb = kB
+report.dependencies.file.details.columntitle.debuginformation = Indicates whether these dependencies have been compiled with debug information.
+report.dependencies.file.details.title = Dependency File Details
+report.dependencies.file.details.total = Total
+report.dependencies.graph.icon.close = [Close]
+report.dependencies.graph.icon.information = [Information]
+report.dependencies.graph.tables.licenses = Licenses
+report.dependencies.graph.tables.unknown = Unknown
+report.dependencies.graph.title = Project Dependency Graph
+report.dependencies.graph.tree.title = Dependency Tree
+report.dependencies.intro.compile = The following is a list of compile dependencies for this project. These dependencies are required to compile and run the application:
+report.dependencies.intro.provided = The following is a list of provided dependencies for this project. These dependencies are required to compile the application, but should be provided by default when using the library:
+report.dependencies.intro.runtime = The following is a list of runtime dependencies for this project. These dependencies are required to run the application:
+report.dependencies.intro.system = The following is a list of system dependencies for this project. These dependencies are required to compile the application:
+report.dependencies.intro.test = The following is a list of test dependencies for this project. These dependencies are only required to compile and run unit tests for the application:
+report.dependencies.name = Dependencies
+report.dependencies.nolist = There are no dependencies for this project. It is a standalone application that does not depend on any other project.
+report.dependencies.repo.locations.artifact.breakdown = Repository locations for each of the Dependencies.
+report.dependencies.repo.locations.cell.release.disabled = No
+report.dependencies.repo.locations.cell.release.enabled = Yes
+report.dependencies.repo.locations.cell.snapshot.disabled = No
+report.dependencies.repo.locations.cell.snapshot.enabled = Yes
+report.dependencies.repo.locations.cell.blacklisted.disabled = No
+report.dependencies.repo.locations.cell.blacklisted.enabled = Yes
+report.dependencies.repo.locations.column.artifact = Artifact
+report.dependencies.repo.locations.column.blacklisted = Blacklisted
+report.dependencies.repo.locations.column.release = Release
+report.dependencies.repo.locations.column.repoid = Repo ID
+report.dependencies.repo.locations.column.snapshot = Snapshot
+report.dependencies.repo.locations.column.url = URL
+report.dependencies.repo.locations.title = Dependency Repository Locations
+report.dependencies.title = Project Dependencies
+report.dependencies.unnamed = Unnamed
+report.dependencies.transitive.intro = The following is a list of transitive dependencies for this project. Transitive dependencies are the dependencies of the project dependencies.
+report.dependencies.transitive.nolist = No transitive dependencies are required for this project.
+report.dependencies.transitive.title = Project Transitive Dependencies
+report.dependency-convergence.convergence.caption = Dependencies used in modules
+report.dependency-convergence.convergence.single.caption = Dependencies used in this project
+report.dependency-convergence.description = This document presents the convergence of dependency versions across the entire project, and its sub modules.
+report.dependency-convergence.icon.error = [Error]
+report.dependency-convergence.icon.success = [Success]
+report.dependency-convergence.legend = Legend:
+report.dependency-convergence.legend.different = At least one dependency has a differing version of the dependency or has SNAPSHOT dependencies.
+report.dependency-convergence.legend.shared = All modules/dependencies share one version of the dependency.
+report.dependency-convergence.name = Dependency Convergence
+report.dependency-convergence.reactor.name = Reactor Dependency Convergence
+report.dependency-convergence.reactor.title = Reactor Dependency Convergence
+report.dependency-convergence.stats.artifacts = Number of unique artifacts (NOA):
+report.dependency-convergence.stats.caption = Statistics:
+report.dependency-convergence.stats.convergence = Convergence (NOD/NOA):
+report.dependency-convergence.stats.dependencies = Number of dependencies (NOD):
+report.dependency-convergence.stats.readyrelease = Ready for release (100% convergence and no SNAPSHOTS):
+report.dependency-convergence.stats.readyrelease.error = Error
+report.dependency-convergence.stats.readyrelease.error.convergence = You do not have 100% convergence.
+report.dependency-convergence.stats.readyrelease.error.snapshots = You have SNAPSHOT dependencies.
+report.dependency-convergence.stats.readyrelease.success = Success
+report.dependency-convergence.stats.conflicting = Number of version-conflicting artifacts (NOC):
+report.dependency-convergence.stats.snapshots = Number of SNAPSHOT artifacts (NOS):
+report.dependency-convergence.stats.modules = Number of modules:
+report.dependency-convergence.title = Dependency Convergence
+report.dependency-info.name = Dependency Information
+report.dependency-info.title = Dependency Information
+report.dependency-info.description = This document describes how to to include this project as a dependency using various dependency management tools.
+report.index.nodescription = There is currently no description associated with this project.
+report.index.title = About
+report.issue-management.bugzilla.intro = This project uses {Bugzilla, http://www.bugzilla.org/}.
+report.issue-management.custom.intro = This project uses %issueManagementSystem% to manage its issues.
+report.issue-management.description = This document provides information on the issue management system used in this project.
+report.issue-management.general.intro = This project uses an issue management system to manage its issues.
+report.issue-management.intro = Issues, bugs, and feature requests should be submitted to the following issue management system for this project.
+report.issue-management.jira.intro = This project uses {JIRA, http://www.atlassian.com/software/jira}.
+report.issue-management.name = Issue Management
+report.issue-management.noissueManagement = No issue management system is defined. Please check back at a later date.
+report.issue-management.overview.title = Overview
+report.issue-management.scarab.intro = This project uses {Scarab, http://scarab.tigris.org/}.
+report.issue-management.title = Issue Management
+report.licenses.description = This document lists the project license(s).
+report.licenses.multiple = This project is provided under multiple licenses:
+report.licenses.name = Licenses
+report.licenses.nolicense = No licenses are defined for this project.
+report.licenses.overview.intro = Typically the licenses listed for the project are that of the project itself, and not of dependencies.
+report.licenses.overview.title = Overview
+report.licenses.originalText = [Original text]
+report.licenses.copy = Copy of the license follows:
+report.licenses.title = Project Licenses
+report.licenses.unnamed = Unnamed
+report.mailing-lists.column.archive = Archive
+report.mailing-lists.column.name = Name
+report.mailing-lists.column.otherArchives = Other Archives
+report.mailing-lists.column.post = Post
+report.mailing-lists.column.subscribe = Subscribe
+report.mailing-lists.column.unsubscribe = Unsubscribe
+report.mailing-lists.description = This document provides subscription and archive information for this project's mailing lists.
+report.mailing-lists.intro = These are the mailing lists that have been established for this project. For each list, there is a subscribe, unsubscribe, and an archive link.
+report.mailing-lists.name = Mailing Lists
+report.mailing-lists.nolist = There are no mailing lists currently associated with this project.
+report.mailing-lists.title = Project Mailing Lists
+report.scm.accessbehindfirewall.cvs.intro = For those developers who are stuck behind a corporate firewall, {CVSGrab, http://cvsgrab.sourceforge.net/} can use the viewcvs web interface to checkout the source code.
+report.scm.accessbehindfirewall.general.intro = Refer to the documentation of the SCM used for more information about access behind a firewall.
+report.scm.accessbehindfirewall.svn.intro = For those users who are stuck behind a corporate firewall which is blocking HTTP access to the Subversion repository, you can try to access it via the developer connection:
+report.scm.accessbehindfirewall.title = Access from Behind a Firewall
+report.scm.accessthroughtproxy.svn.intro1 = The Subversion client can go through a proxy, if you configure it to do so. First, edit your "servers" configuration file to indicate which proxy to use. The file's location depends on your operating system. On Linux or Unix it is located in the directory "~/.subversion". On Windows it is in "%APPDATA%\\Subversion". (Try "echo %APPDATA%", note this is a hidden directory.)
+report.scm.accessthroughtproxy.svn.intro2 = There are comments in the file explaining what to do. If you don't have that file, get the latest Subversion client and run any command; this will cause the configuration directory and template files to be created.
+report.scm.accessthroughtproxy.svn.intro3 = Example: Edit the 'servers' file and add something like:
+report.scm.accessthroughtproxy.title = Access Through a Proxy
+report.scm.anonymousaccess.cvs.intro = This project's CVS repository can be checked out through anonymous CVS with the following instruction set. When prompted for a password for anonymous, simply press the Enter key.
+report.scm.anonymousaccess.general.intro = Refer to the documentation of the SCM used for more information about anonymously check out. The connection url is:
+report.scm.anonymousaccess.git.intro = The source can be checked out anonymously from Git with this command (See {http://git-scm.com/docs/git-clone,http://git-scm.com/docs/git-clone}):
+report.scm.anonymousaccess.hg.intro = The source can be checked out anonymously from Mercurial with this command (See {http://www.selenic.com/mercurial/hg.1.html#clone,http://www.selenic.com/mercurial/hg.1.html#clone}):
+report.scm.anonymousaccess.svn.intro = The source can be checked out anonymously from Subversion with this command:
+report.scm.anonymousaccess.title = Anonymous Access
+report.scm.clearcase.intro = This project uses {ClearCase, http://www-306.ibm.com/software/awdtools/clearcase/} to manage its source code. Informations on ClearCase use can be found at {http://www.redbooks.ibm.com/redbooks/pdfs/sg246399.pdf, http://www.redbooks.ibm.com/redbooks/pdfs/sg246399.pdf}.
+report.scm.cvs.intro = This project uses {Concurrent Versions System, http://www.cvshome.org/} to manage its source code. Instructions on CVS use can be found at {http://cvsbook.red-bean.com/, http://cvsbook.red-bean.com/}.
+report.scm.description = This document lists ways to access the online source repository.
+report.scm.devaccess.clearcase.intro = Only project developers can access the ClearCase tree via this method. Substitute username with the proper value.
+report.scm.devaccess.cvs.intro = Only project developers can access the CVS tree via this method. Substitute username with the proper value.
+report.scm.devaccess.general.intro = Refer to the documentation of the SCM used for more information about developer check out. The connection url is:
+report.scm.devaccess.git.intro = Only project developers can access the Git tree via this method (See {http://git-scm.com/docs/git-clone,http://git-scm.com/docs/git-clone}).
+report.scm.devaccess.hg.intro = Only project developers can access the Mercurial tree via this method (See {http://www.selenic.com/mercurial/hg.1.html#clone,http://www.selenic.com/mercurial/hg.1.html#clone}).
+report.scm.devaccess.perforce.intro = Only project developers can access the Perforce tree via this method. Substitute username and password with the proper values.
+report.scm.devaccess.starteam.intro = Only project developers can access the Starteam tree via this method. Substitute username with the proper value.
+report.scm.devaccess.svn.intro1.https = Everyone can access the Subversion repository via HTTP, but committers must checkout the Subversion repository via HTTPS.
+report.scm.devaccess.svn.intro1.other = Committers must checkout the Subversion repository.
+report.scm.devaccess.svn.intro1.svn = Committers must checkout the Subversion repository via SVN.
+report.scm.devaccess.svn.intro1.svnssh = Committers must checkout the Subversion repository via SVN+SSH.
+report.scm.devaccess.svn.intro2 = To commit changes to the repository, execute the following command to commit your changes (svn will prompt you for your password):
+report.scm.devaccess.title = Developer Access
+report.scm.general.intro = This project uses a source code management system to manage its source code.
+report.scm.name = Source Code Management
+report.scm.noscm = No source configuration management system is defined. Please check back at a later date.
+report.scm.overview.title = Overview
+report.scm.git.intro = This project uses {Git, http://git-scm.com/} to manage its source code. Instructions on Git use can be found at {http://git-scm.com/documentation,http://git-scm.com/documentation}.
+report.scm.hg.intro = This project uses {Mercurial, http://mercurial.selenic.com/wiki/} to manage its source code. Instructions on Mercurial use can be found at {http://hgbook.red-bean.com/read/, http://hgbook.red-bean.com/read/}.
+report.scm.perforce.intro = This project uses {Perforce, http://www.perforce.com/} to manage its source code. Instructions on Perforce use can be found at {http://www.perforce.com/perforce/doc.051/manuals/cmdref/index.html, http://www.perforce.com/perforce/doc.051/manuals/cmdref/index.html}.
+report.scm.starteam.intro = This project uses {Starteam, http://www.borland.com/us/products/starteam/} to manage its source code.
+report.scm.svn.intro = This project uses {Subversion, http://subversion.apache.org/} to manage its source code. Instructions on Subversion use can be found at {http://svnbook.red-bean.com/, http://svnbook.red-bean.com/}.
+report.scm.title = Source Code Management
+report.scm.webaccess.nourl = There is no browsable version of the source code repository listed for this project. Please check back again later.
+report.scm.webaccess.title = Web Browser Access
+report.scm.webaccess.url = The following is a link to a browsable version of the source repository:
+report.summary.build.artifactid = ArtifactId
+report.summary.build.groupid = GroupId
+report.summary.build.javaVersion = Java Version
+report.summary.build.title = Build Information
+report.summary.build.type = Type
+report.summary.build.version = Version
+report.summary.description = This document lists other related information of this project
+report.summary.field = Field
+report.summary.general.description = Description
+report.summary.general.homepage = Homepage
+report.summary.general.name = Name
+report.summary.general.title = Project Information
+report.summary.name = Summary
+report.summary.organization.name = Name
+report.summary.organization.title = Project Organization
+report.summary.organization.url = URL
+report.summary.noorganization = This project does not belong to an organization.
+report.summary.title = Project Summary
+report.summary.value = Value
+report.summary.download = Download
+report.team.contributors.actualtime = Actual Time (GMT)
+report.team.contributors.email = Email
+report.team.contributors.intro = The following additional people have contributed to this project through the way of suggestions, patches or documentation.
+report.team.contributors.image = Image
+report.team.contributors.name = Name
+report.team.contributors.organization = Organization
+report.team.contributors.organizationurl = Organization URL
+report.team.contributors.properties = Properties
+report.team.contributors.roles = Roles
+report.team.contributors.timezone = Time Zone
+report.team.contributors.title = Contributors
+report.team.contributors.url = URL
+report.team.description = This document provides information on the members of this project. These are the individuals who have contributed to the project in one form or another.
+report.team.developers.actualtime = Actual Time (GMT)
+report.team.developers.email = Email
+report.team.developers.image = Image
+report.team.developers.id = Id
+report.team.developers.intro = The following is a list of developers with commit privileges that have directly contributed to the project in one way or another.
+report.team.developers.name = Name
+report.team.developers.organization = Organization
+report.team.developers.organizationurl = Organization URL
+report.team.developers.properties = Properties
+report.team.developers.roles = Roles
+report.team.developers.timezone = Time Zone
+report.team.developers.title = Members
+report.team.developers.url = URL
+report.team.intro.description1 = A successful project requires many people to play many roles. Some members write code or documentation, while others are valuable as testers, submitting patches and suggestions.
+report.team.intro.description2 = The project team is comprised of Members and Contributors. Members have direct access to the source of a project and actively evolve the code-base. Contributors improve the project through submission of patches and suggestions to the Members. The number of Contributors to the project is unbounded. Get involved today. All contributions to the project are greatly appreciated.
+report.team.intro.title = Project Team
+report.team.name = Team
+report.team.nocontributor = There are no contributors listed for this project. Please check back again later.
+report.team.nodeveloper = There are no developers working on this project.
+report.team.title = Project Team
+report.dependency-management.name = Dependency Management
+report.dependency-management.description = This document lists the dependencies that are defined through dependencyManagement.
+report.dependency-management.title = Project Dependency Management
+report.dependency-management.nolist = There are no dependencies in the DependencyManagement of this project.
+report.dependency-management.column.groupId = GroupId
+report.dependency-management.column.artifactId = ArtifactId
+report.dependency-management.column.version = Version
+report.dependency-management.column.classifier = Classifier
+report.dependency-management.column.type = Type
+report.dependency-management.column.license = License
+report.dependency-management.intro.compile = The following is a list of compile dependencies in the DependencyManagement of this project. These dependencies can be included in the submodules to compile and run the submodule:
+report.dependency-management.intro.provided = The following is a list of provided dependencies in the DependencyManagement of this project. These dependencies can be included in the submodules to compile the submodule, but should be provided by default when using the library:
+report.dependency-management.intro.runtime = The following is a list of runtime dependencies in the DependencyManagement of this project. These dependencies can be included in the submodules to run the submodule:
+report.dependency-management.intro.system = The following is a list of system dependencies in the DependencyManagement of this project. These dependencies can be included in the submodules to compile the submodule:
+report.dependency-management.intro.test = The following is a list of test dependencies in the DependencyManagement of this project. These dependencies can be included in the submodules to compile and run unit tests for the submodule:
+report.plugin-management.nolist = There are no plugins defined in the PluginManagement part of this project.
+report.plugin-management.name = Plugin Management
+report.plugin-management.description = This document lists the plugins that are defined through pluginManagement.
+report.plugin-management.title = Project Plugin Management
+report.plugins.name = Plugins
+report.plugins.description = This document lists the build plugins and the report plugins used by this project.
+report.plugins.title = Project Plugins
+report.plugins.build.title = Project Build Plugins
+report.plugins.report.title = Project Report Plugins
+report.plugins.nolist = There are no plugins defined in the Build part of this project.
+report.plugins.report.nolist = There are no plugins reports defined in the Reporting part of this project.
+report.modules.nolist = There are no modules declared in this project.
+report.modules.name = Project Modules
+report.modules.description = This document lists the modules (sub-projects) of this project.
+report.modules.title = Project Modules
+report.modules.intro = This project has declared the following modules:
+report.modules.header.name = Name
+report.modules.header.description = Description
+report.distribution-management.name = Distribution Management
+report.distribution-management.description = This document provides informations on the distribution management of this project.
+report.distribution-management.title = Project Distribution Management
+report.distribution-management.nodistributionmanagement = No distribution management is defined for this project.
+report.distribution-management.overview.title = Overview
+report.distribution-management.overview.intro = The following is the distribution management information used by this project.
+report.distribution-management.downloadURL = Download URL
+report.distribution-management.repository = Repository
+report.distribution-management.snapshotRepository = Snapshot Repository
+report.distribution-management.site = Site
+report.distribution-management.relocation = Relocation
+report.distribution-management.field = Field
+report.distribution-management.value = Value
+report.distribution-management.relocation.groupid = GroupId
+report.distribution-management.relocation.artifactid = ArtifactId
+report.distribution-management.relocation.version = Version
+report.distribution-management.relocation.message = Message
[11/22] incubator-streams-master git commit: Add tutorial
Posted by sb...@apache.org.
Add tutorial
Project: http://git-wip-us.apache.org/repos/asf/incubator-streams-master/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-streams-master/commit/283d0fc4
Tree: http://git-wip-us.apache.org/repos/asf/incubator-streams-master/tree/283d0fc4
Diff: http://git-wip-us.apache.org/repos/asf/incubator-streams-master/diff/283d0fc4
Branch: refs/heads/master
Commit: 283d0fc46896a64dafd31879173ac1f81f32a8df
Parents: 749300a
Author: Steve Blackmon @steveblackmon <sb...@apache.org>
Authored: Mon Apr 25 11:04:59 2016 -0500
Committer: Steve Blackmon @steveblackmon <sb...@apache.org>
Committed: Mon Apr 25 11:04:59 2016 -0500
----------------------------------------------------------------------
src/site/markdown/tutorial/build.md | 81 ++++++++++++++++++++++++++
src/site/markdown/tutorial/database.md | 44 ++++++++++++++
src/site/markdown/tutorial/docker.md | 18 ++++++
src/site/markdown/tutorial/environment.md | 28 +++++++++
src/site/site.xml | 37 +++++++-----
src/site/site_en.xml | 81 ++++++++++++++------------
6 files changed, 235 insertions(+), 54 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-streams-master/blob/283d0fc4/src/site/markdown/tutorial/build.md
----------------------------------------------------------------------
diff --git a/src/site/markdown/tutorial/build.md b/src/site/markdown/tutorial/build.md
new file mode 100644
index 0000000..1608b28
--- /dev/null
+++ b/src/site/markdown/tutorial/build.md
@@ -0,0 +1,81 @@
+## Build streams and streams-examples from source
+
+This tutorial assumes you are using linux or Mac OS X.
+
+### Setup Tools
+
+You'll need the following tools installed in your command line:
+
+* Git
+* Java SDK
+* Maven
+* Docker
+
+#### Git
+
+ `git -version`
+
+| Possible result | Explanation |
+|-----------------|-------------|
+| bash: git: No such file or directory | You need to install git |
+| git version < 2.7 | You should upgrade git for security reasons |
+| git version > 2.7 | You are all good |
+
+#### Maven and Java SDK
+
+Run from your command line:
+
+ `mvn -version`
+
+| Possible result | Explanation |
+|-----------------|-------------|
+| -bash: mvn: command not found | You need to install maven |
+| Error: JAVA_HOME is not defined correctly. | You need to install JDK |
+| Apache Maven >= 3.2.5+\nJava Version >= 1.7.0u72) | You're all good |
+| Apache Maven >= 3.2.5+\nJava Version >= 1.8.0u25) | You're all good |
+| Apache Maven < 3.2.5 | You need a newer version of maven |
+| Java Version < 1.7.0u72 | You need a newer version of maven |
+| Java Version < 1.8.0u25 | You need a newer JDK |
+
+#### Docker
+
+Run from your command line:
+
+ `docker version`
+
+| Possible result | Explanation |
+|-----------------|-------------|
+| bash: docker: No such file or directory | You need to install docker |
+| Client: Version: < 1.0.0 | You need a newer version of docker |
+| Server: Version: < 1.0.0 | You need a newer version of docker |
+| Client: Version: > 1.0.0\nServer: Version: > 1.0.0 | You are all good |
+
+See [streams-project-index.html](http://streams.incubator.apache.org/site/0.2-incubating/streams-project/index.html "streams-project/index.html") for more information.
+
+### Download Sources
+
+Run from your command line:
+
+ `git clone https://github.com/apache/incubator-streams`
+ `git clone https://github.com/apache/incubator-streams-examples`
+
+### Build Projects
+
+Run from your command line:
+
+ `export MAVEN_OPTS="-Xmx2G"`
+ `cd incubator-streams`
+ `mvn clean install -Dmaven.test.skip.exec=true`
+
+| Possible result | Explanation |
+|-----------------|-------------|
+| BUILD SUCCESSFUL | You are all good |
+| BUILD FAILED | Check yourself |
+
+ `cd ../incubator-streams-examples`
+ `mvn clean package`
+
+| Possible result | Explanation |
+|-----------------|-------------|
+| BUILD SUCCESSFUL | You are all good |
+| BUILD FAILED | Check yourself |
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-streams-master/blob/283d0fc4/src/site/markdown/tutorial/database.md
----------------------------------------------------------------------
diff --git a/src/site/markdown/tutorial/database.md b/src/site/markdown/tutorial/database.md
new file mode 100644
index 0000000..b546826
--- /dev/null
+++ b/src/site/markdown/tutorial/database.md
@@ -0,0 +1,44 @@
+## Set up databases to store and analyze streams content
+
+This tutorial assumes you are using linux or Mac OS X.
+
+### Confirm Docker is healthy
+
+We'll assume you've got docker up and running.
+
+Run from your command line:
+
+ `docker ps`
+
+If you see a (possibly empty) list of running containers, you are good.
+
+### Run Elasticsearch
+
+Elasticsearch is a great database for storing content from your streams.
+
+ `docker run -d --name elasticsearch elasticsearch`
+
+### Add Elasticsearch container details to your configuration
+
+ `cd $STREAMS`
+ `export DOCKERHOST=$(docker-machine ip)`
+
+Put the following into elasticsearch.conf
+
+ include "reference.conf"
+ elasticsearch {
+ hosts = [
+ ${DOCKERHOST}
+ ]
+ protocol = "tcp"
+ port = 9300
+ index = "streams"
+ indexes = [
+ "streams"
+ ]
+ types = [
+ "page"
+ "post"
+ ]
+ }
+
http://git-wip-us.apache.org/repos/asf/incubator-streams-master/blob/283d0fc4/src/site/markdown/tutorial/docker.md
----------------------------------------------------------------------
diff --git a/src/site/markdown/tutorial/docker.md b/src/site/markdown/tutorial/docker.md
new file mode 100644
index 0000000..fa5ffec
--- /dev/null
+++ b/src/site/markdown/tutorial/docker.md
@@ -0,0 +1,18 @@
+## Set up a local environment to run streams
+
+First of all, you do not run 'Streams' as software. Rather, you run 'streams' which use Streams components and libraries under the cover.
+
+Streams components can be embedded in a variety of data processing frameworks based on the problem and performance requirements at hand.
+
+A great way to get started collecting and indexing data is with streams-runtime-local and Docker.
+
+### Confirm Docker is healthy
+
+We'll assume you've got docker up and running.
+
+Run from your command line:
+
+ `docker ps`
+
+If you see a (possibly empty) list of running containers, you are good.
+
http://git-wip-us.apache.org/repos/asf/incubator-streams-master/blob/283d0fc4/src/site/markdown/tutorial/environment.md
----------------------------------------------------------------------
diff --git a/src/site/markdown/tutorial/environment.md b/src/site/markdown/tutorial/environment.md
new file mode 100644
index 0000000..b86dd7e
--- /dev/null
+++ b/src/site/markdown/tutorial/environment.md
@@ -0,0 +1,28 @@
+### Create a folder to hold streams configuration files
+
+Pick a place on your file system that's easy to remember and reference with an absolution path.
+
+Create a new empty folder there and export the path to a variables.
+
+ `mkdir ~/streams`
+ `export STREAMS=$(cd ~streams; pwd)`
+
+### Create a configuration file to hold secrets
+
+ `cd $STREAMS`
+ `touch reference.conf`
+
+To get started, put the following into reference.conf
+
+ twitter {
+ oauth {
+ consumerKey = ""
+ consumerSecret = ""
+ accessToken = ""
+ accessTokenSecret = ""
+ }
+ }
+
+Visit developer.twitter.com to obtain the above fields and put them your reference.conf
+
+
http://git-wip-us.apache.org/repos/asf/incubator-streams-master/blob/283d0fc4/src/site/site.xml
----------------------------------------------------------------------
diff --git a/src/site/site.xml b/src/site/site.xml
index e06e9f2..4087ae7 100644
--- a/src/site/site.xml
+++ b/src/site/site.xml
@@ -75,26 +75,31 @@
<item name="streams-examples" href="http://streams.incubator.apache.org/site/0.3-incubating-SNAPSHOT/streams-examples/" />
</menu>
<menu name="Getting Started">
- <item name="Learn more about Activity Streams" href="http://activitystrea.ms" />
- <item name="Check out streams-project web site" href="http://streams.incubator.apache.org/site/0.2-incubating/streams-project/" />
- <item name="View the official Apache Streams jsonschema files" href="http://streams.incubator.apache.org/site/0.2-incubating/streams-project/streams-pojo/index.html" />
- <item name="Set up a local environment to run streams" />
- <item name="Set up a local database to store streams data" />
- <item name="Build and run twitter-history-elasticsearch" href="http://streams.incubator.apache.org/site/0.2-incubating-SNAPSHOT/streams-examples/streams-examples-local/twitter-history-elasticsearch/index.html" />
- <item name="Browse and search the twitter data you collected" />
- <item name="View the schemas that describe twitter data" href="http://streams.incubator.apache.org/site/0.2-incubating/streams-project/streams-contrib/streams-provider-twitter/index.html" />
- <item name="Read about twitter / streams conversion" href="http://streams.incubator.apache.org/site/0.2-incubating/streams-project/streams-contrib/index.html" />
- <item name="Learn about utility streams components" href="http://streams.incubator.apache.org/site/0.2-incubating/streams-project/streams-components/index.html" />
- <item name="Learn about streams interoperability modules" href="http://streams.incubator.apache.org/site/0.2-incubating/streams-project/streams-contrib/index.html" />
+ <item name="View the official Apache Streams jsonschema files" href="http://streams.incubator.apache.org/site/0.3-incubating-SNAPSHOT/streams-project/streams-pojo/index.html" />
+ <item name="View the schemas that describe twitter data" href="http://streams.incubator.apache.org/site/0.3-incubating-SNAPSHOT/streams-project/streams-contrib/streams-provider-twitter/index.html" />
+ <item name="Read about twitter / streams conversion" href="http://streams.incubator.apache.org/site/0.3-incubating-SNAPSHOT/streams-project/streams-contrib/index.html" />
+ <item name="Learn about utility streams components" href="http://streams.incubator.apache.org/site/0.3-incubating-SNAPSHOT/streams-project/streams-components/index.html" />
+ <item name="Learn about streams interoperability modules" href="http://streams.incubator.apache.org/site/0.3-incubating-SNAPSHOT/streams-project/streams-contrib/index.html" />
+ <item name="Browse streams providers, processors, and persisters" href="http://streams.incubator.apache.org/site/0.3-incubating-SNAPSHOT/streams-project/streams-contrib/index.html" />
</menu>
- <menu name="Foundation">
- <item name="Foundation Info" href="http://www.apache.org/" />
- <item name="Sponsorship" href="http://www.apache.org/foundation/sponsorship.html" />
- <item name="Thanks" href="http://www.apache.org/foundation/thanks.html" />
+ <menu name="Tutorial">
+ <item name="Build streams and streams-examples from source" href="tutorial/build.html" />
+ <item name="Create a local folder to configure streams" href="tutorial/environment.html"/>
+ <item name="Set up a local docker environment" href="tutorial/docker.html" />
+ <item name="Run a local database to store activity documents" href="tutorial/database.html" />
+ <item name="Run twitter-history-elasticsearch" href="http://streams.incubator.apache.org/site/0.2-incubating-SNAPSHOT/streams-examples/streams-examples-local/twitter-history-elasticsearch/index.html" />
+ <item name="Browse and search the twitter data you collected" href="tutorial/browse.html" />
</menu>
<menu name="Other Resources">
- <item name="Streams Proposal Wiki Page" href="http://wiki.apache.org/incubator/StreamsProposal" />
+ <item name="ActivityStreams Homepage" href="http://activitystrea.ms" />
<item name="ActivityStreams Specifications" href="http://activitystrea.ms/specs/" />
+ <item name="Streams Blog" href="http://blogs.apache.org/streams/" />
+ <item name="Streams Proposal Wiki Page" href="http://wiki.apache.org/incubator/StreamsProposal" />
+ </menu>
+ <menu name="Foundation">
+ <item name="Foundation Info" href="http://www.apache.org/" />
+ <item name="Sponsorship" href="http://www.apache.org/foundation/sponsorship.html" />
+ <item name="Thanks" href="http://www.apache.org/foundation/thanks.html" />
</menu>
</body>
</project>
http://git-wip-us.apache.org/repos/asf/incubator-streams-master/blob/283d0fc4/src/site/site_en.xml
----------------------------------------------------------------------
diff --git a/src/site/site_en.xml b/src/site/site_en.xml
index e06e9f2..effd07e 100644
--- a/src/site/site_en.xml
+++ b/src/site/site_en.xml
@@ -25,11 +25,11 @@
<version>1.4</version>
</skin>
<custom>
- <fluidoSkin>
- <topBarEnabled>true</topBarEnabled>
- <navBarStyle>navbar-inverse</navBarStyle>
- <sideBarEnabled>false</sideBarEnabled>
- </fluidoSkin>
+ <fluidoSkin>
+ <topBarEnabled>true</topBarEnabled>
+ <navBarStyle>navbar-inverse</navBarStyle>
+ <sideBarEnabled>false</sideBarEnabled>
+ </fluidoSkin>
</custom>
<bannerLeft>
<name>Apache Streams</name>
@@ -45,8 +45,8 @@
</bannerRight>
<body>
<breadcrumbs>
- <item name="Incubator" href="http://incubator.apache.org/"/>
- <item name="Streams" href="http://streams.incubator.apache.org/"/>
+ <item name="Incubator" href="http://incubator.apache.org/"/>
+ <item name="Streams" href="http://streams.incubator.apache.org/"/>
</breadcrumbs>
<menu ref="parent" inherit="top"/>
<menu name="Overview">
@@ -57,44 +57,49 @@
<item name="Frequently Asked Questions" href="faq.html" />
</menu>
<menu name="Details">
- <item name="Project License" href="license.html" />
- <item name="Mailing Lists" href="mail-lists.html" />
- <item name="Project Team" href="team-list.html" />
- <item name="Continuous Integration" href="integration.html"/>
- <item name="Issue Tracking" href="issue-tracking.html" />
- <item name="Source Repositories" href="source-repository.html" />
- <item name="Dependency Info" href="dependency-info.html" />
- <item name="Distribution Management" href="distribution-management.html" />
- <item name="Plugin Management" href="plugin-management.html" />
- <item name="Release Setup" href="release-setup.html" />
- <item name="Release Process" href="release.html" />
+ <item name="Project License" href="license.html" />
+ <item name="Mailing Lists" href="mail-lists.html" />
+ <item name="Project Team" href="team-list.html" />
+ <item name="Continuous Integration" href="integration.html"/>
+ <item name="Issue Tracking" href="issue-tracking.html" />
+ <item name="Source Repositories" href="source-repository.html" />
+ <item name="Dependency Info" href="dependency-info.html" />
+ <item name="Distribution Management" href="distribution-management.html" />
+ <item name="Plugin Management" href="plugin-management.html" />
+ <item name="Release Setup" href="release-setup.html" />
+ <item name="Release Process" href="release.html" />
</menu>
<menu name="Projects">
- <item name="streams-master" />
- <item name="streams-project" href="http://streams.incubator.apache.org/site/0.3-incubating-SNAPSHOT/streams-project" />
- <item name="streams-examples" href="http://streams.incubator.apache.org/site/0.3-incubating-SNAPSHOT/streams-examples/" />
+ <item name="streams-master" />
+ <item name="streams-project" href="http://streams.incubator.apache.org/site/0.3-incubating-SNAPSHOT/streams-project" />
+ <item name="streams-examples" href="http://streams.incubator.apache.org/site/0.3-incubating-SNAPSHOT/streams-examples/" />
</menu>
<menu name="Getting Started">
- <item name="Learn more about Activity Streams" href="http://activitystrea.ms" />
- <item name="Check out streams-project web site" href="http://streams.incubator.apache.org/site/0.2-incubating/streams-project/" />
- <item name="View the official Apache Streams jsonschema files" href="http://streams.incubator.apache.org/site/0.2-incubating/streams-project/streams-pojo/index.html" />
- <item name="Set up a local environment to run streams" />
- <item name="Set up a local database to store streams data" />
- <item name="Build and run twitter-history-elasticsearch" href="http://streams.incubator.apache.org/site/0.2-incubating-SNAPSHOT/streams-examples/streams-examples-local/twitter-history-elasticsearch/index.html" />
- <item name="Browse and search the twitter data you collected" />
- <item name="View the schemas that describe twitter data" href="http://streams.incubator.apache.org/site/0.2-incubating/streams-project/streams-contrib/streams-provider-twitter/index.html" />
- <item name="Read about twitter / streams conversion" href="http://streams.incubator.apache.org/site/0.2-incubating/streams-project/streams-contrib/index.html" />
- <item name="Learn about utility streams components" href="http://streams.incubator.apache.org/site/0.2-incubating/streams-project/streams-components/index.html" />
- <item name="Learn about streams interoperability modules" href="http://streams.incubator.apache.org/site/0.2-incubating/streams-project/streams-contrib/index.html" />
+ <item name="View the official Apache Streams jsonschema files" href="http://streams.incubator.apache.org/site/0.3-incubating-SNAPSHOT/streams-project/streams-pojo/index.html" />
+ <item name="View the schemas that describe twitter data" href="http://streams.incubator.apache.org/site/0.3-incubating-SNAPSHOT/streams-project/streams-contrib/streams-provider-twitter/index.html" />
+ <item name="Read about twitter / streams conversion" href="http://streams.incubator.apache.org/site/0.3-incubating-SNAPSHOT/streams-project/streams-contrib/index.html" />
+ <item name="Learn about utility streams components" href="http://streams.incubator.apache.org/site/0.3-incubating-SNAPSHOT/streams-project/streams-components/index.html" />
+ <item name="Learn about streams interoperability modules" href="http://streams.incubator.apache.org/site/0.3-incubating-SNAPSHOT/streams-project/streams-contrib/index.html" />
+ <item name="Browse streams providers, processors, and persisters" href="http://streams.incubator.apache.org/site/0.3-incubating-SNAPSHOT/streams-project/streams-contrib/index.html" />
</menu>
- <menu name="Foundation">
- <item name="Foundation Info" href="http://www.apache.org/" />
- <item name="Sponsorship" href="http://www.apache.org/foundation/sponsorship.html" />
- <item name="Thanks" href="http://www.apache.org/foundation/thanks.html" />
+ <menu name="Tutorial">
+ <item name="Build streams and streams-examples from source" href="tutorial/build.html" />
+ <item name="Create a local folder to configure streams" href="tutorial/environment.html"/>
+ <item name="Set up a local docker environment" href="tutorial/docker.html" />
+ <item name="Run a local database to store activity documents" href="tutorial/database.html" />
+ <item name="Run twitter-history-elasticsearch" href="http://streams.incubator.apache.org/site/0.2-incubating-SNAPSHOT/streams-examples/streams-examples-local/twitter-history-elasticsearch/index.html" />
+ <item name="Browse and search the twitter data you collected" href="tutorial/browse.html" />
</menu>
<menu name="Other Resources">
- <item name="Streams Proposal Wiki Page" href="http://wiki.apache.org/incubator/StreamsProposal" />
- <item name="ActivityStreams Specifications" href="http://activitystrea.ms/specs/" />
+ <item name="ActivityStreams Homepage" href="http://activitystrea.ms" />
+ <item name="ActivityStreams Specifications" href="http://activitystrea.ms/specs/" />
+ <item name="Streams Blog" href="http://blogs.apache.org/streams/" />
+ <item name="Streams Proposal Wiki Page" href="http://wiki.apache.org/incubator/StreamsProposal" />
+ </menu>
+ <menu name="Foundation">
+ <item name="Foundation Info" href="http://www.apache.org/" />
+ <item name="Sponsorship" href="http://www.apache.org/foundation/sponsorship.html" />
+ <item name="Thanks" href="http://www.apache.org/foundation/thanks.html" />
</menu>
</body>
</project>
[14/22] incubator-streams-master git commit: add bit about deleting
existing site
Posted by sb...@apache.org.
add bit about deleting existing site
Project: http://git-wip-us.apache.org/repos/asf/incubator-streams-master/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-streams-master/commit/9cb990c6
Tree: http://git-wip-us.apache.org/repos/asf/incubator-streams-master/tree/9cb990c6
Diff: http://git-wip-us.apache.org/repos/asf/incubator-streams-master/diff/9cb990c6
Branch: refs/heads/master
Commit: 9cb990c6683cb7c293c3f2b8b2aa8de9093cad59
Parents: a3b44b9
Author: Steve Blackmon @steveblackmon <sb...@apache.org>
Authored: Mon Apr 25 15:23:21 2016 -0500
Committer: Steve Blackmon @steveblackmon <sb...@apache.org>
Committed: Mon Apr 25 15:23:21 2016 -0500
----------------------------------------------------------------------
src/site/markdown/website.md | 11 ++++++++++-
1 file changed, 10 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-streams-master/blob/9cb990c6/src/site/markdown/website.md
----------------------------------------------------------------------
diff --git a/src/site/markdown/website.md b/src/site/markdown/website.md
index 2e2c8f2..cca00a5 100644
--- a/src/site/markdown/website.md
+++ b/src/site/markdown/website.md
@@ -63,7 +63,16 @@ The first time a specific site is being published for this version, you must cre
> content$ mkdir site/${project.version}/${project.artifactId}
> content$ svn add site/${project.version}/${project.artifactId}
> content$ svn commit -m "svn add site/${project.version}/${project.artifactId}"
-
+
+If you are published over an existing snapshot, you must first remove the existing version and recreate an empty directory.
+
+> content$ rm -rf site/${project.version}/${project.artifactId}
+> content$ svn delete site/${project.version}/${project.artifactId}
+> content$ svn commit -m "svn delete site/${project.version}/${project.artifactId}"
+> content$ mkdir site/${project.version}/${project.artifactId}
+> content$ svn add site/${project.version}/${project.artifactId}
+> content$ svn commit -m "svn add site/${project.version}/${project.artifactId}"
+
The folder must exist and be empty for the publish steps to succeed.
Repositories should always be built and published in the following order:
[19/22] incubator-streams-master git commit: add google analytics
Posted by sb...@apache.org.
add google analytics
Project: http://git-wip-us.apache.org/repos/asf/incubator-streams-master/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-streams-master/commit/3689338f
Tree: http://git-wip-us.apache.org/repos/asf/incubator-streams-master/tree/3689338f
Diff: http://git-wip-us.apache.org/repos/asf/incubator-streams-master/diff/3689338f
Branch: refs/heads/master
Commit: 3689338f3567f3b863399d327ec2b31291845ff1
Parents: 9e91ffe
Author: Steve Blackmon @steveblackmon <sb...@apache.org>
Authored: Wed Apr 27 19:23:14 2016 -0500
Committer: Steve Blackmon @steveblackmon <sb...@apache.org>
Committed: Wed Apr 27 19:23:14 2016 -0500
----------------------------------------------------------------------
src/site/site.xml | 12 ++++++++++++
src/site/site_en.xml | 12 ++++++++++++
2 files changed, 24 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-streams-master/blob/3689338f/src/site/site.xml
----------------------------------------------------------------------
diff --git a/src/site/site.xml b/src/site/site.xml
index eb5f0c9..9c8a3b5 100644
--- a/src/site/site.xml
+++ b/src/site/site.xml
@@ -90,6 +90,18 @@
<item name="Sponsorship" href="http://www.apache.org/foundation/sponsorship.html" />
<item name="Thanks" href="http://www.apache.org/foundation/thanks.html" />
</menu>
+ <head>
+ <script>
+ (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+ m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+ })(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
+
+ ga('create', 'UA-77087101-1', 'auto');
+ ga('send', 'pageview');
+
+ </script>
+ </head>
</body>
<custom>
<fluidoSkin>
http://git-wip-us.apache.org/repos/asf/incubator-streams-master/blob/3689338f/src/site/site_en.xml
----------------------------------------------------------------------
diff --git a/src/site/site_en.xml b/src/site/site_en.xml
index b534a59..23d6191 100644
--- a/src/site/site_en.xml
+++ b/src/site/site_en.xml
@@ -90,6 +90,18 @@
<item name="Sponsorship" href="http://www.apache.org/foundation/sponsorship.html" />
<item name="Thanks" href="http://www.apache.org/foundation/thanks.html" />
</menu>
+ <head>
+ <script>
+ (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+ m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+ })(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
+
+ ga('create', 'UA-77087101-1', 'auto');
+ ga('send', 'pageview');
+
+ </script>
+ </head>
</body>
<custom>
<fluidoSkin>
[22/22] incubator-streams-master git commit: PR feedback, fix site URL,
a bit of cleanup
Posted by sb...@apache.org.
PR feedback, fix site URL, a bit of cleanup
Project: http://git-wip-us.apache.org/repos/asf/incubator-streams-master/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-streams-master/commit/4a4c78e3
Tree: http://git-wip-us.apache.org/repos/asf/incubator-streams-master/tree/4a4c78e3
Diff: http://git-wip-us.apache.org/repos/asf/incubator-streams-master/diff/4a4c78e3
Branch: refs/heads/master
Commit: 4a4c78e322ed737d00704087911afc582b518299
Parents: 2cd5389
Author: Steve Blackmon @steveblackmon <sb...@apache.org>
Authored: Thu May 5 11:08:57 2016 -0500
Committer: Steve Blackmon @steveblackmon <sb...@apache.org>
Committed: Thu May 5 11:08:57 2016 -0500
----------------------------------------------------------------------
pom.xml | 24 ++++++------------------
1 file changed, 6 insertions(+), 18 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-streams-master/blob/4a4c78e3/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 9e6ea3e..91e9586 100644
--- a/pom.xml
+++ b/pom.xml
@@ -68,13 +68,6 @@
</prerequisites>
<mailingLists>
- <!-- <mailingList>
- <name>User Mailing List</name>
- <post>user@streams.incubator.apache.org</post>
- <subscribe>user-subscribe@streams.incubator.apache.org</subscribe>
- <unsubscribe>user-unsubscribe@streams.incubator.apache.org</unsubscribe>
- <archive>http://mail-archives.apache.org/mod_mbox/incubator-streams-user/</archive>
- </mailingList> -->
<mailingList>
<name>Dev Mailing List</name>
<post>dev@streams.incubator.apache.org</post>
@@ -237,12 +230,8 @@
</snapshotRepository>
<site>
<id>site.streams.master</id>
- <url>scm:svn:https://svn.apache.org/repos/infra/websites/production/streams/content/site/${project.version}/${project.artifactId}/</url>
+ <url>scm:svn:https://svn.apache.org/repos/asf/incubator/streams/site/trunk/content/site/${project.version}/${project.artifactId}/</url>
</site>
- <!-- <site>
- <id>site.streams.sblackmon.home</id>
- <url>scp://people.apache.org/home/sblackmon/public_html/${project.version}/${project.artifactId}/</url>
- </site> -->
</distributionManagement>
<properties>
@@ -317,7 +306,6 @@
<zookeeper.version>3.4.5</zookeeper.version>
<netty.version>3.8.0.Final</netty.version>
<json-path.version>0.9.1</json-path.version>
- <build-helper.version>1.8</build-helper.version>
<facebook4j.version>2.1.0</facebook4j.version>
<mockito.version>1.9.5</mockito.version>
<powermock.version>1.5.6</powermock.version>
@@ -399,6 +387,9 @@
<artifactId>jsonschema2pojo-maven-plugin</artifactId>
<version>${jsonschema2pojo.version}</version>
<configuration>
+ <sourcePaths>
+ <sourcePath>${project.basedir}/src/main/jsonschema</sourcePath>
+ </sourcePaths>
<addCompileSourceRoot>true</addCompileSourceRoot>
<generateBuilders>true</generateBuilders>
<outputDirectory>target/generated-sources/jsonschema2pojo</outputDirectory>
@@ -931,6 +922,7 @@
</reportSets>
</plugin>
<plugin>
+ <groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-site-plugin</artifactId>
<version>${site.plugin.version}</version>
<configuration>
@@ -1097,11 +1089,6 @@
</execution>
</executions>
</plugin>
- <!--<plugin>-->
- <!--<groupId>com.github.ferstl</groupId>-->
- <!--<artifactId>depgraph-maven-plugin</artifactId>-->
- <!--<version>${depgraph.plugin.version}</version>-->
- <!--</plugin>-->
</plugins>
</build>
<reporting>
@@ -1133,6 +1120,7 @@
</reportSets>
</plugin>
<plugin>
+ <groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-site-plugin</artifactId>
</plugin>
<plugin>
[17/22] incubator-streams-master git commit: another round of site
improvements
Posted by sb...@apache.org.
another round of site improvements
Project: http://git-wip-us.apache.org/repos/asf/incubator-streams-master/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-streams-master/commit/24913831
Tree: http://git-wip-us.apache.org/repos/asf/incubator-streams-master/tree/24913831
Diff: http://git-wip-us.apache.org/repos/asf/incubator-streams-master/diff/24913831
Branch: refs/heads/master
Commit: 249138318a63454299b5c18589adc26abd76c5fa
Parents: ff129ea
Author: Steve Blackmon @steveblackmon <sb...@apache.org>
Authored: Wed Apr 27 15:54:29 2016 -0500
Committer: Steve Blackmon @steveblackmon <sb...@apache.org>
Committed: Wed Apr 27 15:54:29 2016 -0500
----------------------------------------------------------------------
pom.xml | 20 +-
src/site/markdown/downloads.md | 2 +-
src/site/markdown/faq.md | 2 +-
src/site/markdown/tutorial/build.md | 6 +-
src/site/markdown/tutorial/database.md | 7 +-
src/site/markdown/tutorial/docker.md | 4 +-
src/site/markdown/tutorial/environment.md | 12 +-
src/site/markdown/website.md | 4 +-
src/site/markdown/who.md | 8 +-
src/site/resources/architecture.dot | 18 +-
src/site/resources/example.dot | 6 +-
src/site/resources/example.dot.svg | 530 -------------------------
src/site/site.xml | 59 +--
src/site/site_en.xml | 50 +--
14 files changed, 101 insertions(+), 627 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-streams-master/blob/24913831/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 2d52ec3..e461cdf 100644
--- a/pom.xml
+++ b/pom.xml
@@ -271,7 +271,7 @@
<clean.plugin.version>2.6</clean.plugin.version>
<dependency.plugin.version>2.8</dependency.plugin.version>
<depgraph.plugin.version>1.0.3</depgraph.plugin.version>
- <docker.plugin.version>0.11.5-M1</docker.plugin.version>
+ <docker.plugin.version>0.15.0</docker.plugin.version>
<enforcer.plugin.version>1.3.1</enforcer.plugin.version>
<failsafe.plugin.version>2.17</failsafe.plugin.version>
<jar.plugin.version>2.6</jar.plugin.version>
@@ -282,7 +282,7 @@
<reports.plugin.version>2.9</reports.plugin.version>
<resources.plugin.version>2.7</resources.plugin.version>
<scm.plugin.version>1.9.4</scm.plugin.version>
- <shade.plugin.version>2.3</shade.plugin.version>
+ <shade.plugin.version>2.4.3</shade.plugin.version>
<site.plugin.version>3.4</site.plugin.version>
<source.plugin.version>2.4</source.plugin.version>
<surefire.plugin.version>2.17</surefire.plugin.version>
@@ -852,22 +852,6 @@
<artifactId>json</artifactId>
<version>${orgjson.version}</version>
</dependency>
- <dependency>
- <groupId>org.clojure</groupId>
- <artifactId>clojure</artifactId>
- <version>${clojure.version}</version>
- </dependency>
- <dependency>
- <groupId>org.clojure</groupId>
- <artifactId>clojure-contrib</artifactId>
- <version>${clojure.version}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.storm</groupId>
- <artifactId>storm-core</artifactId>
- <version>${storm.version}</version>
- <scope>provided</scope>
- </dependency>
<!-- JsonPath -->
<dependency>
<groupId>com.jayway.jsonpath</groupId>
http://git-wip-us.apache.org/repos/asf/incubator-streams-master/blob/24913831/src/site/markdown/downloads.md
----------------------------------------------------------------------
diff --git a/src/site/markdown/downloads.md b/src/site/markdown/downloads.md
index 4d1857a..e1f6fff 100644
--- a/src/site/markdown/downloads.md
+++ b/src/site/markdown/downloads.md
@@ -5,4 +5,4 @@ All downloads can be verified using Apache Streams code signing.
| Artifact | Version | Source | asc | md5 | sha1 |
|----------|---------|
-| streams-project | 0.2-incubating | <a class="externalLink" href="https://dist.apache.org/repos/dist/release/incubator/streams/releases/streams-project/streams-project/streams-project-0.2-incubating-source-release.zip">zip</a> | <a class="externalLink" href="https://dist.apache.org/repos/dist/release/incubator/streams/releases/0.2-incubating/streams-project/streams-project-0.2-incubating-source-release.zip.asc">asc</a> | <a class="externalLink" href="https://dist.apache.org/repos/dist/release/incubator/streams/releases/0.2-incubating/streams-project/streams-project-0.2-incubating-source-release.zip.md5">md5</a> | <a class="externalLink" href="https://dist.apache.org/repos/dist/release/incubator/streams/releases/0.2-incubating/streams-project/streams-project-0.2-incubating-source-release.zip.sha1">sha1</a> |
+| streams-project | 0.2-incubating | <a class="externalLink" href="dist.apache.org/repos/dist/release/incubator/streams/releases/streams-project/streams-project/streams-project-0.2-incubating-source-release.zip">zip</a> | <a class="externalLink" href="dist.apache.org/repos/dist/release/incubator/streams/releases/0.2-incubating/streams-project/streams-project-0.2-incubating-source-release.zip.asc">asc</a> | <a class="externalLink" href="dist.apache.org/repos/dist/release/incubator/streams/releases/0.2-incubating/streams-project/streams-project-0.2-incubating-source-release.zip.md5">md5</a> | <a class="externalLink" href="dist.apache.org/repos/dist/release/incubator/streams/releases/0.2-incubating/streams-project/streams-project-0.2-incubating-source-release.zip.sha1">sha1</a> |
http://git-wip-us.apache.org/repos/asf/incubator-streams-master/blob/24913831/src/site/markdown/faq.md
----------------------------------------------------------------------
diff --git a/src/site/markdown/faq.md b/src/site/markdown/faq.md
index 0fc950e..9c202ad 100644
--- a/src/site/markdown/faq.md
+++ b/src/site/markdown/faq.md
@@ -6,7 +6,7 @@ Odds are the dataset you are working with is some combination of timestamped eve
### What organizations exchange data in activity streams formats?
-A short list of organizations and products that support activity streams format is compiled [who](who.html "here").
+A short list of organizations and products that support activity streams format is compiled [here](who.html "here").
If your organization supports activity streams, please let us know on the project mailing list.
http://git-wip-us.apache.org/repos/asf/incubator-streams-master/blob/24913831/src/site/markdown/tutorial/build.md
----------------------------------------------------------------------
diff --git a/src/site/markdown/tutorial/build.md b/src/site/markdown/tutorial/build.md
index 37ef3fd..a940bdc 100644
--- a/src/site/markdown/tutorial/build.md
+++ b/src/site/markdown/tutorial/build.md
@@ -13,7 +13,7 @@ You'll need the following tools installed in your command line:
#### Git
- `git -version`
+ git -version
| Possible result | Explanation |
|-----------------|-------------|
@@ -25,7 +25,7 @@ You'll need the following tools installed in your command line:
Run from your command line:
- `mvn -version`
+ mvn -version
| Possible result | Explanation |
|-----------------|-------------|
@@ -41,7 +41,7 @@ Run from your command line:
Run from your command line:
- `docker version`
+ docker version
| Possible result | Explanation |
|-----------------|-------------|
http://git-wip-us.apache.org/repos/asf/incubator-streams-master/blob/24913831/src/site/markdown/tutorial/database.md
----------------------------------------------------------------------
diff --git a/src/site/markdown/tutorial/database.md b/src/site/markdown/tutorial/database.md
index 9dc1b69..1d7d752 100644
--- a/src/site/markdown/tutorial/database.md
+++ b/src/site/markdown/tutorial/database.md
@@ -20,15 +20,14 @@ Elasticsearch is a great database for storing content from your streams.
### Add Elasticsearch container details to your configuration
- cd $STREAMS
- export DOCKERHOST=$(docker-machine ip)
+ echo $(docker-machine ip)
-Put the following into elasticsearch.conf
+Put the following into elasticsearch.conf (in the same directory as reference.conf)
include "reference.conf"
elasticsearch {
hosts = [
- ${DOCKERHOST}
+ # paste the response from echo $(docker-machine ip) on this line
]
protocol = "tcp"
port = 9300
http://git-wip-us.apache.org/repos/asf/incubator-streams-master/blob/24913831/src/site/markdown/tutorial/docker.md
----------------------------------------------------------------------
diff --git a/src/site/markdown/tutorial/docker.md b/src/site/markdown/tutorial/docker.md
index 84fc6cb..132986b 100644
--- a/src/site/markdown/tutorial/docker.md
+++ b/src/site/markdown/tutorial/docker.md
@@ -1,11 +1,11 @@
## Set up a local environment to run streams
-First of all, you do not run 'Streams' as software. Rather, you run 'streams' which use Streams components and libraries under the cover.
-
Streams components can be embedded in a variety of data processing frameworks based on the problem and performance requirements at hand.
A great way to get started collecting and indexing data is with streams-runtime-local and Docker.
+Several example streams are available from docker hub for tutorial purposes.
+
### Confirm Docker is healthy
We'll assume you've got docker up and running.
http://git-wip-us.apache.org/repos/asf/incubator-streams-master/blob/24913831/src/site/markdown/tutorial/environment.md
----------------------------------------------------------------------
diff --git a/src/site/markdown/tutorial/environment.md b/src/site/markdown/tutorial/environment.md
index 1a50a28..902c330 100644
--- a/src/site/markdown/tutorial/environment.md
+++ b/src/site/markdown/tutorial/environment.md
@@ -1,4 +1,4 @@
-### Create a folder to hold streams configuration files
+## Create a local folder to configure streams
Pick a place on your file system that's easy to remember and reference with an absolution path.
@@ -7,7 +7,7 @@ Create a new empty folder there and export the path to a variables.
mkdir ~/streams
export STREAMS=$(cd ~streams; pwd)
-### Create a configuration file to hold secrets
+Next, create a configuration file to hold secrets for your streams to use.
cd $STREAMS
touch reference.conf
@@ -23,6 +23,12 @@ To get started, put the following into reference.conf
}
}
-Visit developer.twitter.com to obtain the above fields and put them your reference.conf
+Visit developer.twitter.com and create an application to obtain the above fields.
+
+The consumerKey and consumerSecret are application-wide.
+
+The accessToken and accessTokenSecret are per-user. They can be obtained by navigating to:
+
+ https://api.twitter.com/oauth/authenticate?oauth_token=UIJ0AUxCJatpKDUyFt0OTSEP4asZgqxRwUCT0AMSwc&oauth_callback=http%3A%2F%2Foauth.streamstutorial.w2odata.com%3A8080%2Fsocialauthdemo%2FsocialAuthSuccessAction.do
http://git-wip-us.apache.org/repos/asf/incubator-streams-master/blob/24913831/src/site/markdown/website.md
----------------------------------------------------------------------
diff --git a/src/site/markdown/website.md b/src/site/markdown/website.md
index b56ffc6..06f71a1 100644
--- a/src/site/markdown/website.md
+++ b/src/site/markdown/website.md
@@ -108,7 +108,7 @@ Next, generate SVG resources for all DOT diagrams in the source tree
Then, generate the site that will be published
- mvn clean install -Dmaven.test.skip.exec=true site:site site:stage
+ mvn clean generate-sources package -Dmaven.test.skip.exec=true site:site site:stage
At this point you can open target/staging/index.html and do a sanity check on the site you intend to publish.
@@ -116,6 +116,8 @@ Finally, publish the site.
mvn scm-publish:publish-scm -Dscmpublish.pubScmUrl=scm:svn:https://svn.apache.org/repos/infra/websites/production/streams/content/site/${project.version}/${project.artifactId}
+You may need to provide -Dscmpublish.content= depending where the staging site directory winds up under target/
+
Note the revision number checked in at the bottom of the maven logs.
You should now be able to access the published site(s) via an absolute URL such as http://streams.incubator.apache.org/site/${project.version}/${project.artifactId}
http://git-wip-us.apache.org/repos/asf/incubator-streams-master/blob/24913831/src/site/markdown/who.md
----------------------------------------------------------------------
diff --git a/src/site/markdown/who.md b/src/site/markdown/who.md
index ae55ea2..7635a20 100644
--- a/src/site/markdown/who.md
+++ b/src/site/markdown/who.md
@@ -2,9 +2,9 @@
| Organization (Product) | Reference |
|------------------------|-----------|
-| Atlassian (JIRA) | [jira](https://developer.atlassian.com/docs/atlassian-platform-common-components/activity-streams/consuming-an-activity-streams-feed "Consuming an Activity Streams Feed") |
-| Google (Google Plus) | [google](https://developers.google.com/+/web/api/rest/latest/activities#resource-representations "Google+ Platform for Web") |
-| IBM | [ibm](https://developer.ibm.com/open/activity-streams/ "Activity Streams") |
-| Twitter (Gnip) | [gnip](http://support.gnip.com/articles/activity-streams-intro.html "Activity Streams Intro") |
+| Atlassian (JIRA) | [Consuming an Activity Streams Feed](https://developer.atlassian.com/docs/atlassian-platform-common-components/activity-streams/consuming-an-activity-streams-feed "Consuming an Activity Streams Feed") |
+| Google (Google Plus) | [Google+ Platform for Web](https://developers.google.com/+/web/api/rest/latest/activities#resource-representations "Google+ Platform for Web") |
+| IBM | [Activity Streams](https://developer.ibm.com/open/activity-streams/ "Activity Streams") |
+| Twitter (Gnip) | [Activity Streams Intro](http://support.gnip.com/articles/activity-streams-intro.html "Activity Streams Intro") |
If your organization supports activity streams, please let us know on the project mailing list.
http://git-wip-us.apache.org/repos/asf/incubator-streams-master/blob/24913831/src/site/resources/architecture.dot
----------------------------------------------------------------------
diff --git a/src/site/resources/architecture.dot b/src/site/resources/architecture.dot
index f1aa1d5..6aaa8a6 100644
--- a/src/site/resources/architecture.dot
+++ b/src/site/resources/architecture.dot
@@ -9,9 +9,10 @@ digraph g {
subgraph cluster_upstream {
label="Upstream Systems";
- upstream_databases [label="Databases"]
+ upstream_databases [label="Databases", shape="cylinder"]
+ upstream_filesystems [label="Filesystems", shape="tab"]
upstream_generators [label="Generators"]
- upstream_queues [label="Queues"]
+ upstream_queues [label="Queues", shape="trapezium"]
}
subgraph cluster_streams {
@@ -24,17 +25,20 @@ digraph g {
subgraph cluster_downstream {
label="Downstream Systems";
- downstream_databases [label="Databases"]
- downstream_queues [label="Queues"]
+ downstream_databases [label="Databases", shape="cylinder"]
+ downstream_filesystems [label="Filesystems", shape="tab"]
+ downstream_queues [label="Queues", shape="trapezium"]
}
upstream_generators -> providers
- upstream_queues -> persistReaders
upstream_databases -> persistReaders
+ upstream_filesystems -> persistReaders
+ upstream_queues -> persistReaders
providers,persistReaders -> processors
processors -> processors
processors -> persistWriters
- persistWriters -> downstream_databases,downstream_queues
-
+ persistWriters -> downstream_databases
+ persistWriters -> downstream_filesystems
+ persistWriters -> downstream_queues
}
http://git-wip-us.apache.org/repos/asf/incubator-streams-master/blob/24913831/src/site/resources/example.dot
----------------------------------------------------------------------
diff --git a/src/site/resources/example.dot b/src/site/resources/example.dot
index 941258b..ece7b5c 100644
--- a/src/site/resources/example.dot
+++ b/src/site/resources/example.dot
@@ -43,7 +43,7 @@ digraph g {
subgraph cluster_queues {
label="queues";
- kinesis [label="kinesis://" shape="box"]
+ kinesis [label="kinesis://", shape="trapezium"]
}
subgraph cluster_persisters_2 {
label="persisters";
@@ -55,8 +55,8 @@ digraph g {
subgraph cluster_dbs {
label="dbs";
- elasticsearch [label="elasticsearch"]
- hdfs [label="hdfs"]
+ elasticsearch [label="elasticsearch", shape="cylinder"]
+ hdfs [label="hdfs", shape="tab"]
}
generators_youtube -> providers_youtube_channel
http://git-wip-us.apache.org/repos/asf/incubator-streams-master/blob/24913831/src/site/resources/example.dot.svg
----------------------------------------------------------------------
diff --git a/src/site/resources/example.dot.svg b/src/site/resources/example.dot.svg
deleted file mode 100644
index 510681a..0000000
--- a/src/site/resources/example.dot.svg
+++ /dev/null
@@ -1,530 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
- "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<!-- Generated by graphviz version 2.39.20160214.2135 (20160214.2135)
- -->
-<!-- Title: g Pages: 1 -->
-<svg width="2441pt" height="877pt"
- viewBox="0.00 0.00 2441.00 877.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
-<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 873)">
-<title>g</title>
-<polygon fill="white" stroke="transparent" points="-4,4 -4,-873 2437,-873 2437,4 -4,4"/>
-<g id="clust1" class="cluster">
-<title>cluster_generators</title>
-<polygon fill="none" stroke="black" points="807,-787 807,-861 1635,-861 1635,-787 807,-787"/>
-<text text-anchor="middle" x="1221" y="-845.8" font-family="Times,serif" font-size="14.00">generators</text>
-</g>
-<g id="clust2" class="cluster">
-<title>cluster_providers</title>
-<polygon fill="none" stroke="black" points="8,-656 8,-768 2425,-768 2425,-656 8,-656"/>
-<text text-anchor="middle" x="1216.5" y="-752.8" font-family="Times,serif" font-size="14.00">providers</text>
-</g>
-<g id="clust3" class="cluster">
-<title>cluster_providers_twitter</title>
-<polygon fill="none" stroke="black" points="16,-664 16,-738 948,-738 948,-664 16,-664"/>
-<text text-anchor="middle" x="482" y="-722.8" font-family="Times,serif" font-size="14.00">twitter</text>
-</g>
-<g id="clust4" class="cluster">
-<title>cluster_providers_facebook</title>
-<polygon fill="none" stroke="black" points="956,-664 956,-738 1431,-738 1431,-664 956,-664"/>
-<text text-anchor="middle" x="1193.5" y="-722.8" font-family="Times,serif" font-size="14.00">facebook</text>
-</g>
-<g id="clust5" class="cluster">
-<title>cluster_providers_youtube</title>
-<polygon fill="none" stroke="black" points="1439,-664 1439,-738 1904,-738 1904,-664 1439,-664"/>
-<text text-anchor="middle" x="1671.5" y="-722.8" font-family="Times,serif" font-size="14.00">youtube</text>
-</g>
-<g id="clust6" class="cluster">
-<title>cluster_providers_instagram</title>
-<polygon fill="none" stroke="black" points="1912,-664 1912,-738 2417,-738 2417,-664 1912,-664"/>
-<text text-anchor="middle" x="2164.5" y="-722.8" font-family="Times,serif" font-size="14.00">instagram</text>
-</g>
-<g id="clust7" class="cluster">
-<title>cluster_processors</title>
-<polygon fill="none" stroke="black" points="402,-538 402,-612 2283,-612 2283,-538 402,-538"/>
-<text text-anchor="middle" x="1342.5" y="-596.8" font-family="Times,serif" font-size="14.00">processors</text>
-</g>
-<g id="clust8" class="cluster">
-<title>cluster_persisters_1</title>
-<polygon fill="none" stroke="black" points="1279,-404 1279,-478 1645,-478 1645,-404 1279,-404"/>
-<text text-anchor="middle" x="1462" y="-462.8" font-family="Times,serif" font-size="14.00">persisters</text>
-</g>
-<g id="clust9" class="cluster">
-<title>cluster_persisters_2</title>
-<polygon fill="none" stroke="black" points="1106,-101 1106,-286 1701,-286 1701,-101 1106,-101"/>
-<text text-anchor="middle" x="1403.5" y="-270.8" font-family="Times,serif" font-size="14.00">persisters</text>
-</g>
-<g id="clust10" class="cluster">
-<title>cluster_dbs</title>
-<polygon fill="none" stroke="black" points="1266,-8 1266,-82 1542,-82 1542,-8 1266,-8"/>
-<text text-anchor="middle" x="1404" y="-66.8" font-family="Times,serif" font-size="14.00">dbs</text>
-</g>
-<!-- generators_twitter -->
-<g id="node1" class="node">
-<title>generators_twitter</title>
-<ellipse fill="none" stroke="black" cx="903" cy="-813" rx="87.9585" ry="18"/>
-<text text-anchor="middle" x="903" y="-808.8" font-family="Times,serif" font-size="14.00">https://api.twitter.com</text>
-</g>
-<!-- providers_twitter_userstream -->
-<g id="node5" class="node">
-<title>providers_twitter_userstream</title>
-<ellipse fill="none" stroke="black" cx="398" cy="-690" rx="106.491" ry="18"/>
-<text text-anchor="middle" x="398" y="-685.8" font-family="Times,serif" font-size="14.00">TwitterUserstreamProvider</text>
-</g>
-<!-- generators_twitter->providers_twitter_userstream -->
-<g id="edge1" class="edge">
-<title>generators_twitter->providers_twitter_userstream</title>
-<path fill="none" stroke="black" d="M818.49,-807.973C721.02,-801.351 567.233,-788.131 513,-768 480.311,-755.866 447.876,-732.57 425.828,-714.584"/>
-<polygon fill="black" stroke="black" points="427.831,-711.697 417.908,-707.985 423.351,-717.075 427.831,-711.697"/>
-</g>
-<!-- providers_twitter_userinfo -->
-<g id="node6" class="node">
-<title>providers_twitter_userinfo</title>
-<ellipse fill="none" stroke="black" cx="149" cy="-690" rx="124.824" ry="18"/>
-<text text-anchor="middle" x="149" y="-685.8" font-family="Times,serif" font-size="14.00">TwitterUserInformationProvider</text>
-</g>
-<!-- generators_twitter->providers_twitter_userinfo -->
-<g id="edge4" class="edge">
-<title>generators_twitter->providers_twitter_userinfo</title>
-<path fill="none" stroke="black" d="M815.52,-811.503C668.86,-808.185 379.922,-797.96 283,-768 245.107,-756.287 206.443,-732.218 180.449,-713.896"/>
-<polygon fill="black" stroke="black" points="182.303,-710.919 172.138,-707.929 178.22,-716.605 182.303,-710.919"/>
-</g>
-<!-- providers_twitter_timeline -->
-<g id="node7" class="node">
-<title>providers_twitter_timeline</title>
-<ellipse fill="none" stroke="black" cx="620" cy="-690" rx="97.6831" ry="18"/>
-<text text-anchor="middle" x="620" y="-685.8" font-family="Times,serif" font-size="14.00">TwitterTimelineProvider</text>
-</g>
-<!-- generators_twitter->providers_twitter_timeline -->
-<g id="edge2" class="edge">
-<title>generators_twitter->providers_twitter_timeline</title>
-<path fill="none" stroke="black" d="M834.06,-801.691C800.693,-794.655 760.669,-783.855 727,-768 697.44,-754.08 667.721,-731.573 647.131,-714.305"/>
-<polygon fill="black" stroke="black" points="649.314,-711.567 639.436,-707.738 644.77,-716.892 649.314,-711.567"/>
-</g>
-<!-- providers_twitter_following -->
-<g id="node8" class="node">
-<title>providers_twitter_following</title>
-<ellipse fill="none" stroke="black" cx="838" cy="-690" rx="102.174" ry="18"/>
-<text text-anchor="middle" x="838" y="-685.8" font-family="Times,serif" font-size="14.00">TwitterFollowingProvider</text>
-</g>
-<!-- generators_twitter->providers_twitter_following -->
-<g id="edge3" class="edge">
-<title>generators_twitter->providers_twitter_following</title>
-<path fill="none" stroke="black" d="M893.409,-794.851C882.608,-774.412 864.938,-740.975 852.46,-717.364"/>
-<polygon fill="black" stroke="black" points="855.397,-715.43 847.63,-708.224 849.208,-718.7 855.397,-715.43"/>
-</g>
-<!-- generators_facebook -->
-<g id="node2" class="node">
-<title>generators_facebook</title>
-<ellipse fill="none" stroke="black" cx="1106" cy="-813" rx="97.5707" ry="18"/>
-<text text-anchor="middle" x="1106" y="-808.8" font-family="Times,serif" font-size="14.00">https://api.facebook.com</text>
-</g>
-<!-- providers_facebook_page -->
-<g id="node9" class="node">
-<title>providers_facebook_page</title>
-<ellipse fill="none" stroke="black" cx="1056" cy="-690" rx="92.267" ry="18"/>
-<text text-anchor="middle" x="1056" y="-685.8" font-family="Times,serif" font-size="14.00">FacebookPageProvider</text>
-</g>
-<!-- generators_facebook->providers_facebook_page -->
-<g id="edge9" class="edge">
-<title>generators_facebook->providers_facebook_page</title>
-<path fill="none" stroke="black" d="M1098.62,-794.851C1090.35,-774.503 1076.84,-741.272 1067.25,-717.679"/>
-<polygon fill="black" stroke="black" points="1070.42,-716.169 1063.41,-708.224 1063.93,-718.805 1070.42,-716.169"/>
-</g>
-<!-- providers_facebook_pagefeed -->
-<g id="node10" class="node">
-<title>providers_facebook_pagefeed</title>
-<ellipse fill="none" stroke="black" cx="1295" cy="-690" rx="128.44" ry="18"/>
-<text text-anchor="middle" x="1295" y="-685.8" font-family="Times,serif" font-size="14.00">FacebookPageFeedDataCollector</text>
-</g>
-<!-- generators_facebook->providers_facebook_pagefeed -->
-<g id="edge10" class="edge">
-<title>generators_facebook->providers_facebook_pagefeed</title>
-<path fill="none" stroke="black" d="M1132.68,-795.638C1165.84,-774.058 1222.54,-737.155 1259.39,-713.175"/>
-<polygon fill="black" stroke="black" points="1261.37,-716.06 1267.85,-707.672 1257.55,-710.193 1261.37,-716.06"/>
-</g>
-<!-- generators_youtube -->
-<g id="node3" class="node">
-<title>generators_youtube</title>
-<ellipse fill="none" stroke="black" cx="1315" cy="-813" rx="93.7378" ry="18"/>
-<text text-anchor="middle" x="1315" y="-808.8" font-family="Times,serif" font-size="14.00">https://api.youtube.com</text>
-</g>
-<!-- providers_youtube_channel -->
-<g id="node11" class="node">
-<title>providers_youtube_channel</title>
-<ellipse fill="none" stroke="black" cx="1547" cy="-690" rx="99.7162" ry="18"/>
-<text text-anchor="middle" x="1547" y="-685.8" font-family="Times,serif" font-size="14.00">YoutubeChannelProvider</text>
-</g>
-<!-- generators_youtube->providers_youtube_channel -->
-<g id="edge13" class="edge">
-<title>generators_youtube->providers_youtube_channel</title>
-<path fill="none" stroke="black" d="M1364.37,-797.607C1386.52,-789.917 1412.64,-779.741 1435,-768 1464.26,-752.634 1494.89,-730.856 1516.7,-714.216"/>
-<polygon fill="black" stroke="black" points="1519.12,-716.769 1524.9,-707.888 1514.84,-711.228 1519.12,-716.769"/>
-</g>
-<!-- providers_youtube_video -->
-<g id="node12" class="node">
-<title>providers_youtube_video</title>
-<ellipse fill="none" stroke="black" cx="1780" cy="-690" rx="115.637" ry="18"/>
-<text text-anchor="middle" x="1780" y="-685.8" font-family="Times,serif" font-size="14.00">YoutubeUserActivityProvider</text>
-</g>
-<!-- generators_youtube->providers_youtube_video -->
-<g id="edge14" class="edge">
-<title>generators_youtube->providers_youtube_video</title>
-<path fill="none" stroke="black" d="M1367.31,-797.992C1383.44,-793.851 1401.35,-789.746 1418,-787 1522.7,-769.731 1555.29,-801.438 1656,-768 1691.41,-756.243 1726.96,-732.346 1750.86,-714.084"/>
-<polygon fill="black" stroke="black" points="1753.07,-716.797 1758.8,-707.888 1748.76,-711.276 1753.07,-716.797"/>
-</g>
-<!-- generators_instagram -->
-<g id="node4" class="node">
-<title>generators_instagram</title>
-<ellipse fill="none" stroke="black" cx="1527" cy="-813" rx="100.002" ry="18"/>
-<text text-anchor="middle" x="1527" y="-808.8" font-family="Times,serif" font-size="14.00">https://api.instagram.com</text>
-</g>
-<!-- providers_instagram_userinfo -->
-<g id="node13" class="node">
-<title>providers_instagram_userinfo</title>
-<ellipse fill="none" stroke="black" cx="2030" cy="-690" rx="109.615" ry="18"/>
-<text text-anchor="middle" x="2030" y="-685.8" font-family="Times,serif" font-size="14.00">InstagramUserInfoCollector</text>
-</g>
-<!-- generators_instagram->providers_instagram_userinfo -->
-<g id="edge17" class="edge">
-<title>generators_instagram->providers_instagram_userinfo</title>
-<path fill="none" stroke="black" d="M1621.07,-806.731C1716.4,-799.516 1856.88,-786.267 1908,-768 1942.37,-755.719 1976.99,-732.284 2000.52,-714.294"/>
-<polygon fill="black" stroke="black" points="2002.94,-716.851 2008.67,-707.943 1998.63,-711.33 2002.94,-716.851"/>
-</g>
-<!-- providers_instagram_media -->
-<g id="node14" class="node">
-<title>providers_instagram_media</title>
-<ellipse fill="none" stroke="black" cx="2283" cy="-690" rx="125.542" ry="18"/>
-<text text-anchor="middle" x="2283" y="-685.8" font-family="Times,serif" font-size="14.00">InstagramRecentMediaCollector</text>
-</g>
-<!-- generators_instagram->providers_instagram_media -->
-<g id="edge18" class="edge">
-<title>generators_instagram->providers_instagram_media</title>
-<path fill="none" stroke="black" d="M1626.8,-811.244C1777.18,-807.674 2054.35,-797.246 2149,-768 2186.89,-756.291 2225.56,-732.221 2251.55,-713.899"/>
-<polygon fill="black" stroke="black" points="2253.78,-716.607 2259.86,-707.931 2249.7,-710.921 2253.78,-716.607"/>
-</g>
-<!-- processors_twitter_activity -->
-<g id="node15" class="node">
-<title>processors_twitter_activity</title>
-<ellipse fill="none" stroke="black" cx="801" cy="-564" rx="108.672" ry="18"/>
-<text text-anchor="middle" x="801" y="-559.8" font-family="Times,serif" font-size="14.00">ActivityConverterProcessor</text>
-</g>
-<!-- providers_twitter_userstream->processors_twitter_activity -->
-<g id="edge6" class="edge">
-<title>providers_twitter_userstream->processors_twitter_activity</title>
-<path fill="none" stroke="black" d="M439.397,-673.395C481.506,-657.199 548.988,-633.14 609.446,-620 641.579,-613.016 651.117,-620.051 683,-612 708.217,-605.633 735.166,-594.986 756.935,-585.336"/>
-<polygon fill="black" stroke="black" points="758.564,-588.441 766.236,-581.134 755.682,-582.061 758.564,-588.441"/>
-<text text-anchor="middle" x="645.277" y="-629.8" font-family="Times,serif" font-size="14.00">o.a.s.t.Tweet</text>
-</g>
-<!-- processors_twitter_activityobject -->
-<g id="node16" class="node">
-<title>processors_twitter_activityobject</title>
-<ellipse fill="none" stroke="black" cx="542" cy="-564" rx="132.317" ry="18"/>
-<text text-anchor="middle" x="542" y="-559.8" font-family="Times,serif" font-size="14.00">ActivityObjectConverterProcessor</text>
-</g>
-<!-- providers_twitter_userinfo->processors_twitter_activityobject -->
-<g id="edge5" class="edge">
-<title>providers_twitter_userinfo->processors_twitter_activityobject</title>
-<path fill="none" stroke="black" d="M200.378,-673.528C272.507,-650.402 403.579,-608.379 480.706,-583.652"/>
-<polygon fill="black" stroke="black" points="481.843,-586.963 490.297,-580.577 479.706,-580.297 481.843,-586.963"/>
-<text text-anchor="middle" x="389.493" y="-629.8" font-family="Times,serif" font-size="14.00">o.a.s.t.User</text>
-</g>
-<!-- providers_twitter_timeline->processors_twitter_activity -->
-<g id="edge7" class="edge">
-<title>providers_twitter_timeline->processors_twitter_activity</title>
-<path fill="none" stroke="black" d="M645.167,-672.48C676.957,-650.351 731.775,-612.19 767.194,-587.533"/>
-<polygon fill="black" stroke="black" points="769.548,-590.159 775.755,-581.574 765.548,-584.414 769.548,-590.159"/>
-<text text-anchor="middle" x="751.277" y="-629.8" font-family="Times,serif" font-size="14.00">o.a.s.t.Tweet</text>
-</g>
-<!-- providers_twitter_following->processors_twitter_activity -->
-<g id="edge8" class="edge">
-<title>providers_twitter_following->processors_twitter_activity</title>
-<path fill="none" stroke="black" d="M832.699,-671.947C826.544,-650.989 816.323,-616.182 809.156,-591.773"/>
-<polygon fill="black" stroke="black" points="812.467,-590.628 806.291,-582.019 805.751,-592.6 812.467,-590.628"/>
-<text text-anchor="middle" x="863.114" y="-629.8" font-family="Times,serif" font-size="14.00">o.a.s.t.Follow</text>
-</g>
-<!-- processors_facebook_activityobject -->
-<g id="node18" class="node">
-<title>processors_facebook_activityobject</title>
-<ellipse fill="none" stroke="black" cx="1050" cy="-564" rx="122.678" ry="18"/>
-<text text-anchor="middle" x="1050" y="-559.8" font-family="Times,serif" font-size="14.00">FacebookPostActivitySerializer</text>
-</g>
-<!-- providers_facebook_page->processors_facebook_activityobject -->
-<g id="edge11" class="edge">
-<title>providers_facebook_page->processors_facebook_activityobject</title>
-<path fill="none" stroke="black" d="M1055.14,-671.947C1054.15,-651.082 1052.5,-616.493 1051.34,-592.101"/>
-<polygon fill="black" stroke="black" points="1054.83,-591.841 1050.86,-582.019 1047.84,-592.174 1054.83,-591.841"/>
-<text text-anchor="middle" x="1086.27" y="-629.8" font-family="Times,serif" font-size="14.00">o.a.s.f.Page</text>
-</g>
-<!-- processors_facebook_activity -->
-<g id="node17" class="node">
-<title>processors_facebook_activity</title>
-<ellipse fill="none" stroke="black" cx="1315" cy="-564" rx="124.582" ry="18"/>
-<text text-anchor="middle" x="1315" y="-559.8" font-family="Times,serif" font-size="14.00">FacebookPageActivitySerializer</text>
-</g>
-<!-- providers_facebook_pagefeed->processors_facebook_activity -->
-<g id="edge12" class="edge">
-<title>providers_facebook_pagefeed->processors_facebook_activity</title>
-<path fill="none" stroke="black" d="M1297.87,-671.947C1301.18,-651.082 1306.67,-616.493 1310.54,-592.101"/>
-<polygon fill="black" stroke="black" points="1314.03,-592.444 1312.14,-582.019 1307.12,-591.347 1314.03,-592.444"/>
-<text text-anchor="middle" x="1351.27" y="-636.8" font-family="Times,serif" font-size="14.00">o.a.s.f.Post</text>
-<text text-anchor="middle" x="1351.27" y="-622.8" font-family="Times,serif" font-size="14.00">o.a.s.f.Comment</text>
-</g>
-<!-- processors_youtube_activityobject -->
-<g id="node20" class="node">
-<title>processors_youtube_activityobject</title>
-<ellipse fill="none" stroke="black" cx="1550" cy="-564" rx="92.691" ry="18"/>
-<text text-anchor="middle" x="1550" y="-559.8" font-family="Times,serif" font-size="14.00">YoutubeTypeConverter</text>
-</g>
-<!-- providers_youtube_channel->processors_youtube_activityobject -->
-<g id="edge15" class="edge">
-<title>providers_youtube_channel->processors_youtube_activityobject</title>
-<path fill="none" stroke="black" d="M1547.43,-671.947C1547.93,-651.082 1548.75,-616.493 1549.33,-592.101"/>
-<polygon fill="black" stroke="black" points="1552.83,-592.1 1549.57,-582.019 1545.83,-591.933 1552.83,-592.1"/>
-<text text-anchor="middle" x="1590.7" y="-629.8" font-family="Times,serif" font-size="14.00">o.a.s.y.Channel</text>
-</g>
-<!-- processors_youtube_activity -->
-<g id="node19" class="node">
-<title>processors_youtube_activity</title>
-<ellipse fill="none" stroke="black" cx="1753" cy="-564" rx="92.691" ry="18"/>
-<text text-anchor="middle" x="1753" y="-559.8" font-family="Times,serif" font-size="14.00">YoutubeTypeConverter</text>
-</g>
-<!-- providers_youtube_video->processors_youtube_activity -->
-<g id="edge16" class="edge">
-<title>providers_youtube_video->processors_youtube_activity</title>
-<path fill="none" stroke="black" d="M1776.13,-671.947C1771.66,-651.082 1764.25,-616.493 1759.02,-592.101"/>
-<polygon fill="black" stroke="black" points="1762.38,-591.064 1756.86,-582.019 1755.53,-592.531 1762.38,-591.064"/>
-<text text-anchor="middle" x="1806.07" y="-629.8" font-family="Times,serif" font-size="14.00">o.a.s.y.Video</text>
-</g>
-<!-- processors_instagram_activityobject -->
-<g id="node22" class="node">
-<title>processors_instagram_activityobject</title>
-<ellipse fill="none" stroke="black" cx="1962" cy="-564" rx="98.2636" ry="18"/>
-<text text-anchor="middle" x="1962" y="-559.8" font-family="Times,serif" font-size="14.00">InstagramTypeConverter</text>
-</g>
-<!-- providers_instagram_userinfo->processors_instagram_activityobject -->
-<g id="edge19" class="edge">
-<title>providers_instagram_userinfo->processors_instagram_activityobject</title>
-<path fill="none" stroke="black" d="M2020.26,-671.947C2008.85,-650.802 1989.83,-615.56 1976.64,-591.122"/>
-<polygon fill="black" stroke="black" points="1979.55,-589.157 1971.72,-582.019 1973.39,-592.482 1979.55,-589.157"/>
-<text text-anchor="middle" x="2062.37" y="-629.8" font-family="Times,serif" font-size="14.00">o.a.s.i.UserInfoData</text>
-</g>
-<!-- processors_instagram_activity -->
-<g id="node21" class="node">
-<title>processors_instagram_activity</title>
-<ellipse fill="none" stroke="black" cx="2177" cy="-564" rx="98.2636" ry="18"/>
-<text text-anchor="middle" x="2177" y="-559.8" font-family="Times,serif" font-size="14.00">InstagramTypeConverter</text>
-</g>
-<!-- providers_instagram_media->processors_instagram_activity -->
-<g id="edge20" class="edge">
-<title>providers_instagram_media->processors_instagram_activity</title>
-<path fill="none" stroke="black" d="M2267.81,-671.947C2249.71,-650.427 2219.32,-614.308 2198.73,-589.834"/>
-<polygon fill="black" stroke="black" points="2201.27,-587.418 2192.16,-582.019 2195.92,-591.925 2201.27,-587.418"/>
-<text text-anchor="middle" x="2307.98" y="-629.8" font-family="Times,serif" font-size="14.00">o.a.s.i.MediaFeedData</text>
-</g>
-<!-- persisters_kinesis_writer_activity -->
-<g id="node23" class="node">
-<title>persisters_kinesis_writer_activity</title>
-<ellipse fill="none" stroke="black" cx="1554" cy="-430" rx="82.8977" ry="18"/>
-<text text-anchor="middle" x="1554" y="-425.8" font-family="Times,serif" font-size="14.00">KinesisPersistWriter</text>
-</g>
-<!-- processors_twitter_activity->persisters_kinesis_writer_activity -->
-<g id="edge22" class="edge">
-<title>processors_twitter_activity->persisters_kinesis_writer_activity</title>
-<path fill="none" stroke="black" d="M859.547,-548.761C878.112,-544.531 898.802,-540.434 918,-538 983.733,-529.666 1151.97,-545.058 1216,-528 1254.53,-517.735 1256.82,-496.542 1295.27,-486 1366.82,-466.385 1390.39,-497.388 1462,-478 1482.1,-472.558 1502.81,-462.243 1519.47,-452.567"/>
-<polygon fill="black" stroke="black" points="1521.5,-455.43 1528.29,-447.292 1517.91,-449.424 1521.5,-455.43"/>
-<text text-anchor="middle" x="1338.36" y="-516.8" font-family="Times,serif" font-size="14.00">o.a.s.p.j.Post</text>
-<text text-anchor="middle" x="1338.36" y="-502.8" font-family="Times,serif" font-size="14.00">o.a.s.p.j.Share</text>
-<text text-anchor="middle" x="1338.36" y="-488.8" font-family="Times,serif" font-size="14.00">o.a.s.p.j.Follow</text>
-</g>
-<!-- persisters_kinesis_writer_activityobject -->
-<g id="node24" class="node">
-<title>persisters_kinesis_writer_activityobject</title>
-<ellipse fill="none" stroke="black" cx="1370" cy="-430" rx="82.8977" ry="18"/>
-<text text-anchor="middle" x="1370" y="-425.8" font-family="Times,serif" font-size="14.00">KinesisPersistWriter</text>
-</g>
-<!-- processors_twitter_activityobject->persisters_kinesis_writer_activityobject -->
-<g id="edge21" class="edge">
-<title>processors_twitter_activityobject->persisters_kinesis_writer_activityobject</title>
-<path fill="none" stroke="black" d="M619.514,-549.367C640.13,-545.568 662.394,-541.549 683,-538 902.818,-500.139 1163.16,-460.677 1291.05,-441.643"/>
-<polygon fill="black" stroke="black" points="1291.77,-445.075 1301.15,-440.142 1290.74,-438.151 1291.77,-445.075"/>
-<text text-anchor="middle" x="1022.13" y="-502.8" font-family="Times,serif" font-size="14.00">o.a.s.p.j.Page</text>
-</g>
-<!-- processors_facebook_activity->persisters_kinesis_writer_activity -->
-<g id="edge24" class="edge">
-<title>processors_facebook_activity->persisters_kinesis_writer_activity</title>
-<path fill="none" stroke="black" d="M1388.42,-549.455C1434.94,-540.137 1486.76,-529.512 1489,-528 1502.56,-518.833 1524.62,-482.716 1539.23,-456.998"/>
-<polygon fill="black" stroke="black" points="1542.4,-458.496 1544.24,-448.062 1536.29,-455.071 1542.4,-458.496"/>
-<text text-anchor="middle" x="1572.14" y="-509.8" font-family="Times,serif" font-size="14.00">o.a.s.p.j.Post</text>
-<text text-anchor="middle" x="1572.14" y="-495.8" font-family="Times,serif" font-size="14.00">o.a.s.p.j.Comment</text>
-</g>
-<!-- processors_facebook_activityobject->persisters_kinesis_writer_activityobject -->
-<g id="edge23" class="edge">
-<title>processors_facebook_activityobject->persisters_kinesis_writer_activityobject</title>
-<path fill="none" stroke="black" d="M1066.14,-546.078C1083.21,-528.222 1111.77,-501.321 1141.73,-486 1187.25,-462.73 1242.88,-448.824 1287.83,-440.691"/>
-<polygon fill="black" stroke="black" points="1288.59,-444.111 1297.83,-438.943 1287.38,-437.216 1288.59,-444.111"/>
-<text text-anchor="middle" x="1178.13" y="-502.8" font-family="Times,serif" font-size="14.00">o.a.s.p.j.Page</text>
-</g>
-<!-- processors_youtube_activity->persisters_kinesis_writer_activity -->
-<g id="edge26" class="edge">
-<title>processors_youtube_activity->persisters_kinesis_writer_activity</title>
-<path fill="none" stroke="black" d="M1751.05,-545.759C1748.23,-528.174 1741.4,-501.947 1725,-486 1701.15,-462.814 1667.56,-449.227 1636.45,-441.266"/>
-<polygon fill="black" stroke="black" points="1637,-437.798 1626.46,-438.874 1635.37,-444.605 1637,-437.798"/>
-<text text-anchor="middle" x="1797.14" y="-509.8" font-family="Times,serif" font-size="14.00">o.a.s.p.j.Video</text>
-<text text-anchor="middle" x="1797.14" y="-495.8" font-family="Times,serif" font-size="14.00">o.a.s.p.j.Comment</text>
-</g>
-<!-- processors_youtube_activityobject->persisters_kinesis_writer_activityobject -->
-<g id="edge25" class="edge">
-<title>processors_youtube_activityobject->persisters_kinesis_writer_activityobject</title>
-<path fill="none" stroke="black" d="M1493.63,-549.569C1457.24,-540.162 1416.37,-529.382 1414.73,-528 1393.52,-510.081 1381.86,-479.98 1375.82,-457.856"/>
-<polygon fill="black" stroke="black" points="1379.18,-456.873 1373.35,-448.025 1372.39,-458.576 1379.18,-456.873"/>
-<text text-anchor="middle" x="1451.13" y="-502.8" font-family="Times,serif" font-size="14.00">o.a.s.p.j.Page</text>
-</g>
-<!-- processors_instagram_activity->persisters_kinesis_writer_activity -->
-<g id="edge28" class="edge">
-<title>processors_instagram_activity->persisters_kinesis_writer_activity</title>
-<path fill="none" stroke="black" d="M2117.3,-549.617C2101.59,-545.834 2084.66,-541.761 2069,-538 1972.57,-514.838 1948.99,-506.72 1852,-486 1776.45,-469.859 1689.58,-453.82 1629.21,-443.071"/>
-<polygon fill="black" stroke="black" points="1629.46,-439.561 1619,-441.26 1628.24,-446.454 1629.46,-439.561"/>
-<text text-anchor="middle" x="2078.14" y="-516.8" font-family="Times,serif" font-size="14.00">o.a.s.p.j.Photo</text>
-<text text-anchor="middle" x="2078.14" y="-502.8" font-family="Times,serif" font-size="14.00">o.a.s.p.j.Video</text>
-<text text-anchor="middle" x="2078.14" y="-488.8" font-family="Times,serif" font-size="14.00">o.a.s.p.j.Comment</text>
-</g>
-<!-- processors_instagram_activityobject->persisters_kinesis_writer_activityobject -->
-<g id="edge27" class="edge">
-<title>processors_instagram_activityobject->persisters_kinesis_writer_activityobject</title>
-<path fill="none" stroke="black" d="M1908.51,-548.886C1891.53,-544.662 1872.6,-540.537 1855,-538 1832.07,-534.694 1666.23,-540.514 1646.73,-528 1629.05,-516.647 1642.68,-497.362 1625,-486 1609.75,-476.197 1479.5,-482.749 1462,-478 1441.9,-472.547 1421.2,-462.231 1404.53,-452.557"/>
-<polygon fill="black" stroke="black" points="1406.09,-449.414 1395.72,-447.283 1402.5,-455.421 1406.09,-449.414"/>
-<text text-anchor="middle" x="1683.13" y="-502.8" font-family="Times,serif" font-size="14.00">o.a.s.p.j.Page</text>
-</g>
-<!-- kinesis -->
-<g id="node33" class="node">
-<title>kinesis</title>
-<ellipse fill="none" stroke="black" cx="1465" cy="-344" rx="34.8458" ry="18"/>
-<text text-anchor="middle" x="1465" y="-339.8" font-family="Times,serif" font-size="14.00">kinesis</text>
-</g>
-<!-- persisters_kinesis_writer_activity->kinesis -->
-<g id="edge29" class="edge">
-<title>persisters_kinesis_writer_activity->kinesis</title>
-<path fill="none" stroke="black" d="M1543.77,-412.111C1537.45,-401.981 1528.7,-389.481 1519,-380 1512.57,-373.716 1504.91,-367.853 1497.4,-362.758"/>
-<polygon fill="black" stroke="black" points="1499.04,-359.649 1488.74,-357.151 1495.23,-365.524 1499.04,-359.649"/>
-<text text-anchor="middle" x="1577.47" y="-382.8" font-family="Times,serif" font-size="14.00">o.a.s.p.j.Activity</text>
-</g>
-<!-- persisters_kinesis_writer_activityobject->kinesis -->
-<g id="edge31" class="edge">
-<title>persisters_kinesis_writer_activityobject->kinesis</title>
-<path fill="none" stroke="black" d="M1371.66,-411.544C1373.44,-401.225 1377.13,-388.725 1384.75,-380 1394.95,-368.32 1409.69,-360.241 1423.76,-354.745"/>
-<polygon fill="black" stroke="black" points="1425.08,-357.989 1433.33,-351.34 1422.73,-351.395 1425.08,-357.989"/>
-<text text-anchor="middle" x="1449.13" y="-382.8" font-family="Times,serif" font-size="14.00">o.a.s.p.j.ActivityObject</text>
-</g>
-<!-- persisters_elasticsearch -->
-<g id="node25" class="node">
-<title>persisters_elasticsearch</title>
-<ellipse fill="none" stroke="black" cx="1590" cy="-127" rx="103.134" ry="18"/>
-<text text-anchor="middle" x="1590" y="-122.8" font-family="Times,serif" font-size="14.00">ElasticsearchPersistWriter</text>
-</g>
-<!-- elasticsearch -->
-<g id="node30" class="node">
-<title>elasticsearch</title>
-<ellipse fill="none" stroke="black" cx="1479" cy="-34" rx="55.0578" ry="18"/>
-<text text-anchor="middle" x="1479" y="-29.8" font-family="Times,serif" font-size="14.00">elasticsearch</text>
-</g>
-<!-- persisters_elasticsearch->elasticsearch -->
-<g id="edge38" class="edge">
-<title>persisters_elasticsearch->elasticsearch</title>
-<path fill="none" stroke="black" d="M1568.86,-109.289C1551.36,-94.6244 1526.34,-73.6627 1507.14,-57.5795"/>
-<polygon fill="black" stroke="black" points="1509.22,-54.7573 1499.31,-51.0179 1504.73,-60.123 1509.22,-54.7573"/>
-</g>
-<!-- persisters_graph -->
-<g id="node26" class="node">
-<title>persisters_graph</title>
-<ellipse fill="none" stroke="black" cx="1193" cy="-127" rx="78.5369" ry="18"/>
-<text text-anchor="middle" x="1193" y="-122.8" font-family="Times,serif" font-size="14.00">GraphPersistWriter</text>
-</g>
-<!-- neo4j -->
-<g id="node32" class="node">
-<title>neo4j</title>
-<ellipse fill="none" stroke="black" cx="1304" cy="-34" rx="29.5104" ry="18"/>
-<text text-anchor="middle" x="1304" y="-29.8" font-family="Times,serif" font-size="14.00">neo4j</text>
-</g>
-<!-- persisters_graph->neo4j -->
-<g id="edge40" class="edge">
-<title>persisters_graph->neo4j</title>
-<path fill="none" stroke="black" d="M1213.88,-109.507C1232.23,-94.1301 1259,-71.7062 1278.59,-55.2903"/>
-<polygon fill="black" stroke="black" points="1281.08,-57.7658 1286.5,-48.6608 1276.59,-52.4002 1281.08,-57.7658"/>
-</g>
-<!-- persisters_hdfs -->
-<g id="node27" class="node">
-<title>persisters_hdfs</title>
-<ellipse fill="none" stroke="black" cx="1379" cy="-127" rx="89.7062" ry="18"/>
-<text text-anchor="middle" x="1379" y="-122.8" font-family="Times,serif" font-size="14.00">WebHdfsPersistWriter</text>
-</g>
-<!-- hdfs -->
-<g id="node31" class="node">
-<title>hdfs</title>
-<ellipse fill="none" stroke="black" cx="1379" cy="-34" rx="27" ry="18"/>
-<text text-anchor="middle" x="1379" y="-29.8" font-family="Times,serif" font-size="14.00">hdfs</text>
-</g>
-<!-- persisters_hdfs->hdfs -->
-<g id="edge39" class="edge">
-<title>persisters_hdfs->hdfs</title>
-<path fill="none" stroke="black" d="M1379,-108.626C1379,-95.4212 1379,-77.369 1379,-62.3274"/>
-<polygon fill="black" stroke="black" points="1382.5,-62.0192 1379,-52.0192 1375.5,-62.0192 1382.5,-62.0192"/>
-</g>
-<!-- persisters_kinesis_reader_activity -->
-<g id="node28" class="node">
-<title>persisters_kinesis_reader_activity</title>
-<ellipse fill="none" stroke="black" cx="1379" cy="-238" rx="85.0273" ry="18"/>
-<text text-anchor="middle" x="1379" y="-233.8" font-family="Times,serif" font-size="14.00">KinesisPersistReader</text>
-</g>
-<!-- persisters_kinesis_reader_activity->persisters_elasticsearch -->
-<g id="edge33" class="edge">
-<title>persisters_kinesis_reader_activity->persisters_elasticsearch</title>
-<path fill="none" stroke="black" d="M1411.05,-221.141C1447.73,-201.842 1507.94,-170.168 1548.26,-148.956"/>
-<polygon fill="black" stroke="black" points="1550.08,-151.953 1557.3,-144.2 1546.82,-145.758 1550.08,-151.953"/>
-</g>
-<!-- persisters_kinesis_reader_activity->persisters_graph -->
-<g id="edge35" class="edge">
-<title>persisters_kinesis_reader_activity->persisters_graph</title>
-<path fill="none" stroke="black" d="M1350.35,-220.9C1318.03,-201.614 1265.38,-170.195 1229.99,-149.073"/>
-<polygon fill="black" stroke="black" points="1231.76,-146.057 1221.38,-143.938 1228.18,-152.068 1231.76,-146.057"/>
-</g>
-<!-- persisters_kinesis_reader_activity->persisters_hdfs -->
-<g id="edge34" class="edge">
-<title>persisters_kinesis_reader_activity->persisters_hdfs</title>
-<path fill="none" stroke="black" d="M1379,-219.671C1379,-202.237 1379,-175.748 1379,-155.549"/>
-<polygon fill="black" stroke="black" points="1382.5,-155.357 1379,-145.357 1375.5,-155.357 1382.5,-155.357"/>
-</g>
-<!-- persisters_kinesis_reader_activityobject -->
-<g id="node29" class="node">
-<title>persisters_kinesis_reader_activityobject</title>
-<ellipse fill="none" stroke="black" cx="1568" cy="-238" rx="85.0273" ry="18"/>
-<text text-anchor="middle" x="1568" y="-233.8" font-family="Times,serif" font-size="14.00">KinesisPersistReader</text>
-</g>
-<!-- persisters_kinesis_reader_activityobject->persisters_elasticsearch -->
-<g id="edge36" class="edge">
-<title>persisters_kinesis_reader_activityobject->persisters_elasticsearch</title>
-<path fill="none" stroke="black" d="M1571.63,-219.671C1575.1,-202.157 1580.39,-175.504 1584.4,-155.27"/>
-<polygon fill="black" stroke="black" points="1587.85,-155.846 1586.36,-145.357 1580.98,-154.485 1587.85,-155.846"/>
-</g>
-<!-- persisters_kinesis_reader_activityobject->persisters_hdfs -->
-<g id="edge37" class="edge">
-<title>persisters_kinesis_reader_activityobject->persisters_hdfs</title>
-<path fill="none" stroke="black" d="M1538.88,-220.9C1506.14,-201.67 1452.86,-170.378 1416.9,-149.257"/>
-<polygon fill="black" stroke="black" points="1418.55,-146.166 1408.15,-144.12 1415,-152.202 1418.55,-146.166"/>
-</g>
-<!-- kinesis->persisters_kinesis_reader_activity -->
-<g id="edge30" class="edge">
-<title>kinesis->persisters_kinesis_reader_activity</title>
-<path fill="none" stroke="black" d="M1442.34,-330.005C1433.73,-323.956 1424.28,-316.349 1417.07,-308 1406.15,-295.363 1397.07,-279.081 1390.51,-265.4"/>
-<polygon fill="black" stroke="black" points="1393.55,-263.62 1386.2,-255.988 1387.18,-266.537 1393.55,-263.62"/>
-<text text-anchor="middle" x="1463.47" y="-296.8" font-family="Times,serif" font-size="14.00">o.a.s.p.j.Activity</text>
-</g>
-<!-- kinesis->persisters_kinesis_reader_activityobject -->
-<g id="edge32" class="edge">
-<title>kinesis->persisters_kinesis_reader_activityobject</title>
-<path fill="none" stroke="black" d="M1485.45,-329.062C1493.42,-322.884 1502.44,-315.434 1510,-308 1523.89,-294.349 1537.86,-277.595 1548.61,-263.901"/>
-<polygon fill="black" stroke="black" points="1551.51,-265.875 1554.86,-255.824 1545.97,-261.592 1551.51,-265.875"/>
-<text text-anchor="middle" x="1587.13" y="-296.8" font-family="Times,serif" font-size="14.00">o.a.s.p.j.ActivityObject</text>
-</g>
-</g>
-</svg>
http://git-wip-us.apache.org/repos/asf/incubator-streams-master/blob/24913831/src/site/site.xml
----------------------------------------------------------------------
diff --git a/src/site/site.xml b/src/site/site.xml
index f958930..eb5f0c9 100644
--- a/src/site/site.xml
+++ b/src/site/site.xml
@@ -17,20 +17,13 @@
~ under the License.
-->
<project>
- <publishDate position="right"/>
- <version position="right"/>
+ <publishDate position="bottom"/>
+ <version position="bottom"/>
<skin>
<groupId>org.apache.maven.skins</groupId>
<artifactId>maven-fluido-skin</artifactId>
- <version>1.4</version>
+ <version>1.5</version>
</skin>
- <custom>
- <fluidoSkin>
- <topBarEnabled>true</topBarEnabled>
- <navBarStyle>navbar-inverse</navBarStyle>
- <sideBarEnabled>false</sideBarEnabled>
- </fluidoSkin>
- </custom>
<bannerLeft>
<name>Apache Streams</name>
<src>http://streams.incubator.apache.org/images/streams_logo.jpg</src>
@@ -48,8 +41,7 @@
<item name="Incubator" href="http://incubator.apache.org/"/>
<item name="Streams" href="http://streams.incubator.apache.org/"/>
</breadcrumbs>
- <menu ref="parent" inherit="top"/>
- <menu name="Overview">
+ <menu name="Overview" inherit="top">
<item name="Overview" href="index.html" />
<item name="Architecture" href="architecture.html" />
<item name="Concepts" href="concepts.html" />
@@ -70,7 +62,7 @@
<item name="Release Process" href="release.html" />
<item name="Website Management" href="website.html" />
</menu>
- <menu name="Projects">
+ <menu name="Projects" inherit="top">
<item name="streams-master" />
<item name="streams-project" href="http://streams.incubator.apache.org/site/latest/streams-project" />
<item name="streams-examples" href="http://streams.incubator.apache.org/site/latest/streams-examples/" />
@@ -81,26 +73,39 @@
<item name="Set up a local docker environment" href="tutorial/docker.html" />
<item name="Run a local database to store activity documents" href="tutorial/database.html" />
<item name="Run twitter-history-elasticsearch" href="http://streams.incubator.apache.org/site/latest/streams-examples/streams-examples-local/twitter-history-elasticsearch/index.html" />
- <item name="Browse and search the twitter data you collected" href="tutorial/browse.html" />
+ <item name="Run twitter-history-elasticsearch" href="http://streams.incubator.apache.org/site/latest/streams-examples/streams-examples-local/twitter-history-elasticsearch/index.html" />
</menu>
- <menu name="Getting Started">
- <item name="View the official Apache Streams jsonschema files" href="http://streams.incubator.apache.org/site/latest/streams-project/streams-pojo/index.html" />
- <item name="View the schemas that describe twitter data" href="http://streams.incubator.apache.org/site/latest/streams-project/streams-contrib/streams-provider-twitter/index.html" />
- <item name="Read about twitter / streams conversion" href="http://streams.incubator.apache.org/site/latest/streams-project/streams-contrib/index.html" />
- <item name="Learn about utility streams components" href="http://streams.incubator.apache.org/site/latest/streams-project/streams-components/index.html" />
- <item name="Learn about streams interoperability modules" href="http://streams.incubator.apache.org/site/latest/streams-project/streams-contrib/index.html" />
+ <menu name="Learn More">
<item name="Browse streams providers, processors, and persisters" href="http://streams.incubator.apache.org/site/latest/streams-project/streams-contrib/index.html" />
+ <item name="View the official Apache Streams jsonschema files" href="http://streams.incubator.apache.org/site/latest/streams-project/streams-pojo/index.html" />
+ <item name="View java POJOs generated from the official Apache Streams jsonschema files" href="http://streams.incubator.apache.org/site/latest/streams-project/streams-contrib/streams-pojo/apidocs/index.html" />
+ <item name="Check out some additional examples" href="http://streams.incubator.apache.org/site/latest/streams-examples/index.html" />
</menu>
<menu name="Other Resources">
- <item name="ActivityStreams Homepage" href="http://activitystrea.ms" />
- <item name="ActivityStreams Specifications" href="http://activitystrea.ms/specs/" />
- <item name="Streams Blog" href="http://blogs.apache.org/streams/" />
- <item name="Streams Proposal Wiki Page" href="http://wiki.apache.org/incubator/StreamsProposal" />
- </menu>
- <menu name="Foundation">
- <item name="Foundation Info" href="http://www.apache.org/" />
+ <item name="ActivityStreams Homepage" href="http://activitystrea.ms" />
+ <item name="ActivityStreams Specifications" href="http://activitystrea.ms/specs/" />
+ <item name="Streams Blog" href="http://blogs.apache.org/streams/" />
+ <item name="Streams Proposal Wiki Page" href="http://wiki.apache.org/incubator/StreamsProposal" />
+ <item name="Apache Foundation Info" href="http://www.apache.org/" />
<item name="Sponsorship" href="http://www.apache.org/foundation/sponsorship.html" />
<item name="Thanks" href="http://www.apache.org/foundation/thanks.html" />
</menu>
</body>
+ <custom>
+ <fluidoSkin>
+ <topBarEnabled>true</topBarEnabled>
+ <navBarStyle>navbar-inverse</navBarStyle>
+ <sideBarEnabled>false</sideBarEnabled>
+ <gitHub>
+ <projectId>apache/incubator-streams-master</projectId>
+ <ribbonOrientation>right</ribbonOrientation>
+ <ribbonColor>black</ribbonColor>
+ </gitHub>
+ <twitter>
+ <user>ApacheStreams</user>
+ <showUser>true</showUser>
+ <showFollowers>true</showFollowers>
+ </twitter>
+ </fluidoSkin>
+ </custom>
</project>
http://git-wip-us.apache.org/repos/asf/incubator-streams-master/blob/24913831/src/site/site_en.xml
----------------------------------------------------------------------
diff --git a/src/site/site_en.xml b/src/site/site_en.xml
index 5e6f85a..b534a59 100644
--- a/src/site/site_en.xml
+++ b/src/site/site_en.xml
@@ -17,20 +17,13 @@
~ under the License.
-->
<project>
- <publishDate position="right"/>
- <version position="right"/>
+ <publishDate position="bottom"/>
+ <version position="bottom"/>
<skin>
<groupId>org.apache.maven.skins</groupId>
<artifactId>maven-fluido-skin</artifactId>
- <version>1.4</version>
+ <version>1.5</version>
</skin>
- <custom>
- <fluidoSkin>
- <topBarEnabled>true</topBarEnabled>
- <navBarStyle>navbar-inverse</navBarStyle>
- <sideBarEnabled>false</sideBarEnabled>
- </fluidoSkin>
- </custom>
<bannerLeft>
<name>Apache Streams</name>
<src>http://streams.incubator.apache.org/images/streams_logo.jpg</src>
@@ -48,8 +41,7 @@
<item name="Incubator" href="http://incubator.apache.org/"/>
<item name="Streams" href="http://streams.incubator.apache.org/"/>
</breadcrumbs>
- <menu ref="parent" inherit="top"/>
- <menu name="Overview">
+ <menu name="Overview" inherit="top">
<item name="Overview" href="index.html" />
<item name="Architecture" href="architecture.html" />
<item name="Concepts" href="concepts.html" />
@@ -71,7 +63,7 @@
<item name="Release Process" href="release.html" />
<item name="Website Management" href="website.html" />
</menu>
- <menu name="Projects">
+ <menu name="Projects" inherit="top">
<item name="streams-master" />
<item name="streams-project" href="http://streams.incubator.apache.org/site/latest/streams-project" />
<item name="streams-examples" href="http://streams.incubator.apache.org/site/latest/streams-examples/" />
@@ -82,26 +74,38 @@
<item name="Set up a local docker environment" href="tutorial/docker.html" />
<item name="Run a local database to store activity documents" href="tutorial/database.html" />
<item name="Run twitter-history-elasticsearch" href="http://streams.incubator.apache.org/site/latest/streams-examples/streams-examples-local/twitter-history-elasticsearch/index.html" />
- <item name="Browse and search the twitter data you collected" href="tutorial/browse.html" />
</menu>
- <menu name="Getting Started">
- <item name="View the official Apache Streams jsonschema files" href="http://streams.incubator.apache.org/site/latest/streams-project/streams-pojo/index.html" />
- <item name="View the schemas that describe twitter data" href="http://streams.incubator.apache.org/site/latest/streams-project/streams-contrib/streams-provider-twitter/index.html" />
- <item name="Read about twitter / streams conversion" href="http://streams.incubator.apache.org/site/latest/streams-project/streams-contrib/index.html" />
- <item name="Learn about utility streams components" href="http://streams.incubator.apache.org/site/latest/streams-project/streams-components/index.html" />
- <item name="Learn about streams interoperability modules" href="http://streams.incubator.apache.org/site/latest/streams-project/streams-contrib/index.html" />
+ <menu name="Learn More">
<item name="Browse streams providers, processors, and persisters" href="http://streams.incubator.apache.org/site/latest/streams-project/streams-contrib/index.html" />
+ <item name="View the official Apache Streams jsonschema files" href="http://streams.incubator.apache.org/site/latest/streams-project/streams-pojo/index.html" />
+ <item name="View java POJOs generated from the official Apache Streams jsonschema files" href="http://streams.incubator.apache.org/site/latest/streams-project/streams-contrib/streams-pojo/apidocs/index.html" />
+ <item name="Check out some additional examples" href="http://streams.incubator.apache.org/site/latest/streams-examples/index.html" />
</menu>
<menu name="Other Resources">
<item name="ActivityStreams Homepage" href="http://activitystrea.ms" />
<item name="ActivityStreams Specifications" href="http://activitystrea.ms/specs/" />
<item name="Streams Blog" href="http://blogs.apache.org/streams/" />
<item name="Streams Proposal Wiki Page" href="http://wiki.apache.org/incubator/StreamsProposal" />
- </menu>
- <menu name="Foundation">
- <item name="Foundation Info" href="http://www.apache.org/" />
+ <item name="Apache Foundation Info" href="http://www.apache.org/" />
<item name="Sponsorship" href="http://www.apache.org/foundation/sponsorship.html" />
<item name="Thanks" href="http://www.apache.org/foundation/thanks.html" />
</menu>
</body>
+ <custom>
+ <fluidoSkin>
+ <topBarEnabled>true</topBarEnabled>
+ <navBarStyle>navbar-inverse</navBarStyle>
+ <sideBarEnabled>false</sideBarEnabled>
+ <gitHub>
+ <projectId>apache/incubator-streams-master</projectId>
+ <ribbonOrientation>right</ribbonOrientation>
+ <ribbonColor>black</ribbonColor>
+ </gitHub>
+ <twitter>
+ <user>ApacheStreams</user>
+ <showUser>true</showUser>
+ <showFollowers>true</showFollowers>
+ </twitter>
+ </fluidoSkin>
+ </custom>
</project>