5 Replies Latest reply on Jan 26, 2017 12:14 PM by jdocken RSS
    pyekula Explorer

    Adding getproperties for 100+ things

    We are trying to building a mashup which display dashboard of 100+ different thing properties which is created using different templates. Could you suggest right way to render dynamic data from 100+ things.

     

    What we know that to get dynamic data from a thing we need to add getproperties of specific thing through dynamic thing template in design time.

     

    what about 100+ different things with different templates, how to solve that problem.

      • Re: Adding getproperties for 100+ things
        sreddy-4 Explorer

        Hi, May be you can use GetImplementedThingsWithData of base templates like GenericThing or RemoteThing etc. That way you will have minimal coding / Binding.

         

        Regards,

        Siva

          • Re: Adding getproperties for 100+ things
            pyekula Explorer

            GetImplementedThingsWithData service gives me static data, I need dynamic data pushed from thingworx, just like when you use getproperties with Automatically update when able is checked in thingworx 7.2 for 100+ things. Check https://support.ptc.com/appserver/cs/view/solution.jsp?n=CS243895&art_lang=en&posno=1&q=getproperties&source=search for reference.

              • Re: Adding getproperties for 100+ things
                jdocken Explorer

                GetProperties is designed to only serve up the properties implemented in whatever Thing/ThingTemplate you work against, so if you use GetProperties dynamically against GenericThing, you won't see any properties in the mashup builder.  What you have to do is use GetProperties against each of the templates that the things may potentially implement.

                 

                This design seems a bit questionable however.  Are these properties supposed to exist across all of the Things?  You may want to define a Thing Template or Thing Shape higher up in the hierarchy that defines the properties you're interested in and have your mashup work against that template/shape only.  Working against multiple templates suggests that you're going to run into even more complications in the future.

                  • Re: Adding getproperties for 100+ things
                    pyekula Explorer

                    Hello Jesse,

                     

                    We are not sure at design time how many Dynamic thing templates are required. Each thing template having different properties from others, so having one template will not work.


                    Questions:

                    1. Is it possible add dynamic thing templates to mashup dynamically.

                    2. Is it possible map those thing template properties to custom widget dynamically.

                    3. Is it possible add or change or remove properties of custom widget dynamically instead of defining them and mapping them to thing template at design time.

                    4. Is it possible create a thing template dynamically through services.

                    5. If above is not possible right now, then when we can expect that as a patch or version release.


                    Regards,

                    Penchalaiah

                      • Re: Adding getproperties for 100+ things
                        jdocken Explorer

                        You're generating these thing templates dynamically?  Do these thing templates all inherit from a base template that defines some common properties, or are they all pretty distinct?

                         

                        Honestly, it sounds like what you really want to do here is call the GetPropertyValues service on the Thing and bind that to a Grid or Property widget.  That should let you see all of the properties and inspect them as needed.  You won't be able to bind them to some of the other widgets, though, unless you have those properties exposed in a common template.

                         

                        If you want to request an enhancement, you should contact Customer Support and describe to them your use case.