Components All New MacOS Windows Linux iOS
Examples Mac & Win Server Client Guides Statistic FMM Blog Deprecated Old

MBS FileMaker Plugin Example Databases

Addressbook Changes

All examples are included with download of MBS FileMaker Plugin.

Addressbook Changes.fmp12

Overview
Tables1
Relationships0
Layouts1
Scripts2
Value Lists0
Custom Functions0
Custom Menus33
File Options
Default custom menu set[Standard FileMaker Menus]
When opening file
Minimum allowed version12.0
Login usingAccount Name; Account= Admin
Allow user to save passwordOff
Require iOS passcodeOff
Switch to layoutOff
Hide all toolbarsOff
Script triggers
OnFirstWindowOpenOff
OnLastWindowCloseOff
OnWindowOpenOff
OnWindowCloseOff
OnFileAVPlayerChangeOff
Thumbnail Settings
Generate ThumbnailsOn; Temporary

 

Tables

Table Name
Statistics
Occurrences in Relationship Graph
Addressbook Changes
6 fields defined, 3 records
Addressbook Changes

Fields

Table Name: Addressbook Changes - 6 Fields
Field NameTypeOptionsCommentsOn LayoutsIn RelationshipsIn ScriptsIn Value Lists
IDNormal, TextAuto-Enter:
  • Allow editing
Validation:
  • Only during data entry
