Help - Search - Members - Calendar
Full Version: The 3rd party components site
Hydrogenaudio Forums > Hosted Forums > foobar2000 > 3rd Party Plugins - (fb2k)
Pages: 1, 2
Canar
QUOTE(amppa @ Jul 7 2008, 12:01) *

Canar was kind enough to let the site use his domain, http://www.fb2k.org - now it is working as a real domain, not only as a redirect. Should be a bit easier to remember smile.gif

The formatting strings site is found at http://formatting.fb2k.org, even though it has been quite dead for several years now.


Teamwork! Glad to see it's being useful. I like the idea for the formatting strings site too.
amppa
QUOTE(r41n @ Jul 7 2008, 22:14) *

Amppa could you tell me how exactly your code escapes special characters like " if they are part of the value of a field in the data feed?
I could figure it out by myself, but if you could provide me the info it would probably be easier.
Thanks

It seems that the escaping is currently faulty. I think it's best to have single escapes for newlines (\n) and quotation marks (\") but other characters could be left without escaping.

Is this ok, or do you have some other preferences? I think I can fix the escaping pretty quickly, but adding the default download link may take some time - I think I'll make a couple of other changes to the DB structure while I'm at it. Should be ready at some point of the current week, though.

Oh, and I didn't even remember, there seems to be a single-line version of the data file, too: http://www.fb2k.org/data/repository_foopdater.txt. That could be easier to parse smile.gif

QUOTE(Canar @ Jul 7 2008, 22:24) *
Teamwork! Glad to see it's being useful. I like the idea for the formatting strings site too.

Not sure if anyone is using that formatting site any more, though. There's now also http://components.fb2k.org, even though it may be unwise to give too many alternatives, most likely it only creates confusion...
amppa
QUOTE(amppa @ Jul 7 2008, 22:39) *
It seems that the escaping is currently faulty. I think it's best to have single escapes for newlines (\n) and quotation marks (\") but other characters could be left without escaping.

I'll reply to myself to avoid confusion. Actually, I think that the current way of escaping data is correct after all. There are some cases that show \\" (like the first item, fooCDtect), but some components also have quotes escaped as \" (foo_dbsearch). The differences exist because some components have the escaping already in the database values, which results in double escaping when creating the data file.

I can't say right away why there are this kind of differences, but I think that's not critical now in any case. I'll probably have a look at that after there's support for the default download link.
Fuller2.0
QUOTE(amppa @ Jul 7 2008, 12:39) *
Not sure if anyone is using that formatting site any more, though. There's now also http://components.fb2k.org, even though it may be unwise to give too many alternatives, most likely it only creates confusion...


You could have the index page link to both those subdomains as well as to the main foobar site and main foobar site download page. Maybe these forums as well. Just to create a sort of general index page. I don't know, it's up to you obviously! laugh.gif
r41n
Amppa, i already have an almost perfect parsing code for the original data feed you provided smile.gif
Actually most parts of the code needed to perform an update check are already working (and rather stable too), downloading data feed, decompressing it and parsing it.
Tomorrow (spare time permitting) i'll start working on the code that will actually perform comparisons between local components and those available.
When i'm done with that the major work is done and i'll take a closer look at the details, like some way to remove those escape characters.

It could be a problem if some escape characters aren't removed properly or aren't supposed to be there in fields required by the version check (name, dllname or even version).
Such a scenario could prevent the correct identification of components, fooCDtect is not the same as \fooCDtect. And there is no real safe way to recognize a misplaced or partial escape character.

It would be nice if you could use the windows standard escape sequence for new lines (\r\n) instead of just \n. That could save me some minor work, manually adding the missing \r for each \n to properly display multilined text like the description field.
If that would be a problem never mind smile.gif
As long as \n and \" are the only two escaped character i'm fine, i too don't see the need for more.


I'm sorry if this seems like a long list of things to fix, but i figured it's better to let you know about possible issue right away so...
Right now my code handles "standard" version numbers (1-4 digits separated by dots) and can also recognize foobars Beta version numbers. The problem is that beta versions usually are spelled at the developer's discretion and don't follow a standard.
My code recognizes f2k beta versions like: "0.9.5.4 Beta 3" and internally parses them into something that can be compared with another numeric value. But obviously i can't come up with all the possible variants there could be.
In theory the official download link isn't supposed to point to betas, but most components out there exist only as beta versions. I guess it's only a matter of time before the version format becomes an issue.

Anyway, no need to rush, i just wanted to bring the matter to your attention smile.gif
amppa
QUOTE(r41n @ Jul 8 2008, 02:03) *

It would be nice if you could use the windows standard escape sequence for new lines (\r\n) instead of just \n. That could save me some minor work, manually adding the missing \r for each \n to properly display multilined text like the description field.
If that would be a problem never mind smile.gif
As long as \n and \" are the only two escaped character i'm fine, i too don't see the need for more.

Sure, that's easy to change, I'll do it that way.

About the version numbers - there has been a guideline that component info should be entered just as foobar2000 shows it. It's true that there are quite many ways to format the version number, maybe the updater then just won't update those components?

I'll be updating the site now, so I'll shut it down for a while. I hope I get it done in a couple of hours. This update only brings the default download link functionality for the site, the data file is unaffected for now. I'll add the same data to the data file a bit later...
amppa
Ok, the update is now done. The database structure is changed somewhat, so it is possible that some strange errors are still found, even in functionality that is seemingly not even updated (for example, it may be impossible to access the info of just one of the components even though others are working fine). Please report all such problems that you encounter.

