Settings


Settings

The Settings app allows the user to:

  1. Enable and disable different extensions of FIN Framework

  2. Change the project settings

  3. Add or edit a header

  4. Change the alarm settings

  5. Configure the sync and purge settings for Alarms, Snapshots and Histories

Location

To use the Settings app, just select the Settings app in the right side menu then click on it and a slide menu will be revealed.

1. Select the App Launcher icon on the top left

2. Select the Setting tile under Advanced Apps

3. This will display two sections:

  • Sync and Purge

  • Legacy Settings

Sync and Purge

These settings allows the user to configure the sync and purge settings for Alarms, Snapshots, Histories, and Logs at the moment. The sync settings work along with the FIN Network tree to sync from remote projects available on the network.

Warning

This functionality can be only modified by su and admin users.

Extension

In order to use the functionality, both FINNetwork and Purge extensions must be enabled

Follow the steps below to enable the extensions:

  1. Select the App Launcher icon on the top left

  2. Select the Setting tile under Advanced Apps

    • This will open a drawer with the following options: Ext, Proj, Header, Alarm, and Custom

  3. Select the Ext option to open up the extensions

    • This will open a side menu on the right where the extension will be in alphabetical order

  4. Scroll down and find the following extensions: FINNetwork and Purge

    • If the version number is green, this means that the extension is enabled

    • If the version number is red, this means that the extension is disabled

  5. Select on the extension if it is disabled, this will open a drawer

  6. Select on the Enable option

  7. Refresh the page

Alarm

This will sync and/or purge alarms.

Note

For the purpose of these Alarm Settings, the term “Sync” means importing alarms from the Remote Project to the Local Project.

  • Alarm Sync

    • Subscribes to all remote devices, polling for any changes in alarms every 5 seconds. All alarms that match the Alarm Sync filter will be kept in sync, with the remote device acting as the "master" for the alarm.  The local copy can be acknowledged, which will inform the remote device to perform the same ack, by the current user. The alarmable points need to exist in the local instance for alarms to be synced.

  • Alarm Purge

    • Once a day at 12:15 AM (system time), the system will purge all alarms older then the given limit in the local database.

Enable Alarm Purge

Enables or disables the alarm purge module

Run Alarm Purge

Will execute the alarm purge task immediately, using the given parameters. It is also independent of the schedule frequency.

Alarm Max Age

How old the alarm data has to be for purging

Enable Alarm Sync

Enables or disables the alarm sync module.

Note

When alarm sync is enabled, all remote devices will notify the local FIN when an alarm changes (alarm state change, ack, alarm is re-written, alarm deleted, etc) and that changes will be propagated into the local database with an additional tag referencing the source of the alarm. Additionally when a sync’d alarm is acked, it will notify the original device of the alarm about the ack and it get’s acked on the remote system.

Alarm Sync Filter

Filter for tags on incoming alarms
Example: if the filter is set to toSync then only alarms with a toSync tag will be synced

Histories

This will sync/purge histories.

  • History Sync: Will sync all Haystack and BACnet points set up to synchronize their history (have tags his and haystackHis/bacnetHis) at the given schedule/frequency. The trended points need to exist in the local instance for history to be synced.

 

  • History Purge: On the first of every month at 12:15 AM (system time), the system will purge all histories older then the given limit.

Enable History Purge

Enables or disables the history purge module

Run History Purge

Will execute the history purge task immediately, using the given parameters. It is also independent of the schedule frequency.

History Max Age

How old the history data has to be for purging

Enable History Sync

Enables or disables the history sync module

Run History Sync

Will execute the history sync task immediately

History Sync Frequency

When the histories get synced to the project.

 

  • Every: Interval number to generate events at a fixed frequency

  • At: One or more explicate times to run

Frequency Examples //run every 5 minutes every day Every: 5 minutes // run at midnight and at 2pm every day At: [00:00, 14:00] // run at 2am on weekdays only At: [02:00] Days of the Week: "mon,tue,wed,thu,fri" // run at 2am on 1st and 15th of the month At: [02:00] Days of the Month: "1, 15" // run at 2am on last day of the month At: [02:00] Days of the Month: "-1" // run at 2am on first Monday of the month At: [02:00] Days of the Week: "mon" Days of the Month: "1,2,3,4,5,6,7"

 

Snapshots

This will sync and/or purge backups.

Enable Backup Purge

Enables or disables the backup purge module

Run Backup Purge

Will execute the backup purge task immediately, using the given parameters. It is also independent of the schedule frequency.

Max Backups - Local and Remote

The number of backups to keep for both local or remote

Enable Backup Sync

Enables or disables the backup sync module

Run Backup Sync

Will execute the backup sync task immediately

Backup Sync Frequency

When the backups get synced to the project

 

  • Every: Duration number to generate events at a fixed frequency

  • At: One or more explicit times to run

Frequency Examples //run every 5 minutes every day Every: 5 minutes // run at midnight and at 2pm every day At: [00:00, 14:00] // run at 2am on weekdays only At: [02:00] Days of the Week: "mon,tue,wed,thu,fri" // run at 2am on 1st and 15th of the month At: [02:00] Days of the Month: "1, 15" // run at 2am on last day of the month At: [02:00] Days of the Month: "-1" // run at 2am on first Monday of the month At: [02:00] Days of the Week: "mon" Days of the Month: "1,2,3,4,5,6,7"

Legacy Settings

Ext 

The Ext menu is that part of the Settings app, that allows the user to enable or disable:

  • Applications

  • Connectors

  • Functionalities depending on the uses and needs

