Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Roadmap! #61

Closed
26 of 27 tasks
Deadpikle opened this issue Jun 23, 2019 · 10 comments
Closed
26 of 27 tasks

Roadmap! #61

Deadpikle opened this issue Jun 23, 2019 · 10 comments
Milestone

Comments

@Deadpikle
Copy link
Collaborator

Deadpikle commented Jun 23, 2019

Current item being worked on: finishing up! Creating update guide (half done), deprecating old NuGet for NetSparkle.New, etc. Almost there!

Hi everyone,

This repo has been around for quite some time, and I've never gotten around to making a 2.0 version of NetSparkle.

Here are my goals starting in August 2019 (not given in order):

Complete

  • Go through the code and clean it up
  • Make names of fields, events, etc. consistent
  • Finish any refactoring work
  • Totally, 100% separate the UI from the update logic. Have two separate UI DLLs: one for WinForms and one for WPF. The UI Factory can always be utilized for your own UI.
  • Create a NetSparkle organization and move this repo there for easier discoverability (See [Input Wanted] Organization Name #73 -- name chosen; just need to create it and move repo)
  • Push an update to the original repo here that points people to the new organization (Waiting on above bullet point)
  • Start pushing 2.0 alpha/beta builds to the NetSparkle NuGet repo for testing and better Google-ing (See Improve continuous deployment #84 -- about 50-75% done)
  • Other enhancements to NetSparkle
    • Allow for custom object that will download app cast
    • Allow for custom object that will download update file(s)
    • Allow for custom object that handles app cast downloading and parsing
  • Update this SO post via a comment so that people can see from there that new things are happening
  • Test (and fix if necessary) SecurityMode.UseIfPossible based on the report in Documentation Updates #89 -- may not work when a signature isn't available
  • Create update guide from whatever version is there to this version (can probably just crawl through repo histories / fork history to do this) [WIP already, see README.md]
  • Make sure documentation for this project is good enough for new users who will be investigating things from NuGet (Update: Good enough for now. We've got docs up on the website now as well as XML docs most everywhere, plus gitter and other things here in README.md)
  • Create new logo/icon (tracking this in [Help Wanted/Discussion] New icon for 2.0 #100)
  • Update README.md appropriately (badge for NuGet repo, etc.)
  • Bump this version up to "2.0" so that it looks like an upgrade from random folks who don't know the fork of a fork of a fork history of NetSparkle, especially since it probably breaks compatibility
  • Deprecate NetSparkle.New.Tools in lieu of NetSparkleUpdater.Tools and remove from search results

Not complete

  • Decide if core package will be NetSparkleUpdater.Core or NetSparkleUpdater.SparkleUpdater.
  • Create NetSparkleUpdater.SparkleUpdater feed and update all refs in projects, etc. to point to that package (tools & WinForms .NET Framework nuspec updating too)
  • Deprecate NetSparkle nuget feed and point people to NetSparkleUpdater.NetSparkle (I did not originally create this feed but have been given rights to write to it)
  • Deprecate NetSparkle.New nuget feed and point people to NetSparkleUpdater.SparkleUpdater -- add new version with just a readme.txt pointing people to the new repo/nuget or something
  • Consider manually adding a new version with a readme to point people to the new version along with deprecation (see tutorial here)
  • Unlist old NetSparkle packages under our control to remove confusion
  • Update repo releases page with info on v2.0 and binaries to download (can manually grab these from NuGet for now)
  • Update Microsoft docs and the WinSparkle issue I filed to point to NetSparkleUpdater
@Deadpikle Deadpikle pinned this issue Jun 23, 2019
@Deadpikle Deadpikle changed the title Roadmapl Roadmap! Jun 23, 2019
@Deadpikle
Copy link
Collaborator Author

Clearly I didn't start this in August. But I am starting today in October! So I'm not dead -- if there are any urgent issues, please let me know so that I can get them fixed more quickly for your use case.

@Deadpikle Deadpikle added this to the 2.0.0 milestone Oct 27, 2019
@Deadpikle
Copy link
Collaborator Author

To track progress, check out the 2.0.0 milestone and/or watch issues and/or watch recent commits to see what I'm working on. Soon™️!

@cjmurph
Copy link

cjmurph commented Nov 17, 2019

Hi, I just want to throw this idea out there regarding the separation of the user interface from the core netsparkle project.

Can I suggest that netsparkle just throws events and doesn't open dialogs at all, that it doesn't need a uifactory?

The GUI specific projects for wpf and winforms could reference netsparkle, wrap sparkle to make sparklewpf and sparkleforms that do pop dialogs and have the uifactory etc, but that are in fact just responding to events from an internal sparkle instance.

I can make a branch and quickly mock something up to explain better if it doesn't make sense.

@Deadpikle
Copy link
Collaborator Author

@cjmurph Hi!

It's an idea. I think I understand what you mean -- keep the core event handling and updates in NetSparkle.dll and all UI handling elsewhere.

I think the biggest problem I see with it right now is the repeated logic between the two UIs. It also becomes much more labor intensive to create your own UI (something I want to keep easy), as it means a lot more work/copied code. There might be a clever way to avoid that...but the layering necessary to do so (another UI project/dll that the UIs derive from?) probably isn't worth the effort/obscurity in terms of code.

Open to arguments/ideas otherwise! :)

@cjmurph
Copy link

cjmurph commented Nov 18, 2019

I've made a rough go at it here https://github.com/cjmurph/NetSparkle/tree/seperate-ui
there's definitely a cleaner way to do it to reduce maintenance, but you'll get the idea.
It builds and the test apps work.

@Deadpikle
Copy link
Collaborator Author

@cjmurph Not wanting to ignore what you've done. I've got a busy week this week. If you want your other PR merged for work/software reasons, let me know. Otherwise it'll sit tight for a few days. Thanks. :)

@cjmurph
Copy link

cjmurph commented Nov 19, 2019

No rush, just trying to help and give some different ideas. If it's not the direction you want to go, that's cool too :)

@Deadpikle
Copy link
Collaborator Author

Moving this discussion on further refactoring to #77. Thanks, and sorry for the wait.

@flemingm
Copy link
Contributor

Great Work!

@Deadpikle
Copy link
Collaborator Author

2.0 is now finally, finally, finally, finally, finally released. Ooof, that took a while.

🥳

@Deadpikle Deadpikle unpinned this issue Apr 21, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants