[DXP] 在 spotfire 中創建自定義視覺化工具

簡介 Spotifre 的視覺化工具(visualization)是可以被擴展的。已在 Spotfire 環境中部署的自定義視覺化工具將會出現在相同的位置並以相同的方式運作,就像 Spotfire 原生的視覺化工具一樣:它們可以從視覺化選單(visualization menu)、繪圖文本選單(plot context menus)、工具列中被訪問,並且可以與其它繪圖(plots)共享數據集(data sets)、標記(marking)和篩選(filtering)。 需要擴充的點 可視化框架的擴充點包括: CustomVisual, CustomVisualization - custom visuals 的基礎類別,custom visualization 是 custom visual 的子類別,具有一此額外的功能。 CustomVisualFactory - custom visualizations 的工廠基類(Factory base),用於創建自定義可視化工具的實例。 CustomVisualView - CustomVisual 視圖的基類。 實作 建立模型 模型部分繼承自 CustomVisual 或 CustomVisualization。 CustomVisualization 是 CustomVisual 的子類別,並添加了指定 data table 和 marking 的功能。能夠指定當前 data table 和當前 marking 使視覺化能夠參與主細節情境。它還使框架能夠在 marking 記錄上實現命令並在狀態欄中顯示有關 filtering 和 marking 的行數的訊息。 CustomVisualization 的 model資料可以來源自一個或一個以上的 data tables;而 CustomVisual 則是可以在 Page 中實作原生的 Text Area 和其它各種控制面板。...

<span title='2023-08-14 22:54:55 +0800 +0800'>August 14, 2023</span>&nbsp;·&nbsp;4 min&nbsp;·&nbsp;Rain Hu

[DXP] Spotfire Extension 擴充程式

Spotfire Extension Spotfire Extension 是添加到平台的最小功能單元。它是在 Visual Studio® 中開發的,並包含在 Spotfire 外掛中,使版本控制、授權、部署和加載成為可能。本主題描述了開發 Extension 時需要的關鍵概念,以添加自定義功能到 Spotfire 平台。 Add-in Extensions 以 add-in 的方式載入 Spotifre 中。Spotfire 處理版本控制、部署及為擴充功能註冊。Spotfire extension 的設計燈南規定每個 add-in 都必須包含一個繼承 AddIn Class 的類別。Add-in 基本上是由在從 SDK 模板創建專案時提供的資訊所定義的。Add-in project 可以包含一或多個 extensions,故專案也可以輕鬆的透過添加其它擴充來建立新的版本。 每個擴充功能都是由一組類別實現的,通常是透過 override base class 來定義擴充類別,並透過覆寫特定擴充類別的方法 Register[ExtensionType](),宣告式地進行 add-in 的註冊。每個這樣的方法都會傳遞一個 registrar,允許 add-in 在適當的 registry 進行註冊。例如在註冊新的工具(tool)時,必須要 override 方法 RegisterTools(ToolRegister)。在授權擴充功能時也會使用類似的方法。 如果一個模組有有效的模組定義檔案,則被定義為適合在 Spotfire 中載入。它通過定義 AddIn 類別的完全限定類型名稱和組件名稱來向應用程式聲明這個外掛程式。它還聲明了一個唯一的專案GUID和 assembly 的強名稱(string name)。這些組合唯一地識別了專案和外掛程式。因此,Extension assembly 必須使用強名稱金鑰(string name key)文件(.snk)簽名。擴展專案模板包含一個默認金鑰。可以用自己的金鑰文件替換此金鑰文件,但如果這樣做,請務必相應地修改模組定義檔案。 Extesnion Type IronPython 提供一種輕量的方式,便可在分析本身中添加複雜的行為,無需透過開發工具與部署機制,便可快速的創建小型的應用程序。而當需要創建自定義的功能時,就需要用到 C# 的擴充機制。 Custom Tool Custom Tool 用於擴充在 Spotfire 中特定文本(context) 上的操作。文本可以是 Spotfire 應用程式(application)本身、檔案庫(document)、或是每個特定的可視化類型(visualization)。 包含 Custom Tool、Custom Export Tool、Custom Share Tool Custom Panel Custom Panel 是通用 UI 組件,用於視覺化文本資訊、添加控制項或其它特定的功能。 Custom Visualization Custom Visualization 可用來擴充 Spotfire 的 Visualization Set,使之可以從 Visualization 選單中、繪圖文本(plot context)清單上、工具列中被選擇,並與其它繪圖工具一樣享有數據集、標記(marking)、與篩選(filtering )功能。 Custom Value Renderer Custom Value Renderer 用來呈現表格視覺化列中的值。最常見的情況是將數據值轉成圖像,在表格中呈現。 Custom Data Source Custom Data Source 用來匯入任何自訂的外部資料來源。 Custom Data Function Custom Data Function 用自定義的公式將文件中的資料進行計算後輸出到文件的其它位置。 Custom Data Tranformation Custom Data Transformation 在資料讀取和建立表格之間添加了一層,提供在匯入資料前修改資料的方法。資料轉換將一個規則或函數應用於檢索到的資料,以準備進行分析。 Custom Data Writer Custom Data Writer 用於匯出自定義格式的檔案。 Custom Expression Functions Custom Expression Functions 可以擴展在自定義表達式和計算列中使用的表達式語言。可以是基於行、列或聚合方法。 Custom Fitting Model Custom Fitting Model 由 Visualization 的座標和參數計算出值,以繪值對應的參考點或曲線。 Custom Virtual Column Custom Virtual Column 根據一個或多個現有的列和文件屬性創建新的欄。 Custom Preference Custom Preference 偏好設定,也稱作 Configuration Sets。 Custom License Custom License 可用於自訂授權。 Custom Node Custom Node 可以添加項目到 spotfire document model 中,並序列化到 dxp 文件中。 Custom Application Event Handler Custom Application Event Handler 可用來監控並回應應用程式事件。

