Как импортировать файловую ассоциацию?
- NightRoman
- Posts: 6225
- Joined: Fri 18 Aug, 2006 13:52
- Location: Cambridge, UK
- Has thanked: 42 times
- Been thanked: 62 times
- Contact:
Как импортировать файловую ассоциацию?
Вопрос возник тут -- http://forum.farmanager.com/viewtopic.p ... 84#p124984
Надо импортировать одну файловую ассоциацию при установке плагина, в идеале, из бат файла. Я предложил использовать Far.exe /import deploy.farconfig. Этот способ годится для первого раза, когда установка идет вместе с Фаром. Но для обновлений или до-установки к уже работающему Фару не очень годится, потому что, оказывается, что все уже имеющиеся ассоциации будут перезаписаны.
Есть ли относительно просто автоматизируемый способ импортировать файловую ассоциацию? А если нет, то можно ли придумать что-то? Юз-кейс, вроде, вполне практичный - есть плагин и он для удобства работы предлагает использование ассоциации с ним. Одно дело - сказать пользователям "добавьте ручками сами", хотя и можно. Другое дело - сказать "запустите этот скрипт" или сделать это автоматически в уже имеющейся процедуре установки плагина.
P.S. Не так все просто, наверное. Как быть, если подобная ассоциация уже имеется? Сходу - неочевидно. Можно ведь перезаписать, а можно и добавить дополнительно. Точная идентификация ассоциаций вроде не предусмотрена (для сценария "перезаписать имеющуюся, если нет - добавить").
Надо импортировать одну файловую ассоциацию при установке плагина, в идеале, из бат файла. Я предложил использовать Far.exe /import deploy.farconfig. Этот способ годится для первого раза, когда установка идет вместе с Фаром. Но для обновлений или до-установки к уже работающему Фару не очень годится, потому что, оказывается, что все уже имеющиеся ассоциации будут перезаписаны.
Есть ли относительно просто автоматизируемый способ импортировать файловую ассоциацию? А если нет, то можно ли придумать что-то? Юз-кейс, вроде, вполне практичный - есть плагин и он для удобства работы предлагает использование ассоциации с ним. Одно дело - сказать пользователям "добавьте ручками сами", хотя и можно. Другое дело - сказать "запустите этот скрипт" или сделать это автоматически в уже имеющейся процедуре установки плагина.
P.S. Не так все просто, наверное. Как быть, если подобная ассоциация уже имеется? Сходу - неочевидно. Можно ведь перезаписать, а можно и добавить дополнительно. Точная идентификация ассоциаций вроде не предусмотрена (для сценария "перезаписать имеющуюся, если нет - добавить").
- NightRoman
- Posts: 6225
- Joined: Fri 18 Aug, 2006 13:52
- Location: Cambridge, UK
- Has thanked: 42 times
- Been thanked: 62 times
- Contact:
Как импортировать файловую ассоциацию?
Да, это вариант. Но бат файл установки тут уже не вариант. PowerShell скрипт такое может сделать относительно легко (кому как, конечно).
- John Doe
- Бюрократ
- Posts: 14585
- Joined: Wed 27 Apr, 2005 20:42
- Location: github.com/FarManagerLegacy
- Has thanked: 92 times
- Been thanked: 515 times
- Contact:
Как импортировать файловую ассоциацию?
Не знаю как сейчас, но в changelog'е есть записьNightRoman wrote:Я предложил использовать Far.exe /import deploy.farconfig. Этот способ годится для первого раза, когда установка идет вместе с Фаром. Но для обновлений или до-установки к уже работающему Фару не очень годится, потому что, оказывается, что все уже имеющиеся ассоциации будут перезаписаны.
Перед импортом, все текущие ассоциации удаляются (обсуждалось).Можно было бы добавить ключик, запрещающий удалять, тогда импортировать новую ассоциацию было бы просто.
Но изменить существующую так не получится.
А вот если присвоить всем ассоциациям id, то можно было бы делать что угодно.
- NightRoman
- Posts: 6225
- Joined: Fri 18 Aug, 2006 13:52
- Location: Cambridge, UK
- Has thanked: 42 times
- Been thanked: 62 times
- Contact:
Как импортировать файловую ассоциацию?
Description мог бы сойти за аналог ID в имеющемся формате. Возможно, как "полу-ID". То есть для некоторых команд и операций предполагается, что описание идентифицирует ассоциацию (и пользователь выбирает описание с прицелом на это). А так могут быть и повторения и пустые описания. Ну или пара Маска + Описание может выступать таким полу-ID. Можно подумать, что практичнее из этого.John Doe wrote:А вот если присвоить всем ассоциациям id, то можно было бы делать что угодно.
- NightRoman
- Posts: 6225
- Joined: Fri 18 Aug, 2006 13:52
- Location: Cambridge, UK
- Has thanked: 42 times
- Been thanked: 62 times
- Contact:
- John Doe
- Бюрократ
- Posts: 14585
- Joined: Wed 27 Apr, 2005 20:42
- Location: github.com/FarManagerLegacy
- Has thanked: 92 times
- Been thanked: 515 times
- Contact:
Как импортировать файловую ассоциацию?
>Кому-как.
В таком случае неплохо бы обосновать своё "как".
Как по мне, то маски относятся к данным, поэтому и не могут служить идентификатором.
А описания ненадёжны, т.к. изменчивы, и могут отсутствовать.
>И "в имеющемся формате" это невозможно.
Формат xml позволяет что угодно, дело за поддержкой в фаре.
В таком случае неплохо бы обосновать своё "как".
Как по мне, то маски относятся к данным, поэтому и не могут служить идентификатором.
А описания ненадёжны, т.к. изменчивы, и могут отсутствовать.
>И "в имеющемся формате" это невозможно.
Формат xml позволяет что угодно, дело за поддержкой в фаре.
- NightRoman
- Posts: 6225
- Joined: Fri 18 Aug, 2006 13:52
- Location: Cambridge, UK
- Has thanked: 42 times
- Been thanked: 62 times
- Contact:
Как импортировать файловую ассоциацию?
А что толку обсуждать беспредметно. Фаровцы захотят сделать - сделают, так или иначе, с гуидом или без.
- John Doe
- Бюрократ
- Posts: 14585
- Joined: Wed 27 Apr, 2005 20:42
- Location: github.com/FarManagerLegacy
- Has thanked: 92 times
- Been thanked: 515 times
- Contact:
Как импортировать файловую ассоциацию?
Зачем же беспредметно, давайте предметно.
Обсудим, и поместим обоснованное пожелание на мантис.
Обсудим, и поместим обоснованное пожелание на мантис.
- NightRoman
- Posts: 6225
- Joined: Fri 18 Aug, 2006 13:52
- Location: Cambridge, UK
- Has thanked: 42 times
- Been thanked: 62 times
- Contact:
Как импортировать файловую ассоциацию?
Я уже предложил - Description, как "мягкий" идентификатор. Для понятности можно в UI Description поменять на Name.
То же и с гуидами, поменял, удалил - результат тот же. Я не против гуидов, если что. Но не скажу, что они мне нравятся.А описания ненадёжны, т.к. изменчивы, и могут отсутствовать.
- John Doe
- Бюрократ
- Posts: 14585
- Joined: Wed 27 Apr, 2005 20:42
- Location: github.com/FarManagerLegacy
- Has thanked: 92 times
- Been thanked: 515 times
- Contact:
Как импортировать файловую ассоциацию?
>Description, как "мягкий" идентификатор.
Чуть изменил описание, и уже считается совсем другая ассоциация.
>Для понятности можно в UI Description поменять на Name.
Имя это сурово, один раз и на всю жизнь.
Зачем ограничивать пользователя, при наличии других способов идентифицации?
>То же и с гуидами, поменял, удалил - результат тот же.
Это как "поменял"? Гуиды в интерфейсе скорее всего не нужны (а если и будут, то чего бы их изменять наобум).
Чуть изменил описание, и уже считается совсем другая ассоциация.
>Для понятности можно в UI Description поменять на Name.
Имя это сурово, один раз и на всю жизнь.
Зачем ограничивать пользователя, при наличии других способов идентифицации?
>То же и с гуидами, поменял, удалил - результат тот же.
Это как "поменял"? Гуиды в интерфейсе скорее всего не нужны (а если и будут, то чего бы их изменять наобум).
- NightRoman
- Posts: 6225
- Joined: Fri 18 Aug, 2006 13:52
- Location: Cambridge, UK
- Has thanked: 42 times
- Been thanked: 62 times
- Contact:
Как импортировать файловую ассоциацию?
Меня описания в качестве ИД устраивают. Несмотря на приведенные выше доводы.
А с гуидами - как без них в UI обойтись, где же они будут задаваться?
А с гуидами - как без них в UI обойтись, где же они будут задаваться?
- zg
- zero-gravity
- Posts: 6207
- Joined: Tue 15 Mar, 2005 17:36
- Location: riga
- Been thanked: 206 times
- Contact:
Как импортировать файловую ассоциацию?
1. стандартные — заданы в фаре.NightRoman wrote:А с гуидами - как без них в UI обойтись, где же они будут задаваться?
2. созданные интерактивно — генериться автоматически.
3. распространяемые третьими лицами — генерится третьими лицами.
ваш к.о.
- John Doe
- Бюрократ
- Posts: 14585
- Joined: Wed 27 Apr, 2005 20:42
- Location: github.com/FarManagerLegacy
- Has thanked: 92 times
- Been thanked: 515 times
- Contact:
Как импортировать файловую ассоциацию?
Так же, как и сейчас обходимся.
При экспорте можно будет увидеть.