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

Priority is broken as of last release #586

Closed
ScottKillen opened this issue Jun 14, 2023 · 21 comments
Closed

Priority is broken as of last release #586

ScottKillen opened this issue Jun 14, 2023 · 21 comments
Assignees
Labels
kind/feature New feature request lifecycle/backlog Issues that are ready to be worked on. triage/confirmed Issue is well-defined and understood. Needs to have a priority/* label.
Milestone

Comments

@ScottKillen
Copy link

What happened?

The priority field no longer works and no longer appears in the settings a project

What did you expect to happen?

I expected things to work they way they always have

How can we reproduce it (as minimally and precisely as possible)?

Try to set a priority field on a project. You can't

Anything else we need to know?

No response

Plugin version

1.16.0

Obsidian version

1.3.5

OS

Windows

@ScottKillen ScottKillen added kind/bug Something isn't working needs-triage Issue needs a triage/* label labels Jun 14, 2023
@marcusolsson
Copy link
Owner

This is a breaking change. You can read more here: #584

@ScottKillen
Copy link
Author

Ahh. I know this was hard.

I really liked that the plugin automagically changed the priority when I dragged projects into a different order. It was one of the things that pushed this plugin above Kanban in my mind...

I will have to change my workflow a bit (😬), but I really love this plugin, and I appreciate your efforts. (I also know you make this available out of the goodness of your heart, and I am grateful. (❤️😀))

@ScottKillen
Copy link
Author

.

@ScottKillen ScottKillen closed this as not planned Won't fix, can't repro, duplicate, stale Jun 15, 2023
@marcusolsson
Copy link
Owner

I totally understand.

UX-wise, the Board view has been the trickiest since I launched the plugin, and I hope that simplifying it will make it easier to maintain down the road.

Ultimately, it's not my intention to innovate on individual views, but to provide a smooth integration between them.

I truly appreciate you being understanding ❤️ Once you've had a chance to adjust your workflow, I'd love to hear how you think we can build on this 🙏

@ScottKillen
Copy link
Author

ScottKillen commented Jun 16, 2023

@marcusolsson Thank you. I will certainly participate more with feedback.

A few observations about the state of the plugin now:

  1. You can still drag items into a different order within columns. This used to change the priority and was helpful; however, now, when you drag items into a different order, the plugin just resorts them. This can be confusing and maybe a way to further simplify. (TLDR: Do we need the ability to drag within a column if it doesn't do anything?
  2. Unless you add a color (or include the priority field), there is no way to know if an item has the same priority as another item--before the plugin managed priority such that no item had the same priority as another.
  3. With the above, styling has become more important, but three things make this difficult:
    1. The plugin does not expose data such as priority in the emitted HTML (like the tasks plugin does, for example)
    2. The plugin only exposed svelte classes.
    3. The color styling is emitted as a style attribute in the HTML, rather than kept in a separate CSS the way many other plugins provide.
  4. If the style information were in a separate CSS, plugins like Style Settings could be very easily integrated (in fact, you might even be able to simplify the color styling by requiring Style Settings--which is already required by many mainstream themes)
  5. The plugins ability to edit metadata of notes in the project is not well documented--but it is now needed to edit priority.
  6. If you were to add a file context menu so that the plugin could edit the meta data of any note, it would eliminate the need for another plugin I use (MetaEdit) that cannot be used within the project view and unify the interface (Or likewise if you would add the file context menu to notes within the project, I could use that plugin to edit meta data within a project.) In truth, I like your meta data editor better.

I hope that some of this is useful--of course, all of this is my opinion from my point of view and thus I understand it may not apply to your vision of the plugin.

I came to Projects from Kanban because, while Kanban is easier to style, IMO Projects is better precisely because it edits the metadata based on dragging into a new column.

I hope at least some of this is valuable.

@marcusolsson
Copy link
Owner

marcusolsson commented Jun 16, 2023

This is fantastic feedback! 🙏

  1. I agree that it's a bit confusing since it seems like you could reorder them. I'll see if I can sort the cards while you're still dragging. Though it might be confusing to have the cards "pop" away from the cursor. Will experiment.
  2. Will have to think about this one.
  3. This is a bigger effort that I've delayed a bit since it would require me to commit to style names to avoid messing up people CSS snippets. Though the layout and design has been stable for a while now, so maybe it's time to revisit this.
  4. See 3.
  5. What is it that you feel isn't documented? Ideally, I'd like to focus on making the UI as self-explaining as possible, before resorting to writing documentation for it.
  6. This sounds interesting. Would you care to create a separate feature request for this, and maybe share some more details (I haven't used MetaEdit myself).

Actually, you gave me an idea that would let us reintroduce it in a possibly more understandable way that would cater to both regular and advanced users:

If the user hasn't configured any sorting criteria, the plugin would store the card order in the plugin configuration by default. Then we could introduce a setting called something like "Sync card order with field" that would instead use a field to determine order.

While the effect would be the same, from a UX perspective it's a simpler design that wouldn't clash with sorting. WDYT?

Edit: For example, previously you could set a date field as Priority field, which was really to be able to sort cards by date, but impossible to sync with the notes (if I drop a card between Monday and Friday, what date would be set?).

@ScottKillen
Copy link
Author

Fantastic!

I used to be a software developer decades ago and am willing to test any of these for you.

As far as documentation--I think I discovered by accident that I could click on a note in the project, and the metadata edit dialog appears rather than opening the note. I could not find this in the docs, and this feature is even more important now that priority isn't adjusted automatically. (It eased life a bit to discover this.)

Ah, I see the complexity because any field could be the priority. Perhaps mandate that priority must be numeric? (This is difficult.)

I know you want to avoid storing anything in the project config--not meta is definitely better.

I use a product now where a list is sorted by default. If I drag and drop, sorting is suspended in preference to my dragged order. I have to choose a 'resort' command, which throws away my ordering and resort according to sorting rules.

I will add the feature request.

@axelson
Copy link

axelson commented Jul 8, 2023

@ScottKillen have you opened a feature request for this new behavior yet? I'm not finding one in the issues.

I'd also like to have a way to use drag-and-drop to manually reorder notes in the board view, that's the main reason I use this plugin.

@ScottKillen
Copy link
Author

@axelson it is #587

@ScottKillen
Copy link
Author

@axelson I've been using the KanBan plugin in conjunction with the Metadata plugin (set and configure the Kanban Board helper() to automatically change the status when I drag notes between lanes.

@pdfrod
Copy link

pdfrod commented Aug 25, 2023

Is there any news on the possibility to use drag-and-drop to reorder cards? Having worked with other kanban platforms before, I found it quite confusing that this doesn't work. I spent some time trying to find if there was something missing in my configuration 😅

I was looking into migrating from the Kanban plugin, but not being able to easily re-order cards is quite a deal breaker for me. Anyway I can help push that forward?

@Stefan-59
Copy link

I just recently moved from the Kanban plugin (where I can easily reorder the cards in the columns, the result is stored in a markdown-file I can even edit, if I wich so) to this projects plugin, because I love the different views (table, board, calendar) on the same data.
But today I realized that it's not possible to reorder the cards in a column. This is close to a show-stopper for me, because I need to organize my work by using the order of the cards in my 'next action' column.

I'd be willing to add a 'priority' field, if that would help as a workaround (I see such field is mentioned quite often).

Question: how would I have to set up and use a priority field to be able to reorder the cards in any column?

@pdfrod
Copy link

pdfrod commented Oct 19, 2023

Question: how would I have to set up and use a priority field to be able to reorder the cards in any column?

You can't anymore; that's what this issue is about. That possibility was removed in #584.

The best you can have at the moment is to configure a sort criterium based on an integer field (e.g., priority). This will allow you to see the cards sorted by priority, but you still can't drag & drop the cards; you have to manually update the integers value of every card in the list if you want to reorder them.

@Stefan-59
Copy link

Unfortunately, then this IS a show-stopper (at least for this specific use case) 🤷
Being able to have a nice visual overview over all items WITH there sort-order and being able to adjust it easily is exactly the motivation to use the Kanban-view in this case.
So, I will go back to the Kanban Plugin until there might be a solution with Projects, which will let me happily come back (I very much appreciate the other additional features I'm missing with the Kanban Plugin).

For the time being I will use Projects for another use-case, so I will stay up to date with the ongoing development.

Thank you anyway for having made this great plugin and your support!! 🙏

@Acylation
Copy link
Collaborator

@Stefan-59 thanks for tracking this and your patience. I noticed #706 in discussions, sorry for the inconvenience. I just got time to handle messages, and will still have a tight schedule until early December. I'll start a PR and link back here when I start working on this.

@Acylation
Copy link
Collaborator

As per Marcus's comment, the primary task involves storing the note sequence in plugin configs. The suggestion of pausing the sorting rules by @ScottKillen is a common design approach, and I will find some references to help implement this. A unique feature only Projects can & should offer is binding a priority field with the sorting sequence. IMO limiting the field to be Number type is the most straightforward way. Additional conversions can be added in the future to allow more types in binding.

However, one issue with storing the note sequence in the project configuration is that we cannot track modifications made outside of the plugin. A potential solution could be to remove missing notes and append newly discovered notes.

@adsilcott
Copy link

I had a thought about this, I hope you don't mind me sharing it here.

One of the things that I love about the Kanban plugin is that if you look at the text version it's just a simple markdown file. The plugin is just changing how it's displayed and updating the original file when the Kanban view is changed. I think this is what we all want from Obsidian, that if a plugin went away we could look at our data and it would still make sense.

What if the Board view created a file that was just that, a Markdown file in the Kanban format, except instead of holding the data in its hierarchy it would hold links to the data, since in this board the tasks are all separate notes. The beauty of this is that not only would it store the user's preferred ordering without adding any metadata to the files, but it would create a useful markdown file that could be embedded elsewhere or even loaded into other plugins.

@ScottKillen
Copy link
Author

@adsilcott This is an excellent suggestion--however, doing so would make this plugin just a limited version of Kanban, as a Kanban board can contain tasks that are links to other tasks. Paired with the Meta-Bind plugin, Kanban can change linked notes' 'status' property when tasks are dragged from one lane to the next.
FWIW, I no longer use this plugin precisely because it is unnecessarily proprietary and limiting. The feature I loved most about it, priority management, was removed in the last release. This is the author's right, and I don't begrudge him that--however, it forced me to adapt Kanban to my needs, and I won't look back.

@Acylation Acylation self-assigned this Nov 21, 2023
@st4ng
Copy link
Contributor

st4ng commented Feb 11, 2024

@Acylation Have you started working on this? If not I might submit a PR.

@Acylation
Copy link
Collaborator

@st4ng so nice to hear about this! There's no in-progress work on this so please feel free to submit one. Thanks for your interest in contributing to Projects.

st4ng added a commit to st4ng/obsidian-projects that referenced this issue Feb 13, 2024
st4ng added a commit to st4ng/obsidian-projects that referenced this issue Feb 13, 2024
st4ng added a commit to st4ng/obsidian-projects that referenced this issue Feb 14, 2024
st4ng added a commit to st4ng/obsidian-projects that referenced this issue Feb 14, 2024
st4ng added a commit to st4ng/obsidian-projects that referenced this issue Feb 14, 2024
st4ng added a commit to st4ng/obsidian-projects that referenced this issue Feb 14, 2024
st4ng added a commit to st4ng/obsidian-projects that referenced this issue Feb 14, 2024
st4ng added a commit to st4ng/obsidian-projects that referenced this issue Feb 14, 2024
@st4ng st4ng mentioned this issue Feb 14, 2024
2 tasks
@Acylation
Copy link
Collaborator

Acylation commented Mar 13, 2024

Mark as completed by #788

@Acylation Acylation added this to the next milestone Mar 13, 2024
@Acylation Acylation added triage/confirmed Issue is well-defined and understood. Needs to have a priority/* label. lifecycle/backlog Issues that are ready to be worked on. kind/feature New feature request and removed needs-triage Issue needs a triage/* label kind/bug Something isn't working labels Mar 13, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/feature New feature request lifecycle/backlog Issues that are ready to be worked on. triage/confirmed Issue is well-defined and understood. Needs to have a priority/* label.
Projects
None yet
Development

No branches or pull requests

8 participants