Transclusion/clone (display item in multiple places)

I think if we go down that path, the global memory usage is be a problem for some people forever. Itā€™ll get harder and harder to ā€œunloadā€ unused documents from the memory because you want to count tags, count clones, and get the latest item name in the case of internal linksā€¦

Other than that, very cool idea.

1 Like

Thatā€™s in interesting point. I always envisioned that clones/mirrors/references would be local to a document.

1 Like

Yeah, it would be definitely be less resource consuming if we limit everything to local.

1 Like

I also assumed clones would be allowed only locally (document-wide).
That said, I use only few dynalist documents with little overlap. With more documents and more overlap I might think otherwise.

Yes!

Totally! To be most flexible, I would allow full recursion and manage expansion state like you said.

Yes! I imagine: click on the [3] and you get a pop-up as for ā€œOpen item finderā€ with the 3 parent nodes being displayed, so you can jump to them!
In a previous post, I proposed to print all parents like the breadcrumbs (path) of the node. But my proposal is less flexible because it is only visible for the zoomed in node and it wastes real estate on the screen. Now, Iā€™m in favor of your proposal.

A more general note:

We argue about implementation details but I would like to point out the importance of this feature. Clones would extend the core of Dynalist: the node graph structure! This core is already strong in Dynalist and distinct from other apps.
We could emulate this feature with tags or links but both are on top of the core node structure; I consider them extra features.
I am aware that other features are important, like recurring tasks, to-doā€™s, calendar sync, reminders. But none of them extend the core of Dynalist, they just sit on top. None of them are also unique to Dynalist: other apps offer them as well and Dynalist competes against those well-established apps.

I do use those extra features in Dynalist, but I could easily get them from other apps if Dynalist didnā€™t exist.

But I still use Dynalist daily as my main app for notes and personal knowledge! There is no other App that organizes notes in such a beautiful and easy-to-navigate way. Itā€™s 80% of my motivation to use (and gladly pay for) Dynalist. I would love to see Dynalist build on its core (in addition to introducing useful extra features).

3 Likes

