Skip to main content

Feedback.Combined

persistent class Feedback.Combined extends %Library.Persistent, %XML.Adaptor

SQL Table Name: Feedback.Combined

Property Inventory

Method Inventory

Parameters

parameter RELOADWINDOW = 14;
Number of days worth of data that we will reload (this will let us handle a situation where things are just broken for 2 weeks).
parameter XMLNAME = Raw;
Inherited description: This parameter provides the default XMLNAME for the class. If it is empty then the class name will be used to construct a default XML name. The default XMLNAME is used as the top level tag when exporting objects and the export context did not provide an XML container name.

Properties

property ActuallySpam as %Boolean;
Initial value taken from Feedback.Raw, set manually as needed
Property methods: ActuallySpamDisplayToLogical(), ActuallySpamGet(), ActuallySpamGetStored(), ActuallySpamIsValid(), ActuallySpamLogicalToDisplay(), ActuallySpamLogicalToXSD(), ActuallySpamNormalize(), ActuallySpamSet(), ActuallySpamXSDToLogical()
property Classname as %String) [ Calculated , Transient ];
Property methods: ClassnameCompute(), ClassnameDisplayToLogical(), ClassnameGet(), ClassnameIsValid(), ClassnameLogicalToDisplay(), ClassnameLogicalToOdbc(), ClassnameNormalize(), ClassnameSQLCompute()
property Comment as %String);
Property methods: CommentDisplayToLogical(), CommentGet(), CommentGetStored(), CommentIsValid(), CommentLogicalToDisplay(), CommentLogicalToOdbc(), CommentNormalize(), CommentSet()
property CommentedItem as %String (XMLPROJECTION = "NONE") [ Calculated , Transient ];
Property methods: CommentedItemCompute(), CommentedItemDisplayToLogical(), CommentedItemGet(), CommentedItemIsValid(), CommentedItemLogicalToDisplay(), CommentedItemLogicalToOdbc(), CommentedItemNormalize(), CommentedItemSQLCompute()
property Context as %String (XMLPROJECTION = "NONE") [ Calculated , Transient ];
Property methods: ContextCompute(), ContextDisplayToLogical(), ContextGet(), ContextIsValid(), ContextLogicalToDisplay(), ContextLogicalToOdbc(), ContextNormalize(), ContextSQLCompute()
property CustomerReported as %String (XMLPROJECTION = "NONE") [ Calculated , Transient ];
True if feedback is from a user external to InterSystems
Property methods: CustomerReportedCompute(), CustomerReportedDisplayToLogical(), CustomerReportedGet(), CustomerReportedIsValid(), CustomerReportedLogicalToDisplay(), CustomerReportedLogicalToOdbc(), CustomerReportedNormalize(), CustomerReportedSQLCompute()
property DocBookID as %String) [ Calculated , Transient ];
Property methods: DocBookIDCompute(), DocBookIDDisplayToLogical(), DocBookIDGet(), DocBookIDIsValid(), DocBookIDLogicalToDisplay(), DocBookIDLogicalToOdbc(), DocBookIDNormalize(), DocBookIDSQLCompute()
property Email as %String);
Property methods: EmailDisplayToLogical(), EmailGet(), EmailGetStored(), EmailIsValid(), EmailLogicalToDisplay(), EmailLogicalToOdbc(), EmailNormalize(), EmailSet()
property FeedbackSource as %String (XMLPROJECTION = "NONE") [ Calculated , Transient ];
Indicates whether the source of the feedback is "Customer", "Internal", "Spam", or "Unknown"
Property methods: FeedbackSourceCompute(), FeedbackSourceDisplayToLogical(), FeedbackSourceGet(), FeedbackSourceIsValid(), FeedbackSourceLogicalToDisplay(), FeedbackSourceLogicalToOdbc(), FeedbackSourceNormalize(), FeedbackSourceSQLCompute()
property Instance as %String);
Property methods: InstanceDisplayToLogical(), InstanceGet(), InstanceGetStored(), InstanceIsValid(), InstanceLogicalToDisplay(), InstanceLogicalToOdbc(), InstanceNormalize(), InstanceSet()
property InternalUserReported as %String (XMLPROJECTION = "NONE") [ Calculated , Transient ];
True if feedback is from a user internal to InterSystems
Property methods: InternalUserReportedCompute(), InternalUserReportedDisplayToLogical(), InternalUserReportedGet(), InternalUserReportedIsValid(), InternalUserReportedLogicalToDisplay(), InternalUserReportedLogicalToOdbc(), InternalUserReportedNormalize(), InternalUserReportedSQLCompute()
property JIRAs as %String;
Comma-separated list of JIRA task identifiers (1 task in most cases)
Property methods: JIRAsDisplayToLogical(), JIRAsGet(), JIRAsGetStored(), JIRAsIsValid(), JIRAsLogicalToDisplay(), JIRAsLogicalToOdbc(), JIRAsNormalize(), JIRAsSet()
property ReCAPTCHASuccess as %Boolean;
True if the captcha response was verified as a success, false otherwise
Property methods: ReCAPTCHASuccessDisplayToLogical(), ReCAPTCHASuccessGet(), ReCAPTCHASuccessGetStored(), ReCAPTCHASuccessIsValid(), ReCAPTCHASuccessLogicalToDisplay(), ReCAPTCHASuccessLogicalToXSD(), ReCAPTCHASuccessNormalize(), ReCAPTCHASuccessSet(), ReCAPTCHASuccessXSDToLogical()
property RecordCreated as %TimeStamp (XMLPROJECTION = "NONE") [ ReadOnly ];
Records the timestamp at which this record was initially created
Property methods: RecordCreatedCompute(), RecordCreatedDisplayToLogical(), RecordCreatedGet(), RecordCreatedGetStored(), RecordCreatedIsValid(), RecordCreatedLogicalToDisplay(), RecordCreatedLogicalToXSD(), RecordCreatedNormalize(), RecordCreatedOdbcToLogical(), RecordCreatedSQLCompute(), RecordCreatedSetT(), RecordCreatedXSDToLogical()
property RecordLastModified as %TimeStamp (XMLPROJECTION = "NONE") [ ReadOnly ];
Records the timestamp at which this record was last modified
Property methods: RecordLastModifiedCompute(), RecordLastModifiedDisplayToLogical(), RecordLastModifiedGet(), RecordLastModifiedGetStored(), RecordLastModifiedIsValid(), RecordLastModifiedLogicalToDisplay(), RecordLastModifiedLogicalToXSD(), RecordLastModifiedNormalize(), RecordLastModifiedOdbcToLogical(), RecordLastModifiedSQLCompute(), RecordLastModifiedSetT(), RecordLastModifiedXSDToLogical()
property Referrer as %String);
Property methods: ReferrerDisplayToLogical(), ReferrerGet(), ReferrerGetStored(), ReferrerIsValid(), ReferrerLogicalToDisplay(), ReferrerLogicalToOdbc(), ReferrerNormalize(), ReferrerSet()
property ReleaseID as %String);
Property methods: ReleaseIDDisplayToLogical(), ReleaseIDGet(), ReleaseIDGetStored(), ReleaseIDIsValid(), ReleaseIDLogicalToDisplay(), ReleaseIDLogicalToOdbc(), ReleaseIDNormalize(), ReleaseIDSet()
property Server as %String);
Property methods: ServerDisplayToLogical(), ServerGet(), ServerGetStored(), ServerIsValid(), ServerLogicalToDisplay(), ServerLogicalToOdbc(), ServerNormalize(), ServerSet()
property ServerGroup as %String (XMLPROJECTION = "NONE") [ Calculated , Transient ];
Property methods: ServerGroupCompute(), ServerGroupDisplayToLogical(), ServerGroupGet(), ServerGroupIsValid(), ServerGroupLogicalToDisplay(), ServerGroupLogicalToOdbc(), ServerGroupNormalize(), ServerGroupSQLCompute()
property SpamDetected as %Boolean;
Boolean indicating whether the response was detected as probable spam by any automated mechanism (set in Feedback.Raw)
Property methods: SpamDetectedDisplayToLogical(), SpamDetectedGet(), SpamDetectedGetStored(), SpamDetectedIsValid(), SpamDetectedLogicalToDisplay(), SpamDetectedLogicalToXSD(), SpamDetectedNormalize(), SpamDetectedSet(), SpamDetectedXSDToLogical()
property SpamDetectedReason as %String;
Text description (or comma-separated list of multiple text descriptions) of the reason that this response was detected as probable spam (set in Feedback.Raw)
Property methods: SpamDetectedReasonDisplayToLogical(), SpamDetectedReasonGet(), SpamDetectedReasonGetStored(), SpamDetectedReasonIsValid(), SpamDetectedReasonLogicalToDisplay(), SpamDetectedReasonLogicalToOdbc(), SpamDetectedReasonNormalize(), SpamDetectedReasonSet()
property TestSubmission as %Boolean;
This is not from Feedback.Raw, set manually as needed
Property methods: TestSubmissionDisplayToLogical(), TestSubmissionGet(), TestSubmissionGetStored(), TestSubmissionIsValid(), TestSubmissionLogicalToDisplay(), TestSubmissionLogicalToXSD(), TestSubmissionNormalize(), TestSubmissionSet(), TestSubmissionXSDToLogical()
property TimeStamp as %TimeStamp;
Property methods: TimeStampDisplayToLogical(), TimeStampGet(), TimeStampGetStored(), TimeStampIsValid(), TimeStampLogicalToDisplay(), TimeStampLogicalToXSD(), TimeStampNormalize(), TimeStampOdbcToLogical(), TimeStampSet(), TimeStampXSDToLogical()
property UserAgent as %String);
Property methods: UserAgentDisplayToLogical(), UserAgentGet(), UserAgentGetStored(), UserAgentIsValid(), UserAgentLogicalToDisplay(), UserAgentLogicalToOdbc(), UserAgentNormalize(), UserAgentSet()

