View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0002481 | Wishes.Plugins | _Common | public | 2013-09-05 14:07 | 2013-09-08 15:26 |
Reporter | Acerbic | Assigned To | zg | ||
Priority | low | Severity | feature | Reproducibility | always |
Status | closed | Resolution | won't fix | ||
Product Version | 3.0 | ||||
Summary | 0002481: Открыть настройки из far:config плагинам для чтения/записи. Open settings from far:config for reading/writing from plugins | ||||
Description | Собственно, почему бы и нет? Если плаг злонамеренный, то он и так может дел натворить, нет смысла ограничивать функционал плагинов из-за паранойи. | ||||
Tags | No tags attached. | ||||
|
lm:post far.Message(Far.Cfg_Get("Cmdline","PromptFormat")) 1. Писать таким образом нельзя, только читать. 2. Закрытые настройки не являются частью API плагинов и их формат может измениться в один прекрасный день без предупреждения. |
|
а если плагин не злонамеренный, то и менять настройки ему не нужно. |
|
на утверждение zg я ответил на форуме, кому интересно: http://forum.farmanager.com/viewtopic.php?f=15&t=8026&p=112984#p112984 В общих чертах, давайте не решать за плагинописателей, что им нужно, а что нет. Нет никакой рациональной причины, чтобы "запрещать и не пускать". Никакой супер-безопасности этот запрет не создаёт в принципе. |
|
а давайте не будем решать за пользователя, какие настройки у него должны быть. |
|
zg, что вы имеете ввиду? Я не понял, что вы хотели сказать. У пользователя настройки никто и не предлагает отнимать. Пользователь выделяет кредит доверия плагину, когда устанавливает его. Это доверие заведомо значительное и "слепое", т.к. пользователь не смотрит исходники и не собирает плаг из них. Устанавливать или нет определённый плагин - всегда в компетенции пользователя. И поскольку плагинам открыто WinAPI, нет никаких разумных причин не открыть им и far:config - тем более, что ничего термоядерного там не хранится. |
|
По-видимому имелось в виду, что настройки - прерогатива пользователя, и плагин не имеет права их менять за спиной у пользователя. С этим можно согласиться. С другой стороны, если это делается не "за спиной", т.е. в доках плагина явно указывается какие настройки и для чего меняются, то тут уже пользователь может квалифицированно решить, надо ему это или нет. |
|
> пользователь может квалифицированно решить а если не может? а если после этого багрепорт напишет и проблема выяснится на девятой странице обсуждения на форуме? > И поскольку плагинам открыто WinAPI ну так меняйте прямо в памяти, какие проблемы? > тем более, что ничего термоядерного там не хранится. ещё под первый фар был плагин, который при старте менял кнопкосочетание для xlat на shiftX. было очень «весело». |
|
>> пользователь может квалифицированно решить > а если не может? а если после этого багрепорт напишет и проблема выяснится > на девятой странице обсуждения на форуме? Кто-то в своё время активно доказывал (в защиту добавления обработчиков событий к макросам), что Фар - не для каких-то абстрактных домохозяек. |
|
не вижу связи? |
|
Тогда в чём разница? |
|
я не помню, что за проблема была с событиями, что их вот просто нельзя было добавлять. |
|
Технически проблемы не было, только морально: t-rex опасался, "чего бы не случилось", когда мощный инструмент попадёт в руки недостаточно квалифицированных пользователей ("домохозяек"), которые дров наломают и в форуме всех замучают своими вопросами. |
|
разница в том, что макрос можно снести, и будет как раньше. тут же, даже если far /p запустить, как раньше уже не будет. |
|
Полной аналогии, разумеется, нет, а частичная - налицо. Суть в том, что мы ориентируемся больше на квалифицированных пользователей, которые хотя бы ридми плагина читают, а не просто ставят плагин, чтобы посмотреть, что из этого выйдет. |
|
Паттерн "плагин реализует функциональность путем изменения настроек" - это колхоз. Если считаете, что ваша идея способна осчастливить не только её автора - делайте прототип, костылями или еще как, и показывайте публике. Если оно действительно того стоит - в fargroup как бы не враги, можно придумать api или засунуть прямо в far. Ситуация "смотрите, какую я тут написал цяцю, ей пользуются миллионы! Давайте расширим api, чтобы было ещё удобнее и красивее" всё же сильно отличается от ситуации "а давайте вы разрешите делать что попало и будете это до скончания веков поддерживать, а я потом плагин напишу, может быть." |
|
> хотя бы ридми плагина читают а кто гарантирует, что поведение в реадми будет отражено? |
|
> а кто гарантирует, что поведение в реадми будет отражено? Ну я об этом выше писал (http://bugs.farmanager.com/view.php?id=2481#c11407) |
|
и где там про то, как гарантировать, чтобы хотя бы все писали? |
|
А что, гарантии нужны только в этом случае? На все остальные случаи в жизни (и в Фаре) у нас есть письменные гарантии? :) |
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 |