текст перекладу
Siebel CRM користувачам призначений цей проєкт, який надає інструмент для динамічного аналізу обмежень доступу користувачів (Read-Only - RO правила) та авторизацій кнопок. Зручний інтерфейс дозволяє пришвидшити й спростити ці процеси.
Мета Проєкту
У додатках Siebel CRM правила RO та авторизація доступу до кнопок часто потребують складних запитів і тривалих аналітичних процесів. Цей проєкт дає змогу користувачам швидко та легко перевіряти ці правила та аналізувати їх, що дозволяє заощаджувати час.
Використані Технології
1. Python & Flask Framework
- Серверна частина застосунку розроблена з використанням Flask.
from flask import Flask
app = Flask(__name__)
- Flask був обраний завдяки своїй швидкості розробки та гнучкій архітектурі, що робить його ідеальним Python фреймворком для створення веб-інструментів.
2. Oracle База Даних
- Для підключення до бази даних Oracle, що використовується в додатках Siebel, здійснюється запит для отримання інформації про RO правила та кнопки.
import oracledb
# Шлях до директорії, де встановлений Oracle Instant Client
oracledb.init_oracle_client(lib_dir="C:..")
# Інформація для підключення до Oracle бази даних
dsn = ""
# Ім'я користувача для Oracle бази даних
username = ""
# Пароль до Oracle бази даних
password = ""
3. HTML, CSS та JavaScript
- Розроблений сучасний та зручний інтерфейс користувача.
- Додано динамічне завантаження контенту та можливість зміни теми залежно від вподобань користувача.
4. Oracledb Бібліотека
- Ця бібліотека використовується для підключення до бази даних Oracle та виконання запитів.
Особливості Застосунку
1. Два Різних Режими Запитів
- Запит за Полем (Field): Користувач може ввести ім’я Siebel аплету та ім’я поля на екрані, щоб отримати відповідну інформацію.
# API ендпоінт для отримання значень полів
@app.route("/get_field_value")
def get_field_value():
# Отримуємо ім'я поля з URL
# Приклад: "Account Name"
field_name = request.args.get("field")
# Отримуємо ім'я Business Component з URL
# Приклад: "Account"
bc_adi = request.args.get("bc_name")
- Запит за Кнопкою: Швидке отримання значень CanInvokeMethod для кнопок.
# Опис маршруту для головної сторінки ("/")
# Приймає як GET, так і POST запити
@app.route("/", methods=["GET", "POST"])
def index():
# Якщо сторінка викликана за допомогою POST методу
# (тобто коли форма була надіслана)
if request.method == "POST":
# Отримуємо значення "applet_name" з форми
# Приклад: "Account List Applet"
applet_name = request.form.get("applet_name")
# Отримуємо значення "button_name" з форми
# Це може бути або ім'я кнопки, або ім'я поля
# Приклад: "New" або "Account Name"
search_value = request.form.get("button_name")
# Отримуємо тип пошуку з форми
# Може бути "field" або "button"
# Це визначає, чи буде здійснюватися пошук по полю чи кнопці
search_type = request.form.get("search_type")
2. Візуальне Дерево
- RO правила з Oracle часто містять IIF вирази. Ці вирази аналізуються та візуалізуються у вигляді дерева, що дає користувачам зручний спосіб їх вивчення.
3. Динамічний Запит Значень Полів
- Користувачі можуть натискати на імена полів в інтерфейсі, щоб побачити деталі відповідного поля.
- Також надаються дані про приєднання та таблиці.
4. Підтримка Темної/Світлої Теми
- Користувачі можуть змінювати тему за своїм бажанням, і ці налаштування зберігаються за допомогою LocalStorage.
Архітектура та Робочий Потік
**1.
текст перекладу
Задня частина (Backend)
- Застосунок на Flask передає запит від користувача до бази даних Oracle.
- Результати запиту обробляються та надаються користувачеві у відповідному HTML форматі.
Передня частина (Frontend)
- Динамічний інтерфейс дозволяє користувачам легко переглядати та аналізувати результати запитів.
Комунікація клієнт-сервер
- Комунікація здійснюється через RESTful API.
- Наприклад, коли користувач натискає на деталі поля, відповідна інформація завантажується через AJAX.
Майбутні кроки
Цей проєкт має потенціал стати інструментом, що підвищує продуктивність для розробників та аналітиків, які працюють з додатками Siebel. У майбутньому він може бути розширений за допомогою таких вдосконалень:
- LDAP і авторизація користувачів:
- Додавши авторизацію на рівні користувача, можна посилити контроль доступу.
2. Розширені інструменти аналізу:
- Додаткові метадані Siebel у базі даних можна використовувати для забезпечення більш широких можливостей аналізу.
3. Інтеграція з Chrome Extension:
- Застосунок може бути перетворений на розширення для Chrome, що дозволить пряме інтегрування з екранами Siebel через браузер. Це дозволить користувачам використовувати інструмент без потреби в додатковому інтерфейсі.
Висновок
Цей інструмент надає зручне рішення для перевірки RO контролів та налагодження в системах Siebel CRM. Завдяки таким можливостям, як візуалізація складних IIF виразів та динамічний запит значень полів, значно спрощується робота розробників і аналітиків.
Цей проєкт був розроблений у співпраці з mrdvneltmz .
Перекладено з: Siebel RO Kontrol Aracı: Flask ile Web Tabanlı Uygulama Geliştirme