Also, compacted the code parsing command line parameters; removed class
and cli option MessageBoxTest as it adds to code complexity, plus that
the application is not meant to be used as testing infrastructure.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
- Removed DebugHelp. The user settings are normally not meant for debugging code.
- Moved HelpId logic from the main window to the tab pages.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
* CP-30958: Initial implementation of the Conversion Manager in XenCenter.
* Corrections following review and improvements.
* Further corrections and improvements.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
CP-31527: Add notifications in XenCenter for versions that are no longer eligible for hotfixes
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
- Removed option to show host only vs pool properties on the Search Tab
when selecting a host within a pool. It is out of place and confusing
because the items under the host don't follow suit. The same result can
be achieved using the filters on the Search Tab.
- Added option to disable remembering the last selected Tab per object
as it can be annoying when trying to compare data on the same Tab for
different objects.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
Signed-off-by: Aaron Robson <aaron.robson@citrix.com> (+1 squashed commits)
Squashed commits:
[170a204c] CP-29875: Campaign/Version number should have underscores as separators not points.
Signed-off-by: Aaron Robson <aaron.robson@citrix.com> (+1 squashed commits)
Squashed commits:
[ead4af87] CP-29857: Ensure that the help URL is fully lower case.
Signed-off-by: Aaron Robson <aaron.robson@citrix.com> (+2 squashed commit)
Squashed commit:
[0350c0a6] CP-29875: Include campaign, medium and source in the help URLs.
Signed-off-by: Aaron Robson <aaron.robson@citrix.com>
[1e1c1c1c] CP-29875: Refactor and unit test current help URL behavior.
Signed-off-by: Aaron Robson <aaron.robson@citrix.com>
Also, simplified the logic selecting the single update when we leave the
SelectPatchPage so as to avoid ambiguities in which properties are to be set
and refactored the error handling methods to avoid duplicate checks and
provide the right error message (for example, the error message was misleading
for a non-existent path; or, the level of detail provided in the case of
invalid zip content was of lesser relevance to the user).
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
This PR is aimimg to (1) fix a regression introduced by #2223 whereby the toolbar items did not have the correct state on first launch; (2) improve performance by removing some updates which I believe are not needed.
* Removed some duplicate calls to RefershTreeView and UpdateToolbars because
they are called within the action's Complete event handler.
Also, normalise the way the treeview refresh is requested by the various actions the
commands are launching.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
* Removed some explicit calls to refresh the treeview since this is done by
the connection result handlers.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
* The toolbars and tabs should be updated every time the treeview is refreshed.
This should happen when the refresh event is handled rather than calling
UpdateToolbars explicitly after a treeview refresh is requested; also, it is
the treeview refreshes that should be throttled and not the toolbar and
tab updates (the throttling mechanism may need correction).
Also, removed unnecessary Invoke as we are already on the UI thread.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
* Simplified UpdateManager.Update event declaration.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
* Correct out of range percentage and throw an assertion instead of silently
logging it so we can fix the causes of it. Compacted method logic.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
* Exception handling: prevent InvalidOperationException if the health check service
is not found on the computer (installation is optional).
Do not throw exception and handle if the task handle is invalid, but rather
throw it only for other cases of task.status being failure.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
This avoids firing the ConnectionClosed event explicitly after EndConnect;
it also avoids refreshing explicitly the tree as the main Window handles the
ConnectionClosed event which requests a refresh.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
pop-up, otherwise the UX is slightly strange if the failure appears on the
status bar only after the user has closed the pop-up.
Also, improved failure message shown on the History page.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
Due to the delay interval between refreshes, this UpdateTolbars was called
before any root nodes were added to the tree, hence the only new tab to
add was Search, which got selected (previously this did not happen,
because it was taken for granted that the root node was added by the constructor).
Immediately afterwards the treeview was refreshed, the root node was selected and the
home page was added, but the selected Search tab was erroneously preserved.
Also removed extra RequestRefreshTreeView because the tree will be refreshed,
if required, by the handlers of the connection events.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
- The new logic of adding/removing tabs in the ChangeToNewTabs method also fixes
tab-title flickering when we move from the Home node to a disconnected host.
- Renamed enum members Tab.Overview to Tab.Search and Tab.Settings to Tab.General
since the pages mapped to them are TabPageSearch and TabPageGeneral respectively.
- Do not call directly UpdateToolbarsCore but rather UpdateToolbars since the
latter takes account of the queued requested updates.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
With this change, following are working:
1) After applying XS75E003-5 only restart host, no restart toolstack
2) After applying vGPU driver on 7.4, restart host happens
Signed-off-by: Ji Jiang <ji.jiang@citrix.com>
- When the host/pool was disconnected or when changing selection from connected to disconnected pool
the header was not updated with the new licence status.
- If the pool hosts' edition is none of the known editions, show unknown, not free.
- Tidy up: moved the Pool.LicenseString method to Helpers.GetFriendlyLicenseName.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
* Using web help instead of local Proof of Concept working.
Please note that some of the HelpIDs in the HelpManager had a mapping to the web page name.
Some are not used anymore, but they should be checked.
* Removing the help files (.chm) from the project, will require changes to the installer scripts.
* Setting the locale in the HELP_URL.
Signed-off-by: Aaron Robson <aaron.robson@citrix.com>
from this an object with selected TabPageFeature to a different object with a
deselected TabPageFeature.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
life browsers and allow the user to see the status even if other actions are taking
place. Removed webClient use from the browser; instead try sequentially to navigate
to all Uris until one succeeds; this avoids sending duplicate requests and allows
the user to see all endpoints tried out. Reworked the WebBrowser event handlers
to ensure the UI reflects correctly the browser state.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
Created a new base class for the Notifications pages (Alerts, Updates, Events). This can be used in the future to host more of the common code between these pages. For now, it implements a common mechanism for showing/hiding the page and ensures that the event handlers are deregistered when the page is hidden (i.e. when the user switches to a different view) and registered again when the page becomes visible
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
* CP-25081: UI improvements for USB passthrough
* CP-25081: Show text when AttachUsbDialog list is empty.
* Fix comments.
* Improve the presentation of warnings in USBEditPage.
* Update warning text of attach usb dialog.
* Simplify the layout of Attach USB Dialog.
* Check if USB devices plugged before showing UI.
* Fix comments.
* Fix comments.
* Improve code.
* CP-24412: Apply a filter before adding USBs to candidate list in Attach Dialog.
* CP-24333: Apply HA restraint.
* CP-24412: Fix a merge error.
* CP-24412: implement actions to attach/detach/passthrough.
* CP-24412: Add license check before making UI components visible.
* CP-24412: Change layout of new components to Dpi.
* Fixed all comments.
* Fix comments.
* fixed comments
* CP-24707: Add license status information to the title bar for pool and hosts
Signed-off-by: Gabor Apati-Nagy <gabor.apati-nagy@citrix.com>
* CP-24707: Add license status information to the title bar for pool and hosts
Show expired licenses as Unlicensed in the Header
Signed-off-by: Gabor Apati-Nagy <gabor.apati-nagy@citrix.com>
* CP-24707: Add license status information to the title bar for pool and hosts
Improvements, fixes following the code review
Signed-off-by: Gabor Apati-Nagy <gabor.apati-nagy@citrix.com>
* CP-24707: Add license status information to the title bar for pool and hosts
More code to make it nicer
Signed-off-by: Gabor Apati-Nagy <gabor.apati-nagy@citrix.com>
* CP-24707: Add license status information to the title bar for pool and hosts
More code to make it even more nicer
Signed-off-by: Gabor Apati-Nagy <gabor.apati-nagy@citrix.com>
* CP-24331: Add UI for UsbTab and VM Usb Property
Signed-off-by: Kun Ma <kun.ma@citrix.com>
* CP-24331: Update XenAPI reference
Signed-off-by: Kun Ma <kun.ma@citrix.com>
* CP-24331: Add AttachUsbDialog
Signed-off-by: Kun Ma <kun.ma@citrix.com>
* CP-24331: Refine UI changes
Signed-off-by: Kun Ma <kun.ma@citrix.com>
* CP-24331: Discard UsbList and little refining to code
Signed-off-by: Kun Ma <kun.ma@citrix.com>
* CP-24331: Refine UI code
Signed-off-by: Kun Ma <kun.ma@citrix.com>
* CP-24331: Refine USBEditPage
Signed-off-by: Kun Ma <kun.ma@citrix.com>
* CP-24331: Refine USBEditPage
Signed-off-by: Kun Ma <kun.ma@citrix.com>
prevent them from being serialised alongside the API properties. This will also
be useful for moving the API bindings out of XenModel.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
once for all the items to be removed, passing in their list as argument. This method,
and the method Clear calling it, are used for alerts, updates, events and connections,
hence changed the handling of the CollectionChanged event in these cases to expect
either a single item or a collection. In the case of alerts, updates and events
this means that we can rebuild the whole list instead of removing single rows which
causes the application to hang for big numbers of items.
- Added more items to the metadata; the content is now slightly different between the SSR produced in XenCenter and the one from the HealthCheck;
- Encode the metadata string before sending it to the Health Check;
- Always suppress history for the action that sends the proxy settings;
- Renamed some of the new classes;
- Also refactored the actions that send data to the HealthCheck service.
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
- XenCenter sends its telemetry info to the HealthCheck service
- The HealthCheck service saves this metadata in its settings file and includes it in the health check upload
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
Suppress updates to the status when the PureAsyncAction runs the action to populate the ApiMethodsToRoleCheck
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
In addition to ticket requirements, the console size is updated when the console is:
- resized in undocked mode
- resized manually by dragging window edges
- resized by dragging the panel splitter
Signed-off-by: Letsibogo Ramadi <letsibogo.ramadi@citrix.com>
Implemented a generic mechanism to allow tab pages to unregister their event handlers when they are hidden (when a tab page gets deselected)
Also changed VMStoragePage to derive from BaseTabPage, so it could use the same mechanism.
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
- Correction in the text on the PVS Cache configuration page
- Added help IDs for all new dialogs and the PVS tab
- Help button on the Enable PVS read caching dialog, plus some adjustments in the controls sizes on this dialog
- Removed minimize and maximize buttons from the PVS servers dialog, and added the help button
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
2 new radio buttons in Connection Options page, for Basic and Digest; Digest is the default as it's the most secure.
New proxy authentication method setting, which is used to configure XenAPI's HTTP class and the .NET AuthenticationManager (which handles which authentication schemes can be used by the .NET web classes).
The new setting is also transferred and used by the Health Check service.
The bug noted in CA-214653 also occurs here, but the work-around on PR#1201 for that bug will also work for this.
Signed-off-by: Frezzle <frederico.mazzone@citrix.com>
* CP-16922: UI changes to PvsPage to replace the single configure button with a separate enable and disable one, per the design doc
* CP-16922: Intermediate checkin - command + dialog implemented, but PVS page has some layout problems.
* CP-16922: Implement GUI for enabling PVS read caching and marking/unmarking VMs for prepopulation
Fix the broken layout by reverting MainWindow.resx (which shouldn't have changed) back to the previous commit. Also removed duplicate properties button code.
* CP-16922: PVS Page changes, to properly display all VMs (not just ones with proxy), only populating proxy columns if there is a proxy set.
* CP-16922: Use a CommandButton for the enable button, connected to the same command as the VM main menu button, and using the table selection as its selection manager.
* CP-16922: Delete the old enable button click behaviour (because it now has a proper command), was causing the dialog to show up twice
* CP-16922: Properly list VMs by hiding those that should be hidden (in addition to non-VMs, also hide the __gui__ prefix and others covered by Show function). Also fixes a bug in NewVMGroupVMsPage discovered when fixing this - it would show VMs that should be hidden if you used the search bar.
* CP-16922: Use ButtonText on the Command to set the text on the PVS enable button
* CP-16922: Add the disable PVS read-caching command, and its associated proxy destroy action. Both based off enable equivalents (main difference is no dialog for now). Not used yet but will be in main window menu + disable button
* CP-16922: Add disable PVS read-caching to the main window menu (under enable), with the disable command attached to it
* CP-16922: Add support for disabling PVS read-caching for selected hosts via the PVS tab page by converting the disable button into a CommandButton in the same way as the enable button, using its own command + selection manager (because Selection Managers only bind to one control)
* CP-16922: Design - adding the "read caching enabled" column from the design, so that we display both whether caching is enabled and whether the VM is currently cached. If it's disabled all other values are missing.
* CP-16922: Add the PVS site column per the design to show the site a VM's PVS Proxy is on if it has a proxy
* CP-16922: Add an event handler for VMs changing so that newly provisioned VMs immediately show up in the PVS tab page
* CP-16922: Support for properly remembering the selection when the VM list is refreshed. A new method returns the list of VMs for the selected rows, and we can then check if the VM for the row being added is in this list. If there was no previous selection then we still select the first row by default.
* CP-16922: Remove prepopulate, which is being removed from the design. The next XAPI version will remove it, so just pass False as prepopulate for now, and remove the option from the dialog and PVS tab page.
* CP-16922: Improve UI appearance for a missing Storage Repository. Per the design, if there is no SR show the message None (memory only) instead of an empty cell
* CP-16922: Improved sorting behaviour. All columns (except VM name, which always uses it) use the VM tag as a sorting fallback (since they all have duplicates). New default sort which sorts by caching enabled first (yes before no), and then VM tag as a tiebreaker. Support for remembering the current sort on refresh, ie when a value changes.
* CP-16922: Refactoring to use a VM extension method to get the PVSProxy (or null if none exists) for a VM. This was used in the PVS Page + commands which are now much simpler.
* CP-16922: Move where the SelectionChanged event handler is set when refreshing the PVS table, so that the command buttons are updated correctly.
* CP-16922: Improvements to PVS read-caching dialog. Set accept/cancel buttons properly + adjust tab values, so focus acts as expected
* CP-16922: Remove the images from the menu for Enable/Disable PVS read-caching, most commands in the menu don't have one
* CP-16922: Sorting out the strings for the actions + ParallelAction calls, and moving them into the resx. Also reverting wrong MainWindow.resx changes.
* CAR-2184: XAPI changes. I've made the minimal possible changes to PvsPage to ensure it compiles, but it's had a lot of feature work (CP-16922) that supersedes this, these small changes should keep that merge painless.
* CAR-2184 XAPI: Reverse the unrelated changes, only keep the PVS ones.
* CP-16922: Merge latest XAPI changes, notably changes to Pvs_site.create
* CP-16922: Change tab show/hide logic for PVS tab, show it even if there are no PVS sites.
* CP-16922: Implement GUI for enabling PVS read caching
Design changes - remove the storage repo column and replace it with status, which is populated with a friendly version of the pvs_proxy_status enum. Also populate site list using site.name_label
Signed-off-by: Callum McIntyre <callumiandavid.mcintyre@citrix.com>
* CP-16922: Implement GUI for enabling PVS read caching
Adjusting the CanExecute of Enable PVS read-caching command to require at least one PVS site to be created. Since the PVS tab can show up without any sites, we need this because we can't create a proxy without a site.
* CP-16922: Code review changes.
Tidied up messages, and ensured actions run async properly, and without exiting before their task.
* CP-16922: Code review changes.
Update dialog resx, wider combobox on dialog, update action descriptions before setting RelatedTask, add friendly message body for PVS error notifications.
avoid buttons on the console tab overlapping. Removed some panels from the console
tab to reduce control nesting.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
- tab visible on pool or standalone server if the feature is not restricted and the pools has at least one farm
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
Now transfers proxy credentials in encrypted format and checks for default empty credentials when loading them for first time.
Fixed a break in unit test in HTTP.ReadHttpHeaders().
Signed-off-by: Frederico Mazzone <fredericom@citrite.net>
Removed last bits of code relating to "Bypass proxy server for local addresses" option.
New proxy settings are sent from XenCenter to health check service and used to configure the proxy using GetProxyFromSettings().
Health check service now correctly saves its proxy settings and updates the static Proxy property for the Session class; done in new ReconfigureConnectionSettings().
Signed-off-by: Frederico Mazzone <fredericom@citrite.net>
Added 2 textboxes for proxy username and password; encrypted when saved and decrypted when loaded.
Added 2 checkboxes; one for bypassing proxy for xenserver connections, one for providing proxy credentials.
Removed checkbox for bypassing proxy for local addresses.
Controls are no longer enabled/disabled when the related proxy option is selected/deselected.
Making changes to a control (e.g. username, bypass checkbox, etc) selects the 'Use this proxy server' option automatically.
Removed "Bypass proxy server for local addresses" option.
Basic and Digest authentication implemented. Tested with FreeProxy (Basic+Digest), CCProxy (Basic) and AnalogX Proxy (no authentication); each were tested with correct credentials, incorrect credentials and missing credentials; all gave expected results.
Signed-off-by: Frederico Mazzone <fredericom@citrite.net>
Added AD-related strings to japanese and chinese resource files; still need translation.
Changed F1/Help mapping of the AD upsell tab to go to the 'Managing Users' help page.
Signed-off-by: Frederico Mazzone <fredericom@citrite.net>