Functional logic for relations, blocks and objects

I will explain this the best I can, although I am not extremely knowledgeable about the specific ins & outs of coding. I believe this context may be similar to APl capabilities, but I think there could be a more user-friendly approach for people that don’t understand the backend capabilities of application communications. Plus I think the uses of this feature are more for within Anytype, rather than my understanding of APIs are that they’re cross-platform/application.

I had a quick browse but am not sure if this is something that is on the road map or has already been put forward, I do believe it is something that could help Anytype for how I have heard Zhanna talk about the end goals of Anytype and its potential uses.

I would also like to get feedback on this as it’s something I believe can be grown to a much better-executed idea and use case than how I describe here. If something also doesn’t make sense or isn’t clear, let me know and I can explain it in a different way. :slight_smile:

Is your feature request related to a problem? Please describe.

There can be many scenarios as use cases but a few are:

  1. Having a task(object) in a database and wanting to change its status (relation tag) from one status to another based upon how the progress or status of another object is.

For example, say you had a project that had many tasks within it and you set the status of the min project to paused, you would then have to set every other tasks status that is related to that main project to paused as well. which would be very long and time-consuming depending on how many tasks and different types of tasks were in that project.

  1. A cause and effect in a more creative context.
    For example, let me set the scene. You have a project that has an overall price budget, like a film production or any form of project or venture. That budget is listed on the main object of the project/production in a specific block. You want to keep track of all the task costs within each task taken away from the overall budget leaving you with an up-to-date figure for what’s left.

Upon creating each new task with a specific Tag/relation to the original main project/production object, causes a change to be made or an additional block to be added to the main project/production object that shows the update in budget with the new task listed. Each task would have one custom layout/template that has a budget box/text which could be used as the identifier to connect the functional logic to the main project/production budget on the main object.

Describe the solution you’d like

Simply put it’s using a flow chart / functional logic system like in many coding programs or no-code applications, as well as others, where it uses ‘If, but, and when’ statement equations along with custom modules that do certain things like switches (see the image below), to control elements within Anytype, like objects, relations, or the position (hierarchy), addition or amendment of blocks within the layout of an object or creation of one.

Additional context
Add any other context or screenshots about the feature request here.


2 Likes

This is something I hope to be able to do in Anytype in the future as well. But couldn’t this be achieved with a sophisticated formula implementation within Anytype so each page can not only modify the value of it’s own relations, but also the relations of its linked pages thereby creating the cause and effect across the entire link?

Exactly that!! only my view was achieving this with a user-friendly, easy UX/UI design that anyone can use rather than complex formulas that not everyone can remember the different individual elements to make up the formulas with. but the idea, you have it exactly at that. there would be so many possible uses, especially with implementing it with the new feature updates.

1 Like

I did create one for formulas but having an option to perform them visually would indeed be great :grinning_face_with_smiling_eyes:

1 Like