Page 3 of 4

Скрипты (Макросы): Система их названий и описаний

Posted: Thu 28 Aug, 2014 10:14
by John Doe

Latest post of the previous page:

IgorZ wrote:однозначная привязка компонента к пакету открывает возможность манипулировать пакетом как единым целым.
А как быть с *.cfg, *.lng, и т.п.?
Читать ли прямо из них метаинфоромацию, или помещать её в основной скрипт.
И как быть с модулями, загружаемыми по require?
IgorZ wrote:Хотя, можно пойти старым, проверенным путём и складывать все компоненты скрипта в отдельный подкаталог. Тоже вариант, кстати. И почему-то подумал я о нём только сейчас. Надо обмозговать. Впрочем, один недостаток (общий, кстати, для всех вариантов решений) виден сходу - никто не гарантирует обязательность того, что это будет сделано.
Если мета-информация содержится в самом скрипте, то всё зависит от того, заполнил ли её автор. А станет ли автор это делать зависит от того, что это ему даст.
Наша цель - централизованное управление скриптами.
Поэтому будет общий их список, с общей информацией (описание, домашняя страница), откуда можно вызвать справку, конфигурацию и пр.
Но почти то же самое уже можно сделать с помощью MenuItem, не так ли?

Сверх того можно предложить следующее:
  • возможность интерактивно отключить скрипт (или отдельные составляющие)
  • общие средства для хранения и изменения параметров скрипта, чтобы каждому скрипту не приходилось реализовывать собственный велосипед (http://forum.farmanager.com/viewtopic.p ... 97#p120397).
  • контроль минимальной версии фара
  • в перспективе полное управление пакетами: установка (из архива, или онлайн-репозитория), удаление, обновление.
  • ...что ещё?
IgorZ wrote:Лиха беда начало. Думаю, остальных пока сдерживает отсутствие поддержки "искаропки".
Это факт. И никаких гарантий, что "фкаропке" это когда-либо появится.

Update: продолжение тут: http://forum.farmanager.com/viewtopic.php?f=15&t=10418

Re: Скрипты (Макросы): Система их названий и описаний

Posted: Thu 28 Aug, 2014 10:21
by Shmuel
John Doe wrote:И никаких гарантий, что "фкаропке" это когда-либо появится.
Гарантий нет, вероятность есть.

Скрипты: система их названий и описаний

Posted: Mon 23 Oct, 2017 13:44
by John Doe
В соседней теме были затронуты такие вопросы.
sToLp wrote: Sun 22 Oct, 2017 10:222. Формат стационарных макросов дополнить чем-то типа многострочного опционального поля userinfo, с возможностью оперативного доступа к нему в т.ч. из макробраузеров. Для помещения в это поле зачастую необходимой поясняющей пользовательской информации произвольного содержания, порой весьма объёмной.
http://bugs.farmanager.com/view.php?id=3535#c15737 wrote:В это поле предполагаю помещать поясняющую информацию о предназначении макроса, о том как с ним работать, его адрес на сайте, иногда — облегчающие освоение данного макроса цитаты с обсуждением с сайта, другую инфу и т.п. А поскольку поле будет воспроизводиться макробраузерами, то к нему будет удобный оперативный доступ. Вот примерно так.
Отвечая вкратце.
1. Уже говорилось, что поле description прямо сейчас можно использовать как многострочное, вопрос только в поддержке макробраузерами.
2. Выше по теме обсуждалось, что сложные макросы редко бывают отдельные, чаще это набор макросов, расположенных в одном или даже нескольких файлах. Соответственно большая часть информация будет общей для всех макросов, и будет неправильно размещать её в спецификации каждого макроса.
3. Существует готовое и вполне рабочее решение, помимо прочего предоставляющее возможность задать описание скрипту (пакету скриптов) целиком: ScriptsBrowser — управление скриптами.

Лично у меня в браузере сейчас порядка 40 отдельных скриптов, мои и IgorZ.

Скрипты: система их названий и описаний

Posted: Mon 23 Oct, 2017 15:03
by sToLp
Насчёт использования поля description в качестве многострочного пока ещё только начал осваиваться. Пытаюсь приноровиться. И по результатам доложусь.

Касательно же применения ScriptsBrowser`а на текущий момент лично для себя нахожу это слишком сложным. И дополнительно смущает излишне строгое, имхо, структурирование информации.

На мой взгляд, было бы удобнее иметь доступ из макробраузеров к полю (м.б. к полям), хотя бы в одном из которых можно было бы располагать необходимую дополнительную информацию. Структурированную произвольно по своему усмотрению в зависимости от контекста. Если это технически возможно и не слишком отяготит код Far`а.

Скрипты: система их названий и описаний

Posted: Mon 23 Oct, 2017 15:19
by John Doe
sToLp wrote: Mon 23 Oct, 2017 15:03Касательно же применения ScriptsBrowser`а на текущий момент лично для себя нахожу это слишком сложным.
Что именно? Установка ScriptBrowser?
Потому что касательно использования всё может быть вполне прозрачно: в макробраузере на макросе нажимаете CtrlS, и видите всю информацию.
(Сейчас этого нет только потому, что я сто лет не обновлял Macro Browser alt)
sToLp wrote: Mon 23 Oct, 2017 15:03И дополнительно смущает излишне строгое, имхо, структурирование информации.
Например?
sToLp wrote: Mon 23 Oct, 2017 15:03На мой взгляд, было бы удобнее иметь доступ из макробраузеров к полю (м.б. к полям), хотя бы в одном из которых можно было бы располагать необходимую дополнительную информацию.
Я не думаю, что отображать в макроброузере все поля внутренней таблицы макроса это хорошая идея. А значит надо конкретизировать, какие конкретно поля вы хотите, для какой именно информации, и как она должна быть отображена в браузере (то ли прямо в списке, то ли сообщением по особому хоткею, ...).

Скрипты: система их названий и описаний

Posted: Mon 23 Oct, 2017 15:59
by sToLp
John Doe wrote: Mon 23 Oct, 2017 15:19
sToLp wrote: Mon 23 Oct, 2017 15:03Касательно же применения ScriptsBrowser`а на текущий момент лично для себя нахожу это слишком сложным.
Что именно? Установка ScriptBrowser?
Не сама, конечно, установка. А необходимость с одними макросами обращаться к Macro Browser alt, а с другими — к ScriptBrowser. При интенсивной работе такой, казалось бы простой, выбор, как минимум, напрягает. Иногда, — до неприемлемости. По этой же причине в подавляющем большинстве случаев у меня применяется Macro Browser alt, а не нативный Macro Browser.

John Doe wrote: Mon 23 Oct, 2017 15:19(Сейчас этого нет только потому, что я сто лет не обновлял Macro Browser alt)
Лично я приветствовал бы перенесение функциональности ScriptBrowser`а в Macro Browser alt.

John Doe wrote: Mon 23 Oct, 2017 15:19
sToLp wrote: Mon 23 Oct, 2017 15:03И дополнительно смущает излишне строгое, имхо, структурирование информации.
Например?
Вот был приведён под спойлером. И, насколько я понял, это ведь дополнительно к уже имеющей место структуризации, и ещё не предел.

John Doe wrote: Mon 23 Oct, 2017 15:19
sToLp wrote: Mon 23 Oct, 2017 15:03На мой взгляд, было бы удобнее иметь доступ из макробраузеров к полю (м.б. к полям), хотя бы в одном из которых можно было бы располагать необходимую дополнительную информацию.
Я не думаю, что отображать в макроброузере все поля внутренней таблицы макроса это хорошая идея. А значит надо конкретизировать, какие конкретно поля вы хотите, для какой именно информации, и как она должна быть отображена в браузере (то ли прямо в списке, то ли сообщением по особому хоткею, ...).
Разумеется, все поля отображать не надо. А только с кратким содержанием типа область, ключи, частично — описание (description), и, кажется, что-то ещё помаленьку. А остальные — особым вызовом. Да, ведь, в Macro Browser alt с этим, кажется, всё в порядке.

Скрипты: система их названий и описаний

Posted: Mon 23 Oct, 2017 16:46
by John Doe
sToLp wrote: Mon 23 Oct, 2017 15:59Лично я приветствовал бы перенесение функциональности ScriptBrowser`а в Macro Browser alt.
Предполагается не перенесение, а скорее взаимное использование.
sToLp wrote: Mon 23 Oct, 2017 15:59Вот был приведён
А вы не там смотрите.
В шапке прямо над спойлером сказано: Все поля на данный момент опциональны
И кроме перечисленных свободно можно использовать и другие поля.

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

Скрипты: система их названий и описаний

Posted: Mon 23 Oct, 2017 17:31
by sToLp
John Doe wrote: Mon 23 Oct, 2017 16:46чтобы покрыть заявленные вами потребности не хватает только вызова из макробраузера
Да, пожалуй. Недостаёт именно возможности вызова одного многострочного поля. Информацию в которое пользователь помещает на своё усмотрение. Произвольного объёма и произвольной структуры. Иногда, м.б. и такую, как в выше приведённом примере, а в другой раз — совсем иную и по содержанию, и по форме.

Скрипты: система их названий и описаний

Posted: Tue 24 Oct, 2017 19:23
by SUSim
Вы тут абстрактность обсуждение!! ИМХО КОНЕЧНО!
Заставить автора писать пояснения НЕ возможно. Даже Вы, John Doe, ограничиваетесь ссылкой на форум! (Я тоже, не пишу разъяснения).
И приходится шарить по форумам и копировать инфу и дополнительные файлы (что не всегда возможно), чтобы опробовать новый макрос, а не просто скопировать/распоковать - восхититься :)
К плагинам относились серьёзнее и комментарии писали и хелп делали! этого ни кто этого делать не заставлял...

