Updating several parts of app?

Asked by Zedr0n

I maintain and develop a port of x11/gtk application and although I'm a very newbie cocoa programmer(I'm a c/c++/asm guy) to improve the user experience I decided to write a cocoa wrapper. Yes, it's not very elegant solution but I'm not the main maintainer and moving from gtk to cocoa is a very long-term goal.

The application has modular structure with the support of plugins(which are basically .dylib files in subdirectory). What I'd want to be able to do is to be able to update the plugins themselves(and actually keep the old version too). So, ideally, I have a plugin repository online and as soon as a new version of plugin comes out, the user is prompted to download and install it.

That's a bit different from updating the whole app, so I was wondering if leveraging sparkle for this can be done in a neat way.

There are similar questions answered, but as far as I see from "Updating libraries within an app" the feature has been implemented but is it available now?

Thanks in advance for answers

Question information

Language:
English Edit question
Status:
Answered
For:
Sparkle Edit question
Assignee:
No assignee Edit question
Last query:
Last reply:
Revision history for this message
Andy Matuschak (andymatuschak) said :
#1

You'd want to write your own SUUpdateDriver subclass to handle it (and wouldn't use SUUpdater at all, probably). Shouldn't be too hard, though. Check out the existing SUUpdateDriver subclasses for examples.

Revision history for this message
Zedr0n (zedr0n) said :
#2

Sorry for naive questions, but let's say i have several plugins updated, will they each show up as a new app update then?

Revision history for this message
Andy Matuschak (andymatuschak) said :
#3

You would be controlling the UI side yourself, using Sparkles mechanisms to drive the individual updates. This will require some plumbing in Sparkle's codebase.

Revision history for this message
David Athay (david-athay) said :
#4

My co-worker Joseph Elwell and I are working on a modification to the source that will allow us to create both diff and replacement patches for what we refer to as "components". The idea is that our patches will be based on a file list and it is that file list that will be verified against instead of verifying against the entire app as per current functionality.

This solves part of what you are talking about (patching a module). As far as keeping an existing module around, that is outside of our current scope as we don't personally have a need for that.

Not sure when we will have this ready for the general public but keep an eye open for a release from us.

--David

Can you help with this problem?

Provide an answer of your own, or ask Zedr0n for more information if necessary.

To post a message you must log in.