<span title='2023-06-23 03:03:52 +0800 +0800'>June 23, 2023</span>&nbsp;·&nbsp;1 min&nbsp;·&nbsp;Rain Hu

[DXP] Spotfire Developer SDK

Spotfire SDK SDK,全名 Software Development Kit,中譯軟體開發套件,可以想成 Spotfire 提供給開發者一個以 Spotfire 工具分析為基底的開發框架,提供了各式套件以供各種開發需求。包含了 Extension Template, Development assemblies, example projects, package builder application… Binaries 包含了在 Windows 或 Linux 上使用 Spotifre 平台建立 Solution 時所參考的 .NET 套件。由於兩個平台具有不同的 .NET 需求,因此 Binaries 中包含了兩種 OS 各一組檔案,其中還包含了相關的 IntelliSense 檔案。 Examples 提供一系列廣泛的 Solutions,用於解決常見的開發場景。可根據不同的技術特性分為: COM Automation 描述使用 COM 進行應用程式間通訊的方法。 微軟的基於 COM 組件的軟體架構,讓應用程式將其內部功能公開為 COM 物件,使開發者可以編寫一些腳本,進行一些自動化任務,稱為 Automation 或 OLE Automation。 Extensions 擴充套件:提供了一組完整的 .NET 專案,為解決 Spotifre 客戶端的特定任務。這些擴充套件足夠簡單,可以作為一些開發者的靈感或程式碼的來源。 所有範例擴充功能都包含在 Visual Studio Solution 的 Spotfire.Developer.Extensions.sln 中,所有包含 c# 程式碼的自定義工具(Custom Tool)範例都包含在 Solutions CustomerToolExample....

<span title='2023-06-22 21:43:13 +0800 +0800'>June 22, 2023</span>&nbsp;·&nbsp;2 min&nbsp;·&nbsp;Rain Hu

[DXP] 在 spotfire 中創建自定義工具

