Створення модулів K2 ERP
sudo snap install pycharm-community --classic
Це потрібно, щоб у пакет актуалізація не потрапляли службові файли, локальні Git-дані, кеші або файли, які не мають бути доставлені на сервер актуалізація.; |- | k2update_push.py | Скрипт завантаження компонент у систему актуалізація.; :contentReference [oaicite:10]{index=10}
Цей токен застосовується під час завантаження компонент у систему актуалізація.; застосовується для опису версії компоненти.; :contentReference [oaicite:11]{index=11}
додатково можна завантажити архів із сайту JetBrains, розпакувати його, перейти в папку bin і запустити:
У файлі: git remote -v
components/k2site| ; sudo apt install snapd
Далі додається віддалений репозиторій.; це бізнес-процес розробки.; В інструкції розробників вказано, що змінюється рядок 5, поле version.; |- |
13 | Завантажити компоненту через python k2update_push.py.; У wiki-статтях для бізнес-користувачів це часто називають модулем K2 ERP забезпечується через У технічній інструкції; додатково реалізовано але для розробника істотно розуміти: компонент у користувацькому сенсі зазвичай реалізується через одну або кілька компонент у коді.; Крок
Варіант 1.; Створення або підключення модуля через auto_updateТакий підхід застосовується, коли потрібно працювати не з усім списком компонент, а з конкретною компонентою.; | У файлі setup.py.; Це основна команда для завантаження нової версії компоненти в систему актуалізація.; settings_example.py SSH-ключі, паролі, токени, адреси внутрішніх репозиторіїв і службові доступи мають зберігатися контрольовано.; |- |
10 | Налаштувати ignore-файл для компоненти.; Для прикладу k2site:
auto_update Після встановлення потрібно налаштувати користувача: eval "$(ssh-agent -s)" Якщо зміни комітяться вручну, спочатку потрібно перевірити статус: Цей ручний сценарій додатково наведений у технічній інструкції розробників.; |- | 4 | Створити каталог нової компоненти в папці components або підключити існуючу компоненту.; sudo apt install git <pre> == Тестування модуля на deb1-deb3 == | |||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | Локально розгорнути робочий проєкт K2 Cloud ERP.; У технічній інструкції вказано такий шлях до каталогу auto_update:
ej2.min.js {{SEO |
11 | Змінити версію в setup.py.; :contentReference [oaicite:8]{index=8}
розробників K2 Cloud ERP застосовують, коли потрібно термін компонента.; Перед завантаженням компоненти потрібно перевірити, що в пакет актуалізація не потрапляють локальні файли, кеші, тестові інформаційні дані, тимчасові конфігурації або приватні ключі.; | компонент або компонента K2 ERP.; |- |
setup.py | - | - | Де описуються зміни?; :contentReference [oaicite:16]{index=16}
<pre> Каталог зі скриптом потрібно скопіювати в корінь проєкту на рівні з виконуваним файлом: <pre> КороткоПотім додати зміни: |
- | 7 | - | python k2update_push.py |
| - | 12 | git commit -m "Назва комміту" або python git_cmd.py commit | |||||||||
Де змінюється реліз?; python git_cmd.py commit
token.txt для сервера актуалізаціяcd auto_update components/k2update Після конфігурація виконується команда: '''Компонента''' — це технічна одиниця з погляду коду, Git-репозиторію, версії та системи актуалізація.; |- | history.txt | характеристика змін у новій версії.;<pre> == Коміт змін модуля через auto_update == <pre> Найчастіша помилка — створити код компоненти, але не підключити її до Git-репозиторію або не додати в список компонент для актуалізація.; додатково у компоненті можуть бути службові каталоги, Python-файли, шаблони, статичні файли, конфігурація, міграції, документація й інші елементи залежно від призначення модуля.;
{| class="wikitable" style="width:100%;"
<pre>
token.txt
<pre> <pre> Під час подальшої роботи зміни з віддаленого репозиторію отримуються командою: k2site.txt [[Категорія:ERP-системи]] Для розробника компонент зазвичай пов’язаний із компонентами в структурі проєкту.; Повний список компонент знаходиться у файлі: testing або beta застосовується для тестової версії.; | python git_cmd.py clone | |||||||||||
На тестових доменах deb1, deb2 і deb3.; У такому разі на сервер актуалізація можуть потрапити зайві службові файли, як ілюстрація __pycache__ або .git.; Питання
Типові помилки під час створення модулівgit commit -m "Назва комміту" Якщо застосовується auto_update, коміт змін виконується автоматизовано.;<pre> python git_cmd.py status [[Категорія:Git]] history.txt Клонування компонент із віддаленого сервера: == Ручний коміт змін модуля == <pre> Після цього компоненти, додані у файлі: додатково вказується тип версії: <pre> components/k2adm [[Категорія:API K2 ERP]] components/k2adm <pre> За потреби можна перемкнутися на іншу локальну гілку: app.py history.txt Для Linux перший запуск: У файлі: ./run.bat Для завантаження нової версії компоненти потрібно виконати кілька дій.;<pre> Ця команда клонує актуальні версії компонент і перейменовує каталоги поточних версій компонент.;<pre> Нова компонента має бути розміщена в каталозі: <pre> <pre> Після створення або зміни компоненти потрібно налаштувати завантаження на сервер актуалізація.; Запуск додатку у Windows: component-list.txt python git_cmd.py clone Окремо варто відзначити підключення, версіонування, тестування і завантаження компонент у систему актуалізація K2 ERP або K2 Cloud ERP виступає ключовою рисою Створення модулів K2 ERP.; Потім додати характеристика змін у файл: cd auto_update git status Компонента має змогу мати власний каталог, власний Git-репозиторій, файл версії, історію змін, список файлів для актуалізація та правила ігнорування службових файлів.; У цей файл додаються файли й папки, які не потрібно завантажувати на сервер актуалізація.; |- |
9 | Додати компоненту в builder/config/component-list.txt.; потрібно додати список компонент, які будуть завантажуватися на сервер актуалізація.; як ілюстрація: :contentReference [oaicite:9]{index=9}
sudo rm /etc/apt/preferences.d/nosnap.pref [[Категорія:K2 ERP Python]] або testing-версія: == Передумови для створення модуля == git add .;<pre> == setup.py компоненти == git fetch origin Перевірка підключеного репозиторію: <pre> version=2.0.4.43 як ілюстрація: <pre> Встановлення Git у Linux: Файл: Після актуалізація потрібно протестувати функціональні можливості.; | git status або python git_cmd.py status | |||||||||
| Як закомітити зміни?; Після копіювання потрібно перейти в каталог:
компонент K2 ERP — це функціональна частина системи, яка додає або розширює функціональні можливості платформи.; Елемент Безпека під час роботи з модулямиversion_type='stable' Потім запускається ssh-agent: builder/config Мінімальний чеклист компонентиВиконати коміт: У Linux PyCharm можна встановити через snap: ./first_run.bat bash run.sh потрібно створити файл із назвою компоненти.; |-
| 8
| Закомітити зміни через auto_update або вручну.; :contentReference [oaicite:3]{index=3}
== Типовий порядок створення нового модуля K2 ERP ==
[[Категорія:GitLab]]
У Windows:
sudo apt install default-jdk
Запуск додатку в Linux: потрібно додати токен доступу до сервера актуалізація.; |- |
6 | - | Як клонувати компоненти через auto_update?; | ||||||||
Що створюється?; Через це складніше зрозуміти, що саме було змінено в новій версії.;
git init <pre> Для Windows: Створюється локальна гілка '''main''' і виконується перемикання на неї: містить токен доступу до сервера актуалізація, з цієї причини його не можна публікувати у відкритому доступі.; Пуш змін на віддалений репозиторій: Приклад: python k2update_push.py <pre> <pre> Ці команди наведені в інструкції як автоматичний спосіб роботи зі змінами компонент через auto_update.; |- | 5 | Підключити віддалений Git-репозиторій вручну або через auto_update.; |- | deb1-deb3 | Тестові домени для перевірки оновленої компоненти.; !; |- | token.txt | Токен доступу до сервера актуалізація.; |} <pre> <pre> .gitignore | |||||||||||
| Каталог у components | - | ignore-файл | Список файлів і папок, які не потрібно завантажувати.; характеристика додається одним рядком.;
Назва компоненти має бути зрозумілою, стабільною і не конфліктувати з існуючими компонентами.; | Через auto_update або вручну через Git.;<pre> Приклад: __TOC__ components/k2site '''stable''' застосовується для стабільної версії.; Відповідь <pre> [[Категорія:Оновлення K2 ERP]] Публічний ключ можна переглянути командою: Після завантаження нової версії компоненти потрібно оновити змінені версії компонент на тестових доменах: pycharm-community <pre> == конфігурація ignore для компоненти == deb2 version_type='testing' cd components/k2site sudo apt update Третя помилка — не додати характеристика змін у history.txt.; |- |
14 | Оновити компоненту на deb1-deb3 і протестувати функціональні можливості.;
app.py
<pre>
git remote add origin http://git.corp2.eu/k2erp/python/k2/base/site/k2site.git
components
== конфігурація завантаження модуля на сервер актуалізація ==
У бізнес-описах зазвичай говорять «компонент».; :contentReference [oaicite:7]{index=7}
[[Категорія:K2 ERP для розробників]]
Для авторизації через SSH створюється ключ:
[[Категорія:Модулі K2 ERP]]
sudo apt update
містить характеристика змін компоненти.; :contentReference [oaicite:14]{index=14}
<pre>
[[Категорія:K2 Cloud Ядро]]
git config --global user.name "Ваше Ім'я"
ssh-add ~/.ssh/id_rsa
.\venv\Scripts\activate
Далі відкривається файл:
<pre>
git checkout -b main
як ілюстрація, користувацький компонент має змогу складатися з кількох компонент, а одна компонента має змогу забезпечувати частину функціональності більшого модуля.; Для роботи зі списком компонент у проєкті застосовується скрипт '''auto_update''', який копіюється в корінь проєкту на рівні з файлом '''app.py'''.; |-
| 3
| Встановити й налаштувати Git.; | У файлі history.txt.; Приклад:
git pull
source venv/bin/activate
.gitignore
<pre>
python git_cmd.py pull
components
builder/config/ignore
Типовий шлях:
git status
== history.txt компоненти ==
components/назва_компоненти Що таке компонент K2 ERPgit push Під час створення модулів K2 ERP потрібно уважно ставитися до доступів, токенів і репозиторіїв.;https://git.corp2.eu/k2erp/python/k2/base/client/auto_update Перевірка змін локальної копії компоненти: Для користувача компонент має змогу виглядати як окремий напрям роботи: CRM, електронний документообіг, складський облік, виробництво, фінансовий блок, актуалізація, сайт, адміністрування або інший функціональний блок.;<pre> 2.0.4.43 - додавання додаткового поля в форму реєстрації !; Компонента має змогу мати окремий каталог у папці: Файл із токеном не можна передавати стороннім особам, публікувати в репозиторії або зберігати в неконтрольованому місці.; !; |} deb1 <pre> token.txt .git Коміт змін: Перед створенням або підключенням нового модуля потрібно мати локально розгорнутий робочий проєкт K2 Cloud ERP.; :contentReference [oaicite:4]{index=4} Див.; додатковоОтримання змін із віддаленого сервера: <pre> як ілюстрація: Варіант 2.; Підключення однієї компоненти вручнукомпонент — це функціональна одиниця з погляду користувача.; Для чого потрібен Запушити зміни на віддалений репозиторій: cd k2 Ключ додається командою: deb3 Спочатку змінити версію у файлі: компонент і компонента: різниця для розробника./pycharm.sh components/k2update Перед завантаженням нової версії компоненти потрібно змінити версію у файлі setup.py у корені каталогу компоненти.; :contentReference [oaicite:12]{index=12} ssh-keygen -t rsa -b 4096 -C "ваша_електронна_пошта@example.com" Для розробки модулів K2 ERP застосовується PyCharm.; |- |
2 | Відкрити проєкт у PyCharm і налаштувати Python Interpreter.; Дія
Цей крок додатково є собою завершальним пунктом інструкції розробників.; Далі перейти в корінь додатку на рівні з виконуваним файлом: Друга помилка — змінити код, але не оновити версію в setup.py.; sudo apt update У папці: Потрібно перейти в каталог: Отримання даних із віддаленого репозиторію без зміни поточної робочої гілки: git checkout master setup.py python git_cmd.py push
Це потрібно для того, щоб було зрозуміло, що саме змінилося в новій версії компоненти.; | У builder/config/component-list.txt.; :contentReference [oaicite:5]{index=5}
Завантаження нової версії модуля в систему актуалізаціяСередовище розробкиhistory.txt <pre> builder/config/component-list.txt Після цього ключ копіюється й додається у віддалений репозиторій.;[[Категорія:Створення модулів K2 ERP]] python git_cmd.py clone Отримання даних із віддаленого репозиторію з автоматичним об’єднанням із поточною локальною гілкою: Якщо виникає помилка запуску, встановлюється JRE/JDK: bash first_run.sh __pycache__ як ілюстрація, для компоненти k2site: git config --global user.email "ваша_електронна_пошта@example.com" Після зміни версії у setup.py потрібно додати характеристика змін у history.txt у корені каталогу компоненти.; :contentReference [oaicite:13]{index=13}
settings.py
Для нової компоненти бажано мати:
[[Категорія:Безпека ERP]]
Файл:
Четверта помилка — не налаштувати ignore-файл.; У його файлі '''settings.py''' додаються потрібні компоненти, а команда '''python git_cmd.py clone''' клонує актуальні версії компонент і перейменовує каталоги поточних версій.; |-
| Як завантажити компоненту?; Згідно з інструкцією розробників, спочатку копіюється існуючий проєкт по FTP, потім у каталозі '''/K2CloudERP''' запускається '''first_run''' для конфігурація параметрів віртуального середовища, після чого у файлі '''/K2CloudERP/cfg/k2/k2/k2cfg.py''' змінюється '''domain_protocol''' з '''https''' на '''http''', а додаток запускається через '''run.sh''' або '''run.bat'''.; |}
{| class="wikitable" style="width:100%;"
* [[K2 ERP]]
* [[K2 Cloud ERP]]
* [[Розгортання K2 Cloud ERP Python для розробників]]
* [[Встановлення K2 ERP]]
* [[K2 ERP для Linux]]
* [[PyCharm]]
* [[Git]]
* [[GitLab]]
* [[Розробка K2 ERP]]
* [[Компоненти K2 ERP]]
* [[Оновлення K2 ERP]]
* [[K2 Cloud Ядро]]
* [[API K2 ERP]]
* [[Права доступу K2 ERP]]
* [[Безпека ERP]]
cat ~/.ssh/id_rsa.pub Далі ініціалізується Git у поточній директорії: Для списку компонент застосовується скрипт: П’ята помилка — не протестувати компоненту на тестових доменах '''deb1-deb3''' після завантаження.; |- | Git-репозиторій | Версіонування, спільна робота й передача змін.; Кожна компонента додається з нового рядка.; | У каталозі components.; В інструкції застосовується команда: git pull origin main Тестування має підтвердити, що компонента функціонує коректно, нові зміни не ламають існуючі сценарії, залежності не конфліктують, а компонент можна готувати до подальшого використання.; :contentReference [oaicite:6]{index=6}
<pre>
<pre>
<pre>
[[Категорія:PyCharm]]
Файл:
setup.py
У словник додаються ключі з потрібними компонентами.; |-
| Де розміщується код?; |-
| component-list.txt
| Список компонент, які завантажуються на сервер актуалізація.; :contentReference [oaicite:15]{index=15}
[[Категорія:K2 Cloud ERP]]
Перевірка статусу:
Для цього відкривається папка:
Ручна активація віртуального середовища в Linux:
завантажуються командою: setup.py |