Perspective Design Theory for Large Datasets

I am looking for some opinions on the best way forwards with an interactive perspective page I am building, with regard to handling large datasets returned from a post call to an API.

Site-wide users will enter a production order number and the post call returns all the production order information in JSON format. The data will be displayed in tables, showing operation status etc. Pretty standard so far.
The returned JSON from the ERP system can have thousands of key:value pairs, with various nesting levels.
I have previously built a Vision client that does similar with the same API and using recursive functions I can push the data to dataset tags for my further use. (Removing invalid values, making headers human readable, etc using dataset query expression tags.) All good.

This is where I now need some advice on my first interactive perspective page..
With multiple users accessing the perspective page a set of dataset tags that sit on the gateway will be continually overwritten and on refresh users would potentially see data that is not correct to their own query.
AI suggests abandoning tags and pushing the datasets (pydatasets) directly to the tables, which sounds like a good theory? Client tags are Vision based but then session properties may be an option?
I do not want to build something and then discover I should have done it differently so I am reaching out for guidance.
Any opinions are welcome.
Thanks.

Session properties are a good option - but bear in mind that they will be common to all the browser windows / tabs (for a given browser) on a particular client PC. This only becomes a problem if the user wants two views differing by date range or machine ID, for example. It could probably be "worked around" in code.

I recall a recent discussion on the forum about ways to handle this problem but can't find it right now. I'll have a look later.

I think this is the the thread I was thinking of.

Also note that anything assigned to Perspective properties (anywhere) will lose their object identity during Perspective normalization. If you don't want that to happen, you probably will want to use my pageVarMap() functions from my Integration Toolkit.

Also, be sure to mark any Perspective properties with intermediate values private.

2 Likes