mcpField
B
bitrix-highloadblock

bitrix-highloadblock

github.com/bxmaximumData & databases47274 installsUpdated 2w ago
Repository

About bitrix-highloadblock

A development reference skill for Bitrix Highload blocks, covering flat ORM tables, UF_* fields, and record operations. It is for developers maintaining Bitrix data models, with guidance on relations, rights, events, migrations, and performance diagnostics.

Key features

  1. 01Manage Highload blocks and UF fields
  2. 02Use data classes for record CRUD
  3. 03Handle relations and directory properties
  4. 04Document ORM events and rights checks
  5. 05Guide batching and performance diagnostics
  6. 06Cover migrations and schema change rules

Use cases

  1. 01Create or modify Highload block fields
  2. 02Import or update Highload block records
  3. 03Troubleshoot relations, rights, or events
  4. 04Diagnose batching and cache performance

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/bxmaximum/bitrix-framework-skills --skill bitrix-highloadblock

After installing, type/bitrix-highloadblockin Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

rules/
components.md
events-rights.md
manage-blocks.md
performance.md
records.md
relations-directory.md

Details

From the project README

Highload blocks

Baseline: main 23.0+ · Verified: highloadblock 25.100.0, main 26.800.0

Flat ORM tables whose columns are user fields (UF_*): no sections, tree or SEO. Need those → bitrix-iblocks; schema owned by code → own tablet (bitrix-orm).

TaskRead
Create/rename/delete blocks, UF fields, storage layout, recompile, migrationsrules/manage-blocks.md
Record CRUD, multiple/file values, errors, idempotent importrules/records.md
hlblock links, _REF/_SINGLE, iblock directory propertyrules/relations-directory.md
ORM events (double dispatch), rights hl_element_*rules/events-rights.md
highloadblock.list / highloadblock.viewrules/components.md
Batching, indexes, cache, SQL tracking, diagnosticsrules/performance.md

Invariants

  • Loader::includeModule('highloadblock') first. Find blocks by stable NAME; numeric IDs differ per environment.
  • HighloadBlockTable::compileEntity($idOrNameOrRow) once per request, then $entity->getDataClass(). It throws SystemException for an unknown block.
  • Write only via the data class (add/update/delete), never raw SQL on the HL table or its multiple-value tables.
  • add()/update() silently drop unknown keys: check codes with $dataClass::getEntity()->hasField().
  • Data-class calls never check rights; check hl_element_* yourself.
  • After UF, NAME or TABLE_NAME changes, continue in a new request.

Comments

Markdown supported