簡介 Custom Tool 是一種通用 Spotfire 擴充類型,用於在特定文本中(spotfire app, docuemnt, visual, …)執行某些動作,且可顯示或隱藏於菜單中。 概要 開發者需新建一個類別,並繼承並實作 CustomTool 類別。然後這個類別會在 AddIn 類別的 RegisterTools 方法中註冊。此時,也可以使用CustomMenuGroup 類別指定將工具放置在自訂菜單組中。 在創建 CustomTool 類別時,工具文本被指定為類型參數,例如對於 Document 需使用使用 CustomTool<Document>,對於 Page 需使用CustomTool<Page>。 可以將提示添加到工具中。提示對話框可以添加到 Windows 客戶端和 Web 客戶端。 在實作 custom tool 時,需注意到以下的特性: Tools 是靜態的(static):工具只有一個實例,該實例從調用 Execute() 方法的文本引數中接收其文本的處理。 Tools 是無狀態的(stateless):一個狀態只能從一個繼承自 DocumentNode 類別並附加到文件模型的實例中保存在文件中。使用 CustomNode 類別和 Document.CustomNodes 屬性。 Tools 只執行一個動作。:通常,該動作需要在一個 undo stack 上產生一個 undo state。因此,所有更改文檔狀態的工具都應該被包裝在其 Transaction 中。 Tools 文本 1. Application public sealed class MyApplicationTool : CustomTool<AnalysisApplication> AnalysisApplication tools 可從「Tools」選單中取得,在啟動 Spotfire 後即可啟用。 2....

<span title='2023-06-06 22:38:08 +0800 +0800'>June 6, 2023</span>&nbsp;·&nbsp;4 min&nbsp;·&nbsp;Rain Hu

[DXP] 在 spotfire 中創建自定義任務

簡介 Spotfire Automation Services 提供一個平台和工具,用於在無使用者操作與 UI 的情況下自動地執行 TIBCO Spotfire。 適用情境如「定期發送報告」、「在某些事件發生時保存嵌入在 Spotfire 文件中的截圖」,以及在許多其他需要基於Spotfire文件進行自動化操作的情況下使用。 自動化服務 API 使自訂任務變得可能,且可與內建任務一起使用,執行自動化工作。 Spotfire 用語 名詞 解釋 Task Task 是用於創建複雜工作的基礎模塊。自動化服務附帶了許多預定義的 Tasks,例如應用書籤或發送電子郵件或乃至其它可擴充的 Tasks。 Job 排程好待執行的 Tasks 組合成一個 Job,Job 又被儲存於 Job File 中。 Job File Job File 是一個可讀的 XML,用於定義 Job。 Job Builder Job Builder 是一個在 Spotfire 專業版中運行的應用程式,提供了一個易於使用的界面,用於創建和編輯工作。 Job Sender ClientJobSender 是一個工具,可將作業發送到 Spotfire Server 以進行執行。使用 ClientJobSender 設置定期或事件驅動的作業執行。 架構 Job 通常是在 Job Builder 或 ClientJobSender 中創建並保存為 XML 的 Job File,然後被送至 Spotfire 伺服器以執行,或是使用 ClientJobSender 工具發送到 Spotfire 伺服器以進行執行。 對於每個以 XML 格式發送到 Spotfire Server 以執行的工作,Automation Services 會啟動一個 node。接著內部工作執行程序會逐一執行任務,直到任務失敗或所有任務成功完成時退出。 Job File 格式 工作檔案的 XML 格式設計為易於理解和修改。雖沒有正式的格式規範,但可讀性仍是挺高的。 以下是一個「從 Analytics Server Library 開啟分析文件並將圖像匯出到預定位置」的 Job 範例: <as:Job xmlns:as="urn:tibco:spotfire....

<span title='2023-06-06 21:36:12 +0800 +0800'>June 6, 2023</span>&nbsp;·&nbsp;2 min&nbsp;·&nbsp;Rain Hu