fatPage picture

People Suite


The purpose of the People suite is to provide a central database and API for storing user passwords, access permissions, and other user information that Frontier services may need to access.

See the Custody Suite for an example suite that uses the People Suite.

Fat Page

This page contains the People Suite, version 1.0b6.

You will need to run the init script at suites.people.init before using the People suite.

The People suite must be installed before the Custody suite is installed.


Services are scripts, suites, or systems that must maintain a list of users with varying privileges, passwords, and so on.

Services must be registered with the People suite before they are used.

Any individual user may or not have access to specific services.


The people suite is extendable.

Service definitions may contain scripts that over-ride or extend the built-in behavior of the People suite.

Database structure

Every user has their own table of information. The name of the table is the username.

At minimum, the table also includes a password and an email address.

Every service the user has access to is represented by a subtable in the user's table. For instance, the user.people.PBS.services.custody table exists if user 'PBS' is allowed to check objects in and out with the Custody suite. This table contains additional information about the user that is private to the Custody suite.

All data is stored in the user.people table:





[other optional public data]



flenabled (boolean)

[private data for this service regarding this user.
Permissions and so on.]



authenticateUser (script) (optional)

deleteUser (script) (optional)

flenabled (boolean)

newUser (script) (optional)

virginUserTable (table)

Changes 7/14/97

New verbs:

GetServiceUsersList (serviceName) returns a list of users who have access of any kind to the specified service.

GetUsersList () returns a list of all users who have access to any kind to any service.

UserExists (userName) return true or false, depending on if the user exists at all for any service.

Changed verbs:

newUser (userName, password, emailAddress, serviceName = "")

ServiceName is now an optional parameter. You can now use this verb to create a user without assigning giving the user access to any services.

registerService (serviceName, adrServiceDefinition = nil)

AdrServiceDefinition is now optional. If you don't specify, a default, plain service definition will be used.


Managing Users: getting and setting public info

SetUserEmailAddress (userName, emailAddress)

GetUserEmailAddress (userName)

GetUserPassword (userName)

SetUserPassword (userName, password)

GetPublicInfo (userName, infoName)

SetPublicInfo (userName, infoName, infoValue)

GetUsersList ()

UserExists (userName)

Managing Services: registering, creating, and destroying services

RegisterService (serviceName, adrServiceDefinition)

UnRegisterService (serviceName)

EditServiceDefinition (serviceName, adrServiceDefinition)

GetRegisteredServices ()

ServiceIsRegistered (serviceName)

Users and Services: authenticating users, creating new users, etc.

AuthenticateUser (userName, password, serviceName)

NewUser (userName, password, emailAddress, serviceName)

NewUserService (userName, serviceName)

DeleteUser (userName, serviceName)

GetUserServices (userName)

ServiceIsEnabled (userName, serviceName)

GetUserInfo (userName, serviceName)

SetUserInfo (userName, serviceName, adrInfoTable)

GetDataAddress (userName, serviceName)

GetServiceUsersList (serviceName)

This is a fat web page containing suites.people. More info on fat pages here.

© copyright 1997-98 UserLand Software. This page was originally posted on 4/29/97; 2:24:29 PM and it was last built on 2/21/98; 3:49:26 PM. dave@scripting.com.