Дополнения к SMath Studio: различия между версиями

Материал из SMath Wiki
Перейти к навигации Перейти к поиску
 
(не показано 9 промежуточных версий этого же участника)
Строка 6: Строка 6:


== Установка дополнений ==
== Установка дополнений ==
Дополнения могут быть загружены и установлены в программу SMath Studio различными способами, при этом способ установки не влияет на предоставляемый функционал.
Дополнения могут быть загружены и установлены в программу [[SMath Studio]] различными способами, при этом способ установки не влияет на предоставляемый функционал.
Некоторые дополнения могут требовать подключения к сети Интернет или дополнительных библиотек/программ, установленных в операционной системе. Для доступа к информации о технических требованиях и ограничениях, пожалуйста, ознакомьтесь с инструкцией к самим дополнениям.
Некоторые дополнения могут требовать подключения к сети Интернет или дополнительных библиотек/программ, установленных в операционной системе. Для доступа к информации о технических требованиях и ограничениях, пожалуйста, ознакомьтесь с инструкцией к самим дополнениям.


=== Онлайн установка ===
=== Онлайн установка ===
Для онлайн установки дополнений необходимо:
Для онлайн установки дополнений необходимо:
# Открыть Менеджер расширений (используя главное меню "Сервис" > "Дополнения...");
# Открыть [[Менеджер расширений]] (используя главное меню "Сервис" > "Дополнения...");
# Перейдите на закладку "Дополнения" и переключите источник с "Локальное хранилище" в "Галерея онлайн";
# Перейдите на закладку "Дополнения" и переключите источник с "Локальное хранилище" в "Галерея онлайн";
# Выберите необходимое дополнение из списка и нажмите "Установить";
# Выберите необходимое дополнение из списка и нажмите "Установить";
Строка 23: Строка 23:
#* скачайте интересующие вас дополнения в ZIP формате;
#* скачайте интересующие вас дополнения в ZIP формате;
#* обратите внимание, что нет необходимости разархивировать скачанные ZIP файлы.
#* обратите внимание, что нет необходимости разархивировать скачанные ZIP файлы.
# На ПК с установленной программой SMath Studio без подключения к сети Интернет:
# На ПК с установленной программой [[SMath Studio]] без подключения к сети Интернет:
#* перенесите скачанные файлы на ПК;
#* перенесите скачанные файлы на ПК;
#* используя drag'n'drop перенесите дополнения по одному в основное окно программы;
#* используя drag'n'drop перенесите дополнения по одному в основное окно программы;
Строка 29: Строка 29:


== Разработка дополнений ==
== Разработка дополнений ==
Для сторонних разработчиков мы предоставляем возможность создания новых дополнений согласно требованиям заказчика. В качестве примера можно использовать дополнения, для которых доступны исходные коды. Репозиторий доступен по адресу [https://smath.info/svn/public SVN репозиторий SMath].
Для сторонних разработчиков мы предоставляем возможность создания новых дополнений согласно требованиям заказчика. В качестве примера можно использовать дополнения, для которых доступны [[Открытый исходный код|открытые исходные коды]].
 
=== Получение доступа к репозиторию ===
Инструкция для получения исходного кода открытых дополнений:
# Скачайте SVN клиента: [https://tortoisesvn.net/ TortoiseSVN].
# Установите скачанную программу (может потребоваться перезагрузка).
# Создайте на своем ПК папку, в которой вы хотите хранить исходники.
# Щелкните правой кнопкой мыши по созданной папке и выберите пункт "SVN Checkout..." из контекстного меню папки.
# Заполните текстовые поля в появившемся диалоговом окне (обычно требуется указать только URL-адрес репозитория) и нажмите кнопку ОК.
#: https://smath.com/svn/public
# Доступные исходные файлы будут загружены.


=== Создание дополнения ===
=== Создание дополнения ===
Строка 46: Строка 36:
# Установите текущую актуальную версию [https://visualstudio.microsoft.com/ru/vs/community/ Visual Studio Community].
# Установите текущую актуальную версию [https://visualstudio.microsoft.com/ru/vs/community/ Visual Studio Community].
# Создайте проект "Class Library (.Net Framework)", указав .Net Framework 2.0 в поле Framework в диалоге создания проекта.
# Создайте проект "Class Library (.Net Framework)", указав .Net Framework 2.0 в поле Framework в диалоге создания проекта.
# Реализуйте один или несколько интерфейсов SMath Studio, унаследованных от IPlugin:
# Реализуйте один или несколько интерфейсов SMath Studio, унаследованных от [https://smath.com/documentation/api/html/T_SMath_Manager_IPlugin.htm IPlugin]:
#* '''IPluginLowLevelEvaluationFast''' - перехват вычисления операторов и функций.
#* [https://smath.com/documentation/api/html/T_SMath_Math_IPluginLowLevelEvaluationFast.htm IPluginLowLevelEvaluationFast] - перехват вычисления операторов и функций.
#* '''IPluginMathNumericEvaluation''' - перехват численных вычислений.
#* [https://smath.com/documentation/api/html/T_SMath_Math_Numeric_IPluginMathNumericEvaluation.htm IPluginMathNumericEvaluation] - перехват численных вычислений.
#* '''IPluginCustomRegion''' - создание типа элемента листа.
#* [https://smath.com/documentation/api/html/T_SMath_Controls_IPluginCustomRegion.htm IPluginCustomRegion] - создание типа элемента листа.
#* '''IPluginRegionDrawing''' - отрисовка элемента формулы в математической формуле.
#* IPluginRegionDrawing - отрисовка элемента формулы в математической формуле.
#* '''IPluginSaveFileTypes''' - сохранение расчёта в файл.
#* [https://smath.com/documentation/api/html/T_SMath_Controls_IPluginSaveFileTypes.htm IPluginSaveFileTypes] - сохранение расчёта в файл.
#* '''IPluginOpenFileTypes''' - открытие расчёта из файла.
#* [https://smath.com/documentation/api/html/T_SMath_Controls_IPluginOpenFileTypes.htm IPluginOpenFileTypes] - открытие расчёта из файла.
#* '''IPluginDataInputOutput''' - формат задания начальных данных и результатов расчёта для автоматизации и интеграции с другими приложениями.
#* [https://smath.com/documentation/api/html/T_SMath_Controls_IPluginDataInputOutput.htm IPluginDataInputOutput] - формат задания начальных данных и результатов расчёта для автоматизации и интеграции с другими приложениями.
#* '''IPluginMenuExtender''' - расширение главного меню программы.
#* [https://smath.com/documentation/api/html/T_SMath_Controls_IPluginMenuExtender.htm IPluginMenuExtender] - расширение главного меню программы.
 
Обратите внимание, что для обеспечения максимальной совместимости вашего дополнения с различными платформами, везде, где необходимо производить отрисовку какой-либо графики, рекомендуется использовать библиотеку [[SMath Studio Drawing]].
 
=== Отладка дополнения ===
В процессе разработки возникает необходимость проверки работоспособности созданного исходного кода. Для того, чтобы выполнить код вашего дополнения в контексте процесса [[SMath Studio]] выполните следующие шаги:
# Создайте сборки вашего дополнения в Visual Studio в режиме ''Debug'' (при этом будут также сгенерированы отладочные *.pdb файлы).
# Скопируйте выходные результаты в папку plugins, находящуюся в установочной директории программы [[SMath Studio]].
# Запустите программу [[SMath Studio]].
# При необходимости отладки с использованием точек останова используйте следующую функцию Visual Studio: ''Attach to Process...'', доступную в меню ''Debug''.
# В открывшемся диалоговом окне в списке доступных процессов выберите программу [[SMath Studio]] (обычно это - Solver.exe) и нажмите кнопку ''Attach''.
 
Обратите внимание, что после любого изменения кода необходимо повторить все описанные действия.


=== Доставка созданного дополнения ===
=== Доставка созданного дополнения ===
Чтобы ваше дополнение стало частью стандартного процесса доставки дополнений пользователям, необходимо выполнить следующие шаги:
Чтобы ваше дополнение стало частью стандартного процесса доставки дополнений пользователям, необходимо выполнить следующие шаги:
# Обратитесь по адресу [mailto:support@smath.com support@smath.com] для получения прав на запись в публичный SVN репозиторий.
# Загрузите исходный код дополнения в [[Открытый исходный код|публичный SVN репозиторий]].
# Зайдите в [[Менеджер релизов]] проекта по адресу https://smath.com/ReleaseManager/ и создайте в нём новое дополнение, указав путь к его исходным кодам в публичном SVN репозитории.
# Зайдите в [[Менеджер релизов]] проекта по адресу https://smath.com/ReleaseManager/ и создайте в нём новое дополнение, указав путь к его исходным кодам в [[Открытый исходный код|публичном SVN репозитории]].
# Соберите (кнопка Build) дополнение в [[Менеджер релизов|Менеджере релизов]], проверьте, что в логе нет никаких предупреждений и ошибок. Если предупреждения или ошибки были выявлены, то исправьте их и повторите сборку.
# Соберите (кнопка ''Build'') дополнение в [[Менеджер релизов|Менеджере релизов]], проверьте, что в логе нет никаких предупреждений и ошибок. Если предупреждения или ошибки были выявлены, то исправьте их и повторите сборку.
# После успешного прохождения этапа сборки опубликуйте (кнопка Publish) дополнение в реестре дополнений.
# После успешного прохождения этапа сборки опубликуйте (кнопка ''Publish'') дополнение в реестре дополнений.
# Первый результат публикации дополнения может потребовать проверки и подтверждение со стороны команды SMath. Для ускорения этой процедуры необходимо связаться с разработчиками по адресу e-mail: [mailto:support@smath.com support@smath.com].
# Первый результат публикации дополнения может потребовать проверки и подтверждение со стороны [[ООО «ЭсМат»|команды SMath]]. Для ускорения этой процедуры необходимо связаться с [[ООО «ЭсМат»|разработчиками]] по адресу e-mail: [mailto:support@smath.com support@smath.com].
# В итоге дополнение попадёт в реестр дополнений и будет доступно всем пользователям программы [[SMath Studio]] через [[Менеджер расширений]], встроенный в программу.
# В итоге дополнение попадёт в реестр дополнений и будет доступно всем пользователям программы [[SMath Studio]] через [[Менеджер расширений]], встроенный в программу.


[[Category:Руководство]]
[[Category:Руководство]]

Текущая версия от 23:21, 9 сентября 2024

Возможности программы SMath Studio могут быть расширены путём установки дополнений. Дополнения делятся на коммерческие и сторонние и могут влиять на следующий функционал:

  1. Импорт и экспорт документов в формате файлов сторонних приложений.
  2. Символьное и численное вычисление.
  3. Поддержку дополнительных элементов листа расчётов.
  4. Добавление элементов в интерфейс программы (боковую панель и главное меню).

Установка дополнений

Дополнения могут быть загружены и установлены в программу SMath Studio различными способами, при этом способ установки не влияет на предоставляемый функционал. Некоторые дополнения могут требовать подключения к сети Интернет или дополнительных библиотек/программ, установленных в операционной системе. Для доступа к информации о технических требованиях и ограничениях, пожалуйста, ознакомьтесь с инструкцией к самим дополнениям.

Онлайн установка

Для онлайн установки дополнений необходимо:

  1. Открыть Менеджер расширений (используя главное меню "Сервис" > "Дополнения...");
  2. Перейдите на закладку "Дополнения" и переключите источник с "Локальное хранилище" в "Галерея онлайн";
  3. Выберите необходимое дополнение из списка и нажмите "Установить";
  4. Дополнения будут установлены и готовы к использованию.

Офлайн установка

Для установки дополнений в офлайн режиме необходимо:

  1. Используя любой ПК с подключенной сетью Интернет:
    • перейдя на страницу Профиль пользователя - SMath убедитесь, что вы используете учётную запись, указанную в электронной лицензии;
    • перейдите на страницу: Дополнения SMath Studio;
    • скачайте интересующие вас дополнения в ZIP формате;
    • обратите внимание, что нет необходимости разархивировать скачанные ZIP файлы.
  2. На ПК с установленной программой SMath Studio без подключения к сети Интернет:
    • перенесите скачанные файлы на ПК;
    • используя drag'n'drop перенесите дополнения по одному в основное окно программы;
    • дополнения будут установлены.

Разработка дополнений

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

Создание дополнения

Для работы с кодом дополнений на ОС Windows, пожалуйста, выполните следующие шаги:

  1. Установите текущую актуальную версию SMath Studio.
  2. Установите текущую актуальную версию Visual Studio Community.
  3. Создайте проект "Class Library (.Net Framework)", указав .Net Framework 2.0 в поле Framework в диалоге создания проекта.
  4. Реализуйте один или несколько интерфейсов SMath Studio, унаследованных от IPlugin:
    • IPluginLowLevelEvaluationFast - перехват вычисления операторов и функций.
    • IPluginMathNumericEvaluation - перехват численных вычислений.
    • IPluginCustomRegion - создание типа элемента листа.
    • IPluginRegionDrawing - отрисовка элемента формулы в математической формуле.
    • IPluginSaveFileTypes - сохранение расчёта в файл.
    • IPluginOpenFileTypes - открытие расчёта из файла.
    • IPluginDataInputOutput - формат задания начальных данных и результатов расчёта для автоматизации и интеграции с другими приложениями.
    • IPluginMenuExtender - расширение главного меню программы.

Обратите внимание, что для обеспечения максимальной совместимости вашего дополнения с различными платформами, везде, где необходимо производить отрисовку какой-либо графики, рекомендуется использовать библиотеку SMath Studio Drawing.

Отладка дополнения

В процессе разработки возникает необходимость проверки работоспособности созданного исходного кода. Для того, чтобы выполнить код вашего дополнения в контексте процесса SMath Studio выполните следующие шаги:

  1. Создайте сборки вашего дополнения в Visual Studio в режиме Debug (при этом будут также сгенерированы отладочные *.pdb файлы).
  2. Скопируйте выходные результаты в папку plugins, находящуюся в установочной директории программы SMath Studio.
  3. Запустите программу SMath Studio.
  4. При необходимости отладки с использованием точек останова используйте следующую функцию Visual Studio: Attach to Process..., доступную в меню Debug.
  5. В открывшемся диалоговом окне в списке доступных процессов выберите программу SMath Studio (обычно это - Solver.exe) и нажмите кнопку Attach.

Обратите внимание, что после любого изменения кода необходимо повторить все описанные действия.

Доставка созданного дополнения

Чтобы ваше дополнение стало частью стандартного процесса доставки дополнений пользователям, необходимо выполнить следующие шаги:

  1. Загрузите исходный код дополнения в публичный SVN репозиторий.
  2. Зайдите в Менеджер релизов проекта по адресу https://smath.com/ReleaseManager/ и создайте в нём новое дополнение, указав путь к его исходным кодам в публичном SVN репозитории.
  3. Соберите (кнопка Build) дополнение в Менеджере релизов, проверьте, что в логе нет никаких предупреждений и ошибок. Если предупреждения или ошибки были выявлены, то исправьте их и повторите сборку.
  4. После успешного прохождения этапа сборки опубликуйте (кнопка Publish) дополнение в реестре дополнений.
  5. Первый результат публикации дополнения может потребовать проверки и подтверждение со стороны команды SMath. Для ускорения этой процедуры необходимо связаться с разработчиками по адресу e-mail: support@smath.com.
  6. В итоге дополнение попадёт в реестр дополнений и будет доступно всем пользователям программы SMath Studio через Менеджер расширений, встроенный в программу.