Skip to main content

First Login and Navigation

1. Sign in​

What you will do​

Sign in to the web UI and reach the main screen.

Before you start​

  • You need a user name and a password from the person who installed the tenant.
  • For a new tenant, the first administrator is created by an operator command, not by a screen. The command is app-server bootstrap-admin and it needs three settings: BOOTSTRAP_ADMIN_USERNAME, BOOTSTRAP_ADMIN_EMAIL, BOOTSTRAP_ADMIN_PASSWORD (app-server/src/cli.rs). Four more settings are optional: BOOTSTRAP_ADMIN_LOCALE (default en-US), BOOTSTRAP_ADMIN_DATE_FORMAT (yyyy-MM-dd), BOOTSTRAP_ADMIN_TIMEZONE (UTC), BOOTSTRAP_ADMIN_MODE (light).
  • That command works only when the tenant has zero users. It needs at least one warehouse and the ADMIN role to exist (wms-lib-core/src/model/initial_admin.rs). The new user gets the ADMIN role in the first warehouse and signs in with the password you set.
  • Change the password after the first sign-in. Nothing forces you to do it.

Steps​

  1. Open the web UI address your installer gave you.
  2. In the field Username, type your user name.
  3. In the field Password, type your password. Use the eye button to show or hide it.
  4. Click Sign in.
  5. Optional: use the RU / EN button on the sign-in page to change the language of the sign-in page. Use the moon/sun button to change the theme.
Web sign-in page with the username demo1 filled in
Caption: the sign-in page with the fields Username and Password. Focus: Sign in form on the right: Username, Password and the Sign in button. The teal numbers on the picture mark: 1 Username, 2 Password, 3 Sign in button.

Field reference​

FieldMeaningAllowed valuesExample
UsernameYour login name.Any text. Must match an existing user.demo1
PasswordYour password.At least 8 characters.welcome1

The sign-in form and user administration use the same eight-character minimum. Passwords shorter than eight characters are rejected before any user data is written.

What you should see​

  • The main screen opens with the left sidebar.
  • Your active warehouse is part of your session. The visual position is not documented in the metadata.

If something goes wrong​

MessageMeaningFix
A password length messageThe password field failed the form check.Type a longer password.
Login failed.The server did not accept the credentials.Check the user name and the password.
Login is refused for an RF terminal onlyThe user has RF device login turned off (rf_login = false). The refusal looks the same as a wrong password.Turn on RF device login for the user (see 02-users-roles-permissions.md).
Sign-in returns an error with no detail after a database resetThe session table was wiped.Restart web-ui-server (project note in .claude/CLAUDE.md).

What this affects later​

  • Your session stores your user, your active warehouse and your permissions. Menus and buttons depend on the role you hold in that warehouse.

2. Warehouse and Enterprise mode​

What you will do​

Understand which warehouse you work in, and when you are in Enterprise mode.

Before you start​

  • A user can have several warehouses. Each assignment has a role (see 02-users-roles-permissions.md).
  • The assignment marked Default opens first (is_default).

Steps​

  1. After sign-in, look at the warehouse button in the top bar. It shows the code of the active warehouse.
  2. To change the warehouse, click that button (tooltip Switch warehouse). A pop-up Switch warehouse opens. It has a search field and one row per warehouse (name, code and your role). Click a row. The server route is POST /warehouse/switch. It clears all form and navigation state and reloads the app (web-ui-server/src/routes/warehouse_handler.rs).
  3. To work on users, roles, translations and integration settings, switch to Enterprise. The Enterprise entry exists only for users who hold the ADMIN role in at least one warehouse.

If you hold ADMIN in any warehouse, the first row of the pop-up is Enterprise (tag admin). If you hold no warehouse assignment, the pop-up says No warehouses assigned (web-ui-server/src/components/partials/masthead.rs, application_menu.rs).

What you should see​

  • In a warehouse: the warehouse sidebar (section 3).
  • In Enterprise mode: the enterprise sidebar (section 4). The warehouse code is ENTERPRISE and the warehouse id is 0.

If something goes wrong​

MessageMeaningFix
The Reports page shows a banner instead of reportsIn Enterprise mode the report data sets have no warehouse schema.Switch to a real warehouse (web-ui-server/.../reports_iframe.rs, "enterprise context" case).
You are in Enterprise mode but every screen is deniedYour role in the linked warehouse is not ADMIN.Ask an administrator to give you ADMIN on a warehouse.

