View Issue Details

IDProjectCategoryView StatusLast Update
0002481Wishes.Plugins_Commonpublic2013-09-08 15:26
ReporterAcerbic Assigned Tozg  
PrioritylowSeverityfeatureReproducibilityalways
Status closedResolutionwon't fix 
Product Version3.0 
Summary0002481: Открыть настройки из far:config плагинам для чтения/записи. Open settings from far:config for reading/writing from plugins
DescriptionСобственно, почему бы и нет? Если плаг злонамеренный, то он и так может дел натворить, нет смысла ограничивать функционал плагинов из-за паранойи.
TagsNo tags attached.

Activities

shmuel

2013-09-05 17:06

developer   bugnote:0011399

lm:post far.Message(Far.Cfg_Get("Cmdline","PromptFormat"))

1. Писать таким образом нельзя, только читать.
2. Закрытые настройки не являются частью API плагинов и их формат может
измениться в один прекрасный день без предупреждения.

zg

2013-09-05 23:04

developer   bugnote:0011400

Last edited: 2013-09-05 23:05

а если плагин не злонамеренный, то и менять настройки ему не нужно.

Acerbic

2013-09-06 20:27

reporter   bugnote:0011404

на утверждение zg я ответил на форуме, кому интересно: http://forum.farmanager.com/viewtopic.php?f=15&t=8026&p=112984#p112984

В общих чертах, давайте не решать за плагинописателей, что им нужно, а что нет. Нет никакой рациональной причины, чтобы "запрещать и не пускать". Никакой супер-безопасности этот запрет не создаёт в принципе.

zg

2013-09-06 20:57

developer   bugnote:0011405

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

Acerbic

2013-09-07 12:04

reporter   bugnote:0011406

zg, что вы имеете ввиду? Я не понял, что вы хотели сказать. У пользователя настройки никто и не предлагает отнимать. Пользователь выделяет кредит доверия плагину, когда устанавливает его. Это доверие заведомо значительное и "слепое", т.к. пользователь не смотрит исходники и не собирает плаг из них. Устанавливать или нет определённый плагин - всегда в компетенции пользователя.

И поскольку плагинам открыто WinAPI, нет никаких разумных причин не открыть им и far:config - тем более, что ничего термоядерного там не хранится.

shmuel

2013-09-07 12:39

developer   bugnote:0011407

По-видимому имелось в виду, что настройки - прерогатива пользователя, и плагин не имеет права их менять за спиной у пользователя. С этим можно согласиться. С другой стороны, если это делается не "за спиной", т.е. в доках плагина явно указывается какие настройки и для чего меняются, то тут уже пользователь может квалифицированно решить, надо ему это или нет.

zg

2013-09-07 14:23

developer   bugnote:0011408

> пользователь может квалифицированно решить
а если не может? а если после этого багрепорт напишет и проблема выяснится на девятой странице обсуждения на форуме?
> И поскольку плагинам открыто WinAPI
ну так меняйте прямо в памяти, какие проблемы?
> тем более, что ничего термоядерного там не хранится.
ещё под первый фар был плагин, который при старте менял кнопкосочетание для xlat на shiftX. было очень «весело».

shmuel

2013-09-07 14:45

developer   bugnote:0011409

>> пользователь может квалифицированно решить
> а если не может? а если после этого багрепорт напишет и проблема выяснится
> на девятой странице обсуждения на форуме?

Кто-то в своё время активно доказывал (в защиту добавления обработчиков событий к макросам), что Фар - не для каких-то абстрактных домохозяек.

zg

2013-09-07 14:46

developer   bugnote:0011410

не вижу связи?

shmuel

2013-09-07 14:52

developer   bugnote:0011411

Тогда в чём разница?

zg

2013-09-07 16:03

developer   bugnote:0011412

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

shmuel

2013-09-07 16:38

developer   bugnote:0011413

Технически проблемы не было, только морально:
t-rex опасался, "чего бы не случилось", когда мощный инструмент попадёт в руки недостаточно квалифицированных пользователей ("домохозяек"), которые дров наломают и в форуме всех замучают своими вопросами.

zg

2013-09-07 16:47

developer   bugnote:0011414

разница в том, что макрос можно снести, и будет как раньше.
тут же, даже если far /p запустить, как раньше уже не будет.

shmuel

2013-09-07 17:04

developer   bugnote:0011415

Полной аналогии, разумеется, нет, а частичная - налицо. Суть в том, что мы ориентируемся больше на квалифицированных пользователей, которые хотя бы ридми плагина читают, а не просто ставят плагин, чтобы посмотреть, что из этого выйдет.

DrKnS

2013-09-07 17:13

administrator   bugnote:0011416

Паттерн "плагин реализует функциональность путем изменения настроек" - это колхоз.

Если считаете, что ваша идея способна осчастливить не только её автора - делайте прототип, костылями или еще как, и показывайте публике.

Если оно действительно того стоит - в fargroup как бы не враги, можно придумать api или засунуть прямо в far.

Ситуация "смотрите, какую я тут написал цяцю, ей пользуются миллионы! Давайте расширим api, чтобы было ещё удобнее и красивее" всё же сильно отличается от ситуации "а давайте вы разрешите делать что попало и будете это до скончания веков поддерживать, а я потом плагин напишу, может быть."

zg

2013-09-07 17:45

developer   bugnote:0011417

> хотя бы ридми плагина читают
а кто гарантирует, что поведение в реадми будет отражено?

shmuel

2013-09-07 17:49

developer   bugnote:0011418

> а кто гарантирует, что поведение в реадми будет отражено?

Ну я об этом выше писал (http://bugs.farmanager.com/view.php?id=2481#c11407)

zg

2013-09-07 17:55

developer   bugnote:0011419

и где там про то, как гарантировать, чтобы хотя бы все писали?

shmuel

2013-09-07 18:00

developer   bugnote:0011420

А что, гарантии нужны только в этом случае? На все остальные случаи в жизни (и в Фаре) у нас есть письменные гарантии? :)

Issue History

Date Modified Username Field Change
2013-09-05 14:07 Acerbic New Issue
2013-09-05 17:06 shmuel Note Added: 0011399
2013-09-05 23:04 zg Note Added: 0011400
2013-09-05 23:05 zg Note Edited: 0011400
2013-09-06 20:27 Acerbic Note Added: 0011404
2013-09-06 20:57 zg Note Added: 0011405
2013-09-07 12:04 Acerbic Note Added: 0011406
2013-09-07 12:39 shmuel Note Added: 0011407
2013-09-07 14:23 zg Note Added: 0011408
2013-09-07 14:45 shmuel Note Added: 0011409
2013-09-07 14:45 zg Priority immediate => low
2013-09-07 14:45 zg Severity major => feature
2013-09-07 14:46 zg Note Added: 0011410
2013-09-07 14:52 shmuel Note Added: 0011411
2013-09-07 16:03 zg Note Added: 0011412
2013-09-07 16:38 shmuel Note Added: 0011413
2013-09-07 16:47 zg Note Added: 0011414
2013-09-07 17:04 shmuel Note Added: 0011415
2013-09-07 17:13 DrKnS Note Added: 0011416
2013-09-07 17:45 zg Note Added: 0011417
2013-09-07 17:49 shmuel Note Added: 0011418
2013-09-07 17:55 zg Note Added: 0011419
2013-09-07 18:00 shmuel Note Added: 0011420
2013-09-08 15:26 zg Status new => closed
2013-09-08 15:26 zg Assigned To => zg
2013-09-08 15:26 zg Resolution open => won't fix