Public Repository Utilities
Eric Winger, for his very first blog entry, talks about possible utilities for the public Store repository.
At one point he says "it's just a chunk of unorganized files". No, it's not. It's a bunch of records in a database, which is an entirely different thing, and much easier to manipulate, at least in theory.
Among the possible improvements, he mentions
- A description field for packages/bundles. Well, there already is one, it's called the comment. The biggest problem with utilities that use it is that the public store uses postgresql, and the VW postgresql driver stores long strings by base 64 encoding them. This makes it rather difficult to do queries against them. I've talked about this with Bruce Badger, and he agrees it was a mistake to do it that way, but changing it, unless done very cleverly, would break older clients, so it's a big deal. One possibly easier way to approach this would be to have something crawl the database (like SmalltalkDoc), write out the comments, and then use the google api to search amongst the comments. This would also have the benefit of giving you a powerful search without having to try and discover much structure in the comments. Generating the pages would be easy. I don't know what's involved in hooking to google or the like.
- "Change the Package/Bundle browser to allow packages that are inside other bundles to not be displayed." That's doable, although it does slow down the initial query against a large database some (e.g. to get the otherwise unfiltered list from the public repository it's about 10s instead of 1s. Against the internal Cincom DB it's about 13s instead of 5s). It's also not always quite what you want, because if anyone ever puts something inside a bundle then it will remove that thing from the filtered list forever. But it certainly helps. If you've used the StoreForGlorpReplication stuff coming in 7.2.1 you'll notice that's there as a checkbox. It would be relatively simple for anyone good at GUI's to make something more like a published items list/repository browser using the same mechanisms.
- A couple of comments about splitting the repository based on date updated, type of package, etc. I don't think that's a good idea. Better to be able to filter on fairly arbitrary criteria