Как стать автором
Обновить

Комментарии 5

Итак, буду первым комментатором))
Сегодня узнал, что сделали поддержку C# и мне стало это интересно. Ознакомился со справкой (с вступлением), скачал SDK, попробовал примеры и сразу возникли вопросы. Писать на почту не стал, чтобы еще кто-то мог подключиться к общению или почитать ответ.
Итак, вопросы и замечания:
1. В справке (http://help.rengabim.com/api/index.html#how-to-install-plugin) написано:
If some errors prevent the plugin from loading successfully, you can check the application log for details. The log is stored in %localappdata%/Ascon/Renga Architecture/AecApp.log.
В этом пути нет Ascon! Поправьте
2. Как мне программно узнать, где находится Ренга? Нашёл в реестре HKEY_LOCAL_MACHINE\SOFTWARE\ASCON, но там только информация о лицензии.
3. К вопросу о лицензии — допустим, я хочу попробовать написать плагин для Ренги — я должен успеть за 60 дней? Или купить? Нет, спасибо))
4. Самый главный вопрос из-за которого я и решил написать — вопрос по установке плагинов. Плагины читаются из папки [Renga Installation directory]/Plugins/ и это ОЧЕНЬ ПЛОХАЯ ИДЕЯ! По умолчанию Ренга ставится в Program Files и в большинстве случаев у пользователей в проектных организациях НЕТ ТУДА ДОСТУПА!
Здравствуйте, спасибо за комментарии!
1. Вы правы, путь поменялся, поправим.
2. Напишите на почту, вышлем ключ реестра с путем, инсталлятор прописывает путь. Наверное стоит добавить в справку API, подумаем.
3. Специальной лицензии для разработчиков нет. Помимо триала есть бесплатная лицензия для некоммерческого использования, можете получить на сайте.
4. Разработчики плагинов, как правило, делают свой инсталлятор, требующий повышения прав. Renga при установке тоже требует повышения прав. Если пользователь проектной организации установил Renga, то, скорее всего, установит и плагин. Если же это делал администратор, то тогда, видимо, это его ответственность.
Добавьте ключ реестра в справку — это будет правильно.
Бесплатная лицензия действует 60 дней. Или вы про что-то другое?

Я являюсь разработчиком плагина ModPlus. Можете погуглить. Так вот — основная идея, к которой я очень долго шёл, заключается в том, что мой плагин по сути является платформой и позволяет подключать нужные пользователю функции. Поэтому, первым делом, я оцениваю возможность написания плагинов под Ренгу с точки зрения своих меркантильных целей.
В моём случае имеется всего-лишь один плагин, который подключается к конечному продукту (Автокад, Ревит) и который уже сам загружает все остальное. Можно ли такое реализовать в Ренге? Что-то я пока в этом не уверен.
Конечно, я могу и по-другому сделать — копировать конкретные плагины в папку Plugins (как у вас и задумано), но возникают другие проблемы — зависимые библиотеки. Например, у меня есть своя библиотека ModPlusAPI.dll которую «потребляют» абсолютно все части плагина. Копировать её каждый раз в папку Ренги — плохая идея. И таких библиотек несколько. Плюс, такой подход может вызвать другие проблемы, связанные с конфликтом библиотек разных версий. А если под Ренгу начнут писать плагины, то такие проблемы явно будут. Тот же самый Newtonsoft.Json обновляется постоянно…
В связи с этим возник еще такой вопрос — в файле, описывающем плагин (не знаю как правильно по-русски его назвать) есть элемент PluginFilename. Вопрос — если он будет указывать на файл из другой папки, то Ренга будет грузить этот файл? Могу я в папку с плагином положить только .rndesc?
Бесплатная лицензия выдается без ограничения времени для некоммерческого использования.
Вариант с вынесенным плагином не рассматривали пока, есть обходные пути, но они все с ограничениями. Вроде задания относительного пути в rndesc файле. У нас есть пример крупного продукта/плагина, который имеет отдельный инсталлятор, регистрирует приложение на машине. Его плагин состоит из библиотеки, которая общается с этим приложением посредством COM.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий