Webdesign/HICCC

From Informatics

Jump to: navigation, search

Contents


This page covers the setup for the HICCC website, its general structure, db setup and necessary passwords. As well as connections to VELOS (an Oracle DB) and the Sundial calendering system.


Structure

Located at /nfs/apollo/1/server_data/www/hiccc, served on addwnld

  • contact/ - contact page, entries are saved to DB and email is sent to Ralph Maldari and Sadie Maloof
  • dagapps/ - applications created by Ben May for VELOS
  • data/ - uploaded data
  • foot.php - footer for every page, close DB connections, etc...
  • head.php - header for every page, include libraries, classes, instantiate stuff, etc...
  • j/ - global javascripts
  • index.php - main pages, handles all requests
  • i/ - global images
  • lib/ - libraries, functions, etc...
    • config.php - configuration for the site
  • management/ - management section
  • members/ - displays member information from VELOS
  • news/ - displays news information back-end, configured/added in management/.
  • page.php - included if page is being pulled from db and data needs to be displayed. Will import legacy.php if necessary.
  • pages/ - contains files for outputting information from db, included file is determined in /lib/page_direct.php
    • clinicaltrials.php - display the data for a clinical trials sub page within the template
    • legacy.php - display the data for a standard page within the template
    • members.php - display the data for a members sub page within the template
  • search/ - search feature for the site.
  • services/ - membership app, shared resource request system, etc... Explained in more detail below.
  • t/ - templates to create the look/feel of the site.
  • wind/ - handles WIND(Columbia UNI) authentication for the site.

Passwords

Sections

==== Calendar ==== - now controlled by Columbia's calendar application and retrieval service, Sundial. Sundial will return HTML pages (w/embedded javascript) for displaying interactive calendars.

  • The Sundial calendar uses an API to retrieve events based on a variety of criteria specified using GET query variables. For more documentation see Sundial documentation.
  • Events are added through the sundial interface, and user with a valid UNI can submit an event that must then be approved by a calendar administrator.
  • To customize the look and feel of the calendar, you can use local templates to display data, the templates have their own specific template tags. See Sundial documentation for more.
  • lib/class.calendar.sundial.php - class developed to make calls to the Sundial API and retrieve the appropriate calendar.
  • calendar/calendar.php - used locally to instantiate the sundial calendar class and return calendars, used with /j/calendar.sundial.js to make calendars in ajax calls.
  • j/main.js - extended jQuery and added sundial method for ajax calls to calendar/calendar.php.
// Usage: calendar loaded into element with id="calendar"

$('#calendar').sundial({
	viewType:	'list',
	brand:		'hiccc_cumc',
	maxEvents:	3,
	population:	'hiccc_featured',
	noRecords:	'http://hiccc.columbia.edu/calendar/sundial/templates/noRecordsHome.tpl',
	eventListing:	'http://hiccc.columbia.edu/calendar/sundial/templates/featuredHome.tpl'
});

==== Clinical Trials ==== - interface for searching and retrieving clinical trials from the VELOS DB. Uses Oracle Connection class (lib/class.oci.php) and extends it (clinicaltrials/class.oci.cts.php)

==== Service Request System ==== - system for requesting services from shared resources within the cancer center. More Information | Administration

==== Service Request Feedback ==== - a form to allow feedback for the service request system

==== Online Membership Application ==== - an online form for applying for membership to the cancer center, admin section allows administrators to approve applications and copy users to VELOS. Administration

Files

Config

  • lib/config.php - configuration file.

Page Controller

  • page.php - this controls the output of the page identified by the page GET request.

Each page is identified in the database table pages with a unique id, each page entry can have multiple page elements which are defined by the table pageelements. The field pageelements.idpage is a reference to the id of the page that the element corresponds to.

  • lib/page_direct.php - controls the files/setup of the page for the request.

User Class

  • lib/class.user.php - the User class. (Methods and implementation are similar to that on the C2B2 site. See: C2B2 User Class)

