View previous topic :: View next topic |
Author |
Message |
Wizard109
Joined: 10 Aug 2012 Posts: 9
|
(Separately) Posted: Wed Aug 15, 2012 02:31 Post subject: FS Плагин для замены встроенного FTP-клиента |
|
|
Есть такая проблема: работа с ftp посредством тотала. Б-г со скоростью и не особо удобной синхронизацией, но когда я открываю файл на редактирование и сохраняю его - я вижу нулевой результат до тех пор, пока не закрою программу в которой файл редактировался (т.е. кто-то затачивался не на ивенты файловой системы, а на хендл процесса (скорее всего) ).
Собссно вопросов несколько:
1. FS - плагин подходит для создания FTP клиента более остальных или есть что-то лучше ?
2. Как задавать настройки для этого плагина (т.е. где взять айпишники, имена юзеров, пароли, опции работы с ssl и все такое) ?
3. Мож. ничего не писать а кто-то подскажет уже существующую реализацию и выдаст мне медаль "Пачотный Велосипедостроитель" ?
[offtop]
Совсем недавно решил облагородить рабочее место, поставил gvim для <F4> и вообще решил плотно заняться тоталом ибо местами сильно неудобен.
Много извинений, читать и обдумывать все RFC не хочется... но все что сделаю - обязуюсь выложить на форуме (причина проста: допустим мне нужен был просмотр BIK - файлов. Однако длл которую я юзаю нельзя выкладывать ибо она не opensource. С остальными "плюшками" так же. Соотвессна думаю выложить на форме, кому нужно - сам скачает недостающие файлы [disclamer](естественно предварительно купив лицензию ибо копирайт и все такое.)[/disclamer])
[/offtop]
! | CaptainFlint: | Тема переименована в соответствии с п. 6 правил. | _________________ Vexilla regis prodeunt inferni |
|
Back to top |
|
![](templates/subSilver/images/spacer.gif) |
CaptainFlint
![](images/avatars/1538602816566b383536f19.png)
Joined: 14 Dec 2004 Posts: 6151 Location: Москва
|
(Separately) Posted: Wed Aug 15, 2012 12:49 Post subject: |
|
|
Wizard109 wrote: | 1. FS - плагин подходит для создания FTP клиента более остальных или есть что-то лучше ? |
Из четырёх с половиной типов плагинов, имеющихся в Тотале, WFX для этого — наиболее подходящий.
Wizard109 wrote: | 2. Как задавать настройки для этого плагина (т.е. где взять айпишники, имена юзеров, пароли, опции работы с ssl и все такое) ? |
Не понял вопроса. Если имеется в виду, как их вытащить из встроенного FTP-клиента Тотала для более полной интеграции, то достаточно взять их из wcx_ftp.ini. Если же вопрос в том, как вообще реализуются подобные вещи в интерфейсе FS-плагинов, то вариантов много, но обычно плагин просто выводит список подключений, а настройки каждого подключения вызываются по нажатию Alt+Enter (открывается диалог свойств). Вообще, рекомендую посмотреть на Гислеровскую реализацию SFTP или даже взять её исходный код за основу.
Wizard109 wrote: | 3. Мож. ничего не писать а кто-то подскажет уже существующую реализацию и выдаст мне медаль "Пачотный Велосипедостроитель" ? |
Насколько мне известно, замены FTP-клиенту ещё никто не писал. (Упомянутый выше SFTP — это другой протокол.)
Только вот боюсь я, что даже с помощью плагина не получится решить проблему с удобным редактированием файлов на сервере. Дело в том, что интерфейс FS-плагинов попросту не предоставляет средств для такого низкоуровневого управления файлами. По сути, когда пользователь вызывает разные команды, Тотал скрывает от плагина все подробности, сводя их к элементарным командам типа "дай-забери", и не уточняя, с какой целью выполняется данное действие. Фактически, когда пользователь нажимает F4, плагину приходит лишь запрос от Тотала на скачивание файла и размещение его в нужном каталоге (в данном случае — в %TEMP%\_tc), а дальше плагин знать не знает, ведать не ведает, что этот файл передаётся на открытие в редактор, что Тотал следит за этим редактором и т.д. Лишь в конце, если файл изменился, Тотал запрашивает загрузку файла обратно в плагин (то бишь, на сервер).
Конечно, можно наводнить плагин разными хуками, которые будут перехватывать действия пользователя, самостоятельно определять, что произошло, следить за файлом в обход плагинового API и т.д. Но в таком случае плагин-то оказывается и не нужен. Проще уж пользоваться стандартным встроенным FTP-клиентом и вешать те же самые хуки при помощи сторонней программы или автоматически внедряемого WDX-плагина, аналогично TWinKey и ему подобным. _________________ Почему же, ё-моё, ты нигде не пишешь "ё"? |
|
Back to top |
|
![](templates/subSilver/images/spacer.gif) |
Wizard109
Joined: 10 Aug 2012 Posts: 9
|
(Separately) Posted: Wed Aug 15, 2012 14:05 Post subject: |
|
|
Пасибо за ответ.
CaptainFlint wrote: | с помощью плагина не получится решить проблему с удобным редактированием файлов на сервере |
Ммм. При редактировании стандартный клиент тотала заталкивает их в tmp - папку, путь к ней есть в логе сверху
Code: | Copied (15.08.2012 13:00:49): ftp://1.2.3.4/public_html/index.php -> C:\Users\EVI1@N~1\AppData\Local\Temp\_tc\index.php 244 bytes, 7.8 kbytes/s
|
Соответственно если не писать свой FTP клиент, то задача сводится к выдергиванию этого пути, отслеживанию изменения файла и убеждению встроенного FTP клиента этот файл обновить.
Сейчас посмотрю как вообще этот FTP реализован. Может кто знает ?
============
Просто хочется чтобы все было в одном месте. Можно использовать CuteFTP, эклипс вполне неплохо подходит для такой работы но... Инструмент должен быть остро отточен и удобен для использования ! ![Smile](images/smiles/icon_smile.gif) _________________ Vexilla regis prodeunt inferni |
|
Back to top |
|
![](templates/subSilver/images/spacer.gif) |
Wizard109
Joined: 10 Aug 2012 Posts: 9
|
(Separately) Posted: Wed Aug 15, 2012 17:07 Post subject: |
|
|
Все, спс. Все проблемы вроде-как решены. Начинаем кодить ![Smile](images/smiles/icon_smile.gif) _________________ Vexilla regis prodeunt inferni |
|
Back to top |
|
![](templates/subSilver/images/spacer.gif) |
Моторокер
![](images/avatars/952320384818503e6d13d.gif)
Joined: 06 May 2005 Posts: 1517 Location: г. Пермь (читается Перьмь)
|
|
Back to top |
|
![](templates/subSilver/images/spacer.gif) |
Wizard109
Joined: 10 Aug 2012 Posts: 9
|
(Separately) Posted: Sat Aug 18, 2012 17:39 Post subject: |
|
|
Концепт работает !!!
Нет ли, случаем, сорца wfx плагина на Visual Studio (ибо жутко лень разбираться с мелочами) ?
+ Вопросы по удобству:
1. Настройки: сейчас при входе в плагин - список ftp-серверов (не из стандартной ftp-плюшки. Из корня тотала файлы с расширением tfp. Сделал чтобы впоследствии можно было заюзать rsa, проверку подлинности и все что взбредет в ополоумевший разум). Нажатие на "<Press ENTER to edit FTP preferences>" вываливает ноутпад для редактирования файла в формате JSON.
* Есть ли возможность заюзать какое-то API, чтобы показать формочку ?
* Основной вопрос думаю будет далее, но здесь отмечу. Как бы поудобнее и правильнее читать настройки тотала ? Парсинг ini - файла или тоже есть какой-то API ?
2. Чтобы при сохранении файл автоматически закачивался на ftp - устроил слежку. Если файл сохраняется в tmp-папку тотала - все изменения копировать на сервер. Большое количество таких файлов может причинить конкретную головную боль Венде.
* Собссно искать другой выход или пренебречь маньяками, которые будут сохранять файлы в пресловутую папку ?
* Имя этой папки получаю при помощи шаманского бубна и какой-то матери. Есть ли валидный способ это делать ?
3. Со стандартным FTP работать пока не получается (типо скопировать с моего сервера на стандартный). Ищется способ этим рулить
4. Знаю что в манах все написано, но если двумя словами: как отображать прогресс копирования ? Вообще я юзаю вининет и если файл большой - тотал подвисает. _________________ Vexilla regis prodeunt inferni |
|
Back to top |
|
![](templates/subSilver/images/spacer.gif) |
Alextp
![](images/avatars/11367635284c67c22159bfc.jpg)
Joined: 06 Feb 2005 Posts: 4957
|
(Separately) Posted: Sat Aug 18, 2012 17:57 Post subject: |
|
|
- Со стандартным FTP работать пока не получается
что имеется в виду? Какой "станд. ftp"?
-- . Ищется способ этим рулить
чем рулить?
Настройки плага делать надо в виде диалога по нажатию alt+Enter на плаге в списке плагов в Тотале _________________ UniViewer - CudaText - LogViewer
|
|
Back to top |
|
![](templates/subSilver/images/spacer.gif) |
Wizard109
Joined: 10 Aug 2012 Posts: 9
|
(Separately) Posted: Sat Aug 18, 2012 18:09 Post subject: |
|
|
Alextp wrote: | что имеется в виду? Какой "станд. ftp"? |
Тот который выползает по Ctrl+F.
Копировать из моего плагина туда - оттуда не получается, а пригодилось - бы
Quote: | Настройки плага делать надо в виде диалога по нажатию alt+Enter на плаге в списке плагов в Тотале |
Хм. Даже не знал ! Буду копать API
Но вопрос не в том. Безусловно можно сделать так, что настройки всех FTP-шников будут там, но я затолкал их в файловую систему и думаю что так удобнее.
Вот собссно не хочется на ВинАпи писать окно и всякие edit'ы. _________________ Vexilla regis prodeunt inferni |
|
Back to top |
|
![](templates/subSilver/images/spacer.gif) |
Alextp
![](images/avatars/11367635284c67c22159bfc.jpg)
Joined: 06 Feb 2005 Posts: 4957
|
(Separately) Posted: Sat Aug 18, 2012 18:15 Post subject: |
|
|
-но я затолкал их в файловую систему и думаю что так удобнее.
Пожалуй
или делать нажатие alt+Enter на записи хоста.
окно писать придется.
Добавлено спустя 3 минуты:
Wizard109 wrote: | Копировать из моего плагина туда |
Это окно без API. _________________ UniViewer - CudaText - LogViewer
|
|
Back to top |
|
![](templates/subSilver/images/spacer.gif) |
Maximus
![](images/avatars/1767065876452dedff6fec6.png)
Joined: 07 Apr 2005 Posts: 927 Location: Украина, Кировоградская обл., г. Знаменка
|
|
Back to top |
|
![](templates/subSilver/images/spacer.gif) |
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
Powered by phpBB © 2001, 2005 phpBB Group
|