Iā€™ve just been skimming through various topics for fun . . . Whatā€™s the difference between cloning and the linking done with [[ ? I think 90%+ of the cases described can be handled simply with this feature. If you want, stick certain items frequently used into one file and then refer/link to them everywhere else. Just curious what Iā€™m missing here.

2 Likes

Hi Malcolm. I do my best to explain why clones are a separate use case from links in the second half of my very long post above. Hereā€™s a link to it:

Craig, Thanks for prompting me to read this thread in greater detail. My guess isā€”itā€™s just a guess and without judgmentā€”that the participants in the discussion have been influenced by a knowledge of computer programming (what is possible) more than by thinking about useable solutions.

For instance, the My Day list referred to by Jordan is just a bookmarked search of things with today as a tag. Delete the individual nodes or edit them from that list, and your data is consistent from every view.

If following a link is too distracting because it takes you out of context (and by that I think you mean itā€™s too hard to navigate back to where you were, or at least thatā€™s a problem I have with links), then add the ability to show and edit a link in a pop-up window/bubble.

If you want to have multiple instances of the same node (of any size) that then act independently, add a copy function to the current (extremely useful) move function.

If none of these options quite work, then maybe your data belong in 2 files, where the main file links to the data entries in the supplementary data file.

To me it seems like 90% of what you want already exists, while only about 20% of the date and calendar features I want exist. Youā€™ll never guess which I think is more important, LOL.

1 Like

I figured Iā€™d bump the thread since it looks like itā€™s been inactive for a few months, and I find myself wishing I had this feature all the time. Iā€™ll try to summarize what Iā€™ve seen skimming this, although Iā€™m sure I missed a lot so if anyone can complete this summary Iā€™d be grateful.

I explained in my original reply why imho items should just be allowed to have multiple parents rather than implementing this feature in the form of ā€œclones/symbolic linksā€. From skimming these responses it seems people generally agree, but in slightly different ways.

1. What to do when the original item gets deleted? Do the clones get deleted or not?

I originally said yes all items should be deleted, but @Craig_Oliver and others said no. I see their point (the screenwriting example was good), and I change my mind about removing an instance from individual lists. I actually agree with them now that ā€œdeletingā€ a node which has multiple parents should in effect delete the link between the currently viewed parent and the selected node, while preserving the node and all of its other connections. Whatā€™s most important I think is that the user knows whatā€™s happening. So if an item has multiple parents, it should be marked clearly.

The current root node is a special case. The current root should have all parents displayed at the top as separate breadcrumbs (as @Viktor_Papara has nicely shown). The only thing Iā€™d have to change, since the breadcrumbs could cause an infinite recursion, is that there should be a limit in how many levels of parents you can see at the top. Also, if the current root node is deleted, I think it should actually be deleted (not have a single link to the current parent removed as in other cases), since the user can see all of its parents at the top and knows that it is being deleted from each list.

2. Should we allow ā€œclone chainingā€? That is, if you inserted B as a clone of A, would you be able to make a clone of B?

As I think others have said, the way nodes are linked should be only limited in that if A is the parent of B, B cannot also be the parent of A. Every other situation should be fine.

Anyone who uses the multi-parent feature must have a limit in the number of layers of children they can render at once. For example, I believe that limit is 2 in TheBrain. Otherwise there would be infinite recursion. Perhaps users who donā€™t use this feature can preserve the ability to render an unlimited amount of levels.

3. Does clones show up as single result or multiple results when inserting internal link?

Single, as I think we all agree?

In short, I believe nodes should be able to have multiple parents, and thus should be able to be rendered in multiple places at once. imho the ā€œcloneā€ terminology is confusing because although it can be rendered multiple times, it is still only one node just with multiple parents. This is functionally the same as TheBrain, which has a cool visualization algorithm that allows nodes to only be rendered once no matter how everything is linked, but due to the linear way that Dynalist is rendered it should be programmed more like transclusion in TiddlyWiki (so happy to see TiddlyWiki referenced :smiley: ).

Have I missed anything? Is anything still up for debate?

2 Likes

I completely agree with this, and all the point you make with these amendments:

I suggest that when a chain of ancestors loops onto itself, you stop showing the chain there. This goes for both breadcrumbs and child-display. Doing this could make clone (hate this word) relatively easy to implement because you donā€™t have to add a whole new mechanism for managing clones throughout the program; just have the tree-navigating functions stop delving when a loop is encountered.

An advantage of this technique is that a cloned node can have just one expansion state shared by all instances. Stopping when the graph loops prevents it from going infinite. (Draw that point with a special bullet so people can see.) Yet, if you drill into a node within the loop you can then all the way to the next loop around.

By my way of thinking (above), if if you add B under D as a clone of A under C, then B and A are identical in every way. Then you can also add a clone of D under A. So if the root contains two items C and D, we have this:

  • Root
    • C
      • A
        ā–  D [->A]
    • D
      ā–  A [->D]

Where ā–  canā€™t be expanded to prevent recursion, but you can click into that node to see deeper.

If Dynalist is built as a table of links, just convert the Parent column to a list of Parents where currently each node has 1 parent. (Or invert this to have lists of children):

Node Text Parents
0 Root 0
1000 C [0]
1001 D [0,1001]
1005 A [1000,1001]
3 Likes

Any updates on this GREAT feature?

2 Likes

Yes, Iā€™d like to hear more about progress with this. I read the blogs each month hoping for news as the ability to include an item in more than one place would be extremely valuable to me.

Is it coming soon? :pray:

1 Like

Yes, IĀ“m hoping, too!! One reason less to move to Roam Researchā€¦ :wink:

1 Like

Itā€™s a top candidate but they havenā€™t committed yet:
image

1 Like

Hi,

I logged into the forum to post an idea that has been on my mind for Dynalist for some time and I think this is pretty much it.

I would like to be able to display a clone of another item anywhere within Dynalist ā€¦ but further I would like to be able to define a search and have that show up anywhere I link to it. I know it might be hard to make usable and understandable but conceptually it would be very very useful.

I track multiple projects Iā€™m working on, it just works for my brain to have an item or document for a project, then just start to break it down, different phases, different tasks, notes, reminders. it works kinda well. Where it gets me in trouble is when I need to look for common things across projects. I donā€™t do GTD but along those lines ā€¦ things due this week, quick emails or calls etc etc. It is possible to create a bookmarked search for different aspects ā€¦ but then you have to go through and click on each bookmark. I would love to be able to create a separate document and then link in the bookmarked searches that are appropriate for me ā€¦ being able to expand them and edit them in place.

I have tried Todoist for a while, itā€™s not bad in terms of letting me enter things ā€˜top downā€™ or organise by project and the pick up a date or priority based view ā€¦ but I just end up back on Dynalist. Dynalist lets me actually get more things down, itā€™s easier to organise and reorganise my thoughts, so it just works better for me. But i really miss being able to create this central view that allows me to look across my projects.

Apologies if this doesnā€™t make all that much sense.
ā€¦ but if you were do do the Clone feature, it could be useful, for me it would be really really really useful if I could ā€˜cloneā€™ in a bookmarked search

6 Likes

Yes, cloning and a second pane. So I can see p.e. on the right my projects and can move (clone) my project tasks to my ā€œcalendarā€ or I have my life areas and can clone my projects to the project list and so onā€¦

3 Likes

I fully agree to your post!

2 Likes

this would solve a LOT of problems for me!

currently i have my main todo in its own document and then every hobby gets a separate document, programming, photography etc where i will add any random idea i have for those projects. any time i actually start working on one of them i will create a [[ link in my todo list documentā€¦ but i usually have another todo list inside of each project idea so if i want to see that i need to click the link which takes me away from my main todo list

really, just being able to expand and glance at whats in linked item would be enough for my use case

as for whether to delete other clones as well, im not sure actually. but if there is a reference of each clone then there could be a dialog box asking whether you want to delete the others as well. that might be a way to keep everyone happy

@Erica this is an old post, but still has life and breadth in it. Any chance of seeing this feature? (Embedding lists within lists, embedding searches into existing list).

This I feel is a big big way of making Dynalist unique from other tools and for me, as lists get larger and more spread out, a way to consolidate data into simpler views.

But now after two years and lots of discussion, it seems the idea is dead. Or is it? It would just be useful to know.

1 Like

Well, I sure hope itā€™s not dead! Every time I see the monthly update in my inbox, I hope itā€™s announcing cloning/transclusion.

4 Likes

Agreed same goes for me.