logseq / logseq

A privacy-first, open-source platform for knowledge management and collaboration. Download link: http://github.com/logseq/logseq/releases. roadmap: http://trello.com/b/8txSM12G/roadmap
https://logseq.com
GNU Affero General Public License v3.0
32.72k stars 1.92k forks source link

make the alias could be treated as different pages that user could write different content #4342

Closed XinLi0111 closed 1 year ago

XinLi0111 commented 2 years ago

What happened?

as an alias, whatever its names, all of them refer to the same concept.

But if you make a existed page as an alias for another page, their contents were seperated in two pages.

Reproduce the Bug

  1. create a page [[aPage]], and write some words in it
  2. create another page [[bPage]] and also write something
  3. in [[aPage]], make alias::: bPage
  4. then chick the alias

Expected Behavior

make the act of alias consistent all the time

Screenshots

image image

Desktop Platform Information

win 11, APP 0.6.1

Mobile Platform Information

No response

Additional Context

No response

andelf commented 2 years ago

Normally the rename post-process is handled by rename confirm dialog.🤨

XinLi0111 commented 2 years ago

Normally the rename post-process is handled by rename confirm dialog.🤨

yes, but when I do like this above, no confirm required

cannibalox commented 2 years ago

this is actually a feature, not a bug :

you can read more about the implementation and arguments in this topic: https://discuss.logseq.com/t/improve-implementation-of-aliases/81/8

aliases in logseq do not behave exactly as in obsidian or roam, imo the current implementation is better and covers more use-cases than competing pkms (still, if you want the obsidian aliasing, you can just leave the alias page empty, or manually merge content)

cannibalox commented 2 years ago

@andelf as noted above, I don't think it's a bug and I would not consider automatic merging to be an 'enhancement' but a regression. having separate aliased pages is actually useful for linguistics or foreign languages : you can have a page for [[word]] with english definition, then a page for [[mot]] with french definition, but still make them aliases, so I'm looking for [[words]] will be a linked ref under page [[mot]]

outside of linguistics, this can be used for movies (keepinf specific details for different movies releases like [[blade runner]] [[blade runne: director's cut]], [[blade runner theatrical version]] where each page contains its own specific details while all are aliases), books (different editions), etc....

maybe an configuration seting would be the best alternative ? (option: auto merge aliases - default setting = current behavior)

XinLi0111 commented 2 years ago

this is actually a feature, not a bug :

  • if [[aliaspage]] is empty, all links are redirected to [[sourcepage]]
  • if [[aliaspage]] has a different content from [[sourcepage]],links are displayed as linked refs in the sourcepage

you can read more about the implementation and arguments in this topic: https://discuss.logseq.com/t/improve-implementation-of-aliases/81/8

aliases in logseq do not behave exactly as in obsidian or roam, imo the current implementation is better and covers more use-cases than competing pkms (still, if you want the obsidian aliasing, you can just leave the alias page empty, or manually merge content)

Yes, I agree your opinion. I also like this kind of usage.

But the default alias will not auto-create a new alias page, it could not be treated as a seperate page that I could write different content in different alias. Whichever you choose an alias, it always brings you to the same page. Only when you have two pages and they have their own content, then make them alias, you could get the different alias page.

I proposed this issue only to ensure that the default behavior of alias is consistent.

dongzhenye commented 2 years ago

If you want to write different content in different alias, you can:

  1. Remove the alias in [[sourcePage]]
  2. Add content to [[aliasPage]]
  3. Add alias to [[sourcePage]]
cnrpman commented 1 year ago

I think this is too much for the current data model of Logseq using text-based storage. Feel free to re-open if you are going to contribute code on this.