(window.webpackJsonp=window.webpackJsonp||[]).push([[15],{579:function(e,t,i){"use strict";i.r(t);var o=i(68),a=Object(o.a)({},(function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[i("h2",{attrs:{id:"where-to-find-us"}},[i("a",{staticClass:"header-anchor",attrs:{href:"#where-to-find-us"}},[e._v("#")]),e._v(" Where to Find Us")]),e._v(" "),i("p",[e._v("As an Apache project, we are using mailing list, JIRA, and Github Issues to obtain the feedback of users. We also have a Twitter account.")]),e._v(" "),i("ul",[i("li",[i("p",[e._v("Mailing list: dev@iotdb.apache.org.")]),e._v(" "),i("ul",[i("li",[e._v("The mailing list is used for both user feedback and developer discussion.")]),e._v(" "),i("li",[e._v("Follow method: Send an email to dev-subscribe@iotdb.apache.org with the email you want to\nreceive the email, the subject content is not limited, after receiving the reply, send a\nconfirmation email to the confirmation address again (the confirmation address is longer,\nit is recommended  gmail mailbox).")])])]),e._v(" "),i("li",[i("p",[e._v("JIRA issue: https://issues.apache.org/jira/projects/IOTDB/issues")])]),e._v(" "),i("li",[i("p",[e._v("Github issue: https://github.com/apache/iotdb/issues")])]),e._v(" "),i("li",[i("p",[e._v("Twitter: https://twitter.com/apacheiotdb")])]),e._v(" "),i("li",[i("p",[e._v("We look forward to you sharing the experience of using IoTDB: "),i("a",{attrs:{href:"https://github.com/apache/iotdb/issues/748",target:"_blank",rel:"noopener noreferrer"}},[e._v("Survey"),i("OutboundLink")],1)])]),e._v(" "),i("li",[i("p",[e._v("For Chinese users, we have a Wechat Public Account. For more details, read "),i("RouterLink",{attrs:{to:"/zh/Community/Feedback.html"}},[e._v("交流")])],1)]),e._v(" "),i("li",[i("p",[e._v("For Chinese users，we have a DingTalk Group. For more details, read "),i("RouterLink",{attrs:{to:"/zh/Community/Feedback.html"}},[e._v("交流")])],1)])]),e._v(" "),i("p",[e._v("IoTDB community will host Meetups aperiodically, the information can be found in our mailing list and "),i("RouterLink",{attrs:{to:"/Community/Materials.html"}},[e._v("Meetup List")])],1)])}),[],!1,null,null,null);t.default=a.exports}}]);