Sorry about the recent disappearance, main internet comp's processor burned out and had to be replaced (with a new mobo, Phenom 2, and RAM), and XP threw its usual you-just-replaced-every-[censored]-vital-system-component-and-I-won't-run fit. That's all sorted out now, as far as I know of, so I'm back.
Over the last few days, though, I've gotten a lot done on this. It doesn't look much different, but under the surface I overhauled the database handling and search, and got it working way better. I'll get a working online demo up as soon as everything is set up server-side, but I think I've managed to set up a nice system.
It will use a daily (most likely) dump of the database (expect that to be ~5-6 megabytes, my working copy is) in XML form, with per-mod comments downloaded when you select the mod. I've gotten that all set up and working on my sandbox LAMP server, so it's nicely compatible and easy to deploy (a single script and 15 meg database, requires MySQL, PHP, and the XML writing module). I used the SQL query on the PHP-side to filter out mods with no URL (no link provided by ESSearch and no local URL stored, so essentially, nowhere to find the mod). I'm not sure if that will be an optional download or if I'll leave it out entirely, those mods are usually just a title/author placeholder with no way to actually get them. It would be possible to generate a Google search link for them.
On the server-side, a simple PHP script (or similar) run daily will pull the data from MySQL and create the XML file (I have the script written and working perfectly). The client then asks the server for that page, saves a copy to the hard-drive, and uses it as the index. It saves the last day you synced with the server, and will ask you (daily) if you want to download the latest copy. You can always manually download the index and leave all internet options disabled (you won't be able to install mods from the internet, but you will have the complete listing with links).
I reworked the client itself to not directly connect to the MySQL server, for security, instead using much simpler (in a way) and certainly faster and far more secure method. I'm considering archiving the list on the server-side, but I'm not sure whether the advantage of saving 2-3 MB of space would outweigh the work of archiving and extracting, that'll be up to Fligg (or will be discussed with him extensively).
The UI hasn't changed much, but it doesn't really need to. I tweaked the menus a little, and the layout of some things. Simplified the options window, fixed the directory validation, some other behind-the-scenes stuff.
I think I fixed most of the issues I'd noticed with LINQ and the XML, but apparently M$ is very, very, very picky about how the XML is formed, and I spent at least a day figuring out a good way to filter out all the "bad" characters. Apparently ampersands in the fields sometimes cause Internet Exploder and .Net/LINQ to complain, but not always. As well as a few other characters. The obvious simple fix is to URL-encode every (%20 and such), but somebody (and I won't name names, oui oui) decided it'd be awful funny to have some strange words in there, a few of which are of the form "&[a-z];". .Net threw another fit over those, and I ended up filtering out everything but letters, numbers, and basic punctuation, using regex_replace in the PHP while dumping the database. That finally shut it up, and I got the internet->ESSearch->SQL->PHP->XML->LINQ->your screen chain working fine, and it should hold up well in the future. A similar process (but much simplified) will be applied to the comment system, which will be passed up and down probably using POST and XML.
A second XML file will be kept with your personal comments and ratings, and will not be affected by the database version. That will basically be loaded over-top of the other.
While I was working on the XML part of stuff, I totally redid searching to how it should have been. When you now type a search term and hit the button, it will filter out the results matching your request (instead of just sorting them to the top). All other results will be hidden (search for nothing, a blank field, to show everything again). Title, author, description, category, and version are all search-able. I got advlt mod flagging working properly and color-coded, I'm implementing the filter so you can hide those...
[deep breath]
I also started a Sourceforge project.
It seems to me that an agreement has finally accomplish here, a least about the name though.
@peachykeen: You can for now on decide what steps should be made and more important what pace this project has. Good luck ! :goodjob:
I don't want to be the absolute teller on what happens. I'm definitely going to keep this project very open to community input and suggestions, and implement everything possible and useful. I wouldn't have thought of this on my own, and actually pulling it off would be difficult without some of the suggestions and help put forward so far.
Not everyone will be pleased, but there's really nothing that can be done to guarantee 100%, so I'll do the most I can.