Setting up and using the system

Tables and Fields
Configuration Database Tables
Member Database Table

Once the basic configuration is done further setup can be made to use and customize the system. For this purpose it is important to have a primary understanding of the tables and its fields.

Database Tables and Fields

The configuration database, member database and log database all can be the same database or different database. However, member database and log database must be of the same type. For example, it is possible to have the configuration database is an MSAccess database (OLEDB) and member database and log database both be of SQLServer (SQLDB)

All table names and field names are hard corded. The developer must not change them.

Configuration Database Tables

The configuration database contains the following tables.

Login
Module
UI

The login table contains the name value pairs of all the configuration entries. The following is a list of configuration entries and their descriptions.

 

Table: LOGIN
Column Name Example Description
ItemName EncryptDb Name of the configuration item
ItemValue yes Value of the configuration item

The following lists all the possible column names, values and their descriptions.

ItemName

ItemValue

Description
AdminId Ex: ADMIN  
MemberDb    
LogDb    
DbType OLEDB or SQLDB  
EncryptDb yes or no Defines whether to encrypt the database connection strings for Member Database and Log Database
EnableLog yes or no Defines whether to enable logging of users login in.
EncryptPassword yes or no Defines whether to decrypt password after reading from member database while validating a user login. If this field is set to yes, the password field in the member table must be encrypted using the Security component (Included). The component uses Rijdael Encryption and requires a key. The web developer must also supply this key as a DPAPI encrypted String in the app.config file using the key “EncryptionKey”. For testing purposes, the developer may use http://localhost/sys/encr.aspx to encrypt and decrypt strings.
InactiveId Ex: INACTIVE A generic key that is used to identify the inactive security level. For user with INACTIVE status, login will be disabled.
PreLoginState Ex: LOGOUT The display state in which the system stays before login (Please see Modules table)
Any value can be given to this filed, as long there is a corresponding mapping provided in Modules table. (This is required for extending the system for multistage state systems with more than 2 states). Normally the user need not modify these fields.
PostLoginState Ex: LOGIN The display state in which the system stays after login (Please see Modules table)
Any value can be given to this filed, as long there is a corresponding mapping provided in Modules table. (This is required for extending the system for multistage state systems with more than 2 states). Normally the user need not modify these fields.
LoginCommand login Command that will be sent when login button is placed. The user must not change this.
login command is treated differently since it includes certain system management tasks.
LogoutCommand logout Command that will be sent when logout button is placed. The user must not change this.
logout command is treated differently since it includes certain system management tasks.
ADMIN Ex: 99 A numeric value for the security level ADMIN. There is no hard binding to the word ADMIN or the numeric value. It could be SUPERUSER=500 as well.
MEMBER Ex: 1 A numeric value for the security level MEMBER. There is no hard binding to the word MEMBER or the numeric value. It could be USER=20 as well.
SECURITYLEVEL 3    
SECURITYLEVEL 4    
SECURITYLEVEL N    
INACTIVE    

 

The module table contains configuration entries for navigating to web pages and the associated buttons and graphics.

Column Name Example Description
ID 1 Id column
ModuleName Update name of the module
CommandName update

The command string that is associated with the module. This could be any string. However, it must be unique.

Also, commands login and logout are reserved and must be specified in the table.

CustomGraphics yes If yes, user can specify an image button for the module that will be displayed to the user. If no, default display is selected
ModuleLink /member/update.aspx Relative path of the web page that the system will be navigated to.
ModuleEnabled True If true, the module will be enabled and a button will be displayed. Otherwise, it must be set to false
MouseOutBtn /images/lm_updatebtn.gif If CustomGraphics=yes this image will be loaded
MouseOverBtn /images/lm_updatebtn_bld.gif If CustomGraphics=yes this image will be loaded and used as a mouseover image
AlternateText Update Tool Tip text for the module
DisplayState LOGIN Defines during which state, the button should be displayed. For example, a login button will be displayed during the LOGOUT state
TagOrder 5 The order in which module navigation buttons are displayed
MinimumRights MEMBER The minimum security level required for the user to access this module.

The UI Table contains customization to the login UI.

Table: UI
Column Name Example Description
ItemName UserValidationError Name of the configuration item
ItemValue invalid Value of the configuration item

The following are the required ItemNames and ItemValues

ItemName

ItemValue

Description
UserValidationError Ex: invalid Error that will be displayed if the client side validaton fails for userid
PasswordValidationError Ex: invalid Error that will be displayed if password validation failes for userid
ErrorPage /sys/Message.aspx

Link to a web page that will display error message. The error page must accept a query string parameter Message

The developer may customize the default message page /sys/Message.aspx or create a new one.

UserValidationRequired yes or no enables or disables client side validation for userid
PasswordValidationRequired yes or no Enables or disables client side validation for password
UserValidationExpression [A-Za-z0-9_\-\.]+\@[A-Za-z0-9_\-]+.*\.\w{2,3} Regular expression that is used to perform client side validation on userid
PasswordValidationExpression .* Regular expression that is used to perform client side validation on password
     

The member database contains the member table

Table Name: MEMBER
Column Name Example Description
MemberID 170 Id column
UserID test@test.com UserID
UserPwd mypassword

Encrypted or non encrypted password for the userid

Email test@test.com Email address of the userid
UserStatus ADMIN Securty level for the userid. If this value is same as that is set in the AdminId field in configuration table , the user will be an administrator. If this field is set to same as that as set for the InactiveId in the configuration table, the userd will be disabled for login.

User may use the following optiona fields

Column Name Example Description
CrDate   Date when user id was first created
IPAddress   ip address of host that was used to create an entry
CrDate2  

Date when user fields were last updated

IPAddress2   ip address of host that was used to last update user fields