Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Multiple repos #754

Closed
ihdavids opened this issue Nov 21, 2021 · 6 comments
Closed

Multiple repos #754

ihdavids opened this issue Nov 21, 2021 · 6 comments
Labels
question Further information is requested

Comments

@ihdavids
Copy link

Before creating a new issue, please read the "How we work with issues" section in the documentation: https://organice.200ok.ch/documentation.html#how_we_work_with_issues

Describe the solution you'd like
As a person that often works on many different independent projects i would love the ability to work off of and sync from multiple repos simultaneously. IE, my notes for a particular project shouldnt be on certain machines but i want to base my agenda and task lists off the notes from all of the projects.

I am loving organice. The ability to work with my org files on mobile directly from a repo is amazing.

Describe alternatives you've considered
I currebtly have to use different browsers for each organice / repo i want to access. Its cumbersome compared to working with these files in emacs or sublime text (orgextended)

Additional context
These could present as different root level folders?

@chasecaleb
Copy link
Contributor

These could present as different root level folders?

I thought about that while implementing GitLab support, but I stuck with a single repo for the sake of simplicity. I didn't want every single repo owned by (or accessible to) the user to be included because the possibly of accidentally committing to the wrong repo concerns me, e.g. by misclicking something or having a misconfigured capture template. It's probably not as much of a risk as it feels like in my head, but it still makes me nervous due to principle of least privilege. Here's my original reasoning from #734 (comment) :

  • Treating projects as top-level directories: "elegant" and has the advantage of letting users switch between projects without signing out and back in, but I don't think anyone has org files scattered across multiple repos. The potential for accidentally modifying the wrong project (whether due to a bug or user mistake due to e.g. a misconfigured capture template) is a significant concern though, so I think this is a bad idea.

I would be less concerned if the list of repos were configurable, so that way I could configure organice with just my org-files repo while you could configure it with multiple repos. I'm not interested in implementing this myself but I think it would be reasonable to do so. Keep in mind I'm not a maintainer here though so that's just my two cents as the original feature implementer.


By the way, if you use/are willing to use Firefox you should consider their Multi-Account Containers addon. It's an addon that you have to install, but it's by Mozilla so it's safe. It achieves the same thing as using different browsers, effectively. This doesn't give you a combined agenda but at least it's a more convenient alternative to multiple browsers.

@ihdavids
Copy link
Author

It sounds like you would be open to someone else implementing a configurable list of repos though? (And perhaps willing to review?)

This would be super handy for me so i might consider doing it.

@chasecaleb
Copy link
Contributor

It sounds like you would be open to someone else implementing a configurable list of repos though?

Yeah that's fine with me. I think the maintainer, @munen, would be open to this too, but I'll let him speak for himself. If you could explain or create a mockup with your idea(s) on the config UI/UX that would be helpful.

I think something like this could work:

  • Keep the initial "sign in" form the way it is with a text input for a single repo. That way the user will always have exactly one repo after sign in, since that's the common use case.
  • Add a button to the main settings page view, e.g. "GitLab settings". This should only be visible when the GitLab sync backend is in use.
  • On clicking that button, show another view to add/delete/edit repos. Perhaps it could be a series of input fields for each configured repo with a red "X" button to the side to delete each one, plus an "Add" button at the bottom.

That's just what comes to mind quickly, not necessarily the best idea though.

(And perhaps willing to review?)

Sure! Make sure to tag me in the PR so I notice, please.

@tarnung
Copy link
Collaborator

tarnung commented Nov 23, 2021

I mostly agree with what @chasecaleb said.

I also don't have personal use for this feature, but I'm not against having it.
Starting with one backend and then having a seperate "manage backends" page accessed via the main settings page sounds like a sane approach.

I don't think there are any hard blockers. The way the backend settings are stored would need to be adjusted, there would have to be a field on each file in the redux store to indicate the corresponding backend and the sync logic would need to know about that.

Once files from different repos are loaded into organice, they should behave the same way as if they were in the same repo.

One thing to think about is whether there would be a need to indicate which repo a file is from once opened. We currently show the file name at the top of the app (if enabled) and in the breadcrumbs in seach etc. I would not like to have the repo added to the breadcrumbs as they are already crowded for deeply nested headers. Maybe there are other ideas (like having a list of associated files shown in the "manage backends" settings page), maybe it would not even be necessary.

@munen
Copy link
Collaborator

munen commented Nov 27, 2021

@ihdavids Would you like to work on that?

@munen munen added the question Further information is requested label Nov 27, 2021
@munen munen closed this as completed Jun 21, 2022
@munen
Copy link
Collaborator

munen commented Jun 21, 2022

Closing according to contribution guidelines.

Please re-open when you do want to work on that.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
question Further information is requested
Projects
None yet
Development

No branches or pull requests

4 participants