1"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[2995],{3905:function(e,r,t){t.d(r,{Zo:function(){return l},kt:function(){return d}});var n=t(7294);function o(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function i(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.push.apply(t,n)}return t}function a(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?i(Object(t),!0).forEach((function(r){o(e,r,t[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):i(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}))}return e}function s(e,r){if(null==e)return{};var t,n,o=function(e,r){if(null==e)return{};var t,n,o={},i=Object.keys(e);for(n=0;n<i.length;n++)t=i[n],r.indexOf(t)>=0||(o[t]=e[t]);return o}(e,r);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)t=i[n],r.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(o[t]=e[t])}return o}var c=n.createContext({}),u=function(e){var r=n.useContext(c),t=r;return e&&(t="function"==typeof e?e(r):a(a({},r),e)),t},l=function(e){var r=u(e.components);return n.createElement(c.Provider,{value:r},e.children)},p={inlineCode:"code",wrapper:function(e){var r=e.children;return n.createElement(n.Fragment,{},r)}},m=n.forwardRef((function(e,r){var t=e.components,o=e.mdxType,i=e.originalType,c=e.parentName,l=s(e,["components","mdxType","originalType","parentName"]),m=u(t),d=o,f=m["".concat(c,".").concat(d)]||m[d]||p[d]||i;return t?n.createElement(f,a(a({ref:r},l),{},{components:t})):n.createElement(f,a({ref:r},l))}));function d(e,r){var t=arguments,o=r&&r.mdxType;if("string"==typeof e||o){var i=t.length,a=new Array(i);a[0]=m;var s={};for(var c in r)hasOwnProperty.call(r,c)&&(s[c]=r[c]);s.originalType=e,s.mdxType="string"==typeof e?e:o,a[1]=s;for(var u=2;u<i;u++)a[u]=t[u];return n.createElement.apply(null,a)}return n.createElement.apply(null,t)}m.displayName="MDXCreateElement"},5286:function(e,r,t){t.r(r),t.d(r,{assets:function(){return l},contentTitle:function(){return c},default:function(){return d},frontMatter:function(){return s},metadata:function(){return u},toc:function(){return p}});var n=t(3117),o=t(102),i=(t(7294),t(3905)),a=["components"],s={title:"Discourse"},c=void 0,u={unversionedId:"middleware/importer/discourse",id:"middleware/importer/discourse",title:"Discourse",description:"This mixin allows you to import data from Discourse forums.",source:"@site/docs/middleware/importer/discourse.md",sourceDirName:"middleware/importer",slug:"/middleware/importer/discourse",permalink:"/docs/middleware/importer/discourse",draft:!1,editUrl:"https://github.com/assemblee-virtuelle/semapps/edit/master/website/docs/middleware/importer/discourse.md",tags:[],version:"current",frontMatter:{title:"Discourse"},sidebar:"middleware",previous:{title:"Importer",permalink:"/docs/middleware/importer/"},next:{title:"Drupal",permalink:"/docs/middleware/importer/drupal"}},l={},p=[{value:"Usage",id:"usage",level:2}],m={toc:p};function d(e){var r=e.components,t=(0,o.Z)(e,a);return(0,i.kt)("wrapper",(0,n.Z)({},m,t,{components:r,mdxType:"MDXLayout"}),(0,i.kt)("p",null,"This mixin allows you to import data from ",(0,i.kt)("a",{parentName:"p",href:"https://discourse.org"},"Discourse forums"),"."),(0,i.kt)("h2",{id:"usage"},"Usage"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-js"},"const { DiscourseImporterMixin } = require('@semapps/importer');\n\nmodule.exports = {\n name: 'my-importer',\n mixins: [DiscourseImporterMixin],\n settings: {\n source: {\n discourse: {\n baseUrl: null, // Base URL of the Discourse instance\n type: 'topics' // Currently, only topics can be imported\n },\n // ... see ImporterMixin settings for other source config available\n },\n dest: {\n containerUri: null, // Container where the data will be posted (must be created already)\n predicatesToKeep: [], // Don't remove these predicates when updating data\n },\n activitypub: {\n actorUri: null, // ActivityPub actor who will post activities on
1synchronization (leave null to disable this)\n activities: ['Create', 'Update', 'Delete'] // The activities you want to be posted by the actor\n },\n cronJob: {\n time: null, // '0 0 4 * * *' for every night at 4am \n timeZone: 'Europe/Paris'\n }\n },\n methods: {\n transform(data) {\n return({\n ...data\n });\n }\n }\n};\n")))}d.isMDXComponent=!0}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.