본문으로 건너뛰기
  1. Tags/

Thingworx

Thingworx Extension Third-Party JavaScript Libraries Tip
·1 분· loading · loading
Yna
Thingworx Extension # Thingworx Extension으로 Third-Party Javascript Libraries를 사용하는 방법은 Thingworx Document에 다음과 같이 소개되어 있습니다. if (!jQuery().qtip) { $("body").append('<script type="text/javascript" src="../Common/extensions/MyExtension/ui/mywidget/ include/qtip/jquery.qtip.js"></script>'); $("head").append('<link type="text/css" rel="stylesheet" href=" ../Common/extensions/MyExtension/ui/mywidget/include/ qtip/jquery.qtip.css" />'); } Thingworx widget Extension을 만들 때, 아래 코드와 같이 renderHtml 함수에 추가하여 사용하는 방법을 제시하고 있습니다. this.renderHtml = function() { ... if(!jQuery().ptccommonhighchart){ this.body_append( '<script type="text/javascript" src="../Common/extensions/<project>/ui/<widget>/lib/highcharts.js"></script>'); } } 이렇게 사용할 경우 종종 Thingworx Runtime 시에 Third-Party Javascript libraries에 정의되어 있는 기능이 정의되지 않았다고 에러가 발생하곤 합니다.
Thingworx Extension 개발을 위한 이클립스 개발 환경 세팅
·2 분· loading · loading
Thingworx에 사용자가 개발한 Extension을 추가하여 위젯, Thing과 서비스 등 엔티티를 추가하여 사용할 수 있습니다. Thingworx Extension 개발을 위해서는 Eclipse에 플러그인 설치가 필요합니다. Eclipse 플러그인 설치와 개발을 위한 기본 설정을 알아보겠습니다. Thingworx Extension 개발을 위한 Eclipse 플러그인 설치 # [support.ptc.com](PTC Software Download - ThingWorx Foundation) 에서 사용하는 버전을 선택하여 Eclipse Plugin for Thingworx Extensions zip 파일을 다운로드 받아 압축을 해제합니다.
Thingworx 테스트 Tip (3) - 브라우저 개발자 도구 네트워크 기능을 이용한 Session 이벤트 제어와 서비스 이벤트 제어
·2 분· loading · loading
Thingworx Mashup 개발 시 화면간 이동으로 triggering되는 Load 이벤트와 Session에 설정한 사용자 지정 속성의 이벤트, 서비스의 동작에 따른 이벤트의 연쇄작용으로 테스트가 어려운 경우가 있습니다. 이번 글에서는 브라우저 개발자 도구 네트워크 기능을 이용한 Session 이벤트 제어와 서비스 이벤트 제어를 알아보도록 하겠습니다. Thingworx Session 객체를 통한 Session 이벤트 제어 # Session 값 조작에는 Thingworx 런타임객체 내의 Session 객체를 통해 Session 값 제어가 가능했지만,
Thingworx 테스트 Tip (2) - 브라우저 개발자 도구 콘솔을 통한 Thingworx Session 객체 접근 및 조작
·2 분· loading · loading
Thingworx Mashup 개발 시 로직의 순서 제어를 위해 Thingworx의 Session에 설정한 사용자 지정 속성의 이벤트를 이용하는 작업이 필요한 경우가 있습니다. 하지만 필요한 이벤트를 trigger 하기 위해 선행되어야 하는 동작들이 있을 수 있으며, 그 동작들을 테스트를 통해 인위적으로 발생시키기 위해서는 많은 양의 테스트 서비스 작성 및 서비스/이벤트 바인딩이 수행되었다가 테스트 후에 원복 시켜야 하는 불편함이 발생하기도 합니다. 브라우저의 개발자 도구의 콘솔을 이용하여 Thingworx의 Session 객체에 접근하고, 객체의 내장 함수를 통해 Thingworx Session 의 특정 사용자 지정값을 get/set 하거나, 세션 값이 변경 될 경우에 발생하는 이벤트를 trigger 할 수 있습니다. 이는 별도의 테스트용 서비스 작성 및 서비스/이벤트 바인딩 작업을 줄여 작업 시간 단축을 기대할 수 있을 것입니다.
Thingworx 테스트 Tip (1) - 브라우저 개발자 도구 네트워크 기능을 이용한 로직 디버깅
·2 분· loading · loading
Thingworx Mashup 개발에는 Mashup에 연결된 Thing의 서비스, 세션 변수, UI 간의 이벤트 바인딩으로 로직을 구성하고 서비스 input/output 바인딩의 작업을 필요로 합니다. 간단한 로직의 경우 몇번의 테스트 만으로도 서비스가 의도된 대로 동작하는지 확인할 수 있지만, 로직의 복잡도가 증가할 수록, 서비스의 개수가 많아질 수록, 바인딩된 이벤트가 많아질 수록 테스트의 난이도가 쉽게 증가합니다. 브라우저의 개발자 도구 기능을 이용하면 서비스에 하나하나 로그를 출력하는 것 대신 쉽게 문제 발생지점을 찾아낼 수 있으며, Thingworx 객체에 직접 접근하여 이벤트 제어를 통해 원하는 지점부터 로직을 테스트 할 수 있습니다.