Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M Новый топик    Ответить
Топик располагается на нескольких страницах: 1 2 3      [все]
 Запуск MAKOVA SMWrap на Intersystems Cache 2015  [new]
MyasnikovIA
Member

Откуда: Новосибирск
Сообщений: 65
Добрый день, коллеги.
Очень понравилось работать с SMWrap MAKOVA на Caché 5.23. Но время не стоит на месте, а в месте с ним и прогресс. Вопрос в следующем, кто-нибудь запускал SMWrap Makova 2.1 на Caché 2015? И если есть успешный опыт, то поделитесь им пожалуйста. Как я понял, все упирается в сервер, на стороне Caché.
     all("%Const.INC")=""
     
all("%ZMRAUTH.INT")=""
     
all("ZMRDEF.INC")=""
     
all("%ZMRASD.OBJ")=""
     
all("%ZMRAUTH.OBJ ")=""
     
all("%ZMREVENT.OBJ ")=""
     
all("%ZMRINS.OBJ ")=""
     
all("%ZMRPMD.OBJ ")=""
     
all("%ZMRSMGR.OBJ ")=""
     
d $system.OBJ.Export(.all,"C:\temp\ProjectMakova.xml")
12 окт 16, 19:17    [19775183]     Ответить | Цитировать Сообщить модератору
 Re: Запуск MAKOVA SMWrap на Intersystems Cache`2015  [new]
AlexKB
Member

Откуда: Запорожье
Сообщений: 795
MyasnikovIA,
SMWrap...бальзам на сердце...
Когда-то Павел Мархотин мне сказал, что прекращают дальнейшее развитие продукта, поскольку не в состоянии угнаться за постоянными изменениями и дополнениями, со стороны Интерсистемс, именно в серверной части продукта.
13 окт 16, 08:11    [19776294]     Ответить | Цитировать Сообщить модератору
 Re: Запуск MAKOVA SMWrap на Intersystems Cache`2015  [new]
Alexey Maslov
Member

Откуда: СПб
Сообщений: 1520
MyasnikovIA,

Не знаток subj, но пример наводит на мысль, что вы пытаетесь выгрузить OBJ из старой версии Cache, по-видимому, чтобы загрузить потом в Cache 2015. Совместимость OBJ между версиями Cache InterSystems не гарантирует, хотя в вашем случае она скорее всего есть. Однако даже при успехе загрузки системные вызовы могли поменяться, особенно если авторами использовались недокументированные фичи.

Исходники SMWrap наверняка сохранились у разработчика, даже если он более его не поддерживает. Имея исходники, думаю, справитесь, или найдёте фрилансера на эту работу.
13 окт 16, 10:07    [19776679]     Ответить | Цитировать Сообщить модератору
 Re: Запуск MAKOVA SMWrap на Intersystems Cache`2015  [new]
MyasnikovIA
Member

Откуда: Новосибирск
Сообщений: 65
AlexKB,

На самом деле я был бы рад если этот проект восстал из пепла. Разными правдами и неправдами я достал исходники на SMWrap (Delphi) и серверную часть. Важно понять, кроме меня это еще кому-то интересно, кто нибудь пытался запустить. Конечно кроме компании “Эскейп” и “Ай Ти Аптека”. Я не работаю в этих компаниях, и как мне известно, у них это не получилось. Сложность в том , что делфи изучал в школе, и давно от него отошел в сторону JAVA. В принципе для моих нужд хватает уже скомпилированной версии SMWrap.
Для запуска на новой Cache я вклинился в нутро серверной части %ZMRASD, и перехватываю входящие и исходящие пакеты (эта самое узкое место).
В этих сообщениях меняю на входе текст (%this на ##this) ну и на выходе , когда MAKOVA задает вопрос ($$GetVersion^%apiOBJ()) в ответ отправляю сообщение :
s var="Cache Objects Version 5.0.6408.0"
Так же столкнулся с проблемой ограничения размера сохраняемого класса, пришлось записывать посимвольно.
В целом допилив 5 костылей все заработало.
Но меня беспокоит вопрос связанный с лицензией на Makova, владелец авторских прав, не обидится на такую инициативу?
И честно говоря, немного не понимаю как такой крутой проект не стал развиваться.
13 окт 16, 10:18    [19776729]     Ответить | Цитировать Сообщить модератору
 Re: Запуск MAKOVA SMWrap на Intersystems Cache`2015  [new]
StasMa
Member

Откуда:
Сообщений: 1
Исходники все есть, я даже както пересобрал серверную часть и кое что поправил в %ZMR* для работы с юникодом. Глобал вьювер работает на 2015 без проблем. Но чтобы запустить SMWrap на 2015 нужно очень много усилий. Последняя его версия работала на Cache 5.2 8bit. С тех пор сильно изменились внутренние механизмы Cache по работе с описаниями классов, компиляции, сборщик мусора и т.п. Поэтому нужно много чего переписывать в дельфовой части (именно она гонит через %ZMR* строки на сервер для исполнения). Уверен, что Жене Каратаеву, как автору SMWrap-а это по силам, но будет ли у него интерес и время для этого?
Еще момент практический. Сейчас все бизнес приложения ушли в браузер, стоит ли реанимировать старую технологию с расположением exe-шников на клиентских компьютерах?
13 окт 16, 10:34    [19776795]     Ответить | Цитировать Сообщить модератору
 Re: Запуск MAKOVA SMWrap на Intersystems Cache`2015  [new]
ну я
Member

Откуда: Stalingrad
Сообщений: 1150
Есть последняя сборка http://www.minimdb.com/download/smwrap3.4.0.6.exe
Проект конечно занятный, но про восстание SMWrap (из пепла) речь не поведу, потому что там очень много чего надо делать по-другому.
13 окт 16, 10:59    [19776880]     Ответить | Цитировать Сообщить модератору
 Re: Запуск MAKOVA SMWrap на Intersystems Cache`2015  [new]
ну я
Member

Откуда: Stalingrad
Сообщений: 1150
StasMa
Еще момент практический. Сейчас все бизнес приложения ушли в браузер, стоит ли реанимировать старую технологию с расположением exe-шников на клиентских компьютерах?

А в мире андроида все бизнес приложения ушли на андроид.
13 окт 16, 11:06    [19776904]     Ответить | Цитировать Сообщить модератору
 Re: Запуск MAKOVA SMWrap на Intersystems Cache`2015  [new]
DAiMor
Member

Откуда: Volzhsky -> Moscow -> CZ, Brno
Сообщений: 2550
Чтобы было чему восставать из пепла, нужно чтобы исходники были опубликованы под публичной лицензией, разрешающей любое использование, тогда может быть есть шанс что, кто нибудь его выправит.
Этот шаг со стороны автора был бы нормальным, с учетом того, что он сам не собирается развивать его. А так есть мизерный шанс, на поддержку его в community.
13 окт 16, 11:12    [19776923]     Ответить | Цитировать Сообщить модератору
 Re: Запуск MAKOVA SMWrap на Intersystems Cache`2015  [new]
MyasnikovIA
Member

Откуда: Новосибирск
Сообщений: 65
Увы но с последней версией есть проблемы при работе. После любого действия , выпадает ошибка, при нажатии на “continue” работать можно, но это происходит слишком часто именно по этому я стал использовать старую версию 2.1. Работает стабильно.

Вопрос на засыпку, из присутствующих есть автор SMWrap MAKOVA?
Если есть то второй вопрос , можно ли публично выложить исходник:
1) Серверной части
2) Makova (Delphi)

К сообщению приложен файл. Размер - 128Kb
13 окт 16, 11:29    [19776978]     Ответить | Цитировать Сообщить модератору
 Re: Запуск MAKOVA SMWrap на Intersystems Cache`2015  [new]
MyasnikovIA
Member

Откуда: Новосибирск
Сообщений: 65
StasMa,

Что касается практической части, то вы правы , большинство бизнес процессов перешло в браузер, но для быстрого прототипирования эта технология соложновата (для новичков). Да и некоторые работодатели сталкиваются с поиском специалиста по Вэб , который желает еще изучить Cache и наоборот есть специалисты Cache которые очень слабы в Вэб. А применяя MAKOVA можно быстрее найти специалиста на чистый COS или быстро обучить.(Набросал кнопочек прописал логику и вот оно счастье ). В качестве примера могу привести программу “М-аптека” работает на Cache 5.23. Аптечные сети счастливы проект живет.
Как раз не имея возможности, а по большей части лишнего времени разбираться с исходниками, я и нашел узкое место в сервере, и узнав методом научного “Тыка” изменения в командах, обрабатываю их в самом сервера. Изменений там не так уж и много (на мой взгляд).
Может обменяемся опытом?
13 окт 16, 11:31    [19776990]     Ответить | Цитировать Сообщить модератору
 Re: Запуск MAKOVA SMWrap на Intersystems Cache`2015  [new]
MyasnikovIA
Member

Откуда: Новосибирск
Сообщений: 65
StasMa,

Ну по крайней мере пока нет официального позволения от автора.
13 окт 16, 11:37    [19777032]     Ответить | Цитировать Сообщить модератору
 Re: Запуск MAKOVA SMWrap на Intersystems Cache`2015  [new]
ну я
Member

Откуда: Stalingrad
Сообщений: 1150
MyasnikovIA
Увы но с последней версией есть проблемы при работе. После любого действия , выпадает ошибка, при нажатии на “continue” работать можно, но это происходит слишком часто именно по этому я стал использовать старую версию 2.1. Работает стабильно.

Вопрос на засыпку, из присутствующих есть автор SMWrap MAKOVA?
Если есть то второй вопрос , можно ли публично выложить исходник:
1) Серверной части
2) Makova (Delphi)

Дык. То версия какого года. Таких вот несовместимостей в мелочах там каждый год накапливается...
Один из авторов я, но не единственный автор.
Выкладывание и 1) и 2) не одобряю, считаю что не надо продолжать проект, его надо с нуля переделывать. А еще лучше непосредственно в Интерсистемс, т.к. очень все сильно привязано к внутренностям системных классов и к особенностям поведения Cache.
Собсно сам проект был задуман под Cache версии 3, но потом много чего изменилось. В общем, все по-другому надо. А еще лучше вообще без классов. Чтобы как в SingleM просто диалоговые формочки с отчетами на Cache 2 на чистом M.
13 окт 16, 11:56    [19777148]     Ответить | Цитировать Сообщить модератору
 Re: Запуск MAKOVA SMWrap на Intersystems Cache`2015  [new]
MyasnikovIA
Member

Откуда: Новосибирск
Сообщений: 65
К сожалению я не работал с SingleM, и честно говоря , даже не знаю , что это такое. Извините за темноту, но работаю с Cache` примерно три года, и начинал с версии 5.23 (Дописывал модули для “М-Аптека”).
Если автор не будет разрабатывать далее свой продукт, а потребность в нем есть, может открыть этот ящик “Пандоры”. Это явно приведет к увеличению популярности Cache` . Мне кажется, в этом заинтересованы многие. Если же есть вероятность появления аналогичного продукта, но более продвинутого, как вы сказали “..все по-другому надо..”, то чем это помешает. Для сравнения могу привести пример. Есть такой проект как Lazarus (Free pascal) и есть проект Delphi и то и другое работает параллельно, ни как не мешают друг другу.
Еще один вопрос. Уточните пожалуйста могу ли я применять SMWrep MAKOVA 2.1 для коммерческих проектов? (из лицензионного соглашения не совсем понятно)
13 окт 16, 12:50    [19777404]     Ответить | Цитировать Сообщить модератору
 Re: Запуск MAKOVA SMWrap на Intersystems Cache`2015  [new]
ну я
Member

Откуда: Stalingrad
Сообщений: 1150
MyasnikovIA
Еще один вопрос. Уточните пожалуйста могу ли я применять SMWrep MAKOVA 2.1 для коммерческих проектов?

Могут те, кто приобретал такое право до закрытия проекта. После закрытия проекта права применения не предоставлялись.
13 окт 16, 13:24    [19777534]     Ответить | Цитировать Сообщить модератору
 Re: Запуск MAKOVA SMWrap на Intersystems Cache`2015  [new]
MyasnikovIA
Member

Откуда: Новосибирск
Сообщений: 65
ну я,
Согласно, нижеприведенного перевода лицензионного соглашения, я не могу с вами согласится. Однако несмотря на это я учту ваше пожелание и не буду открыто выкладывать исходник Makova SMWrep


SMWrap лицензионное соглашение
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Лицензия на использование и распространение
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Эта версия SMWrap есть Свет и бесплатно. Максимальное число
пользователей, которые могут одновременно подключаться к одному серверу
с помощью SMWrap приложение 2 (два). Для обеспечения связи
с большим количеством пользователей, вам необходимо приобрести лицензию
из SMWrap.
Чтобы увидеть условия и соглашения о коммерческой лицензии страницы на сайте для заказа
на Макова Soft сайте: http://www.makova.com

Условия и соглашения, используя версию бесплатно свет SMWrap:

1. Все авторские права на SMWrap принадлежат только автору
- Макова Мягкая компания.

2. Любой человек может использовать это программное обеспечение в течение любого периода.

3. SMWrap бесплатная версия может свободно распространяться, при условии,
дистрибутив не изменен. Ни одно лицо или компания
может взимать плату за распространение SMWrap без письменного
или PGP подписал разрешение от владельца авторских прав.

4. SMWRAP инструменты РАСПРОСТРАНЯЕТСЯ "КАК ЕСТЬ". нет никаких гарантий
ВИД ЯВНЫХ ИЛИ ПОДРАЗУМЕВАЕМЫХ. ВЫ ИСПОЛЬЗОВАТЬ НА СВОЙ СТРАХ И РИСК.
АВТОР НЕ НЕСЕТ ОТВЕТСТВЕННОСТИ ЗА ПОТЕРИ ДАННЫХ, ПОВРЕЖДЕНИЯ, ПОТЕРИ
ПРИБЫЛИ ИЛИ ЛЮБЫЕ ДРУГИЕ ВИДЫ ПОТЕРЬ, СВЯЗАННЫЕ С ИСПОЛЬЗОВАНИЕМ ИЛИ злоупотребляя
ЭТО ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ.

5. Вы не можете использовать, копия, эмулировать, клонировать, арендовать, продавать, изменять,
декомпилировать, иначе перепроектировать, или передавать
Лицензионная программа, или любое подмножество лицензионной программы, за исключением случаев,
предусмотренных в настоящем соглашении. Любое такое нелегальное использование
приводит к немедленному и автоматическому прекращению действия этой лицензии и
может повлечь за собой уголовную и / или гражданское преследование.

Все права, не предоставленные здесь, принадлежат Макова Soft.

6. Установка и использование SMWrap означает согласие с этими условиями
и условия лицензии.

7. Если вы не согласны с условиями данной лицензии, то должны удалить
SMWrap файлы с ваших устройств хранения информации и прекратить использование
продукт.

Макова Soft (http://www.makova.com)
13 окт 16, 16:37    [19778531]     Ответить | Цитировать Сообщить модератору
 Re: Запуск MAKOVA SMWrap на Intersystems Cache`2015  [new]
MyasnikovIA
Member

Откуда: Новосибирск
Сообщений: 65
На картинке изображен пример успешного запуска MAKOVA

К сообщению приложен файл. Размер - 33Kb
13 окт 16, 18:21    [19778968]     Ответить | Цитировать Сообщить модератору
 Re: Запуск MAKOVA SMWrap на Intersystems Cache`2015  [new]
Alexey Maslov
Member

Откуда: СПб
Сообщений: 1520
MyasnikovIA
1. Все авторские права на SMWrap принадлежат только автору
- Макова Мягкая компания
Существует ли эта компания? Если была ликвидирована, то её нематериальные активы, к которым относится интеллектуальная собственность, должны были быть распределены в равных долях между учредителями. Кто теперь правообладатель subj? Всё это весьма непросто, думаю не я один плохо ориентируюсь в этих вопросах...

Знаю лишь один пример, когда коммерческая фирма при выпуске некоего софта (СУБД) официально заявила, что в случае их ликвидации их продукт перейдёт в общественное достояние, и соответствующий документ об этом хранится у нотариуса. Т.е. "ребята, работайте спокойно; пока мы есть, у вас будут техподдержка и обновления, а если нас не станет, у вас по крайней мере останутся исходники". Это гуманно, а ведь в большинстве случаев "по дефолту" ситуация "почему-то" складывается не в пользу пользователей. Примеры приводить не буду, они общеизвестны.
13 окт 16, 19:00    [19779091]     Ответить | Цитировать Сообщить модератору
 Re: Запуск MAKOVA SMWrap на Intersystems Cache`2015  [new]
MyasnikovIA
Member

Откуда: Новосибирск
Сообщений: 65
Когда я наводил справки, про этой компанию выяснил, что сейчас она как юр. лицо ликвидирована. Скомпилированная версия которая у меня на руках(2.1) не предусматривает лицензирование (лицензионное соглашение приведено выше). В интерфейсе нет никаких намеков на лицензирование (что кажется очень подозрительным). В исходниках MAKOVA(версия 3.0) уже предусмотрен механизм лицензирования (даже генератор ключа присутствует).
В итоге есть такое правило, разрешено все то, что не запрещено. С версией 3.0 конечно сильно мутно, но а в версии 2.1 все работает нормально, без всякой декомпиляции. Значит прихожу к выводу, что разрабатывать коммерческие приложения на MAKOVA SMWrep 2.1 будет полностью, с юридической стороны, безопасно. Если у кого есть возражения по этому вопросу, буду рад выслушать.
14 окт 16, 04:22    [19779822]     Ответить | Цитировать Сообщить модератору
 Re: Запуск MAKOVA SMWrap на Intersystems Cache`2015  [new]
MyasnikovIA
Member

Откуда: Новосибирск
Сообщений: 65
Желающие могут протестировать рабочую версию (для ознакомления)
https://yadi.sk/d/Ph3O1BB0woWw3
14 окт 16, 06:54    [19779857]     Ответить | Цитировать Сообщить модератору
 Re: Запуск MAKOVA SMWrap на Intersystems Cache`2015  [new]
MyasnikovIA
Member

Откуда: Новосибирск
Сообщений: 65
+ Инсталляция SMWrep MAKOVA на ознакомительной версии Intersystems Caché 2016
Материалы для инсталляции
21 окт 16, 11:42    [19808154]     Ответить | Цитировать Сообщить модератору
 Re: Запуск MAKOVA SMWrap на Intersystems Cache`2015  [new]
volodin661
Member

Откуда: Внутренняя Монголия
Сообщений: 384
ну я
Чтобы как в SingleM

Евгений Анатолич,
шо за SingleM такой ?
27 ноя 16, 10:47    [19939391]     Ответить | Цитировать Сообщить модератору
 Re: Запуск MAKOVA SMWrap на Intersystems Cache`2015  [new]
ну я
Member

Откуда: Stalingrad
Сообщений: 1150
volodin661,
Это как бы был такой прародитель, плеер форм и отчетов с дизайнером этих форм. Примерно как в html есть определение страницы, но обработчики вызываются на сервере. Обработчик вызвали - плеер перечитывает данные формы по определенным правилам. На сервере в обработчике пишем например s edtCity(CurForm,"Text")="Leningrad". Плеер считывает список этих переменных и контролам на форме все присваивает. CurForm - это просто текущий условный номер формы, которую играем в текущий момент, чтобы при вызове дочерних диалогов не побиться. Общая организация программ была примитивная, только модальные диалоги, однако именно на этом средстве были сделаны самые быстродействующие и отлаженные прикладные проекты. Типов контролов - минимум, штук семь кажется. Дизайнер этих форм вызывал нарекания своим примитивным юзабилити, и был сделан для Win16, сейчас на Win64 его и не запустишь. Для работы в приличной локальной сетке вполне годилось и по скорости ничего так, даже был режим сохранения сессии - пока пользователь не вызывает никаких событий, нет коннекта к базе. Когда надо - то коннектимся, восстанавливает контекст локальных переменных, выполняем обработчик, все локальные запоминаем и отсоединяемся. Мало ли сколько там девушкам между собой беседовать приспичит или в бумажки смотреть... В общем, нравилось что средство простое, работает на чистом М, вполне быстро работает, а не нравилось что юзабилити дизайнера не так чтобы. В силу ограниченности функций в этом сингле его вытрясли на тему багов так что не понадобилось в нем править ничего примерно пару лет и просто забыли где от него сорсы, искали потом... Кто видел средство в работе - те заинтересовывались, но в жизнь как продукт выпускать уже не стали - на взлет пошел SMWrap. Покруче и все такое.
27 ноя 16, 13:12    [19939545]     Ответить | Цитировать Сообщить модератору
 Re: Запуск MAKOVA SMWrap на Intersystems Cache`2015  [new]
AlexKB
Member

Откуда: Запорожье
Сообщений: 795
ну я,

SingleM почти не пользовал, уже и не помню, как он мне достался...
А вот SMWrap, считаю, что должен был бы занять достойное место в музее MUMPS-технологии!!!
Да и по праву!
Поскольку это было уникальное решение, очень простое в использовании, довольно-таки быстродействующее решение!
Много проектов было сделано на нем, причем уникальных проектов, которые на то время позволили услышать от Заказчика вот таки слова: " Мы первый раз получили именно то, что хотели получить, а не то, что вы как исполнитель можете сделать". Это касалось стендов испытания авиационных двигателей. (хотя я не раз уже об этом упоминал на этом форуме)
Воодушевленный идеей SMWrap, я даже делал свой собственный плеер на LabView CVI for Windows. И получалось довольно таки неплохо. Представьте, на экране пользователь видел приборные панели от National Instruments, но управлял всем этим Cache, а приборные панели только лишь проигрывали получаемую информацию. Для конечных проектов код на клиенте не писался вообще!
Жалко что мне не дали довести эту идею до конца - ушло на полку, как и многие проекты-прототипы, выполненные на SMWrap.
И тем не менее, разработчикам SMWrap мои огромные Респект и Уважуха!!!
28 ноя 16, 09:38    [19941384]     Ответить | Цитировать Сообщить модератору
 Re: Запуск MAKOVA SMWrap на Intersystems Cache`2015  [new]
Павел Мархотин
Member

Откуда:
Сообщений: 2
Добрый день коллеги!
Менеджеры Интерсистем связали меня с MyasnikovIA и сообщили о его желании возобновить работу SMWrap на новых версиях Cache'.
Иван дал ссылку на этот форум. Я проконсультировался с авторами этого проекта, а один из них "ну я", присутствующий на этом форуме. "Ну я" не захотел участвовать в проекте. Другой автор и, собственно, идеолог продукта, сейчас вместе с MyasnikovIA готовят версию к выкладыванию в опенсорс. Все последнии исходники переданы автору.
От владельцев бывшей компании МаковаСофт претензий по публикации исходников в открытый доступ авторами проекта не будет.
2 дек 16, 00:16    [19957893]     Ответить | Цитировать Сообщить модератору
 Re: Запуск MAKOVA SMWrap на Intersystems Cache`2015  [new]
AlexKB
Member

Откуда: Запорожье
Сообщений: 795
Павел Мархотин,
Вот это новость!!!
2 дек 16, 08:42    [19958224]     Ответить | Цитировать Сообщить модератору
Между сообщениями интервал более 1 года.
 Re: Запуск MAKOVA SMWrap на Intersystems Cache`2015  [new]
MyasnikovIA
Member

Откуда: Новосибирск
Сообщений: 65
Версия для ознакомления (разработка продолжается...):
https://github.com/MyasnikovIA/SMWrap2017

Старая версия Makova2.1 запускается на Cache2015 и выше:
https://github.com/MyasnikovIA/SMWrap-V2.1
5 дек 17, 08:04    [21005995]     Ответить | Цитировать Сообщить модератору
 Re: Запуск MAKOVA SMWrap на Intersystems Cache 2015  [new]
AlexKB
Member

Откуда: Запорожье
Сообщений: 795
MyasnikovIA,
ЭТО ПРОСТО ЗДОРОВО!!!
5 дек 17, 11:17    [21006557]     Ответить | Цитировать Сообщить модератору
 Re: Запуск MAKOVA SMWrap на Intersystems Cache 2015  [new]
MyasnikovIA
Member

Откуда: Новосибирск
Сообщений: 65
Не судите строго. Я еще не все баги выловил… Так сказать альфа версия 
5 дек 17, 12:02    [21006760]     Ответить | Цитировать Сообщить модератору
 Re: Запуск MAKOVA SMWrap на Intersystems Cache 2015  [new]
AlexKB
Member

Откуда: Запорожье
Сообщений: 795
MyasnikovIA
Не судите строго. Я еще не все баги выловил… Так сказать альфа версия 

Да, там еще много чего...
Но уже очень радует, что возрождается Makova!
5 дек 17, 12:37    [21006869]     Ответить | Цитировать Сообщить модератору
 Re: Запуск MAKOVA SMWrap на Intersystems Cache 2015  [new]
MyasnikovIA
Member

Откуда: Новосибирск
Сообщений: 65
AlexKB,

Основной акцент в доработки был сделан на ВЭБ технологию.
1) Хотелось бы дописать выгрузку классов Cache’ в JAVA.
2) Загружать через MStudio HTML проекты в Cache’ классы ( пример такого контроллера https://github.com/MyasnikovIA/DevelopperUtilTools класс Developper.UtilTools.ClassFromDir)
3) Дописать модуль SQL запросов, для тестирования в студии.

Главная проблема в том, что MStudio после запуска вычитывает весе классы в области имен, и если проект большой, то первичный запуск занимает много времени. Вторая проблема это при выборе класса тот снова вычитывает весь класс, а если тот занимает много места от 1500 строк и больше, тогда все подвисает до момента окончания сканирования структуры. Чтение происходит в синхронном режиме.

И многое другое, до чего дойдут руки.
Сложность в том, что написание идет в свободное время, которого, к сожалению, бывает не так много.

По тому и прошу желающих посмотреть и подсказать чего еще надо допилить в проекте.
5 дек 17, 12:59    [21006944]     Ответить | Цитировать Сообщить модератору
 Re: Запуск MAKOVA SMWrap на Intersystems Cache 2015  [new]
DAiMor
Member

Откуда: Volzhsky -> Moscow -> CZ, Brno
Сообщений: 2550
MyasnikovIA,

Над какими частями ведется работа? сервер и клиент?
На чем вообще написана клиентская часть?
Исходники ее будут выложены?
5 дек 17, 13:07    [21006982]     Ответить | Цитировать Сообщить модератору
 Re: Запуск MAKOVA SMWrap на Intersystems Cache 2015  [new]
MyasnikovIA
Member

Откуда: Новосибирск
Сообщений: 65
DAiMor,

Проект написан на Delphi7. В нем присутствует платные компоненты FastReport и Дизайнер
MStudio и MСlient писались в паре.


Если коротко , то принцип работы в следующем: На сервере существуют классы , которые имеют аналог написанный на языке Pascale. В момент обращения клиента к серверу, на стороне сервера вычитывается структура Cache' класа и на основании этой информации создается экземпляр класса Pascale. К сожалению паскал не является интерпретируемым языком программирования, в связи с этим приходится изрядно потанцевать с бубном, для того, чтобы внедрить новый компонент. Естественно приходится работать над всеми тремя частями , так как при написании нового класса его необходимо добавить клиента, в дизайнера и естественно на сервер от сюда и сложности при разработке.

Этот проект в компилированном виде распространяется бесплатно , и без всяких ограничений. Естественно без всякой ответственности за последствия применения... :)

К сожалению я не получал разрешения на выкладывание исходного кода. Но честно говоря, за год до того, как правообладатель дал мне эту версию, я уже имел на руках ранее украденный исходный код всего проекта. Несмотря на это у меня не получилось его развернуть. Хотя дало понимание о принципе работы серверной части. Благодаря чему я видоизменил серверную часть и смог запустить старую версию SMWrap Makova 2.1 (https://github.com/MyasnikovIA/SMWrap-V2.1) .
Для того , чтобы ускорить работу MStudio пришлось переписывать процентов 20 содержимого, так как не все старые методы быстро работали на новой версии Cache' так еще столько же необходимо переписать, чтобы студия стара работать приближено, по скорости к встроенной студии.

Я не смог найти простой способ конвертировать проект с Delphi7 на RadStudio. При конвертации необходимо опять же переписывать большинство классов. Но с другой стороны сильно не упорствовал, так как основным родом моей деятельности является WEB разработка в связи с этим, болшее время дорабатывал студию.

Возможно я повторюсь наверное, но главная цель этого проекта не поучения дохода, а расширения рынка труда на технологии Cache'.

В данный момент допиливаю студию., а пилить там еще много :)
В будущем конечно хотелось бы добавить компоненты OpenGL,Glut , для 3D интерпретации данных , и сконвертировать проект на RadStudio но это только в далеких планах
5 дек 17, 16:27    [21008034]     Ответить | Цитировать Сообщить модератору
 Re: Запуск MAKOVA SMWrap на Intersystems Cache 2015  [new]
DAiMor
Member

Откуда: Volzhsky -> Moscow -> CZ, Brno
Сообщений: 2550
MyasnikovIA,

OpenGL, 3D - это у вас какие то прям очень сильно далеко идущие планы
А почему RadStudio, понимаю что Delphi7 ему является в некотором роде додственником, но уже очень далеким и довольно дорогим. Не смотрели в сторону Lazarus? На него должно быть легче перейти и бесплатнее.

Я так понимаю там и редактор Cache кода, значит еще поддержку новых возможностей языка допиливать.
5 дек 17, 16:55    [21008179]     Ответить | Цитировать Сообщить модератору
 Re: Запуск MAKOVA SMWrap на Intersystems Cache 2015  [new]
MyasnikovIA
Member

Откуда: Новосибирск
Сообщений: 65
DAiMor,

Я смотрел в сторону Lazarus , но тот компилирует уж очень большие EXE файлы. конечно же есть способы уменьшить размер, но я не большой специалист в нем. Хотя приятно было увидеть возможность компиляции как под Windows, так и под Linux.

Подсветка синтаксиса сделана на компоненте SynEdit, тот точно есть в Lazarus. Там так же есть и компонент дизайнера. только по умолчанию он не установлен. но точно есть.

У SMWrap MAKOVA уже сформировался определенный круг потребителей, даже несколько проектов развиваются до сих пор на Cache 5 (в аптечной сфере). хотелось бы сохранить эту аудиторию, ну и по возможности расширить за счет Вэб разработчиков. Так как в России любят не очень дорогой программный продукт , а еще лучше если он бесплатный, то такая штука может быть интересна.

Что касается OpenGL , на Delphi7 есть ухе готовый компонент , надо только написать интерпретацию паскаль классов в Cache , и пересобрать проект, работы примерно на месяц. Но это после ускорения работы студии и исправления критичных "багов", это первостепенно. К сожалению одному сложновато все протестировать...
5 дек 17, 17:57    [21008387]     Ответить | Цитировать Сообщить модератору
 Re: Запуск MAKOVA SMWrap на Intersystems Cache 2015  [new]
DAiMor
Member

Откуда: Volzhsky -> Moscow -> CZ, Brno
Сообщений: 2550
MyasnikovIA
Подсветка синтаксиса сделана на компоненте SynEdit
Знакомый компонент, если мне память не изменяет то в АИРе в Editor тоже его применял.
8 дек 17, 13:35    [21018058]     Ответить | Цитировать Сообщить модератору
 Re: Запуск MAKOVA SMWrap на Intersystems Cache 2015  [new]
DAiMor
Member

Откуда: Volzhsky -> Moscow -> CZ, Brno
Сообщений: 2550
Кстати о целесообразности продолжения развития данного проекта

Я не успел столкнуться с этим проектом. Я незнаю насчет SMWrap, если у него есть потребители наверно есть смысл.
А вот про студию, имеет ли смысл заморачиваться? Ведь она должна быть сильно устарела, и нужно много в ней пилить, чтобы хотя бы до уровня встроенной студии дойти.
8 дек 17, 13:39    [21018076]     Ответить | Цитировать Сообщить модератору
 Re: Запуск MAKOVA SMWrap на Intersystems Cache 2015  [new]
Шваров Евгений
Member

Откуда:
Сообщений: 844
MyasnikovIA
AlexKB,

Основной акцент в доработки был сделан на ВЭБ технологию.
1) Хотелось бы дописать выгрузку классов Cache’ в JAVA.
2) Загружать через MStudio HTML проекты в Cache’ классы ( пример такого контроллера https://github.com/MyasnikovIA/DevelopperUtilTools класс Developper.UtilTools.ClassFromDir)
3) Дописать модуль SQL запросов, для тестирования в студии.

Главная проблема в том, что MStudio после запуска вычитывает весе классы в области имен, и если проект большой, то первичный запуск занимает много времени. Вторая проблема это при выборе класса тот снова вычитывает весь класс, а если тот занимает много места от 1500 строк и больше, тогда все подвисает до момента окончания сканирования структуры. Чтение происходит в синхронном режиме.

И многое другое, до чего дойдут руки.
Сложность в том, что написание идет в свободное время, которого, к сожалению, бывает не так много.

По тому и прошу желающих посмотреть и подсказать чего еще надо допилить в проекте.

Здорово! Похоже проделана огромная работа.
Я как обычно выскажусь, что исходники не в UDL (а в XML) и в одном файле - как участвовать-то в разработке? С переводом кода в UDL можем помочь.
1 янв 18, 11:16    [21077112]     Ответить | Цитировать Сообщить модератору
 Re: Запуск MAKOVA SMWrap на Intersystems Cache 2015  [new]
MyasnikovIA
Member

Откуда: Новосибирск
Сообщений: 65
Шваров Евгений,
Добрый день .
Полностью перевести проект в UDL вряд ли получится. Это связанно с тем, что в проекте содержатся глобалы и *.mac , которые тоже нужны , для SMWrap Studio (информация о шаблонах классов). Как я понимаю, в UDL нет возможности переносить глобалы и *.mac программы. Конечно можно написать класс инсталлер, в котором динамически создавать необходимые ресурсы. Но из за этого мы скорее всего ограничим количество пользователей(из за версии Cache’).
Я стараюсь переработать проект так, чтобы он работал на всех версиях Cache’ выше 2013. В связи с этим и был выбран формат XML для переноса пакета программ.
Если вы можете предложить иной способ для переноса классов , программ и глобалов в одном файле, То буду очень рад расширить свои горизонты познания, и переработать проект.
9 янв 18, 04:49    [21088612]     Ответить | Цитировать Сообщить модератору
 Re: Запуск MAKOVA SMWrap на Intersystems Cache 2015  [new]
Alexey Maslov
Member

Откуда: СПб
Сообщений: 1520
MyasnikovIA,

> ...можно написать класс инсталлер... Но из за этого мы скорее всего ограничим количество пользователей(из за версии Cache’)

> чтобы он работал на всех версиях Cache’ выше 2013

Installer в Cache’ 2013, ЕМНИП, уже вполне себе работал.
9 янв 18, 11:04    [21089104]     Ответить | Цитировать Сообщить модератору
 Re: Запуск MAKOVA SMWrap на Intersystems Cache 2015  [new]
MyasnikovIA
Member

Откуда: Новосибирск
Сообщений: 65
Alexey Maslov,

В действительности я сталкивался с инсталлером в Cache’2013 (http://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY=GCI_manifest) . Но опять же остается проблема с *.mac и глобалы в UDL. Так же мне кажется, что удобно распространять весь проект, все сложив в один файл.
И есть еще одна проблема, я еще не знаю как в коде (MUMPS) переключить CACHELIB в режим записи и обратно. Если кто-нибудь подскажет пример скрипта переключения, то тогда создам инсталлер и он появится на ресурсе https://github.com/MyasnikovIA/SMWrap2017 и http://www.smwrap.ru/Download.html
Наверняка есть иной способ, для распространения готового проекта (классы, глобалы и *.Mac) в одном файле, для простого развёртывания по заложенному сценарию. Но увы его не знаю, По этому использую XML.
9 янв 18, 11:42    [21089304]     Ответить | Цитировать Сообщить модератору
 Re: Запуск MAKOVA SMWrap на Intersystems Cache 2015  [new]
Alexey Maslov
Member

Откуда: СПб
Сообщений: 1520
MyasnikovIA,

> остается проблема с *.mac и глобалы в UDL
...
> удобно распространять весь проект, все сложив в один файл.

Проблема выглядит надуманной, если используется Installer. Передавайте всё через xml вместе с Installer'ом, с той разбивкой на файлы, какая вам удобна.

> как в коде (MUMPS) переключить CACHELIB в режим записи и обратно

Могу поискать пример кода, но если уж принимаете решение использовать Installer, то лучше с его помощью это и сделать. Кстати, переименовав ваши программы/классы/глобалы в %z*, вы избежите необходимости открывать CACHELIB на запись. Это, собственно, рекомендуется ISC, в противном случае каждый апгрэйд Cache будет требовать переустановки SMWrap.
9 янв 18, 12:10    [21089497]     Ответить | Цитировать Сообщить модератору
 Re: Запуск MAKOVA SMWrap на Intersystems Cache 2015  [new]
MyasnikovIA
Member

Откуда: Новосибирск
Сообщений: 65
Alexey Maslov,

Что касается %Z* , то вы абсолютно правы. Я так и хотел сделать, но на SMWrap уже написан один проект (автоматизация аптек). Он использует в своих модулях классы из системной области (пример: %TMTimer) Естественно Cache’, преобразовывает в “%Library.TMTimer ” преобразовать его в “%ZLibrary.TM*” проблематично. Проект писался продолжительный период времени (более 10 лет на Cache’5), и браться за его переделку очень страшно. Новая версия должна быть максимально совместима с предыдущими наработками, для безболезненного перехода на неё. Предполагаю, что в других проектах может быть такая же проблема. В связи с этим я не вижу возможности отказаться от записи в область “CACHELIB”.
При переходе между версиями Cache’ конечно же придется опять импортировать SMWrap.xml. По-другому никак. Нужно будет этот факт отметить в инструкции.
Напишите, пожалуйста, пример код переключения CACHELIB в режим записи и обратно. Вещь полезная, может пригодиться в других разработках.
9 янв 18, 12:49    [21089682]     Ответить | Цитировать Сообщить модератору
 Re: Запуск MAKOVA SMWrap на Intersystems Cache 2015  [new]
Alexey Maslov
Member

Откуда: СПб
Сообщений: 1520
MyasnikovIA
Что касается %Z*
...
Проект писался продолжительный период времени (более 10 лет на Cache’5), и браться за его переделку очень страшно.
Рекомендуется не %Z*/z*, а только %z*, с тех пор как появился %ZEN.*. Насчёт страшно: не знаю, мы свой проект (немаленький, поверьте) в своё время переделали, вообще отказавшись от %-ных классов, и вздохнули с облегчением: настолько упростилась и разработка, и эксплуатация. Но хозяин - барин.

MyasnikovIA
Напишите, пожалуйста, пример код переключения CACHELIB в режим записи и обратно. Вещь полезная, может пригодиться в других разработках.
Костяк кода:
 set db=##class(SYS.Database).%OpenId(database)
 set db.ReadOnly=0 // или =1
 set status=db.%Save()
У меня этот код выполнялся на последнем этапе установки Cache', поэтому проверки/установки необходимых привилегий отсутствуют. Посмотрите в документации класса SYS.Database, что там требуется.
9 янв 18, 14:37    [21090132]     Ответить | Цитировать Сообщить модератору
 Re: Запуск MAKOVA SMWrap на Intersystems Cache 2015  [new]
MyasnikovIA
Member

Откуда: Новосибирск
Сообщений: 65
Alexey Maslov,

Большое спасибо.
9 янв 18, 16:26    [21090706]     Ответить | Цитировать Сообщить модератору
 Re: Запуск MAKOVA SMWrap на Intersystems Cache 2015  [new]
DAiMor
Member

Откуда: Volzhsky -> Moscow -> CZ, Brno
Сообщений: 2550
MyasnikovIA
Новая версия должна быть максимально совместима с предыдущими наработками, для безболезненного перехода на неё
не стоит думать о этом так, большая часть вашей сейчас работы это поддержка новых версий Cache. Это в любом случае для конечного пользователя приведет к необходимости провести обновление. Или смотрите на ваши изменения как на отдельный проект. Обе стороны проекта должны быть новой версии, зачем вам поддерживать в клиенте старый сервер и наоборот. Старый проект не ваш, вы просто предлагаете пользователям старого проекта перейти на ваш, пусть и основанном на старом. Но большую часть старого вы можете поддержать путем миграции, не думаю что это очень сложно сделать.
9 янв 18, 19:31    [21091353]     Ответить | Цитировать Сообщить модератору
 Re: Запуск MAKOVA SMWrap на Intersystems Cache 2015  [new]
ну я
Member

Откуда: Stalingrad
Сообщений: 1150
DAiMor
MyasnikovIA
Новая версия должна быть максимально совместима с предыдущими наработками, для безболезненного перехода на неё
не стоит думать о этом так, большая часть вашей сейчас работы это поддержка новых версий Cache. Это в любом случае для конечного пользователя приведет к необходимости провести обновление. Или смотрите на ваши изменения как на отдельный проект. Обе стороны проекта должны быть новой версии, зачем вам поддерживать в клиенте старый сервер и наоборот. Старый проект не ваш, вы просто предлагаете пользователям старого проекта перейти на ваш, пусть и основанном на старом. Но большую часть старого вы можете поддержать путем миграции, не думаю что это очень сложно сделать.

Можно написать Олегу Чередниченко на oli @ esc . ru про переход на другую версию SMWrap проекта МАптека+
9 янв 18, 21:01    [21091544]     Ответить | Цитировать Сообщить модератору
 Re: Запуск MAKOVA SMWrap на Intersystems Cache 2015  [new]
Павел Мархотин
Member

Откуда:
Сообщений: 2
Alexey Maslov
Насчёт страшно: не знаю, мы свой проект (немаленький, поверьте) в своё время переделали, вообще отказавшись от %-ных классов, и вздохнули с облегчением: настолько упростилась и разработка, и эксплуатация. Но хозяин - барин.

Поддерживаю. В этом случае многое упростится. В том числе появится возможность тестировать/использовать разные версии в разных неймспейсах.
9 янв 18, 21:42    [21091642]     Ответить | Цитировать Сообщить модератору
 Re: Запуск MAKOVA SMWrap на Intersystems Cache 2015  [new]
MyasnikovIA
Member

Откуда: Новосибирск
Сообщений: 65
DAiMor,

Причина, по которой я стал задуряться с обратной совместимостью, связанна с тем, чтобы не растерять старые проекты. А в идеале запустить новый исполняемый файл на старом проекте и чтобы все заработало. Но как показала практика это утопия, и скорее всего, придется пойти по пути написания конвертора. Если у вас есть еще мнение по поводу направления развития проекта, то высказывайте, я его обязательно постараюсь учесть.
Заранее спасибо.
10 янв 18, 05:44    [21091989]     Ответить | Цитировать Сообщить модератору
 Re: Запуск MAKOVA SMWrap на Intersystems Cache 2015  [new]
MyasnikovIA
Member

Откуда: Новосибирск
Сообщений: 65
ну я,

Большое спасибо. Контакт Олега у меня уже есть, мы с ним общались пару лет назад, по этому вопросу. Собственно говоря, с этого разговора и появилась идея возродить проект. С того времени уже сменил работодателя (сейчас работаю в сфере ЖКХ на технологии Cache’ WEB), и проект М-аптека использую в качестве полигона для тестирования (Новосибирская версия 2.28). Контакты с бывшими работодателями не поддерживаю. В прочем там работают ребята умные, думаю, они сориентируются.
От Олега я получил великолепную программку конвертора ”Convert2012.mac”, она есть в SMWrap.xml. На её основе можно создать конвертор, там уже все основное есть. Остается немного допилить. Специалисты проекта М-Аптека смогут это сделать лучше меня.
10 янв 18, 05:50    [21091991]     Ответить | Цитировать Сообщить модератору
 Re: Запуск MAKOVA SMWrap на Intersystems Cache 2015  [new]
MyasnikovIA
Member

Откуда: Новосибирск
Сообщений: 65
Павел Мархотин,

Честно говоря не могу представить такую ситуацию, когда есть необходимость на одном сервере держать несколько версий SMWrap. Кажется это совсем крайний случай.
Сейчас все компоненты формы расположены в классах “%Library.TM*”, это позваляет иметь доступ из любой области имен. Естественно для того, чтобы поместить эти классы в системе необходимо открыть на запись “CACHELIB”, (об этом писал ранее) . Благодаря помощи “Alexey Maslov” я понял как запилить старый инсталлятор(*.exe) для развертывания классов в новых версиях при инсталляции SMWrap (как в версии smwrap3.4.0.6.exe). Просто в инсталляции появится выбор места установки, в зависимости от неё классы будут развёртываться или “%Library.TM*” или “%ZLibrary.TM*”( %Z* не требует режим записи в “CACHELIB” ) . Но это еще только мысли в слух. Надо будет все переосмыслить, чтобы учесть все пожелания.
“И овцы целы и волки сыты - Вечная память пастуху”
10 янв 18, 05:55    [21091992]     Ответить | Цитировать Сообщить модератору
 Re: Запуск MAKOVA SMWrap на Intersystems Cache 2015  [new]
Шваров Евгений
Member

Откуда:
Сообщений: 844
MyasnikovIA
Шваров Евгений,
Добрый день .
Полностью перевести проект в UDL вряд ли получится. Это связанно с тем, что в проекте содержатся глобалы и *.mac , которые тоже нужны , для SMWrap Studio (информация о шаблонах классов). Как я понимаю, в UDL нет возможности переносить глобалы и *.mac программы. Конечно можно написать класс инсталлер, в котором динамически создавать необходимые ресурсы. Но из за этого мы скорее всего ограничим количество пользователей(из за версии Cache’).
Я стараюсь переработать проект так, чтобы он работал на всех версиях Cache’ выше 2013. В связи с этим и был выбран формат XML для переноса пакета программ.
Если вы можете предложить иной способ для переноса классов , программ и глобалов в одном файле, То буду очень рад расширить свои горизонты познания, и переработать проект.

На самом деле MAC вполне себе экспортируется/импортируется в UDL, вот пример, а глобалы можно в исходниках хранить по-разному, мне нравится в XML, очень удобно.

А что касается установки - здесь часто очень удобно как раз использовать XML - через $SYSTEM.OBJ.Export выгрузить все компоненты по маске в один XML файл и хранить это в разделе релизов гитхаб-репозитория, пример. В простых случаях просто импорт одного xml равен установке пакета.
10 янв 18, 10:41    [21092535]     Ответить | Цитировать Сообщить модератору
 Re: Запуск MAKOVA SMWrap на Intersystems Cache 2015  [new]
MyasnikovIA
Member

Откуда: Новосибирск
Сообщений: 65
Большое спасибо участникам.
По итогу ваших рекомендаций был написан инсталлятор (конструктор) классов проекта для Cache2017 , через сервис “%Service_CacheDirect”. Конечно это не последняя редакция, но она уже жизнеспособная. Все компоненты проекта размещены внутри исполняемого файла. На данный момент инсталляция производится в область “CACHELIB” (“%Library.TM*”),со временем перепишу классы для развертывания в пакеты “%ZLibrary.TM*” и “Library.TM*”, и в инсталляторе появится выбор места установки.
Сейчас придется переписывать все инструкции…
https://github.com/MyasnikovIA/SMWrap2017/blob/master/Setup.exe
11 янв 18, 06:11    [21095433]     Ответить | Цитировать Сообщить модератору
 Re: Запуск MAKOVA SMWrap на Intersystems Cache 2015  [new]
MyasnikovIA
Member

Откуда: Новосибирск
Сообщений: 65
Инсталлятор тестировался на всех выложенных версиях SMWrap (2.1 , 3.4 , 2017), и версиях Cache’ 2013,2014,2017. Сбоев не обнаружено. Если у кого-то появятся проблемы, то пожалуйста поставьте меня в известность (Miacom@mail.ru)
https://github.com/MyasnikovIA/SMWrap-V2.1
https://github.com/MyasnikovIA/SMWrap-V3.4
https://github.com/MyasnikovIA/SMWrap2017
11 янв 18, 07:36    [21095459]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: 1 2 3      [все]
Все форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M Ответить