|
| 1 | +--- |
| 2 | +title: "Sync and Import" |
| 3 | +date: "2026-02-16" |
| 4 | +author: "" |
| 5 | +published: true |
| 6 | +--- |
| 7 | + |
| 8 | +The Sync and Import feature allows you to synchronize your discourse nodes with the Discourse Graph database and share them with collaborators. Once enabled, you can publish nodes to a shared group space and import nodes published by others. |
| 9 | + |
| 10 | +> **Note:** This feature is currently in **beta**. The sync functionality requires an active connection to the Discourse Graph database. |
| 11 | +
|
| 12 | +> **Warning:** When using sync and import: |
| 13 | +> - Don't edit the things you imported |
| 14 | +> - Don't click to create new files (from imported nodes) |
| 15 | +> - Don't delete imported node types |
| 16 | +
|
| 17 | +## Enabling sync mode |
| 18 | + |
| 19 | +### Step 1: Open settings |
| 20 | + |
| 21 | +Open the Discourse Graph plugin settings: |
| 22 | + |
| 23 | +1. Open **Obsidian settings** (click the gear icon in the bottom-left corner, or press `Cmd/Ctrl + ,`) |
| 24 | +2. Scroll down in the left sidebar to **community plugins** |
| 25 | +3. Find **Discourse Graph** |
| 26 | + |
| 27 | +### Step 2: Reveal the admin panel |
| 28 | + |
| 29 | +The sync feature is located in a hidden **admin panel** tab that is not visible by default. |
| 30 | + |
| 31 | +1. While on the Discourse Graph settings page, press `Cmd + Shift + A` (Mac) or `Ctrl + Shift + A` (Windows/Linux) |
| 32 | +2. A new **admin panel** tab will appear in the settings tab bar |
| 33 | + |
| 34 | + |
| 35 | + |
| 36 | +### Step 3: Enable sync mode |
| 37 | + |
| 38 | +1. In the **admin panel** tab, find the **(BETA) Sync mode enable** toggle |
| 39 | +2. Click the toggle to enable sync mode |
| 40 | +3. Click **Save changes** |
| 41 | +4. A confirmation notice will appear: "Admin panel settings saved" |
| 42 | +5. The sync mode will initialize automatically, and you will see a notice: "Sync mode initialized successfully" |
| 43 | + |
| 44 | +Once enabled, your discourse nodes will begin syncing automatically to the Discourse Graph database. The plugin monitors file changes in your vault (with a short delay) and syncs them in the background. |
| 45 | + |
| 46 | +--- |
| 47 | + |
| 48 | +## Publishing a discourse node |
| 49 | + |
| 50 | +Publishing makes a synced discourse node available to other members of your group. This is how you share your work with collaborators. |
| 51 | + |
| 52 | +### Prerequisites |
| 53 | + |
| 54 | +Before publishing, make sure: |
| 55 | + |
| 56 | +- **Sync mode is enabled** (see above) |
| 57 | +- **You are a member of a group.** Group membership is managed by your team administrator. The Discourse Graph team will ensure you are added to the appropriate group before you can publish. |
| 58 | +- The discourse node you want to publish has a `nodeTypeId` in its frontmatter |
| 59 | +- The discourse node has been **synced at least once** (it must have a `nodeInstanceId` in its frontmatter — this is assigned automatically after the first sync) |
| 60 | + |
| 61 | +### Steps to publish |
| 62 | + |
| 63 | +1. **Open the discourse node** you want to publish in the editor |
| 64 | + |
| 65 | +2. **Open the command palette** by pressing `Cmd/Ctrl + P` |
| 66 | + |
| 67 | +3. **Search for the publish command** by typing "Publish" and select **"Discourse Graph: Publish current node to lab space"** |
| 68 | + |
| 69 | + |
| 70 | +4. The plugin will: |
| 71 | + - Publish the node to your group |
| 72 | + - Sync any embedded assets (images, attachments) to the shared storage |
| 73 | + - Update the node's frontmatter with a `publishedToGroups` field |
| 74 | + |
| 75 | +5. A confirmation notice will appear: **"Published"** |
| 76 | + |
| 77 | + |
| 78 | +> **Tip:** If you see the message "Please sync the node first", wait a moment for the automatic sync to complete, or manually trigger a sync via the command palette using **"Discourse Graph: Sync discourse nodes to Supabase"**. |
| 79 | + |
| 80 | +--- |
| 81 | + |
| 82 | +## Importing discourse nodes from another space |
| 83 | + |
| 84 | +Importing allows you to bring published discourse nodes from other group members into your vault. |
| 85 | + |
| 86 | +### Steps to import |
| 87 | + |
| 88 | +1. **Open the command palette** by pressing `Cmd/Ctrl + P` |
| 89 | + |
| 90 | +2. **Search for the import command** by typing "Import" and select **"Discourse Graph: Import nodes from another space"** |
| 91 | + |
| 92 | + |
| 93 | + |
| 94 | +3. The **import nodes** modal will open and begin loading available nodes from your groups. Once loaded, you will see a list of importable nodes **grouped by space**. Each space section shows the space name and available nodes. |
| 95 | + |
| 96 | + |
| 97 | + |
| 98 | +4. The plugin will import each selected node and display a progress bar. Once complete, a confirmation notice will appear showing how many nodes were imported successfully. |
| 99 | + |
| 100 | +Imported nodes are saved in an `import/{spaceName}/` folder in your vault, preserving the original space organization. |
| 101 | + |
| 102 | + |
| 103 | + |
| 104 | +--- |
| 105 | + |
| 106 | +## Refreshing imported nodes |
| 107 | + |
| 108 | +After importing, you can fetch the latest content from the original sources to keep your imported nodes up to date. |
| 109 | + |
| 110 | +1. **Open the command palette** by pressing `Cmd/Ctrl + P` |
| 111 | +2. Search for "Fetch" and select **"Discourse Graph: Fetch latest content from imported nodes"** |
| 112 | +3. The plugin will check each imported node for updates and refresh any that have changed |
| 113 | + |
| 114 | + |
| 115 | + |
| 116 | +Alternatively, you can click the "Refresh" button in the Discourse Context panel. |
| 117 | + |
| 118 | + |
| 119 | +--- |
| 120 | + |
| 121 | +## Summary of commands |
| 122 | + |
| 123 | +- **Sync discourse nodes to Supabase**: Manually sync all discourse nodes to the database |
| 124 | +- **Publish current node to lab space**: Publish the active discourse node to your group |
| 125 | +- **Import nodes from another space**: Open the import modal to browse and import shared nodes |
| 126 | +- **Fetch latest content from imported nodes**: Refresh all imported nodes with the latest content |
| 127 | + |
| 128 | + |
| 129 | +## Troubleshooting |
| 130 | + |
| 131 | +- **"Sync mode is not enabled"** — You need to enable sync mode in the admin panel first (see [Enabling sync mode](#enabling-sync-mode) above) |
| 132 | +- **"Please sync the node first"** — The node hasn't been synced yet. Wait for automatic sync or trigger a manual sync |
| 133 | +- **"You are not a member of any groups"** — You need to be added to a group before you can import nodes. Contact your team administrator |
| 134 | +- **No importable nodes found** — Either no nodes have been published to your groups, or you have already imported all available nodes |
| 135 | +- If you want to see more information about imported nodes, you can unhide frontmatter information in the setting panel |
| 136 | + |
0 commit comments