What this affects later​

  • Data is stored per warehouse schema. A record made in WH1 is not visible in WH2.
  • Users, roles, event settings and the code lists of the enterprise live above all warehouses.

3. Warehouse sidebar (menu 1, "Sidebar navigation")​

The tree below comes from the table menu_items of the meta-ui database after all migrations. Labels are the English labels. The order follows sort_order. Items with the same sort_order appear in the order the database returns them.

Code
Code List
Hold Codes
Owners
Topology
Locations
Putaway Zones
3D Warehouse
Work Areas
Equipment Profiles
System Settings
Control Center
Board Settings
Metric Thresholds
Packs
Policy
Allocation Policy
Replenishment Policy
Putaway Policy
Cartonization Policy
Lot Policy
Receipt Policy
Pick Short Reasons
Picking Policies
Cycle Count Policies
Handling Unit Registry
Barcode Formats
Inbound
Receipts
SKU
Attributes
Outbound
Orders
Transport Resources
Waves
Dispatches
Load Plans
Loads
Inventory Balances
Balances
Holds
Inventory Adjustments
Inventory Counts
Replenishment
Adjustment Reasons
Transactions
Pending Move-In
Integration
IPaaS
RPC Documentation
Reports
Task Manager
Task Board
Pick Assignments
Pick Target Exceptions
Skip History
Operators

Notes:

  • There are two items named Reports. The one with code report_def_menu is inactive (is_active = false). Only the item with code reports_iframe_menu shows.
  • There is no separate item named Shipping. Use Outbound > Orders > Ship order for a complete order, or Outbound > Loads for whole-Load Goods Issue after loading.
  • Replenishment (after Inventory Counts) lists the replenishments of pick locations. Replenishment Policy opens the urgency settings read by the planner; each pick location's Min and Max still decide when and how much to replenish.
  • Dashboard is a form (dashboard, kind Dashboard). It has no sidebar item in the warehouse tree.

The dashboard form is the home page. It is the default tab of the main work area (tab_containers.default_tab_id = tab dashboard), so it opens right after sign-in. The breadcrumb entry Dashboard brings you back to it and clears the other screens (web-ui-server/src/services/viewport_service.rs, routes/breadcrumb_handler.rs).

Menu pathOpens (form code)Covered in
Code > Code Listcode_list_list_form11-faq.md, 05-inbound-setup.md
Code > Hold Codeshold_code_list_form05-inbound-setup.md
Ownersowner_list_form04-owners-sku-uom-pack-hierarchy.md
Topology > Locationslocation_list_form03-warehouse-structure.md
Topology > Putaway Zonesputawayzone_list_form03-warehouse-structure.md
Topology > 3D Warehousewarehouse_3d (HTML page)03-warehouse-structure.md
Topology > Work Areaswork_area_list_form03-warehouse-structure.md
Topology > Equipment Profilesequipment_profile_list_form03-warehouse-structure.md
System Settingssys_settings_list_form10-checklist-go-live.md
Control Center > Board Settingsdashboard_setting_list_form08-reports-and-dashboards.md
Control Center > Metric Thresholdsdashboard_threshold_list_form08-reports-and-dashboards.md
Packspack_list_form04-owners-sku-uom-pack-hierarchy.md
Policy > Allocation Policyallocation_policy_list_form06-outbound-setup.md
Policy > Putaway Policyputaway_policy_list_form05-inbound-setup.md
Policy > Cartonization Policycartonization_policy_list_form06-outbound-setup.md
Policy > Lot Policylot_policy_list_form04-owners-sku-uom-pack-hierarchy.md
Policy > Receipt Policyreceipt_policy_list_form05-inbound-setup.md
Policy > Pick Short Reasonspick_short_reason_list_form06-outbound-setup.md
Policy > Picking Policiespicking_policy_list_form06-outbound-setup.md
Policy > Cycle Count Policiesinventory_count_policy_list_form03-warehouse-structure.md (short note)
Policy > Handling Unit Registryhandling_unit_registry_type_list_form04-owners-sku-uom-pack-hierarchy.md
Barcode Formatsbarcode_format_list_form07-printing-and-labels.md
Inbound > Receiptsreceipt_list05-inbound-setup.md
SKUsku_list04-owners-sku-uom-pack-hierarchy.md
Attributesattribute_def_list_form04-owners-sku-uom-pack-hierarchy.md
Outbound > Ordersshipment_order_list06-outbound-setup.md
Inventory Balances > ...inventory_balances (tabs), inventory_hold_list, inventory_adjustment_list_form, inventory_count_list_form, inventory_adjust_reason_list_form, txn_log_list_form, pending_move_in_list_form05-inbound-setup.md (holds), 11-faq.md
Integration > IPaaSintegration_platform (HTML page)09-integrations-and-api.md
Integration > RPC Documentationrpc_playground (HTML page)09-integrations-and-api.md
Reportsreports_iframe (HTML page)08-reports-and-dashboards.md
Task Manager > Task Boardtask_board_list_form06-outbound-setup.md
Task Manager > Pick Assignmentspick_assignment_board_list_form06-outbound-setup.md
Task Manager > Pick Target Exceptionspick_target_exception_list_form06-outbound-setup.md
Task Manager > Skip Historytask_skip_board_list_form06-outbound-setup.md
Task Manager > Operatorsoperator_list_form03-warehouse-structure.md

