here - Centennial

towerdevelopmentData Management

Dec 16, 2012 (4 years and 6 months ago)

236 views

Learning Helper Web Application

Documentation

4
/1
0
/2007


OVERVIEW


Developers
: Ron Hoppes, Mike Caron

Platform: Linux RedHat

Database: Postgresql

Scripting
Language
s
: PHP
, Javascript


Background

The Learning H
elper
is a data
-
driven web site where district
teachers

can post
references to
web
site addresses and resources that directly or indirectly support instruction based in the districts
established learning standards.

These resources can then be shared among the district teaching
staff

and with the commun
ity

also
. Web resources can be classified to specific district learning
standards through a seri
es of preloaded pull
-
down menus;

eliminating the need for teachers to
tediously refer back to paper copies of the standards.


Learning Helper
is a rework

of an

earlier project that was

originally
intended to be a resource for
any user from within the district to
post ideas and articles. Because of this,
a few of
the
data
table
names don’t necessarily reflect an accurat
e description of
the table’s

function
.

In ad
dition, there
are some fields in the tables
that
are not used by the application as it is now.


For example, the
Category

table was originally for users to select from a
n

established set of
categories that their article would be classified

under
. Then the
Topic

table after that would
provide a list of given topics that
were

directly
tied to each c
ategory and
would

further
classify

the

article.

The
Articles

table was for containing the actual article or web site resource that the
user

was
post
ing
.


The remai
ning tables are more appropriately named as they were created after the decision was
made to convert the application into a program
specifically designed to

directly support

classroom instruction
based on

Centennial’s
established
learning standards.


Datab
ase and tables

The following is
the database name and

list of
associated

t
ables

and their function
s
:


Database

name
:
databank

Tables

names and purpose
:

c
ategory

Instructional Subjects


䵡瑨Ⱐtc楥湣eⰠItc.

t
潰楣o

䝲a摥敶e汳l


䬬‱Ⱐ㈬″h⁥瑣t

景f eac栠h
畢橥c琠⡣ategory)

c
潮瑥湴

周T⁩湳 牵r瑩潮o氠l潮瑥湴畭扥o

a湤⁴n瑬e⁦潲⁥ac栠h畢橥ut
-
䝲ade

o
畴捯浥s

周T⁏畴 潭敳⁦o爠rac栠C潮瑥湴

s
瑡湤t牤r

周T⁓瑡湤t牤猠ro爠rac栠h畴捯浥

a
牴楣汥l

Web site names and URL’s that teacher’s feel support the Outcomes and
p
瑡湤t牤r

class_cart

References to

records in the A
rticles
table
that individual teachers want to
use for their class instruction on a
ny

given day

group_cart

References to
records in the A
rticles
table
that teacher groups (by grade

for
elementary, subject

for secondary
) want to use for instruction

users

Authorized users
who can
input articles and class cart records
, and their
associated school, grade, team information

s
chools

S
chool names and types (elementary, middle, high)

t
eams

T
eaching teams associa
ted with
each
schools

d
istrict

D
istrict information displayed on Learning Helper title banner


Each table has an associated Sequence that supplies the table with a unique record identifier or
“record ID”.



Web server folder structure


The application


The
Learning Helper
application is
located

in
a

directory named
helper


off the
web
server’s
root directory.


The program files that allow teachers to create their own profiles is

under Centennial’s
Intranet directory. The path is

/intranet/helper

This a
llows only Centennial uses to access these files, thus prohibiting outside users from
creating profiles.


A hyperlink on Centennial’
s I
ntranet home
page takes users to the above location.


NOTE: files in any directory named
old

can be deleted.


Teacher
p
hotos


The path to school building codes and their corresponding teacher photos is:
images/teachers/{building code}/

Each subdirectory named
(
by school code
)

houses the teacher photos for that school.

These subdirectories must be created
appropriately
by

the webmaster or network
manager.

The subdirectory names

must correspond to the school codes stored in each
user profile.


In the teachers’ profile (users table), the designator (user_bldg) stores the school
for

which the teacher is assigned. Each school
code
must have a

corresponding subdirectory
that houses the teacher pictures for that school.


If the
user_photo

field (boolean type) in the users table is marked “f” the application
will not attempt to display the teachers photo. If it is marked “t” th
e application will look
down the path of the teachers
user_bldg

for the photo file

with the same name as the
users
user_name
.


Example:

user_name

is sue_smith

user_bldg

is bc


The application
looks for the file:

/helper/images/teachers/bc/sue_smith.jpg


Application images




The path to i
mages used to represent
Subjects (Math, Reading, etc.) is
images/subjects
.



Other images used throughout the application are stored in the
images

folder.



TABLE
RELATIONSHIPS


Category

table

category_rec_id

Topics

tabl
e

category_rec_id

topic_rec_id

Content

table

topic_rec_id

con_rec_id

Outcomes

table

out_content_rec_id

out_rec_id

Standards

table

std_outcome_rec_id



Articles table

art_rec_id

user_id


C
lass_cart table


class_art_rec_id

Users

table


user_id

G
roup
_cart table


group_art_rec_id




Articles

table

The Articles

table

is typically queried on its Content field which contains the concatenation of
the following codes which are derived from the other tables based on user input (the resulting
codes are gene
rally referred to
as “Content or Standards Codes”. Example:


Subject letter i.e. “m” (math)
from the Category table

(Subjects)

Topic (Grade) number i.e. “3” (3
rd

grade)
from the Topics table

Content number i.e. “2”
from the Content table

Outcome letter
i.e. “b”
from the Outcomes table


The codes together look like this:
m3.2b

The above code combination would be described as “math, grade 3, content 2, outcome b”


Because a posted

article (web site) could be relevant to several outcomes/standards, the

Content
field could contain a series of these code combinations separated by spaces:

m3.2b m3.2c m4.2b
m4.2c


If the user chooses to search for all web sites that relate to Social Studies, 4
th

grade, a query
would be initiated t
hat looks for all articles

where the string

ss4


is contained

somewhere in
the Content field.

These codes are used for querying articles both from the
Web Resources

link and the
Learning
Standards

link on the home page.




The

Web Resources

page searches broadly for

user
-
selecte
d

subject
-
grade combinations.
For example,

a Math, Grade 3 selection

will generate a search for
all
articles containing

m3

in the Content field.




The
Learning Standards

page

displays the districts learning standards in detailed and
outlined “Curriculum

Guide” format.
If the user selects an O
utcome on this page it will
call a search

for
Content
combinations that match the outcome
and its subject and
grade.
i.e. “
m3.2c
” The purpose here is to find only web sites that
pertain

specifically
to the
selecte
d outcome.


U
SER RIGHTS


Users
are authenticated for their rights level to allow various operations. Users are evaluated
only by their
level

designator

in the
users

table.

A level 3 is necessary for access to the
Management
pages
in Learning Helper.

Manage
ment pages allow
the
creation o
f

Content/Standards records, edi
ting user records in mass, etc.


Use type

Level

Typically managers who need all rights: database
manager, webmaster, ITC Director, etc.

3

Typically classroom teachers

1





TABLE
STRUCTURE
S


Category

table

(referenced as “Subjects” within the Learning Helper application)

Column | Type | Modifiers

-----------------
+
---------
+
---------------------------------------


category_title


| text |


name



| text |


category_rec_id | text | default nextval(

articles_seq

::text)


sort_order


| integer |


resource_type


| text |


subject_id


| text |


graphic


| text |


Topics

table


(referenced
as “Grades”

within the Learning Helper application)

Column | Type | Modifiers

-----------------
+
------
+
------------------------------------


topic_title


| text |


category_rec_id | text |


added_by


| te
xt |


topic_rec_id


| text | default nextval(

topic_seq

::text)


category_title


| text |


topic_grade


| text |


Content

table

Column | Type | Modifiers

--------------------
+
---------------
-------
+
--------------------------------------


con_rec_id


| integer | default nextval(

content_seq

::text)


con_subject_rec_id | integer |


con_grade


| text |


con_content_id


| text |


con_title


| text |


con_topic_rec_id


| text |


con_new


| character varying(1)



Outcomes

table

out_rec_id


| integer | default nextval(

outcom
es_seq

::text)


out_content_rec_id | integer |


out_outcome_id


| text |


out_narr


| text |


out_subject_id


| text |


out_new


| text |


Standards

table

Column | Type | M
odifiers

--------------------
+
---------
+
----------------------------------------


std_rec_id


| integer | default nextval(

standards_seq

::text)


std_outcome_rec_id | integer |


std_id


| text |


st
d_narr


| text |


std_ccg


| text |


std_csd_id


| text |


std_subject_id

| text |


std_content_id


| text |


std_outcome_id | text |


std_new



| text |


Articles

table

(referenced as Web Items within the application)

Column | Type | Modifiers

-----------------
+
---------
+
---------------------------------------


topic_rec_id


| text |

(corresp
onding Topic (actually “Grade”)


keywords


| text |


url


| text |


body


| text |


author


| text |


org




| text |


posted_by


| text |


a
rt_group_id


| text | default nextval(

articles_seq

::text)


art_rec_id

| text | default nextval(

articles_seq

::text)


email


| text |


author_email


| text |


title




| text |


date





| date |


category_title


| text |


category_rec_id | text |


topic_title


| text |


user_id


| text |


level


| integer |


content


| text |


local_file



|
b
oolean

| default

false


(to designate if the article/file is stored on local webserver)


file_folder


| text |

(if article/file is stored on local web server, this is for the path)


type


| text |


intera
ctive

| text |


grade_k


|
b
oolean

| default

f



grade_1


|
b
oolean

| default

f



grade_2


|
b
oolean

| default

f



grade_3


|
b
oolean

| default

f



grade_4


|
b
oolean

| defa
ult

f



grade_5


|
b
oolean

| default

f



grade_6


|
b
oolean

| default

f



grade_7


|
b
oolean

| default

f



grade_8

|
b
oolean

| default

f



grade_9


|
b
oolean

| default

f



grade_10



|
b
oolean

| default

f



grade_11


|
b
oolean

| default

f



grade_12


|
b
oolean

| default

f



grade_k_3


|
b
oolean

| default

f



grade_4_5


|
b
oolean

| default

f



grade_6_8


|
b
oolean

| default

f



grade_11_12


|
b
oolean

| default

f



Class_cart

table

(the users individual Cart items)

Column | Type | Modifiers

------------------
+
---------
+
-----------------------------------------


class_rec_id


| integer | default nextval('class_cart_seq'::text)


class_user_id


| integer |


class_cat_id


| integer |


class_image


| text |


class_type


| text |


class_date


| date |


class_url


| text
|


class_url_title


| text |


class_active


| boolean | default 't'


class_art_rec_id | integer |


Group_cart

table


(the Group Cart to which each user also has access

by their

corresponding

user_group

designation)

Column | Type |

Modifiers

------------------
+
---------
+
-----------------------------------------


group_rec_id


| integer | default nextval('group_cart_seq'::text)


group_user_id


| integer |


group_cat_id


| integer |


group_i
mage


| text |


group_type


| text |


group_date


| date |


group_url


| text |


group_url_title


| text |


group_team


| text |


group_bldg


| text |


group_art_rec_id | integer |



Teams table

(used for populating the
Team drop
-
down in the user

profile
, and other JOINS
, used mostly for
Centennial’s middle school teams
)


Column | Type | Modifiers

-------------
+
---------
+
----------------------------
-------


team_rec_id | integer | default nextval('team_seq'::text)


team_title | text |


team_type | text |


team_code | text |


Schools table

(used for populating the
Building drop
-
down in the user

profile
, and other JOINS
)


Column |

Type | Modifiers

------------
+
---------
+
--------------------------------------


sch_rec_id | integer | default nextval('schools_seq'::text)


sch_name | text |


sch_code | text |


sch_type | text |


Users tab
le


Column | Type | Modifiers

------------
+
---------
+
------------------------------------


user_id | text | default nextval('users_seq'::text)


user_name | text |

(user login name)


password | text |


leve
l | integer |

(for designating level of security, teachers=1, webmaster/manager=3


session_id | text |

(
unused,
originally for authentication

cookie, application now uses PHP sessions)


user_email | text |


user_path | text |


user_te
am | text |


user_bldg | text |

(user school code)


user_type | text |


user_first | text |


user_last | text |


user_photo | boolean | default 'f'


user_tag | boolean | default 'f'

(originally for TAG teachers

corresponds
with

other applications)


sped_level | integer |

(originally for Special Education
teachers

corresponds
with
other application
s
)


user_dept | text |


tag_level | integer |


user_sport | text |

(originally for Centennial’s middle school

corresponds w
ith another app.)


user_new | boolean | default 't'

(marked when webmaster creates new users

in
new_user.php
)


user_group | text |

(typically for users’ Group Cart items)


District table


Column | Type | Modifiers

------------
+
------
+
----------
-


dist_name | text |


dist_phone | text |


dist_email | text |
SCRIPT PAGES


auth_login.php

A
utheticates user login, creates a PHP session
and loads user data into session vars

auth
.php

Included in every page to authenticate users.

banner.php

Contains

the logo graphic and main menu.

bottom
_secti
on.htm

Text menu included in the bottom of each page

cart.php

Teachers create personal class cart
and group
items

common.php

Opens database connection

Users select Subject to search articles

edit_art
icle
.php

Aut
horized users can edit an article record

edit_content.php

Authorized users can edit a content record

edit_outcome
s
.php

Authorized users can edit outcomes

called
from

searc
h_content.php

edit_standards
.php

Authorized users edit standard
s

called
from

search_s
tandards.php

index.php

Point of entry for all users.

list_articles.php

Displays list of selectable articles (web sites)

called from curric_resources.php

list_topics.php

Displays list of selectable topics (grades) for a chosen subject

login.php

Form for use
r name and password

management.php

Menus/dropdowns for management section (adding editing contents, outcomes,
standards, users, etc.)

included in the top of each management page

mgnt_users.php

Authorized users can add edit user accounts

called from managem
ent.php

new_article.php

Form for authorized users to create new articles

new_article_help.htm

Help window for new_article page

new_content.php

Authorized users can create new content records

called from management.php

new_outcome.php

Authorized users can c
reate new outcome records

called from management.php

new_standard.php

Authorized users can create new standard records

called from management.php

new_
profile
.php

School district

employees

can create
a
new Learning Helper
profile

(stored in the Intranet
are
a of the web server)

print_standards.php

Displays the district learning standards in Curriculum Guide format with hyperlinks to on
the Outcomes to associated articles

problem.php

A
form data validation

page
.

report_problem.php

A form for users to send pro
blem reports to the web
master
; typically regarding articles
with hyperlinks that don’t work, etc.

search_standards.php

Part of the Management section that searches for Standards records to edit

search_subject_grade.php

Part of the Management section that
searches for Content records to edit

select_teacher.php

Part of the Learning Activities section; it allows the user to select the building then
teacher

send_problem.php

Part of the Problem reporting section that generates the email

standards_menu.php

Part
of the Management section that searches for Standards records to edit

teacher_menu.php

The menu is maintained in all pages for staff members see after logging in

teachers.php

Part of the Management section that searches for Teachers (staff) records to edit

view_article.php

U
sers

view articles

(web items)



DISCLAIMER


Centennial School District makes Learning Helper available to other school district free of
charge and without warrantee and/or guarantee of any kind.
Any copied use of Learning Helper
is done

so on an “as is” basis.
Centennial School District is not responsible or liable for any loss
or damage in its use

by other districts
.