# Custom Tag History Provider

**URL:** <https://forum.inductiveautomation.com/t/custom-tag-history-provider/105797>\
**Category:** Module Development\
**Tags:** ignition81\
**Created:** [May 1, 2025, 7:59pm UTC](https://forum.inductiveautomation.com/t/custom-tag-history-provider/105797 "2025-05-01T19:59:13Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![andrew.jank](https://avatars.discourse-cdn.com/v4/letter/a/e9a140/32.png) [@andrew.jank](https://forum.inductiveautomation.com/u/andrew.jank)\
**Post date:** [May 1, 2025, 7:59pm UTC](https://forum.inductiveautomation.com/t/custom-tag-history-provider/105797/1 "2025-05-01T19:59:13Z")

</div>

Hey Everyone,

I have started developing an Ignition module to read/write values using our in-house historian.

I was able to get most of it running using the following example:  
[GitHub - IgnitionModuleDevelopmentCommunity/simpletaghistoryprovider: Tag History Provider Example](https://github.com/IgnitionModuleDevelopmentCommunity/simpletaghistoryprovider)

I have some questions:

1. Can I hide aggregates shown when configuring a Tag History binding? I am overriding getAvailableAggregates in TagHistoryQueryInterface, but that does not seem to do anything.

2. During startup, I would like to get all tags using my history tag provider. I have tried using a qualified path (histprov:{my\_module\_name}), but it seems that all the tag providers expect a TagPath instead.

3. Are deadband settings applied before values are sent to the DataSink? If not, can I hide these properties and show custom properties through TagHistoryProviderType.getStorageTagExtensionProperties?

4. What does TagHistoryProvider.queryDensity do? I have not been able to get this to be called with logging.

5. Are the advanced options "Bypass Tag History Cache" and "Avoid Scanclass Validation" handled by ignition or do I have to implement these in my TagHistoryProvider? I am still a little confused with exactly "Avoid Scanclass Validation" is doing. Is there a quality code associated when ignition is offline?

6. Does "Natural" sample type use the rate that the tag is written and configured in the tag group? Is this pre-calculated in getReturnSize or does my TagHistoryProvider have to do the calculation. I am always getting getReturnSize = 0 when I am using "Natural".
