|
Запуск MAKOVA SMWrap на Intersystems Cache 2015
|
|||
---|---|---|---|
#18+
Версия для ознакомления (разработка продолжается...): https://github.com/MyasnikovIA/SMWrap2017 Старая версия Makova2.1 запускается на Cache2015 и выше: https://github.com/MyasnikovIA/SMWrap-V2.1 ... |
|||
:
Нравится:
Не нравится:
|
|||
05.12.2017, 08:04 |
|
Запуск MAKOVA SMWrap на Intersystems Cache 2015
|
|||
---|---|---|---|
#18+
MyasnikovIA, ЭТО ПРОСТО ЗДОРОВО!!! ... |
|||
:
Нравится:
Не нравится:
|
|||
05.12.2017, 11:17 |
|
Запуск MAKOVA SMWrap на Intersystems Cache 2015
|
|||
---|---|---|---|
#18+
Не судите строго. Я еще не все баги выловил… Так сказать альфа версия ... |
|||
:
Нравится:
Не нравится:
|
|||
05.12.2017, 12:02 |
|
Запуск MAKOVA SMWrap на Intersystems Cache 2015
|
|||
---|---|---|---|
#18+
MyasnikovIAНе судите строго. Я еще не все баги выловил… Так сказать альфа версия Да, там еще много чего... Но уже очень радует, что возрождается Makova! ... |
|||
:
Нравится:
Не нравится:
|
|||
05.12.2017, 12:37 |
|
Запуск MAKOVA SMWrap на Intersystems Cache 2015
|
|||
---|---|---|---|
#18+
AlexKB, Основной акцент в доработки был сделан на ВЭБ технологию. 1) Хотелось бы дописать выгрузку классов Cache’ в JAVA. 2) Загружать через MStudio HTML проекты в Cache’ классы ( пример такого контроллера https://github.com/MyasnikovIA/DevelopperUtilTools класс Developper.UtilTools.ClassFromDir) 3) Дописать модуль SQL запросов, для тестирования в студии. Главная проблема в том, что MStudio после запуска вычитывает весе классы в области имен, и если проект большой, то первичный запуск занимает много времени. Вторая проблема это при выборе класса тот снова вычитывает весь класс, а если тот занимает много места от 1500 строк и больше, тогда все подвисает до момента окончания сканирования структуры. Чтение происходит в синхронном режиме. И многое другое, до чего дойдут руки. Сложность в том, что написание идет в свободное время, которого, к сожалению, бывает не так много. По тому и прошу желающих посмотреть и подсказать чего еще надо допилить в проекте. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.12.2017, 12:59 |
|
Запуск MAKOVA SMWrap на Intersystems Cache 2015
|
|||
---|---|---|---|
#18+
MyasnikovIA, Над какими частями ведется работа? сервер и клиент? На чем вообще написана клиентская часть? Исходники ее будут выложены? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.12.2017, 13:07 |
|
Запуск MAKOVA SMWrap на Intersystems Cache 2015
|
|||
---|---|---|---|
#18+
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 но это только в далеких планах ... |
|||
:
Нравится:
Не нравится:
|
|||
05.12.2017, 16:27 |
|
Запуск MAKOVA SMWrap на Intersystems Cache 2015
|
|||
---|---|---|---|
#18+
MyasnikovIA, OpenGL, 3D - это у вас какие то прям очень сильно далеко идущие планы А почему RadStudio, понимаю что Delphi7 ему является в некотором роде додственником, но уже очень далеким и довольно дорогим. Не смотрели в сторону Lazarus? На него должно быть легче перейти и бесплатнее. Я так понимаю там и редактор Cache кода, значит еще поддержку новых возможностей языка допиливать. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.12.2017, 16:55 |
|
Запуск MAKOVA SMWrap на Intersystems Cache 2015
|
|||
---|---|---|---|
#18+
DAiMor, Я смотрел в сторону Lazarus , но тот компилирует уж очень большие EXE файлы. конечно же есть способы уменьшить размер, но я не большой специалист в нем. Хотя приятно было увидеть возможность компиляции как под Windows, так и под Linux. Подсветка синтаксиса сделана на компоненте SynEdit, тот точно есть в Lazarus. Там так же есть и компонент дизайнера. только по умолчанию он не установлен. но точно есть. У SMWrap MAKOVA уже сформировался определенный круг потребителей, даже несколько проектов развиваются до сих пор на Cache 5 (в аптечной сфере). хотелось бы сохранить эту аудиторию, ну и по возможности расширить за счет Вэб разработчиков. Так как в России любят не очень дорогой программный продукт , а еще лучше если он бесплатный, то такая штука может быть интересна. Что касается OpenGL , на Delphi7 есть ухе готовый компонент , надо только написать интерпретацию паскаль классов в Cache , и пересобрать проект, работы примерно на месяц. Но это после ускорения работы студии и исправления критичных "багов", это первостепенно. К сожалению одному сложновато все протестировать... ... |
|||
:
Нравится:
Не нравится:
|
|||
05.12.2017, 17:57 |
|
Запуск MAKOVA SMWrap на Intersystems Cache 2015
|
|||
---|---|---|---|
#18+
MyasnikovIAПодсветка синтаксиса сделана на компоненте SynEditЗнакомый компонент, если мне память не изменяет то в АИРе в Editor тоже его применял. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.12.2017, 13:35 |
|
Запуск MAKOVA SMWrap на Intersystems Cache 2015
|
|||
---|---|---|---|
#18+
Кстати о целесообразности продолжения развития данного проекта Я не успел столкнуться с этим проектом. Я незнаю насчет SMWrap, если у него есть потребители наверно есть смысл. А вот про студию, имеет ли смысл заморачиваться? Ведь она должна быть сильно устарела, и нужно много в ней пилить, чтобы хотя бы до уровня встроенной студии дойти. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.12.2017, 13:39 |
|
Запуск MAKOVA SMWrap на Intersystems Cache 2015
|
|||
---|---|---|---|
#18+
MyasnikovIAAlexKB, Основной акцент в доработки был сделан на ВЭБ технологию. 1) Хотелось бы дописать выгрузку классов Cache’ в JAVA. 2) Загружать через MStudio HTML проекты в Cache’ классы ( пример такого контроллера https://github.com/MyasnikovIA/DevelopperUtilTools класс Developper.UtilTools.ClassFromDir) 3) Дописать модуль SQL запросов, для тестирования в студии. Главная проблема в том, что MStudio после запуска вычитывает весе классы в области имен, и если проект большой, то первичный запуск занимает много времени. Вторая проблема это при выборе класса тот снова вычитывает весь класс, а если тот занимает много места от 1500 строк и больше, тогда все подвисает до момента окончания сканирования структуры. Чтение происходит в синхронном режиме. И многое другое, до чего дойдут руки. Сложность в том, что написание идет в свободное время, которого, к сожалению, бывает не так много. По тому и прошу желающих посмотреть и подсказать чего еще надо допилить в проекте. Здорово! Похоже проделана огромная работа. Я как обычно выскажусь, что исходники не в UDL (а в XML) и в одном файле - как участвовать-то в разработке? С переводом кода в UDL можем помочь. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.01.2018, 11:16 |
|
Запуск MAKOVA SMWrap на Intersystems Cache 2015
|
|||
---|---|---|---|
#18+
Шваров Евгений, Добрый день . Полностью перевести проект в UDL вряд ли получится. Это связанно с тем, что в проекте содержатся глобалы и *.mac , которые тоже нужны , для SMWrap Studio (информация о шаблонах классов). Как я понимаю, в UDL нет возможности переносить глобалы и *.mac программы. Конечно можно написать класс инсталлер, в котором динамически создавать необходимые ресурсы. Но из за этого мы скорее всего ограничим количество пользователей(из за версии Cache’). Я стараюсь переработать проект так, чтобы он работал на всех версиях Cache’ выше 2013. В связи с этим и был выбран формат XML для переноса пакета программ. Если вы можете предложить иной способ для переноса классов , программ и глобалов в одном файле, То буду очень рад расширить свои горизонты познания, и переработать проект. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.01.2018, 04:49 |
|
Запуск MAKOVA SMWrap на Intersystems Cache 2015
|
|||
---|---|---|---|
#18+
MyasnikovIA, > ...можно написать класс инсталлер... Но из за этого мы скорее всего ограничим количество пользователей(из за версии Cache’) > чтобы он работал на всех версиях Cache’ выше 2013 Installer в Cache’ 2013, ЕМНИП, уже вполне себе работал. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.01.2018, 11:04 |
|
Запуск MAKOVA SMWrap на Intersystems Cache 2015
|
|||
---|---|---|---|
#18+
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. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.01.2018, 11:42 |
|
Запуск MAKOVA SMWrap на Intersystems Cache 2015
|
|||
---|---|---|---|
#18+
MyasnikovIA, > остается проблема с *.mac и глобалы в UDL ... > удобно распространять весь проект, все сложив в один файл. Проблема выглядит надуманной, если используется Installer. Передавайте всё через xml вместе с Installer'ом, с той разбивкой на файлы, какая вам удобна. > как в коде (MUMPS) переключить CACHELIB в режим записи и обратно Могу поискать пример кода, но если уж принимаете решение использовать Installer, то лучше с его помощью это и сделать. Кстати, переименовав ваши программы/классы/глобалы в %z*, вы избежите необходимости открывать CACHELIB на запись. Это, собственно, рекомендуется ISC, в противном случае каждый апгрэйд Cache будет требовать переустановки SMWrap. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.01.2018, 12:10 |
|
Запуск MAKOVA SMWrap на Intersystems Cache 2015
|
|||
---|---|---|---|
#18+
Alexey Maslov, Что касается %Z* , то вы абсолютно правы. Я так и хотел сделать, но на SMWrap уже написан один проект (автоматизация аптек). Он использует в своих модулях классы из системной области (пример: %TMTimer) Естественно Cache’, преобразовывает в “%Library.TMTimer ” преобразовать его в “%ZLibrary.TM*” проблематично. Проект писался продолжительный период времени (более 10 лет на Cache’5), и браться за его переделку очень страшно. Новая версия должна быть максимально совместима с предыдущими наработками, для безболезненного перехода на неё. Предполагаю, что в других проектах может быть такая же проблема. В связи с этим я не вижу возможности отказаться от записи в область “CACHELIB”. При переходе между версиями Cache’ конечно же придется опять импортировать SMWrap.xml. По-другому никак. Нужно будет этот факт отметить в инструкции. Напишите, пожалуйста, пример код переключения CACHELIB в режим записи и обратно. Вещь полезная, может пригодиться в других разработках. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.01.2018, 12:49 |
|
Запуск MAKOVA SMWrap на Intersystems Cache 2015
|
|||
---|---|---|---|
#18+
MyasnikovIAЧто касается %Z* ... Проект писался продолжительный период времени (более 10 лет на Cache’5), и браться за его переделку очень страшно.Рекомендуется не %Z*/z*, а только %z*, с тех пор как появился %ZEN.*. Насчёт страшно: не знаю, мы свой проект (немаленький, поверьте) в своё время переделали, вообще отказавшись от %-ных классов, и вздохнули с облегчением: настолько упростилась и разработка, и эксплуатация. Но хозяин - барин. MyasnikovIAНапишите, пожалуйста, пример код переключения CACHELIB в режим записи и обратно. Вещь полезная, может пригодиться в других разработках.Костяк кода: Код: javascript 1. 2. 3.
У меня этот код выполнялся на последнем этапе установки Cache', поэтому проверки/установки необходимых привилегий отсутствуют. Посмотрите в документации класса SYS.Database, что там требуется. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.01.2018, 14:37 |
|
Запуск MAKOVA SMWrap на Intersystems Cache 2015
|
|||
---|---|---|---|
#18+
Alexey Maslov, Большое спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.01.2018, 16:26 |
|
Запуск MAKOVA SMWrap на Intersystems Cache 2015
|
|||
---|---|---|---|
#18+
MyasnikovIAНовая версия должна быть максимально совместима с предыдущими наработками, для безболезненного перехода на неёне стоит думать о этом так, большая часть вашей сейчас работы это поддержка новых версий Cache. Это в любом случае для конечного пользователя приведет к необходимости провести обновление. Или смотрите на ваши изменения как на отдельный проект. Обе стороны проекта должны быть новой версии, зачем вам поддерживать в клиенте старый сервер и наоборот. Старый проект не ваш, вы просто предлагаете пользователям старого проекта перейти на ваш, пусть и основанном на старом. Но большую часть старого вы можете поддержать путем миграции, не думаю что это очень сложно сделать. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.01.2018, 19:31 |
|
Запуск MAKOVA SMWrap на Intersystems Cache 2015
|
|||
---|---|---|---|
#18+
DAiMorMyasnikovIAНовая версия должна быть максимально совместима с предыдущими наработками, для безболезненного перехода на неёне стоит думать о этом так, большая часть вашей сейчас работы это поддержка новых версий Cache. Это в любом случае для конечного пользователя приведет к необходимости провести обновление. Или смотрите на ваши изменения как на отдельный проект. Обе стороны проекта должны быть новой версии, зачем вам поддерживать в клиенте старый сервер и наоборот. Старый проект не ваш, вы просто предлагаете пользователям старого проекта перейти на ваш, пусть и основанном на старом. Но большую часть старого вы можете поддержать путем миграции, не думаю что это очень сложно сделать. Можно написать Олегу Чередниченко на oli @ esc . ru про переход на другую версию SMWrap проекта МАптека+ ... |
|||
:
Нравится:
Не нравится:
|
|||
09.01.2018, 21:01 |
|
Запуск MAKOVA SMWrap на Intersystems Cache 2015
|
|||
---|---|---|---|
#18+
Alexey Maslov Насчёт страшно: не знаю, мы свой проект (немаленький, поверьте) в своё время переделали, вообще отказавшись от %-ных классов, и вздохнули с облегчением: настолько упростилась и разработка, и эксплуатация. Но хозяин - барин. Поддерживаю. В этом случае многое упростится. В том числе появится возможность тестировать/использовать разные версии в разных неймспейсах. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.01.2018, 21:42 |
|
Запуск MAKOVA SMWrap на Intersystems Cache 2015
|
|||
---|---|---|---|
#18+
DAiMor, Причина, по которой я стал задуряться с обратной совместимостью, связанна с тем, чтобы не растерять старые проекты. А в идеале запустить новый исполняемый файл на старом проекте и чтобы все заработало. Но как показала практика это утопия, и скорее всего, придется пойти по пути написания конвертора. Если у вас есть еще мнение по поводу направления развития проекта, то высказывайте, я его обязательно постараюсь учесть. Заранее спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.01.2018, 05:44 |
|
Запуск MAKOVA SMWrap на Intersystems Cache 2015
|
|||
---|---|---|---|
#18+
ну я, Большое спасибо. Контакт Олега у меня уже есть, мы с ним общались пару лет назад, по этому вопросу. Собственно говоря, с этого разговора и появилась идея возродить проект. С того времени уже сменил работодателя (сейчас работаю в сфере ЖКХ на технологии Cache’ WEB), и проект М-аптека использую в качестве полигона для тестирования (Новосибирская версия 2.28). Контакты с бывшими работодателями не поддерживаю. В прочем там работают ребята умные, думаю, они сориентируются. От Олега я получил великолепную программку конвертора ”Convert2012.mac”, она есть в SMWrap.xml. На её основе можно создать конвертор, там уже все основное есть. Остается немного допилить. Специалисты проекта М-Аптека смогут это сделать лучше меня. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.01.2018, 05:50 |
|
Запуск MAKOVA SMWrap на Intersystems Cache 2015
|
|||
---|---|---|---|
#18+
Павел Мархотин, Честно говоря не могу представить такую ситуацию, когда есть необходимость на одном сервере держать несколько версий SMWrap. Кажется это совсем крайний случай. Сейчас все компоненты формы расположены в классах “%Library.TM*”, это позваляет иметь доступ из любой области имен. Естественно для того, чтобы поместить эти классы в системе необходимо открыть на запись “CACHELIB”, (об этом писал ранее) . Благодаря помощи “Alexey Maslov” я понял как запилить старый инсталлятор(*.exe) для развертывания классов в новых версиях при инсталляции SMWrap (как в версии smwrap3.4.0.6.exe). Просто в инсталляции появится выбор места установки, в зависимости от неё классы будут развёртываться или “%Library.TM*” или “%ZLibrary.TM*”( %Z* не требует режим записи в “CACHELIB” ) . Но это еще только мысли в слух. Надо будет все переосмыслить, чтобы учесть все пожелания. “И овцы целы и волки сыты - Вечная память пастуху” ... |
|||
:
Нравится:
Не нравится:
|
|||
10.01.2018, 05:55 |
|
|
start [/forum/topic.php?fid=39&startmsg=39564120&tid=1556281]: |
0ms |
get settings: |
11ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
40ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
62ms |
get tp. blocked users: |
2ms |
others: | 14ms |
total: | 166ms |
0 / 0 |