Скрипты: система их названий и описаний

Posted: Tue 24 Oct, 2017 19:55
by John Doe
SUSim wrote: Tue 24 Oct, 2017 19:23Заставить автора писать пояснения НЕ возможно. Даже Вы, John Doe, ограничиваетесь ссылкой на форум!
Зачем же его заставлять)
А вот предоставить возможность — необходимо.

Ссылка на форум это самый минимум, да.
SUSim wrote: Tue 24 Oct, 2017 19:23К плагинам относились серьёзнее и комментарии писали и хелп делали! этого ни кто этого делать не заставлял...
И к макросам можно относится серьёзно, и хелп писать, кто не даёт?

Скрипты: система их названий и описаний

Posted: Tue 24 Oct, 2017 20:17
by SUSim
Минимум должен быть - скопировать, распаковать и попробовать, даже хоть методом тыка... А не искать ещё чтото, или это должно быть в коробке или в системе или в описании, а не в ссылках (чулках :ha: это мне автодополнение Гугла поправило первоначально).
Но это не по теме все... А дополнительное поле информации это надо!

Скрипты: система их названий и описаний

Posted: Tue 24 Oct, 2017 20:23
by John Doe
Согласен. В свои постепенно добавляю

Скрипты: система их названий и описаний

Posted: Wed 25 Oct, 2017 06:31
by IgorZ
А тем временем в замке у шефа...
LuaManager теперь умеет показывать многострочные описания
sToLp, пробуйте. В дистрибутиве лежит test multiline description.lua, в качестве примера.

