Soloplan / whatson

Build status monitoring for Windows with support for Jenkins, Travis-CI, CC.NET (alternative to CCTray)
MIT License
19 stars 4 forks source link

Build notifications #60

Closed skowront closed 4 years ago

skowront commented 4 years ago

Windows ToastNotifications are now available.

Notifications show following information: Project name, project group, status. For JenkinsProjects there is an additional progress bar on project.state equal to running. When a notification is clicked whatsOn app will focus on a project that notification is bound to. There is also a button that opens a project page in our browser.

To create toasts there is a new class ToastGenerator that in combination with virtual method MakeToast() of particular ConnectorViewModels build toast templates. There is also a new virtual method to create NotificationData for updates of toasts, that implemented by connectors allow us to create particular toast updates. There is a need to hold information about sent toasts to be able to update them and remove in some cases. For this purpose ToastManager was created.

There was also added code from configurationfiles branch to test old configuration files.

To make toasts work there is also an MSIX installer for windows apps. It works just like windows appstore application's installer. As a consequence running whatson from Soloplan.WhatsON.GUI project might fail (because of plugins folder displacement for msix purposes and because unregistered application notification cause an exception when used), and it is highly recommended to simply run it from Soloplan.WhatsON.GUI.Startup. It is still fully debuggable.

To make installer work properly, and copy proper directories to the output directory, some changes to build destinations were made, and some additional directories were manually added do the Startup configuration file (Soloplan.WhatsON.GUI.Startup.wapproj) also with CopyToOutputDirectory set to true.

TODO: signing the package and the .dlls inside the package.

skowront commented 4 years ago

Needs tests and work with merge, done on other branch.