# \[Question\] ClientTagManager, How to read all tag's properties

**URL:** <https://forum.inductiveautomation.com/t/question-clienttagmanager-how-to-read-all-tags-properties/20928>\
**Category:** Ignition Early Access\
**Tags:** sdk\
**Created:** [November 18, 2018, 1:59pm UTC](https://forum.inductiveautomation.com/t/question-clienttagmanager-how-to-read-all-tags-properties/20928 "2018-11-18T13:59:53Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![mazeyrat](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/mazeyrat/32/10955_2.png) [@mazeyrat](https://forum.inductiveautomation.com/u/mazeyrat)\
**Post date:** [November 18, 2018, 1:59pm UTC](https://forum.inductiveautomation.com/t/question-clienttagmanager-how-to-read-all-tags-properties/20928/1 "2018-11-18T13:59:53Z")

</div>

In Ignition 7.9, with the ClientTagManager,  
we could read tag’s properties values with **TagManager::getTags()**  
and **Tag::getAttribute(tagProp)**

In Ignition 8.0, getTags doesn’t exist anymore.  
How to access to Tag object from TagPath ?

Perhaps, we have to use ClientTagManager.readAsync with a tagPath.property ???  
or there is another function to collect all tag’s properties values from a Tag ???

---

<div class="post-metadata">

**Author:** ![cmallonee](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/cmallonee/32/6416_2.png) [@cmallonee](https://forum.inductiveautomation.com/u/cmallonee)\
**Post date:** [November 19, 2018, 3:34pm UTC](https://forum.inductiveautomation.com/t/question-clienttagmanager-how-to-read-all-tags-properties/20928/2 "2018-11-19T15:34:25Z")

</div>

If you’re simply looking for the structure of the tag, I believe that you are looking for `system.tag.getConfiguration()`.

If you’re attempting to read/write from a tag, please continue reading below.

All tag reads and writes in 8.0 need to be Async, because of the potential for delay due to the network part of the information chain. If you have a Session open and you use a script to request a tag value, you do not want to pause the session while the request is sent to the Gateway and then returned - in extreme cases, requests could take several seconds.

This is where the callback function of readAsync and writeAsync becomes important: you must define what to do with the requested value (or what to do with the quality code of the write request). This callback function is where you should define any property you would like updated with the requested value.

---

<div class="post-metadata">

**Author:** ![mazeyrat](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/mazeyrat/32/10955_2.png) [@mazeyrat](https://forum.inductiveautomation.com/u/mazeyrat)\
**Post date:** [November 19, 2018, 4:13pm UTC](https://forum.inductiveautomation.com/t/question-clienttagmanager-how-to-read-all-tags-properties/20928/3 "2018-11-19T16:13:07Z")

</div>

Yes I’m looking for the tag configuration, especially the tag’s attributes/properties (for exemple .engUnit, .engLow, …) but **from the SDK**.  
In Ignition 7.9, from the sdk, ClientTagManager.getTags(…) enable to return a Tag object and the getAttribute method provide the attribut value.

I try to upgrade a third party module which use ClientTagManager.

---

<div class="post-metadata">

**Author:** ![Kevin.Herron](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kevin.herron/32/7259_2.png) [@Kevin.Herron](https://forum.inductiveautomation.com/u/Kevin.Herron)\
**Post date:** [November 19, 2018, 4:35pm UTC](https://forum.inductiveautomation.com/t/question-clienttagmanager-how-to-read-all-tags-properties/20928/4 "2018-11-19T16:35:07Z")

</div>

Looking at the meager Javadocs, it looks like you’re on the right path. Use `readAsync`, construct `TagPath`s that point to a tag’s property (look at `BasicTagPath` constructor that takes a `Property`).

There’s some common tag props defined in `CommonTagProps`.

[http://files.inductiveautomation.com/sdk/javadoc/ignition80/8.0.0-beta/index.html](http://files.inductiveautomation.com/sdk/javadoc/ignition80/8.0.0-beta/index.html)

---

<div class="post-metadata">

**Author:** ![paul-griffith](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/paul-griffith/32/37249_2.png) [@paul-griffith](https://forum.inductiveautomation.com/u/paul-griffith)\
**Post date:** [November 19, 2018, 4:39pm UTC](https://forum.inductiveautomation.com/t/question-clienttagmanager-how-to-read-all-tags-properties/20928/5 "2018-11-19T16:39:12Z")

</div>

You can also [`getTagConfigsAsync`](http://files.inductiveautomation.com/sdk/javadoc/ignition80/8.0.0-beta/com/inductiveautomation/ignition/common/tags/model/TagProvider.html#getTagConfigsAsync-java.util.List-boolean-boolean-) from the provider, if you already have it.

---

<div class="post-metadata">

**Author:** ![mazeyrat](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/mazeyrat/32/10955_2.png) [@mazeyrat](https://forum.inductiveautomation.com/u/mazeyrat)\
**Post date:** [November 19, 2018, 4:50pm UTC](https://forum.inductiveautomation.com/t/question-clienttagmanager-how-to-read-all-tags-properties/20928/6 "2018-11-19T16:50:11Z")

</div>

I’ll try asap getTagConfigsAsync