Methods

classmethod DeactivateLinksForEmail(text As %String = "") as %String
Adds spaces around substrings that may cause an email client to format a string as a clickable link. Created to make it less likely to accidentally click a spam or scam link.
classmethod ExportCSV(exportFilename As %String = "", queryFilters As %String = "", verbose As %String = 0) as %String
Exports this class' data (with specified filters applied) to the specified file name (or Feedback.csv if none is supplied) in the DocBookMgr directory. Returns either the full path to the exported file or "" in the case of an error (errors are logged to DBMTables.ActivityLog). *** EXCLUDES EMAIL ADDRESSES FOR USER PRIVACY & COMPLIANCE ***
classmethod GenerateXMLBackup(verbose As %Boolean = 0)
classmethod GetClassname(Referrer As %String) as %String
classmethod GetContext(Referrer As %String) as %String
classmethod GetDocBookId(Referrer As %String = "")
classmethod GetFeedbackSource(ActuallySpam, Email) as %String
classmethod GetIsCustomerReported(ActuallySpam, Email)
classmethod GetIsInternalUserReported(ActuallySpam, Email)
classmethod GetItem(Referrer As %String) as %String
classmethod Purge()
classmethod RestoreAvailableEmails(verbose As %Boolean = 1)
After restoring from backup, external emails which should still be available (time limit has not expired) will be replaced with [external email address not exported]. Since this data is still available in the raw feedback records on the servers (as long as the time limit has not expired), this method automates re-populating that information into the corresponding records in the central, Feedback.Combined database.
classmethod Update(verbose As %Boolean = 1)

Indexes

index (IDKEY on ) [IdKey, Type = key];
Index methods: IDKEYCheck(), IDKEYDelete(), IDKEYExists(), IDKEYOpen(), IDKEYSQLCheckUnique(), IDKEYSQLExists(), IDKEYSQLFindPKeyByConstraint(), IDKEYSQLFindRowIDByConstraint()

Inherited Members

Inherited Methods

Storage

Storage Model: CacheStorage (Feedback.Combined)

^Feedback.CombinedD(ID)
=
%%CLASSNAME
TimeStamp
ReleaseID
Comment
CommentType
UserGoal
Email
Referrer
UserAgent
Server
Instance
PartialURL
DocBookID
JIRAs
ActuallySpam
SpamDetected
TestSubmission
ReCAPTCHASuccess
Classname
Context
RecordCreated
RecordLastModified
SpamDetectedReason
FeedbackOpens in a new tab