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

MBS FileMaker Plugin Example Databases

Calendar Changes

All examples are included with download of MBS FileMaker Plugin.

Calendar 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
CalendarChanges
7 fields defined, 0 record
CalendarChanges

Fields

Table Name: CalendarChanges - 7 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
      TitleNormal, 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
                          WhatNormal, TextAuto-Enter:
                          • Allow editing
                          Validation:
                          • Only during data entry
                          Storage:
                          • Repetitions: 1
                          • Indexing: None
                          • Automatically create indexes as needed
                          • Index Language: German

                              Layout Objects: CalendarChanges

                              Regular Fields

                              Field Name: CalendarChanges::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: CalendarChanges::Title
                              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: CalendarChanges::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: CalendarChanges::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: CalendarChanges::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: CalendarChanges::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

                              Field Name: CalendarChanges::What
                              Field PropertiesCoordinatesField FormatField BehaviorQuick Find
                              • Top: 90 pt
                              • Left: 1242 pt
                              • Bottom: 104 pt
                              • Right: 1495 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
                                • Delete All Records [ No dialog ]
                                • Set Variable [ $r; Value:MBS("Calendar.Notification.Set"; Get ( FileName ); "NotificationScript") ]
                                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("Calendar.Notification.GetChangedExternally") ]
                                                  • Set Variable [ $InsertedRecords; Value:MBS("Calendar.Notification.GetInsertedRecords") ]
                                                  • Set Variable [ $UpdatedRecords; Value:MBS("Calendar.Notification.GetUpdatedRecords") ]
                                                  • Set Variable [ $DeletedRecords; Value:MBS("Calendar.Notification.GetDeletedRecords") ]
                                                  • Set Variable [ $ProcessID; Value:MBS("Calendar.Notification.GetProcessID") ]
                                                  • Set Variable [ $ProcessName; Value:MBS("Calendar.Notification.GetProcessName") ]
                                                  • Set Variable [ $UserUID; Value:MBS("Calendar.Notification.GetUserUID") ]
                                                  • Set Variable [ $What; Value:MBS("Calendar.Notification.GetWhat") ]
                                                  • #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 [ CalendarChanges::ID; $id ]
                                                  • Set Field [ CalendarChanges::UserUID; $UserUID ]
                                                  • Set Field [ CalendarChanges::ProcessID; $ProcessID ]
                                                  • Set Field [ CalendarChanges::ProcessName; $ProcessName ]
                                                  • Set Field [ CalendarChanges::What; $what ]
                                                  • If [ $what = "Calendars" ]
                                                  • Set Field [ CalendarChanges::Title; MBS("Calendar.Calendar.GetTitle"; $id) ]
                                                  • Else
                                                  • Set Field [ CalendarChanges::Title; MBS("Calendar.Item.GetTitle"; $id) ]
                                                  • End If
                                                  • If [ $ChangedExternally ]
                                                  • Set Field [ CalendarChanges::Action; "Insert extern" ]
                                                  • Else
                                                  • Set Field [ CalendarChanges::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 [ CalendarChanges::ID; $id ]
                                                  • Set Field [ CalendarChanges::UserUID; $UserUID ]
                                                  • Set Field [ CalendarChanges::ProcessID; $ProcessID ]
                                                  • Set Field [ CalendarChanges::What; $what ]
                                                  • Set Field [ CalendarChanges::ProcessName; $ProcessName ]
                                                  • If [ $what = "Calendars" ]
                                                  • Set Field [ CalendarChanges::Title; MBS("Calendar.Calendar.GetTitle"; $id) ]
                                                  • Else
                                                  • Set Field [ CalendarChanges::Title; MBS("Calendar.Item.GetTitle"; $id) ]
                                                  • End If
                                                  • If [ $ChangedExternally ]
                                                  • Set Field [ CalendarChanges::Action; "Updated extern" ]
                                                  • Else
                                                  • Set Field [ CalendarChanges::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 [ CalendarChanges::ID; $id ]
                                                  • Set Field [ CalendarChanges::UserUID; $UserUID ]
                                                  • Set Field [ CalendarChanges::ProcessID; $ProcessID ]
                                                  • Set Field [ CalendarChanges::ProcessName; $ProcessName ]
                                                  • If [ $what = "Calendars" ]
                                                  • Set Field [ CalendarChanges::Title; MBS("Calendar.Calendar.GetTitle"; $id) ]
                                                  • Else
                                                  • Set Field [ CalendarChanges::Title; MBS("Calendar.Item.GetTitle"; $id) ]
                                                  • End If
                                                  • Set Field [ CalendarChanges::What; $what ]
                                                  • If [ $ChangedExternally ]
                                                  • Set Field [ CalendarChanges::Action; "Deleted extern" ]
                                                  • Else
                                                  • Set Field [ CalendarChanges::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: Calendar Changes

                                                          Used functions: