Streams plugin: how to move nodes between streams hierarchies in different tiddlers?

Since I’d like a workflow that would be consistent between mobile and desktop, I’m ruling out anything involving drag-and-drop. I’m willing to move Streams nodes (well, whole subtrees if nodes have children, and ideally if it’s doable by not having to change data in all the nodes in the subtree) by editing their corresponding tiddlers. Is this possible?

I am creating this topic because my first experiment failed. Here’s my setup:

I have a single HTML wiki with Streams-1.2.24 (2022-04-07) installed.

I created two tiddlers: TIDDLER1 and TIDDLER2.

In TIDDLER1 I created a hierarchy of Streams nodes that looks like this:

- TIDDLER1-node1
- TIDDLER1-node2
- TIDDLER1-node3
  -TIDDLER1-node3.1

First attempt was to try moving node TIDDLER1-node1 from TIDDLER1 to TIDDLER2. I opened the tiddler TIDDLER1-node1 in edit mode and noticed it looks like:

* title: TIDDLER1/20250421000853843
* text: TIDDLER1-node1
* parent: TIDDLER1

I replaced TIDDLER1 with TIDDLER2 everywhere and saved the tiddler. I even reloaded the whole wiki in browser. TIDDLER1-node1 disappeared from the Streams hierarchy in TIDDLER1. But it did not appear in TIDDLER2.

Is this a wrong approach? Are there any external tiddlers used to store the relationships of Streams nodes and their “container” tiddlers?

I think I figured it.

Affiliation of a Streams node to a tiddler is recorded in the stream-list field of the container tiddler. So, in the example above, to move the node TIDDLER1-node1 from TIDDLER1 to TIDDLER2, it is enough to:

  1. Identify the tiddler name of the node: TIDDLER1/20250421000853843
  2. Open both TIDDLER1 and TIDDLER2 in edit mode
  3. Find TIDDLER1/20250421000853843 in stream-list field of TIDDLER1
  4. Cut it from there
  5. Paste it into the stream-list field of TIDDLER2
  6. Save both TIDDLER1 and TIDDLER2

After this, TIDDLER1-node1 disappears from TIDDLER1 and appears in TIDDLER2.

This works as well for TIDDLER1-node3, which has children, only manipulation with root node is required, since subnodes only get linked to their parent node rather than container tiddler.

1 Like