Skip to main content

Notice

Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Topic: foo_autoupdate (Read 44649 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

foo_autoupdate

Now there finally is a [a href='index.php?showtopic=78708']proper full-fledged component manager[/a] getting done, I'm not ashamed to show what I tried to do.
It's another thingy which checks for component updates in configured intervals or when invoked manually.

Of course, you have to ask:
Why the hell doesn't it really update anything in the end?
Well, I thought about all that in the distribution part (scripts for extracting relevant files from ZIP and other archives to correct locations and updating other bundled files) as well as the installation part (system-wide service to allow automatic updating for users with no local administrator privileges), but then I realized another thing. "Hotlinking" the component files from around the internet bypasses their authors, their release notes, their ads, and I'm not going to do that. I could rehost the relevant files myself, but that doesn't solve all those problems. So I ended up with it just as a notifier and that's probably it. Also see the first sentence

I played with other unimportant details though, here is some short list:
* Uses the official component repository and the xrea.jp wiki page as a source (updated each 2 hours)
* Works over HTTP, using JSON based extensible protocol
* Compressed transport (bandwidth costs, CPU time is cheap)
* Secure connection using challenge/response authentication and RSA signature
* Certain updates can be hidden (useful for beta versions etc.)
* Shows status (outdated, up to date, bundled, etc.) for all installed components
* Disabled when current user doesn't have write permissions to the installation folder, not even when elevated
* Collects various interesting and uninteresting statistics (when enabled; see here)
* Allows 3rd party components to add their statistics using public API.
* Can show additional information about components in HTML.
* Server can send additional message to all users when needed.
* High-DPI compatible!
* ...I don't remember anymore 

You can download the component here.
Full-quoting makes you scroll past the same junk over and over.

foo_autoupdate

Reply #1
Well,'tis a nice idea. I hate having to go to Troubleshooting in Foobar2000 every time I want to see if there's an update available.

foo_autoupdate

Reply #2
Thank you
I like this component.

I tried it and it claims Biography view 0.4.0.2 as the latest version, although i already installed 0.4.0.3.
I guess its caused by an older file hosted on the japanese components page?
Is it possible to check the installed versions and only list higher versions for update?

foo_autoupdate

Reply #3
This is interesting
I wonder how it will end: with merging two components together or extending each individuality through time
Anyway it's good to have them both, like two Text Tools components

False positives:
Discogs Tagger: Mine: 1.23; Suggested: 1.22
Random pools: Mine: 0.0.1; Suggested: same
Seekbox: 0.0.1; Suggested: same
Biography view: like Tedgo said

[edit] very interesting statistics ,who would think that all that info can be collected in a glimpse
maybe foo_autoupdate should be excluded from popularity list

foo_autoupdate

Reply #4
OK, I've added some better check to the server whether a version is newer or not. Though it's not so easy for all the version format people generate
If it doesn't help, that's what the "Don't show this update anymore function does" - it hides only this particular [foo_component_name, version_suggested] pair.
Full-quoting makes you scroll past the same junk over and over.

foo_autoupdate

Reply #5
very nice work. thanks.

i'm liking the stats pages as well.

foo_autoupdate

Reply #6
very impressive for a first launch
i'm following this carefully
many thanks

foo_autoupdate

Reply #7
when are statistics updated?
only on first run?

[edit] OK, it seems that's on every update, so if there are some hardware changes or else component picks them on startup

foo_autoupdate

Reply #8
Very impressive indeed, especially the stats part !

foo_autoupdate

Reply #9
maybe foo_autoupdate should be excluded from popularity list
Yeah, it's obvious it will be #1 on its own list
But maybe this obviosity is the reason why I don't find the component distracting there. "Core" is obvious too, but I left it there as well to be able to see its detailed version statistics.

when are statistics updated?
only on first run?
[edit] OK, it seems that's on every update, so if there are some hardware changes or else component picks them on startup
Yes, but that's also why the current calculation might be a bit skewed, all stats sum all input data, not just the latest for one IP or something. I thought that this wouldn't be very evident in the long run, with many submissions. If I was going to change it, it would be rather to sum up the data once a while instead of each time a page is viewed, because the aggregate SQL queries tend to be ugly.
Full-quoting makes you scroll past the same junk over and over.

foo_autoupdate

Reply #10
Really nice work there Yirkha  It seems a lot more polished than my attempt, especially for a beta component!

foo_autoupdate

Reply #11
nice, thanks

foo_autoupdate

Reply #12
Both components update managers look nice. Maybe you guys could collaborate and merge the code, creating a better component. In the end Peter might be willing to merge the code into fb2k itself and replace the Troubleshooter. It would certainly increase user satisfaction and might reduce crashes a lot.

foo_autoupdate

Reply #13
Wow, really great component. I prefer downloading the components myself than having a batch moving files without knowing what happens, I like the statistics, and I also like the HTML page that has the same feeling than the other help pages, so this one is perfect for me.

I can't believe it's just a "0 beta".

foo_autoupdate

Reply #14
So, what's the verdict on this component's development?  Will this component continue to be developed alongside fraganator's for the time being, or is it just a proof of concept?

foo_autoupdate

Reply #15
I'm using foobar2000 trough wine, everything works fine except that it doesn't open the browser to see the webpage with the differents links, could you add the link in the window so that we can go to the link manually ?
Sorry for the bad english, I'm french .

foo_autoupdate

Reply #16
Yes, but that's also why the current calculation might be a bit skewed, all stats sum all input data, not just the latest for one IP or something. I thought that this wouldn't be very evident in the long run, with many submissions. If I was going to change it, it would be rather to sum up the data once a while instead of each time a page is viewed, because the aggregate SQL queries tend to be ugly.

well, latest per IP seems interesting too, like real live view, and also maybe component could unique itself per foobar instance
just a thought, as you've probably thinked all out

foo_autoupdate

Reply #17
In the end Peter might be willing to merge the code into fb2k itself and replace the Troubleshooter.
In the end, he might just create something himself, much tightly integrated to the core, essentially a new component interface with more focus on component management.
Also note that the Troubleshooter is not reporting "updates", it's merely a manually maintained list of problematic component versions based on the feedback from the crash log tracker. If the old version does not crash, it won't help you. The added link is only a good will from Peter to go and search for the updated version.

So, what's the verdict on this component's development?  Will this component continue to be developed alongside fraganator's for the time being, or is it just a proof of concept?
Good question. I'm not going to pull it, but I'm not going to improve it either.
First because there is nothing I would like to add at the moment - during the time I was evaluating its usefulness and whether to release it, I had a lot of time to remake some parts a few times as I got new ideas and play with many minor details, thinking there is no excuse for not providing people with the optimal user experience. This is why the component might seem quite polished.
Secondly, I can solve minor problems on the server side instead of releasing bugfixes for all people to install. That happened 6 times already and it's a great feeling.

I'm using foobar2000 trough wine, everything works fine except that it doesn't open the browser to see the webpage with the differents links, could you add the link in the window so that we can go to the link manually ?
Well it uses the same way to open the file as e.g. Help > Title formatting help, that doesn't work either, right?
Maybe check if [font= "Courier New"]HKEY_CLASS_ROOT\.html\shell\open\command[/font] points to a right place. Or try some [font= "Courier New"]WINEDEBUG[/font] flags like here to know what exactly happens.
Anyway, you can also find the generated log file as [font= "Courier New"]fb2k-au-<timestamp>.html[/font] in the TEMP directory, wherever it is for wine, and open it manually...

well, latest per IP seems interesting too, like real live view, and also maybe component could unique itself per foobar instance
Yeah, I didn't include some unique "installation ID", I have a feeling people don't like opaque tracking IDs and things like that, especially as it would be probably sent even with advanced statistics reporting disabled. And I would also have to release a new version now, which I don't want, see above. Some hash for example from IP and a few HW/SW/fb2k variables will probably be almost as good.
I didn't really think the web part of the statistics through much, I'm happy they are online and available now  There probably could be real-time short term statistics for last week (month?), with no duplicate elimination or other processing, and long term statistics with more relativization. I think the whole data set hides much more interesting data, e.g. you could get popularity graphs for individual components in time, or answering questions like "Do notebook users have more autoplaylists than desktop users?". Maybe I should set up a blog for that sometime...
Full-quoting makes you scroll past the same junk over and over.

foo_autoupdate

Reply #18
And I would also have to release a new version now, which I don't want, ...

If you ever change your mind about that, you might think about another name
(foo_updatecheck?, foo_updatestats? ).
Oh well, you also released a useful plugin called foo_jesus, so what's in a name afterall.
In theory, there is no difference between theory and practice. In practice there is.

foo_autoupdate

Reply #19
hm, core isn't on top - someone is playing or 0.9.6.9 isn't reported (I doubt that, but it's strange that non user runs 0.9.6.9) or what?

foo_autoupdate

Reply #20
Oh well, you also released a useful plugin called foo_jesus, so what's in a name afterall.
Did you know some people rename it to foo_backup?

hm, core isn't on top - someone is playing or 0.9.6.9 isn't reported (I doubt that, but it's strange that non user runs 0.9.6.9) or what?
Yeah, it was a glitch, looks as before now. There are no versions older than 1.0 because the component needs 1.0
Full-quoting makes you scroll past the same junk over and over.

foo_autoupdate

Reply #21
Thanks for that useful component.

Sorting by status could be helpful for updating "unknown" plugins.

foo_autoupdate

Reply #22
Very useful and I love looking at the stats. Thanks!

However, the fact that the stats are based on the number of requests and not on the number of users means that users who check for updates more often weight more in the stats, right?

foo_autoupdate

Reply #23
Naturally. 
Better than "The stats site is under construction"
Full-quoting makes you scroll past the same junk over and over.

foo_autoupdate

Reply #24
Great component, very useful!

Just one little thing: it tells me the 1.0 core is newer than the 1.0.1 beta core.
we was young an' full of beans