OSID Logo
OSID Specifications
osid package
Version 3.1.0
Interfaceosid.OsidCatalog
Implementsosid.OsidObject
osid.Sourceable
osid.Federateable
Implemented Byosid.course.CourseCatalog
osid.ordering.Store
osid.topology.Graph
osid.financials.Business
osid.authentication.Agency
osid.relationship.Family
osid.contact.AddressBook
osid.provisioning.Distributor
osid.hold.Oubliette
osid.subscription.Publisher
osid.filing.Directory
osid.hierarchy.Hierarchy
osid.forum.Forum
osid.authorization.Vault
osid.lexicon.Press
osid.inventory.Warehouse
osid.learning.ObjectiveBank
osid.installation.Depot
osid.cataloging.Catalog
osid.messaging.Mailbox
osid.search.Engine
osid.recognition.Academy
osid.grading.Gradebook
osid.resourcing.Foundry
osid.repository.Repository
osid.bidding.AuctionHouse
osid.profile.Profile
osid.recipe.Cookbook
osid.tracking.FrontOffice
osid.journaling.Journal
osid.offering.Catalogue
osid.mapping.Map
osid.assessment.Bank
osid.blogging.Blog
osid.voting.Polls
osid.calendaring.Calendar
osid.metering.Utility
osid.commenting.Book
osid.dictionary.Dictionary
osid.configuration.Configuration
osid.resource.Bin
osid.logging.Log
osid.personnel.Realm
osid.process.Process
osid.checklist.Checklist
osid.sequencing.Antimatroid
osid.billing.Business
osid.inquiry.Inquest
osid.transport.Endpoint
osid.workflow.Office
osid.rules.Engine
osid.acknowledgement.Billing
osid.room.Campus
osid.ontology.Ontology
osid.control.System
Description

OsidCatalog is the top level interface for all OSID catalog-like objects. A catalog relates to other OSID objects for the purpose of organization and federation and almost always are hierarchical. An example catalog is a Repository that relates to a collection of Assets.

OsidCatalogs allow for the retrieval of a provider identity and branding.

Collections visible through an OsidCatalog may be the output of a dynamic query or some other rules-based evaluation. The facts surrounding the evaluation are the OsidObjects visible to the OsidCatalog from its position in the federated hierarchy. The input conditions may satisifed on a service-wide basis using an OsidQuery or environmental conditions supplied to the services via a Proxy.

Often, the selection of an OsidCatalog in instantiating an OsidSession provides access to a set of OsidObjects. Because the view inside an OsidCatalog can also be produced behaviorally using a rules evaluation, the Id (or well-known alias) of the OsidCatalog may be used as an abstract means of requesting a predefined set of behaviors or data constraints from an OSID Provider.

The flexibility of interpretation together with its central role in federation to build a rich and complex service from a set of individual OSID Providers makes cataloging an essential pattern to achieve abstraction from implementations in the OSIDs without loss of functionality. Most OSIDs include a cataloging pattern.