In order to do that, click the Disable or Enable button

Proj

The Proj menu is that part of the Settings app, that allows to change the projects, audit and email settings and also set Categories.

Project settings

Can change the Project display name and the description.

After the changes are done, click the Apply button in the right down corner

Audit Settings

Can check what changes in the program are going to be logged. To do that simply mark the desired checkbox.

Query Audits Examples

If the user would like to query for certain logs, they can do so by going to Folio → Launch and running any of the examples below depending on what they are looking for. Each query is followed with // that includes a comment of what example it is for and it is not to be copied. Then to have a copy of the queried logs, toggle to the Zinc view from the Grid towards the top right side of Folio. Select all and copy to a notepad to save.

All Audits: logRead(toSpan("today"), "name==\"audit\"") //to view any commands and commits logRead(toSpan("today"), "name==\"audit\"").findAll r=> not r->msg.contains("invoke") //to view any commits (not commands) logRead(toSpan("today"), "name==\"audit\"").findAll r=> r->msg.contains("Damper") //to view anything that has "Damper" in it logRead(toSpan("today"), "name==\"audit\"").findAll r=> r->user.contains("ricky") //to view anything commanded or committed by user "ricky" (username) logRead(toSpan("today"), "name==\"audit\"").findAll r=> r->msg.contains("26580f36-79a69768") //to view specific record with id "26580f36-79a69768" (id only appears on audits where a record was added, removed, or modified) Point Commands only: logRead(toSpan("today"), "name==\"audit\"").findAll r=> r->msg.contains("invoke") //to view any point that was commanded (not commits) logRead(toSpan("today"), "name==\"audit\"").findAll r=> r->msg.contains("invoke") and r->user.contains("ricky") //to view any point commanded by user "ricky" (username) logRead(toSpan("today"), "name==\"audit\"").findAll r=> r->msg.contains("invoke") and r->msg.contains("Damper") //to view any point commanded and that contains "Damper" in the name logRead(toSpan("today"), "name==\"audit\"").findAll r=> r->msg.contains("invoke") and r->msg.contains("Vav-01") //to view any point commanded under equip called "Vav-01" Sessions only: logRead(toSpan("today"), "name==\"session\"") //to view all sessions logRead(toSpan("today"), "name==\"session\"").findAll r=> r->msg.contains("Login") //to view who logged in logRead(toSpan("today"), "name==\"session\"").findAll r=> r->msg.contains("Logout") //to view who logged out logRead(toSpan("today"), "name==\"session\"").findAll r=> r->msg.contains("ricky") //to view sessions of specific user "ricky" (username) Date filter: You'll notice that the toSpan is for "today". You can substitute today with yesterday, thisWeek, lastWeek, thisMonth, lastMonth, thisYear, lastYear, specific day, or range. Like below. logRead(toSpan("today") logRead(toSpan("yesterday") //... etc logRead(toSpan(2020-05-20) //specific day (yyyy-mm-dd) logRead(toSpan(2020-05-10..2020-05-20) //range

Project Categories

Can create project categories, the categories are used to set Actions filter

1. To add a new category, click on the Select Category dropdown

2. Select Create New option

3. Hit Next button to continue to the next step

4. This will pop up a new window in which the user will choose the name and the display name of the new category

5. Once completed the sections, they can select the Apply button

6. To edit an existing category, click on the Select Category dropdown, select a specific category and hit Next button

7. A window will pop up to allow to update the display name

8.. Once done, click on the Apply button to apply the changes

Header

The Header menu is that part of the Settings app, that allows the user to enable/disable or edit a header for the current project.


Enabling the header

In order to do that, click on the Header button which can be found in the Settings app slide menu.  The Configure Header window will pop up to to specify the below options:

  • Home - Choose one of the three options below to add to the home button

    • action - User can choose to add an action that is executed when selected

    • hash - User can add part of the graphic path they want here so the graphic will appear when selected (open the graphic and copy the url with or without the '#' and everything after it and paste it here)

    • url - User can add any url they would like here

When the Header configuration is finished, click on the Next button and reload the UI to continue and add new header menus. Then hit Finish and refresh browser to see new changes.

Disable Header

In order to disable the Header, check Disable Header checkbox, click Next and refresh the browser. 

 

Add Button

When you user selects to Add or Edit a button, they will get the below pop up to modify the button.

The available options in this popup are below.

  • Set Display Name- This is the name that will appear on the button

  • Set Icon - This is optional and it will appear on the left of the label name. Can choose from the list provided

  • Set Badge- This is optional and compliments the Badge Query option. Depending on which option selected, will color the fill of the oval circle that Badge Query makes.

  • Set Link - Can choose one of the three options below to add a link to the button. They specify the "Link Type" after this. (Its recommended not to add a link on button if going to add submenu items on it)

    • action - User can choose to add an action that is executed when selected

    • hash - User can add part of the graphic path they want here so the graphic will appear when selected (open the graphic and copy the url with or without the '#' and everything after it and paste it here)

    • url - User can add any url they would like here

  • Add Submenu Button- This will add a new item under the selected button.

  • Reorder Submenu Button- This will allow to reorder the submenu buttons as they wish.

Reorder Buttons

If the user wants to reorder the buttons, they can do so by selecting that option. Then select what order they are going to be by selecting the Up or Down option.

Alarm

The Alarm menu is that part of the Settings app, that allows to disable alarm notification or to control how often the alarm notification poll (in seconds)