Apply Template to an Existing Object

thanks a lot for the answer. Can you please provide more details on your solution? in the end, when I editing any object from the same type, I need to have the same structure of relations.

Well, it depends on how exactly are you using templates (a few screenshot of them could help). If you are using templates to create a layout inside the object, then that’s something that sets or anything else can’t fully replace.

But if you just need to have the same relations for each object of a type, then you can just use a Set to add, and these.

If you are ever unhappy with any of these relations, you easily remove them from the set (they wouldn’t be deleted from the objects though), or add new ones. The layout can also be easily changed and swapped around.

thanks. but I have 1 object type with around 25 properties. And it grows. Set view will be not so convenient to have all of them :slight_smile: But I got your point. As a temporary solution - it can works :slight_smile: thanks.

Oh, woah. That’s a lot… Can you share how and for what exactly are you using this object type? I’m really interested now. :sweat_smile:

Sure :slight_smile:
I manage a big list of web domains (just don’t ask why :slight_smile: )
And we have a list of properties that we need to remember, like:
• date of purchase
• date of release
• renewal date
• next content update date
• client name (relation to another object type)
Additionally, some SEO-specific fields like:
• first indexing date
• adding to Google Tag
• adding to Google Console
• content plan (link to another object type)
etc., etc., etc. :slight_smile: Sorry, I can’t provide the full list :wink:
But this database helps me to stay on track, not miss anything that was done and should be done.

I’m using Notion for my project, and it’s basically doing a great job of handling all this data. But… local-first and end-to-end encryption – this is what I really miss a lot :slight_smile:

25! That’s a lot.

I also have this feeling of inconvenience with around 12-15 relations… I had to create at least 2-3 views for my input/resource objects. Still, with multiple views, I need to ignore box overflowing, since my object-supported relation has multiple objects…
Core, Related, Type, Importance, Nature, Repetition, Impact to me, Performer/Author, Source (URL), Source (Object), Contribution, Date/Time, Done etc.

The smaller the screen size, the greater the pain… on a laptop, it is not possible to work with set without scrolling while using another window or application. That means I will need to make at least 6 views (with 2/3 relations maximum per view).

Applying template to existing object would not be enough to resolving this. :cry: Maybe something like paging through set/collection or full screen relation pane (no display of canvas) with reduced clutter

Maybe something like this:

totally agree with agree.
I think, what we are missing - not the adding templates to existing objects. But to have something like Objet Type Views. For every Type ability to create 1 or more different Views. And every Objects must be linked to specific view. This way we can split “data” and “view” in 2 separate places. And object by itself can store only the “data” part. Something similar to MVC/MVP (Model-View-Presenter) way :slight_smile:

Maybe something like this:

:slight_smile: :slight_smile:

Is your feature request related to a problem? Please describe.
I have created myself an Object type for Persons / Freinds / etc and have already created some Objects, i.e. persons that i know. Now i also want to create an Object type “family” to link to every person.

Describe the solution you’d like
All fine and well, but now that i have added the relation, i dont want to add the line with family: for every object. I think it could be helpful if there would be a button to reset the layout of an object to one of its types templates, and if possible even keep the entries i’ve made bevore (say i already added a phone number in the “phone number” relation of my object, i want to keep that and just shift according to the new template). I’ve had that issue several times already, this one is just an example

Describe alternatives you’ve considered
Then also nice would probably be to be able to reset all objects of an type to a template or even be able to select the objects you want to be reset from an type’s list. that would be great!

Applying template to existing objects is quite tricky

Hi, could you please give a link to the source file on github where I can see the logic trickiness, so maybe I could help somehow?

I signed up for an account to add my interest in this. The most cumbersome part of my use of the software is in the setup. If I need to add a relation to a template I manually have to go through all object using it, update the template and once I update the new relations with a value, it erases the fields that were filled in from the last template. This seems to have been discussed for years, is there any update on a better system around templates?

It seems to me that there is a confusion in this thread of two concepts: Layout and Template. When people give examples of how properties work in Tana/Capacities/Notion, they really imply layout, not template. I am an advanced user of Notion and currently actively migrating my workflows to AnyType. I am not a user of Tana/Capacities, but the examples above really talk about layout.

At first glance I like that you allow to include relationship in the contents of the object, although I am not sure if this is really useful :slight_smile: — need to try. Notion does not allow this. But Notion includes all properties (relationships) in the page layout! So it is a big flaw that AnyType does not include all relationships in the layout — like Notion. Notion always includes all properties in the layout and user can adjust the layout per property (hide the property always or when-empty, customize it to be as a section or in a minimal form etc.). Please look how does this work in Notion databases as it is really nice. And if one changes the layout for one object in the Notion database, it immediately applies to all objects in the database.

It would be nice if you allowed multiple layouts per object type. This would be more powerful than in Notion. But as a first step if you at least matched the Notion capabilities — it would be cool. Based on someone’s examples above — similarly work supertags or whatever in Capacities/Tana.

