Forum OpenACS Development: Vocabulary

Posted by Michael Feldstein on

I'm struggling to understand some of the 4.x vocabulary and I could use some help. Here's what I think I understand so far:

OpenACS functionality comes in discrete modular software chunks called packages, which must be installed in the system in order to make them available. There are two types of packages: applications, which generate user-accessible pages, and services, which are auxiliary to applications and don't generate user-accessible pages of their own (although they may have admin-accessible pages).

Just because an application is installed doesn't mean it is available to be used yet. For that to happen, an instance of that application must be mounted using the site map administrative tool. An instance is an application's logic plus a particular data set and set of parameters (or preferences). So, for example, a bboard instance would have specific posts in it and might be set for threaded display. The same instance may be mounted in more than one place in the site map, which means you can access the same data-filled bboard in two separate navigational locations on the site (in two different co-branded subsites, for example.)

Services do not have to be mounted. However, they may have parameters, which I take it are site-wide.

Is this more or less correct?

2: Response to Vocabulary (response to 1)
Posted by Don Baccus on
Yes, it is.  services might actually provide pages other than admin pages - I think I unintentionally misled you in this regard.  The workflow package, for instance, has a user-visible pageset.

So the real definition of "service" vs. "application" is that the person
who wrote it decided to call it a service instead of an hopes that the definition you've provided is more-or-less true for most of the packages, but don't depend on it!