diff --git a/website2/docs/community-contact.md b/website2/docs/community-contact.md deleted file mode 100644 index bed72a83164..00000000000 --- a/website2/docs/community-contact.md +++ /dev/null @@ -1,18 +0,0 @@ ---- -id: community-contact -title: Contact -sidebar_label: Contact ---- - -## Contact - -#### Mailing lists - -| Name | Scope | | | | -|:--------------------------------------------------------------------------|:--------------------------------|:---------------------------------------------------------------|:-------------------------------------------------------------------|:--------------------------------------------------------------------------| -| [user@heron.incubator.apache.org](mailto:user@heron.incubator.apache.org) | User-related discussions | [Subscribe](mailto:user-subscribe@heron.incubator.apache.org) | [Unsubscribe](mailto:user-unsubscribe@heron.incubator.apache.org) | [Archives](http://mail-archives.apache.org/mod_mbox/incubator-heron-user/)| -| [dev@heron.incubator.apache.org](mailto:dev@heron.incubator.apache.org) | Development-related discussions | [Subscribe](mailto:dev-subscribe@heron.incubator.apache.org) | [Unsubscribe](mailto:dev-unsubscribe@heron.incubator.apache.org) | [Archives](http://mail-archives.apache.org/mod_mbox/incubator-heron-dev/) | - -#### Slack - -[Self-Register](http://heronstreaming.herokuapp.com/) to our [Heron Slack Workspace](https://heronstreaming.slack.com/) \ No newline at end of file diff --git a/website2/docs/community-events.md b/website2/docs/community-events.md deleted file mode 100644 index d7014a3ab91..00000000000 --- a/website2/docs/community-events.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -id: community-events -title: Community Events -sidebar_label: Community Events ---- - -Groups - -[Apache Heron Bay Area Meetup](https://www.meetup.com/Apache-Heron-Bay-Area) \ No newline at end of file diff --git a/website2/website/data/resources.js b/website2/website/data/resources.js new file mode 100644 index 00000000000..742ecef082e --- /dev/null +++ b/website2/website/data/resources.js @@ -0,0 +1,207 @@ +module.exports = { + publications: [ + { + forum: 'O’Reilly', + forum_link: 'http://shop.oreilly.com/product/0636920203131.do', + title: 'Stream Processing with Heron', + link: 'http://shop.oreilly.com/product/0636920203131.do' + }, + { + forum: '', + forum_link: '', + presenter: '', + date: 'July 2016', + title: 'Streaming@Twitter - Bulletin of the IEEE Computer Society Technical Committee on Data Engineering', + link: 'http://sites.computer.org/debull/A15dec/p15.pdf' + }, + { + forum: '', + forum_link: '', + presenter: '', + date: 'May 2015', + title: 'Twitter Heron: Stream Processing at Scale - SIGMOD’15', + link: 'http://dl.acm.org/citation.cfm?id=2595641' + }, + { + forum: '', + forum_link: '', + presenter: '', + date: 'June 2013', + title: 'Storm@Twitter - SIGMOD\'14', + link: 'http://dl.acm.org/citation.cfm?id=2595641' + }, + + ], + presentations: [ + { + forum: 'Twitter', + forum_link: '', + presenter: 'Maosong Fu', + date: 'April 2016', + title: 'Twitter Heron on Apache Aurora - #compute event @Twitter', + link: 'https://m.youtube.com/watch?v=ua0ufmr9sQI&feature=youtu.be' + }, + { + forum: 'Twitter', + forum_link: '', + presenter: '', + date: 'May 2015', + title: 'Twitter Heron: Stream Processing at Scale - SIGMOD’15', + link: 'http://dl.acm.org/citation.cfm?id=2595641' + }, + { + forum: 'QCon', + forum_link: 'https://qconferences.com/', + presenter: 'Karthik Ramasamy', + date: 'April 2016', + title: 'Flying Faster with Heron - InfoQ', + link: 'http://www.infoq.com/presentations/twitter-heron' + }, + { + forum: 'Data @ Scale', + forum_link: 'https://www.youtube.com/channel/UCd9I8ZkgoR1d7GeSj_wi_LQ', + presenter: 'Karthik Ramasamy', + date: 'September 2015', + title: 'Twitter Heron: Stream Processing at Scale - @Scale', + link: 'https://www.youtube.com/watch?v=pUaFOuGgmco' + }, + { + forum: 'Data @ Scale', + forum_link: 'https://www.youtube.com/channel/UCd9I8ZkgoR1d7GeSj_wi_LQ', + presenter: 'Karthik Ramasamy', + date: 'June 2015', + title: 'Stream Processing and Anomaly Detection - Velocity O’Reilly - Note: requires O’Reilly login', + link: 'https://player.oreilly.com/videos/9781491927977?login=true' + }, + { + forum: 'Google', + forum_link: 'hhttps://www.youtube.com/channel/UC7BjFZywGHiqWdEF7SnQ7hQ', + presenter: 'Josh Fischer', + date: 'October 2018', + title: 'Building Apache Heron - BazelCon 2018', + link: 'https://www.youtube.com/watch?v=yBTSfA4YDtY&t' + }, + ], + blogs: [ + { + forum: 'Twitter Engineering blog', + forum_link: 'https://blog.twitter.com/engineering/', + presenter: 'Maosong Fu', + date: 'Feb 2018', + title: 'Leaving the Nest: Heron donated to Apache Software Foundation', + link: 'https://blog.twitter.com/engineering/en_us/topics/open-source/2018/heron-donated-to-apache-software-foundation.html' + }, + { + forum: 'Twitter Engineering blog', + forum_link: 'https://blog.twitter.com/engineering/', + presenter: 'Karthik Ramasamy', + date: 'May 2016', + title: 'Leaving the Nest: Heron donated to Apache Software Foundation', + link: 'https://blog.twitter.com/2016/open-sourcing-twitter-heron' + }, + { + forum: 'Twitter Engineering blog', + forum_link: 'https://blog.twitter.com/engineering/', + presenter: 'Karthik Ramasamy', + date: 'June 2015', + title: 'Flying Faster with Twitter Heron', + link: 'https://blog.twitter.com/2016/open-sourcing-twitter-heron' + }, + { + forum: 'Streamanalytics', + forum_link: 'http://streamanalytics.blogspot.com/', + presenter: 'Supun Kamburugamuve', + date: 'June 2016', + title: 'Deploying Heron on a Cluster of Machines with Apache Aurora', + link: 'http://streamanalytics.blogspot.com/2016/06/deploying-heron-on-cluster-of-machines.html' + }, + { + forum: '', + forum_link: 'http://pulasthisupun.blogspot.com/', + presenter: 'Pulasthi Supun', + date: 'June 2016', + title: 'Setting up Heron Locally with Apache Aurora', + link: 'http://pulasthisupun.blogspot.com/2016/06/setting-up-heron-cluster-with-apache.html' + }, + { + forum: '1904Labs', + forum_link: 'https://1904labs.com/', + presenter: 'Josh Fischer', + date: 'Feb 2018', + title: 'Introducing Heron’s ECO; A Flexible Way To Manage Topologies', + link: 'https://1904labs.com/2018/02/14/introducing-herons-eco-flexible-way-manage-topologies/' + }, + { + forum: 'Twitter University', + forum_link: 'https://www.twitter.com/', + presenter: 'Arun Kejariwal', + date: 'May 2016', + title: 'Real-Time Analytics: Algorithms and Systems - Twitter University', + link: 'http://www.slideshare.net/arunkejariwal/real-time-analytics-algorithms-and-systems' + }, + { + forum: 'O’Reilly', + forum_link: 'https://www.oreilly.com/', + presenter: 'Arun Kejariwal', + date: 'June 2015', + title: 'Stream Processing and Anomaly Detection - Velocity O’Reilly', + link: 'http://www.slideshare.net/arunkejariwal/velocity-2015final' + }, + ], + press: [ + { + forum: '', + forum_link: '', + presenter: 'BenZinga ', + date: 'June 2016', + title: 'Heron, Twitter\'s Data Streaming Platform, Has Been Open Sourced', + link: 'http://www.benzinga.com/tech/16/06/8119962/heron-twitters-data-streaming-platform-has-been-open-sourced' + }, + { + forum: '', + forum_link: '', + presenter: 'Forbes', + date: 'June 2016', + title: 'Twitter Open Sources Heron -- Data Streaming For Dummies', + link: 'http://www.forbes.com/sites/adrianbridgwater/2016/06/16/twitter-open-sources-heron-data-streaming-for-dummies/#6f8984319b50' + }, + { + forum: '', + forum_link: '', + presenter: 'All Things Hadoop', + date: 'May 2016', + title: 'Getting Started with Heron on Apache Mesos and Apache Kafka', + link: 'https://allthingshadoop.com/2016/05/30/getting-started-with-heron-on-apache-mesos-and-apache-kafka/' + }, + { + forum: '', + forum_link: '', + presenter: 'VentureBeat', + date: 'May 2016', + title: 'Twitter open-sources Heron, its real-time stream-processing engine', + link: 'http://venturebeat.com/2016/05/25/twitter-open-sources-heron-its-real-time-stream-processing-engine/' + }, + { + forum: '', + forum_link: '', + presenter: 'Forbes', + date: 'June 2015', + title: 'Twitter\'s Heron Will Start a New Chapter in Real-Time Streaming', + link: 'http://www.forbes.com/sites/janakirammsv/2015/06/08/twitters-heron-will-start-a-new-chapter-in-real-time-streaming/#62c8645b2306' + }, + { + forum: '', + forum_link: '', + presenter: 'InfoQ', + date: 'June 2015', + title: 'Twitter Has Replaced Storm with Heron', + link: 'https://www.infoq.com/news/2015/06/twitter-storm-heron' + }, + ] + } + + + + + + diff --git a/website2/website/pages/en/contact.js b/website2/website/pages/en/contact.js new file mode 100644 index 00000000000..5d25b8326e0 --- /dev/null +++ b/website2/website/pages/en/contact.js @@ -0,0 +1,98 @@ + +const React = require('react'); + +const CompLibrary = require('../../core/CompLibrary.js'); +const Container = CompLibrary.Container; +const MarkdownBlock = CompLibrary.MarkdownBlock; /* Used to read markdown */ +const GridBlock = CompLibrary.GridBlock; +const translate = require('../../server/translate.js').translate; + +const CWD = process.cwd(); + +const siteConfig = require(`${CWD}/siteConfig.js`); + +class Contact extends React.Component { + render() { + let language = this.props.language || ''; + const mailingLists = [ + { + email: 'users@heron.incubator.apache.org', + desc: 'User-related discussions', + subscribe: 'mailto:user-subscribe@heron.incubator.apache.org', + unsubscribe: 'mailto:users-unsubscribe@heron.incubator.apache.org', + archives: 'http://mail-archives.apache.org/mod_mbox/heron-user/' + }, + { + email: 'dev@heron.incubator.apache.org', + desc: 'Development-related discussions', + subscribe: 'mailto:dev-subscribe@heron.incubator.apache.org', + unsubscribe: 'mailto:dev-unsubscribe@heron.incubator.apache.org', + archives: 'http://mail-archives.apache.org/mod_mbox/heron-dev/' + }, + { + email: 'commits@heron.incubator.apache.org', + desc: 'All commits to the Heron repository', + subscribe: 'mailto:commits-subscribe@heron.incubator.apache.org', + unsubscribe: 'mailto:commits-unsubscribe@heron.incubator.apache.org', + archives: 'http://mail-archives.apache.org/mod_mbox/heron-commits/' + } + ] + + return ( +
+ +
+
+

