The future of References: thoughts, questions, and ideas

I had some ideas for a workflow that would heavily use References today, but there are some features I’d probably need to make best of use of it. As I was contemplating making a few feature requests, I also remembered there is some vaguely stated intention to change how References work (or at least are displayed). Maybe replace them with some form of Transclusion? I’m not sure really, and that’s part of what I hope to have clarified by the team.

For now, here’s what I’d like to be able to do with References (some of this may already be possible):

  • Filter them, e.g. “only show references from this database” or “only references within the last week”
  • Group them visually, e.g. by database (think “swimlanes” and the like)
  • Count them (total and currently displayed, i.e. “filter set”?)
  • React to them, e.g. thumbs-up, or even (ideally) checkbox (I want to treat references as a sort of lightweight to-do)

I guess I sort of want to treat References as another sub-database, in a way, or at least to display them as items in Views, because Views have (almost) all the capability I want here. :grin: This also reminds me of the potential value of also being able to display Activity in Views…

Some of this is partly inspired by Roam, Tana, etc. I want more structure than those tools can effectively create, I think, but I also want more flexibility in the useful affordances of Fibery, like References…


Do you mean the various items that are mentioned/linked-to in rich-text fields (= ‘outgoing’ references) or do you mean the items listed in the References box (= ‘incoming’ references a.k.a. back-refs)?

1 Like

Good question. I was talking about the “backlinks”. While I could see some of those things applying to the on-page “outgoing” links in a given doc or entity, and perhaps some value in those features in that context, mostly it seems clearly (to me) to apply to the “list of references to this page”, i.e. backlinks. I have long thought of References like this and have been aware of additional tools in e.g. Roam for filtering, etc. that I missed in Fibery and other tools. Tana just reminded me that it’s still a very valuable thing to be able to do. As I hope to do a bit more ad-hoc structuring of things (data organization but also workflows) this kind of capability would be very enabling to that.

If this kind of thing is not in scope or the intended use of References, I would definitely be curious to know what is the intent. The current feature is very helpful but a bit “shallow”, one might say.

some of what you desire is already possible, for example, you can create formulas to filter/sort/count references:
References.Filter([Creation Date] > Today() - Days(7))
References.Filter(FromEntityType.Name = "SpaceName/DatabaseName").Count()

If the datatype of the formula result is ‘References’ then you will actually get an additional ‘Referenced X Times’ block (it won’t be named according to the formula name which isn’t ideal, obviously).

It is also possible to trigger automations on new back-references appearing, and these automations can of course include updating the entity itself and/or sending notifications. Potentially, you could create a linked To-do database, and add a new item each time a ref is added.
And maybe the To-do database has a checkbox field where you can mark as ‘done’, or a button to indicate it’s been read (which would archive/delete the To-do item).

Of course, you could say that these are all hacky workarounds :wink: but there is useful stuff you can achieve

1 Like

That’s kind of what I figured. Where does the output go, into a Rich Text? Some of that info can’t (easily) be represented in a single non-RT field, right?

So just to be clear, you’re talking about a To Do database, that creates a new To Do triggered by some condition of References (i.e. I don’t want every reference to become a to do, but I could have some way of indicating this one becomes one), and then I manage the To Do status in the To Do Entity, right?

Yes, I would say there is absolutely some reasonable degree of utility already. It’s not ideal, and I think these kinds of features for dealing with References would be broadly valuable for any workflow that involves references, which as I understand it is something that may become increasingly important for “generating insight”.

Do you have any thoughts on the broader topic of “what does the team plan to do with References in the future”?

It depends what data type the formula returns.
So for example, References.Filter(FromEntityType.Name = "SpaceName/DatabaseName").Count() will be a number field.

I was thinking that you might define an automation so that if a new back-ref is created, you add an entity to the ToDo database, subject to certain conditions (the ref came from a Meeting type and the referring item’s name contained a keyword or whatever).
And the ToDo entity then has a life of it’s own, as for any entity.

My expectation is that References will get superseded by transclusions, and these will bring with them much more sophistication in terms of queries, formulas etc.
But that is part of the ‘blocks’ work and is likely to be a later part rather than an earlier part, I imagine.

1 Like

Sure, I just mean for anything where you want to actually show the References themselves, e.g. Filtering, Sorting, Grouping, that’d have to go into a Rich Text, right? I can’t like generate a “collection” and display it in a Table or something, right?

Interesting, yeah. That’s sort of what I was expecting, but good to get confirmation. Particularly curious how “transclusion” (e.g a transcluded block) will be integrated/harmonized with “queries, formulas, etc”. Are you just talking about being able to operate on Transcluded blocks in a similar way to how you’re describing working with References here, e.g. Formulas in Automations, Buttons, and Formula Fields? Or is there an intention of more dedicated, hopefully accessible and easy to use Sort, Filter, etc. functions for Transclusions/References specifically?

Yeah, I recognize it’ll be a while.

That’s what I meant with

So you don’t get a collection, you get another Reference field.

Because the referencing items can be of any type, they can’t be made to conform to the usual collection field structure (since polymorphic relations don’t exist).

No idea yet, sorry.

1 Like

I would like to see a ton of improvements to references, sorry don’t have the energy now to dig up some previous requests, but among ideas I think you can find in my previous posts:

  • group references according to originating entity, and other ways, not just chronologically (you seem to suggest the same)
  • merge with the comments area so you have a true log of updates to an entity as they happen
  • This one I did track down:

it is really useful to see the time of each reference, but if there is more than one from the same entity, you lose the first timestamp.

And interesting your mention of being able to reference views. Maybe I missed a convo in the interim, but we talked about that here:

I continue to really wish there was a way to reference views, as some views for my team in Fibery are very important and can’t really be emulated by creating an entity instead, which would pick up references.

Good post, love to have references being pushed forward!

1 Like

I was actually talking about showing references in Views :grin: I.e. imagine that References were just another Database (type of Entity), and you could create any View (Table, List, etc.) to display them, and they would have Fields to allow you to properly filter, sort, etc., e.g.:

  • Creation/reference date
  • Who created the reference
  • Reference from Entity
  • Referenced (to) entity
  • Etc.

So then you could view one entity’s “inbound” references in a Table, List, etc., or heck, a Timeline! (hey that could be cool?!) Or you could view multiple entity’s references together, right? Maybe there’s value in that! Yes, this is a rather “out of the box” way of looking at it, and maybe the utility is not worth the complexity to implement. But that, along with a similar idea of being able to treat Activity as a “database”, does seem quite interesting to me and to be able to actually address (at least in some way) a large variety of requests here around Activity, References, etc…

In any case I’m glad to be having more conversation around References, and look forward to seeing how they evolve.