Objects (BLOB Store)
Table of Contents
- Overview
- Screen Layout
- Top — Page Title and Refresh
- Left — BLOB List Panel
- Right — Timeline + Detail Table
- Usage Examples
- FAQ
- Related Screens
Overview
The Objects menu manages unstructured files (images, documents, binaries) stored on the Platform. Equipment photos, inspection result images, drawings (PDF, DXF), vibration/acoustic sensor waveform data, auto-generated reports and more are stored in chronological order, and each file is saved together with metadata such as BLOB ID, site, and description.
BLOB: Short for Binary Large Object. Beyond numeric sensor data, it refers to large files such as photos and documents.
Path: Left menu > Data > Objects (BLOB) (internal URL /blob/store)
Screen Layout
┌──────────────────────────────────────────────────────────────────────┐
│ 🖼 BLOB 스토어 [↻] │ ← ① 상단
├──────────┬───────────────────────────────────────────────────────────┤
│ BLOB │ 🕐 타임라인 [10M][30M][1H][6H][12H][전체] │
│ 목록 │ ─────────────────────────────────────────────────────────│
│ 패널 │ 조회 기간 [날짜범위] [검색] │ ← ② 우측
│ │ ─────────────────────────────────────────────────────────│
│ [추가] │ 타임라인 (시간 흐름) │
│ [검색🔍] │ ─────────────────────────────────────────────────────────│
│ [↻] │ ┌─ BLOB 상세 테이블 ─────────────────────────────┐ │
│ ─────── │ │ BLOB ID | 시간 | 오브젝트ID | 크기 | MIME | 속성 |⬇│ │
│ 사이트 ▼ │ └────────────────────────────────────────────────┘ │
│ 검색바🔍 │ │
│ ─────── │ │
│ 목록 │ │
│ (스크롤) │ │
│ │ │
│ 버켓: - │ │
└──────────┴───────────────────────────────────────────────────────────┘
| Area | Position | Displays |
|---|---|---|
| ① Top | Full width | Page title + refresh button |
| ② Left | col-lg-2 | BLOB list panel (600px scroll) |
| ③ Right | col-lg-10 | Timeline + query form + BLOB detail table |
Top — Page Title and Refresh
| Item | Form | Behavior |
|---|---|---|
| Title | 🖼 "BLOB Store" | — |
Refresh (realtime_icon) | Red button + ↻ | Reloads both the left BLOB list and the right detail view |
Left — BLOB List Panel
The narrow col-lg-2 panel on the left shows registered BLOBs grouped by site.
Toolbar (3 Buttons)
| Button | Icon | Behavior |
|---|---|---|
| Add BLOB | ➕ | Opens the Add BLOB modal (see modal section below) |
| Toggle BLOB search | 🔍 | Expands/collapses the search input inside the panel |
| Refresh list | ↻ | Reloads the BLOB list using the current site filter |
Site Filter Selector
🏭 [ 사이트명 [설명] ▼ ]
| Item | Description |
|---|---|
| Leading icon | 🏭 (industry) — left of the input group |
| Selector ID | blob_site_filter |
| Option format | 사이트명 [설명] (server-rendered) |
| Default selection | On page entry, the site in selected_site_id if present; otherwise the first site |
| On change | Immediately reloads the BLOB list for the selected site (onchange="blobList()") |
If no sites are registered, the selector is empty and the BLOB list is empty as well. Register a site first in Factory Management.
BLOB Search
The 🔍 button in the toolbar opens the search input.
| Item | Description |
|---|---|
| Input ID | blob_text |
| placeholder | "Search BLOB..." |
| Search criterion | Keyword in the BLOB description (description) |
| Confirm | Enter (form submit) or the 🔍 button on the right |
List Area and Footer
| Item | Description |
|---|---|
Loading indicator (blob_loading) | "Loading ..." (spinning icon) |
List area (blob_content_list) | No horizontal scroll; vertical scroll (fixed 600px height) |
| List item unit | Each BLOB is listed as a small card/thumbnail |
| Footer | "Buckets: N" — number of storage buckets for the current site |
Add BLOB Modal
This modal opens via the Add BLOB button at the top.
| Input | Width | Description |
|---|---|---|
Site (modal_site_id) | 200px | Select from registered sites |
BLOB ID (blob_id) | Auto | placeholder: BLOB_00001 (영문 및 숫자, _ 만 입력) — domain-unique ID |
BLOB name (blob_name) | 200px | placeholder: BLOB_NAME_00001 (영문 및 숫자, _ 만 입력) |
Description (blob_desc) | 300px | Human-readable description text |
Modal Action Buttons
| Button | Behavior |
|---|---|
| Cancel (×) | Closes the modal (no save) |
Save (saveBLOB()) | Validates input, then registers the BLOB metadata and uploads the file (file selection happens in the step following the modal) |
The BLOB ID and BLOB name allow only letters, digits, and underscores (
_). Korean characters and spaces cannot be used.
Right — Timeline + Detail Table
Selecting a BLOB or site on the left visualizes the data for that scope on the right.
Timeline Panel
┌────────────────────────────────────────────────────────────────────┐
│ 🕐 타임라인 [10M] [30M] [1H] [6H] [12H] [전체] │
├────────────────────────────────────────────────────────────────────┤
│ 조회 기간 [ 날짜 범위 ] [검색] │
├────────────────────────────────────────────────────────────────────┤
│ │
│ 타임라인 마커들 (각 BLOB 적재 시각이 점으로 표시) │
│ │
└────────────────────────────────────────────────────────────────────┘
| Item | ID | Description |
|---|---|---|
| Header | — | 🕐 "Timeline" + small result summary text on the right (result_txt) |
| Timeline area | control_timeline | Time on the horizontal axis, with BLOB markers placed in chronological order |
Quick Time Ranges (6 Buttons)
| Button | data-range | Behavior |
|---|---|---|
| Last 10 min | 10M | Previous 10 minutes |
| Last 30 min | 30M | Previous 30 minutes |
| Last 1 hour | 1H | Previous 1 hour |
| Last 6 hours | 6H | Previous 6 hours |
| Last 12 hours | 12H | Previous 12 hours |
| All time | ALL | Entire search range (active by default) |
Query Period Form
An inline form sits at the top of the timeline panel body.
| Control | Width | Description |
|---|---|---|
| Query period label | 100px | "Query Period" label |
Period input (search_time) | 280px | Text input (center-aligned, bold) — clicking it opens the date range picker. On form submit it is passed via the hidden fields search_date_from/search_date_to |
| Search | 120px | Blue button + 🔍 — reloads the timeline and table on the right using the period above |
Detail Table (7 Columns)
Below the timeline, BLOBs within the search period are listed chronologically in a table.
| Column | Width | Alignment | Value |
|---|---|---|---|
| BLOB ID | 150px | Center | Domain-unique ID (e.g. BLOB_00012) |
| Time | 180px | Center | Storage timestamp (yyyy-MM-dd HH:mm:ss) |
| Object ID | 300px | Center | Internal path in object storage (object key) |
| File size | 100px | Center | Automatic unit conversion (B / KB / MB) |
| MIME type | 100px | Center | e.g. image/jpeg, application/pdf, text/csv |
| Attributes | Auto | Left | Set of additional metadata key:value pairs |
| Download | 60px | Left | ⬇ icon — click to download the file locally |
Operational Tips by Column
- Use MIME type to identify the file kind at a glance. An unexpected type may indicate an incorrect upload
- Abnormally large File size values can become a source of operational load
- Attributes is where key-value pairs added by Flow during automation are stored (e.g. OCR text from an inspection result image, or the start/end times of a report)
Usage Examples
| Purpose | Description |
|---|---|
| Equipment photo archive | Store equipment exterior, installation, and inspection photos chronologically |
| Inspection result images | Quality inspection cameras store BLOBs automatically |
| Drawing management | Equipment drawings (DXF, PDF), piping diagrams, wiring diagrams |
| Sensor waveform data | Raw waveform data from vibration/acoustic sensors (WAV, CSV) |
| Auto-generated reports | Daily operations reports and shift reports issued automatically, then archived |
| External system outputs | Backup of result files produced by external analysis tools |
If automated storage is required, wire up the external integration nodes in Flow (e.g. receive from an external system via
flow_http_request→ transform → BLOB store action).
FAQ
Q. What is the difference between BLOB ID and BLOB name?
A. The BLOB ID is the domain-unique identifier (referenced by the system as the ID), while the BLOB name is an alias assigned for easy human identification. Both allow only letters, digits, and _.
Q. When are stored BLOBs deleted? A. That depends on a separate retention policy. Permanent retention is the default; if you need an automatic deletion policy, contact your system administrator.
Q. If I change the site filter, do the BLOBs of other sites disappear? A. No. They are simply not displayed on screen; the data is retained. Switching back to the other site displays that site's BLOBs again.
Q. Can I add a new file under the same BLOB ID? A. Storing under the same BLOB ID adds a new version (a separate entry with a different timestamp). The BLOB ID is a domain identifier, while the files themselves accumulate over time.
Q. Korean file names appear garbled when downloading. A. This is due to encoding differences between browsers. Rename the downloaded file manually, or try a different browser.
Q. The chronological ordering of BLOBs looks off.
A. The detail table follows the time ordering of the search period. Narrow the window using the quick time range buttons (10M/30M, etc.).
Q. How do I select a file in the Add BLOB modal? A. The file upload step follows after the metadata is saved. Large files may take time to upload, so wait for the progress indicator to finish.
Q. Can adding BLOBs be automated? A. With Flow, you can automate BLOB storage from external systems. Example: an inspection camera pushes an image over HTTP → Flow assigns metadata → the BLOB is stored.
Related Screens
- Dashboard — BLOB card in operational metrics (today's BLOB count and size)
- Daily Statistics — System BLOB reception trend chart
- Factory Management — Site registration (used by the BLOB site filter)
- Flow — Automatic BLOB storage and automatic output generation
- Data Points — Query numeric time series data