Skip to content
Shawn (work acct) edited this page Mar 6, 2014 · 7 revisions

Table of Contents

Legal

This documentation includes information about the common Application Programming Interface (API) for the consortium of Community and Technical Colleges (CTC). The API referenced here is copyright Bellevue College, Peninsula College and the State of Washington.

License

The CtcApi is made available under the GNU Lesser General Public License, version 3. This means you are free to use it in your own applications, and have access to the source code. If you modify the API code itself and want to distribute the modified version it must be made available under a compatible license. Even if you don’t distribute modified source code, however, we ask that you please share your changes back to the community.

What is it?

The CtcApi is a standardized, reusable, an open source code library developed by and for the Community & Technical Colleges of Washington State in the creation of their own software applications. The initial version of the API (CtcApi.Ods, which interfaces with the common Operational Data Store) provides the foundation upon which the Bellevue and Peninsula Colleges' new online class schedules were built:

Goals

In addition to the usual benefits provided by an API, the CtcApi has the following specific goals:

  • Provide data as rich, hierarchical objects instead of two-dimensional database records.
  • Allow the application developer to retrieve and use data objects without needing to know various quirks specific to the data stored in the legacy data system.
  • Facilitate faster application development, and smaller applications, by providing commonly needed functionality.
  • Provide a variety of means to use the API, without any particular dependence on programming language and/or platform. (E.g. web services.)
  • Utilize modern technologies and standards.
  • Facilitate writing business logic in application code instead of stored procedures.
  • Be configurable and extensible in order to meet the needs to different organizations.

Requirements

To date the CtcApi has been developed and tested with

  • Visual Studio 2010 and 2012 (the solution is compatible with both)
  • .NET Framework 4.0 (on Windows)
The CtcApi.Ods namespace was developed and tested with
  • Entity Framework 4.x
  • SQL Server 2008 (although other server platforms should be possible)
Furthermore, the CtcApi makes use of the following 3rd-party libraries:

Structure and examples

The core library of the CtcApi provides common classes, methods, etc. that may be of use in a number of .NET programming contexts. Other areas of the API provide objects more specific to the namespace where they reside. See the namespace tree below for more information about each of these areas.

Where the CtcApi provides classes that extend the .NET Framework Class Library itself, it follows the same namespace structure (e.g. CtcApi.Web extends the System.Web namespace).

Clone this wiki locally