===================================================================== AJPapps - Cloud IM 1.07 Линда Кайе 2011-2023. Посвящается Ариэль ===================================================================== Эта программа очень похожа на мессенджеры вроде Миранды или Пидгина, но работает с облачными сервисами вроде Яндекс.Диск и Microsoft SkyDrive. Имея общие папки, вы легко сможете обмениваться сообщениями с друзьями и коллегами, программа сохранит журналы всех бесед и в то же время не будет отвлекать пищанием и выскакивающими окнами. Также возможна работа в пределах локальной сети. Внимание! Если у вас уже была установлена AJPapps - Dropbox IM, я рекомендую удалить её перед установкой данной программы. По сути они идентичны, но могут конфликтовать друг с другом. Дальше развиваться будет только эта программа. Также рекомендую ознакомиться с разделом "Переход на Cloud IM". История создания ---------------- На IT Happens прекрасно описали историю создания этой программы. Сначала мы обменивались текстовыми файлам и сообщениями в именах этих файлов, а потом захотелось сделать всё красиво и чтобы меньше ручной работы. Но меня не устроил вариант с простым текстовым файлом и проблемами синхронизации, я пошла другим путём, отсылая сообщения в отдельных мелких файлах, которые, благодаря уникальным именам, уж точно не будут конфликтовать друг с другом ^^ Кстати, вот эти истории: http://ithappens.ru/story/4746 http://ithappens.ru/story/4757 Сначала программа называлась Dropbox IM. Но летом 2013 года выяснилось, что слово "Dropbox" нельзя использовать в названиях других программ. Поэтому я решила просто переименовать программу в Cloud IM, что должно лучше отразить суть программы, а заодно уберёт ассоциации только с одним сервисом. Попутно я отказалась от иконок Nuvola, лицензия которых, как оказалось, не позволяла использовать их в закрытых программах. Вместо них я нарисовала собственные. Надеюсь, они не так ужасны ^^' История изменений ----------------- • 1.00.0038 Первый публичный релиз. • 1.00.0048 [-] Изменён способ проверки новых сообщений - предыдущая версия грузила процессор. [+] Окно настроек теперь не модально. [+] Использована библиотека AJPapps - Icon blinker control. [+] Появились настройки сортировки списка логов. [+] Программа не позволяет начать чат в каталоге, в котором уже идёт чат. • 1.00.0049 [+] Появилась возможность добавить чат в автозапуск - ищите в настройках. [+] Поддержка параметра /H, который прячет окно чата при старте. • 1.00.0056 [+] Новый способ отправки и получения сообщений. [-] Некоторые входящие сообщения пропускались. [-] Входящие сообщения могли перемешиваться. [+] Появилась настройка цвета системных сообщений. [+] Можно включить отладочные сообщения. • 1.00.0058 [+] Имя по умолчанию теперь устанавливается в формате "ИмяПользователя / ИмяКомпьютера". [+] Появилась кнопка для сброса имени в имя по умолчанию. • 1.01.0064 [+] Программа переименована из Dropbox IM в Cloud IM. Оказалось, что на слове "Dropbox" страшный копирайт. [+] Набор иконок Nuvola заменён на самопальные иконки во избежание проблем с лицензией. [-] В имени файла сообщения секунды указывались два раза. • 1.01.0071 [-] Если в системе ранее не было установлено программы AJPapps - Dropbox IM, программа завершалась с ошибкой прямо при запуске. • 1.02.0076 [+] Теперь можно менять размер окон чата и просмотра логов. [-] Сообщение пропадало, если программа не могла прочитать файл сообщения. Например, если он только что был получен клиентом BTSync и оставался заблокирован. [+] Новая возможность очищать сообщения текущей беседы при скрытии окна чата. При этом новый лог создаётся при каждой очистке. • 1.02.0077 [10.05.2020] [-] В версиях Windows старше XP иконка в трее не мигала при получении сообщений. [+] Компонент RICHTX32.OCX вынесен из программы установки в отдельный пакет на сайте. • 1.02.0078 [10.05.2020] [+] Обновлены библиотеки. • 1.02.0080 [13.05.2020] [+] Немного оптимизирован код. • 1.03.0088 [25.04.2022] [+] Выкинут код миграции с Dropbox IM. [+] В контекстное меню в трее добавлен вызов просмотрщика логов. Это может быть полезно, если нужно глянуть, что там пришо, но не хочется, чтобы мигание в трее сбрасывалось. [-] При выводе контекстного меню, мигание в трее сбрасывалось даже если окно чата в итоге не появлялось на экране. [-] При выходе из программы кнопкой или пунктом меню в трее, если просмотрщик логов был на экране, он не закрывался автоматически. • 1.04.0090 [27.04.2022] [-] В сообщениях об ошибках неправильно указывалось время. [+] Сообщения об ошибках стали чуточку красивее. [+] Добавлена поддержка простых текстовых сообщений с расширением DTIM. [+] Добавлена поддержка XML сообщений с расширением DXIM. [+] Появилась возможность выбора, в каком формате отправлять сообщения: XML или в старом двоичном. • 1.04.0091 [25.05.2022] [-] При копировании многострочных сообщений из истории, полученных из DXIM файлов, могли происходить странности, поскольку конец строки в них был LF, а не CRLF. • 1.04.0092 [31.10.2022] [-] При синхронизации каталога чата средствами BTSync, XML сообщения иногда воспринимаются, как повреждённые. Пытаемся пофиксить это, проверяя, нет ли рядом файла с тем же именем и дописанным ".!sync". • 1.04.0097 [1.11.2022] [+] Теперь цвета сообщений настраиваются более подробно: заголовок сообщения и текст сообщения. Старые настройки улетели. [+] Более человеческие сообщения об ошибках чтения-записи файлов с, собственно, именами файлов. [+] Немного переделан алгоритм мигания иконки в трее. Теперь она мигает при получении системных сообщений (например, что пришедшее сообщение не удалось распарсить). • 1.04.0098 [21.01.2023] [+] При потере фокуса текстбоксом с логом чата (в главном окне или в окне истории), выделение текста не исчезает. • 1.05.0105 [12.10.2023] [+] Появилась опция для вывода таймстампов сообщений в чуть более другом виде (например, "12.03.2001 12:00:35 AM" против "12:00:35 AM - 12.03.2001"). [+] Появилась опция для группировки списка логов по месяцам с годами. [+] В список логов теперь попадают только RTF файлы с определённой маской, которые сохраняет программа, а то мало ли что. • 1.06.0106 [23.11.2023] [-] При обновлении версии программы, могли потеряться каталоги с логами, и логи начинали записываться в новый каталог. [-] Та же история с прочими настройками из соответствующего диалога. [+] Настройки были разделены на глобальные (для всех чатов) и локальные (только для текущего). [+] Настройка имени пользователя вынесена в локальные настройки в отдельный диалог. [+] Изменился формат имени пользователя по умолчанию. [+] Ярлык для автозапуска чата так же перенесён в локальные настройки. [+] Появилась возможность удалять файлы сообщений сразу же после обработки. Это может пригодиться, если программа, например, используется для получения уведомлений от множества клиентов. [+] Немного оптимизирована запись файлов логов. [+] Заголовок главного окна немного изменён. • 1.07.0115 [13.12.2023] [+] Появилась возможность настройки оформления иконки в трее. Для каждого чата - индивидуально. Зависимости ----------- Для работы этой программы нужны следующие компоненты: • AJPapps - AJPapps support library 1.00 Файл AJPappsSupport0100.DLL • AJPapps - AJPapps support library FBE 1.00 Файл AJPappsSupportFBE0100.DLL • AJPapps - Common dialogs library 1.00 Файл CommonDialogs0100.DLL • AJPapps - File I/O support 1.05 Файл FileIOSupport0105.DLL • AJPapps - Icon blinker control 1.00 Файл IconBlinker0100.OCX • AJPapps - Registry support 2.00 Файл RegistrySupport0200.DLL • AJPapps - Sort 3.00 Файл Sort0300.DLL • AJPapps - Subclasser 1.00 Файл Subclasser0100.DLL • AJPapps - System tray icon control 2.01 Файл SysTray0201.OCX • AJPapps - XML helper library 1.04 Файл XMLHelper0104.DLL • AJPapps - Библиотека общих функций 3.07 Файл CommonFunctions0307.DLL • Microsoft Rich Textbox Control 6.0 (SP6) Файл RICHTX32.OCX • Microsoft Visual Basic Virtual Machine Файл MSVBVM60.DLL Эти компоненты обязательны. Они уже включены в программу установки ^_^ Установка --------- Просто запустите Setup.CloudIM.EXE, и программа установки сама создаст все необходимые ярлыки. Использование ------------- Для начала нам потребуется учётная запись в какой-либо системе синхронизации файлов, например, Dropbox, Яндекс.Диск или ещё какой. Зарегистрируйтесь, скачайте программу и установите её. Если сервисом вы уже пользуетесь, то, разумеется, ничего этого делать не нужно ^^ Концепция программы такова. В этих сервисах есть общие папки, которые синхронизируются между несколькими людьми (не компьютерами, а именно разными пользователями). Нам потребуется отдельная такая папка или папка внутри такой папки, куда никто ничего складывать не будет - там будут лежать файлы чата. В такой папке создаётся специальный файл с расширением DPIMChat. Сам по себе он не содержит никакой информации, он лишь сигнализирует программе, что папка, в которой он лежит, используется для общения. При отправке сообщения, текст с датой и ником пишется в отдельный файл, который сохраняется в папке чата. После этого он автоматически разлетается по всем машинам, которые синхронизируются с этой папкой. Так происходит обмен сообщениями. На других компьютерах работают точно такие же программы, которые постоянно проверяют папку на предмет появления новых сообщений. Когда в папке появляется новый файл, программа читает его, выводит в окне сообщений и делает файл скрытым чтобы больше его не обрабатывать. На других компьютерах происходит то же самое, так что все пользователи получают сообщение. Далее они могут отвечать и общаться. При запуске программы вам предлагается создать или открыть файл чата. Кроме того такой файл можно открыть двойным щелчком в Проводнике. А дальше всё просто ^^ Как в любом другом мессенджере ^^ Отдельно хочу отметить, что программу можно использовать даже без систем синхронизации файлов, например, в локальной сети предприятия. Для этого на файловом сервере создаётся отдельный каталог, назначается каталогом чата и через него пользователи, у которых есть доступ к каталогу, обмениваются сообщениями. Интерфейс программы ------------------- В главном окне располагаются следующие элементы. Поле ввода ника пользователя. Сюда автоматически подставляется имя пользователя в системе, но это имя всегда можно поменять. Его будут видеть другие участники беседы. Поле вывода сообщений. Поле ввода текста сообщения. Вы набираете некий текст, а потом нажимаете Enter или Ctrl+Enter для отправки. Всё просто ^^ Несколько кнопок (слева направо): открытие окна настроек (локальных и глобальных), открытия окна логов, полупрозрачный режим, выход из программы. При активации полупрозрачного режима, окно программы станет на 25% прозрачнее. Нажмите ещё раз, и окно снова станет непрозрачным. Окно программы можно сворачивать. А ещё его можно закрыть или нажать Esc - тогда оно свернётся в трэй и не будет мешаться. При этом программа продолжит получать сообщения и мигать о них иконкой. Выйти из программы можно специальной кнопкой, через меню иконки в трее, а также комбинацией Shift+Esc или щелчком на кнопке закрытия окна, удерживая Shift. Настройки --------- Настройки делятся на два вида: локальные и глобальные. Локальные у каждого чата свои, а глобальные относятся ко всем чатам. Для каждого типа есть свой диалог настроек, вызываемый через кнопку на панели инструментов программы. К локальным настройкам так же относится положение и размер окон чата и истории. Иными словами, можно открыть десять чатов из разных папок, и каждое окно расположить каким-то своим образом. Глобальные настройки действуют во всех чатах, но важно помнить, что изменения не распростараняются на уже открытые чаты. Иными словами, если открыто три чата, и в одном изменены глобальные настройки, остальные два будет работать по-старому, и для применения новых настроек, эти чаты нужно будет перезапустить. Окно локальных настроек ----------------------- Здесь можно настроить локальные параметры, которые будут работать только в чате, из которого окно вызвано. Большинство настроек интуитивно понятны, поэтому я поясню только некоторые. "Удалять файлы сообщений". Эта опция заставляет программу не помечать прочитанные файлы сообщений скрытыми, а удалять их с диска. Данное поведение может пригодиться, например, если программа используется как средство мониторинга скриптов, работающих на куче компьютеров в локальной сети и складывающих отчёты о своей работы в единую папку. Чтобы папка не переполнялась тысячами файлов сообщений, и ничего не трмозило при каждом новом сообщении, программа и будет удалять эти сообщения. Важно отметить, что данный режим плохо совместим с работой программы на нескольких компьютерах, поскольку удаляемые на одном компьютере сообщения могут не успевать дойти до других. "Прятать вместо удаления файлы сообщений с ошибками". Эта опция делает именно то, что и написано. Если включена предыдущая опция, а файл сообщения по какой-то причине не удастся прочитать (например, в нём были повреждены XML данные), то он будет скрыт, чтобы позже ситуацию можно было проинспектировать ручками. "Иконка в трее", "Иконка сообщения", "Пустая иконка". Эти опции позволяют тонко настроить внешний вид иконки в трее, чтобы можно было визуально отличать разные чаты. Окно глобальных настроек ------------------------ Здесь можно настроить глобальные параметры, которые будут работать в любом чате. Большинство настроек интуитивно понятны, поэтому я поясню только некоторые. "Пометка времени в стиле iChat". Время сообщений может примелькаться, поэтому о текущем времени напомнит выскакивающая раз в пять минут пометка перед новым сообщением. Идея взята в Pidgin. "Отправлять XML сообщения". Эта настройка позволяет задействовать новый формат файлов сообщений. Она не рекомендуется, если общаться предстоит с пользователями версии программы, которая не поддерживает DXIM файлы сообщений (ниже 1.04). Так же сохранение и чтение таких файлов может быть чуть медленнее, а сами файлы – чуть больше, но в наше время разница не должна быть заметна невооружённым взглядом. Оповещения о новых сообщениях ----------------------------- Их нет ^^ Программа не выдаёт ни всплывающих окон, ни звуковых сигналов. Она лишь начинает тихо мигать иконкой в трее при приходе новых сообщений. А о том, что что-то пришло, может сообщить клиент вашей системы синхронизации файлов. Например, Dropbox, при появлении в общей папке новых файлов (сообщений), выводит всплывающее уведомление. Сообщения в формате DTIM ------------------------ В версии 1.04 появилась поддержка простых текстовых сообщений. Это файлы с расширением DTIM, содержащие только текст и ничего больше. Их кодировка может быть ANSI, UTF-8 и UTF-16, причём для последних двух обязательно наличие BOM, чтобы программа вообще могла понять, что это такое. Программа может получать такие файлы, но не отправлять. Так же, при получении, программа не сможет определить ни дату, ни время отправки сообщения, ни имени пользователя, ведь этих данных попросту в файле нет. И это обстоятельство будет отражено в окне чата. Использовать данную возможность можно, например в скриптах, которые должны что-то делать по расписанию, а об ошибках будут отчитываться в чат. Более продвинутые скрипты могут использовать XML формат. Удаление -------- Удаление самой программы производится обычным способом - через Установку и удаление программ. Маленький копирайт ------------------ 1. Программа распространяется бесплатно. 2. Вы имеете право распространять её на тех же условиях. 3. При распространении вы не имеете права менять авторство программы, присваивать его себе или каким-либо иным способом искажать его. 4. Разрешено коммерческое использование программы (в офисе, на производстве) за исключением её платного распространения или сдачи в аренду. 5. Программа распространяется как есть. Автор не несёт ответственности за любые трагедии или несчастные случаи, вызванные использованием программы. 6. Вы имеете право использовать ActiveX компоненты, поставляемые с программой, в собственных программах. При этом автор не гарантирует совместимость будущих версий компонентов. 7. Для любого пункта данного соглашения может быть сделано исключение с разрешения автора программы. 8. По любым вопросам, связанным с данной программой, обращайтесь по адресу lindaoneesama@gmail.com Контакты -------- Почта: lindaoneesama@gmail.com Сайт: https://www.lindachan.net