3.7.1 experimental subfolders

Has anyone had any success enabling the experimental subfolders with iCloud?

I’m having trouble syncing in the app even though I have made changes in my org dir and I’m not sure if it is an issue with the feature or my unfamiliarity with iCloud syncing. I’m used to Dropbox.

One issue is that I can see my the directory “roam”, but there are no files in it.


How did you enable experimental subfolders? Does beorg allow subfolders now? I would be so happy if we could have that feature!


In the latest release of beorg you can enable support for subfolders if you are using WebDAV (also iCloud but a few issues). To do so add the following to your beorg init.org:

(set! sync-subfolders #t)

When you then restart beorg you’ll see a new notes tab (which shows files from a notes directory you can configure on the Settings tab) and the ability to navigate and manage folders on the files tab. You can also refer to the folders in template filenames.

Let me know how you get on!


Hi Mathew,

I am using Dropbox. Got sub folder and Notes tab. Beorg creates new files in the sub folder but does not see them after sync, though the files actually stay in the Dropbox.

Thanks for your help.


At the moment subfolders is only implemented for WebDAV and iCloud. I’m hoping to complete the work on the other sync systems (Dropbox and Box) soon-ish and make generally available in beorg. I’ll be releasing beta builds as and when Dropbox is supported.


Nice feature! I was testing it with org-roam – are the file links supposed to work? As clicking them doesn’t seem to open the linked note (I didn’t yet do much debugging).


If you can provide some examples of files links you’d expect to work that would be great.


Just logged in to make this suggestion, happy to see it’s being worked on!


Can someone help clarify how and when you would use the notes feature? I see it creates a new note file and you have the ability to add sub items. How can I use this to improve productivity? I want to use it — but am just having a bit of trouble wrapping my head around it.

Thanks for any input.


beorg is still some way from being an efficient app to use for note taking, the current feature set is very much geared around task management. The subfolders and note tab is sort-of experimental and I’m happy to take feedback on how people would use this. The notes feature is intended eventually to work along the lines of Org roam - with a separate file for each note and an easy way to link between them. If you currently use Org roam in Emacs then the Notes tab may prove useful.


I just created an account to share my vote on this feature request. Subfolders in Dropbox is the only missing feature for me as unfortunately I have to split my notes between folders (I have around 1500 files). Most of them are notes, and I understand that Beorg is a Task manager, but I use it for two things:

  1. To read my org files (only in the root).

  2. To quickly add something to my inbox, so I can process it later on computer.

I don’t really need any sophisticated note taking system, reading is what I care :) Sure, it would be great to have some basic org-roam support (especially for searching for title, tag or alias), but even without this subfolders would be a killer feature :) I would definitely buy it as a paid extension.

Matthew, please let me know what you are interested in. Maybe I can share some more information to help you out?


Thanks for you input Boris. Do you ever add dates to items in your notes folder and expect them to appear in the agenda? It sounds as though with that number of files there would need to be a feature to turn off examining files when constructing the agenda and scheduling notifications.


Hi Matthew,

Thanks again for the great app. I was initially another great app of yours - Trunk Notes for notes (mostly meeting notes) and for tasks. Later I switched to Beorg, eveloped tones of functions and was happy.

Now, as you asked about the suggestions for the notes features, my wishlist became as infinite as human greed. I understand that it is way too much, however, maybe, at least something makes sense. Here it is:

Thank you so much for the great app again and for your patience. Stay safe.

Sergei


Thanks for adding this to the forum Sergei. I’ve reformatted this for easier reading:

- [ ] Compatibility with tasks: same tag list, same properties, common search
- [ ] Easy conversion: notes to tasks and task to notes
- [ ] Making task from a line in notes (action items from meetings)
- [ ] Tracking of action items
- [ ] Easy cross-references between notes and tasks
- [ ] Easy navigation through notes and tasks (similar to Trunk Notes)
- [ ] Participants lists with capability to track their meetings attendance and action items (maybe that is too much, sorry)
- [ ] Call back from other applications to open specific note or task
- [ ] Capability of html display for notes (similar to the one that is implemented in tasks)
- [ ] Option to use the same customized keyboard (with user defined functions) in tasks and in notes!!!
- [ ] Metadata (created date, modified date and more) for tasks and notes similar to Trunk Notes. (Currently Beorg has a creation date option but when it is on it makes drawers not working. I made a function that automatically puts these data into property drawer if it is not already there or updates it if it already exists when a button is pushed. However, you have to go to notes screen and to push a button on the keyboard and then save the note. Would be nice for that to work automatically when safe button pushed.

Matthew, I am sorry, notifications from this site hit my spam folder and I only checked it now.

 Do you ever add dates to items in your notes folder and expect them to appear in the agenda?

I have Project notes that contain TODOs with or without date, so I can see them in agenda (I have some custom queries). 

 It sounds as though with that number of files there would need to be a feature to turn off examining files when constructing the agenda and scheduling notifications. 

Exactly. For Emacs I did the optimisation where I actually query only files marked as Project. This list is updated on save (and can be built on demand). So I optimise read path during my writes :)