Now there is a possibility to set a default download link for each component. The link is one of the existing component links that has both foobar2000 version and component version information available. The link is shown separately in the component page (for example, see Columns UI info). The bad side - each of the components has to be updated manually to include that info. However, I thought that it's just a minor configuration, so saving that info won't update the component's "last updated" tag, and people won't get spammed for component updates to which they have subscribed.

Finally, superseding is now based on components rather than separate files. This should be clearer, I think.
odyssey
Could you please consider reworking the user interface? I really would like to use it, but I don't get the same overview that I get when I visit the wiki page.
r41n
Good to hear amppa.
I've completed all major planed features for the updater, i just need to make a decent interface and a few minor changes linked to you data feed changes, that's all.
Then i just have to check for bugs and stuff, cleaning up...the usual stuff.
To have some general feedback i started this thread.

Regarding the "version issue" i worked on some code that recognizes version numbers (even when they contain text, like: beta or preview).
Practically it extracts the first set of numbers it can find inside a string and considers them the version number. If the string doesn't end after that set of digits it tries to find more numbers located behind some text.
It's a bit hard to explain, but i did some tests and the regex works fine with anything i threw at it.
It can successfully parse and interpret versions like: "0.100.3.1.4 Beta 10 Preview 2 RC1" or simple ones like "1.0" so i hope there won't be any more problems concerning versions.
amppa
r41n,
The data file is now updated to include the new information. I changed the existing values to a bit more consistent format before realizing that it may cause problems for you. I guess I can change them back to the previous format if this causes problems.

- Default link is under "default", which isn't shown if the default one isn't selected
- Homepage and discussion are now their own links under the root, since there can't be multiple of those anyway, and they won't contain version information
- Other links are separated to "name" and "value" tags instead of the previous "name=value" format
- Root tag "component" isn't capitalized, and "date" changed to "modified"

Also, I noted that one more character has to be escaped: "\" is now marked "\\". Otherwise, it would cause problems if e.g. one marked some path as "c:\foo\null".

The escaping problem isn't still fixed. I'm a bit baffled why it occurs, just noticed that my test server is behaving in a different way than the real server. Have get back to it later..

QUOTE(odyssey @ Jul 14 2008, 01:59) *
Could you please consider reworking the user interface? I really would like to use it, but I don't get the same overview that I get when I visit the wiki page.

It could be done, but I'm afraid I'm not a superb GUI designer. There's already pending that wiki-style compact list of components, that may help a bit.

If people would like a greater revamp, I hope that someone comes up with a fairly complete template (HTML and CSS). It would probably still take some time to change the current looks, but at least I wouldn't be spending hours after hours of time and still creating something minimalistic that no-one else would appreciate smile.gif

QUOTE(Fuller2.0 @ Jul 7 2008, 23:05) *
You could have the index page link to both those subdomains as well as to the main foobar site and main foobar site download page. Maybe these forums as well. Just to create a sort of general index page. I don't know, it's up to you obviously! laugh.gif

This could be a good option, too, creating a kind of listing of foobar related links. Does anyone think that it would be useful? After all, there aren't that many links for people to remember...
Fuller2.0
QUOTE(odyssey @ Jul 14 2008, 01:59) *
Could you please consider reworking the user interface? I really would like to use it, but I don't get the same overview that I get when I visit the wiki page.


Which wiki page are you referring to?

QUOTE(amppa @ Jul 16 2008, 12:38) *

This could be a good option, too, creating a kind of listing of foobar related links. Does anyone think that it would be useful? After all, there aren't that many links for people to remember...


It might not need to be right on the front of the index page, but it makes include some of the most popular links (the foobar homepage, these forums, etc) in the layout somewhere.
r41n
Hey amppa, your improvements look good.
But i have some bad news, i guess the updater is history.

Right now it seems that retrieving local component versions from outside foobar would require to do some major mess, doing this with an external app wouldn't make sense at all.
Component version information is stored in an unconventional way so no windows function is able to read it.
Here you can read what happened exactly, it saddens me cause it was fun to code this little tool and it looked like most of the community would have been happy using it.
I'll see if i can come up with something else, but right now i doubt that.
Fifoxtasy
hey i got a bug report report for you amppa
i found a when you switch between the two URLs: http://www.fb2k.org/ and http://pelit.koillismaa.fi/plugins/ i get logged out. sometimes i get an error message, login as username failed. or something similar.
the places i found where i get redirected from http://pelit.koillismaa.fi/ to the http://www.fb2k.org/ site is when i click a link on the subscriptions page and on the search results page.

maybe there is a better way of managing this. maybe automatically redirect all traffic to http://www.fb2k.org/ even if somebody (like me) follows his old bookmark. or always stick to the URL the user started from.

greets
amppa
QUOTE(Fifoxtasy @ Sep 4 2008, 11:57) *
maybe there is a better way of managing this. maybe automatically redirect all traffic to http://www.fb2k.org/ even if somebody (like me) follows his old bookmark. or always stick to the URL the user started from.

Yeah, this happens because the cookies are saved according to the domain name. I thought that after a time all links would point to fb2k.org and a redirection would not be needed smile.gif I could create a workaround but I'm not sure if it's actually worth the time.

Too bad that the component updater didn't come into being. If someone else takes up the updater project, just contact me.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Invision Power Board © 2001-2009 Invision Power Services, Inc.