Searching Custom Component Methods

We are in the process of converting from 7.9 to 8.1 and I am trying to locate all of the places in our Ignition system that we use the system.tag.browseConfiguration function since it is obsolete in 8.1. I am planning on replacing them system.tag.getConfiguration, but I am running into a problem.

On our templates, we use a lot of Custom Component Methods, and we discovered that one of these custom methods used the system.tag.browseConfiguration function. The issue is that when I search for "system.tag.browseConfiguration" with the Find/Replace (CTRL+F), it does not search the custom methods in our templates. I need to know whether there are any more custom methods that use system.tag.browseConfiguration, but it seems like my only option is to pour through each line of code in each individual custom method. Is there really no way to search the custom methods?

EDIT: It seems like the Find/Replace function is not working properly for me. When I search the templates, I get the following error in the output console:

18:51:46.515 [ForkJoinPool.commonPool-worker-9] WARN SearchReplace - Error during search.
java.lang.NullPointerException: null

You have a corrupted template somewhere. You'll need to find the corrupted binding in the bad template to fix the find tool

Aside from the broken template, why are you replacing the function? For IA, deprecated means no longer documented, and might eventually break, but they aim for backwards compatibility.

Get upgraded, then deal with deprecated items at your convenience. Don't hold back a critical update (like this is) over any of these.

1 Like

system.tag.browseConfiguration is not deprecated; it is obsolete and has been removed from the code base. We need to address it during the upgrade. Here is the paragraph from the upgrade guide:

Replacement for the system.tag.browseConfiguration Function

The Tags system in Ignition changed dramatically in Ignition 8, which makes the Ignition 7 function system.tag.browseConfiguration obsolete. The function has been removed from the code base, so scripts using the old browseConfiguration function will break upon upgrade. The functionality has been replaced by system.tag.getConfiguration.

2 Likes

Hmm. Missed that.

Thanks for the tip. We will look for the corrupted binding.

Ignition 8 stores much of the code and configuration in text files rather than as proprietary binaries or in the database. The remaining items can be exported to text files. My understanding was that this was done so that standard configuration control tools could be used (read: git). There is a best practices whitepaper describing it. There is also a module that makes it easy.

A side effect of this is that you can use any search/replace tool you like (read: grep) and take advantage of features that aren't part of the designer (wildcards, regular expressions). I like dnGrep, but notepad++ or vscode or lots of other options are available.

Given the number of posts about "search isn't working" and the importance of not missing anything in an upgrade, I would at least use something like grep as a QA or sanity check.

Not yet true for Vision resources.

sigh
8.3 then...

There's a project property to switch Vision resources to store in their XML representation.

1 Like

When did that hit? I recall Named Queries changing format.

Fairly recently. 8.1.20-something, I think.

The actual XML format still hasn't gone through any real optimizations so it's not very friendly, but it's at least human readable if not really editable.

1 Like