I can’t get this to work properly. I use WebDav, and when I activate subfolders, I don’t see my org files anymore. I tried to create a “notes” folder, and put them there, but they didn’t show up. When I created a new file, it got stored in the “notes” folder. But when I pressed the sync button, it disappeared.

It’s also strange that when I close Beorg and restart, I don’t have a notes tab anymore. And when I restart again, it reappears.

How is this meant to work?


For example beorg should continue to sync with the /org folder inside of which would be a notes folder and other folders (the notes folder name can be changed on the Settings tab).


I haven’t set Beorg to use any extension.

My folder structure is

  - init.org

  - tasks.org

  - notes/

    - 20201231095047-test.org

    - subfolder/

      - test.org

I use WebDav sync, with folder /org

When I disable sufolders in init.org, I get this listing under files tab:

When I tap on notes folder, I get an empty list.

When I enable subfolders in init.org and restart Beorg, I get a “Notes” tab, which is empty. In the Files tab I see only the notes folder. Tapping that folder brings me to an empty list.

All of my tasks from tasks.org are gone.

When I then restart Beorg without changing anyting in init.org, the “Notes” tab disappears, and I see the same as I did when subfolders were disabled. Restarting again (without doing anyting) brings back the Notes tab, and my org files disappear again.


I’ll look to spend some time revisiting this, at the very least to get the basic use case of folders working for WebDAV and iCloud.


My use case (simplified) is the following: I have a notes folder on org-roam that contains subfolders notes/topic, notes/meetingnotes/project and notes/area. I archive by moving files to sub-sub-folders note/projects/archive.

I only put TODOs in area and project files,  so those are the only subfolders that go in the agenda. Today I keep only areaon beorg, so I’m missing some TODOs from project files in beorg, which is not a huge deal. It would be nice to be able to add also project to beorg, but I agree that it would be too slow to put every subfolder under notes in the agenda.

Otherwise, the task management in beorg is perfect for me and does not need to change.

For note-taking, this is what I’m missing, in descending priority:

  1. Edit any file in the subfolders of notes with good outlining functionality (essential)
  2. Find a note by fuzzy match of the #+TITLE or at least file name (essential)
  3. Find a note by full text search of all the file content (very important)
  4. Follow links between notes (important)
  5. Follow links between headings (nice to have)
  6. Favorite files for quick access on mobile (nice to have)

Looking forward for what you come up with, this feature is really needed! Unfortunately I’m on Dropbox so I’ll have to wait a bit to test it out. Thanks for your work.

[]

[]

[]


Hi Matthew,

Apparently, find  tasks “in file” does not work if the file is in the subfolder.  Find tasks works for other item  properties.

Stay safe and thanks,

Sergei


Are you giving it a full relative path for the file or just the file name. For example **f notes/important **or f important?


I tried both. Maybe tried wrong. Let me try again.


Thanks, sorry and never mind. Works!

Thanks!


Is it possible to deactivate subfolders?

I have an org structure with my agenda-related files in the root ~/org directory, then all my misc nonsense (hundreds of files) in /org/reference/. I connected beorg to my Working Copy git repository (/org) and all my files show up as if they are all in one directory. I have (set! sync-subfolders #f) set in my init.org.


Are you using Working Copy synced folder support - or beorg’s “choose folder” sync method?

Potentially you might be best off reinstalling beorg if things have got confused.


I’m using beorg’s choose folder sync method. I have reinstalled both apps, and the behaviour is now very consistent. Beorg always shows all files as if they are in one single directory, and after import, Working Copy shows that all files have been copied into the root directory. If I revert that change, beorg still shows all files, regardless of their directory. If I make edits in beorg, the file is duplicated into the root directory in Working Copy. This behaviour seems completely stable, I am able to reproduce it with different repos in Working Copy, and across reinstalls.


I’m using beorg, and it’s great! I’m also using org-roam as others mention, and I’ve turned on “sync-subfolders”. While turning on this option has enabled the ability to set a “notes” folder, and view directories within the “Files” view, it does not appear to be actually syncing the contents of the subfolders.

I’m using iCloud for the syncing mechanism. In order to get files to show in subfolders, I must go to the “Files” app on my phone, and manually download each file. Once this has been done, they appear & properly get synchronized with updates.

I just wanted to report this behavior in case it was useful as you continue to develop this feature.

Thanks,

Corey


Hi. I’m wondering what the status is on the subfolders feature. I’m on that latest iOS release, using iCloud, and I think my init.org has the correct code (set! sync-subfolders #t). But, I see neither subfolders nor a notes tab. Is there some other configuration I need to set up? Thanks!


Make sure (set! sync-subfolders #t) is in an org source block.


Is this an all or nothing feature it is it possible to sync some but not all folders?


This is currently an all of nothing feature. I’m currently doing some work on allowing beorg to work much more effectively with potentially large numbers of files, at that point I’ll look to allow folders to be excluded from the sync - and hopefully enable subfolder support for the remaining sync methods and have turned on by default. One thing to bear in mind is that beorg only syncs org files, so even if there are other folders in the tree unless they contain org files they shouldn’t get synced - so don’t worry about beorg potentially syncing other (potentially large) files.


Mathew, is this feature available for dropbox? I’m keen to get it working ‘cause my daily notes/agenda are in a subfolder as well.


I suppose I should’ve clarified. I tried (set! sync-subfolders #t) in my init.org, but I still don’t see any folders using dropbox sync.


Yes, this feature can be enabled for Dropbox using the init.org. I’m hoping soon to return to looking at how subfolders work so this can be more easily enabled.


Sorry - just seen your other post which was in an approval queue. Make sure you’ve restarted beorg after adding that line, and that it is in a source block. Check out https://beorg.app/learning/initorg/ for more details on the init.org file.


Got it,

Looks like I named it init.org.org accidentally :)

Working now, thanks Matthew!


It looks like the experimental option isn’t enabled for the folder sync (Working Copy) yet. Does the folder sync method expose subfolders so it can be enabled at some point?


Not yet. I really need to get back to the subfolders support, introduce to all sync methods and then have it turned on by default.


I have my notes files in folder “Org Roam” on iCloud. I added a new file init.org containing the following text:

#+begin_src scheme

(set! sync-subfolders #t)

#+end_src

I unlinked and linked the folder in the BeOrg app. But I do not see the subfolder files or tasks. Restarting the app does not help either.

Appreciate any help in making this work.


Unable to get this to work on iCloud. I am using the choose folder sync method and added init.org with the following text:

#+begin_src scheme (set! sync-subfolders #t) #+end_src


After adding this to your init.org make sure you restart beorg (i.e. kill from the app switcher and the run again). Hopefully that will resolve the issue.


Thank you, I did kill the app and restart. But I’m unable to see my note sub folders or files inside them. The additional notes tab has appeared.


@ashish when you created into.org did you type in “init.org” in the filename dialog box? If so, the “.org” extension is already added when you create a file. So it’s possible the file has a doubled .org extension.

An easy way to check is by selecting “Files” at the bottom toolbar. Your files should just be names and not have the .org extension showed. Example in attached screenshot.


@Matt the file name in my setup is init.org (screenshot attached)


@ashish Doh! I was hoping that would be your easy-fix problem.

Just confirming you have the following in your init.org?

 

#+begin_src scheme
  (set! sync-subfolders #t)
#+end_src

@ashish That might be your problem. The source code block cannot be all on one line. Try:

 

#+begin_src scheme
  (set! sync-subfolders #t)
#+end_src

I added two spaces now. Folders still not visible


I wonder if the sync icon on top right means anything?


@Matt, I played around with this a bit more:

  1. I copied my notes folder on the iPhone. The result was the same. I can see the new notes tab, and files from the main notes folder. Sub folders and the notes therein are not visible.

  2. I copied my notes to the berg folder on iCloud. Upon restarting the app, the sub folders magically appeared!

I hope there can be a way to run this on my original notes folder on iCloud.


@ashish sorry for the delay getting back to you. Where are your notes stored? In the “notes” or “roam” directory? You can change which directory to store your notes from beorg in the settings menu in the “Notes folder” text box.


No worries @Matt, and thank you for your further follow up My notes are stored in roam folder on iCloud. I can change the folder (using iCloud sync method) but the folder has to be inside the beorg app folder. For this reason, I was initially using the Choose Folder sync method


Hey folks, any luck with subfolder support for iCloud? I can’t seem to get my daily folder to sync.

I used the “Choose folder” method, and pointed it at a shared iCloud directory. The contents are syncing (in the root directory), but not the subfolders.

Any ideas?


Subfolders aren’t currently supported on the “choose folder” method. This is something I hope to rectify in the near future as I’ve been working on better support for Org roam.


Got it. Which sync methods currently support subfolders?


There is a beorg update out today which extends subfolder support to the “choose folder” sync method. So now subfolders are supported on all sync methods except for Box. The new update, 3.15.0, will be rolling out over the next 7 days - or you can manually install via the updates section in the App Store app.


Hey Matthew, I upgraded to 3.15.0 but no luck with subfolders yet. I see a single subfolder (it was there previously) but it’s empty. I “unlink"ed and relinked with no changes. Is there something else I can try short of deleting/reinstall the app?

Thank you

Dmitry


Hi Matthew,

‘Choose Folder’ subfolders is not working for me either, with 3.15.0 IOS 15.5 and a Premium Annual Subscription. My Init.org in the root contains:

#+begin_src scheme (set! sync-subfolders #t) #+end_src

Subfolders work with iCloud. I have an elaborate workaround using iCloud local syncing with a local Working Copy folder that syncs to gitlab branch successfully, but wanting to simplify instead of if having to sync every commit twice.

Many thanks for a great app

My Init.org is attached


Hi Matthew,

I have also clicked Debug - Reset Database, and I have tried deleting and reinstalling app and restoring purchases, but subfolders still do not appear for the ‘choose folder’ option in 3.15.0. ICloud sync subfolders working.


Thank you for reporting this issue. I’ve tracked down the problem and it is a beorg issue rather than anything with your configuration. I hope to get a fix out in the next couple of days for this.


Hi Matthew, I have been running into timeout issues when trying to sync files using Dropbox. I have a fairly deep directory structure with some large, non-org files inside. The error I’m getting is “Sync could not be completed. [LFC] There seems to be an issue with your Internet connection. Check that you are online.: The request timed out.”

When I set the root directory for the sync to a shallow directory without large files, it completes with no issue.  My guess is that the app is trying to download a larger file and timing out. Do you think it’d be possible to extend the amount of time the app waits before timing out? 

I’m using version 3.16.0. Thanks!


Hello

Thank you for this feedback. My guess here is that the issue relates to how Dropbox handles getting directory listings - it does this in batches, so you need to call the API after each batch for the next set of files. beorg itself doesn’t timeout the requests, however potentially the Dropbox SDK is.

It would be interesting to see what is being logged by beorg when attempting to sync. To get this information see https://beorg.app/support/debug/. We can then see whether my hypothesis is correct.

Kind Regards

Matthew


Hi Matthew and thanks for the quick response. I’ve attached the log below.


Thanks Richard for providing the log. My understanding is that Dropbox supports internal (that is in Dropbox to other folders within Dropbox) symbolic links. Do you by any chance have any of those that potentially might be confusing beorg? (It is odd in your log that the first request made to Dropbox takes a while, but then the subsequent ones return quite quickly.) I’m updating the Dropbox debug so that it includes the number of files/folders returned with each response from Dropbox which may help further diagnose this.


Sounds like this could be the culprit. I’m away from my personal machine at the moment but will check and get back to you early next week with this info.


I was just able to recursively search my Dropbox folder for symlinks with ls** -lR ~/Dropbox/org | grep ^l** and nothing was returned, so I don’t think this is the problem. Once the debug output is updated I’d be happy to run this again and re-send the logs. In the meantime I may try copying the entire directory sans large files and trying to sync that to see if it works.


Matthew,

You mention that beorg is some way from being a note taking app.  Would it make sense to recommend one (or more) iPhone note taking apps that save files in the cloud and then provide an add-on program that picks up those files, fixes them up for (Be)org , and copies them into the beorg sync folder?


The issue here would be that people would expect syncing between beorg and the other app - which may be tricky. I personally add some notes to beorg, or more commonly use Tot and then create notes I want to keep when back in Emacs. I’m not currently therefore particularly familiar with current plain text note taking apps which could be feasibly used as you’ve described.

It would be interesting to here what people use for notes, who are also keen on ensuring they are kept in plain text - and would maybe prefer to use beorg eventually.

beorg does now have a database which it caches information from the org files it manages. My hope is to migrate those parts of beorg which currently query the files directly to use the database. At this point it becomes much more feasible to position beorg as a note taking app which can comfortably manage thousands of small files each of which contains a single note - with support for easy linking between them.


It would be also absolutely grate to have easy links between notes and tasks….


Are subfolders working with git (Working Copy/Sync folder)? I’d like to try out that feature but I am using git and I am quite happy with a workflow that automatically pulls or commits/pushes when I open or close beorg


I have had reports from many people that this works fine. I’ve done some testing myself with this setup and not see any issues.


Confirming that it works here. Successfully able to use shortcuts that activate a-shell to push/pull a git repository when opening or closing either logseq or beorg. Logseq can look in its application folder for the pushed/pulled repo, and beorg can look in that folder too. Desktop emacs can run off its own copy and hook to push/pull from the repo as well, and all lines up.

Download now for iPhone and iPad

Follow us on Mastodon and Bluesky

Privacy Policy | Press Kit