Recently active
Hello Community, I am trying to find a way to monitor or check the amount of triggers the DB thing is creating and whether that is contributing to the performance of the ThingWorx due to load getting created on the SQL server from where I am getting data.I am aware of the C3P0 thread count which can be used to monitor the DB connections, but that is specific to the default persistence provider. I am fetching data from multiple DBs using MS SQL DB Thing connectors.I want to know if there is any way we can monitor the queue size and active connections.So, in the DB Thing Configuration tab, the JDBC connection settings has an option of Maximum Number of Connections which is set to 5 and there's also an option to enable monitoring. But I am trying to understand how I can do the monitoring even if it is enabled.Also, how to monitor the active connections out of the maximum 5 and the requests or the queue size to the DB thing at a regular interval. Please refer to the below referen
Is there any possible way to update the "isConnected" Property (in the "Connectable" Thing Shape) from within ThingWorx? This property/TS is part of the "RemoteThing" Template and is great for visualizing if a Thing is connected, like in Composer -> Monitoring -> Remote Things. I'd like to extend this capability to API connections we make in ThingWorx that do not have a native ThingWorx connection or remote agent. Essentially I have defined a "connector" Thing in ThingWorx that makes REST calls on an API via scheduler/timer; I want to utilize the "isConnected" property as an indicator of whether the API connection is "healthy." If an API call is successful, "isConnected" would be set to 'true'; if an API call fails or has a particular error code, "isConnected" would be set to 'false.' Is it possible to define this logic within ThingWorx, or must it be done via SDK, or some other method?
Hi everyone, I’m working on a use case where our SAP team wants to send data to ThingWorx via an HTTP API call. They will post the data as XML, and ThingWorx should receive it in a service, parse it, and store the information in a DataTable or Dataset. However, I’m not sure how to receive the XML payload properly inside a ThingWorx service. When SAP calls my service endpoint, I don’t see any way to directly access the raw XML content — it’s either not recognized or comes as an empty input parameter. What’s the correct approach to handle this in ThingWorx? Specifically: How can I receive XML from an external system in a ThingWorx service? Do I need to configure a specific Content-Type header (like application/xml)? If anyone has done SAP → ThingWorx integration with XML payloads, I’d really appreciate an example or best-practice recommendation. Thanks in advance!
Can someone point me to where these data are stored in Operator Advisor's equipment configuration UI? I need to find it so I can migrate it to a different location in a DB. Same for the attachments and other data on the general information page once equipment is clicked, but we can start here.
Hi everyone, I have a checklist mashup that consists of around 6 pages, each page containing a mix of text fields, checkboxes, and dropdowns — in total, roughly 100+ input widgets whose values need to be saved in the database. My question is about best practices for handling this kind of large form in ThingWorx: Should I bind every single widget value directly to a service input parameter and call a “save” service? Or is there a better way to collect all values dynamically (for example, in JSON) and store them in one field (like metaData)? Ideally, I would like to: Save all the entered values in the database as a JSON object (for flexibility and version tracking). Load the same data back into the mashup later, automatically populating all corresponding widgets. What’s the most efficient and maintainable approach to achieve this in ThingWorx?Would you recommend using MashupFunctions / Service calls / JavaScript / JSON encode-decode logic for this? Any examples, tips, or perf
We are preparing to migrate our current Thingworx environment from version 9.7 to version 10.x. Before proceeding, I would like to gather some insights regarding the stability of the 10.x version. Has anyone encountered issues or challenges during their migration process to this version? Any specific details or experiences you can share would be greatly appreciated, as they will help us plan our migration more effectively. Thank you!
Hello Everyone,I have a ThingWorx instance hosted on an OCI (Oracle Cloud Infrastructure) server, and I would like to enable Single Sign-On (SSO) for the platform.I am not sure about the correct steps or prerequisites for configuring SSO in this setup. Could you please guide me on the following:What are the requirements for enabling SSO on a ThingWorx server hosted in OCI?Which SSO protocols are supported (e.g., SAML, OAuth, OpenID Connect)?Is there any documentation or step-by-step guide available for configuring SSO in this environment?Do I need to make any additional configurations on the OCI side (networking, certificates, identity provider integration, etc.)?Any best practices or common issues to be aware of.can we have both native login and sso enabledAny help, references, or examples would be greatly appreciated.Thank you!
Hi,I am using the Application Key as of now to access services and Mashup for the end user. (Adding APP key in URL)If I use the SSO moving forward, how can I access those services and Mashups now?Thanks,
Hi I upgraded ThingWorx from 9.3.x to 9.7.3 yesterday. And after the upgrade the JDBC connecting Thing to MSSQL is not connecting.I have even upgraded and installed the new JDBC extension 2.1.0 as well.
Hi everyone, I have a DataTable with several entries. When I click an entry, a service runs and loads the images from the imagePath stored in that entry. Everything works fine normally — the Collection widget displays the correct images. However, when I switch between entries very very fast, sometimes the images from a previous entry stay visible and do not update, even though the selected entry has changed. It looks like the Collection widget doesn’t refresh properly when service calls overlap or happen too quickly. Has anyone experienced this behavior or found a reliable way to force-refresh the Collection widget when rapidly changing entries? Thanks,Jamal
I'm having a problem getting Flow 10 to get configured with Foundation 10. All the services start and I can connect to Foundation via the Flow nginx port but I get the following error when running WorkflowSubsystem.ValidateFlowSetup: Found 1 issues. [FLOW-API-01] - Failed to connect to Flow: Internal Server Error For more information, refer to the 'Troubleshooting Your Installation' topic in the Help Center. The ApplicationLog has these errors: 2025-11-21 14:29:06.092+0000 [L: ERROR] [O: c.t.s.s.f.WorkflowSubsystem] [I: ] [U: Administrator] [S: ] [P: ] [T: https-openssl-nio-8443-exec-7] Failed to get Delegated UserOAuths : Internal Server Error 2025-11-21 14:29:06.092+0000 [L: ERROR] [O: c.t.f.f.FlowDelegatedOAuthFilter] [I: ] [U: Administrator] [S: ] [P: ] [T: https-openssl-nio-8443-exec-7] Unable to initialize session attributes I don't have SSO currently enabled although I did have it on in previous attempts so I'm not sure with there is an OAuth error.
Hi everyone, I am currently designing a simplified deployment setup for our ThingWorx environment based on the standard multi-stage pipeline. Our planned flow looks like this: 👉 Local Instances (Developers) → DEV Environment → Git (Build Pipeline) → Artifact Repository → TEST Server → Production Servers (multiple locations like China, Italy, etc.) This structure seems efficient for our team and helps streamline deployments, but I’m unsure how to handle bug fixes in this setup. For example, if a bug is found in production, what’s the best practice for fixing and validating it —should it go directly from DEV → TEST → PROD again, or is a temporary branch/environment recommended? We are deploying our projects as extensions. Would appreciate any insights or examples from those who’ve implemented a similar lightweight pipeline. Thanks in advance! — Jamal
Resources["ContentLoaderFunctions"].PostJSON调用大模型接口,短回复没有问题,长回复报以下错:javascript service. Message ::Read timed out。请问是不是系统又限制?在哪里可以更改配置?
Hi, I have this code I can compile with C-SDK I want to make a .snap from.I'm using the version 3.2.0.3436.I used cmake and everything worked fine between thingworx and the agent I coded.The architecture is as such : > c-sdk > build > examples > my code > lib > src > test cmake is done in c-sdk>build The thing is, I now need to make a snap from this project and I don't really know where to start. If I make my snap from my project, I have the same errors I used to have before I did cmake in c-sdk>build (twApi.h: No such file or directory). I even tried to correct it by adding this in my CMakeLists.txt : include_directories( ${TW_SDK_PATH}/include include ${TW_SDK_PATH}/src ${TW_SDK_PATH}/src/api ${TW_SDK_PATH}/src/config ${TW_S
I recently faced an issue in ThingWorx Mashup related to menu visibility for another user, and although I found a workaround, I’d like to understand why this happens and if there’s a better alternative. Problem:I created a mashup that includes menus and assigned visibility and runtime permissions to another user.When I log in as myself, I can see the mashup and all menu details correctlyBut when the other user (with runtime permissions) logs in, the mashup loads but the menu items are not visible.What I Tried:When I tried to fetch the same menus through a service call, the menus loaded properly — both for me and for the other user.So, fetching via a service worked, but showing them directly in the mashup did not.My Questions:Why does this behavior occur even after providing proper visibility and runtime permissions?Are there additional permissions or settings (like for entities, data shapes, or mashup parameters) that affect menu visibility?Is using a service to load menus dynamic
Hi Community,We recently upgraded our platform to ThingWorx 10, which includes new AI capabilities, and I’m looking to better understand how these features can be utilized in real industrial applications.For additional context, we are using ThingWorx 10 together with SCPA 164, so I’m also curious about how these AI features align with or enhance SCPA-based solutions.Specifically, I’m interested in learning:How the new AI/ML features in ThingWorx 10 can help improve or optimize existing applicationsWhat use cases these AI features are intended for, and where they provide the most valueHow other developers are integrating or embedding AI into mashups, workflows, or analyticsBest practices, architecture guidance, or known limitations when using AI features in ThingWorx 10Whether any extra configuration or supporting components are required, especially when working with SCPA 164If anyone has hands-on experience with the AI features in ThingWorx 10 or has already implemented them in product
🌟New Best Practice: Using LLMs with ThingWorx — Version 2.0 Now Available!Everyone is talking about Generative AI, and Large Language Models (LLMs) continue to transform how organizations analyze and interact with data. Beyond chatbots and text generation, these models are increasingly being used to make sense of complex industrial data — from factory sensors to production analytics — helping teams make faster, smarter decisions.ThingWorx, PTC’s Industrial IoT platform, enables secure connectivity to machines, systems, and databases across the enterprise. By linking ThingWorx with an LLM, you can create an AI Assistant for industrial operations that provides insights, answers natural-language questions, and supports data-driven problem solving — all while keeping your operational data secure.🧩 What’s New in Version 2.0This new release builds on the original ThingWorx + LLM accelerator and introduces major new capabilities designed to make LLM integrations more powerful, flexible, and
Hi everyone, I’m working with a ThingWorx FileRepository where each subfolder contains only 3–4 images (like step images in an Experience).Whenever I add or delete images, I want to re-sort and rename all files sequentially — e.g., 1.png 2.png 3.png 4.png so the order always stays clean and consistent. Question: Given that each folder has only a few files (3–4 images), should I: Keep this simple in-ThingWorx loop (since performance impact is negligible), or Use a REST API batch rename approach for better scalability? Option 1 – In-ThingWorx loop (current working code) ✅ Simple and clear⚠️ Calls RenameFile() multiple times (one per file) const repoThing = Things[me.getFileRepository()]; for each (var row in existingExperienceStepFiles.rows) { var lastSlash = row.path.lastIndexOf("/"); var dir = row.path.substring(0, lastSlash); var newName = (++i) + ".png"; var newPath = dir + "/" + newName; repoThing.R
Hello All, I have an API gateway, which also acts as an OIDC IdP. There's a Windchill instance which is configured to serve APIs to that gateway with SSO. There's an external app, which uses that setup, and it works fine. I'd like to investigate an idea of connecting Navigate through the same API gateway, and not directly to Windchill. I expect to do some configuration on the ThingWorx side, but zero changes on the Windchill end, because other API gateway app(s) already work, so I assume that there's nothing to change. Before I spend time on trying to set it up, just wanted to check with the community -- is it a supported setup, and what kind of issues should I expect? Also, this might be a very lame question, but what do I need to configure on the ThingWorx side to make an external OIDC IdP work in this scenario? Thanks, Constantine
Hello Team, Am trying to upload some pdf files from thingworx repository to azure blob storage using REST API, Could you please share any sample code available for the same? below is what am trying var params = {url: "https://<AccountName>.blob.core.windows.net/<container>/<folder>?<sasToken>",headers: {"x-ms-blob-type": "BlockBlob"},content: fileContent, // Ensure this is raw file contentcontentType: "application/octet-stream",timeout: 60000 // 60 seconds};// Use ThingWorx HTTP POST/PUTvar result = Resources["ContentLoaderFunctions"].PutText(params); Not getting any result or error, please help
Hello everyone, I’d like to open up a discussion around the announcement that PTC is selling its industrial connectivity and IoT businesses — namely ThingWorx and Kepware — to TPG. Thingworx sold As someone working in industrial connectivity, IoT and manufacturing systems (and many of you probably are as well), this raises a number of questions and potential implications. I’d love to hear your thoughts. Below are some of the issues I believe we should consider: Potential positives The transaction is being promoted as a growth enabler: PTC says this move will allow the ThingWorx and Kepware businesses to “gain additional resources for growth” under TPG. PTC For users of ThingWorx this could mean heavier investment, new features, better connectivity, or stronger backing — depending on how TPG steers the business. The shift might allow PTC to focus more on its core “Intelligent Product Lifecycle” vision (CAD, PLM, ALM, SLM) — which could mean clearer strat
Hi everyone, While experimenting with InfoTables inside a ThingWorx service, I ran into some confusion regarding a documentation example that seems to contradict actual platform behavior. I’d like to get clarification (and maybe spark some discussion) around this. Documentation Example In the documentation , I found the following pattern: var referencedInfoTable = Things["thingName"].myInfoTable; var tableLength = referencedInfoTable.rows.length; for (let i = 0; i < tableLength; i++) { referencedInfoTable.rows[i] = { field1: i, field2: i * 2, field3: i * 3 }; } Things["thingName"].myInfoTable = referencedInfoTable; // Comment from docs: // "Because you are not using .AddRow() it doesn't require access to the referenced object's .AddRow() method, // therefore it doesn't need to access the cache." The Problem When this code runs in ThingWorx (especially versions 9+ and 10+), it throws: class org.mozilla.javascript.NativeObject cannot be
Hello,Im sitting with the grid widget in a mashup and have bound an infotable to the data property and have now also bound other data that is suppose to be "child" data to the first data property. How do I successfully make the expandable functionality in the grid widget work? I've tried to bind the "child" data to the ChildData property of the grid widget and the "+" buttons are showed in the mashup but nothing happends (not expanding/showing child data) when i click the "+" buttons. Additionally, no clear expandable event seem to exist for the grid widget. Anyone here with Child data configuration knowledge for grid widget in Thingworx? Thanks in advance.Sincerely,Pontus Koontz
Hello All,I had created a thing (assigned value stream) programmatically and deleted programmatically (first value stream then thing).Now, Thing is not visible in composer, there is no ghost entity, no reference in any data table. Still some time it appears in application log as error that thing not found. Any suggestion to move further.
Hello everyone, I have a setup where I’m working with a main project (Project A) that contains all the Things with configurations for two sub-modules: Project A – SubModule 1 Project A – SubModule 2 Each sub-module is component of Project A, and all configurations are stored in Project A’s Things.We have already published Project A as an extension on the production server, so both sub-modules are currently working independently (i.e., there’s no direct dependency or linkage between SubModule 1 and SubModule 2). Now, we have a new requirement where we need to access data from SubModule 1 inside SubModule 2.However, due to the independent structure and the way Project A is packaged, I cannot simply make one module depend on the other. 💡 My current idea: I’m considering creating a ThingTemplate inside the main Project A, and then creating corresponding Things for both SubModules 1 and 2 based on that template.I could then write shared services inside this template and use t
Already have an account? Login
No account yet? Create an account
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.