mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-08-08 04:30:19 +03:00
feat(web): add web publishing skills (web-publish, web-info, web-stop, web-unpublish)
Phase 1 of web publishing: publish 1C infobases via portable Apache HTTP Server. Closes the feedback loop: edit → load → update → open in browser. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.6
parent
bc9087957f
commit
bc4778d6cc
@@ -0,0 +1,117 @@
|
||||
# Веб-публикация 1С
|
||||
|
||||
Навыки группы `/web-*` позволяют публиковать информационные базы 1С через Apache HTTP Server для доступа из браузера (веб-клиент). Это замыкает цикл разработки: правка исходников → загрузка → обновление БД → **открытие в браузере**.
|
||||
|
||||
## Навыки
|
||||
|
||||
| Навык | Скрипт | Описание |
|
||||
|-------|:------:|----------|
|
||||
| `/web-publish` | `.ps1` | Публикация базы (VRD + httpd.conf + запуск Apache) |
|
||||
| `/web-info` | `.ps1` | Статус Apache и список публикаций |
|
||||
| `/web-stop` | `.ps1` | Остановка Apache |
|
||||
| `/web-unpublish` | `.ps1` | Удаление публикации |
|
||||
|
||||
## Рабочий цикл
|
||||
|
||||
```
|
||||
правки в исходниках → /db-load-xml → /db-update → /web-publish → браузер
|
||||
↑
|
||||
/web-info ← статус |
|
||||
/web-stop ← остановка|
|
||||
/web-unpublish ← удаление
|
||||
```
|
||||
|
||||
### Типичный цикл разработки
|
||||
|
||||
1. **Настройка** — `/db-list add` зарегистрировать базу в `.v8-project.json`
|
||||
2. **Загрузка** — `/db-load-xml` загрузить конфигурацию
|
||||
3. **Обновление** — `/db-update` применить к БД
|
||||
4. **Публикация** — `/web-publish` опубликовать базу (при первом запуске скачает Apache)
|
||||
5. **Проверка** — открыть `http://localhost:8080/{appname}` в браузере
|
||||
6. **Правка** — изменить исходники
|
||||
7. **Синхронизация** — `/db-load-git` + `/db-update`
|
||||
8. **Проверка** — обновить страницу в браузере
|
||||
9. **Завершение** — `/web-stop` остановить Apache
|
||||
|
||||
## Конфигурация `webPath` в `.v8-project.json`
|
||||
|
||||
Поле `webPath` указывает путь к каталогу Apache. Если не задано, используется `tools/apache24` от корня проекта.
|
||||
|
||||
```json
|
||||
{
|
||||
"v8path": "C:\\Program Files\\1cv8\\8.3.24.1691\\bin",
|
||||
"webPath": "C:\\tools\\apache24",
|
||||
"databases": [
|
||||
{
|
||||
"id": "dev",
|
||||
"name": "Разработка",
|
||||
"type": "file",
|
||||
"path": "C:\\Bases\\MyApp_Dev",
|
||||
"user": "Admin"
|
||||
}
|
||||
],
|
||||
"default": "dev"
|
||||
}
|
||||
```
|
||||
|
||||
> `webPath` — опционально. Если не задан, все навыки `/web-*` ищут Apache в `tools/apache24`.
|
||||
|
||||
## Сценарии использования
|
||||
|
||||
### Опубликовать базу
|
||||
|
||||
```
|
||||
> Опубликуй базу bp-demo
|
||||
```
|
||||
|
||||
Claude вызовет `/web-publish bp-demo` → скачает Apache (если нет) → сгенерирует VRD → настроит httpd.conf → запустит Apache → выдаст URL.
|
||||
|
||||
### Проверить статус
|
||||
|
||||
```
|
||||
> Что с веб-сервером?
|
||||
```
|
||||
|
||||
Claude вызовет `/web-info` → покажет состояние Apache, порт, список публикаций, последние ошибки.
|
||||
|
||||
### Опубликовать на другом порту
|
||||
|
||||
```
|
||||
> Опубликуй ERP на порту 9090
|
||||
```
|
||||
|
||||
Claude вызовет `/web-publish erp --port 9090`.
|
||||
|
||||
### Остановить сервер
|
||||
|
||||
```
|
||||
> Останови Apache
|
||||
```
|
||||
|
||||
Claude вызовет `/web-stop`.
|
||||
|
||||
### Удалить публикацию
|
||||
|
||||
```
|
||||
> Убери публикацию bpdemo
|
||||
```
|
||||
|
||||
Claude вызовет `/web-unpublish bpdemo` → удалит блок из httpd.conf → удалит каталог → перезапустит Apache (если есть другие публикации).
|
||||
|
||||
## Ручная установка Apache
|
||||
|
||||
Если автоматическая загрузка невозможна (прокси, firewall), используйте флаг `--manual`:
|
||||
|
||||
```
|
||||
> Опубликуй базу --manual
|
||||
```
|
||||
|
||||
Скрипт выдаст инструкцию:
|
||||
1. Скачайте Apache Lounge (x64 VS17) с https://www.apachelounge.com/download/
|
||||
2. Распакуйте содержимое `Apache24/` в `tools/apache24` (или путь из `webPath`)
|
||||
3. Запустите команду повторно
|
||||
|
||||
## Спецификации
|
||||
|
||||
- [web-spec.md](web-spec.md) — техническая спецификация (VRD, httpd.conf, wsap24.dll, portable Apache)
|
||||
- [build-spec.md](build-spec.md) — пакетный режим конфигуратора 1С
|
||||
Reference in New Issue
Block a user