Recently active
Guide ConceptStep 1: Examples and Strategy Learn how to create factory line solutions the can help take you to the next level Guide Concept This project will introduce more complex aspects of the ThingWorx application and solution building. Following the steps in this guide, you will develop your own IoT application or get a jump start in how to utilize ThingWorx for your needs. We will teach you how to create a focused rules engine or service level logic to be used with the ThingWorx Platform. You'll learn how to Create automated machine processesUse Services, Alerts, and Subscriptions to handle processes without human interactionIntegrating complex logic with straight forward step by step systems NOTE: This guide's content aligns with ThingWorx 9.3. The estimated time to complete ALL parts of this guide is 60 minutes Step 1: Examples and Strategy Download the attached FoodIndustry.zip and extract/import the contents.
Step 3: Creating Machine ProcessesStep 4: Automating ProcessesStep 5: Handling Cooking MachinesStep 6: Next Steps Step 3: Creating Machine Processes Having data and properties without moving parts would be useless. We already setup services on how to perform an inspection in the last guide. This time around, let's form processes to create our products and generate any alerts whenever we've finished production. We won't show too much into our recipe (it's a family secret), but we will highlight some concepts to help with making our machine process smoother.We won't go into creating an SMT line. For a complete guide on how to create such an application you can view our Monitor an SMT Assembly Line guide. Events and Subscriptions Let's create events for the cook time being done and a subscriptions on how to handle these scenarios. Open the Fizos.BrautsMachine.ThingTemplate template and go to the Events tab.Click the + Add bu
Guide ConceptStep 1: What Are FunctionsStep 2: Create an Expression Discover how ThingWorx Functions can be implemented in a compelling Mashup design. Guide Concept This project will introduce how to create complex user interfaces that are built by using simple Mashup functions. Following the steps in this guide, you will build a web application with multiple layers.We will teach you how to create a professional user interface that effectively conveys information to users. You'll learn how to Navigate to other UIsCreate expressions and validationsCreate event routers and data handlingCreate confirmation modals/pop-upsCreate status messages NOTE: This guide's content aligns with ThingWorx 9.3. The estimated time to complete ALL parts of this guide is 60 minutes Step 1: What Are Functions In the Mashup Builder, we utilize Functions to create added capabilities in our Mashups. Whether we are navigating to another Mashup or triggerin
Step 3: Create Validation and StatusStep 4: Create Confirmation ModalStep 5: Create Navigation Step 3: Create Validation and Status With our MyFunctionsMashup Mashup open, let's add a Validation. A Validation is similar to an Expression, except you have the added capability of triggering Events based on a True or False outcome of your validation. We will use the Validation to check and confirm the Text Field we created only has the values we added in our Functions. Let's also add two Status Message Functions that will show whether or not a user has added any text outside of what we want. Open the MyFunctionsMashup Mashup to the Design tab.Click the green + button in the Functions area. In the New Function modal, select Validator. Set the Name to isDataClean. Click Next. Click Add Parameter.Set the Name to text and ensure the Base Type is STRING. Add the following code to the Expression are:if(tex
Step 6: Create Event RouterStep 7: Next Steps Step 6: Create Event Router What do you do when a user can perform multiple events in which data is generated, and want those outputs to go through the same exact process? An Events Router Function is your solution. The Events Router Function allows for multiple data sources to be funneled to one location. Let's create a simple example in our MyFunctionsMashup Mashup. In this Mashup, we'll add two Text Field Widgets and a Label Widget. The two Text Field Widgets will take user input and then an Events Router will send the output to the Label. Let's start! Open the MyFunctionsMashup Mashup to the Design tab.Click on the Widgets tab.Type in the Filter text box for Text Field. Drag and drop TWO (2) Text Field Widgets to the Mashup Canvas.Type in the Filter text box for Label. Drag and drop ONE (1) Label Widget to the Mashup Canvas.We now have all the Widgets we need for this
Hi, Do we have a solution to that since that question was asked ?
Hello, is there any way to clean a selected location in the google map widget?
There are a few things mentioned on this site about this "SAMEORIGIN" error along with suggested fixes. But the easiest fix I have found is when entering the URL, add the following parameter ("?rs:embed=true") (without parens and quotes, of course). You should then be able to open URLs within the Webframe widget. Your URL should then read something like https://my.domain.com/myreport?rs:embed-true&otherparams=asneeded. I ran across this when attempting to pull down a report from SSRS into ThingWorx. The on-screen error was not helpful at all (On-screen rror message: <URL> refused to connect). But when I opened Developer Tools, I saw the full error (“Refused to display < URL > in a frame because it set ‘X-Frame-Options’ to ‘sameorigin’ ”). Adding the above parameter allowed the report to open very easily, and then you can then print a full paginated report from within ThingWorx from SSRS. E. Shaffer
Guide ConceptStep 1: What Are Dynamic GridsStep 2: Create A Dynamic Grid Discover how ThingWorx advance tree grids and grids can be implemented in a compelling Mashup design. Guide Concept This project will introduce how to create complex user interfaces that are built by using Mashup grids and JavaScript services. Following the steps in this guide, you will build a web application with advanced data displays.We will teach you how to create a professional user interface that effectively conveys information to users. You'll learn how to Create dynamic tree grids to display hierarchy.Create dynamic grids to display growing data number of data points. NOTE: This guide's content aligns with ThingWorx 9.3. The estimated time to complete this guide is 30 minutes Step 1: What Are Dynamic Grids In the Mashup Builder, we utilize Functions to create added capabilities in our Mashups. Whether we are navigating to another Mashup or triggerin
Step 3: Create A Tree GridStep 4: Next Steps Step 3: Create A Tree Grid With our MyFunctionsMashup Mashup open, let's add a Validation. A Validation is similar to an Expression, except you have the added capability of triggering Events based on a True or False outcome of your validation. We will use the Validation to check and confirm the Text Field we created only has the values we added in our Functions. Let's also add two Status Message Functions that will show whether or not a user has added any text outside of what we want. Open the MyFunctionsMashup Mashup to the Design tab.Click the green + button in the Functions area. In the New Function modal, select Validator. Set the Name to isDataClean. Click Next. Click Add Parameter.Set the Name to text and ensure the Base Type is STRING. Add the following code to the Expression are:if(text === "NO") { result = true; } else
Guide ConceptStep 1: Completed ExampleStep 2: Understanding Directory ServicesStep 3: Configure ThingWorx and ApacheDSStep 4: Import Users Into ThingWorxStep 5: Next Steps Create users, security groups, and provide a method to authenticate with LDAP. Guide Concept LDAP allows for a layer of security within your company or organization to be utilized for authentication or user management. These concepts and steps will allow you to focus on development of your application while still allowing the ability to utilize the power of ThingWorx! We will teach you how to enable LDAP authentication in ThingWorx and configuring ThingWorx to connect to a LDAP server. You'll learn how to How to enable LDAP Authentication on ThingWorxConfiguring ThingWorx to connect to an LDAP serverImporting users from LDAP NOTE: This guide's content aligns with ThingWorx 9.3. The estimated time to complete this guide is 60 minutes Step 1: Completed Example Dow
Hi Developers,I'm seeking on how we can get over 500 records with 1 SQL query.currently we can get maximum 500 records with 1 query. can we make this limit bigger ?
Step 5: Mashup Builder APIStep 6: Mashup Builder Callbacks Step 5: Mashup Builder API The following APIs can be accessed by a widget in the context of the Mashup Builder: API Description this.jqElementId This is the DOM element ID of your object after renderHtml(). this.jqElement This is the jquery element. this.getProperty(name) / this.setProperty(name,value) Note that every call to this function will call afterSetProperty() if it’s defined in the widget. this.updatedProperties() This function should be called anytime properties are changed in the widget so t
Step 7: Widget Lifecycle at RuntimeStep 8: Runtime APIs available to WidgetsStep 9: Runtime Callbacks Step 7: Widget Lifecycle at Runtime When a Widget is first created, the runtime will obtain any declared Properties by calling the runtimeProperties() function. The property values that were saved in the Mashup definition will be loaded into your object without your code being called in any way. After the Widget is loaded but before it’s displayed on the screen, the runtime will call renderHtml() for you to return the HTML for your object. The runtime will render that HTML into the appropriate place in the DOM. Immediately after that HTML is added to the DOM, you will be called with afterRender(). This is the time to do the various jQuery bindings (if you need any). It is only at this point that you can reference the actual DOM elements, and you should only do this using code such as: // note that this is a jQuery object var widg
Step 10: Building and ImportingStep 11: TipsStep 12: Next Steps Step 10: Building and Importing After you’ve completed your code updates, it’s time to build and import! Below are instructions for building with the framework you have set for the project. Build Extension with Ant Go to the Package explorer view.Right click on build-extension.xml.Hover over Run As and select Ant Build. Your console output will indicate BUILD SUCCESSFUL. This will build your project and create the extension zip in the your_project->build->distributions folder of your project. Build Extension with Gradle Right click on your project ->Gradle (STS)->Tasks Quick Launcher. Set Project from the drop-down menu to your project name and type Tasks as build.Press Enter. Your console window will display BUILD SUCCESSFUL. Your extension has been created and stored as a zip file in your_project->
Guide ConceptStep 1: Top Level LayoutStep 2: Import DataStep 3: Map MashupStep 4: Navigation Panel Discover how ThingWorx Widgets can be implemented in a compelling Mashup design. Guide Concept This project will introduce how to create complex user interfaces that are built by combining simple Widgets and basic styling. Following the steps in this guide, you will build a web application showing both geographic and table based information. We will teach you how to create a professional user interface that effectively conveys information to users. You'll learn how to Organize UI elements in a Mashup layoutUse the Repeater widget effectivelyUse Styles to customize UI elements within a Mashup NOTE: This guide's content aligns with ThingWorx 9.3. The estimated time to complete ALL parts of this guide is 60 minutes Step 1: Top Level Layout A Mashup like this does take some time to assemble, but is built by layering simple Widgets.
Step 5: Collection WidgetStep 6: Customize CollectionStep 7: Detail Panel Step 5: Collection Widget A Collection widget is used to display information from a collection of Things. Similar to a Grid Widget, the Collection widget gives you complete control over how data is displayed by binding data to an embedded static Mashup. In the first part of this step we will create a static Mashup with Parameters bound to its widgets. Next, we will configure a Collection widget to use the static Mashup we create. In the next step we will customize the Collection styling. Create Static Mashup Click the Browse tab on the far left of Composer, in the Visualizations section, click Mashups .Click + New to create a Mashup.Select Static Mashup, then click OK. Name your Mashup TractorListFormatIf Project is not already set, click the + in the Project text box and select the PTCDefaultProject.Click Save.Click the Design tabIf Project is not
Step 8: Learn More About WidgetsStep 9: Next Steps Step 8: Learn More About Widgets For more details on how to use and customize Widgets highlighted in this guide, refer to: Widget Link to How-ToLayoutCustomizable and Responsive UIGaugeDisplay Property Values with a GaugeStyleDefine Your UI StyleNavigationCustomizable and Responsive UIGoogle MapDisplay Geolocation Data in Your UI Step 9: Next Steps Congratulations! You've successfully completed the Design an Effective UI guide, and learned best practices for building a complex Mashup that includes maps, menus, and detail sections all working together effectively for an enhanced user experience. Learn More We recommend the following resources to continue your learning experience: Capability Guide ExperienceObject-Oriented UI Design Tips Additional Resources If you have questions, issue
Hi, I would like to move the ExpandCollapeSelection to right side. Tried with below CSS but didn't get any solution. Also attached video for reference. Need your help ASAP. .tree-toggle::part(tree-toggle-icon){position:absolute !important;right:0px !important;}#root_ptcsgrid-120-bounding-box::part(tree-toggle-icon){position:absolute !important;right:0px !important;}
I am currently working on configurator application and it looks something like this We haveSome configurations on leftA Thing View with a model loaded in the middleA list of selected configuration on the rightI want achieve two things here.Some how get a list of all parts that are currently on this model and I will make them checked by default in the left menu.Hide and show specific parts based on my selection on the left menu. For example, when I unselect Bucket from the menu it should be removed from the model and when I check it , it comes back.This feature I want to add is similar to the Windchill Visualization option. But I don't know where to look for this in Thing Worx and what option of Thing View I need to update.
Hi all, is there any way to retrieve the token name using the token valuesThere are multiple entry for token name which has same token value. For example ui.testpassed= test passed , also test_passed = test passed. Need to clean up duplicateThanks in advance
Hi Expert Community,I have an application that requires to read data using Modbus serial at a fix rate (for example every 5 minutes). The complete data read by Modbus should be published using IoT Gateway MQTT. However an additional requirement is that using the System tag for DemandPoll, the MQTT client should trigger a new Modbus acquisition and also get the new set of values published immediately.Can you suggest how the scan rate in Modbus and in IoTGateway should be configured?Regards,
I have a mashup with an advanced grid that displays data coming from sql server database. I want to be able to add and remove rows in order to add or delete row data. I was able to add two two advanced grids. Grid one showed all my data and grid two was empty. I was only able to select multiple rows by holding ctrl button. That's the only way I could pass data to the other advanced grid. Is there another way of doing this? I want a user within the mashup to be able to add/delete rows.
Hello, i keep getting these info server stats every 30 mins and would like disable it. any suggestions?
Guide ConceptStep 1: Import SPC AcceleratorStep 2: Configure Properties for SPC monitoring Configure streaming asset properties for SPC monitoring. Guide Concept Note: This guide is intended only as a starting point and is not a fully developed or supported solution. This accelerator has been developed using ThingWorx 8.5 and should not be used with any previous versions of the software. This project introduces you to configuring Properties from your connected streaming assets for Statistical Process Control (SPC) monitoring. Following the steps in this guide, you will learn how multiple connected assets and their Properties can be displayed in a hierarchy tree. You will then configure these Properties using predetermined set points, and upper and lower control points for the assets. Finally, you will learn to navigate the monitoring of the Properties. We introduce some of the basic building blocks of an SPC accelera
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.