Title: Online Learning Space
1Online Learning Space
- Advisor Dr. Stewart Shen
- Student Li Zhao
- April 24, 2006
2Online Learning Space
- Objectives
- Introduction
- Features
- Application Description
- Conclusions
3Objective
- To Simulate the Learning Space that can be used
for web-based class as well as traditional
classes. - To achieve the following learning objectives
- To gain hands on experience with working on a
whole project independently, from system design,
development, to testing, maintenance and
deployment. - To get more familiar and work more efficiently
with .NET framework. - To get more experience with database design and
maintenance from working on SQL Server 2000. - To gain more experience on error handling skills
of .NET programming. - To practice and gain more hands-on experience on
user-friendly interface design.
4Online Learning Space
- It is a role-based web application.
- It supports at least three roles instructor,
student and administrator. (can set more roles
e.g. teaching assistant) - Main functionalities
- For student assignment submission, view course
topics, communicate with other class members
using forum or message. - For instructor class management including
assignment posting, grading submissions, posting
topics, create class event. - For administrator system maintenance including
setting users, role, maintain pages, modules and
page layout.
5Introduction
- Course Management
- Assignments
- Submissions
- Topics
- Events
- System Maintenance
- Users
- Roles
- Pages
- Modules
- Page Layout
- System Setting Refresh
6Introduction
- System environment Microsoft IIS 5.1, Microsoft
.NET Framework 1.1 - Development tools Microsoft Visual Studio .NET
2003, Microsoft SQL server 2000 - Languages C, JavaScript, HTML
7Features
- System Security
- Forms authentication
- Role-based security
- System performance
- Ease of maintenance
8Features system security
- Forms Authentication
- Ask users for credentials login name
password. - In Web.config, define the login page URL and any
unauthorized access will be redirected to this
URL. - The login page will call a local authenticating
method to query database and check the validity
of the username and password. - If it returns true, then the login is successful,
ASP.NET then issues the user an authentication
ticket in the form of a cookie and redirects the
user to the page originally requested. - The lifetime of the session can be defined in
web.config file. If the session is expired, any
page visits will be redirected to login page
again. - When user logs out, system will call
System.Web.Security.FormsAuthentication.SignOut
method that signs out a user. It destroys the
authentication cookie by setting the cookies
value to a null string and setting the cookies
expiration date to a date in the past.
9Features system security
- Role-based security
- Role-based security is implemented by good
database design. - All pages are grouped into different modules in
module_page table. - Another table named role_module keeps the
accessibility of different roles to different
modules. - After user login is authenticated, the user role
will be retrieved from database and kept as a
session variable. - A role-pages hash table is created.
- If a user tries to access an unauthorized page,
the system will redirect to a page that telling
the user the access is denied.
10Features System performance
- System settings, such as page and page security
information, are retrieved from database and
saved into hash tables to improve system
performance. - Example mechanism to get the role menus
- Pages are grouped into modules, and some pages
are menu page. - Set module accessibility for each role.
- Retrieve database to get role-menu pages hash
table and pageId-name hashtable. - Menu for each role will get from the two
hashtables without access DB each time one page
is loaded. - System settings are refreshed only when user
login or when the Refresh cached settings
button is clicked in the maintenance module.
11Features - ease of maintenance
- Menu/page Maintenance
- Captions and orders of menu items can be changed
easily by update related menu page information. - Active/inactive status
- Assignments, topics and events are all have
active/inactive status. Advantage? - Keep frequently referenced object in AppSetting
in web.config, e.g., file upload path, error log
path, Database connection string etc.
12Features - ease of maintenance
- Page layout template Easily change the outlook
of the whole site. - Page template files for normal form page and
popup page are created and uploaded into the
specified path. - The template files has some general Tags, such
as, PageLayoutItem, PageLayoutApplicationPath,
pageLayoutContent. - These tags are interpreted by the page layout
class of application. - Page.xxx, Session.xxx, and Application.xxx will
be referenced to page hashtable object, session
object, and application object. - PageLayoutApplicationPath will be replaced with
Web application path. - PageLayoutContents will call asp.net Render
method to render aspx page contents. -
13Features - page layout template
14Features - page layout template
15Features Page layout template
- ltPageLayoutItemgtPage.Namelt/PageLayoutItemgt
- ltPageLayoutItemgtSession.Menult/PageLayoutItemgt
- ltimg src'ltPageLayoutApplicationPathgt/Image/book.g
if' border0 width48 height49gt - lttrgtlttdgtltPageLayoutContentsgtlttdgtlt/trgt
16Online Learning Space
17System Maintenance page list
18System Maintenance role-module-page
19System Maintenance - users
20System Maintenance user edit
21Course management - Assignments
- Assignment - list assignments, create, update and
delete one assignment, view files. -
22Course management Assignment edit
23Course management - Submissions
24Assignments page for students
25Course management - Topics
26Topics page for students
27Course management - Event
28Event
29Forum
30Forum
31Message
32Message edit
33Conclusions
- It is a role-based web application with good
system security. - It provides flexible maintenance module for both
administrator and instructor. - It provides integrate document management
functionalities including document uploading,
viewing, deleting. - It has good communications tools including forum
and message exchange. - This system can be extended to serve multiple
courses and can be easily deployed on any
machine with windows web service - IIS. - Most important I gained much experience with
.Net programming and working independently on
project.
34Future work
- To support FTP File upload feature
- To support search functionality in Forum
- Other more
35Thank you!
Acknowledgement Dr. Shen has given me valuable
instructions on this project. I also want to
thank him for the patience he showed while I
worked on this long-time project.