Contact

+
+
+

+ There are many ways to get help from the Apache Heron community. + The mailing lists are the primary place where all Heron committers are present. + Bugs and feature requests can either be discussed on the dev mailing list or + by opening an issue on + GitHub. +

+ +

Mailing Lists

+ + + + + + + + + + + + {mailingLists.map( + list => ( + + + + + + + + ) + )} + +
NameScope
{list.email}{list.desc}SubscribeUnsubscribeArchives
+ +

Slack

+

There is a Heron slack channel that is used for informal discussions for devs and users.

+ +

The Slack instance is at + https://heronstreaming.slack.com/

+ +

You can self-register at + http://heronstreaming.herokuapp.com/

+
+
+
+ ); + } +} + +module.exports = Contact; \ No newline at end of file diff --git a/website2/website/pages/en/events.js b/website2/website/pages/en/events.js new file mode 100644 index 00000000000..4197f3672ec --- /dev/null +++ b/website2/website/pages/en/events.js @@ -0,0 +1,38 @@ + +const React = require('react'); + +const CompLibrary = require('../../core/CompLibrary.js'); +const Container = CompLibrary.Container; +const MarkdownBlock = CompLibrary.MarkdownBlock; /* Used to read markdown */ +const GridBlock = CompLibrary.GridBlock; + +const CWD = process.cwd(); + +const translate = require('../../server/translate.js').translate; + +const siteConfig = require(`${CWD}/siteConfig.js`); + +class Events extends React.Component { + render() { + + return ( +
+ +
+
+

Events

+
+
+ +

Groups

+ + - [Apache Heron Bay Area Meetup Group](https://www.meetup.com/Apache-Heron-Bay-Area/events/249414421/) + +
+
+
+ ); + } +} + +module.exports = Events; \ No newline at end of file diff --git a/website2/website/pages/en/resources.js b/website2/website/pages/en/resources.js new file mode 100644 index 00000000000..88344f0bbfe --- /dev/null +++ b/website2/website/pages/en/resources.js @@ -0,0 +1,122 @@ + + +const React = require('react'); + +const CompLibrary = require('../../core/CompLibrary.js'); +const Container = CompLibrary.Container; + +const CWD = process.cwd(); + +const translate = require('../../server/translate.js').translate; + +const siteConfig = require(`${CWD}/siteConfig.js`); +const resources = require(`${CWD}/data/resources.js`) + +class Resources extends React.Component { + render() { + let language = this.props.language || ''; + + + return ( +
+ +
+
+

Resources

+
+
+ +

Articles

+ + + + + + + + {resources.publications.map( + (a, i) => ( + + + + ) + )} + +
Link
{a.title}
+ +

Presentations

+ + + + + + + + + + + {resources.presentations.map( + (p, i) => ( + + + + + + + ) + )} + +
ForumDataPresenterLink
{p.forum}{p.date}{p.presenter}{p.title}
+

Blogs

+ + + + + + + + + + + {resources.blogs.map( + (p, i) => ( + + + + + + + ) + )} + +
ForumDataPresenterLink
{p.forum}{p.date}{p.presenter}{p.title}
+

Press

+ + + + + + + + + + {resources.press.map( + (p, i) => ( + + + + + + ) + )} + +
DataPresenterLink
{p.date}{p.presenter}{p.title}
+ +
+
+
+ ); + } +} + +module.exports = Resources; \ No newline at end of file diff --git a/website2/website/static/js/custom.js b/website2/website/static/js/custom.js index cd61b657b4b..a89d27f5e45 100644 --- a/website2/website/static/js/custom.js +++ b/website2/website/static/js/custom.js @@ -7,10 +7,10 @@ window.addEventListener('load', function() { 'Community ▼' + '
' + '' + '
' +