• Share
    • Twitter
    • LinkedIn
    • Facebook
    • Email
  • Feedback
  • Edit
Show / Hide Table of Contents

Contact (person)

•
Version: 10
Some tooltip text!
• 5 minutes to read
 • 5 minutes to read

Edit person dialog -screenshot

SuperOffice view of the world

SuperOffice has five important things:

  • Companies are in code and database references called contact.
  • Associates are SuperOffice users - employees of the company.
  • Projects are a type of activity that usually involves several stakeholders and various types of other activities.
  • Activities are things employees do with companies, contacts, projects, the diary, and sales.
    • Follow-ups
    • Documents
    • Mailings and form submissions
    • Chat sessions
  • Tickets from Service are linked to persons who may or may not belong to a company.

You can read more about the main tables in the developer documentation.

Business rules

  • Activities happen at a particular point in time.
  • Sales are expected to be closed on a date in the future.
  • Meetings are scheduled for a particular date and time.
  • Documents are written on a specific day.
  • Activities start on one day and finish on another.
  • Time is important for activities.
  • Companies and projects are not time-specific but are linked to activities in time.

The appointment table contains foreign keys to all the other important tables, plus a date field (ActiveDate).

Context-sensitive labels

It is important to keep in mind that there's not a 1:1 mapping of labels and that you have to take context into account.

Real-world term UI label Database table CRMScript class
company
organization
company contact Company
person contact
associate
customer contact person Customer
employee associate associate
user account user ejuser User
database owner tenant Company

Employees (internal)

The associate database table represents employees, resources, and other users - except for external persons.

Yet, this table is important for understanding and navigating the relationship between a person and their user account as well as the relationship between employees at the organization running the CRM system and the external parties they interact with.

You may think of associates as the missing link that connects people.

Associate types

Value Type Description
0 Employee Internal person
1 Resource Not a person
Disregard personId
2 Anonymous Not authenticated for SuperOffice
4 ExternalPerson External person
No calendar
7 Anonymous Unknown
no person (1) + not authenticated (2) + no calendar (4)
8 NoSentry Has full access rights
The Sentry mechanism is bypassed
13 System System user
no person (1) + no calendar (4) + full access/bypass sentry (8)

Frequently used values

Database field Description
associate_id ID (primary key)
person_id The person
name Initials, sign-in name, database user name
group_idx Primary group membership
ejuserId ID of the user account
0 if not connected to an account

Important timestamps

Database field Description
lastlogin The last time the associate signed in
lastlogout The last time the associate signed out
registered When the associate was registered
updated The last time the associate was updated

Resources

Resources are typically meeting rooms or equipment such as projectors.

Database field Description
isLocation True if it represents a location
locationAddress The address, if it's a location

Database reference

Associate list and cache

In NetServer when you have a session, the session cache will contain a special cache entry named the associate cache. There all the associates listed in the SuperOffice database can be accessed through the cache, which is much faster than retrieving the associates from the database.

The associate list is an MDO list type that you can retrieve from the database. It holds all the associates from the SuperOffice database.

How to get associate list from cache

Person picture and BLOBs

Pictures are stored in the BLOB table. The BLOBs are linked to other records in the system using the BinaryObjectLink table.

BLOBs are currently used for four things:

  • Pictures on person records
  • Pictures on project records
  • Flags on country records
  • Status monitor pictures

If you add a picture to a person, you must write the picture to the BinaryObject table, and then write the corresponding BinaryObjectLink to link the BLOB with the person record.

Without the link record, the picture will not appear.

BLOB samples

  • Get person image (REST)
  • Update person image (REST)
  • Display person image (ImageUtility)
  • Display image from BLOB table (web services)

Related content

  • Company - overview (contact table)
  • Documents - overview
  • Follow-ups - overview (appointment table)
  • Projects - overview
  • Sales - overview
  • Working with contacts in CRMScript
  • Working with contacts in web NetServer services and REST
  • Working with contacts at the data layer (entities)
  • Working with contacts using rows
  • Working with contacts in Objectified SQL
  • Raw SQL queries
  • Addresses
In This Article
  • SuperOffice view of the world
    • Business rules
    • Context-sensitive labels
  • Employees (internal)
    • Associate types
    • Frequently used values
    • Important timestamps
    • Resources
    • Associate list and cache
  • Person picture and BLOBs
    • BLOB samples
  • Related content
© SuperOffice. All rights reserved.
SuperOffice |  Community |  Release Notes |  Privacy |  Site feedback |  Search Docs |  About Docs |  Contribute |  Back to top