Resource Manager Redesign.
Open, HighPublic

Description

Jut making this task to collect requirements. If you can think of a requirement, please type it in.

woltherav triaged this task as High priority.
tymond added a subscriber: tymond.EditedFeb 26 2020, 3:00 PM

Ok, so the current state of the dialogs regarding resource manager, which doesn't include the Resource Manager itself because it's unreachable from UI for now... But it does contain the Bundle Creator.

Problems:

  • Resource Manager should have following capabilities:
    • import a resource of any type
    • import a storage (asl, bundle... but not .kra, .kra only when opened?)
    • export a resource to a file
    • additional: check out T12659; it might be good to put tagging, duplicating, removing etc. a lot of resources in the Resource Manager? Basically all things we want to do with a lot of resources at the same time.
  • how to fit the resource manager somewhere here?
  • there is (for now) too many dialogs when adding tags to the bundle; @rempt said it can be that way but after a few tests I believe that while we can leave it like that for now since it does work, but I think it would be good to maybe make a drop-down list of checkboxes or something like that, someone easier accessible?

Some pet peeves for the Bundle Manager:

  • list of bundles is ugly because of the stretching of the last bundle
  • also no need for id column; it's not the database explorer, it's something for users
  • I would actually think it would be best to just leave Name and Active, and all other info just write next in the big space on the right side, for the users it doesn't matter if it's in the metadata or the database, and it would be easier to fit it without having to scroll horizontally
  • I would have trouble to guess which button is "Import" and which is "Create a new bundle"...

Pet peeves for the Bundle Creator:

  • a bit too big; might have trouble to fit on the "fullHD, 150% UI scaling" displays
  • right now, no easy way to get the specific resource you're looking for; no filter, no tags, no anything.

Also this is the state of the Cache Database Viewer/Database Explorer:

Note that we have another place with a list of resources... If we make a Resource Manager, then it should have deleting resources, right? If we have Bundle Manager, it should have both enabling and disabling bundles - but isn't that the point of checkboxes in Database Viewer? Let's try to not confuse users...

Pet peeves:

  • ugly spaces everywhere you look
  • horizontal scrolling
mwein added a subscriber: mwein.Feb 27 2020, 2:01 AM

Right now it looks like you need a diploma to manage your resources libraries...
A huge database table and some unlabeled icon buttons, to me more like the worst case UI design. I don't quite see a reason for a 180° turn in UI design.

Also, something that recently caught my attention (in palette editor), who started using the crossed red circle icon for delete buttons? I definitely don't associate it with "delete", it means "forbidden" in traffic sign language here. Why is the trash can icon not used for consistency with other UI elements?

About the bundle creator, it definitely could need a tag filter and a search field.
And I'm not sure about the tag embedding, wouldn't it be logical to only list tags that are actually used by the selected resources? I guess it's technically possible, but does it even make sense to embed an unused tag in a bundle?

And I'm still trying to figure out why the database explorer is missing from my settings menu...

tymond added a comment.EditedFeb 27 2020, 2:17 PM

@mwein the Cache Database was at some point considered temporary, but later @rempt told me to use it to undelete tags and I presume undelete resources as well; maybe it would be just a technical/advanced dialog, not something for users to interact with. We could make the resource manager capable of deleting stuff but for undeleting/restoring one would have to deal with the database more directly? It's not really possible to get the deleted resources and tags easily from the database except for those table views because our main models only shows the active/accessible ones...

Also embedding all tags that are used is not exactly the best idea because the bundle creator might have the brushes tagged in a variety of ways while they only want them to seem tagged by the user in one specific way, for example with a tag associated with the bundle. or only with tags starting from "bundlename-".

How does managing resources in Krita relate to just adding and removing files manually on the file browser? It looks like a lot of these files are still viewable by just navigating to the folder inside my Krita inst foldere. Right now in Krita 4 you can manage resources by just dropping a bunch of images into the symbols folder for example for vector files. Is this still going to be possible in the new version?

How does managing resources in Krita relate to just adding and removing files manually on the file browser? It looks like a lot of these files are still viewable by just navigating to the folder inside my Krita inst foldere.

Deleting the resource in Krita should just mark it inactive, inaccessible from the UI (except for the Cache Database Viewer which shows all resources, not only the active ones). it allows for undeleting.
Actual removing of the resources... hmm, I guess manually? Not sure how the database gonna react. Maybe the syncing I mention below checks if the resource still exists, too?

Right now in Krita 4 you can manage resources by just dropping a bunch of images into the symbols folder for example for vector files. Is this still going to be possible in the new version?

Afaik yes, because the database is checked/synced on every loading of Krita. I'd need to check it to be sure but I think is should be possible. I know that putting a bundle inside the folder did make it load.

rempt added a comment.Feb 29 2020, 8:41 AM

How does managing resources in Krita relate to just adding and removing files manually on the file browser? It looks like a lot of these files are still viewable by just navigating to the folder inside my Krita inst foldere. Right now in Krita 4 you can manage resources by just dropping a bunch of images into the symbols folder for example for vector files. Is this still going to be possible in the new version?

Yes, that was one of the requirements. Additionally, I want it to be possible to D&D resources on the welcome page.

@rempt, @tymond - I guess then what is really changing for people? When Krita 4.3 comes out with these changes, people will be using it the same way they always have. Can they manage most of their brushes and tags the same way they do now? Creating new brush presets through the brush editor, and tagging brushes through the brush presets docker for example.

I am trying to figure out where the separation is between back-end work and changes that will affect how people do things now. Are we removing any existing functionality, or are we mostly adding new functionality with these changes?

For D&D on the startup screen, we will need some way for it to know it wants to import the resource, and not just open it - especially for things like brush tip images.

tymond added a comment.Mar 2 2020, 2:17 PM

I guess then what is really changing for people? When Krita 4.3 comes out with these changes, people will be using it the same way they always have.

Well, that's the question: what do we want to change for people?

  • There was a Resource Manager before that allowed you to import brushes, brush presets, patterns etc. all in one place.
  • I also want batch deleting
  • batch tagging and untagging
  • renaming (maybe even batch renaming, but that would be advanced, won't be doing that in the rewrite, maybe later)
  • maybe something else I haven't think about? - please do tell me what else do you miss!

Since we have Bundle Manager separate, a huge part of the Resource Manager dialog is removed. The Import X buttons should be replaced by one, but even if not, the current Resource Manager doesn't allow for any of the things I mentioned above. So, we need UI for that. And we need to make sense out of it all :P