On 4/28/20 4:56 PM, Ancor Gonzalez Sosa wrote:
The interface of the YaST Partitioner has reached a point in which is really hard to deal with it. We need to find a way to move forward.
As a first step, we have created this document that explains the problem and we hope it can be used as a base to discuss the future of the Partitioner interface.
https://github.com/yast/yast-storage-ng/blob/master/doc/partitioner_ui.md
Beyond small improvements like enhancing the workflow to format/mount a partition or implementing new kinds of wizards, I have been trying to come up with disruptive approaches for the whole thing. Something that really change the way in which the Partitioner is used, to turn it into a more guided tool. Here is my first crazy idea (first of many, I hope). It's in an early stage, but I hope it can ignite some sparks. Crazy idea 1 ============ Sections like "hard disk", "LVM", "RAID", etc. would not longer be the main way to interact with the Partitioner. Their functionality will remain somewhere, maybe slightly hidden compared to the current status. Instead, the main entry point will be a list of the devices (or free spaces) that are currently usable. Let's see it with an example. Imagine a system with sda containing two Windows partitions, sdb containing a small partition and a partially used LVM and sdc completely empty. In the classic Partitioner we would navigate through a tree containing all this: Hard disks - sda - sda1 - sda2 - sdb - sdb1 - sdb2 - sdc RAID Volume Management - vg0 - root - home Bcache But for such setup, the list that I propose (I'm still not sure if it would be the first section of the left tree or something completely different) will contain something like this: sda1 (NTFS) sda2 (NTFS) sdb1 (ext3) vg0/root (btrfs) vg0/home (ext4) Free space at vg0 sdc (empty) Those are the devices (or spaces) that can be used for something immediately. sda is not displayed because is fully used, so there is not much you can do with it unless you delete/resize its partitions first. sdb2 is not displayed because it's the PV of vg0, so you likely don't want to do anything with it, unless you destroy vg0 first. And so on. In that list, if you select sda1 you could then decide to mount it or reformat it. And of course, you could also decide to delete or resize it, which will result in a new free space appearing in the list. If you select the free space in vg0, you will have the option to create a new LV. If you select sdc, you will be able to format it or to create a partition table on it. Maybe even the option to use it as PV for an existing or new volume group. Do you get the idea? The main point is to get a curated list of devices that you likely want to modify in your next action and to offer the applicable/reasonable options for each of them. Crazy idea 1. Extension ======================== When you select a device, maybe we could display the actions that are planned for that device, in addition to the possible options to use it or modify it. Imagine vg0/root already existed in the system but you have decided to reformat it and mount it as root. The screen you see when clicking on it could be something like: Previous status: formatted as ext4 Chosen action(s): - Format it as Btrfs - Mount it at "/" (see subvolumes) Possible actions: [Format / mount] [Delete] [Resize] Just "thinking aloud" but... what do you think? Any useful point in the whole mail? Alternatives? Just release your imagination! Maybe some kind of meeting for further brainstorming? Cheers. -- Ancor González Sosa YaST Team at SUSE Linux GmbH -- To unsubscribe, e-mail: yast-devel+unsubscribe@opensuse.org To contact the owner, e-mail: yast-devel+owner@opensuse.org