First, an easy one...I'd like the ability to browse the code of certain packages on SqueakMap (could just do the easy ones like change sets and *.st packages first)...it would be a little more difficult for SARs, but shouldn't be impossible.
Now for a more elaborate request involving SqueakMap and Monticello...what I would like in Monticello is the ability to assign a version string to a package (but still have the auto-generated version numbers). Then I'd like the ability to directly export a package version to another repository. And, I possibly might want to be able to organize repositories in a hierachical fashion and have a "promote" capability that would simply export a package version to the "parent repository" in the hierarchy. The version string would enable me to correlate versions in multiple repositories (since the internal version number would not match up). Package versions would have to have a version string before they are allowed to be exported. Once a package has been exported to another repository, its version string would become immutable (in both repositories).
Then, I'd like SqueakMap to be able to register a package that resides in a Monticello repository and have SqueakMap (server or client, whichever works best) be able to communicate with the repository to pull version information, etc for the package.
This of course then implies that there needs to be some measure of security in Monticello that would allow read-only access but restrict update access.
Why do I want these things?
So that I can have a local repository on my laptop for my packages, have a shared private repository for projects that I'm working on with other people, and have a public respository for published projects accessible through SqueakMap.
As I work, I'll create versions in my local repository. I'll occassionally publish versions to the shared repository, and when ready, I'll finally push versions out to the public repository.
Perhaps a simply hierarchy of repositories would not be sufficient...instead, I might want to simply be able to "link" repositories (and name the repositories) and be able to "push" packages between them. The linking would serve no other purpose than to make it simple to "right click a package version, and 'push' it to one of a list of linked repositories".
- Stephen