Resources: Resources and Guidelines

EDGE Script Guide

Table of Contents

This help node is valid as of the time of this writing. If there are discrepencies, please report them.

General Operation Flow

The action flow of most scripts is shown below. Each of the boxes in the figure indicates one action that the script can perform, with arrows indicating the links between the actions.

Typical script flow

Typical script flow

Script Listing

The following sections describe the operation of each of the scripts.


Script location: /scripts/Bids

Bidding is performed by a prospective Senior Design student on an openings created for projects.

Bids can be filtered, viewed, and deleted by the administrator of the project that created the opening.

Any user can view and edit bids created by themselves.

Bulk Email

Script location: /scripts/Bulk Email

This is a simple user filter that allows email distribution lists to be created. The lists can be exported as either a mailto link or a CSV-format file.

Edit Definitions

Script location: /scripts/Edit Definitions

Definitions are a core part of the EDGE database system. There are many categories of definitions, each with a collection of terms and brief descriptions.

Definitions are used by many scripts and core functions to filter values and restrict inputs.

Edit Membership

Script location: /scripts/

This script allows any user to manipulate memberships. Because any user may have any membership in any project, the script does not limit the choices for attempting various actions (creating, editing, deleting memberships). The user is allowed to attempt any change, but only changes to which they have access are allowed.

Edit Self

Script location: /scripts/Edit Self

This is how any user can edit their own basic properties. The changes made here are applied to the current user only and may affect many parts of the database.

The information entered here is all passive in the sense that a user cannot affect any other user or project with this script.

Edit non-LDAP Users

Script location: /scripts/Edit non-LDAP Users

This is for site-administrators only. It allows creation of user authentication accounts outside of the RIT LDAP system.

NOTE: This affects only authentication, a normal EDGE user account must still be created to authorize the user for project activities (using memberships).

Global Config

Script location: /scripts/Global Config

Here are stored the general site configuration parameters that are not particular to a single project, but to all projects.

Each item can have its viewing and editing access restricted to a particular class of users with EDGE memberships.

Script location: /scripts/Link Index

This script allows users with guest access to a project the ability to visualize the node-content of a project.

The images from this script can be quite large, and are not cached. The link index itself is generated dynamically every time a wiki node is saved.

NOTE: This script is also used to generate images for a node's "Link Index" action (also available only to project guests).


Script location: /scripts/Openings

Openings are requests-for-membership created by a project's admin. Any user can search for, and view, any opening. A project's openings can be edited by any of the projects admins, regardless of who created it.

Project Information

Script location: /scripts/Project Information

This script allows any user to filter sets of projects and view the project's basic public information and memberships.

Project curators are allowed to edit the information stored about a project (such as the public web revision).

Site admins can manipulate projects as a whole (creating and deleting them).

Project Proposals

Script location: /scripts/Project Proposals

The proposal process is documented in the Project Proposal Process node. This script is simply an implementation of that procedure.

User Information

Script location: /scripts/User Information

This script allows users to edit their own information (although the Edit Self script is preferred). Its main use is for site admins to manipulate users as a whole (creating and deleting them).