<blockquote> Help me with the concepts here: What is the advantage (or maybe
distinction) of a multi-mounted singleton vs. a singly-mounted
singleton?
</blockquote>
The advantages are cleaner breadcrumb generation and better site
organization. Although both attachments and GC are global "services",
attachments maps one application instance (e.g. a forums instance) to
one FS root folder so its "file-picking" UI is scoped by default to
the package_id of its parent node. e.g. If I wanted to attach a file
to a post in "alumni forums", attachments would only show me files
in the "alumni fs" instance to pick from.
This organization makes for cleaner application code. And all the
breadcrumbs and other site-node-based stuff, important to dotlrn,
would be complicated if attachments wasn't mounted under applications.
<blockquote> Why wouldn't it make sense to make the attachments package be a
regular application (vs. a singleton).
</blockquote>
Attachments is actually an apm_application (not an acs_service) so
that it can be instantiated once, but it's a singleton to prevent it
from being re-instantiated from the site-map. There's no need to
have multiple instances of attachments.
<blockquote> Can/could a redone GC package use the attachments package as a service?
</blockquote>
Maybe, but I haven't looked at the GC code to see what this would involve.
Take a look at the code. It's now in the oacs CVS tree.