Automatically retains the contents of deleted referenced blocks

This feature request is related to Prompt user to confirm deleting block when an existing block reference is linked to the block

I usually start by writing down the projects that need to be completed in the journal, then add the required information and a preliminary outline to the project page, after which I add block references to the project page in the journal page and assign them to tasks, specific days, priorities, etc. After that, add and modify new contents in the project page while completing and adding tasks in the journal page. After the project is completed, a thorough review of the project is required for knowledge reusability. The original contents of the project page are modified and eventually a new structure is formed in that project page.

During this process, some of the old blocks are no longer needed, so they are removed. However, this would cause the tasks assigned in the previous journal page to become meaningless red characters. Therefore I cannot track my progress in completing this project by re-checking the journal page to which the project belongs.

I would therefore expect that if a referenced block is deleted completely, it should be preserved as it was originally supposed to be displayed before it was finally deleted.

I have voted for this feature request as the current way (delete without warning) has to change.

But I am not totally in line with the original poster though. For his workflow the option to make all references preserve the original content of the deleted referenced block I would propose a dialog with 3 options to be shown. I my view those options facilitate more workflows.

  1. Delete block and also delete all references to it.
    In the OP’s scenario this would result in a very strange LATER and then without any referenced text after that. But there are scenario’s where you have a reference as an information block and when not needed anymore you want all references gone. This menu option is triggered when you delete a block.

  2. Delete block and transform all references as static text
    Everywhere where a reference is created the reference is replaced with the current value of the referenced block and then the referenced block is deleted. This is exactly what is needed in the OP’s scenario I think. This menu option is triggered when you delete a block.

  3. Move block to anyother page and keep references intact
    Although it is already possible to move a block by drag-and-drop from one page to another (in the right sidebar) and keeping the reference intact. I would be great if this could be done without the need to open the target page in the right sidebar. When choosen this option you should be able to select another page and block and the the referenced block is moved before or after (option?) the selected block on the selected page. Keeping the referenceID intact so all references keep working. This menu option should be triggered when you CMD-X (cut) a block.

It is clear that the current way (no warning at all) should chance as the risk of unintentionally deleting or cutting a reference is too big currently. But there are more options/scenario’s/workflow then the OP described so I hope those will be taken into account.

Regards,
JeRoen

7 Likes

That’s much better than what I expected!

Case in point ha ha. Now I have no idea what these blocks were :confused:


The best practice for now is probably to check if a block is referred somewhere before deleting it?

2 Likes

That’s exactly what I’m doing for now😃 @nhanjkl