Скрипты: система их названий и описаний

Posted: Wed 25 Oct, 2017 09:11
by sToLp
IgorZ wrote: Wed 25 Oct, 2017 06:31LuaManager теперь умеет показывать многострочные описания
sToLp, пробуйте. В дистрибутиве лежит test multiline description.lua, в качестве примера.
Спасибо! Попробовал.
И очень даже хорошо получается.
Только пока что меню выбора макросов к этому не вполне приспособлено. Тем, что в строку макроса выводится всё содержание поля description, а не только его первая строка. И получается . Но это, как я понимаю, со временем может быть поправлено.

Скрипты: система их названий и описаний

Posted: Wed 25 Oct, 2017 10:45
by John Doe
sToLp wrote: Wed 25 Oct, 2017 09:11Но это, как я понимаю, со временем может быть поправлено.
Разумно было бы (при необходимости однострочного вывода) обрезать строку после первого перевода.
Ещё не смотрел реализацию в LuaManager, но поскольку многострочные описания не всегда нужны, то и отображение их удобнее иметь режимом.

Code: Select all

Максимальная длина полей описаний. Допустимые значения:
  =0  - Ширина поля описаний равна длине самого длинного описания. Текст описания скрипта и список
        клавиш всегда размещается в одну строку. Многострочные описания выводятся в одну строку.
Вот тут например не очень логично.

Скрипты: система их названий и описаний

Posted: Wed 25 Oct, 2017 11:12
by IgorZ
John Doe wrote: Wed 25 Oct, 2017 10:45 Разумно было бы (при необходимости однострочного вывода) обрезать строку после первого перевода.
Ещё не смотрел реализацию в LuaManager, но поскольку многострочные описания не всегда нужны, то и отображение их удобнее иметь режимом.

Code: Select all

Максимальная длина полей описаний. Допустимые значения:
  =0  - Ширина поля описаний равна длине самого длинного описания. Текст описания скрипта и список
        клавиш всегда размещается в одну строку. Многострочные описания выводятся в одну строку.
Вот тут например не очень логично.
Так логично?

Code: Select all

<0  - Ширина поля описаний в символах. Если содержимое не вмещается, остаток обрезается.
      У многострочных описаний выводится только первая строка.