From Fedora Project Wiki
 
(73 intermediate revisions by 6 users not shown)
Line 1: Line 1:
= Anaconda UI Work List =
= Anaconda Work List =


Bored?  Tired of bugs?  Looking for something new to do?  Why not check out something from this list of work items for the new user interface!  The list below is what can currently be worked on, given the state of the base classes and custom widgetsIf you want to claim one of these items, simply put your name in the right column.  Discuss your code on anaconda-devel-list and when you are happy with it, link to it here (eventually, you will instead commit to anaconda but we're not there yet).  If you have any questions, ask [[User:clumens|clumens]].
The work list is a list of the main work we have in progress for anaconda and is targeted for a specified release deadlineThe list is organized by high level topic with an associated owner, target release, description, and other information.


More items will be posted periodically, so be sure to check back.
This list is not guaranteed to be up to date, but we periodically review it when we begin a new phase of major changes for the installer.


== Guidelines ==
'''Last Updated: 13-Nov-2012'''


First, here are a couple guidelines for all items.
== Work List ==
{|class="wikitable sortable"
!border="1"| Title||Last Updated||Owner||Target||Description
|-
|RAID-0, RAID-1, and RAID-5 install support || 12-Nov-2012 || dlehman || F-18 Beta || ''From dlehman:'' I have done sporadic testing of 0, 1, and 10 with post F-18 alpha code.  I haven't set up a 3-disk system to try out 5, but there's no reason to expect problems.


* Everything here should be done in Python.  The one exception might be if you are doing something very low level graphically and there are not satisfactory Python bindings.  Then, C might be appropriate.
One thing we'll probably need that we don't yet have is a way to specify the number of spares for an MD RAID set.
* You will need a lot of very current software installed to work on this.  At the least, you'll want gtk3, gobject-introspection, glade3 and glade3-libgladeui, pygobject3, and all their devel subpackages.  You'll also want to make sure you have the latest glib.  It might be best to be running rawhide or at least F16 with this stuff updated.  RHEL6 probably isn't going to cut it.
* Use glade for as much as possible.  glade allows doing all the TreeView and ListStore stuff now.  Use glade for dialogs.  Use signals where appropriate.
* Consider keyboard use - put mnemonics on things.
* Don't hard code stylistic elements (absolute font sizes or names, rounded corners, and the like).  We want to use the shipping GTK style to decide all that for us.  Of course, you can specify things to be bold or red as needed.
* Include test cases.
* <b>Do not look at existing anaconda UI code for how to do things</b>.  I'm planning on getting rid of it all anyway, and I don't want people dragging bad ideas from the past along.
* Don't worry too much about integrating your code with anaconda as it stands today.  Make your solution something that can be tested standalone and pulled into non-anaconda applications.  We'll worry about the integration later.


== Conventions ==
There's also a bug that causes a crash if you try to enable RAID on a system that has only one disk.  Past that, the stuff that prevents users from choosing a RAID level that isn't appropriate based on disk count works well.
Use the following standard values when designing in Glade:
* spacing: 6
* border width: 6


Use the following keyboard mnemonics and add the dialog number in parenthesis so we can reuse. One rule is that in any of the lightbox dialogs that pop up you can reuse _q, _c and _b because you aren't be able to interact with anything else there.
'''''11-Oct-2012''''': Several fixes were pushed today that fix the above-mentioned bug, among other things. I have several more RAID-related patches for the custom spoke which I plan to post for review today or tomorrow.
* _Quit
* _Continue
* _Back
* _Close (#9-1-4)
* _Remove (#9-1-4)


== Brief pygobject Introduction ==
'''''01-Nov-2012''''' (dcantrell): With the latest nightly, I selected defaults and then chose to customize partitioning.  My test system is a virt guest with two 20G hard disksI changed all filesystems to RAID for performanceInstallation proceeded fine and the resulting system was set up with RAID-0 volumesI repeated this process, but also selected RAID for redundancy and there was a traceback at the end of the install when it was installing the boot loader (I did select RAID redundancy and performance for /boot)I repeated the second test, but only selected RAID redundancy and performance for the / filesystem and swapThe repeated second test did not work eitherI performed a few more installs and it seems we still need some checks in there for certain types of installations and preventing users from choosing RAID options that are not valid for their disk count.
pygtk is deadNothing in the new anaconda UI will be using itIn its place, we have pygobject3+gobject-introspectionThis is an automatic binding generation system that examines source code and generates libraries that can be used in other languagesIt's not specific to Python, but that doesn't really matter for our purposesIt's also not specific to GTKgobject-introspection can be used with just about anything.


If you need to use the new GTK bindings from within python, it's really pretty easy:
'''''12-Nov-2012''''' (dcantrell): RAID-0 works.  Both / and /boot were set to RAID for the device type and 'Optimized performance' was checked, other options were unchecked.
<pre>
 
>>> from gi.repository import Gtk
'''''13-Nov-2012''''' (dcantrell): RAID-1 works.  Both / and /boot were set to RAID for the device type and 'Redundancy' was checked, other options were unchecked.  RAID-5 might work.  I only set / to RAID by choosing RAID for the device type and 'Optimized performance' and 'Error checking (parity)' checked, the other options were unchecked.  This resulted in a RAID-4 device when I booted the installed system, so I really don't know how to pick RAID-5.  I actually had sort of a hit or miss approach to picking the options I did, having to rely on the Wikipedia article to pick up vocabulary.  It may be worth exploring a combo box or something that offers the RAID options by traditional name that then precheck the options.  Nonetheless I consider the actual RAID set up and discovery working in the installer, we're now just down to UI tweaking.  Filed the RAID-5 problem as bug 874034 (turned out QA already caught this, so my report is a dupe).
</pre>
|-
|LUKS discovery and creation || 12-Nov-2012 || dlehman || F-18 Beta || ''From dlehman:'' The plan is to only provide this functionality in the custom spoke.  Users will be able to somehow tell us they want to unlock the volume.  We'll prompt for the passphrase and then tell the devicetree to populate the tree starting with the newly unlocked LUKS volume.
 
We don't need to worry about it for any other cases since we either want to remove the encrypted block device or not--it doesn't matter what's underneath it until/unless you get to custom.
 
'''''11-Oct-2012''''': Support for both preexisting and new LUKS devices was added in anaconda-18.14-1.
 
'''''01-Nov-2012''''' (dcantrell): LUKS creation works fine, have not tested discovery of pre-existing but I know other people are.
 
'''''12-Nov-2012''''' (dcantrell): LUKS discovery works during custom partitioning, otherwise the user is presented with the Reclaim Space lightbox.  Entering the password and clicking unlock causes a traceback for me.  Filed as 875942.
|-
|BOOTIF handling in dracut || 25-Sep-2012 || wwoods || F-18 Final || ''From wwoods:'' An attempt to fix problems with "BOOTIF" + "ip" args.  It's tricky because of the way dracut network stuff is designed.  I have code in a dracut branch but I think there's some things missing; I need to send it upstream and get some testing on it.  Branch is here: [https://github.com/wgwoods/dracut/tree/bootif-stuff https://github.com/wgwoods/dracut/tree/bootif-stuff]
|-
|Upgrade support via preupgrade || 12-Nov-2012 || wwoods || F-18 Final || ''From wwoods:'' So the code is currently here: [https://github.com/wgwoods/fedup https://github.com/wgwoods/fedup].  Plan for F-18 Beta is to have an F-17 based upgrade tool that fetches packages *or* sets up an upgrade using a local DVD/USB image.


One interesting note here is that anything gobject-introspection has a binding for is in <code>/usr/lib64/girepository-1.0</code>.  Then once you've got Gtk imported, everything else looks rather familiar:
It might not have any real GUI for beta, but it will for final.
<pre>
>>> w = Gtk.Window()
>>> box = Gtk.HBox()
>>> lbl = Gtk.Label("This is a label")
>>> box.add(lbl)
>>> w.add(box)
>>> w.show_all()
>>> Gtk.main()
</pre>


Constants are hiding a little bit.  If you want to specify whether something's oriented vertically or horizontally, you have to use <code>Gtk.Orientation.HORIZONTAL</code>.  With a little bit of practice (and a lot of use of tab completion in ipython) you'll eventually get comfortable with how things are laid outSince it's all automatically generated, it's at least consistently weird.
It will involve a special upgrade image, but it's just a dracut-built initramfsThis could be built by lorax, or it could just get built by running 'dracut' inside a mock chroot.  This might require rel-eng involvement.


Using your glade-generated interface file is not really all that different than it used to be, either:
I might need some assistance with: i18n stuff, GUI polish, a special plymouth theme for the upgrade, and network monitoring (e.g. running sshd in dracut, like we do for s390 cmdline installs).
<pre>
from gi.repository import Gtk
builder = Gtk.Builder()
builder.add_from_file("test.ui")
w = builder.get_object("window1")
w.show_all()
Gtk.main()
</pre>


The key difference is that it's now <code>get_object</code>.
'''''01-Nov-2012''''' (dcantrell): The fedup package was added to F-17 and F-18 today and built.  This tool walks a user through setting up their existing Fedora system to upgrade.  I have not tested it yet, will look at that soon.  Fedora QA and others have been testing it.


== References ==
'''''12-Nov-2012''''' (dcantrell): Bug #873459 continues to be a problem.  A workaround for F-18 Beta looks possible (see comment 9 in the bug), but requires some more testing to be sure.  A better fix is most likely in order for F-18 Final.
|-
|Text mode exception handling || 25-Sep-2012 || jkeating || F-18 Final || ''From jkeating:'' We need some form of exception handling in text mode too.  Right now it's a mixed bag of either traceback and immediate reboot, or just being presented with a "pane is dead" type message in tmux.
|-
| Add repo dialog || 03-Oct-2012 || vpodzime || F-18 Final || The add repo dialog currently exists as a UI, but doesn't do anything.  It needs to be hooked in and made to work.  Talks between clumens and mizmo indicate that UI changes may need to be made, however.  Also we need to think about how this works given the new environment/add-on organization in comps.


* gtkmm examples are easier to map to Python than the C ones - http://developer.gnome.org/gtkmm-tutorial/3.0/
'''''03-Oct-2012''''': There is a button in the UI that brings up an Add Repo dialog, but it does not fully work. This remains an active work item for F-18 Beta.
|-
| Redraw ugliness || 25-Sep-2012 || || || There's two major points where things get redrawn and the result is pretty ugly.  First, when displaying something in a lightbox, you can see the background get drawn in blocks before the dialog is displayed.  Related, spokes being drawn can exhibit this same behavior.  Second, spokes are sometimes drawn very small in the upper left corner and then shortly thereafter redrawn maximized.  The user can see this happen in front of them.


The biggest problem here is that this requires the help of someone much more familiar with X and GTK than anyone in anaconda.  We need to see what can be done (are we doing something wrong?) and then figure out how to fix it.  These are not major blocker issues, but go a long way towards presenting a more finished product.
|-
| Driver update disk (DUD) support via dracut || 01-Nov-2012 || msivak || F-18 Beta || With the removal of loader, driver update disk loading functionality is going to be handled by dracut before handing over to anaconda.


== Work List ==
'''''01-Nov-2012''''' (dcantrell): msivak has been working on the design and implementation for handling driver update disks via dracut+anaconda.  This is on track.
{|class="wikitable sortable"
!border="1"| Title||Date Posted||Owner||Source Link||Screen||Description
|-
|-
|Language selection widget || Sep 29 || mgracik || || [http://linuxgrrl.com/fedora-ux/Projects/Anaconda/Prototypes/Previews/01/01-welcome.png #1] || The ListView in the center of the screen containing supported language names in their native language and in English, along with type-ahead support. Your solution should be the type-ahead filter box and scrolled list of languages.  This will end up getting packed into something else in glade later, but figuring out how to get the list of languages is a good first stepThe ideal solution will not involve any of the lang-names and lang-table crud we have now.
|Update filter UI || 24-Jan-2012 || || F-19 || The existing filter UI in iw/filter_gui.py and iw/DeviceSelector.py needs to be updated for the new UI model.  This includes adding a button to storage.ui/storage.py for adding a disk, moving the old filter UI into glade (a lot of it is hand-coded due to previous glade deficiences, especially when it comes to Views and Stores), and making minor changes as called for by the new mockupsUnanswered questions:  How does this fit in with the existing storage UI?  How do you go back to the previous destination screen?
|-
|-
| Date/Time spoke || Nov 15 || vpodzime || || [http://linuxgrrl.com/fedora-ux/Projects/Anaconda/Prototypes/Screens/04-datetime.svg #4] || Nothing exists for this spoke yetThe mockup we have is based off gnome-control-center.
|updates.img/product.img handling || 25-Sep-2012 || jkeating || F-19 || ''From jkeating:'' We need a long term solution for updates.img and product.img handling, in how we get the bits grabbed in dracut exposed and used post-pivotWe have a bandaid in place for F-18, but for F-19 we need a better fix.
|-
|-
| Language spoke || Nov 15 || || || [http://linuxgrrl.com/fedora-ux/Projects/Anaconda/Prototypes/Screens/05-language.svg #5] || We've already got one language-related thing on the welcome spoke right up front, but this is a different one - it'll be used to select the languages that will be installed on the system.  Basically you are picking the language support packages.  Whatever was selected on the welcome screen should obviously be included.  Likely, much of that code can be reused.
|iSCSI, FcOS, and other advanced storage || 25-Sep-2012 || || F-19 || Manual configuration of advanced storage devices as well as the storage filtering UI in anaconda is slated for F-19.
|-
|-
| Keyboard spoke || Nov 15 || || || [http://linuxgrrl.com/fedora-ux/Projects/Anaconda/Prototypes/Screens/06-keyboard.svg #6] || There's already a stub keyboard selection spoke in pyanaconda/gui/ui/spokes, but it doesn't do much besides displayThe finished product needs to get a list of keyboards from somewhere (preferably, nowhere that anaconda maintains), the buttons should do something, and so forth.  When applied, this spoke should both set the current keyboard and update ksdata.
|dracut cleanup || 04-Oct-2012 || wwoods || F-19 || ''From wwoods:'' Improve dracut logging by making sure debug_off/debug_on actually work as expected. Add an 'importlib' command to clean up importing libraries, etcVarious other minor cleanups.
 
''From dcantrell:'' It is likely that some cleanups will come as part of the regular bug fixing process through F-18, but most of these things can wait until F-19.
|-
|-
|Disk utilization pie chart || Sep 29 || bcl || http://fedorapeople.org/gitweb?p=bcl/public_git/anaconda-ui.git;a=summary || [http://linuxgrrl.com/fedora-ux/Projects/Anaconda/Prototypes/Previews/9-1_install-destination/9-1-1_screen-destination.png #9-1-1] || A little pie chart that appears next to a DiskOverview showing how much of the disk is free.  The black part indicates used space, and the white part indicates free space. Your solution should be a class or method that takes in a total size and an in-use size and returns the pie chart.  The size of the chart itself should not be fixed - that is, it should be able to scale larger and smaller as necessary.
| Firstboot replacement spoke in the second hub in newui || 03-Oct-2012 || msivak  || F-19 Beta || The skeleton work for this code is there, but the individual configuration screens have not been implemented.
 
'''''03-Oct-2012''''': As the existing firstboot program is functional in our devel tree composes, we have this work slated for F-19.
|-
|-
|Installation options dialog || Sep 29 || mgracik || || [http://linuxgrrl.com/fedora-ux/Projects/Anaconda/Prototypes/Previews/9-1_install-destination/9-1-5_screen-destination-free.png #9-1-5] || A simple light box dialog that pops up after Continue is clicked on the Install Destination spoke.  Your solution should be a class that returns information about which button was clicked, along with whether to do custom partitioning.
| anaconda replaces system-config-kickstart || 28-Sep-2012 || clumens || F-19 || The plan is to let users run anaconda as a standalone application that can generate kickstart files for other systems.
|-
|-
|Create new partition dialog || Sep 29 || dlehman || || [http://linuxgrrl.com/fedora-ux/Projects/Anaconda/Prototypes/Previews/9-3_partitioning/9-3-1-3_disks-phys-add.png #9-3-1-3] || A light box dialog that allows the user to specify a new partition.  Your solution should be a class that returns what the user specified. I have not thought too much about this one, but perhaps it is best to return a set of Requests. I don't much like the idea of the class itself modifying the Storage objectThe class should take in a maximum and minimum size for the new partitions in order to come up with boundaries for capacity, and should be able to filter out existing mount points from the drop down.
| GeoIP data preselects time zone, keyboard layout, and language choices || 28-Sep-2012 || vpodzime || F-19 || For network-based installations, find the user's location via GeoIP and use that to preselect the time zone, keyboard layout, and language choices.
|-
| Split anaconda into library and driver/runtime package || 01-Nov-2012 || dlehman || F-19 || Split out the requires and whatever else is only needed to do an OS install into a sub-package so people can install the pyanaconda python module without pulling in every possible package that might get used during OS install. The hardest part of this is going to be implementing checks for external requirements for various pieces of functionality and gracefully handling what's missing.
 
'''''01-Nov-2012''''' (dcantrell): dlehman recently announced the blivet Python library and the split out of anaconda components in to separate packagesThere is still a lot of work to do here.
|-
|-
|Configure network spoke || Jan 10 || rvykydal || || [http://linuxgrrl.com/fedora-ux/Projects/Anaconda/Prototypes/ToPrint/01-network.png #1-3] ||
|}
|}


== Completed Items ==
== Completed Items ==
{|class="wikitable sortable"
{|class="wikitable sortable"
!border="1"| Title||Date Posted||Date Pushed||Owner||Commit||Description
!border="1"| Title||Last Updated||Owner||In||Description
|-
|Lightbox || 26-Oct-2011 || akozumpl || F-18 Alpha || Lightboxes are used to bring user's attention to a modal dialog by visually darkening everything but the dialog and blocking most of the input into areas outside of it. This is quite straightforward to achieve on a website or with a composing window manager which allows transparent windows. For Anaconda (metacity) we have to workaround on the gtk/gdk level to achieve a similarly looking result.
|-
|Language selection widget || 29-Sep-2011 || mgracik || F-18 Alpha || The ListView in the center of the screen containing supported language names in their native language and in English, along with type-ahead support.  Your solution should be the type-ahead filter box and scrolled list of languages.  This will end up getting packed into something else in glade later, but figuring out how to get the list of languages is a good first step.  The ideal solution will not involve any of the lang-names and lang-table crud we have now.
|-
| Date/Time spoke || 15-Nov-2011 || vpodzime || F-18 Alpha || Nothing exists for this spoke yet.  The mockup we have is based off gnome-control-center.
|-
| Language spoke || 15-Nov-2011 || msivak || F-18 Alpha || We've already got one language-related thing on the welcome spoke right up front, but this is a different one - it'll be used to select the languages that will be installed on the system.  Basically you are picking the language support packages.  Whatever was selected on the welcome screen should obviously be included.  Likely, much of that code can be reused.
|-
| Keyboard spoke || 15-Nov-2011 || vpodzime || F-18 Alpha || There's already a stub keyboard selection spoke in pyanaconda/gui/ui/spokes, but it doesn't do much besides display.  The finished product needs to get a list of keyboards from somewhere (preferably, nowhere that anaconda maintains), the buttons should do something, and so forth.  When applied, this spoke should both set the current keyboard and update ksdata.
|-
| Configure network spoke || 03-Oct-2012 || rvykydal || F-18 Beta || I think we need to divert from mockups so that we can (re)use nm-c-e for network ''configuration'' (nm-c-e for selected device is invoked by Configure button) while our own spoke UI code will be used just for network ''control'' - list of devices/access points, turning on/off, access point selection, status information - which is what gnome-control-center does in desktop.  The initial UI is taken from g-c-c glade file, just some functionality and UI we don't need/support in installer is hidden and e.g. device description details are added.  We need also nm-applet as Secrets Agent for wireless authentication. Network configuration is applied (as in desktop) only after configured device is restarted (using on/off switch). Video: http://rvykydal.fedorapeople.org/network_spoke.webm (note that it is taken using test harness in desktop, so in presence of nm-applet service).
 
'''''03-Oct-2012''''': There is a network configuration spoke in the installer now and it works, though it may expand in future releases or have elements reworked.  However, what is there now may be sufficient for F-18 Beta.
|-
| Existing firstboot program functional || 03-Oct-2012 || msivak || F-18 Beta || The existing/classic firstboot program is currently functional in Fedora 18 Alpha and nightly builds, which leaves us with a fallback place for the items that we intend to implement in the firstboot replacement spoke in the installer.
 
'''''03-Oct-2012''''': Current devel trees that we have been composing launch firstboot and it works fine.  This may be sufficient for F-18 final, want a comment from Fedora QA though.
|-
|Make isomd5sum interruptable || 04-Oct-2012 || bcl || F-18 Final || According to the install source mockups, there's a Verify... button that allows you to verify the installation source.  This button would use isomd5sum to do this, which first requires Python bindings.  I have a rudimentary patch at http://fpaste.org/Pckp/ that allowss this, complete with callback.  However, making the Cancel... button work while isomd5sum is running requires further work.  This needs to be done, and the results committed upstream and packaged appropriately (the Python binding would probably end up in its own subpackage).
 
'''''04-Oct-2012''''': This functionality has been written and tested, but is not used as dracut now provides the capability we were originally writing this for.
|-
|Live image installation support under newui || 04-Oct-2012 || bcl || F-18 Final || Live installations should work under the new user interface in anaconda.
|-
|btrfs support || 04-Oct-2012 || dlehman || F-18 Beta || ''From dlehman:'' BTRFS should be fully functional in the beta.  We expose subvolumes, data raid, and metadata raid through kickstart.  Through the UI we expose subvolumes and data raid.  There isn't really anything else I'm concerned with unless we decide we need to support compress at install time (you can enable compression post-install, but it won't retroactively compress the data laid down by the installer, which could be a basis for complaints/RFEs).
 
'''''04-Oct-2012''''': btrfs is not the default filesystem in Fedora at the moment, but users can select manual or custom partitioning and create btrfs volumes in the UI.  Works fine in a current devel test image.
|-
|Exception reporting || 04-Oct-2012 || clumens || F-18 Beta || While most everything has been moved into report, there's still a little bit of UI code under our control left for exception handling.  This is either in python-meh or in pyanaconda/exception.py and pyanaconda/gui.py.  The first thing to think about here is an API that will be common among both the TUI and GUI.  Then, the existing exception handling code needs to be adapted to that API.  Right now it just fails so we have no effective error reporting.  Any anaconda work can be done right on the newui branch, but python-meh currently has no branch.
 
'''''03-Oct-2012''''': Code to support reporting errors to Bugzilla is present and should be working now.
 
'''''04-Oct-2012''''': Tested with latest devel compose and reporting works.
|-
|Text mode installer || 25-Sep-2012 || jkeating || F-18 Beta || ''From jkeating:'' Text mode mostly works, with the limited spokes.
 
I want to bring the text mode password spoke up to feature parity with the GUI one I wrote, mostly this is just validation of the password.  That involves moving some code up to shared libraries and making use of that code from both spokes.
 
'''''11-Oct-2012''''': Password spokes are now mostly in parity with shared code.
|-
|Kickstart installs || 25-Sep-2012 || jkeating || F-18 Beta || ''From jkeating:'' Kickstart is the big thing I'm working on right now.  Unfortunately getting kickstart to work means fixing a bunch of other stuff so the patch set is having to go back a few times.  Along with kickstart is support for "cmdline" which is a trigger to error out on any missing data (needs to be fixed for graphical mode too).
 
Serial mode I have not even tried, so that's on the list to look at.
 
As of right now, we only have timezone, root password, and a simple storage spoke (pick destination drive(s) and autopart style).  I don't plan to have anything more for F-18.
 
'''''11-Oct-2012''''': Text mode and graphical kickstarts are now functional.  cmdline mode works.  Serial mode works, interactively too not just with kickstart.
|-
|Prompt for VNC fallback || 25-Sep-2012 || jkeating || F-18 Beta || If gui mode fails to start, we need to prompt the user asking if they want to use VNC or proceed to the text mode installer.
 
'''''28-Sept-2012''''': VNC prompt now functional, complete with password setting
|-
|s390x text mode installs || 25-Sep-2012 || jkeating || F-19 || ''From jkeating:'' tmux works like badness in x3270, either those two need to work together well (beyond my capabilities) or we need to /not/ run tmux when doing s390x installs (and not using ssh session to start it).
 
That brings up the next item, starting installs via ssh instead of directly in x3270.  I fear that since this is how we've done it for a while, that taking it away will get some people angry.  If we do allow installs via ssh, then tmux usage is actually a boon here because you can get access to logs and a shell without sshing in multiple times.  We just have to figure out a flag for it, or make this the default and create a flag to tell the installer to run the install directly from x3270 (such a flag kinda exists for kickstart installs, but now we can do some interaction in x3270).
 
If doing text mode from x3270, we do need to fix up text mode a bit.  The way x3270 handles screen printing beyond the buffer is to refresh the screen and start printing at the top, so anything on screen before you hit the end is lost.  Not good if that's halfway through a dialog.  So we could really use some way to trigger a full screen refresh before printing the next spoke, not sure if this is possible.
 
'''''10-Oct-2012''''': s390x installs now function correctly.  X11 forwarded over SSH is no longer supported.
|-
 
|Basic storage custom partitioning UI || 01-Nov-2012 || dlehman || F-18 Beta || ''From dlehman:'' The biggest missing piece right now is setting mountpoints for existing devices/filesystems.
 
The current UI for specifying "reformat this device" is to change the fstype, which of course doesn't provide any way to say "reformat this device with a new filesystem the same type as the current/old one".  I may just add a "Reformat" checkbutton for this if mizmo doesn't have any better ideas.
 
Support for creating encrypted devices is still absent.  Mostly it needs a way to get a passphrase for the new device.
 
There's a lot that's much better post F-18 alpha--particularly the device type switching and raid/btrfs.  The basic flow is that you add a mountpoint, we create a device of the type appropriate to the autopart default.  If you then want to change the type of that device, you clock on it and change the type using the combobox there.  It's quite simple.  If you have multiple btrfs mountpoints they're automatically converted to multiple subvols within a single volume spanning the disks.  Likewise with lvs.  Container sizes (vg, btrfs vol) are automatically adjusted to accomodate the defined devices.
 
Eventually we want users to be able to specify which VG a new LV will go in, or whichs disks to use for allocation (currently it's "all disks you selected").  We'll eventually need to support lvm-on-md (aka MD PVs).  I don't know how much of this will end up getting pushed to F-19.
 
Support for manual-configuration-advanced-storage-devices is planned for F-19.
 
'''''03-Oct-2012''''': More works now in the custom partitioning spoke than did in the Alpha.  You can delete existing partitions, create new ones, and adjust formats and sizes.  Some things currently noticed (bugs may or may not be filed for these, expecting QA and users to do that for things of dire importance):
* Clicking the autopart button in the Manual Partitioning screen does not generate a traceback like it did in the Alpha.
* Adding a new mount point wants a size in megabytes (or I don't know how to specify other units).
* It is either not possible or not entirely clear to me how to reuse existing filesystems and just reformat them.  My assumption here is this is pending functionality.
* Strike the second item, you can use lowercase letters to specify other units, such as '10g' for a 10 gigabyte filesystem.
* The box on the left listing mount points does not refresh when you change the size of it until you click a new mount point to look at.
* The two gears button is not hooked up to anything yet, this is known.
* For manual partitioning to take, you must click FINISH PARTITIONING in the lower right corner.  There is no warning to indicate your changes will be lost if you click Back to destination selection.
 
'''''01-Nov-2012''''' (dcantrell): I'm moving this item down to the completed table.  The new basic partitioning UI is completed, but continues to receive regular bug fixes.
|-
|Easy multilib package installation from kickstart || 01-Nov-2012 || dlehman || F-18 Beta || ''From dlehman:'' It's a new option:  %packages --multilib.
 
'''''01-Nov-2012''''' (dcantrell): This has been present for a number of weeks now, moving to the completed items table.
|-
| Resizing partitions || 12-Nov-2012 || clumens || F-18 Beta || A major piece missing from custom partitioning right now is the partition resizing interface we refer to as tug-o-war.  We originally had a very complex UI planned that involved custom widgets.  However after further discussions and in the interests of time, mizmo has done [http://linuxgrrl.com/fedora-ux/Projects/Anaconda/Prototypes/Previews/reclaim-space_old-is-new.png a redesign] that is much simpler.  Thus, we can expect this to be done much faster.
 
'''''03-Oct-2012''''' (dcantrell): A large patch set implementing the latest UI design and backend functionality for resizing has been posted for review.  It has been tested locally and should be working once it is committed to the master branch.
 
'''''12-Nov-2012''''' (dcantrell): The Reclaim Space functionality has been implemented.  Users selecting disks are shown how much free space is detected.  If there is insufficient disk space, the user is presented with a lightbox when they click Continue that explains the situation.  The user can click Reclaim and it presents a tree listing of what volumes are on the system.  For each volume, the user is given three options:  Preserve (default), Shrink, or Delete.  Shrink will shrink the selected volume to the minimum size it needs to be (this is based on used space on the volume).  Delete obviously deletes.  As the user makes selections in this tree listing, a total reclaimed space value is shown at the bottom.  Once they have enough space to continue, that option is made available.
 
Moving this one to the completed items list.
|-
|Fixing translations || 12-Nov-2012 || clumens || F-18 Final || When you change language on the welcome spoke, all of anaconda should then be in that language (including the welcome spoke itself).  In the alpha this is pretty broken.  The items from the C widgets on the welcome spoke do not retranslate, and lots of stuff on the hub and spokes do not retranslate either.  clumens has work underway to fix much of this, but it's still missing pieces.  Note that there don't appear to be any serious problems with the translated text itself.
 
'''''03-Oct-2012''''': A lot of backend work has happened in the past week for this problem.  Code has been committed but there are likely more changes necessary.  This continues to be an active work item for F-18 Beta.
 
'''''01-Nov-2012''''' (dcantrell): clumens has been working on getting translations working correctly over the past few days and has made good progress.  This looks on track for F-18 Final.
 
'''''12-Nov-2012''''' (dcantrell): Translations now load as expected.  Moving this to the completed items list.  At this point, the translation problems we see will most likely be missing strings in po files.
|-
|-
|Lightbox || Oct 26 || Nov 30 || akozumpl || http://git.fedorahosted.org/git/?p=anaconda.git;a=commit;h=5c2cd12319b90dae79c36fb27f9fd8d40d13665b || Lightboxes are used to bring user's attention to a modal dialog by visually darkening everything but the dialog and blocking most of the input into areas outside of it. This is quite straightforward to achieve on a website or with a composing window manager which allows transparent windows. For Anaconda (metacity) we have to workaround on the gtk/gdk level to achieve a similarly looking result.
|}
|}


[[Category:Anaconda]]
[[Category:Anaconda]]

Latest revision as of 16:27, 13 November 2012

Anaconda Work List

The work list is a list of the main work we have in progress for anaconda and is targeted for a specified release deadline. The list is organized by high level topic with an associated owner, target release, description, and other information.

This list is not guaranteed to be up to date, but we periodically review it when we begin a new phase of major changes for the installer.

Last Updated: 13-Nov-2012

Work List

Title Last Updated Owner Target Description
RAID-0, RAID-1, and RAID-5 install support 12-Nov-2012 dlehman F-18 Beta From dlehman: I have done sporadic testing of 0, 1, and 10 with post F-18 alpha code. I haven't set up a 3-disk system to try out 5, but there's no reason to expect problems.

One thing we'll probably need that we don't yet have is a way to specify the number of spares for an MD RAID set.

There's also a bug that causes a crash if you try to enable RAID on a system that has only one disk. Past that, the stuff that prevents users from choosing a RAID level that isn't appropriate based on disk count works well.

11-Oct-2012: Several fixes were pushed today that fix the above-mentioned bug, among other things. I have several more RAID-related patches for the custom spoke which I plan to post for review today or tomorrow.

01-Nov-2012 (dcantrell): With the latest nightly, I selected defaults and then chose to customize partitioning. My test system is a virt guest with two 20G hard disks. I changed all filesystems to RAID for performance. Installation proceeded fine and the resulting system was set up with RAID-0 volumes. I repeated this process, but also selected RAID for redundancy and there was a traceback at the end of the install when it was installing the boot loader (I did select RAID redundancy and performance for /boot). I repeated the second test, but only selected RAID redundancy and performance for the / filesystem and swap. The repeated second test did not work either. I performed a few more installs and it seems we still need some checks in there for certain types of installations and preventing users from choosing RAID options that are not valid for their disk count.

12-Nov-2012 (dcantrell): RAID-0 works. Both / and /boot were set to RAID for the device type and 'Optimized performance' was checked, other options were unchecked.

13-Nov-2012 (dcantrell): RAID-1 works. Both / and /boot were set to RAID for the device type and 'Redundancy' was checked, other options were unchecked. RAID-5 might work. I only set / to RAID by choosing RAID for the device type and 'Optimized performance' and 'Error checking (parity)' checked, the other options were unchecked. This resulted in a RAID-4 device when I booted the installed system, so I really don't know how to pick RAID-5. I actually had sort of a hit or miss approach to picking the options I did, having to rely on the Wikipedia article to pick up vocabulary. It may be worth exploring a combo box or something that offers the RAID options by traditional name that then precheck the options. Nonetheless I consider the actual RAID set up and discovery working in the installer, we're now just down to UI tweaking. Filed the RAID-5 problem as bug 874034 (turned out QA already caught this, so my report is a dupe).

LUKS discovery and creation 12-Nov-2012 dlehman F-18 Beta From dlehman: The plan is to only provide this functionality in the custom spoke. Users will be able to somehow tell us they want to unlock the volume. We'll prompt for the passphrase and then tell the devicetree to populate the tree starting with the newly unlocked LUKS volume.

We don't need to worry about it for any other cases since we either want to remove the encrypted block device or not--it doesn't matter what's underneath it until/unless you get to custom.

11-Oct-2012: Support for both preexisting and new LUKS devices was added in anaconda-18.14-1.

01-Nov-2012 (dcantrell): LUKS creation works fine, have not tested discovery of pre-existing but I know other people are.

12-Nov-2012 (dcantrell): LUKS discovery works during custom partitioning, otherwise the user is presented with the Reclaim Space lightbox. Entering the password and clicking unlock causes a traceback for me. Filed as 875942.

BOOTIF handling in dracut 25-Sep-2012 wwoods F-18 Final From wwoods: An attempt to fix problems with "BOOTIF" + "ip" args. It's tricky because of the way dracut network stuff is designed. I have code in a dracut branch but I think there's some things missing; I need to send it upstream and get some testing on it. Branch is here: https://github.com/wgwoods/dracut/tree/bootif-stuff
Upgrade support via preupgrade 12-Nov-2012 wwoods F-18 Final From wwoods: So the code is currently here: https://github.com/wgwoods/fedup. Plan for F-18 Beta is to have an F-17 based upgrade tool that fetches packages *or* sets up an upgrade using a local DVD/USB image.

It might not have any real GUI for beta, but it will for final.

It will involve a special upgrade image, but it's just a dracut-built initramfs. This could be built by lorax, or it could just get built by running 'dracut' inside a mock chroot. This might require rel-eng involvement.

I might need some assistance with: i18n stuff, GUI polish, a special plymouth theme for the upgrade, and network monitoring (e.g. running sshd in dracut, like we do for s390 cmdline installs).

01-Nov-2012 (dcantrell): The fedup package was added to F-17 and F-18 today and built. This tool walks a user through setting up their existing Fedora system to upgrade. I have not tested it yet, will look at that soon. Fedora QA and others have been testing it.

12-Nov-2012 (dcantrell): Bug #873459 continues to be a problem. A workaround for F-18 Beta looks possible (see comment 9 in the bug), but requires some more testing to be sure. A better fix is most likely in order for F-18 Final.

Text mode exception handling 25-Sep-2012 jkeating F-18 Final From jkeating: We need some form of exception handling in text mode too. Right now it's a mixed bag of either traceback and immediate reboot, or just being presented with a "pane is dead" type message in tmux.
Add repo dialog 03-Oct-2012 vpodzime F-18 Final The add repo dialog currently exists as a UI, but doesn't do anything. It needs to be hooked in and made to work. Talks between clumens and mizmo indicate that UI changes may need to be made, however. Also we need to think about how this works given the new environment/add-on organization in comps.

03-Oct-2012: There is a button in the UI that brings up an Add Repo dialog, but it does not fully work. This remains an active work item for F-18 Beta.

Redraw ugliness 25-Sep-2012 There's two major points where things get redrawn and the result is pretty ugly. First, when displaying something in a lightbox, you can see the background get drawn in blocks before the dialog is displayed. Related, spokes being drawn can exhibit this same behavior. Second, spokes are sometimes drawn very small in the upper left corner and then shortly thereafter redrawn maximized. The user can see this happen in front of them.

The biggest problem here is that this requires the help of someone much more familiar with X and GTK than anyone in anaconda. We need to see what can be done (are we doing something wrong?) and then figure out how to fix it. These are not major blocker issues, but go a long way towards presenting a more finished product.

Driver update disk (DUD) support via dracut 01-Nov-2012 msivak F-18 Beta With the removal of loader, driver update disk loading functionality is going to be handled by dracut before handing over to anaconda.

01-Nov-2012 (dcantrell): msivak has been working on the design and implementation for handling driver update disks via dracut+anaconda. This is on track.

Update filter UI 24-Jan-2012 F-19 The existing filter UI in iw/filter_gui.py and iw/DeviceSelector.py needs to be updated for the new UI model. This includes adding a button to storage.ui/storage.py for adding a disk, moving the old filter UI into glade (a lot of it is hand-coded due to previous glade deficiences, especially when it comes to Views and Stores), and making minor changes as called for by the new mockups. Unanswered questions: How does this fit in with the existing storage UI? How do you go back to the previous destination screen?
updates.img/product.img handling 25-Sep-2012 jkeating F-19 From jkeating: We need a long term solution for updates.img and product.img handling, in how we get the bits grabbed in dracut exposed and used post-pivot. We have a bandaid in place for F-18, but for F-19 we need a better fix.
iSCSI, FcOS, and other advanced storage 25-Sep-2012 F-19 Manual configuration of advanced storage devices as well as the storage filtering UI in anaconda is slated for F-19.
dracut cleanup 04-Oct-2012 wwoods F-19 From wwoods: Improve dracut logging by making sure debug_off/debug_on actually work as expected. Add an 'importlib' command to clean up importing libraries, etc. Various other minor cleanups.

From dcantrell: It is likely that some cleanups will come as part of the regular bug fixing process through F-18, but most of these things can wait until F-19.

Firstboot replacement spoke in the second hub in newui 03-Oct-2012 msivak F-19 Beta The skeleton work for this code is there, but the individual configuration screens have not been implemented.

03-Oct-2012: As the existing firstboot program is functional in our devel tree composes, we have this work slated for F-19.

anaconda replaces system-config-kickstart 28-Sep-2012 clumens F-19 The plan is to let users run anaconda as a standalone application that can generate kickstart files for other systems.
GeoIP data preselects time zone, keyboard layout, and language choices 28-Sep-2012 vpodzime F-19 For network-based installations, find the user's location via GeoIP and use that to preselect the time zone, keyboard layout, and language choices.
Split anaconda into library and driver/runtime package 01-Nov-2012 dlehman F-19 Split out the requires and whatever else is only needed to do an OS install into a sub-package so people can install the pyanaconda python module without pulling in every possible package that might get used during OS install. The hardest part of this is going to be implementing checks for external requirements for various pieces of functionality and gracefully handling what's missing.

01-Nov-2012 (dcantrell): dlehman recently announced the blivet Python library and the split out of anaconda components in to separate packages. There is still a lot of work to do here.

Completed Items

Title Last Updated Owner In Description
Lightbox 26-Oct-2011 akozumpl F-18 Alpha Lightboxes are used to bring user's attention to a modal dialog by visually darkening everything but the dialog and blocking most of the input into areas outside of it. This is quite straightforward to achieve on a website or with a composing window manager which allows transparent windows. For Anaconda (metacity) we have to workaround on the gtk/gdk level to achieve a similarly looking result.
Language selection widget 29-Sep-2011 mgracik F-18 Alpha The ListView in the center of the screen containing supported language names in their native language and in English, along with type-ahead support. Your solution should be the type-ahead filter box and scrolled list of languages. This will end up getting packed into something else in glade later, but figuring out how to get the list of languages is a good first step. The ideal solution will not involve any of the lang-names and lang-table crud we have now.
Date/Time spoke 15-Nov-2011 vpodzime F-18 Alpha Nothing exists for this spoke yet. The mockup we have is based off gnome-control-center.
Language spoke 15-Nov-2011 msivak F-18 Alpha We've already got one language-related thing on the welcome spoke right up front, but this is a different one - it'll be used to select the languages that will be installed on the system. Basically you are picking the language support packages. Whatever was selected on the welcome screen should obviously be included. Likely, much of that code can be reused.
Keyboard spoke 15-Nov-2011 vpodzime F-18 Alpha There's already a stub keyboard selection spoke in pyanaconda/gui/ui/spokes, but it doesn't do much besides display. The finished product needs to get a list of keyboards from somewhere (preferably, nowhere that anaconda maintains), the buttons should do something, and so forth. When applied, this spoke should both set the current keyboard and update ksdata.
Configure network spoke 03-Oct-2012 rvykydal F-18 Beta I think we need to divert from mockups so that we can (re)use nm-c-e for network configuration (nm-c-e for selected device is invoked by Configure button) while our own spoke UI code will be used just for network control - list of devices/access points, turning on/off, access point selection, status information - which is what gnome-control-center does in desktop. The initial UI is taken from g-c-c glade file, just some functionality and UI we don't need/support in installer is hidden and e.g. device description details are added. We need also nm-applet as Secrets Agent for wireless authentication. Network configuration is applied (as in desktop) only after configured device is restarted (using on/off switch). Video: http://rvykydal.fedorapeople.org/network_spoke.webm (note that it is taken using test harness in desktop, so in presence of nm-applet service).

03-Oct-2012: There is a network configuration spoke in the installer now and it works, though it may expand in future releases or have elements reworked. However, what is there now may be sufficient for F-18 Beta.

Existing firstboot program functional 03-Oct-2012 msivak F-18 Beta The existing/classic firstboot program is currently functional in Fedora 18 Alpha and nightly builds, which leaves us with a fallback place for the items that we intend to implement in the firstboot replacement spoke in the installer.

03-Oct-2012: Current devel trees that we have been composing launch firstboot and it works fine. This may be sufficient for F-18 final, want a comment from Fedora QA though.

Make isomd5sum interruptable 04-Oct-2012 bcl F-18 Final According to the install source mockups, there's a Verify... button that allows you to verify the installation source. This button would use isomd5sum to do this, which first requires Python bindings. I have a rudimentary patch at http://fpaste.org/Pckp/ that allowss this, complete with callback. However, making the Cancel... button work while isomd5sum is running requires further work. This needs to be done, and the results committed upstream and packaged appropriately (the Python binding would probably end up in its own subpackage).

04-Oct-2012: This functionality has been written and tested, but is not used as dracut now provides the capability we were originally writing this for.

Live image installation support under newui 04-Oct-2012 bcl F-18 Final Live installations should work under the new user interface in anaconda.
btrfs support 04-Oct-2012 dlehman F-18 Beta From dlehman: BTRFS should be fully functional in the beta. We expose subvolumes, data raid, and metadata raid through kickstart. Through the UI we expose subvolumes and data raid. There isn't really anything else I'm concerned with unless we decide we need to support compress at install time (you can enable compression post-install, but it won't retroactively compress the data laid down by the installer, which could be a basis for complaints/RFEs).

04-Oct-2012: btrfs is not the default filesystem in Fedora at the moment, but users can select manual or custom partitioning and create btrfs volumes in the UI. Works fine in a current devel test image.

Exception reporting 04-Oct-2012 clumens F-18 Beta While most everything has been moved into report, there's still a little bit of UI code under our control left for exception handling. This is either in python-meh or in pyanaconda/exception.py and pyanaconda/gui.py. The first thing to think about here is an API that will be common among both the TUI and GUI. Then, the existing exception handling code needs to be adapted to that API. Right now it just fails so we have no effective error reporting. Any anaconda work can be done right on the newui branch, but python-meh currently has no branch.

03-Oct-2012: Code to support reporting errors to Bugzilla is present and should be working now.

04-Oct-2012: Tested with latest devel compose and reporting works.

Text mode installer 25-Sep-2012 jkeating F-18 Beta From jkeating: Text mode mostly works, with the limited spokes.

I want to bring the text mode password spoke up to feature parity with the GUI one I wrote, mostly this is just validation of the password. That involves moving some code up to shared libraries and making use of that code from both spokes.

11-Oct-2012: Password spokes are now mostly in parity with shared code.

Kickstart installs 25-Sep-2012 jkeating F-18 Beta From jkeating: Kickstart is the big thing I'm working on right now. Unfortunately getting kickstart to work means fixing a bunch of other stuff so the patch set is having to go back a few times. Along with kickstart is support for "cmdline" which is a trigger to error out on any missing data (needs to be fixed for graphical mode too).

Serial mode I have not even tried, so that's on the list to look at.

As of right now, we only have timezone, root password, and a simple storage spoke (pick destination drive(s) and autopart style). I don't plan to have anything more for F-18.

11-Oct-2012: Text mode and graphical kickstarts are now functional. cmdline mode works. Serial mode works, interactively too not just with kickstart.

Prompt for VNC fallback 25-Sep-2012 jkeating F-18 Beta If gui mode fails to start, we need to prompt the user asking if they want to use VNC or proceed to the text mode installer.

28-Sept-2012: VNC prompt now functional, complete with password setting

s390x text mode installs 25-Sep-2012 jkeating F-19 From jkeating: tmux works like badness in x3270, either those two need to work together well (beyond my capabilities) or we need to /not/ run tmux when doing s390x installs (and not using ssh session to start it).

That brings up the next item, starting installs via ssh instead of directly in x3270. I fear that since this is how we've done it for a while, that taking it away will get some people angry. If we do allow installs via ssh, then tmux usage is actually a boon here because you can get access to logs and a shell without sshing in multiple times. We just have to figure out a flag for it, or make this the default and create a flag to tell the installer to run the install directly from x3270 (such a flag kinda exists for kickstart installs, but now we can do some interaction in x3270).

If doing text mode from x3270, we do need to fix up text mode a bit. The way x3270 handles screen printing beyond the buffer is to refresh the screen and start printing at the top, so anything on screen before you hit the end is lost. Not good if that's halfway through a dialog. So we could really use some way to trigger a full screen refresh before printing the next spoke, not sure if this is possible.

10-Oct-2012: s390x installs now function correctly. X11 forwarded over SSH is no longer supported.

Basic storage custom partitioning UI 01-Nov-2012 dlehman F-18 Beta From dlehman: The biggest missing piece right now is setting mountpoints for existing devices/filesystems.

The current UI for specifying "reformat this device" is to change the fstype, which of course doesn't provide any way to say "reformat this device with a new filesystem the same type as the current/old one". I may just add a "Reformat" checkbutton for this if mizmo doesn't have any better ideas.

Support for creating encrypted devices is still absent. Mostly it needs a way to get a passphrase for the new device.

There's a lot that's much better post F-18 alpha--particularly the device type switching and raid/btrfs. The basic flow is that you add a mountpoint, we create a device of the type appropriate to the autopart default. If you then want to change the type of that device, you clock on it and change the type using the combobox there. It's quite simple. If you have multiple btrfs mountpoints they're automatically converted to multiple subvols within a single volume spanning the disks. Likewise with lvs. Container sizes (vg, btrfs vol) are automatically adjusted to accomodate the defined devices.

Eventually we want users to be able to specify which VG a new LV will go in, or whichs disks to use for allocation (currently it's "all disks you selected"). We'll eventually need to support lvm-on-md (aka MD PVs). I don't know how much of this will end up getting pushed to F-19.

Support for manual-configuration-advanced-storage-devices is planned for F-19.

03-Oct-2012: More works now in the custom partitioning spoke than did in the Alpha. You can delete existing partitions, create new ones, and adjust formats and sizes. Some things currently noticed (bugs may or may not be filed for these, expecting QA and users to do that for things of dire importance):

  • Clicking the autopart button in the Manual Partitioning screen does not generate a traceback like it did in the Alpha.
  • Adding a new mount point wants a size in megabytes (or I don't know how to specify other units).
  • It is either not possible or not entirely clear to me how to reuse existing filesystems and just reformat them. My assumption here is this is pending functionality.
  • Strike the second item, you can use lowercase letters to specify other units, such as '10g' for a 10 gigabyte filesystem.
  • The box on the left listing mount points does not refresh when you change the size of it until you click a new mount point to look at.
  • The two gears button is not hooked up to anything yet, this is known.
  • For manual partitioning to take, you must click FINISH PARTITIONING in the lower right corner. There is no warning to indicate your changes will be lost if you click Back to destination selection.

01-Nov-2012 (dcantrell): I'm moving this item down to the completed table. The new basic partitioning UI is completed, but continues to receive regular bug fixes.

Easy multilib package installation from kickstart 01-Nov-2012 dlehman F-18 Beta From dlehman: It's a new option: %packages --multilib.

01-Nov-2012 (dcantrell): This has been present for a number of weeks now, moving to the completed items table.

Resizing partitions 12-Nov-2012 clumens F-18 Beta A major piece missing from custom partitioning right now is the partition resizing interface we refer to as tug-o-war. We originally had a very complex UI planned that involved custom widgets. However after further discussions and in the interests of time, mizmo has done a redesign that is much simpler. Thus, we can expect this to be done much faster.

03-Oct-2012 (dcantrell): A large patch set implementing the latest UI design and backend functionality for resizing has been posted for review. It has been tested locally and should be working once it is committed to the master branch.

12-Nov-2012 (dcantrell): The Reclaim Space functionality has been implemented. Users selecting disks are shown how much free space is detected. If there is insufficient disk space, the user is presented with a lightbox when they click Continue that explains the situation. The user can click Reclaim and it presents a tree listing of what volumes are on the system. For each volume, the user is given three options: Preserve (default), Shrink, or Delete. Shrink will shrink the selected volume to the minimum size it needs to be (this is based on used space on the volume). Delete obviously deletes. As the user makes selections in this tree listing, a total reclaimed space value is shown at the bottom. Once they have enough space to continue, that option is made available.

Moving this one to the completed items list.

Fixing translations 12-Nov-2012 clumens F-18 Final When you change language on the welcome spoke, all of anaconda should then be in that language (including the welcome spoke itself). In the alpha this is pretty broken. The items from the C widgets on the welcome spoke do not retranslate, and lots of stuff on the hub and spokes do not retranslate either. clumens has work underway to fix much of this, but it's still missing pieces. Note that there don't appear to be any serious problems with the translated text itself.

03-Oct-2012: A lot of backend work has happened in the past week for this problem. Code has been committed but there are likely more changes necessary. This continues to be an active work item for F-18 Beta.

01-Nov-2012 (dcantrell): clumens has been working on getting translations working correctly over the past few days and has made good progress. This looks on track for F-18 Final.

12-Nov-2012 (dcantrell): Translations now load as expected. Moving this to the completed items list. At this point, the translation problems we see will most likely be missing strings in po files.