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