# 3forge Enterprise Documentation > Documentation for 3forge Enterprise, a data fabric for building realtime data applications, written for people and for the AI agents that operate it for them. 3forge Enterprise is a data fabric for building realtime data applications. It runs as the AmiCore runtime, which hosts the Center (an in-memory database), the Relay (data ingestion), the Web (dashboards), and the Gateway (one governed endpoint in front of many Centers). Pages in "Operating 3forge with an AI agent" describe how an agent drives a running instance over MCP. ## Operating 3forge with an AI agent - [Operating 3forge over MCP](https://doc.3forge.com/enterprise/ai/operating_over_mcp/index.md): The canonical page for an AI agent operating a running 3forge Enterprise instance over MCP: which surface exposes which tools, and the shared transport rules. - [AI Agent Access (MCP Server)](https://doc.3forge.com/enterprise/ai/mcp_server/index.md): Connect external AI clients to a running instance and operate it through MCP tools. - [MCP Plugin for Coding Tools](https://doc.3forge.com/enterprise/ai/mcp_plugin/index.md): Install the 3forge MCP plugin into your coding tool to author 3forge applications and drive a live instance. - [Building Charts over MCP](https://doc.3forge.com/enterprise/charting/charts_mcp/index.md): Have an AI agent build 3forge Enterprise charts over MCP: bar, line, pie, and template charts such as candlesticks, with their replies, errors, and checks. - [Operating the Historical Database over MCP](https://doc.3forge.com/enterprise/historical_database/historical_database_mcp/index.md): What changes when a historical table is driven over MCP rather than a synchronous transport, including why a SELECT returns no rows. ## Home - [Supported Software](https://doc.3forge.com/enterprise/supported_software/index.md): Platforms, data sources, and external systems 3forge Enterprise supports. - [Contact Support](https://doc.3forge.com/enterprise/contact_support/index.md): Contact 3forge support by email, portal ticket, or your regional support team. ## Home: Getting Started - [What is 3forge Enterprise?](https://doc.3forge.com/enterprise/getting_started/index.md): What 3forge Enterprise is: a data fabric for building, connecting, and operating data-intensive applications, and why it is built that way. - [Installation](https://doc.3forge.com/enterprise/getting_started/installation/index.md): Install or upgrade 3forge Enterprise on Linux or Windows, create the first admin login, and find the directory layout and default ports. - [Licensing](https://doc.3forge.com/enterprise/getting_started/licensing/index.md): Create and install a standalone license for 3forge Enterprise. - [Where Next](https://doc.3forge.com/enterprise/getting_started/where_next/index.md): Tutorials, videos, and documentation sections to read after a first install. - [What's New in 3forge Enterprise](https://doc.3forge.com/enterprise/getting_started/whats_new/index.md): Material changes in 3forge Enterprise for readers coming from 3forge Classic. - [Upgrading from 3forge Classic](https://doc.3forge.com/enterprise/getting_started/upgrading_from_classic/index.md): Migrate an application from 3forge Classic to 3forge Enterprise. ## Platform - [Components and the Data Fabric](https://doc.3forge.com/enterprise/architecture/index.md): The components that make up the 3forge Enterprise data fabric (Center, Relay, Web, Gateway, WebBalancer, WebManager), and how they are managed. ## Platform: Dynamic Components - [Dynamic Components Overview](https://doc.3forge.com/enterprise/dynamic_components/index.md): Add, remove, start, and stop 3forge Enterprise components at runtime by editing a watched file or using the admin console, with no restart. - [Dynamic Components Quickstart](https://doc.3forge.com/enterprise/dynamic_components/quickstart/index.md): Add a component to a running 3forge Enterprise deployment, confirm it starts, and remove it, all without restarting AmiCore. - [How Dynamic Components Work](https://doc.3forge.com/enterprise/dynamic_components/concepts/index.md): How 3forge Enterprise defines its components in the watched data/ami.components file, and how changes are reloaded at runtime without a restart. - [Dynamic Components Configuration](https://doc.3forge.com/enterprise/dynamic_components/configuration/index.md): Properties for 3forge Enterprise component management: the components file path, reload poll interval, allowed directories, and transient components. - [Managing Components](https://doc.3forge.com/enterprise/dynamic_components/managing_components/index.md): Add, start, stop, restart, and remove 3forge Enterprise components from the admin console or by editing the watched components file, with no restart. - [Troubleshooting Dynamic Components](https://doc.3forge.com/enterprise/dynamic_components/troubleshooting/index.md): Resolve errors when managing 3forge Enterprise components: invalid file entries, duplicate names, unknown types, and console connection issues. ## Platform: Plugins - [Plugins Overview](https://doc.3forge.com/enterprise/plugins/index.md): Install, enable, and check plugins in 3forge Enterprise, from adding a datasource or feed handler bundle to confirming the server loaded it. - [Plugins Quickstart](https://doc.3forge.com/enterprise/plugins/quickstart/index.md): Install a plugin in 3forge Enterprise in 5 steps, from copying the bundle into the plugins directory to confirming the server registered and enabled it. - [Installing Plugins](https://doc.3forge.com/enterprise/plugins/installing/index.md): Install, upgrade, or remove a plugin bundle in 3forge Enterprise, including where the plugins directory is, which files it accepts, and why not to extract. - [Enabling and Disabling Plugins](https://doc.3forge.com/enterprise/plugins/enabling/index.md): Enable or disable 3forge Enterprise plugins with plugin lists such as ami.datasource.plugins, and set a plugin's own configuration properties. - [Checking Installed Plugins](https://doc.3forge.com/enterprise/plugins/inspecting/index.md): List installed plugins in 3forge Enterprise, check that a plugin bundle loaded, find a plugin's ID and version, and see which plugins are enabled. - [Troubleshooting Plugins](https://doc.3forge.com/enterprise/plugins/troubleshooting/index.md): Fix 3forge Enterprise plugins that did not load, stop the server from starting, or fail on first use, with the exact error messages and their causes. ## Platform: Operations - [Operations Overview](https://doc.3forge.com/enterprise/operations/index.md): Deploy, configure, monitor, and troubleshoot a 3forge Enterprise instance and estate. - [Deployment](https://doc.3forge.com/enterprise/operations/deployment/index.md): The directory layout 3forge Enterprise creates, its classpath and JVM options, the license file, and how to start and stop an instance. - [Configuration Files](https://doc.3forge.com/enterprise/operations/configuration/index.md): The configuration files 3forge Enterprise reads, how to override shipped settings, and how the runtime validates them. - [Logging](https://doc.3forge.com/enterprise/operations/logging/index.md): Where 3forge Enterprise writes its logs, how the files rotate, and which properties control logging. - [OpenTelemetry Overview](https://doc.3forge.com/enterprise/operations/opentelemetry/index.md): Send 3forge Enterprise server health and load metrics to an OpenTelemetry collector over OTLP, and on to Grafana, Prometheus, or another backend. - [Sending Metrics to a Collector](https://doc.3forge.com/enterprise/operations/opentelemetry/quickstart/index.md): Get 3forge Enterprise sending server metrics to your OpenTelemetry collector in one property and one restart, then confirm the data arrived. - [OpenTelemetry Configuration](https://doc.3forge.com/enterprise/operations/opentelemetry/configuration/index.md): Configure 3forge Enterprise OpenTelemetry export, including the collector endpoint, service name, auth headers, timeouts, and failure behavior. - [OpenTelemetry Metrics Reference](https://doc.3forge.com/enterprise/operations/opentelemetry/metrics-reference/index.md): Every metric 3forge Enterprise sends to OpenTelemetry, with its type, unit, and attributes, plus the log record and resource attribute formats. - [Troubleshooting OpenTelemetry](https://doc.3forge.com/enterprise/operations/opentelemetry/troubleshooting/index.md): Fix 3forge Enterprise OpenTelemetry export problems, such as no data at the collector, HTTP 401, or export disabled, with the exact log messages. - [f1 Console](https://doc.3forge.com/enterprise/operations/f1_console/index.md): Use the f1 console, an SSH command line into a running AmiCore instance, to inspect state and run admin commands. - [Admin Consoles](https://doc.3forge.com/enterprise/operations/admin_consoles/index.md): Access and use the admin consoles in 3forge Enterprise for component lifecycle, data interaction, and AI client operations. - [Operations Hub](https://doc.3forge.com/enterprise/operations/operations_hub/index.md): Monitor and manage a 3forge estate across multiple AmiCore instances with the Operations Hub. - [Troubleshooting Startup](https://doc.3forge.com/enterprise/operations/troubleshooting/index.md): The failures 3forge Enterprise reports at startup, what each one means, and where to look for more detail. ## Center - [Center Overview](https://doc.3forge.com/enterprise/center/index.md): Learn what the Center is and how its realtime database, triggers, timers, and procedures fit together. - [Realtime Tables](https://doc.3forge.com/enterprise/center/realtime_tables/index.md): Create and modify realtime tables in the Center using AMI SQL. - [Center Indexes](https://doc.3forge.com/enterprise/center/indexes/index.md): Create and manage indexes on Center tables to improve query performance. - [Center Triggers](https://doc.3forge.com/enterprise/center/triggers/index.md): Attach Center triggers to tables to run custom logic on insert, update, or delete. - [Center Timers](https://doc.3forge.com/enterprise/center/timers/index.md): Create Center timers to run AmiScript on a schedule or at fixed intervals. - [Center Procedures](https://doc.3forge.com/enterprise/center/procedures/index.md): Write Center procedures, reusable AmiScript for manipulating tables. - [Center Methods](https://doc.3forge.com/enterprise/center/methods/index.md): Reference the AmiScript methods callable in the Center against tables, triggers, procedures, and timers. - [Center Tools](https://doc.3forge.com/enterprise/center/tools/index.md): Use the Center's built-in tools to inspect tables, indexes, triggers, and other Center objects. - [Database Objects](https://doc.3forge.com/enterprise/center/dbo/index.md): Add a custom Java-backed Database Object (DBO) to the Center's schema. ## Historical Database - [Historical Database Overview](https://doc.3forge.com/enterprise/historical_database/index.md): Store accumulated data on disk as a column-oriented historical table, queried with the same SQL as realtime tables. - [Historical Database Quickstart](https://doc.3forge.com/enterprise/historical_database/quickstart/index.md): Get started with a historical table: create, load, optimize, and query with verified AMI SQL statements. - [Creating a Historical Table](https://doc.3forge.com/enterprise/historical_database/creating_tables/index.md): Create a historical table with PersistEngine on a Center using standard CREATE TABLE syntax. - [Historical Database Data Types and Storage Modes](https://doc.3forge.com/enterprise/historical_database/data_types/index.md): Understand data types and storage modes for historical table columns to optimize disk encoding. - [Historical Database Configuration](https://doc.3forge.com/enterprise/historical_database/configuration/index.md): Configure historical database storage location, file handles, and schema persistence properties. - [Partitioning Historical Tables](https://doc.3forge.com/enterprise/historical_database/partitioning/index.md): Partition a historical table to enable queries to read only relevant data as volume grows. - [Querying Historical Tables](https://doc.3forge.com/enterprise/historical_database/querying/index.md): Query historical tables with AMI SQL, with rules for joins, indexes, and predicates. - [Optimizing the Historical Database](https://doc.3forge.com/enterprise/historical_database/optimization/index.md): Optimize a historical table to merge small partitions, flush indexes, and re-encode columns for better disk efficiency. - [Archiving Realtime Data](https://doc.3forge.com/enterprise/historical_database/archiving/index.md): Move data from realtime tables into historical tables on a schedule using procedures and timers. - [Historical Database Use Cases](https://doc.3forge.com/enterprise/historical_database/use_cases/index.md): Identify when a historical table is the right store for time-series data in capital markets and operations. - [Troubleshooting the Historical Database](https://doc.3forge.com/enterprise/historical_database/troubleshooting/index.md): Diagnose and fix common errors when creating, loading, and querying historical tables. ## Web - [Web Overview](https://doc.3forge.com/enterprise/web/index.md): The Web tab landing page: build and run Layouts, style and theme them, and chart live data. - [Styles and Themes](https://doc.3forge.com/enterprise/web/styles/index.md): Style and theme 3forge Enterprise dashboards with StyleSets, shipped styles, and the Style Manager. - [Embedding with iframes](https://doc.3forge.com/enterprise/web/embedding/index.md): Embed an external website in a 3forge Enterprise application, or a 3forge Enterprise application in another website, with an iframe. ## Web: Charts - [Charts Overview](https://doc.3forge.com/enterprise/charting/index.md): Build bar, line, candlestick, pie and other charts of live data in 3forge Enterprise, from a table, a datamodel, AmiScript, or an agent over MCP. - [Charts Quickstart](https://doc.3forge.com/enterprise/charting/quickstart/index.md): Build a 3forge Enterprise bar chart of total quantity by symbol straight from a Center table, with a live preview, in one wizard. - [Chart Types](https://doc.3forge.com/enterprise/charting/chart_types/index.md): Every 3forge Enterprise chart type and template, from bar and line charts to candlestick, waterfall, Gantt, and Sankey, with the columns each one needs. - [Creating Charts](https://doc.3forge.com/enterprise/charting/creating_charts/index.md): Create a chart in 3forge Enterprise with the visualization gallery: start from a table or a datamodel, map columns to fields, preview it live, and place it. - [Layers](https://doc.3forge.com/enterprise/charting/layers/index.md): Edit what a 3forge Enterprise chart draws: add, reorder, and delete layers, change their fields, write hover text, and choose how each layer is colored. - [Plots and Axes](https://doc.3forge.com/enterprise/charting/plots_and_axes/index.md): Set a 3forge Enterprise chart's axis range, padding, format, and order: sort bars by value, stop the first and last points being cut off, and add plots. - [Legends and Annotations](https://doc.3forge.com/enterprise/charting/legends_and_annotations/index.md): Add a legend, a reference or threshold line, a shaded band, text, or an image to a 3forge Enterprise chart, and keep a long legend short. - [Crosshair](https://doc.3forge.com/enterprise/charting/crosshair/index.md): Show exact values as the pointer moves over a 3forge Enterprise chart with a crosshair that snaps to the nearest point, with axis value chips. - [Colors and Style](https://doc.3forge.com/enterprise/charting/colors_and_style/index.md): Change a 3forge Enterprise chart's colors, palette, title, and style, for one chart or for every chart in a layout, and show the chart's title. - [Charts That Update Live](https://doc.3forge.com/enterprise/charting/real_time/index.md): Make a 3forge Enterprise chart redraw live as rows are inserted, updated, or deleted in a Center table, by subscribing its datamodel to the table. - [Using Charts](https://doc.3forge.com/enterprise/charting/using_charts/index.md): Read and explore a 3forge Enterprise chart someone else built: zoom into part of it, read exact values on hover, and show only some series. - [Charts AmiScript Reference](https://doc.3forge.com/enterprise/charting/amiscript/index.md): Script 3forge Enterprise charts in AmiScript: read and change layers, axes, and plots, export a chart as PNG, sample values, and check what each layer drew. - [Troubleshooting Charts](https://doc.3forge.com/enterprise/charting/troubleshooting/index.md): Fix 3forge Enterprise chart problems: a layer that draws nothing, bars in the wrong order, cut-off points, missing hover text, and wizard and MCP errors. - [Walkthroughs Overview](https://doc.3forge.com/enterprise/charting/use_cases/index.md): Step-by-step walkthroughs for every 3forge Enterprise chart type, each from a small example table you can copy, by the gallery or over MCP. - [Line Chart](https://doc.3forge.com/enterprise/charting/use_cases/cartesian/line/index.md): Build a 3forge Enterprise line chart of a daily closing price from a Center table, in the gallery or over MCP. - [Area Chart](https://doc.3forge.com/enterprise/charting/use_cases/cartesian/area/index.md): Build a 3forge Enterprise area chart that fills the band between each day's high and low, in the gallery or over MCP. - [Bar Chart](https://doc.3forge.com/enterprise/charting/use_cases/cartesian/bar/index.md): Build a 3forge Enterprise bar chart of total quantity by symbol, largest first, in the gallery or over MCP. - [Scatter Plot](https://doc.3forge.com/enterprise/charting/use_cases/cartesian/scatter/index.md): Build a 3forge Enterprise scatter plot of volatility against return for 8 symbols, in the gallery or over MCP. - [Candlestick Chart](https://doc.3forge.com/enterprise/charting/use_cases/cartesian/candlestick/index.md): Build a 3forge Enterprise candlestick (OHLC) chart of daily prices from a Center table, with hover text, in the gallery or over MCP. - [Combo Chart](https://doc.3forge.com/enterprise/charting/use_cases/cartesian/combo/index.md): Build a 3forge Enterprise combo chart with monthly volume as bars and fill rate as a line on its own axis. - [Waterfall Chart](https://doc.3forge.com/enterprise/charting/use_cases/cartesian/waterfall/index.md): Build a 3forge Enterprise waterfall chart that bridges an opening balance to a closing one, step by step, such as a day's profit and loss. - [Bullet Chart](https://doc.3forge.com/enterprise/charting/use_cases/cartesian/bullet/index.md): Build a 3forge Enterprise bullet chart of each desk's actual against its target and qualitative ranges. - [Boxplot](https://doc.3forge.com/enterprise/charting/use_cases/cartesian/boxplot/index.md): Build a 3forge Enterprise boxplot of the spread distribution at each venue from precomputed quartiles. - [Stacked Area Chart](https://doc.3forge.com/enterprise/charting/use_cases/cartesian/stacked_area/index.md): Build a 3forge Enterprise stacked area chart of daily volume by desk from precomputed band edges. - [Gantt Chart](https://doc.3forge.com/enterprise/charting/use_cases/cartesian/gantt/index.md): Build a 3forge Enterprise Gantt chart: a timeline of the morning's batch jobs, each a bar from its start to its end. - [Calendar](https://doc.3forge.com/enterprise/charting/use_cases/cartesian/calendar/index.md): Build a 3forge Enterprise calendar heat map of daily profit and loss, one cell per day. - [Bump Chart](https://doc.3forge.com/enterprise/charting/use_cases/cartesian/bump/index.md): Build a 3forge Enterprise bump chart of how desks' weekly rankings changed, best rank on top. - [Pie Chart](https://doc.3forge.com/enterprise/charting/use_cases/radial/pie/index.md): Build a 3forge Enterprise pie chart of each symbol's share of the total quantity, in the gallery or over MCP. - [Radial Bar Chart](https://doc.3forge.com/enterprise/charting/use_cases/radial/radial_bar/index.md): Build a 3forge Enterprise radial bar chart of total quantity by symbol, one wedge per symbol. - [Speedometer](https://doc.3forge.com/enterprise/charting/use_cases/radial/speedometer/index.md): Build a 3forge Enterprise speedometer showing one value, an order gateway's utilization, as a needle. - [Donut Chart](https://doc.3forge.com/enterprise/charting/use_cases/radial/donut/index.md): Build a 3forge Enterprise donut chart of each symbol's share: a ring with slices in proportion, in the gallery or over MCP. - [Stacked Rose](https://doc.3forge.com/enterprise/charting/use_cases/radial/stacked_rose/index.md): Build a 3forge Enterprise stacked rose chart of volume by region, stacked by desk. - [Funnel](https://doc.3forge.com/enterprise/charting/use_cases/flow/funnel/index.md): Build a 3forge Enterprise funnel chart of orders lost between stages, widest stage on top. - [Network Graph](https://doc.3forge.com/enterprise/charting/use_cases/flow/network_graph/index.md): Build a 3forge Enterprise network graph of components joined to their parents, from precomputed positions. - [Org Chart](https://doc.3forge.com/enterprise/charting/use_cases/flow/tree_org/index.md): Build a 3forge Enterprise org chart of boxes and connectors from rows that each describe one box or one line. - [Sankey](https://doc.3forge.com/enterprise/charting/use_cases/flow/sankey/index.md): Build a 3forge Enterprise Sankey diagram of order flow from client types to venues, from a nodes table and a links table. ## Relay (data ingestion) - [Relay Overview](https://doc.3forge.com/enterprise/relay/index.md): The Relay is the data ingestion component of 3forge Enterprise: how realtime feeds, applications, and files get data into the Center. - [Feed Handlers](https://doc.3forge.com/enterprise/relay/feed_handlers/index.md): Ingest data from external realtime sources with Relay feed handlers, configured in the watched relay.feedhandlers file. - [Relay Transforms](https://doc.3forge.com/enterprise/relay/relay_transforms/index.md): Transform data during ingestion: Relay Transforms modify, translate, and enrich feed handler payloads before a message reaches the Center. - [Realtime Messages](https://doc.3forge.com/enterprise/relay/realtime_messages/index.md): The pipe-delimited realtime message protocol that feed handlers and client libraries use to ingest data through a Relay. - [Relay Replay](https://doc.3forge.com/enterprise/relay/replay/index.md): Re-ingest past realtime messages on a Relay from its AmiMessages.log file, for auditing and rebuilding state. - [Loading Files](https://doc.3forge.com/enterprise/data/loadfile/index.md): Ingest tabular data from a file directly into a Center table using the Relay's LoadFile command. ## Connect - [Connecting to 3forge Enterprise](https://doc.3forge.com/enterprise/data/index.md): Pick the route that connects an application, BI tool, or agent to 3forge Enterprise, and where to read about it. ## Connect: Gateway - [Gateway Overview](https://doc.3forge.com/enterprise/gateway/index.md): Federated query access across many 3forge Centers through one governed endpoint, with mutual TLS, hot-reloadable routing, and server-filtered streaming. - [Gateway Quickstart](https://doc.3forge.com/enterprise/gateway/quickstart/index.md): Add a 3forge Gateway to a running instance, confirm its routes file, and make a first connection over the native and JDBC listeners. - [Gateway Configuration](https://doc.3forge.com/enterprise/gateway/configuration/index.md): Reference for every 3forge Gateway configuration property, grouped by listener, security, routing, logging, and identifier allocation. - [Gateway Routing](https://doc.3forge.com/enterprise/gateway/routing/index.md): Define and maintain the 3forge Gateway routes file, understand selective hot-reload, and manage routes with the Gateway console commands. - [Gateway Security](https://doc.3forge.com/enterprise/gateway/security/index.md): How the 3forge Gateway secures its listeners with mandatory mutual TLS, an authorized-clients list, authentication, and entitlement filtering. - [JDBC Access](https://doc.3forge.com/enterprise/gateway/jdbc/index.md): Connect SQL and BI tools such as Tableau and Power BI to 3forge through the Gateway JDBC listener using the JDBC driver. - [Gateway Streaming](https://doc.3forge.com/enterprise/gateway/streaming/index.md): Stream live, server-filtered data through the 3forge Gateway: choose specific columns and a WHERE clause evaluated at the Center. ## Connect: Data APIs - [Data APIs Overview](https://doc.3forge.com/enterprise/data_apis/index.md): Query and write 3forge Enterprise Center tables from any external system over REST, or subscribe to live row changes over WebSocket. - [Data APIs Quickstart](https://doc.3forge.com/enterprise/data_apis/quickstart/index.md): Enable and use both Data APIs in one round trip: insert a row over REST and stream it over WebSocket. - [Data API Concepts](https://doc.3forge.com/enterprise/data_apis/concepts/index.md): Understand the two Data APIs: REST for request/response queries and WebSocket for live streaming subscriptions. - [Data API Configuration](https://doc.3forge.com/enterprise/data_apis/configuration/index.md): Configure the Data APIs with process-level properties: REST query and streaming endpoints, compression, and authentication. - [REST API](https://doc.3forge.com/enterprise/data_apis/rest_api/index.md): The 3forge Enterprise REST endpoints under /3forge_rest, including running SQL over HTTP, response formats, authentication, and what REST does not support. - [WebSocket API](https://doc.3forge.com/enterprise/data_apis/websocket_api/index.md): Subscribe to live Center tables over WebSocket: receive snapshots and stream row changes as JSON. - [Troubleshooting the Data APIs](https://doc.3forge.com/enterprise/data_apis/troubleshooting/index.md): Troubleshoot common Data API issues: disabled surfaces, syntax errors, and authentication problems. - [Query a Table to JSON](https://doc.3forge.com/enterprise/data_apis/use_case_rest_query/index.md): Pull a 3forge Enterprise Center table into JSON or a pandas DataFrame over REST, from curl or Python. - [Insert Rows and Call a Procedure](https://doc.3forge.com/enterprise/data_apis/use_case_rest_write/index.md): Insert and upsert rows into a 3forge Enterprise Center table over REST, then call a server-side procedure and read its return value. - [Limit-Breach Alerts](https://doc.3forge.com/enterprise/data_apis/use_case_ws_alerts/index.md): Subscribe to realtime limit-breach alerts: see rows the instant they breach and disappear when clear. - [Filtered Live View](https://doc.3forge.com/enterprise/data_apis/use_case_ws_filtered/index.md): Stream a live filtered view over WebSocket: show only current orders and drop completed ones automatically. - [Live Quote Ticker](https://doc.3forge.com/enterprise/data_apis/use_case_ws_ticker/index.md): Build a live quote ticker in the browser using WebSocket subscriptions: updates in place as market data changes. ## Connect: Client Libraries - [Client Libraries Overview](https://doc.3forge.com/enterprise/clients/index.md): Connect a Python, C++ or Java program to 3forge Enterprise, run SQL, subscribe to live row changes, and publish data over the client libraries. - [Client Libraries Quickstart](https://doc.3forge.com/enterprise/clients/quickstart/index.md): Connect to 3forge Enterprise from Python or C++, run a SQL query, and watch a live table subscription, a first end-to-end round trip. - [Client Library Concepts](https://doc.3forge.com/enterprise/clients/concepts/index.md): How the 3forge client libraries work, clusters, the JDBC, Center, and Relay protocols, callbacks, and the type system, in Python and C++. - [Client Library Configuration](https://doc.3forge.com/enterprise/clients/configuration/index.md): Configure a 3forge client connection, ports, authentication, mutual-TLS client certificates, timeouts, sharding, and failover. - [Python Client](https://doc.3forge.com/enterprise/clients/python_client/index.md): Use the 3forge Python client (pyami) to run SQL, subscribe to live data, publish, and bulk-insert, plus DB-API and SQLAlchemy access. - [Jupyter Notebooks](https://doc.3forge.com/enterprise/clients/jupyter/index.md): Using the pyami AMI Client in a Jupyter Notebook: This guide shows how to use `pyami-3forge` interactively in **Jupyter / JupyterLab**, from - [SQLAlchemy Dialect](https://doc.3forge.com/enterprise/clients/sqlalchemy/index.md): Using the SQLAlchemy `pyami-3forge` Dialect: `pyami.db.sqlalchemy_ami` is a **SQLAlchemy dialect** for 3forge Enterprise. It lets you drive an - [C++ Client](https://doc.3forge.com/enterprise/clients/cpp_client/index.md): Use the 3forge C++ client (ami::Client) to connect over TLS, run SQL, subscribe to live row changes, publish objects, and bulk-insert. - [ODBC Driver](https://doc.3forge.com/enterprise/clients/odbc/index.md): The 3forge Enterprise ODBC driver lets any ODBC-aware Windows application query 3forge Enterprise as if it were a relational database. - [Troubleshooting the Client Libraries](https://doc.3forge.com/enterprise/clients/troubleshooting/index.md): Fix common 3forge client errors, TLS BAD_CERTIFICATE, refused logins, empty subscriptions, and blank fields after an update. - [Market Data to a Live Dashboard](https://doc.3forge.com/enterprise/clients/use_case_market_data/index.md): Stream market data into 3forge Enterprise and drive a live dashboard, a Python or C++ feeder inserts rows and a client subscribes to updates. - [Quant Analytics with pandas](https://doc.3forge.com/enterprise/clients/use_case_quant_analytics/index.md): Pull 3forge Enterprise data into pandas for quant research using the Python client's DB-API or SQLAlchemy interface over JDBC. - [Realtime Risk and P&L](https://doc.3forge.com/enterprise/clients/use_case_risk_pnl/index.md): Build a realtime risk and P&L loop on 3forge, subscribe to trades, recompute per update, and write results back for other clients to watch. ## Connect: Excel RTD - [Excel RTD Overview](https://doc.3forge.com/enterprise/excel/index.md): Stream live 3forge Enterprise Center data into Excel cells with the Excel RTD Server, updating in place over the =RTD function without polling. - [Excel RTD Quickstart](https://doc.3forge.com/enterprise/excel/quickstart/index.md): Get a live 3forge Center value updating in an Excel cell, from installing the RTD Server through authorizing the client and confirming the first value. - [Excel RTD Server Reference](https://doc.3forge.com/enterprise/excel/excel_rtd/index.md): Install and configure the 3forge Excel RTD Server: the ami_rtd_config.json schema, mutual TLS, RTD topics, row identity, and what it does not support. - [Troubleshooting Excel RTD](https://doc.3forge.com/enterprise/excel/troubleshooting/index.md): Diagnose why a 3forge Excel RTD cell stays 0 or stops updating, from client authorization and config to reading ami_rtd.log, for the Excel RTD Server. ## AI - [AI Overview](https://doc.3forge.com/enterprise/ai/index.md): Integrate large language models into 3forge Enterprise for Dashboard operations and queries. - [Ask AI Chatbot](https://doc.3forge.com/enterprise/ai/chatbot/index.md): Use the Ask AI chatbot to work on a Dashboard in plain language, operating it through natural conversation. - [Calling AI from AmiScript](https://doc.3forge.com/enterprise/ai/scripting/index.md): Call AI models from Web AmiScript callbacks using session.promptAi for classification, summarization, and extraction. - [Custom AI Providers](https://doc.3forge.com/enterprise/ai/ai_providers/index.md): Write a Java plugin to reach an internal LLM gateway, locally-hosted model, or custom wire format. - [AI Configuration](https://doc.3forge.com/enterprise/ai/configuration/index.md): Configuration properties for the AI assistant and the MCP server. ## Developer Tools - [Developer Tools Overview](https://doc.3forge.com/enterprise/devtools/index.md): Integrate language intelligence, debugging, and testing tools directly into your editor and CI workflow. - [VS Code Extension](https://doc.3forge.com/enterprise/devtools/vscode/index.md): Install and configure the VS Code extension for AmiScript and AMISQL language intelligence and live debugging. - [Language and Debug Servers](https://doc.3forge.com/enterprise/devtools/language_debug_servers/index.md): Provide language intelligence and debugging protocols to enable full IDE integration with a running AmiCore instance. - [Unit Testing](https://doc.3forge.com/enterprise/devtools/unit_testing/index.md): Run AmiScript unit tests against an isolated Center clone for safe, reproducible testing. - [Center Debugger](https://doc.3forge.com/enterprise/devtools/center_debugger/index.md): Debug server-side AmiScript code (timers, triggers, procedures, methods) using a stop-the-world debugger. - [Code Coverage](https://doc.3forge.com/enterprise/devtools/code_coverage/index.md): Measure line and branch coverage of server-side AmiScript for unit tests and live deployments. ## Security - [Security Overview](https://doc.3forge.com/enterprise/security/index.md): Find what secures a 3forge Enterprise deployment by default, how users log in, and how connections are encrypted. - [Security Defaults](https://doc.3forge.com/enterprise/security/defaults/index.md): Understand the security defaults and initial setup for 3forge Enterprise deployments. - [Server Certificates](https://doc.3forge.com/enterprise/security/server_certificates/index.md): Replace the default self-signed server certificate with your own certificate to enable trusted connections. - [Mutual TLS](https://doc.3forge.com/enterprise/security/mutual_tls/index.md): Configure mandatory mutual TLS authentication for secure external client connections. ## Security: Authentication - [Authentication Overview](https://doc.3forge.com/enterprise/authentication/index.md): Connect 3forge Enterprise to an LDAP directory, a SAML identity provider, or Okta, using the right plugin mechanism for each. - [LDAP](https://doc.3forge.com/enterprise/authentication/ldap/index.md): Configure 3forge Enterprise to authenticate logins against an LDAP directory, including the current property names after a 2026 rename. - [OAuth](https://doc.3forge.com/enterprise/authentication/oauth/index.md): Configure 3forge Enterprise to authenticate logins through an OAuth 2.0 / OpenID Connect provider. - [Okta](https://doc.3forge.com/enterprise/authentication/okta/index.md): Configure 3forge Enterprise to authenticate Web logins through Okta, using the Okta plugin. - [SAML](https://doc.3forge.com/enterprise/authentication/saml/index.md): Configure 3forge Enterprise to authenticate logins through a SAML identity provider. ## Reference - [Reference Overview](https://doc.3forge.com/enterprise/reference/index.md): Find the AmiScript, AMI SQL, and configuration property references, and where equivalent material already lives. ## Reference: AmiScript API - [BigDecimal](https://doc.3forge.com/enterprise/javadoc/classes/BigDecimal/index.md) - [BigInteger](https://doc.3forge.com/enterprise/javadoc/classes/BigInteger/index.md) - [Binary](https://doc.3forge.com/enterprise/javadoc/classes/Binary/index.md) - [BlankPanel](https://doc.3forge.com/enterprise/javadoc/classes/BlankPanel/index.md) - [Boolean](https://doc.3forge.com/enterprise/javadoc/classes/Boolean/index.md) - [Byte](https://doc.3forge.com/enterprise/javadoc/classes/Byte/index.md) - [Calendar](https://doc.3forge.com/enterprise/javadoc/classes/Calendar/index.md) - [Callback](https://doc.3forge.com/enterprise/javadoc/classes/Callback/index.md) - [Character](https://doc.3forge.com/enterprise/javadoc/classes/Character/index.md) - [ChartPanel](https://doc.3forge.com/enterprise/javadoc/classes/ChartPanel/index.md) - [ChartPanelAnnotation](https://doc.3forge.com/enterprise/javadoc/classes/ChartPanelAnnotation/index.md) - [ChartPanelAxis](https://doc.3forge.com/enterprise/javadoc/classes/ChartPanelAxis/index.md) - [ChartPanelCrosshair](https://doc.3forge.com/enterprise/javadoc/classes/ChartPanelCrosshair/index.md) - [ChartPanelLayer](https://doc.3forge.com/enterprise/javadoc/classes/ChartPanelLayer/index.md) - [ChartPanelLegend](https://doc.3forge.com/enterprise/javadoc/classes/ChartPanelLegend/index.md) - [ChartPanelPlot](https://doc.3forge.com/enterprise/javadoc/classes/ChartPanelPlot/index.md) - [ChartPanelRadialLayer](https://doc.3forge.com/enterprise/javadoc/classes/ChartPanelRadialLayer/index.md) - [ChartPanelXYLayer](https://doc.3forge.com/enterprise/javadoc/classes/ChartPanelXYLayer/index.md) - [CodeCoverage](https://doc.3forge.com/enterprise/javadoc/classes/CodeCoverage/index.md) - [Collection](https://doc.3forge.com/enterprise/javadoc/classes/Collection/index.md) - [ColorGradient](https://doc.3forge.com/enterprise/javadoc/classes/ColorGradient/index.md) - [CommandResponse](https://doc.3forge.com/enterprise/javadoc/classes/CommandResponse/index.md) - [Comparable](https://doc.3forge.com/enterprise/javadoc/classes/Comparable/index.md) - [Complex](https://doc.3forge.com/enterprise/javadoc/classes/Complex/index.md) - [Context](https://doc.3forge.com/enterprise/javadoc/classes/Context/index.md) - [DashboardResource](https://doc.3forge.com/enterprise/javadoc/classes/DashboardResource/index.md) - [Datamodel](https://doc.3forge.com/enterprise/javadoc/classes/Datamodel/index.md) - [DatamodelEditor](https://doc.3forge.com/enterprise/javadoc/classes/DatamodelEditor/index.md) - [Date](https://doc.3forge.com/enterprise/javadoc/classes/Date/index.md) - [Debugger](https://doc.3forge.com/enterprise/javadoc/classes/Debugger/index.md) - [DecorateProcessor](https://doc.3forge.com/enterprise/javadoc/classes/DecorateProcessor/index.md) - [DecorateProcessorIndex](https://doc.3forge.com/enterprise/javadoc/classes/DecorateProcessorIndex/index.md) - [DevTools](https://doc.3forge.com/enterprise/javadoc/classes/DevTools/index.md) - [DispatchJob](https://doc.3forge.com/enterprise/javadoc/classes/DispatchJob/index.md) - [DividerPanel](https://doc.3forge.com/enterprise/javadoc/classes/DividerPanel/index.md) - [Double](https://doc.3forge.com/enterprise/javadoc/classes/Double/index.md) - [Error](https://doc.3forge.com/enterprise/javadoc/classes/Error/index.md) - [FileSystem](https://doc.3forge.com/enterprise/javadoc/classes/FileSystem/index.md) - [FilterPanel](https://doc.3forge.com/enterprise/javadoc/classes/FilterPanel/index.md) - [Float](https://doc.3forge.com/enterprise/javadoc/classes/Float/index.md) - [FormButtonField](https://doc.3forge.com/enterprise/javadoc/classes/FormButtonField/index.md) - [FormCheckboxField](https://doc.3forge.com/enterprise/javadoc/classes/FormCheckboxField/index.md) - [FormColorPickerField](https://doc.3forge.com/enterprise/javadoc/classes/FormColorPickerField/index.md) - [FormDateField](https://doc.3forge.com/enterprise/javadoc/classes/FormDateField/index.md) - [FormDateRangeField](https://doc.3forge.com/enterprise/javadoc/classes/FormDateRangeField/index.md) - [FormDateTimeField](https://doc.3forge.com/enterprise/javadoc/classes/FormDateTimeField/index.md) - [FormDivField](https://doc.3forge.com/enterprise/javadoc/classes/FormDivField/index.md) - [FormField](https://doc.3forge.com/enterprise/javadoc/classes/FormField/index.md) - [FormGradientColorPickerField](https://doc.3forge.com/enterprise/javadoc/classes/FormGradientColorPickerField/index.md) - [FormImageField](https://doc.3forge.com/enterprise/javadoc/classes/FormImageField/index.md) - [FormMultiCheckboxField](https://doc.3forge.com/enterprise/javadoc/classes/FormMultiCheckboxField/index.md) - [FormMultiSelectField](https://doc.3forge.com/enterprise/javadoc/classes/FormMultiSelectField/index.md) - [FormPanel](https://doc.3forge.com/enterprise/javadoc/classes/FormPanel/index.md) - [FormPasswordField](https://doc.3forge.com/enterprise/javadoc/classes/FormPasswordField/index.md) - [FormRadioField](https://doc.3forge.com/enterprise/javadoc/classes/FormRadioField/index.md) - [FormRangeSliderField](https://doc.3forge.com/enterprise/javadoc/classes/FormRangeSliderField/index.md) - [FormRelationshipButton](https://doc.3forge.com/enterprise/javadoc/classes/FormRelationshipButton/index.md) - [FormSelectField](https://doc.3forge.com/enterprise/javadoc/classes/FormSelectField/index.md) - [FormSliderField](https://doc.3forge.com/enterprise/javadoc/classes/FormSliderField/index.md) - [FormSwitchField](https://doc.3forge.com/enterprise/javadoc/classes/FormSwitchField/index.md) - [FormTextField](https://doc.3forge.com/enterprise/javadoc/classes/FormTextField/index.md) - [FormTextareaField](https://doc.3forge.com/enterprise/javadoc/classes/FormTextareaField/index.md) - [FormTimeField](https://doc.3forge.com/enterprise/javadoc/classes/FormTimeField/index.md) - [FormTimeRangeField](https://doc.3forge.com/enterprise/javadoc/classes/FormTimeRangeField/index.md) - [FormTitleField](https://doc.3forge.com/enterprise/javadoc/classes/FormTitleField/index.md) - [FormToggleButtonField](https://doc.3forge.com/enterprise/javadoc/classes/FormToggleButtonField/index.md) - [FormUploadField](https://doc.3forge.com/enterprise/javadoc/classes/FormUploadField/index.md) - [Formula](https://doc.3forge.com/enterprise/javadoc/classes/Formula/index.md) - [FormulaSetEditor](https://doc.3forge.com/enterprise/javadoc/classes/FormulaSetEditor/index.md) - [HeatmapPanel](https://doc.3forge.com/enterprise/javadoc/classes/HeatmapPanel/index.md) - [ICalendar](https://doc.3forge.com/enterprise/javadoc/classes/ICalendar/index.md) - [Image](https://doc.3forge.com/enterprise/javadoc/classes/Image/index.md) - [Integer](https://doc.3forge.com/enterprise/javadoc/classes/Integer/index.md) - [Iterable](https://doc.3forge.com/enterprise/javadoc/classes/Iterable/index.md) - [Iterator](https://doc.3forge.com/enterprise/javadoc/classes/Iterator/index.md) - [JsonSettingsEditor](https://doc.3forge.com/enterprise/javadoc/classes/JsonSettingsEditor/index.md) - [KeyEvent](https://doc.3forge.com/enterprise/javadoc/classes/KeyEvent/index.md) - [Layout](https://doc.3forge.com/enterprise/javadoc/classes/Layout/index.md) - [LimitProcessor](https://doc.3forge.com/enterprise/javadoc/classes/LimitProcessor/index.md) - [List](https://doc.3forge.com/enterprise/javadoc/classes/List/index.md) - [Long](https://doc.3forge.com/enterprise/javadoc/classes/Long/index.md) - [Map](https://doc.3forge.com/enterprise/javadoc/classes/Map/index.md) - [MenuItem](https://doc.3forge.com/enterprise/javadoc/classes/MenuItem/index.md) - [MouseEvent](https://doc.3forge.com/enterprise/javadoc/classes/MouseEvent/index.md) - [Number](https://doc.3forge.com/enterprise/javadoc/classes/Number/index.md) - [Object](https://doc.3forge.com/enterprise/javadoc/classes/Object/index.md) - [Panel](https://doc.3forge.com/enterprise/javadoc/classes/Panel/index.md) - [PanelEditor](https://doc.3forge.com/enterprise/javadoc/classes/PanelEditor/index.md) - [Password](https://doc.3forge.com/enterprise/javadoc/classes/Password/index.md) - [Point](https://doc.3forge.com/enterprise/javadoc/classes/Point/index.md) - [Processor](https://doc.3forge.com/enterprise/javadoc/classes/Processor/index.md) - [Rand](https://doc.3forge.com/enterprise/javadoc/classes/Rand/index.md) - [RealtimeAggTablePanel](https://doc.3forge.com/enterprise/javadoc/classes/RealtimeAggTablePanel/index.md) - [RealtimeEvent](https://doc.3forge.com/enterprise/javadoc/classes/RealtimeEvent/index.md) - [RealtimeTablePanel](https://doc.3forge.com/enterprise/javadoc/classes/RealtimeTablePanel/index.md) - [Rectangle](https://doc.3forge.com/enterprise/javadoc/classes/Rectangle/index.md) - [Relationship](https://doc.3forge.com/enterprise/javadoc/classes/Relationship/index.md) - [RelationshipClause](https://doc.3forge.com/enterprise/javadoc/classes/RelationshipClause/index.md) - [Row](https://doc.3forge.com/enterprise/javadoc/classes/Row/index.md) - [RpcRequest](https://doc.3forge.com/enterprise/javadoc/classes/RpcRequest/index.md) - [RpcResponse](https://doc.3forge.com/enterprise/javadoc/classes/RpcResponse/index.md) - [ScrollPanel](https://doc.3forge.com/enterprise/javadoc/classes/ScrollPanel/index.md) - [Session](https://doc.3forge.com/enterprise/javadoc/classes/Session/index.md) - [Set](https://doc.3forge.com/enterprise/javadoc/classes/Set/index.md) - [Short](https://doc.3forge.com/enterprise/javadoc/classes/Short/index.md) - [SsoSession](https://doc.3forge.com/enterprise/javadoc/classes/SsoSession/index.md) - [StaticTablePanel](https://doc.3forge.com/enterprise/javadoc/classes/StaticTablePanel/index.md) - [String](https://doc.3forge.com/enterprise/javadoc/classes/String/index.md) - [StringBuilder](https://doc.3forge.com/enterprise/javadoc/classes/StringBuilder/index.md) - [StyleOptionDefinition](https://doc.3forge.com/enterprise/javadoc/classes/StyleOptionDefinition/index.md) - [StyleSet](https://doc.3forge.com/enterprise/javadoc/classes/StyleSet/index.md) - [SubscribeProcessor](https://doc.3forge.com/enterprise/javadoc/classes/SubscribeProcessor/index.md) - [SurfacePanel](https://doc.3forge.com/enterprise/javadoc/classes/SurfacePanel/index.md) - [SurfacePanelAxis](https://doc.3forge.com/enterprise/javadoc/classes/SurfacePanelAxis/index.md) - [SurfacePanelLayer](https://doc.3forge.com/enterprise/javadoc/classes/SurfacePanelLayer/index.md) - [Tab](https://doc.3forge.com/enterprise/javadoc/classes/Tab/index.md) - [Table](https://doc.3forge.com/enterprise/javadoc/classes/Table/index.md) - [TablePanel](https://doc.3forge.com/enterprise/javadoc/classes/TablePanel/index.md) - [TablePanelColumn](https://doc.3forge.com/enterprise/javadoc/classes/TablePanelColumn/index.md) - [TablePanelColumnFilter](https://doc.3forge.com/enterprise/javadoc/classes/TablePanelColumnFilter/index.md) - [TablePanelColumnGrouping](https://doc.3forge.com/enterprise/javadoc/classes/TablePanelColumnGrouping/index.md) - [TableSet](https://doc.3forge.com/enterprise/javadoc/classes/TableSet/index.md) - [TabsPanel](https://doc.3forge.com/enterprise/javadoc/classes/TabsPanel/index.md) - [TextEditor](https://doc.3forge.com/enterprise/javadoc/classes/TextEditor/index.md) - [TransposeProcessor](https://doc.3forge.com/enterprise/javadoc/classes/TransposeProcessor/index.md) - [TreePanel](https://doc.3forge.com/enterprise/javadoc/classes/TreePanel/index.md) - [TreePanelColumn](https://doc.3forge.com/enterprise/javadoc/classes/TreePanelColumn/index.md) - [TreePanelColumnGrouping](https://doc.3forge.com/enterprise/javadoc/classes/TreePanelColumnGrouping/index.md) - [TreePanelGrouping](https://doc.3forge.com/enterprise/javadoc/classes/TreePanelGrouping/index.md) - [UTC](https://doc.3forge.com/enterprise/javadoc/classes/UTC/index.md) - [UTCN](https://doc.3forge.com/enterprise/javadoc/classes/UTCN/index.md) - [UUID](https://doc.3forge.com/enterprise/javadoc/classes/UUID/index.md) - [VisualizationEditor](https://doc.3forge.com/enterprise/javadoc/classes/VisualizationEditor/index.md) - [Window](https://doc.3forge.com/enterprise/javadoc/classes/Window/index.md) - [XmlBuilder](https://doc.3forge.com/enterprise/javadoc/classes/XmlBuilder/index.md) - [XmlElement](https://doc.3forge.com/enterprise/javadoc/classes/XmlElement/index.md) - [XmlParser](https://doc.3forge.com/enterprise/javadoc/classes/XmlParser/index.md) - [XmlText](https://doc.3forge.com/enterprise/javadoc/classes/XmlText/index.md) - [ZipBuilder](https://doc.3forge.com/enterprise/javadoc/classes/ZipBuilder/index.md) - [abs(value)](https://doc.3forge.com/enterprise/javadoc/methods/abs(value)/index.md) - [acos(value)](https://doc.3forge.com/enterprise/javadoc/methods/acos(value)/index.md) - [asin(value)](https://doc.3forge.com/enterprise/javadoc/methods/asin(value)/index.md) - [atan(value)](https://doc.3forge.com/enterprise/javadoc/methods/atan(value)/index.md) - [base64Encode(data)](https://doc.3forge.com/enterprise/javadoc/methods/base64Encode(data)/index.md) - [binaryLen(data)](https://doc.3forge.com/enterprise/javadoc/methods/binaryLen(data)/index.md) - [binaryToStr(data)](https://doc.3forge.com/enterprise/javadoc/methods/binaryToStr(data)/index.md) - [binaryToStr16(data)](https://doc.3forge.com/enterprise/javadoc/methods/binaryToStr16(data)/index.md) - [binaryToStr64(data)](https://doc.3forge.com/enterprise/javadoc/methods/binaryToStr64(data)/index.md) - [binaryToStr64Safe(data)](https://doc.3forge.com/enterprise/javadoc/methods/binaryToStr64Safe(data)/index.md) - [bitAnd(a,b)](https://doc.3forge.com/enterprise/javadoc/methods/bitAnd(a,b)/index.md) - [bitOr(a,b)](https://doc.3forge.com/enterprise/javadoc/methods/bitOr(a,b)/index.md) - [bitShiftLeft(n,shiftAmount)](https://doc.3forge.com/enterprise/javadoc/methods/bitShiftLeft(n,shiftAmount)/index.md) - [bitShiftRight(n,shiftAmount)](https://doc.3forge.com/enterprise/javadoc/methods/bitShiftRight(n,shiftAmount)/index.md) - [bitShiftRightUnsigned(n,shiftAmount)](https://doc.3forge.com/enterprise/javadoc/methods/bitShiftRightUnsigned(n,shiftAmount)/index.md) - [bitwiseXor(a,b)](https://doc.3forge.com/enterprise/javadoc/methods/bitwiseXor(a,b)/index.md) - [brighten(color,pctChange)](https://doc.3forge.com/enterprise/javadoc/methods/brighten(color,pctChange)/index.md) - [cksum(first,additional)](https://doc.3forge.com/enterprise/javadoc/methods/cksum(first,additional)/index.md) - [clrGetAlpha(color)](https://doc.3forge.com/enterprise/javadoc/methods/clrGetAlpha(color)/index.md) - [clrGetBlue(color)](https://doc.3forge.com/enterprise/javadoc/methods/clrGetBlue(color)/index.md) - [clrGetGreen(color)](https://doc.3forge.com/enterprise/javadoc/methods/clrGetGreen(color)/index.md) - [clrGetHue(color)](https://doc.3forge.com/enterprise/javadoc/methods/clrGetHue(color)/index.md) - [clrGetLum(color)](https://doc.3forge.com/enterprise/javadoc/methods/clrGetLum(color)/index.md) - [clrGetRed(color)](https://doc.3forge.com/enterprise/javadoc/methods/clrGetRed(color)/index.md) - [clrGetSat(color)](https://doc.3forge.com/enterprise/javadoc/methods/clrGetSat(color)/index.md) - [clrSetHsl(color,hue,saturation,luminance)](https://doc.3forge.com/enterprise/javadoc/methods/clrSetHsl(color,hue,saturation,luminance)/index.md) - [clrSetRgb(color,red,green,blue)](https://doc.3forge.com/enterprise/javadoc/methods/clrSetRgb(color,red,green,blue)/index.md) - [colorCycle(offset)](https://doc.3forge.com/enterprise/javadoc/methods/colorCycle(offset)/index.md) - [contrast(color,background)](https://doc.3forge.com/enterprise/javadoc/methods/contrast(color,background)/index.md) - [cos(radians)](https://doc.3forge.com/enterprise/javadoc/methods/cos(radians)/index.md) - [cycle(offset,choices)](https://doc.3forge.com/enterprise/javadoc/methods/cycle(offset,choices)/index.md) - [datePart(unixEpochMillis,part,timezone)](https://doc.3forge.com/enterprise/javadoc/methods/datePart(unixEpochMillis,part,timezone)/index.md) - [datePartNum(unixEpochMillis,part,timezone)](https://doc.3forge.com/enterprise/javadoc/methods/datePartNum(unixEpochMillis,part,timezone)/index.md) - [decodeDouble64(value)](https://doc.3forge.com/enterprise/javadoc/methods/decodeDouble64(value)/index.md) - [decodeFloat64(value)](https://doc.3forge.com/enterprise/javadoc/methods/decodeFloat64(value)/index.md) - [diffSequence(l,r,lcol,rcol,options)](https://doc.3forge.com/enterprise/javadoc/methods/diffSequence(l,r,lcol,rcol,options)/index.md) - [digamma(x)](https://doc.3forge.com/enterprise/javadoc/methods/digamma(x)/index.md) - [encodeDouble64(value)](https://doc.3forge.com/enterprise/javadoc/methods/encodeDouble64(value)/index.md) - [encodeFloat64(value)](https://doc.3forge.com/enterprise/javadoc/methods/encodeFloat64(value)/index.md) - [eval(expression,variables)](https://doc.3forge.com/enterprise/javadoc/methods/eval(expression,variables)/index.md) - [exp(x)](https://doc.3forge.com/enterprise/javadoc/methods/exp(x)/index.md) - [formatDate(unixEpoch,pattern,timezone)](https://doc.3forge.com/enterprise/javadoc/methods/formatDate(unixEpoch,pattern,timezone)/index.md) - [formatNumber(value,format,options)](https://doc.3forge.com/enterprise/javadoc/methods/formatNumber(value,format,options)/index.md) - [formatNumberCompact(value)](https://doc.3forge.com/enterprise/javadoc/methods/formatNumberCompact(value)/index.md) - [getBestImageType(hexColor)](https://doc.3forge.com/enterprise/javadoc/methods/getBestImageType(hexColor)/index.md) - [getContext()](https://doc.3forge.com/enterprise/javadoc/methods/getContext()/index.md) - [getRawJavaStackTrace()](https://doc.3forge.com/enterprise/javadoc/methods/getRawJavaStackTrace()/index.md) - [gradient(value,value1,color1,value2,color2,moreNumbersAndColors)](https://doc.3forge.com/enterprise/javadoc/methods/gradient(value,value1,color1,value2,color2,moreNumbersAndColors)/index.md) - [isSanitized(expression,vars,methods)](https://doc.3forge.com/enterprise/javadoc/methods/isSanitized(expression,vars,methods)/index.md) - [jsonExtract(json,xpath)](https://doc.3forge.com/enterprise/javadoc/methods/jsonExtract(json,xpath)/index.md) - [ln(value)](https://doc.3forge.com/enterprise/javadoc/methods/ln(value)/index.md) - [lnGamma(x)](https://doc.3forge.com/enterprise/javadoc/methods/lnGamma(x)/index.md) - [log(Value,Base)](https://doc.3forge.com/enterprise/javadoc/methods/log(Value,Base)/index.md) - [logInfo(message)](https://doc.3forge.com/enterprise/javadoc/methods/logInfo(message)/index.md) - [logWarn(message)](https://doc.3forge.com/enterprise/javadoc/methods/logWarn(message)/index.md) - [maximum(o)](https://doc.3forge.com/enterprise/javadoc/methods/maximum(o)/index.md) - [minimum(o)](https://doc.3forge.com/enterprise/javadoc/methods/minimum(o)/index.md) - [noNull(value1,value2,additionalValues)](https://doc.3forge.com/enterprise/javadoc/methods/noNull(value1,value2,additionalValues)/index.md) - [parseCsv(text,firstLineIsHeader)](https://doc.3forge.com/enterprise/javadoc/methods/parseCsv(text,firstLineIsHeader)/index.md) - [parseDate(text,format)](https://doc.3forge.com/enterprise/javadoc/methods/parseDate(text,format)/index.md) - [parseDate(text,format,timezone)](https://doc.3forge.com/enterprise/javadoc/methods/parseDate(text,format,timezone)/index.md) - [parseDateNano(text,format)](https://doc.3forge.com/enterprise/javadoc/methods/parseDateNano(text,format)/index.md) - [parseDateNano(text,format,timezone)](https://doc.3forge.com/enterprise/javadoc/methods/parseDateNano(text,format,timezone)/index.md) - [parseInt(num,radix)](https://doc.3forge.com/enterprise/javadoc/methods/parseInt(num,radix)/index.md) - [parseJson(legalJson)](https://doc.3forge.com/enterprise/javadoc/methods/parseJson(legalJson)/index.md) - [parseListOfMaps(mapsToParse,fields)](https://doc.3forge.com/enterprise/javadoc/methods/parseListOfMaps(mapsToParse,fields)/index.md) - [parseRawXlsx(data)](https://doc.3forge.com/enterprise/javadoc/methods/parseRawXlsx(data)/index.md) - [parseStats(text,tableNames)](https://doc.3forge.com/enterprise/javadoc/methods/parseStats(text,tableNames)/index.md) - [parseXls(data,firstLineIsHeader)](https://doc.3forge.com/enterprise/javadoc/methods/parseXls(data,firstLineIsHeader)/index.md) - [parseXls(data,firstLineIsHeader,tableName)](https://doc.3forge.com/enterprise/javadoc/methods/parseXls(data,firstLineIsHeader,tableName)/index.md) - [parseXls(data,firstLineIsHeader,tableName,classes)](https://doc.3forge.com/enterprise/javadoc/methods/parseXls(data,firstLineIsHeader,tableName,classes)/index.md) - [parseXls(data,firstLineIsHeader,tableName,classes,dimensions)](https://doc.3forge.com/enterprise/javadoc/methods/parseXls(data,firstLineIsHeader,tableName,classes,dimensions)/index.md) - [parseXlsx(data,firstLineIsHeader)](https://doc.3forge.com/enterprise/javadoc/methods/parseXlsx(data,firstLineIsHeader)/index.md) - [parseXlsx(data,firstLineIsHeader,tableName)](https://doc.3forge.com/enterprise/javadoc/methods/parseXlsx(data,firstLineIsHeader,tableName)/index.md) - [parseXlsx(data,firstLineIsHeader,tableName,classes)](https://doc.3forge.com/enterprise/javadoc/methods/parseXlsx(data,firstLineIsHeader,tableName,classes)/index.md) - [parseXlsx(data,firstLineIsHeader,tableName,classes,dimensions)](https://doc.3forge.com/enterprise/javadoc/methods/parseXlsx(data,firstLineIsHeader,tableName,classes,dimensions)/index.md) - [percentChange(old,nuw)](https://doc.3forge.com/enterprise/javadoc/methods/percentChange(old,nuw)/index.md) - [percentDiff(a,b)](https://doc.3forge.com/enterprise/javadoc/methods/percentDiff(a,b)/index.md) - [power(value,exponent)](https://doc.3forge.com/enterprise/javadoc/methods/power(value,exponent)/index.md) - [quote(text)](https://doc.3forge.com/enterprise/javadoc/methods/quote(text)/index.md) - [rand()](https://doc.3forge.com/enterprise/javadoc/methods/rand()/index.md) - [rand(range)](https://doc.3forge.com/enterprise/javadoc/methods/rand(range)/index.md) - [randGaussian()](https://doc.3forge.com/enterprise/javadoc/methods/randGaussian()/index.md) - [randSec()](https://doc.3forge.com/enterprise/javadoc/methods/randSec()/index.md) - [randSec(range)](https://doc.3forge.com/enterprise/javadoc/methods/randSec(range)/index.md) - [randSecGaussian()](https://doc.3forge.com/enterprise/javadoc/methods/randSecGaussian()/index.md) - [round(value)](https://doc.3forge.com/enterprise/javadoc/methods/round(value)/index.md) - [round(value,precision)](https://doc.3forge.com/enterprise/javadoc/methods/round(value,precision)/index.md) - [roundDown(value)](https://doc.3forge.com/enterprise/javadoc/methods/roundDown(value)/index.md) - [roundNearest(value,bucketSize)](https://doc.3forge.com/enterprise/javadoc/methods/roundNearest(value,bucketSize)/index.md) - [roundNearestDown(value,bucketSize)](https://doc.3forge.com/enterprise/javadoc/methods/roundNearestDown(value,bucketSize)/index.md) - [roundNearestUp(value,bucketSize)](https://doc.3forge.com/enterprise/javadoc/methods/roundNearestUp(value,bucketSize)/index.md) - [roundUp(value)](https://doc.3forge.com/enterprise/javadoc/methods/roundUp(value)/index.md) - [scale(value,source1,target1,source2,target2,moreSourcesAndTargets)](https://doc.3forge.com/enterprise/javadoc/methods/scale(value,source1,target1,source2,target2,moreSourcesAndTargets)/index.md) - [signDataMac(data,key,algorithm)](https://doc.3forge.com/enterprise/javadoc/methods/signDataMac(data,key,algorithm)/index.md) - [sin(radians)](https://doc.3forge.com/enterprise/javadoc/methods/sin(radians)/index.md) - [sleepMillis(millisToSleep)](https://doc.3forge.com/enterprise/javadoc/methods/sleepMillis(millisToSleep)/index.md) - [splitLines(text)](https://doc.3forge.com/enterprise/javadoc/methods/splitLines(text)/index.md) - [strAfter(text,toFind,origIfNotFound)](https://doc.3forge.com/enterprise/javadoc/methods/strAfter(text,toFind,origIfNotFound)/index.md) - [strAfterLast(text,toFind,origIfNotFound)](https://doc.3forge.com/enterprise/javadoc/methods/strAfterLast(text,toFind,origIfNotFound)/index.md) - [strBefore(text,toFind,origIfNotFound)](https://doc.3forge.com/enterprise/javadoc/methods/strBefore(text,toFind,origIfNotFound)/index.md) - [strBeforeLast(text,toFind,origIfNotFound)](https://doc.3forge.com/enterprise/javadoc/methods/strBeforeLast(text,toFind,origIfNotFound)/index.md) - [strCharAt(text,pos)](https://doc.3forge.com/enterprise/javadoc/methods/strCharAt(text,pos)/index.md) - [strCut(text,delim,fieldList)](https://doc.3forge.com/enterprise/javadoc/methods/strCut(text,delim,fieldList)/index.md) - [strDecodeBytes(data)](https://doc.3forge.com/enterprise/javadoc/methods/strDecodeBytes(data)/index.md) - [strDecodeBytes(data,encoding)](https://doc.3forge.com/enterprise/javadoc/methods/strDecodeBytes(data,encoding)/index.md) - [strDistanceLev(left,right,ignoreCase)](https://doc.3forge.com/enterprise/javadoc/methods/strDistanceLev(left,right,ignoreCase)/index.md) - [strEncodeBytes(str)](https://doc.3forge.com/enterprise/javadoc/methods/strEncodeBytes(str)/index.md) - [strEncodeBytes(str,encoding)](https://doc.3forge.com/enterprise/javadoc/methods/strEncodeBytes(str,encoding)/index.md) - [strEndsWith(text,toFind,ignoreCase)](https://doc.3forge.com/enterprise/javadoc/methods/strEndsWith(text,toFind,ignoreCase)/index.md) - [strEqualsIgnoreCase(left,right)](https://doc.3forge.com/enterprise/javadoc/methods/strEqualsIgnoreCase(left,right)/index.md) - [strIndexOf(text,toFind)](https://doc.3forge.com/enterprise/javadoc/methods/strIndexOf(text,toFind)/index.md) - [strIndexOf(text,toFind,start,ignoreCase)](https://doc.3forge.com/enterprise/javadoc/methods/strIndexOf(text,toFind,start,ignoreCase)/index.md) - [strIs(text)](https://doc.3forge.com/enterprise/javadoc/methods/strIs(text)/index.md) - [strIsnt(text)](https://doc.3forge.com/enterprise/javadoc/methods/strIsnt(text)/index.md) - [strJoin(delimiter,associator,data)](https://doc.3forge.com/enterprise/javadoc/methods/strJoin(delimiter,associator,data)/index.md) - [strJoin(delimiter,data)](https://doc.3forge.com/enterprise/javadoc/methods/strJoin(delimiter,data)/index.md) - [strLastIndexOf(text,toFind)](https://doc.3forge.com/enterprise/javadoc/methods/strLastIndexOf(text,toFind)/index.md) - [strLastIndexOf(text,toFind,last,ignoreCase)](https://doc.3forge.com/enterprise/javadoc/methods/strLastIndexOf(text,toFind,last,ignoreCase)/index.md) - [strLen(text)](https://doc.3forge.com/enterprise/javadoc/methods/strLen(text)/index.md) - [strLower(text)](https://doc.3forge.com/enterprise/javadoc/methods/strLower(text)/index.md) - [strMatchesFilter(text,pattern)](https://doc.3forge.com/enterprise/javadoc/methods/strMatchesFilter(text,pattern)/index.md) - [strParseLong(text,base)](https://doc.3forge.com/enterprise/javadoc/methods/strParseLong(text,base)/index.md) - [strRepeat(text,count)](https://doc.3forge.com/enterprise/javadoc/methods/strRepeat(text,count)/index.md) - [strReplace(text,find,replace)](https://doc.3forge.com/enterprise/javadoc/methods/strReplace(text,find,replace)/index.md) - [strSplice(text,start,charsToReplace,replacement)](https://doc.3forge.com/enterprise/javadoc/methods/strSplice(text,start,charsToReplace,replacement)/index.md) - [strSplit(text,delim)](https://doc.3forge.com/enterprise/javadoc/methods/strSplit(text,delim)/index.md) - [strSplitLines(text)](https://doc.3forge.com/enterprise/javadoc/methods/strSplitLines(text)/index.md) - [strSplitToMap(text,delim,associatorDelim)](https://doc.3forge.com/enterprise/javadoc/methods/strSplitToMap(text,delim,associatorDelim)/index.md) - [strStartsWith(text,toFind,ignoreCase)](https://doc.3forge.com/enterprise/javadoc/methods/strStartsWith(text,toFind,ignoreCase)/index.md) - [strStrip(text,prefix,suffix)](https://doc.3forge.com/enterprise/javadoc/methods/strStrip(text,prefix,suffix)/index.md) - [strSubstring(text,start,end)](https://doc.3forge.com/enterprise/javadoc/methods/strSubstring(text,start,end)/index.md) - [strToBinary(text,base)](https://doc.3forge.com/enterprise/javadoc/methods/strToBinary(text,base)/index.md) - [strTrim(text)](https://doc.3forge.com/enterprise/javadoc/methods/strTrim(text)/index.md) - [strUpper(text)](https://doc.3forge.com/enterprise/javadoc/methods/strUpper(text)/index.md) - [switch(key,defaultValue,keyValueChoices)](https://doc.3forge.com/enterprise/javadoc/methods/switch(key,defaultValue,keyValueChoices)/index.md) - [systemNano()](https://doc.3forge.com/enterprise/javadoc/methods/systemNano()/index.md) - [tan(radians)](https://doc.3forge.com/enterprise/javadoc/methods/tan(radians)/index.md) - [timestamp()](https://doc.3forge.com/enterprise/javadoc/methods/timestamp()/index.md) - [timestampNano()](https://doc.3forge.com/enterprise/javadoc/methods/timestampNano()/index.md) - [timezoneOffset(unixEpochMillis,timezone)](https://doc.3forge.com/enterprise/javadoc/methods/timezoneOffset(unixEpochMillis,timezone)/index.md) - [toHex(num)](https://doc.3forge.com/enterprise/javadoc/methods/toHex(num)/index.md) - [toJson(mapListOrLiteral,isCompact)](https://doc.3forge.com/enterprise/javadoc/methods/toJson(mapListOrLiteral,isCompact)/index.md) - [urlDecode(url)](https://doc.3forge.com/enterprise/javadoc/methods/urlDecode(url)/index.md) - [urlDecode(url,encoding)](https://doc.3forge.com/enterprise/javadoc/methods/urlDecode(url,encoding)/index.md) - [urlEncode(url)](https://doc.3forge.com/enterprise/javadoc/methods/urlEncode(url)/index.md) - [urlEncode(url,encoding)](https://doc.3forge.com/enterprise/javadoc/methods/urlEncode(url,encoding)/index.md) - [urlPath(url)](https://doc.3forge.com/enterprise/javadoc/methods/urlPath(url)/index.md) - [verifyMac(data,key,algorithm,mac)](https://doc.3forge.com/enterprise/javadoc/methods/verifyMac(data,key,algorithm,mac)/index.md) - [version()](https://doc.3forge.com/enterprise/javadoc/methods/version()/index.md) - [versionDetails()](https://doc.3forge.com/enterprise/javadoc/methods/versionDetails()/index.md) - [versionMap()](https://doc.3forge.com/enterprise/javadoc/methods/versionMap()/index.md) - [avg(value)](https://doc.3forge.com/enterprise/javadoc/aggregate_methods/avg(value)/index.md) - [avgExp(value,decay,desc)](https://doc.3forge.com/enterprise/javadoc/aggregate_methods/avgExp(value,decay,desc)/index.md) - [avgGauss(value,variance)](https://doc.3forge.com/enterprise/javadoc/aggregate_methods/avgGauss(value,variance)/index.md) - [beta(value1,value2)](https://doc.3forge.com/enterprise/javadoc/aggregate_methods/beta(value1,value2)/index.md) - [cat(value,delim,limit)](https://doc.3forge.com/enterprise/javadoc/aggregate_methods/cat(value,delim,limit)/index.md) - [catUnique(value,delim)](https://doc.3forge.com/enterprise/javadoc/aggregate_methods/catUnique(value,delim)/index.md) - [catUniqueAsc(value,delim)](https://doc.3forge.com/enterprise/javadoc/aggregate_methods/catUniqueAsc(value,delim)/index.md) - [catUniqueDes(value,delim)](https://doc.3forge.com/enterprise/javadoc/aggregate_methods/catUniqueDes(value,delim)/index.md) - [catUniqueLimit(value,delim,limit)](https://doc.3forge.com/enterprise/javadoc/aggregate_methods/catUniqueLimit(value,delim,limit)/index.md) - [catUniqueLimitAsc(value,delim,limit)](https://doc.3forge.com/enterprise/javadoc/aggregate_methods/catUniqueLimitAsc(value,delim,limit)/index.md) - [catUniqueLimitDes(value,delim,limit)](https://doc.3forge.com/enterprise/javadoc/aggregate_methods/catUniqueLimitDes(value,delim,limit)/index.md) - [cksumAgg(value)](https://doc.3forge.com/enterprise/javadoc/aggregate_methods/cksumAgg(value)/index.md) - [cor(value1,value2)](https://doc.3forge.com/enterprise/javadoc/aggregate_methods/cor(value1,value2)/index.md) - [count(value)](https://doc.3forge.com/enterprise/javadoc/aggregate_methods/count(value)/index.md) - [countUnique(value)](https://doc.3forge.com/enterprise/javadoc/aggregate_methods/countUnique(value)/index.md) - [covar(value1,value2)](https://doc.3forge.com/enterprise/javadoc/aggregate_methods/covar(value1,value2)/index.md) - [covarS(value1,value2)](https://doc.3forge.com/enterprise/javadoc/aggregate_methods/covarS(value1,value2)/index.md) - [first(value)](https://doc.3forge.com/enterprise/javadoc/aggregate_methods/first(value)/index.md) - [last(value)](https://doc.3forge.com/enterprise/javadoc/aggregate_methods/last(value)/index.md) - [linRegPoly(target,values)](https://doc.3forge.com/enterprise/javadoc/aggregate_methods/linRegPoly(target,values)/index.md) - [linearRegression(value)](https://doc.3forge.com/enterprise/javadoc/aggregate_methods/linearRegression(value)/index.md) - [max(value)](https://doc.3forge.com/enterprise/javadoc/aggregate_methods/max(value)/index.md) - [median(value)](https://doc.3forge.com/enterprise/javadoc/aggregate_methods/median(value)/index.md) - [min(value)](https://doc.3forge.com/enterprise/javadoc/aggregate_methods/min(value)/index.md) - [mode(value)](https://doc.3forge.com/enterprise/javadoc/aggregate_methods/mode(value)/index.md) - [percentileCont(value,percent)](https://doc.3forge.com/enterprise/javadoc/aggregate_methods/percentileCont(value,percent)/index.md) - [percentileDisc(value,percent)](https://doc.3forge.com/enterprise/javadoc/aggregate_methods/percentileDisc(value,percent)/index.md) - [stdev(value)](https://doc.3forge.com/enterprise/javadoc/aggregate_methods/stdev(value)/index.md) - [stdevS(value)](https://doc.3forge.com/enterprise/javadoc/aggregate_methods/stdevS(value)/index.md) - [sum(value)](https://doc.3forge.com/enterprise/javadoc/aggregate_methods/sum(value)/index.md) - [var(value)](https://doc.3forge.com/enterprise/javadoc/aggregate_methods/var(value)/index.md) - [varS(value)](https://doc.3forge.com/enterprise/javadoc/aggregate_methods/varS(value)/index.md) - [count(value)](https://doc.3forge.com/enterprise/javadoc/prepare_methods/count(value)/index.md) - [dnorm(value)](https://doc.3forge.com/enterprise/javadoc/prepare_methods/dnorm(value)/index.md) - [emGmmCluster(nClusters,seed,values)](https://doc.3forge.com/enterprise/javadoc/prepare_methods/emGmmCluster(nClusters,seed,values)/index.md) - [interpolate(x,y,method)](https://doc.3forge.com/enterprise/javadoc/prepare_methods/interpolate(x,y,method)/index.md) - [kmeansCluster(nClusters,seed,values)](https://doc.3forge.com/enterprise/javadoc/prepare_methods/kmeansCluster(nClusters,seed,values)/index.md) - [lastNotNull(value)](https://doc.3forge.com/enterprise/javadoc/prepare_methods/lastNotNull(value)/index.md) - [movingAvg(value,sampleSize,options)](https://doc.3forge.com/enterprise/javadoc/prepare_methods/movingAvg(value,sampleSize,options)/index.md) - [norm(value)](https://doc.3forge.com/enterprise/javadoc/prepare_methods/norm(value)/index.md) - [offset(value,offset)](https://doc.3forge.com/enterprise/javadoc/prepare_methods/offset(value,offset)/index.md) - [rank(value)](https://doc.3forge.com/enterprise/javadoc/prepare_methods/rank(value)/index.md) - [resample(x,y,xq,linearOrSpline)](https://doc.3forge.com/enterprise/javadoc/prepare_methods/resample(x,y,xq,linearOrSpline)/index.md) - [segmentByLocalExtrema(x,y,dx,dataFilterLength,derivedFilterLength)](https://doc.3forge.com/enterprise/javadoc/prepare_methods/segmentByLocalExtrema(x,y,dx,dataFilterLength,derivedFilterLength)/index.md) - [shuffle(value)](https://doc.3forge.com/enterprise/javadoc/prepare_methods/shuffle(value)/index.md) - [stack(value)](https://doc.3forge.com/enterprise/javadoc/prepare_methods/stack(value)/index.md) - [unique(value)](https://doc.3forge.com/enterprise/javadoc/prepare_methods/unique(value)/index.md) - [urank(value)](https://doc.3forge.com/enterprise/javadoc/prepare_methods/urank(value)/index.md) - [viGmmCluster(nClusters,seed,values)](https://doc.3forge.com/enterprise/javadoc/prepare_methods/viGmmCluster(nClusters,seed,values)/index.md)