Click or drag to resize

New COM APIs

A summary of the new and changed COM APIs in 7.0

 

Database

[Database.Password] - Obsolete, use SafeCredentials instead.

[Database.GetLocationList] - Return resources that are locations

[SuperOffice.COM.SuperOfficeDB.Database.GetStagesForSaleType] - For filtering the stages list correctly.

[Database.SafeCredentials] - Ticket from NetServer - represents a login session.

 

Contact, Person, Project, Sale, Appointment, Document

ExternalFieldChanged - Signal SOCRM that something has happened outside its world – will force a save on model object when AutoSave is triggered. Forces the main record to be updated when object is saved, even if no internal values have changed.

ValidationMessage - Signal SOCRM that Save should be blocked on the model object because of some reason.

AutoSaveOnFlush - Save changes when Flush is triggered

AutoSaveOnChangeIdentity - Save changes when identity is changed.

 

Contact

MergeTo - Merge this contact with another

Copy - Make a copy of this contact

 

Person

MergeTo - Merge two persons

MoveTo - Move a person to another contact

ChatAddresses - e-mail addresses of type 1

VoIPAddresses - e-mail addresses of type 2

Urls - homepage links and the like. Urls with person_id set

 

Associate

Groups - List all groups user is member of

 

Appointment

Sale - The sale this appointment is linked to

SuggestedAppointmentId - This appointment came from a sales guide.

 

Document 

Sale - The sale this document is linked to

SuggestedDocumentId - This document came from a sales guide

ExtRef - same as Reference

ArchiveProviderName - string version of ArchiveProvider

 

Project 

MergeTo

ActiveLinks – links to other projects, urls, documents etc

 

ProjectMember

ExternalFieldChanged

ValidationMessage

 

Selection

[Enumerations.ESelectionType_EN] enum changed! Static, Dynamic, Combination

TargetTable - what this is a selection of

Completed - is the selection marked as done?

 

Sale

ActiveLinks

CanBeCompleted() – is the completed checkbox enabled? Requires status = lost or sold.

PostItText

NextDueDate

ReasonStalled - mdo list item

ReasonSold - mdo list item

ReasonLost - mdo list item

ReopenDate

SaleType - mdo list item

Stage - mdo list item - valid stages vary according to SaleType - same as old Probability

GetSuggestedAppointments()

GetSuggestedDocuments()

 

Settings

HasLicense( licenseName ) – does user have access to license?

GetNumLicense( licenseName ) – total number of licenses

NetServerOverrides - return the NetServer config file settings needed to log in to the database.

SuperofConfigPath - return the path to the superoffice.config file

 

ActivityLinks

AddProject

RemoveProject

Projects

 

User 

CredentialTypes - Returns a list of installed authentication providers. Default = CRM5/PASSWORD + ActiveDirectory

Credentials - List of authentications for user. Currently will only have one item in it.

AddCredential - adds new credential provider to list. Will automatically remove existing credentials. Currently we have only one credential per user, but in the future we hope to support multiple credentials per user.

RemoveCredential - removes a credential type from the user, leaving the user with no means of logging in.

 

Setting the password to "blah" is the same as saying

                soUser.AddCredential "CRM5/PASSWORD", "blah", ""

 

Admin

AddSystemUser( name )

AddAnonymousUser( name )

                You will need the appropriate admin license to create the user.

 

    set sys1 = db.Admin.AddSystemUser("Sys01")     sys1.Password = "foobar"     sys1.save

 

Database

SOStringResources.FromId( id )

                1234 -> "bla bla"

StringResources.FromName( name )

                "[SR_BLA]" -> "bla bla"

StringResources.FromString( string )

                "[SR_XYZ][SR_BLA]:" -> "abc bla bla:"

set db = CreateObject("SuperOfficeDB.Database") msg = msg & db.StringResources.FromId(30979) & vbcrlf msg = msg & db.StringResources.FromName("[TIU_YEAR]") & vbcrlf msg = msg & db.StringResources.FromString("This is TIU_YEAR '[TIU_YEAR]'") & vbcrlf msgbox msg,,"Strings"

 

New Eventserver events

Contact Events

ContactBeforeMerge(SourceContactId, DestinationContactId ) ContactAfterMerge(ContactId) ContactBeforeCopy(ContactId) ContactAfterCopy(SourceContactId, DestinationContactId)

Person Events

PersonBeforeMove(PersonId, NewContactId) PersonAfterMove(PersonId) PersonBeforeMerge(SourcePersonId, DestinationPersonId) PersonAfterMerge(PersonId)

Sale Events

CurrentSaleStageChanged(oldStage, newStage) CurrentSaleTypeChanged(oldType, newType)

Project Events

ProjectBeforeMerge(SourceProjectId, DestinationProjectId) ProjectAfterMerge(ProjectId)

Up: What's new in 7.0   Prev: Move and merge   Next: Sale management          Edit