Thrift module: user_profile_model

ModuleServicesData typesConstants
user_profile_model CustomDashboard
NSFDemographics
Status
USCitizenship
UserProfile
disability
ethnicity
race
USER_PROFILE_VERSION

Constants

ConstantTypeValue
USER_PROFILE_VERSIONstring"1.0"

Enumerations

Enumeration: Status


ACTIVE0
CONFIRMED1
APPROVED2
DELETED3
DUPLICATE4
GRACE_PERIOD5
INVITED6
DENIED7
PENDING8
PENDING_APPROVAL9
PENDING_CONFIRMATION10
SUSPENDED11
DECLINED12
EXPIRED13

Enumeration: USCitizenship

U.S. Citizen (see: http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)



US_CITIZEN0
US_PERMANENT_RESIDENT1
OTHER_NON_US_CITIZEN2

Enumeration: ethnicity

Hispanic or Latino - a person of Mexican, Puerto Rican, Cuban, South or
 Central American, or other Spanish culture or origin, regardless of race.



HISPANIC_LATINO0
NOT_HISPANIC_LATINO1

Enumeration: race

* Asian - a person having origins in any of the original peoples of the Far East,
*      Southeast Asia, or the Indian subcontinent including, for example, Cambodia,
 *      China, India, Japan, Korea, Malaysia, Pakistan, the Philippine Islands,
 *      Thailand, and Vietnam.
* American Indian or Alaskan Native - a person having origins in any of the original
 *     peoples of North and South America (including Central America), and who maintains
  *     tribal affiliation or community attachment.
* Black or African American - a person having origins in any of the black racial groups
*      of Africa.
* Native Hawaiian or Pacific Islander - a person having origins in any of the original
*      peoples of Hawaii, Guan, Samoa, or other Pacific Islands.
* White - a person having origins in any of the original peoples of Europe, the Middle East, or North Africa.
*


ASIAN0
AMERICAN_INDIAN_OR_ALASKAN_NATIVE1
BLACK_OR_AFRICAN_AMERICAN2
NATIVE_HAWAIIAN_OR_PACIFIC_ISLANDER3
WHITE4

Enumeration: disability


HEARING_IMAPAIRED0
VISUAL_IMPAIRED1
MOBILITY_OR_ORTHOPEDIC_IMPAIRMENT2
OTHER_IMPAIRMENT3

Data structures

Struct: NSFDemographics

KeyFieldTypeDescriptionRequirednessDefault value
1airavataInternalUserIdstringrequired"DO_NOT_SET_AT_CLIENTS"
2genderstringoptional
3usCitizenshipUSCitizenshipoptional
4ethnicitieslist<ethnicity>optional
5raceslist<race>optional
6disabilitieslist<disability>optional

A structure holding the NSF Demographic information.



Struct: CustomDashboard

KeyFieldTypeDescriptionRequirednessDefault value
1airavataInternalUserIdstringrequired"DO_NOT_SET_AT_CLIENTS"
2experimentIdstringoptional
3namestringoptional
4descriptionstringoptional
5projectstringoptional
6ownerstringoptional
7applicationstringoptional
8computeResourcestringoptional
9jobNamestringoptional
10jobIdstringoptional
11jobStatusstringoptional
12jobCreationTimestringoptional
13notificationsTostringoptional
14workingDirstringoptional
15jobDescriptionstringoptional
16creationTimestringoptional
17lastModifiedTimestringoptional
18wallTimestringoptional
19cpuCountstringoptional
20nodeCountstringoptional
21queuestringoptional
22inputsstringoptional
23outputsstringoptional
24storageDirstringoptional
25errorsstringoptional

A structure holding the cutomized admin dashboard information.



Struct: UserProfile

KeyFieldTypeDescriptionRequirednessDefault value
1userModelVersionstringrequired"1.0"
2airavataInternalUserIdstringrequired"DO_NOT_SET_AT_CLIENTS"
3userIdstringrequired
4gatewayIdstringrequired
5emailslist<string>required
6firstNamestringrequired
7lastNamestringrequired
8middleNamestringoptional
9namePrefixstringoptional
10nameSuffixstringoptional
11orcidIdstringoptional
12phoneslist<string>optional
13countrystringoptional
14nationalitylist<string>optional
15homeOrganizationstringoptional
16orginationAffiliationstringoptional
17creationTimei64required
18lastAccessTimei64required
19validUntili64required
20StateStatusrequired
21commentsstringoptional
22labeledURIlist<string>optional
23gpgKeystringoptional
24timeZonestringoptional
25nsfDemographicsNSFDemographicsoptional
26customDashboardCustomDashboardoptional

* A structure holding the user profile and its child models.
*
* Notes:
*  The model does not include passwords as it is assumed an external identity provider is used to authenticate user.
*  References:
*     NSF Demographic Information - http://www.nsf.gov/pubs/2000/00form1225/00form1225.doc
*     LDAP Schema - https://tools.ietf.org/html/rfc4519
*     SCIM 2.0 - https://tools.ietf.org/html/rfc7643
*
* userModelVersion:
*  Version number of profile
*
* airavataInternalUserId:
*  internal to Airavata, not intended to be used outside of the Airavata platform or possibly by gateways
*  (that is, never shown to users), never reassigned, REQUIRED
*
* userId:
*  Externally assertable unique identifier. SAML (primarly in higher education, academic) tends to keep
*   user name less opaque. OpenID Connect maintains them to be opaque.
*
* firstName, middleName, lastName:
*  First and Last names as assertede by the user
*
* namePrefix, nameSuffix:
*  prefix and suffix to the users name as asserted by the user
*
* emails:
*   Email identifier are Verified, REQUIRED and MULTIVALUED
*
* userName:
*  Name-based identifiers can be multivalues. To keep it simple, Airavata will make it a string.
*   In the future these can be enumerated as:
    *   Official name (as asserted possibly by some external identity provider)
    *   Prefered name (as asserted or suggested by user directly)
    *   Components:
    *      givenName
    *      surname (familyName)
    *      displayName (often asserted by user to handle things like middle names, suffix, prefix, and the like)
*
* orcidId: ORCID ID - http://orcid.org/about/what-is-orcid)
*
* phones: Telephone MULTIVALUED
*
* country: Country of Residance
*
* nationality Countries of citizenship
*
* comments:
*   Free-form information (treated as opaque by Airavata and simply passed to resource).
*
* labeledURI:
  * Google Scholar, Web of Science, ACS, e.t.c
*
* timeZone:
*  User’s preferred timezone - IANA Timezone Databases - http://www.iana.org/time-zones.
*