PDF HTML FlashPaper

Application Manager | Tech Docs

 

  1. Application Details
  2. Application Overview
  3. Roles
  4. Database Schema
  5. Flow
  6. CFC's & Functions
  7. Notes

Application Details

Developer: Joe Gautreau | Programmer / Web Application Developer | jgautreau@judsonisd.org | (210) 945-5558
Development Platform: ColdFusion MX 7, SQL Server, Model-Glue Framework, CSS Layout
Development Server: Testweb
Development Database: ERCSQL
Production Server: Web1
Production Database: ERCSQL2K5
Launch Date: September 14, 2007

Back To Top


Application Overview

The Application Manager was designed to be the the front-end tool for an administrator to give users and groups access to in-house applications.  This simple GUI interface provides an easy way to manage users.  This application is far from the final product we would like, but for the interim it does the job quite well.

It works quite simply.  The administrator will log in and choose from a list of applications which one they would like to manage.  The screen will reload after submission a list of all Judson ISD users and groups will appear next to a tabbed box for each role for that application.  Users and groups are moved in / out of applications and roles accordingly.

To sum it all up, the Application Manager is for permissions users and groups in and out of in-house applications.

Back To Top


Roles

There is only one role for this application at the moment and that is the administrator role which can permission users and groups in and out of any in-house application.

Back To Top


Database Schema

Below you will find the Application Manager database schema along with a short description for each table.

Application Table:  This table is used to store data about in-house applications.  The application name, url, description, developer, owner, active or not, and manageable or not information are stored in this table.  If you want to create a new in house application this is the first place you would start.  Here your AppID is created to be used elsewhere.

AppRole Table:  This table is used to store the different types of roles that an application may have.  For instance "Application A" may have User, Manager and Admin roles, so in this table you'll find three entries for those role types, once a role is defined, a roleID is created to be used in the userRole table.

UserRole Table:  This table is used to store all user permissions.  The user's employeeID is the stored with the applicationID and roleID that they have access to.  A user can have multiple entries in this table because access to multiple applications is probable.

AdData Table:  This table is used to store a "copy" of data needed from Active Directory for this application.  This is used as a "quick" lookup instead of going to AD for it which takes a LONG time!

Back To Top


Flow

Application Manager Data Flow Document - Click to download the PDF.

Back To Top


CFC's & Functions

Apps.cfc

init:

getApps:

getAppRoles:

getPermissionsDataByAppRole:

getActiveDirectory:

updateAppPermissions:

Back To Top


Notes

Future revisions to this application would be to tie it together with the Application Portal and fix error handling, also to add user levels that allows "Application Owners" to manage user and group permissioning for an individual application.

A nightly process run on the CF Server called updateAdData, runs nightly to query AD and grab everything out of it, and dump it into a table called adData in the Application Security database.  This process allows for our display of users and groups to go much quicker pulling it from SQL tables instead of directly from Active Directory.

Back To Top