Support This Project SourceForge.net Logo

The Oneida Project

The Oneida Project is an effort to produce an IT management system using the Ruby on Rails framework. The system is being developed to incorporate a number of common IT department needs into a single, integrated application. The modules being developed for the version 1.0 release of the Oneida Project are listed below:

These three modules will form the core functionality of the Oneida Project as we work towards the release of version 1.0. Additional enhancements will come to these modules after that time and new modules will be considered as appropriate. The remainder of this document describes the motivating factors that have led to the establishment of this project as well as the basic architectural goals relating to the overall project.

Motivation

The Oneida Project is a project started by James Thompson as part of his work as the Director of Technology for the Oneida Baptist Institute in Oneida, Kentucky. The project's basic purpose is to provide a simple, yet feature-rich product for handling the common tasks associated with management of IT resources. Although there are other tools out there that provide various features like those being developed for the Oneida Project, none provides all the capabilities needed for the management of OBI's technology resources in a single, comprehensive offering. This lack of integration is the primary motivation for the Oneida Project. This project is first and foremost targeted at solving the problems faced by OBI but with the hopes that others will find the product useful for their needs either as is, or with appropriate customization.

Licensing

All elements of the Oneida Project are released under the MIT license as listed below:

Copyright (c) 2006 The Oneida Baptist Institute

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Architecture

The Oneida Project is an integration of what might normally be multiple standalone products. This makes the Oneida Project a larger project in regards to scope and more complicated since the goal is to integrate these various features into a cohesive system. The Oneida Project takes advantage of the features provided as part of the Ruby programming language as well as the Rails application framework to achieve these ends. The following sections describe the basic functionality and points of integration for the three main areas of functionality desired for version 1.0 of this project.

Trouble Ticketing

The basic features of the trouble ticketing system are drawn from the Network Working Group's RFC 1297 as released in January of 1992. At its most basic level the trouble ticketing system allows an authorized user, or at the option of the administrator even anonymous users, to submit a trouble ticket for review by technical support staff. Support staff, and the submitting user, are then permitted to update details of individual tickets, assign priorities and perform other related operations. All tickets retain a history of all changes and notes made regarding them which allows the support staff and users to easily track and report on work done.

Regarding trouble tickets and how they integrate with the asset tracking system each ticket has a field allowing the submitting user to identify a particular asset that is the focus of the ticket. The support staff are then able to use this provided information to pull up details through the asset tracking system as well as call up any other trouble tickets associated with the same asset. Additionally since software licenses are integrated along with other assets in the system tickets may also be opened in connection with the software that is associated with particular pieces of equipment allowing for specificity when the support staff begin their work of addressing individual issues.

Asset Tracking

The asset tracking system is designed to allow for the tracking of various types of hardware and other IT assets. The system provides a customizable set of asset profiles to facilitate tracking of all kinds of IT resources. Additionally the system provides for certain types of inter-asset relationships which is where the basis of tracking software licenses as an asset arises. Additionally any given asset will provide access to all tickets pertaining to that given item.

Software License Tracking

The software licensing tracking component is a specialization of the general asset tracking system which provides for license keys to be tracked and allocated to make staying on top of license compliance easier. Various details of different types of licensing schemes are permitted and all licenses can be kept as part of the available licensing pool or assigned to specific assets. Since software licenses are so connected to physical assets users are also able to open trouble tickets regarding particular pieces of software like described in the above section regarding the trouble ticketing system.

Future Plans

In the future it is hoped that full web services will be made available to allow for integrating the Oneida Project system with other IT systems. Of specific interest is the potential for integrating this system with products such as Hyperic HQ or other remote network monitoring and management tools, or the possible development of that kind of feature set for the Oneida Project. In addition to this it is hoped that the various aspects on the Oneida Project can be better componentized to allow for organizations to implement only the features of the system they need.