# BoardGatekeeper BoardReleased
## Overview
This functionality enables the use of BoardGatekeeper event BoardReleased to track In and Out MES Materials.
## How To configure
To enable BoardReleased material tracking functionality we need to configure the extension and any other relevant key as described below:
### IoTMetadataDefinition Area Level Configuration
Set the following keys at the **Area** level:
| Name | Type | Possible Values | Default Value | Description |
| ---------------------- | ------- | ------------------------------------------------------------ | ----------------- | ------------------------------------------------------------ |
| oib_BoardGateKeeper_disabled | String | `true`
`false` | `true` | This will enable or disable the extension. |
| oib_BoardGateKeeper_enablemode | String | `None`
`OnePerEnterprise`
`OnePerSite`
`OnePerLine` | `None` | How should activate BoardGateKeeper instance:
`None` - No instance will be used
`OnePerEnterprise` - One Instance for all Lines (Enterprise level)
`OnePerSite` - One Instance for all Lines (Site level)
`OnePerLine` - One Instance per Line |
| oib_BoardGateKeeper_subscriptionnamesuffix | String | | "" | Will be added to the subscription name. |
| OIB_LineNameStationName_<Line name>_<Station name> | String | | | Link from OIB Line and Station names to MES Resource name. |
??? Example
| Resource | ResourceType | Area | Name | Value |
| -------- | ------------ | ------------------- | ------------------------------------------------- | ---------------- |
| | | SMT_Production Line | oib_BoardGateKeeper_disabled | false |
| | | SMT_Production Line | oib_BoardGateKeeper_enablemode | OnePerEnterprise |
| | | SMT_Production Line | OIB_LineNameStationName_Line - TQ & TX2 & SX2_TX2 | SMT_Pick_Place_1 |
> Replace with the appropriate values depending on your setup.
### IoTMetadataDefinition Resource Level Configuration
- `useOIBToTrackIn`: If set with **BoardReleased**, this event will automatically track in the Material at the MES Resource.
- `UseTrackInOperation`: Sets the Track In MES operation. Can be defined as `ComplexDispatchAndTrackIn` or `ComplexTrackIn`. Defaults to `ComplexTrackIn` if not defined.
- `useWaitForPreviousTrackout`: Sets a wait time for the previous Track Out event to finish.
- `useWaitIfRecipeIsBeingChanged`: Sets a wait time for the recipe change to finish on the current Resource.
- `DoPreviousTrackOut`: If defined with any value, the controller logic will attempt to Track Out the previous Material tracked in the Resource before proceeding with the Track In operation for the current Material.
- `useOIBToTrackOut`: If set with **BoardReleased**, this event will automatically track out the Material at the MES Resource.
- `UseTrackOutOperation`: Sets the Track Out MES operation. Can be defined as `ComplexTrackOutAndMoveNext` or `ComplexTrackOut`. Defaults to `ComplexTrackOut` if not defined.
- `waitForTraceToDoTrackOut`: Sets a wait time for the Traceability data processing before Tracking Out.
- `waitForTrackInToDoTrackOut`: Sets a wait time for the Track In operation to conclude before Tracking Out.
- `OIB_BoardReleased_EventExpiration`: If set with an integer value (e.g., 1000), any event message received with a timestamp that has a time difference from now greater than this value will be ignored.
??? Example
| Resource | ResourceType | Area | Name | Value |
| ---------------- | ------------ | ---- | ---------------- | ------------- |
| SMT_Pick_Place_1 | | | useOIBToTrackIn | BoardReleased |
| SMT_Pick_Place_1 | | | useOIBToTrackOut | BoardReleased |
## How To Use
BoardGateKeeper informs the MES if a board was successfully transported to the next production step. This event may be sent automatically if interlocking is disabled (in that case, no `BoardRequest` will be performed) or if MES has previously confirmed a requested board.
Our Connect IoT controller logic will:
- Verify if this feature is enabled for Track In/Out.
- If enabled, trigger the corresponding tracking operation in MES, ending the flow.
## Implementation Details
During **Equipment Setup**, a new endpoint will be registered at the Line Station. This registration becomes the connection to MES where the Events will be sent by the various Stations.
Station BoardReleased Received:
1. Resolves IoTMetadataDefinition for what tracking operations are configured.
2. Check if any Track In/Out Conditions are enabled.
3. Track In enabled:
- Try to Track in Material received into the MES Resource.
4. Track Out enabled:
- Try to Track out Material received out of the MES Resource.