Wind User Class

  • lib/class.wind.user.php - this class extends the User class and adds functionality to allow users to login and authenticate using WIND, Columbia's UNI authentication system.

OCI Class

  • lib/class.oci.php - this class creates an OCI connection and simplifies queries and setting connection options.

OCI Member Class

  • lib/class.members.oci.php - extends the OCI class to simplify the retrieval of VELOS members.

Calendar Class

  • lib/class.calendar.php - no longer used.

Sundial Calendar Class

  • lib/class.calendar.sundial.php - class for handling the sundial calendar, see: Sundial Calendar.

XML Parser Class

  • lib/class.xml.php - XML parsing class.

Libraries

  • lib/datalib.php -
  • lib/mainlib.php -
  • lib/mainlib2.php -
  • lib/utils.php -
  • lib/weblib.php -

Skins / Templates

All skins are located in the folder t. The selected template is defined in the configuration file with the variable $CFG->skin which reference a folder within t. So if $CFG->skin is set to 'my_template', your template files must be within t/my_template/.

The naming for files is very important, the following files are necessary for a template to be usable.

  • header.php - header, displays before content
  • footer.php - footer, displays after content

These other files are important, but not essential

  • disable.php - page to be displayed if site is disabled
  • home.php - home page content, this can be customized by a designer
  • print_header.php - simple header for print versions of pages

Images and stylesheets should be within this folder as well. They should be included in the header.

Database

  • hicccweb.users
+--------------------+---------------------------+------+-----+----------------+----------------+
| Field              | Type                      | Null | Key | Default        | Extra          |
+--------------------+---------------------------+------+-----+----------------+----------------+
| id                 | int(11)                   |      | PRI | NULL           | auto_increment |
| firstname          | varchar(30)               | YES  |     | NULL           |                |
| middleinitial      | varchar(30)               | YES  |     | NULL           |                |
| lastname           | varchar(30)               | YES  |     | NULL           |                |
| email              | varchar(100)              | YES  |     | NULL           |                |
| username           | varchar(16)               | YES  |     | NULL           |                |
| password           | varchar(255)              | YES  |     | NULL           |                |
| institution        | int(11)                   | YES  | MUL | NULL           |                |
| userlevel          | int(11)                   | YES  |     | NULL           |                |
| datecreated        | int(14) unsigned zerofill |      |     | 00000000000000 |                |
| custompage         | tinyint(1)                | YES  |     | 0              |                |
| seminars           | tinyint(1)                | YES  |     | 0              |                |
| facultymembers     | tinyint(1)                | YES  |     | 0              |                |
| staff              | tinyint(1)                | YES  |     | 0              |                |
| directory          | tinyint(1)                | YES  |     | 0              |                |
| allowreferencedata | tinyint(1)                | YES  |     | 0              |                |
| customfields       | tinyint(1)                | YES  |     | 0              |                |
| lastlogin          | int(14) unsigned zerofill |      |     | 00000000000000 |                |
| news               | tinyint(1)                | YES  |     | 0              |                |
| clinicaltrials     | tinyint(1)                | YES  |     | 0              |                |
| calendar           | tinyint(1)                | YES  |     | 0              |                |
| custompageedit     | tinyint(1)                | YES  |     | 0              |                |
| resources          | tinyint(1)                | YES  |     | 0              |                |
| contacts           | tinyint(1)                | YES  |     | 0              |                |
| sess_id            | varchar(32)               | YES  |     | NULL           |                |
| memberships        | tinyint(1)                | YES  |     | 0              |                |
| service_requests   | tinyint(1)                | YES  |     | 0              |                |
+--------------------+---------------------------+------+-----+----------------+----------------+

Unused Tables

  • hicccweb.calendar
  • hicccweb.cancerstages
  • hicccweb.cancertypes
  • hicccweb.clinicaltrials
  • hicccweb.clinicaltrialscustomfields
  • hicccweb.clinicaltrialscustomfieldvalues
Personal tools