powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / Версионность отдельных страниц в Apex
10 сообщений из 10, страница 1 из 1
Версионность отдельных страниц в Apex
    #38775819
Mr_Frost
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Коллеги, сталкивались? Как решаете проблему: есть приложение, из нескольких страниц (точнее - десятки страниц).
Работает команда разработчиков. Т.к. в каждый момент времени в разработке находится как минимум одна-две страницы,
устанавливать на сервер заказчика все приложение целиком нельзя. Приходится ставить с помощью Component Export
именно то, что менялось. А иногда возникает необходимость быстро исправить что-то прямо на сервере у заказчика.
И вот тут возникает проблема: нужно обязательно установить эти же изменения на сервер разработки.
Полностью приложение выгрузить и загрузить на сервер тоже нельзя по вышеописанной причине, поэтому нужно
сделать компонентный экспорт-импорт.
Как потом проверить, что версия страницы у заказчика соответствует версии на сервере разработки?
Напрашивается какая-то система версионности не всего приложения, а отдельных страниц, но как это
сделать максимально просто и удобно?
P.S. Предложения типа "запретить разработку на сервере заказчика" не предлагать)
Жизнь вынуждает иногда быстро реагировать и делать что-то у заказчика, хоть это и не есть правильно.
...
Рейтинг: 0 / 0
Версионность отдельных страниц в Apex
    #38775851
Фотография Алексей Выхрыстюк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mr_Frost,

Посмотрите в сторону Apex Compare
https://code.google.com/p/apex-compare-application/
...
Рейтинг: 0 / 0
Версионность отдельных страниц в Apex
    #38776331
Mr_Frost
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Алексей Выхрыстюк, спасибо!
Посмотрел, идея понятна, но вижу две проблемы:
1. Судя по всему, приложения сравниваются только на одном сервере.
Т.е. сначала нужно импортировать к себе, потом сравнивать. При этом
изменится ID приложения. Хорошо ли это, непонятно.
2. Из сравнения непонятно, а в каком собственно приложении изменения
последние, правильные?
Ну и это приложение кем-то написано, значит, не исключены баги в работе.
Но все равно спасибо, поизучаем.
...
Рейтинг: 0 / 0
Версионность отдельных страниц в Apex
    #38776831
Alex-A
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Извините, не удержался. Ржу не могу:
авторНу и это приложение кем-то написано, значит, не исключены баги в работе.
...
Рейтинг: 0 / 0
Версионность отдельных страниц в Apex
    #38776888
Mr_Frost
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Alex-A, может, я неудачно выразился)
Но раз написано Download APEX_COMPARE_4-1-0.zip значит велика вероятность появления
APEX_COMPARE_4-2-0
APEX_COMPARE_4-3-0
и т.д. и в каждой будет перечень fixed bugs :-)
...
Рейтинг: 0 / 0
Версионность отдельных страниц в Apex
    #38777480
Фотография Алексей Выхрыстюк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mr_Frost,

Существует сл. практика разворачивания Apex приложений на продакшен сервере:

1. Все ссылки на приложение у пользователей должны быть не по номеру а по Alias, например:
.....8080/apex/f?p=kassa

2. При импортировании нового релиза, нумерация приложений происходит автоматически (не руками)

3. Старый релиз в Alias помечается как _old (например kassa_old). Если вместо _old использовать номер версии или дату - можно организовать версионность.
...
Рейтинг: 0 / 0
Версионность отдельных страниц в Apex
    #38777970
Фотография suPPLer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mr_FrostТ.к. в каждый момент времени в разработке находится как минимум одна-две страницы, устанавливать на сервер заказчика все приложение целиком нельзя. Не пойму, как из первого следует второе. Между разработкой и заказчиком могут (и должны) стоять:
    Площадка(и) тестирования. Сюда должны уходить и проверяться покомпонентные изменения с площадки(ок) разработки. Площадка(и) аккумулирования изменений. Сюда должны устанавливаться проверенные покомпонентные изменения, здесь они накапливаются в ожидании очередного релиза. Отсюда формируется полный экспорт приложения для установки на площадку заказчика. В сборку вместе с экспортом готового релиза должен входить экспорт предыдущей версии и всё необходимое для возврата объектов БД к предыдущему состоянию, если случится непредвиденное на площадке заказчика. Эталонная рабочая площадка (или несколько). Сюда устанавливается патч с релизом, ушедшим заказчику. По-хорошему, у заказчика должны быть pre-production site для установки и проверки патчей, production site собственно для работы и mirror site для резервирования.
Все или часть этих площадок можно организовать как в разных экземплярах APEX, так и в разных рабочих пространствах одного экземпляра. И при качественной организации доставки изменений от первого пункта к последнему вот это: Mr_Frostиногда возникает необходимость быстро исправить что-то прямо на сервере у заказчика не должно появляться вообще. Mr_FrostЖизнь вынуждает иногда быстро реагировать и делать что-то у заказчика Это не жизнь, это отсутствие методологии. Подобное ведёт к попыткам решения последствий административных и организационных проблем техническими изысками. База заказчика для разработчика вне процесса доставки ПО должна быть доступна только на чтение. Запросы -- пожалуйста. Отладочная информация -- пожалуйста. "Да я здесь только кнопочку поправлю!" -- спасибо, ждём патч, пока что откатываемся на предыдущий релиз или терпим. Mr_FrostКак потом проверить, что версия страницы у заказчика соответствует версии на сервере разработки? Выгрузить обе, прогнать через sed, удаляя строки: начинающиеся с prompt; содержащие "+ wwv_flow_api.g_id_offset", "wwv_flow_api.set_security_group_id", "p_last_upd_yyyymmddhh24miss". Сравнить Вашим любимым средством поиска и отображения различий: diff, vimdiff, meld... Есть различия -- устанавливать в стороне копию приложения и начинать разбираться. Только различие может быть не обязательно в странице. Вы ведь можете срочно поправить что-то в Shared Components. Или вообще в JS-файле, который уже правится другим разработчиком на соответствующем сервере. Mr_FrostНапрашивается какая-то система версионности не всего приложения, а отдельных страниц, но как это сделать максимально просто и удобно? Хранить ревизию в комментариях (Edit ...->Comments), а приложение в VCS -- в виде компонентов. STFW APEXExportSplitter -- идущее вместе с APEX средство для декомпозиции файлов экспорта.
...
Рейтинг: 0 / 0
Версионность отдельных страниц в Apex
    #38778169
Mr_Frost
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
suPPLer, спасибо за развернутый ответ.
Все здорово написали, про площадки тестирования, аккумулирования и проч.
Только все это хорошо работает в компаниях с достаточно большим штатом
сотрудников, поддерживающих всю эту правильную структуру.
А если компания небольшая, растущая, и только начинает строить эту правильную
структуру? Если сейчас и создаются эти площадки тестирования и проч.
Пока они только в процессе создания, обкатываются бизнес-процессы в компании,
повторюсь - жизнь вынуждает в обход всех правил править у заказчика.
Совет про выгрузку обеих страниц и сравнение их - похоже, он меня устроит,
надо подумать, как бы его автоматизировать.
Про то, как отловить различия в shared component и js надо еще подумать.
...
Рейтинг: 0 / 0
Версионность отдельных страниц в Apex
    #38778746
Фотография suPPLer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mr_FrostА если компания небольшая, растущая, и только начинает строить эту правильную
структуру? Если сейчас и создаются эти площадки тестирования и проч.
Небольшая растущая компания рискует стать большим бардаком.

Поток изменений, который я описал, не требует большого штата людей. Всю рутину можно и нужно автоматизировать сразу . Экспорт компонента и создание внутреннего патча, отправка внутреннего патча в каталог, из которого он автоматически устанавливается на определённую площадку тестирования, утверждение изменений и их установка на площадку-накопитель, периодическое автоматическое и ручное создание сборок приложений, их отправка и развёртывание у заказчика -- всё это требует не людей, а автоматизации. Чтобы вручную оставалось запустить тремя словами в консоли сценарий Maven или Ant с нужной целью. А потом в освободившееся время можно и GUI нарисовать.

Компания тратит на организацию процессов несколько человеко-недель, чтобы выиграть в будущем несколько человеко-лет.
...
Рейтинг: 0 / 0
Версионность отдельных страниц в Apex
    #38781446
Mr_Frost
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
suPPLer, учтем-с)
спасибо
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / Версионность отдельных страниц в Apex
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]