Folder structure is needed to create a content manager in Logseq
The folder.md should list also inside files (at least first child)
Folder structure is needed to create a content manager in Logseq
The folder.md should list also inside files (at least first child)
I discovered that I can move .md files in subfolders in /pages or other subfolders of the graph. Logseq use them like they are in the same folder.
So the folder structure in the file system adds another hierarchy that is independent from the others and Logseq is not aware of it.
For me this is another degree of freedom, I like it.
But I would like if Logseq let me choose in which folder a new page is created when I click āNew Pageā.
And I would also like a full-featured file manager instead of āAll Pagesā section, where I could move, rename etc the files.
See also Support subdirs for namespace hierarchy - I tried to simplify and clarify this feature request down to just āsupport subdirs as namespacesā.
Yes. Our vision is to separate namespace structure from the limited tree structure of file system.
Namespace is for concept disambiguation. Creating sub-dir by default would imply that every page should have a namespace (sub-dir), which violates our design.
Besides, the namespace file naming is going to be changed in Feat: new file name escaping rules by cnrpman Ā· Pull Request #6134 Ā· logseq/logseq Ā· GitHub
@Gary_O title::
property is providing a āmanualā way to manipulate the namespace structure
Our vision is to separate namespace structure from the limited tree structure of file system.
Iām utterly glad to hear that!
I think that if we could have flexible hierarchies like Dendron that support Dendron-style tree-refactoring, that would be UH-MA-ZING!!!
I hope at some point we will have a way to browse āvirtual file systemsā by specify the criteria for creating the hierarchy, for example:
{{hierarchy <property-A> <property-B> ... }}
so that
{{hierarchy year author}}
would be rendered as
- [[2022]]
- [[Alice]]
- blocks with year:: 2022 and author:: Alice as properties
- ...
- [[Bob]]
- ...
- [[2021]]
- [[Alice]]
- ...
- [[Bob]]
- ...
@Junyi_Du There are all kinds of idiosyncrasies of different OS/Filesystem combinations. Many programs have problems handling all path variations and might crash, fail in obscure ways, silently ignore files, or just slow down tremendously due to O(nĀ²) runtime issues.
Unfortunately I am no expert on this, but I would strongly suggest to check with one and find a well-defined path spec that is guaranteed to work everywhere.
Any flat storage folder will very quickly lead to problems with too many files. On the Zotero forum, people are discussing libraries with more than 100k items.
One of the strength of Logseq is integration with other programs, and integrity of its storage should be the first priority. This includes making sure that Logseq doesnāt create folders with too many items.
Directory structure can still be adapted manually. But the hierarchy is ignored in the page title.
Binding namespace hierarchy to the file structure is not a good way to resolve the File System performance issue you mentioned. Instead, it make decoupling File System implementation with the abstract page structure impossible.
I agree with you, I wasnāt suggesting to bind namespace hierarchy to the file structure. This is the right decision.
My concern is that some strange filepath issues might lead to eventual inconsistencies (e.g. I had issues in Python, because of a difference how the standard library interprets file paths differently than Windows).
The second worry is that folders might have too many files, e.g. if someone reasonably imports a Zotero library with 10k items and 10k tags we suddenly have 20k files in a single folder. Theoretically this is only an issue with FAT32 (memory sticks), but many programs struggle with folders that have more than a few thousand items. Networked folders could also be an issue.
Dealing with filepath on multiple OS is inevitable for plain txt storage, even without the current namespace design. There are tons of reserved characters / FS API special handling across different platforms.
I can understand the concern. Some shard design could be adopted when it hits the performance ceiling since the FS is decoupled
Great! You already thought about the issue. Just wanted to make sure it doesnāt get overlooked. Thanks!
Iām not sure if this has moved to triage by developers as itās own feature or part of a different one, perhaps the tag approach for polyhierarchy mentioned in @gaxās feature request, link removed from quote as Iām new
Is there a more active topic where I can find more updated information/discussion on how others are using namespaces in their current state to meet flexible polyhierarchy needs by @alex0ās āvirtual filetreeā and how an eventual feature may appear?
I know thereās some continued discussion on meeting some of the needs of generic structure via queries on this discussion
Welcome. Namespaces in their current state cannot provide flexible polyhierarchies (and I doubt they will ever do). Consider following Generate explicit hierarchy out of properties
@Throwback6873 what Mentaloid said and check also Favourites tree and Hierarchy jump plugins. They let you extend the namespace hierarchy using a property, enabling polyhierarchies.
Would you mind elaborating as to whatās too limited about a file tree structure?
More to why Iām asking:
I get that filenames including emojiās or other non-ascii characters (allthough utf-8 being quite widely supported these days) can be problematic, but that doesnāt seem to outweigh the advantage of being able to have the knowledge base structured on the fs level. I fail to understand I even have to explain the advantages, I guess Iām not young anymore. Iāve switched from Obsidian to logseq because itās open source, but Iām really considering to go back since this whole namespace thing hinders the consumption of the content as youāre seeing the same information over and over again. Eg. in a technical documentation Iām describing how various behaviors have their effects on code and enforce clean separation of concerns, seeing the word Behavior highlighted inside a single page over 20 times because itās the namespace parent of eg. Timestampable, just gives me headaches after a while. I want to use the logseq namespacing stragegy but it just ignores my carefully organized and git tracked collection of content.
Meanwhile Iāve seen how extensible logseq really is as there is already a git repo out there that addresses this and other tweaks very nicely, but if the logseq team insists on this feature being an external project instead of taking advantage of the fs without very good reasons - Iāve seen none so far - makes me kind of doubt if I should keep using it.
I like to read markdown / copy paste it with formatting into eg. an email, from for instance Gitlab or other web-based platforms providing markdown parsing (including mermaid) but with the current namespace implementation this is a pain as I have to manually update all [[]]
links to traditional style markdown link syntax . The fact that Obsidian does this out of the box, automatically recognizing nested files whilst maintaining a title-only rendering and usage, blew my mind and got me really motivated to continue writing documentation about complex topics. Seeing the graph grow seemingly out of nothing is a great motivational factor for me.
Call me old or stupid, I donāt care, but as a markdown lover, working with logseq namespaces has become a serious downer for me: it gets me out of my writing flow as itās just distracting and objectively harder to read over the repeated highlighted parent namespaces, doesnāt reflect any structure in any other markdown viewer, refuses to place new documents into folders that already exist on the fs, creates these weird looking filenames with double __
, just to name a fewā¦ This has become a real vendor lock-in and I oppose that wholeheartedly.
This very topic already contains great arguments as to why this decision of the team is hard to defend, so Iām really curious to how your vision came to fruition. I hope I can be enlightened instead of becoming more and more disappointed as hierarchy means a lot to me and carefully crafted directory structures are a thing, just look at how your average software project is structuredā¦
Iām obviously not talking about repositories with 10k files etc as Iām mostly using this for personal or private topics. If I ever have to deal with that kind of large amounts of data I sure hope I have a better tool than an āalways deprecatedā electron app anyways. I strongly believe the focus should remain on Markdown, the content and the act of writing. Reinventing a well established concept like hierarchy really brings more pain than gain at this pointā¦
Look, if there were technical reasons preventing this from already being a built-in feature of logseq, Iād be more than happy to wait, but if the team has already decided that this will never be a thing, youāve lost a once enthousiastic user. I was about to launch logseq as the next documentation tool for a large governmental institution, but as long as filesystem based hierarchy is simply ingored and discared by logseq, I wonāt as Iāll just be grilled by all the old-skool technicians I have to deal with.
I really hope the team can change their vision on this topic and I will definitely reconsider as soon as I see even a roadmap mentioning this
I have to admit: I kind of overlooked this topic:
still reading on
Welcome.
Hi @mentaloid,
thank you for sharing this condensed summary of what the thought process of the decision to ignore fs hierarchy consists of. Are you a member of the team?
Since I am counting on neatly organized markdown files in a sensible and readable way - even when reading in less
- I guess logseq will never be the right tool for me thenā¦ I really gave it a good try, but when I noticed I had a complete mess of a folder after applying namespaces to my documents (eg. all my Behavior documentation now moved to /Application/Behaviors/Application__Behaviors__Timestampable.md
I just reverted everything with git and removed logseq from my system completely as this is just a waste of time and effort at this point. I need multiple levels of namespacing as Iām documenting various complex topics and I just canāt / wonāt keep all these files in a flat folder structure or with a naming scheme like that.
Please allow me to rant a bit now ( ahead!): you seem to be excited about a coming database version? So not only a slow and deprecated electron app, but now with SQL support? Thatās even funny at this point, glad I removed logseq before I ever have to witness that or got used to working around the aforementioned issues by becoming dependent on third-party plugins that might break with every update. āSchoenmaker, blijf bij uw leestā is a saying that goes around hereā¦ By now I really hope you are NOT a part of the team and I donāt even care anymore to look it up myself. I tried to love logseq, but āgood riddensā at this point, āFREEDOM again ā āno more permittedInsecurePackages
ā
Thank you for confirming that you have been a victim of namespaces long before messing with their beta implementation in Logseq. I feel sorry that you have to go through such madness in your job. Experts with your qualifications would have built the perfect knowledge system all by themselves (and in FAT16), they wouldnāt be wasting their time building strawmen. The worse type of slavery is the one to own emotions. Please continue your quest elsewhere.
Youāre welcome, thank you too for sharing your position, I do enjoy debate a lot.
Your words on emotions and being enslaved to them explain a lot: for me emotions have always been and will be forever an almost infinite source of energy when used wiselyā¦ for the record: I love my life and job and what I do even more with every day I can learn and share more, too bad logseq will never be part of it, it had my vote due to it being open sourceā¦
See also my kind of similar question here: