Login
Table of Contents
- Overview
- How to Connect
- Login Screen — Input Fields
- Login Procedure
- Automatic Login
- Handling Login Failure
- Logout
- Session Management
- User Roles (ADMIN/API/USER) and Permissions
- Main Screen Layout After Login
- Mobile Access
- Frequently Asked Questions
- Related Screens
Overview
To use the Platform, you must first log in to the management console via a web browser. This document provides a detailed guide on how to connect, all input fields on the login screen, automatic login settings, menu differences by user role, and all elements of the main screen encountered after login.
How to Connect
Enter the following URL into your web browser's address bar.
| Connection Type | URL Format | Description |
|---|---|---|
| Web Access | http://[서버IP]/ (Port 80) | Same address for both users and administrators — visible menus differ based on the role of the logged-in account |
Replace [서버IP] with the server IP or domain provided by the system administrator.
Example:
http://192.168.0.110/orhttps://platform.example.com/
Supported Browsers
| Browser | Recommendation |
|---|---|
| Chrome | Recommended — Most stable |
| Microsoft Edge | Recommended |
| Firefox | Available |
| Safari | Available |
Login Screen — Input Fields
┌──────────────────────────────────────────────┐
│ │
│ [PlantPulse 로고] │
│ │
│ 플랜트펄스 플랫폼 │
│ │
│ [ 아이디 또는 이메일 주소 ] │
│ [ 비밀번호 ] │
│ │
│ ☐ 세션이 유효할 시, 자동 로그인 │
│ │
│ ┌──────────────────────────────┐ │
│ │ 로그인 │ │
│ └──────────────────────────────┘ │
│ │
│ 📱 모바일버전으로 접속 │
│ │
└──────────────────────────────────────────────┘
| Input Item | Field Name | Type | placeholder / Label | Description |
|---|---|---|---|---|
| ID or Email | userId | Text Input | "ID or Email Address" | Issued user ID or email |
| Password | password | Password Input (Masked) | "Password" | Personal password |
| Automatic Login | auto_login | Checkbox (Value true) | "Auto-login if session is valid" | Skip login procedure on next access |
| Login Button | (#bt) | Large Button (form submit) | "Login" | Submit via click or Enter key |
| Mobile Access | (Link) | Text + Mobile Icon | "Access Mobile Version" | Move to /m/ mobile screen |
Login Progress Indicator
When the login button is clicked, the form momentarily disappears and a loading indicator is displayed.
⟳ (회전)
로그인 중...
Once the server response is received, you are automatically redirected to the main screen.
Login Procedure
Step 1 — Enter the issued user ID or email in the ID/Email input field.
Step 2 — Enter the password in the password input field. The input is automatically masked (•••••).
Step 3 (Optional) — If you wish to skip the login procedure on the next access, select the Automatic Login checkbox.
Step 4 — Click the Login button or press Enter on the keyboard.
The default administrator account during initial installation is
admin/admin123!. For security, please change the password immediately after logging in.
Automatic Login
Selecting the Auto-login if session is valid checkbox on the login screen skips the login procedure upon the next access.
Principle of Operation
- Automatic login stores a token in the browser cookie to automatically authenticate the next access.
- It only works as long as the cookie is valid — re-login is required if browser cookies are deleted, incognito mode is used, or a different browser is used.
- Explicitly logging out invalidates the cookie and disables automatic login.
Security Recommendations
- Do not use automatic login on public PCs.
- If used on a public PC, always log out explicitly after use.
- It is recommended to lock the screen or log out when leaving the station.
Handling Login Failure
Only two types of failure messages appear on the screen.
| Message as it appears on screen | When | Action |
|---|---|---|
| Login Failed Please check your ID or password. | Wrong ID · Wrong password · Non-existent account — All three show this same message | Re-enter ID/Password. Check Caps Lock |
Too many login attempts (Retry after N seconds) | Blocked due to accumulated failures in a short time (HTTP 429) | Wait for the indicated seconds and retry |
The same message appears in either case. This is an intentional design — if messages differed, an attacker could determine whether «this ID exists» (account enumeration). Therefore, do not assume 「the ID is correct but the password is wrong」 based on this message.
Blocking Thresholds — Default values, changeable in plantpulse-engine.properties.
| Key | Default | Meaning |
|---|---|---|
engine.session.bruteforce.enabled | true | Use blocking function |
engine.session.bruteforce.ip_limit | 30 | Max failures per IP within the window |
engine.session.bruteforce.user_limit | 10 | Max failures per ID within the window |
engine.session.bruteforce.window.seconds | 300 | Window length (seconds). Also mapped to Retry-After |
Since the counter is in node memory, it is not shared between nodes. If there are N nodes, the effective threshold is limit × N. Shared counters (Redis) are not yet implemented.
Non-Message Scenarios — Situations that manifest as behavior rather than a text message.
| Scenario | What is visible | Action |
|---|---|---|
| Session Expiry | Redirected to login page without message | Log in again |
| Server Unreachable | Browser connection failure screen | Check server IP/Port, check if server is running |
The master copies of the two messages are
login.text.login_error·login.text.login_error_msg·validation.login.too_many_attemptsand are displayed according to the user's language.
Logout
You can log out by opening the User Icon in the top right of the header.
| Method | Location | Action |
|---|---|---|
| User Menu → Logout | Click user icon top-right → Dropdown menu | Displayed in red text along with profile and password change menus |
Logging out also invalidates the automatic login cookie.
Session Management
| Item | Description |
|---|---|
| Session Timeout | Default 30 minutes (changeable via administrator settings) |
| Automatic Logout | Session expires automatically if there is no activity during the timeout period → Redirect to login page |
| Concurrent Login | Multiple browsers can connect simultaneously with the same account |
| Session Renewal | Automatically renewed upon activity (click, page transition, API call) |
| Automatic Login Token | Stored as a separate cookie — if the token is valid even after session expiry, automatic authentication occurs on next access |
User Roles (ADMIN/API/USER) and Permissions
Platform roles are set by the system administrator on the Security Management > User screen. There are three roles:
| Role | Screen Display | Description |
|---|---|---|
| ADMIN | System Administrator | Overall operation, configuration, security, and system management |
| API | API Developer | Account for external system integration. Assigned security policies |
| USER | General User | Inquiry-centric. No permission to change |
The items visible in the left menu vary according to the security policy of the role. Even if a menu is visible, save/delete/control actions are further restricted within the screen — see Permissions and Menu Exposure.
MANAGER is not present in the role selection of the user registration screen, and the storage path only accepts ADMIN, API, and USER. However, MANAGER still exists in the server's access control — execution permissions for Equipment Command and the visibility of write buttons on tag, connection, and alarm screens are written as «ADMIN or MANAGER».
Since POST /api/v5/user does not check the role value, MANAGER can be entered via API. Do not do this. The post-login routing is divided only into ADMIN/API → Dashboard and USER → Shared Screen, so a MANAGER account cannot progress beyond the loading screen after logging in.
If you want to grant limited permissions to a middle manager, use Security Policies instead of roles → Security Management.
Full Menu List
| Group | Submenu |
|---|---|
| Overview | Dashboard, Daily Statistics |
| Connectivity | Protocol, Connection Status, Edge |
| Factory Model | Model, Asset, Tag, Ontology, Metadata, Reference Information |
| Production | Customer, Product, Employee, Work Schedule, Work Order |
| Equipment | Equipment List, Data Inquiry, Timeline Comparison |
| ISO | ISO Data, ISO Analysis |
| Data | Stream, Trend, Snapshot, Data Export, Object (BLOB) |
| Alarm | Alarm, Alarm Search, Advanced Alarm, Alarm Analysis, Alarm Performance |
| Visualization | Canvas |
| Automation | Flow, Flow Execution History, EQL Query, Statement |
| Standard | Namespace, Catalog, OPC-UA, AAS V3 |
| System | User, Security Policy, API Token, Monitoring, Diagnostics, Log, Cluster, HA, Audit, Settings, Environment Information |
If a role change is required, please request it from the system administrator. For detailed role-based permissions, refer to the Security Management page.
Main Screen Layout After Login
After login, a session loading screen (progress bar with a rotating logo) appears briefly, and you enter a different screen based on your role.
| Role | Entry Point |
|---|---|
| ADMIN · API | Dashboard (/map/index) |
| USER | Shared Screen (/share/index) — List of canvases shared via security policy |
Logging in with the USER role opens the Shared Screen first, rather than the console side menu. On a simple screen containing only the logo, title («Shared»), and logout, canvases shared with the user are listed as cards, and the total count is displayed in the header. This screen is for field viewing accounts.
The settings for sharing canvases are located in the sharing settings panel of Canvas and in Security Management.
The following is the guide for the top header and left side menu visible on all pages, based on the ADMIN role.
Latest Console Navigation Document
Following the screen reorganization, the left menu is organized based on the actual server web integrated menu in the order of Overview / Connectivity / Factory Model / Production / Equipment / ISO / Data / Alarm / Visualization / Automation / Standard / System. For the latest menu order, domain search, toast notifications, and common screen patterns, use Console Navigation and Common Screens as the reference document.
┌──────────┬───────────────────────────────────────────────────────────┐
│ [PP로고] │ ☰ [🔍 도메인 검색 ...힌트... CTRL+K] │ ← 상단 헤더 좌측
│ │ [🟢LIVE] [🔔N] [📺] [⚙] [📖] [👤] │ ← 상단 헤더 우측
├──────────┼───────────────────────────────────────────────────────────┤
│ 대시보드 │ │
│ 연결 ▶ │ │
│ 팩토리▶ │ 메인 콘텐츠 영역 │
│ ... │ (선택한 메뉴 화면 표시) │
│ ... │ │
│ ─── │ │
│ CPU [─] │ │
│ MEM [─] │ │
└──────────┴───────────────────────────────────────────────────────────┘
The right toolbar order is LIVE → Alarm → Fullscreen → Preferences → Manual → User (Far Right).
Top Header — Left
The left side of the top header displays three elements: Side Brand Logo + Side Menu Toggle + Domain ID Integrated Search.
| Element | Location | Action |
|---|---|---|
| PlantPulse Logo | Sidebar Header (Far left dark area) | Move to Dashboard (/map/index) upon click |
| Side Menu Toggle (☰ indent icon) | Right of logo | Collapse/Expand left side menu (simultaneously adjusts expanded width) |
| Domain Search Button | Right of toggle (wide) | 🔍 + "Domain Search" + hint text + CTRL+K chip — Open dialog via click or keyboard Ctrl+K (Mac ⌘+K) |
The EQL input window is no longer exposed in the top header. Perform EQL writing in the dedicated screen within the CEP menu.
Domain ID Integrated Search Dialog
This can be called from anywhere using the top search button or the Ctrl+K (Mac ⌘+K) shortcut. The dialog opens with the highest priority, intercepting regardless of the active input field or editor.
Dialog structure (top to bottom):
| Area | Display |
|---|---|
| Header | 🔍 "Domain ID Integrated Search" title + Close(×) |
Search Bar (ds-q) | Single input field — searches regardless of whether the keyword is in ID, Name, or Description |
| Domain Chips (Filter) | Domain filter — Display only a specific domain upon click. Current result count is displayed on each chip |
| Recent Search Row | Chips of recently searched keywords — Re-search using that keyword upon click |
| Result Table | Domain color badge + ID (copy to clipboard on click) + Name + Action button to move to detail screen |
| Footer | Paging + result count display |
Searchable Domains and Colors
| Badge | Domain | Color |
|---|---|---|
| SITE | Site | 🟦 Teal |
| AREA | Area | 🟩 Dark Green |
| LINE | Line | 🟢 Green |
| EQUIPMENT | Equipment (Asset) | 🟢 Light Green |
| TAG | Tag | 🟡 Mustard |
| OPC | OPC Data Source | 🟣 Purple |
| EDGE | Edge Gateway | 🟦 Teal2 |
| ALARM_CONFIG | Alarm Definition | 🔴 Red |
| USER | User | 🔵 Navy |
| EMPLOYEE | Employee | 🟠 Orange |
| SECURITY | Security Policy | 🟣 Purple |
| CUSTOMER | Customer | ⚫ Slate |
| PRODUCT | Product | 🔵 Blue |
| FLOW | Flow | 🟣 Purple |
Using Search Results
- Click ID Cell → Copy ID to clipboard (dialog remains open)
- Detail Screen Action → Move to the specific detail page for the domain (e.g., EDGE →
/edge/view/{id}, EQUIPMENT → Asset Tree) - Click Domain Chip → Filter for that domain exclusively
Top Header — Right Tools
The toolbar icons at the top right are ordered from left to right as follows (clearly organized after the major overhaul).
| No. | Icon | Meaning | Click Action |
|---|---|---|---|
| 1 | 🟢 LIVE (Dot + Text) | Real-time push (WebSocket) connection status — Normal if dot pulses/blinks | Dropdown — 📡 Connection guide + WebSocket address + Current time |
| 2 | 🔔 Alarm Bell + Red Badge | Recent received alarm count (capped at 99+ for 100+ cases) | Dropdown — Recent alarm preview + "Go to Alarm Menu" footer link |
| 3 | 📺 TV (Fullscreen) | Browser fullscreen toggle | Toggles immediately upon click (no dropdown) |
| 4 | ⚙ Settings | Screen preferences | Settings for screen scale, alarm pop-ups, and diagnostic log display |
| 5 | 📖 Book (Manual) | Manual in new window | Move to this GitBook manual (https://kopens.gitbook.io/plantpulse-platform) in a new tab |
| 6 | 👤 User (Far Right) | Logged-in user menu | Dropdown — Large avatar/username + Profile / Change Password / Logout |
💡 Logout in the user menu is always displayed in red text — a visual indicator to prevent accidental logout.
Meaning of the LIVE Dot
| Display | Meaning |
|---|---|
| 🟢 Dot pulses/blinks | WebSocket is normally connected and receiving real-time data |
| 🔘 Dot is gray or static | WebSocket disconnected — Try reconnecting by refreshing |
Clock on dropdown right (current-time) | Server time updated every second — If stopped, it signals a WS disconnection |
Alarm Badge Display Rules
| Count | Display |
|---|---|
| 0 | 0 (small) |
| 1~99 | The corresponding number |
| 100 or more | 99+ — To save screen space |
The alarm dropdown displays the headlines of the last N alarms in reverse chronological order, and the "Go to Alarm Menu" footer link takes you to the full list in the Alarm menu.
Left Side Menu
The left sidebar displays menus based on the user role (see User Roles and Permissions above). For the ADMIN role, they are as follows:
| Icon | Menu | URL | Submenu |
|---|---|---|---|
| 🌐 | Dashboard | /map/index | OVERVIEW |
| 📊 | Daily Statistics | /statistics/index | OVERVIEW |
| 🔌 | Connectivity | (Multiple) | Protocol(/connect/index) · Connection Status(/connect/status) · Edge(/edge/index) |
| 🏭 | Factory | (Multiple) | Model(/model/index) · Asset(/asset/tree/index) · Tag(/tag/index) · Ontology(/ontology/index) · Metadata(/metadata/index) · Reference Info(/basedata/index) |
| ⚙️ | Production | (Multiple) | Customer(/customer/index) · Product(/product/index) · Employee(/employee/index) · Work Schedule(/calendar/index) · Work Order(/order/index) |
| 📺 | Equipment | (Multiple) | Equipment List(/equipment/index) · Data Inquiry(/asset/data/index) · Timeline Comparison(/timeline/index) |
| 📈 | ISO | (Multiple) | ISO Data(/asset/plugin/index) · ISO Analysis(/analysis/index) |
| 🗄️ | Data | (Multiple) | Stream(/stream/index) · Trend(/storage/index) · Snapshot(/snapshot/index) · Data Export(/data/index) · Object (BLOB)(/blob/store) |
| 🔔 | Alarm | (Multiple) | Alarm(/alarm/index) · Alarm Search(/alarm/advsearch/index) · Advanced Alarm(/alarm/config/index) · Alarm Analysis(/alarm/analysis/index) · Alarm Performance(/alarm/performance/index) |
| 🎨 | Visualization | /canvas/index | Canvas |
| 🔀 | Automation | (Multiple) | Flow(/flow/index) · Flow Execution History(/flow/log) · EQL Query(/query/index) · Statement(/statement/index) |
| 🌐 | Standard | (Multiple/External) | Namespace(/uns/tree) · Catalog(/catalog/index) · OPC-UA(:12780) · AAS V3(:8091/ui) |
| ⚙ | System | (Multiple/External) | User(/user/index) · Security Policy(/security/index) · API Token(/token/index) · Monitoring(/monitoring/index) · Diagnostics(/diagnostic/index) · Log(/log/index) · Cluster(/cluster/index) · HA(/ha/index) · Audit(/audit/index) · Settings(/config/index) · Environment Information(/env/view) |
Items with submenus display a ▼ arrow icon. Clicking it expands the menu, and clicking another menu automatically collapses it.
Bottom Left System Performance Box
There is a system performance monitoring box below the left menu.
| Item | Display |
|---|---|
| Header | "System Performance" + Toggle Arrow (Expand/Collapse) |
CPU (cpu-text) | Current CPU usage (%) + 1-minute sparkline (nav-cpu-sparkline, 40px height) |
Memory (memory-text) | Current memory usage + 1-minute sparkline (nav-memory-sparkline, 40px height) |
This box is hidden in fullscreen view mode.
Mobile Access
Accessing the same URL via a mobile browser (smartphone/tablet) will automatically switch to a mobile-optimized screen (/m/), or you can move to it via the 📱 Access Mobile Version link at the bottom of the login screen.
Key Features Provided on Mobile
- Dashboard inquiry
- Real-time alarm check and push notifications
- Data point inquiry
- Work order status check
Please check the specific mobile functions directly on the mobile screen.
Frequently Asked Questions
Q. The screen is frozen white after logging in. A. Check if the browser is connected to the server. If the WS signal icon at the top right is red, the real-time connection is lost. If refreshing (F5) does not restore it, contact the system administrator.
Q. I'm stuck on the «Loading» screen where the logo spins.
A. The role of the account may not be one of ADMIN, API, or USER. Post-login routing only handles these three. If an account was created via API with a value like MANAGER, change the role to one of the three (see User Roles and Permissions above).
Q. I enabled automatic login, but I have to log in every time. A. Automatic login does not work if browser cookies are blocked, incognito mode is used, or multiple browsers are mixed. Please use it with cookies allowed in a single browser.
Q. I forgot my password. A. Request a password reset from the system administrator (ADMIN). Depending on the operating environment, an automatic reset email function may exist, but the standard operation is administrator reset.
Q. Will existing sessions be terminated if I log in from another PC? A. No, they will not. Concurrent logins are allowed. However, depending on the security policy, it may be configured to allow only a single session; please check the security policy in Security Management.
Q. Will I be automatically logged out if I don't use it for a certain period? A. Yes, the session expires after 30 minutes of inactivity by default. If automatic login is on, you will be automatically authenticated on next access; otherwise, you must log in again.
Q. The EQL input window at the top has disappeared.
A. Due to a major UI overhaul, the EQL input window has moved to a dedicated screen within the CEP menu. Instead, a Domain ID Integrated Search button has been added to the top left, which can be called from any screen using Ctrl+K (Mac ⌘+K).
Q. Does the Ctrl+K shortcut work even within an active textbox?
A. Yes, it is designed to intercept with the highest priority. It works as intended even inside EQL editors or code editors. Note that text being typed will not be automatically moved to the dialog's search bar, so please re-enter the keyword you wish to search.
Q. I cannot see our user ID in the domain search. A. The USER domain is searchable, but Security Policies and API Tokens are intentionally excluded from search. Use the USER domain chip filter for general user information, and check security identifiers directly on the Security Management screen.
Q. The alarm count is displayed as 99+.
A. There are 100 or more unprocessed alarms accumulated. Click 🔔 to check recent items in the alarm dropdown or use "Go to Alarm Menu" to review and process the full list.
Q. The LIVE dot looks gray or frozen. A. The real-time push channel is disconnected. Click LIVE top-right and check if the "Current Time" in the dropdown updates every second. If it is stopped, reconnect by refreshing the page (F5). If it remains disconnected, check the server module status on the Diagnostics screen.
Q. What does the domain search (CTRL+K) search for?
A. It performs an integrated search for domain identifiers such as Site ID, Asset ID, Tag ID, and Work Order ID. Clicking a result takes you immediately to the detail screen of that domain.
Q. The number next to the alarm bell icon does not decrease. A. That number is the count of alarms within the last N minutes. It will automatically drop to 0 as the window of time passes. To make it 0 immediately, click the alarm bell, move to the alarm menu, and process the alarms.
Q. The CPU in the system performance box is near 100%. A. If temporary, it may be a normal load. If it persists for more than 5 minutes, contact the system administrator. For more detailed monitoring, check the health rail on the right of the Dashboard and the System monitoring screen.
Q. I want to collapse the left menu. A. Click the ☰ toggle icon at the top left to collapse the menu. Click it again to expand.
Reference Site
If you set a Reference Site in your profile, the search and model screens will open with this site. If not set, it opens with the first site.
The order of sites that open a screen is URL site → Reference Site → First Site. The last selected range is not remembered. Clearing the site empties the reference site. This does not apply to V5 or MCP.
Related Screens
- Console Navigation and Common Screens — Latest menu structure and common screen patterns
- Dashboard — First screen after login
- Security Management — User accounts, roles, and password policies
- CEP — EQL query writing and management
- Diagnostics — System diagnostic logs, such as login failures