Every form code in this table is traced in the migrations: menu item, then a menu-click event (ui_event), then a tab (tab_items.target_form_id), then the form (form_base.code). Only Task Board, Skip History, Users, Roles, Audit Log, Permission Matrix and Translations also have a direct target_form_id on the menu row. The items added after the first baseline (for example Inventory Counts, Pick Assignments, Handling Unit Registry, Board Settings) are wired the same way in wms-meta-ui migrations 073 to 123. Policy > Handling Unit Registry opens the list of registry types (handling_unit_registry_type_list_form). The shell form handling_unit_registry_shell_form is a different form.

Warehouse sidebar with the menu highlighted in red
Caption: the left sidebar in a warehouse, with the group Topology expanded. Focus: The teal frame (1) marks the sidebar: Code, Topology, Policy and the other groups.

4. Enterprise sidebar (menu 3, "Enterprise Sidebar")​

Dashboard
Configuration
Warehouses (no screen is attached)
Owners (no screen is attached)
Users & Roles
Users
Roles
Audit Log
Permission Matrix
Translations
Handling Unit Types
Integration
Event Registry
Event Monitor
Subscribers
Delivery Log

Notes:

  • Dashboard opens the Enterprise landing page and Warehouses opens warehouse administration. Owners are warehouse-scoped, so the obsolete Enterprise Owners placeholder is inactive; select a warehouse to manage owners.
  • Translations has a seeded menu permission (menu_item resource id 9109). ADMIN can read it. MANAGER and VIEWER are denied. No other menu item has a seeded permission row.
Menu pathForm code
Users & Roles > Usersenterprise_users_shell
Users & Roles > Rolesenterprise_role_detail
Users & Roles > Audit Logenterprise_audit_log
Users & Roles > Permission Matrixenterprise_permission_matrix
Translationstranslations_tabbed
Handling Unit Typeshandling_unit_type_list_form
Integration > Event Registryent_event_registry_list_form
Integration > Event Monitorent_integration_event_list_form
Integration > Subscribersent_integration_subscriber_list_form
Integration > Delivery Logent_event_delivery_list_form
Enterprise mode with the Enterprise sidebar on the left
Caption: the sidebar in Enterprise mode. Focus: The left sidebar: Configuration, Users & Roles and Integration. The page itself is the Users list. The teal number 1 marks the New User button.

5. Common screen types​

Screen typeWhat it looks likeTypical buttons
ListA table with filters, paging (10, 20, 50 or 100 rows) and row selection.New, Delete, Refresh
Card (Normal form)Fields in a form.Save, Delete
Tabbed cardA card with several tabs.Save, Delete
ModalA pop-up with a short form.A confirm button and a cancel button.
WizardA pop-up with steps.Back, Next, Finish

Rules that apply everywhere:

  • A field marked required in the metadata cannot be left empty.
  • A field with a picker (type PopupValuePicker) opens a list. Pick one row.
  • Lists that show "Version" use optimistic locking. If someone else saved first, you get a conflict message: Someone changed this record after you opened it. Look at the current version and make your change again. Refresh and repeat your change.

The generic message for an empty required field is <Field name> is required, for example Code is required. The field name comes from the column name with the first letter in capitals and underscores turned into spaces (web-ui-server/src/extensions/generic/validate_action.rs, resolve_required_message). A form can set its own text per field (<field>_required). The message key validation.required_field ("Field {0} is required") exists only in the archived migrations. The current product does not use it.