So please improve the Layout. Notion allows to customize layout per database! You could do it per object type. Or allow multiple custom layouts per object type. You could make it even better by allowing customized fields not just on top but also on bottom or left/right side of the editor, etc. A floating layout for small fields would be also cool.

When we talk about templates. It is very difficult to design any system of how to resolve conflicts when applying a template to object contents. But I would ask for an ability to reset template of an object erasing all existing contents and replacing by a fresh template. But do not change any relationship values, only reset the contents of the editor. And if a template sets relationships as part of the contents — then reset only these ones. This seems relatively straightforward.

Exactly the opposite opinion!
This is one of the things that keeps me from doing things in Notion while waiting to do them in Anytype, because Notion doesn’t allow that.
Anytype also has relations in the layout, via featured relation.
But here, Notion like Anytype lacks the option to customize this. (display title or not, coloring, one per line or several per line,…)

image

But when we can put theses relations where we want in our object…


Here, I don’t need to edit the page : these are all relationships! (excluding image, because image relation can’t be displayed large, too bad (pleaaase, AT team :wink:)).

Not sure to understand.
Notion has layout for database → same for AT, same name
Notion has options for page (small text, full width) → same for AT in “layout” term
Notion has template → same for AT, same name
image
image

And here, at least for me, it’s really the template that I want to upgrade.
I want to be able to modify my template (for example, if I want to add an “opinion of friends” relation to all my pages, or simply delete something, or change the color of something,…) and have all my pages automatically have this addition.
And then it would be magic: my pages are up to date and I can edit this field directly via a grid view. Fast, efficient and visually pleasing.

Anytype also has relations in the layout, via featured relation.

Unfortunately if I make a relation featured, it is only per object, not even per type :frowning:

Notion provides a lot of customization for display of relationships (properties) in object layout. Like “As property”, “As page section”, “Minimal”. Can AT make even better with floating layout, colors etc? Of course this would be great. But as a first step AT could at least match Notion.

Making relationships part of template is nice, but it has a huge drawback: it is impossible to change template of an existing object (technically very difficult task even to define). At the same time it is straightforward to change the layout of an object. This is why I call this confusion. Making relationships part of object contents/template seems an overengineering and now it disables a crucial feature.

I also hear the request for super customization of layout. There is a lot of what could be done here. Layout could be really defined similar to template or using some markup language like:

{{ title (color=red) }}
{{ tasks as Grid (grouped by Tag) }}
-------------------------
{{ description }}
...

But do not confuse this with template. Because template defines the document contents (rich text), which can be edited by the user in any unstructured way which would break the layout.

Basically if layout editor was really powerful (like in your examples where you call it “template”), then editable object contents would be not needed at all. All object contents would be defined through relations, which should also support RichText relation type and all embeds. Templates could be defined per relation rather than per object type. They would make big sense for RichText relations. Then a master layout would perfectly output all relations in a powerful way that can be changed at any time after object creation.

Also, there might be confusion in terminology because layout and template are very ambiguous concepts having different meaning in different contexts. I tried to follow the terminology of AT. Generally we all have same goal — customize layout of existing objects. Some people wish it to be more powerful than in Notion (me too). But let’s start with a baseline like in Notion. Because now AT does not support layout customization at all :(, which seems to block a lot of customers.

This is a long thread going on many years now but I want to chime in that this is a key feature AnyType needs. I read over most of the content in this thread and I understand where the complexity comes in. But for a lot of people the use case is just adding new relations to objects when the template is updated, which has no complexity whatsoever.

For example: I create an object called Person and add various relations (“properties” in everyday English). I create many instances of Person for the people I know. Later, I want to add another relation for “Height”. I edit the relevant template I’m using, and add this new relation.

Current state: none of the past instances of ‘Person’ are updated.
Desired state: all the past instances of ‘Person’ using the updated template should have the new relation added (and starred if it is so in the template).

It strikes me that there is no complexity or potential conflict with this operation. If there is can someone explain how?

There also doesn’t seem to be much complexity with removing a relation. You could simply ask users if they want to update all previously made instances of the object, warning them that data (the information stored in those now-removed relation) will be lost and let me choose whether they want to go forward with it or not.

How do the devs feel about implementing such a thing? I think that would help a lot of people who posted in this thread.

There is two path here:

  1. Updating ‘side panel’ relations in the templates. This would indeed very easy to do as you demonstrated.
  2. Updating the blocks in the templates. And THIS could create a lot of conflict I guess. But I hope they will find a way to implement this.

To be honest, all I would really need is to shift the current content of an object below the content required by the newly applied template (e.i., insert the templated content at the top of the object). I can do all the rest (moving the previous content to where I want it in the object) manually. This would greatly simplify the current workflow of creating an empty new object, copying the templated content, pasting it into the existing object, removing the new empty object, and finally moving the previous content in the existing object to the pasted new templated content.

Indeed, easiest way to implement this! I hope they will consider this.