Storage:
  • Repetitions: 1
  • Indexing: None
  • Automatically create indexes as needed
  • Index Language: German
      DisplayNameNormal, TextAuto-Enter:
      • Allow editing
      Validation:
      • Only during data entry
      Storage:
      • Repetitions: 1
      • Indexing: None
      • Automatically create indexes as needed
      • Index Language: German
          ActionNormal, TextAuto-Enter:
          • Allow editing
          Validation:
          • Only during data entry
          Storage:
          • Repetitions: 1
          • Indexing: None
          • Automatically create indexes as needed
          • Index Language: German
              ProcessNameNormal, TextAuto-Enter:
              • Allow editing
              Validation:
              • Only during data entry
              Storage:
              • Repetitions: 1
              • Indexing: None
              • Automatically create indexes as needed
              • Index Language: German
                  ProcessIDNormal, TextAuto-Enter:
                  • Allow editing
                  Validation:
                  • Only during data entry
                  Storage:
                  • Repetitions: 1
                  • Indexing: None
                  • Automatically create indexes as needed
                  • Index Language: German
                      UserUIDNormal, TextAuto-Enter:
                      • Allow editing
                      Validation:
                      • Only during data entry
                      Storage:
                      • Repetitions: 1
                      • Indexing: None
                      • Automatically create indexes as needed
                      • Index Language: German

                          Layout Objects: Addressbook Changes

                          Regular Fields

                          Field Name: Addressbook Changes::ID
                          Field PropertiesCoordinatesField FormatField BehaviorQuick Find
                          • Top: 90 pt
                          • Left: 6 pt
                          • Bottom: 104 pt
                          • Right: 331 pt
                          • Anchoring: Left, Top
                          Field Format:
                          • Edit Box
                          Field Behavior:
                          • Allow field to be entered: In Find mode, In Browse mode
                          • Touch keyboard type: System Default
                          • Go to next field using: Tab key
                          Yes

                          Field Name: Addressbook Changes::DisplayName
                          Field PropertiesCoordinatesField FormatField BehaviorQuick Find
                          • Top: 90 pt
                          • Left: 336 pt
                          • Bottom: 104 pt
                          • Right: 589 pt
                          • Anchoring: Left, Top
                          Field Format:
                          • Edit Box
                          Field Behavior:
                          • Allow field to be entered: In Find mode, In Browse mode
                          • Touch keyboard type: System Default
                          • Go to next field using: Tab key
                          Yes

                          Field Name: Addressbook Changes::Action
                          Field PropertiesCoordinatesField FormatField BehaviorQuick Find
                          • Top: 90 pt
                          • Left: 594 pt
                          • Bottom: 104 pt
                          • Right: 847 pt
                          • Anchoring: Left, Top
                          Field Format:
                          • Edit Box
                          Field Behavior:
                          • Allow field to be entered: In Find mode, In Browse mode
                          • Touch keyboard type: System Default
                          • Go to next field using: Tab key
                          Yes

                          Field Name: Addressbook Changes::ProcessName
                          Field PropertiesCoordinatesField FormatField BehaviorQuick Find
                          • Top: 90 pt
                          • Left: 852 pt
                          • Bottom: 104 pt
                          • Right: 1105 pt
                          • Anchoring: Left, Top
                          Field Format:
                          • Edit Box
                          Field Behavior:
                          • Allow field to be entered: In Find mode, In Browse mode
                          • Touch keyboard type: System Default
                          • Go to next field using: Tab key
                          Yes

                          Field Name: Addressbook Changes::ProcessID
                          Field PropertiesCoordinatesField FormatField BehaviorQuick Find
                          • Top: 90 pt
                          • Left: 1110 pt
                          • Bottom: 104 pt
                          • Right: 1171 pt
                          • Anchoring: Left, Top
                          Field Format:
                          • Edit Box
                          Field Behavior:
                          • Allow field to be entered: In Find mode, In Browse mode
                          • Touch keyboard type: System Default
                          • Go to next field using: Tab key
                          Yes

                          Field Name: Addressbook Changes::UserUID
                          Field PropertiesCoordinatesField FormatField BehaviorQuick Find
                          • Top: 90 pt
                          • Left: 1176 pt
                          • Bottom: 104 pt
                          • Right: 1237 pt
                          • Anchoring: Left, Top
                          Field Format:
                          • Edit Box
                          Field Behavior:
                          • Allow field to be entered: In Find mode, In Browse mode
                          • Touch keyboard type: System Default
                          • Go to next field using: Tab key
                          Yes

                          Group Buttons

                          Button PropertiesCoordinatesScript/Script Step
                            Type:
                          • Text: Install Notification
                            Additional Properties:
                          • Change to hand cursor over button
                          • Rectangular
                          • Top: 12 pt
                          • Left: 12 pt
                          • Bottom: 37 pt
                          • Right: 139 pt
                          • Anchoring: Left, Top
                          Perform Script [ “Install” ]

                          Scripts:


                          Script Hierarchy

                          Install
                          NotificationScript

                          Next Script: [NotificationScript]
                          Script NameInstall
                          Run script with full access privilegesOff
                          Include In MenuYes
                          Layouts that use this script
                          Scripts that use this script
                            Script Definition
                            Script Steps
                            Fields used in this script
                              Scripts used in this script
                                Layouts used in this script
                                  Tables used in this script
                                    Table occurrences used by this script
                                      Custom Functions used by this script
                                        Custom menu set used by this script

                                          Previous Script: [Install]
                                          Script NameNotificationScript
                                          Run script with full access privilegesOff
                                          Include In MenuYes
                                          Layouts that use this script
                                            Scripts that use this script
                                              Script Definition
                                              Script Steps
                                              • #get status variables
                                              • Set Variable [ $ChangedExternally; Value:MBS("Addressbook.Notification.GetChangedExternally") ]
                                              • Set Variable [ $InsertedRecords; Value:MBS("Addressbook.Notification.GetInsertedRecords") ]
                                              • Set Variable [ $UpdatedRecords; Value:MBS("Addressbook.Notification.GetUpdatedRecords") ]
                                              • Set Variable [ $DeletedRecords; Value:MBS("Addressbook.Notification.GetDeletedRecords") ]
                                              • Set Variable [ $ProcessID; Value:MBS("Addressbook.Notification.GetProcessID") ]
                                              • Set Variable [ $ProcessName; Value:MBS("Addressbook.Notification.GetProcessName") ]
                                              • Set Variable [ $UserUID; Value:MBS("Addressbook.Notification.GetUserUID") ]
                                              • #process inserts
                                              • If [ Length ( $InsertedRecords ) > 0 ]
                                              • Set Variable [ $countInsertedRecords; Value:GetAsNumber( ValueCount ( $InsertedRecords )) ]
                                              • If [ $countInsertedRecords > 0 ]
                                              • Set Variable [ $i; Value:1 ]
                                              • Loop
                                              • Set Variable [ $id; Value:GetValue ( $InsertedRecords ; $i ) ]
                                              • New Record/Request
                                              • Set Field [ Addressbook Changes::ID; $id ]
                                              • Set Field [ Addressbook Changes::UserUID; $UserUID ]
                                              • Set Field [ Addressbook Changes::ProcessID; $ProcessID ]
                                              • Set Field [ Addressbook Changes::ProcessName; $ProcessName ]
                                              • Set Field [ Addressbook Changes::DisplayName; MBS("Addressbook.record.displayname"; $id) ]
                                              • If [ $ChangedExternally ]
                                              • Set Field [ Addressbook Changes::Action; "Insert extern" ]
                                              • Else
                                              • Set Field [ Addressbook Changes::Action; "Insert intern" ]
                                              • End If
                                              • Commit Records/Requests
                                              • Exit Loop If [ $i = $countInsertedRecords ]
                                              • Set Variable [ $i; Value:$i+1 ]
                                              • End Loop
                                              • End If
                                              • End If
                                              • #process updates
                                              • If [ Length ( $UpdatedRecords ) > 0 ]
                                              • Set Variable [ $countUpdatedRecords; Value:GetAsNumber( ValueCount ( $UpdatedRecords )) ]
                                              • If [ $countUpdatedRecords > 0 ]
                                              • Set Variable [ $i; Value:1 ]
                                              • Loop
                                              • Set Variable [ $id; Value:GetValue ( $UpdatedRecords ; $i ) ]
                                              • New Record/Request
                                              • Set Field [ Addressbook Changes::ID; $id ]
                                              • Set Field [ Addressbook Changes::UserUID; $UserUID ]
                                              • Set Field [ Addressbook Changes::ProcessID; $ProcessID ]
                                              • Set Field [ Addressbook Changes::ProcessName; $ProcessName ]
                                              • Set Field [ Addressbook Changes::DisplayName; MBS("Addressbook.record.displayname"; $id) ]
                                              • If [ $ChangedExternally ]
                                              • Set Field [ Addressbook Changes::Action; "Updated extern" ]
                                              • Else
                                              • Set Field [ Addressbook Changes::Action; "Updated intern" ]
                                              • End If
                                              • Commit Records/Requests
                                              • Exit Loop If [ $i = $countUpdatedRecords ]
                                              • Set Variable [ $i; Value:$i+1 ]
                                              • End Loop
                                              • End If
                                              • End If
                                              • #process deletes
                                              • If [ Length ( $DeletedRecords ) > 0 ]
                                              • Set Variable [ $countDeletedRecords; Value:GetAsNumber( ValueCount ( $DeletedRecords )) ]
                                              • If [ $countDeletedRecords > 0 ]
                                              • Set Variable [ $i; Value:1 ]
                                              • Loop
                                              • Set Variable [ $id; Value:GetValue ( $DeletedRecords ; $i ) ]
                                              • New Record/Request
                                              • Set Field [ Addressbook Changes::ID; $id ]
                                              • Set Field [ Addressbook Changes::UserUID; $UserUID ]
                                              • Set Field [ Addressbook Changes::ProcessID; $ProcessID ]
                                              • Set Field [ Addressbook Changes::ProcessName; $ProcessName ]
                                              • Set Field [ Addressbook Changes::DisplayName; MBS("Addressbook.record.displayname"; $id) ]
                                              • If [ $ChangedExternally ]
                                              • Set Field [ Addressbook Changes::Action; "Deleted extern" ]
                                              • Else
                                              • Set Field [ Addressbook Changes::Action; "Deleted intern" ]
                                              • End If
                                              • Commit Records/Requests
                                              • Exit Loop If [ $i = $countDeletedRecords ]
                                              • Set Variable [ $i; Value:$i+1 ]
                                              • End Loop
                                              • End If
                                              • End If
                                              Fields used in this script
                                              Scripts used in this script
                                                Layouts used in this script
                                                  Tables used in this script
                                                  Table occurrences used by this script
                                                  Custom Functions used by this script
                                                    Custom menu set used by this script

                                                      Download example: Addressbook Changes

                                                      Used functions: