Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 [2] 3   вперед  Ctrl      все
Между сообщениями интервал более 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

Откуда: Запорожье
Сообщений: 804
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

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

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

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

Откуда:
Сообщений: 845
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

Откуда: СПб
Сообщений: 1526
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

Откуда: СПб
Сообщений: 1526
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

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

Откуда: Stalingrad
Сообщений: 1161
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]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 [2] 3   вперед  Ctrl      все
Все форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M Ответить