Title: The Shuffler
1The Shuffler
- A WWW-based form routing system
Created by Dan Dapkus and Matthew Pfeiffer In
collaboration with Dr. A.H. Esfahanian Michigan
State University Department of Computer
Science WWW Address --- http//pfeifes.esp.msu.edu
/The20Shuffler/default.htm
2Introduction
- Background
- The Paper shuffle
- Paper forms filled out and hand-delivered to
multiple destinations - Examples Grade Change, Grant Proposal
- Slow forms are misplaced / damaged in transit
- Single point of failure paper form
- No convenient archive when paper shuffle is
completed
3- Purpose/Motivation
- The Electronic Shuffle
- Flexible form creation
- Leverage Internet, intranets, e-mail
- efficient, tested means of moving information
- scalable -- easy to add groups of users
- Leverage databases
- convenient (e.g. searchable)
- secure
- fast
- distributed access
4Tools
- Microsoft Windows NT Server 4.0
- Microsoft Internet Information Server 3.0
- Microsoft Access 7.0
- low-end database (e.g. ten or fewer simultaneous
users recommended) - inexpensive
- single, portable file
- custom reports, queries, etc.
- familiar
- Microsoft SQL Server 6.5
- high-end database (e.g. many simultaneous users)
- robust
- scalable (e.g. multiprocess support, multiple
drives, etc.) - full-featured (e.g. mirroring, transaction logs,
etc.) - remote database server option (i.e. distinct from
WWW server)
5Tools (continued)
- Microsoft Visual Basic 5.0
- Ease of development
- Hooks to ODBC databases, Win32 API
- Alternatives Borland Delphi, PowerSoft
PowerBuilder, et al
6Installation Utility
- Goals
- Simplicity
- Little user interaction necessary
- One floppy
- Install Shuffler Components
- Database
- WWW interface functionality
- Shuffler Configuration
- Database type, location
- Global.ASA
- SQL Server data location
- Internet Information Server virtual directory
7Installation Utility
- Design
- Informational Screens
- Shuffler introduction, Shuffler developers, etc.
- Hardware OS requirements
- Directory creation file locations
- Shuffler Virtual Directory
- Search Windows NT registry for location of WWW
applications - Create new directory for Shuffler application
files - Copy ASP files to Shuffler directory
- Instruct user how to create Internet Virtual
Directory in Microsoft Internet Service Manager
8Installation Utility
- Design (contd)
- Database Selection and Installation
- SQL Server
- Specify SQL Server
- Provide login information
- SQL Server data directory found via registry
entry - SQL code sent to SQL Server for execution to
create database objects - Access
- Pre-built database file
- Copy Shuffler.mdb to Shuffler virtual directory
location - Create Global.ASA file specific to selected
database
9Installation Utility (contd)
- Implementation
- Open Database Connectivity (ODBC)
- Drivers for many different databases
- Same code to access different databases (via
different drivers) - Data-Access Objects (DAO)
- Common object interface to ODBC-compliant
databases - Connectivity to SQL Server
- Win32 API
- Free disk space
- Windows Registry
- SQL Server data directory
- IIS directory location
10Installation Utility (contd)
- Challenges
- DAO
- Database (SQL Server) programmatic setup and
object creation - Win32 API
11Installation Utility (contd)
- Regrets
- Unable to create IIS virtual directory
programatically - Unable to create a system ODBC DSN programatically
12The Shuffler Database
- Goals
- Store Shuffler data
- Relational Model
- High-end or low-end database
- Open to outside applications (e.g. via ODBC)
13The Shuffler Database (contd)
14Shuffler Database (contd)
- Tables
- tblForm basic data for each Shuffler form
- tblUser basic data for each Shuffler user
- tblFormInitiation data for each instance of a
shuffling form - tblFormUser specifies which forms a user may
shuffle - tblFormRoute the route of users to shuffle a
form
15The Shuffler Database (contd)
- Design (contd)
- An evolving database New-form tables
- A data table exists for each form -- a field
exists for each form field - New table created, based on user input at form
design time
16WWW Interface
- Goals
- Secure
- User-Friendly
- Flexible
- Scaleable
- Can be modified to meet the needs of the
organization.
17Tools
- Microsoft Active Server Page Technology
- Microsoft J
- Microsoft C
- Microsoft Visual Basic 5.0
- Microsoft Interdev 1.0
- Microsoft Windows NT Server 4.0
- Microsoft Internet Information Server 3.0
- WWW Browsers
18Design/Implementation
- There are eight primary sections to the WWW
Interface Design - 1. Security
- 2. Department/User Manager
- 3. Form Creation
- 4. Form Initiation
- 5. Routing/Email
- 6. Form Status
- 7. Form Viewing
- 8. Archiving
19Design/Implementation
- 1. Security
- SSL
- Authentication Methods
- Digital Keys?
20(No Transcript)
21Design/Implementation (Continued)
- 2. Department Manager/User Manager
- For Entering and Removing Departments and Users
From the Database
22(No Transcript)
23Design/Implementation (Continued)
- 3. Form Creation
- Interface
- Annoyance Factor
- Adding Fields
- Regular Fields
- Editable Fields
- Implementation
24(No Transcript)
25(No Transcript)
26Design/Implementation (Continued)
- 4. Form Initiation
- Subject for Email
- Routing Method
- Serial
- Parallel
- To Whom Selection
- Show Route During Viewing
27(No Transcript)
28Design/Implementation (Continued)
- 5. Routing/ Email
- Editable Field Initialization
- 6. Status
- Currently Shuffling Forms
- Completed Forms
29(No Transcript)
30Design/Implementation (Continued)
- 7. Form Viewing
- Viewing in Edit-Mode
- Viewing Read-Only
- Printing
- 8. Archiving
31(No Transcript)
32WWW Interface (Continued)
- Challenges
- Email Component
- Scheduler
- Functionality
- On-Going Development (communication with users is
the key)
33WWW Interface (Continued)
- Regrets
- Could not do everything
- Unable to provide a completely HTML solution
34Conclusions / Future Work
- Addition of Groups
- Form Editor
- During Form Creation
- Post Form Creation
- Rules -- e.g., Field Definition/Restrictions
- On-The-Fly Route Selection
- Document Attachment
- Module Execution At Some Point During Route
- Read-Only comments
- Learning Experience -- Things we wouldnt do a
second time