Onlyoffice не работает клавиатура

Onlyoffice не работает клавиатура

Краткое описание:
Редактирование текстовых документов, таблиц и презентаций, просмотр pdf

Описание:
ONLYOFFICE Документы 2.0 — бесплатный офисный пакет для Android. С его помощью можно редактировать текстовые документы, электронные таблицы и презентации, а также работать над офисными документами совместно с коллегами. Особенности приложения:

  • Поддержка всех популярных форматов. Базовые форматы ONLYOFFICE — docx, xlsx, pptx. Другие популярные форматы (doc, xls, ppt, odt, ods, odp) также поддерживаются. Файлы pdf открываются на просмотр. Вы также можете сохранить и скачать документы в форматах pdf, txt, html, csv.
  • Шаринг с различными правами доступа. ONLYOFFICE позволяет задать права доступа для документа: только чтение, рецензирование или полный доступ.
  • Совместное редактирование. Несколько пользователей могут редактировать один и тот же документ одновременно: вы видите курсор и символы, которые набирает ваш коллега сразу же, в режиме реального времени.
  • Подключение облачных хранилищ. Соберите все свои документы в одном месте и работайте с ними из одного приложения. Подключите сторонние облачные сервисы, которые вы используете — Google Drive, Dropbox, OneDrive, Яндекс.Диск, SharePoint, ownCloud, Nextcloud и другие.
  • Управление документами. Загружайте и скачивайте файлы, сортируйте, переименовывайте и удаляйте их. Обратите внимание: вы сможете работать с приложением, если у вас уже есть зарегистрированный портал ONLYOFFICE — корпоративный или бесплатный персональный. Если у вас нет портала, создайте его прямо в приложении.
Читайте также:  Почему может не работать гидравлический домкрат

Требуется Android: 6.0 и выше
Русский интерфейс: Да

Android 5.0+:
версия: 2.0.3 Сообщение №10, автор hellonadya
версия: 2.0 (Beta onlyoffice-documents-2.0b.apk ( 12,21 МБ )

Сообщение отредактировал iMiKED — 23.03.21, 08:32

да, процедура регистрации может показаться несколько утомительной, но на самом деле это занимает минуту примерно. В будущем, скорее всего, сделаем возможность работать локально. Для iOS в новой версии такая возможноть уже есть.

Полная шляпа зачем то просит регу и ломится в сеть.
И зачем этому шлаку доступ к моим контактам, смс,карте памяти и камере?
В топку этот мусоросборный спамовый шлак!

Сообщение отредактировал helgo9 — 23.05.18, 12:28

Доступ к контактам — это от Google-учетки (у нас можно логиниться через Google), к смс — это чтение входящих смс для автовставки в поле (двухфакторная аутентификация), карта памяти — скачка/загрузка файлов, доступ к камере — работа с камерой. Прошу прощения за поздний ответ.

я очень извиняюсь за такой поздний ответ. Приложение для ПК? Вы имеете в виду наши десктопы?

Вышла стабильная версия приложения ONLYOFFICE Документы. Она уже доступна в Google Play.

Текущая версия: 2.0.3.

Помимо управления документами, которые хранятся на вашем корпоративном или персональном портале, стабильная версия позволяет:

  • редактировать текстовые документы, таблицы и презентации;
  • делиться документами, предоставляя различный уровень прав доступа: только на просмотр, на рецензирование или на редактирование;
  • редактировать документы совместно в режиме реального времени;
  • подключать сторонние облачные хранилища (Google.Диск, Dropbox, ownCloud, Nextcloud и другие по протоколу WebDAV).

В стабильной версии исправлены следующие проблемы бета-версии:

  • проблема с подключением к любому порту;
  • указатель ввода в документах скрывался клавиатурой;
  • проблема с подключением к Nextcloud.

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

Источник

Обзор российского офисного пакета с открытыми исходными текстами OnlyOffice в InfoboxCloud

OnlyOffice – больше чем просто офисный пакет в браузере. Это многофункциональный портал совместной работы, включающий в себя управление документами и проектами. Он позволяет Вам планировать рабочие задачи и вехи, хранить корпоративные или персональные документы и совместно работать над ними, использовать инструменты социальной сети, такие как блоги и форумы, а также общаться с членами коллектива через корпоративную программу обмена мгновенными сообщениями.

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

В состав пакета входит:

  • управление документами
  • онлайн-редакторы документов с поддержкой форматов Word, Excel и Powerpoint
  • управление проектами
  • диаграмма ганта
  • CRM
  • почтовый агрегатор

OnlyOffice разрабатывается в России ЗАО «Новые коммуникационные технологии» (на 100% российская компания), вся разработка и весь менеджмент находится в России, в г. Нижний Новгород. У компании есть латвийская дочерняя компания Ascensio System SIA для продаж в Европе и США. В рамках программы импортозамещения продукт занял 1 место в направлении «Пользовательское офисное программное обеспечение».

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

У разработчиков OnlyOffice есть SaaS решение, но оно размещается в зарубежных дата-центрах. Вы можете соблюсти требование о необходимости размещения персональных данных в России используя московский регион облака InfoboxCloud. В нашем решении данные не будут теряться благодаря тройной репликации и резервному копированию всех данных пользователей.

Базовая версия пакета бесплатна в том числе для корпоративных пользователей. В скором времени появится и Enterprise версия, в которой появятся следующие возможности:

  • управление версиями
  • рецензирование
  • слияние (mail merge)
  • десктопные приложения

При этом все существующие функции бесплатной версии останутся бесплатными.

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

В данной статье вы сможете ознакомиться с возможностями OnlyOffice и просто установить корпоративный портал в облако InfoboxCloud. Если у вас возникнут вопросы — с радостью поможем.

Источник

ONLYOFFICE Community Server: как баги способствуют возникновению проблем с безопасностью

Введение

ONLYOFFICE Community Server — бесплатная система для совместной работы с открытым исходным кодом, разработанная для управления документами, проектами, взаимодействия с клиентами и электронной переписки в одном месте. На своём сайте компания подчёркивает безопасность своих решений такими фразами, как «Run your private office with the ONLYOFFICE» и «Secure office and productivity apps». Но какие-либо инструменты для контроля качества кода, видимо, в процессе разработки не используются.

Всё началось с того, что я просматривал исходники нескольких сетевых приложений в поисках вдохновения для воплощения в жизнь одной своей идеи приложения. В фоне работал анализатор PVS-Studio, и я кидал в общий корпоративный чат смешные ошибки.

Так, несколько примеров ушли в Twitter:

Позже представители прокомментировали твит, а ещё позже запостили опровержение проблемы:

Скорее всего, это действительно так. Но и очков качеству проекта это не добавляет. Давайте посмотрим, что там ещё нашлось.

«Мастер» проверки входных данных

Некоторые подходы разработчиков к проверке входных данных поражают своей оригинальностью.

V3022 Expression ‘string.IsNullOrEmpty(«password»)’ is always false. SmtpSettings.cs 104

Как вы заметили, этот фрагмент кода задаёт тон всей статье. Его можно описать фразой «Код смешной, а ситуация страшная». Наверное, надо сильно устать, чтобы перепутать переменную password со строкой «password». Эта ошибка позволяет продолжить выполнение кода с пустым паролем. По словам автора кода, пароль дополнительно проверяется в интерфейсе программы. Но процесс программирования устроен так, что написанные ранее функции часто переиспользуются. Поэтому эта ошибка может проявить себя где угодно в будущем. Всегда помните про важность своевременного выявления ошибок в коде.

V3022 Expression ‘String.IsNullOrEmpty(«name»)’ is always false. SendInterceptorSkeleton.cs 36

V3022 Expression ‘String.IsNullOrEmpty(«sendInterceptor»)’ is always false. SendInterceptorSkeleton.cs 37

Внезапно в коде обнаружился целый ряд подобных ошибок. Если сначала было смешно, то сейчас стоит задуматься о причинах написания такого кода. Может это привычка осталась после перехода с другого языка программирования. В C++ часто приносят ошибки бывшие Python программисты по нашему опыту проверок C++ проектов.

V3022 Expression ‘id = 0. UserFolderEngine.cs 173

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

Copy-Paste код

V3001 There are identical sub-expressions ‘searchFilterData.WithCalendar == WithCalendar’ to the left and to the right of the ‘&&’ operator. MailSearchFilterData.cs 131

Этот фрагмент кода пришлось привести в виде картинки, чтобы передать масштаб написанного условного выражения. В нём есть проблемное место. Указание места в предупреждении анализатора с трудом помогает найти 2 одинаковых проверки. Поэтому воспользуемся красным маркером:

И вот те самые условные выражения, о которых предупредил анализатор. Кроме исправления этого места, я бы рекомендовал оформить код получше, чтобы он не способствовал появлению таких ошибок в будущем.

V3030 Recurring check. The ‘!String.IsNullOrEmpty(user)’ condition was already verified in line 173. CommonLinkUtility.cs 176

Строка user проверяется 2 раза подряд одинаковым образом. Пожалуй, этот код можно немного отрефакторить. Хотя кто знает, может, в одном из случаев хотели проверить логическую переменную absolute.

V3021 There are two ‘if’ statements with identical conditional expressions. The first ‘if’ statement contains method return. This means that the second ‘if’ statement is senseless WikiEngine.cs 688

Уверен, что ошибку здесь глазами не найти. Анализатор обнаружил бесполезную проверку, которая на деле оказалась скопированным кодом сверху. Вместо переменной str должна проверяться переменная sLink.

V3004 The ‘then’ statement is equivalent to the ‘else’ statement. SelectelStorage.cs 461

Анализатор обнаружил очень наглядный Copy-Paste код. Возможно, в одном из случаев переменную paths необходимо вычислять рекурсивно, но этого не было сделано.

V3009 It’s odd that this method always returns one and the same value of ‘true’. MessageEngine.cs 318

Размер этой функции 135 строк. Даже сами разработчики оставили комментарий, что её надо упростить. С кодом функции определённо надо поработать, т.к. он ещё и возвращает одно значение во всех случаях.

Бесполезные вызовы функций

V3010 The return value of function ‘Distinct’ is required to be utilized. DbTenantService.cs 132

Метод Distinct удаляет дубликаты из коллекции. Но в C# большинство подобных методов-расширений не меняют объект, а создают копию. Таким образом, в этом примере список result остаётся всё тем же, что и до вызова метода. Ещё тут можно заметить имена login и passwordHash. Возможно, это очередная проблема с безопасностью.

V3010 The return value of function ‘ToString’ is required to be utilized. UserPhotoManager.cs 678

Метод ToString здесь стандартный. Он возвращает текстовое представление объекта, но возвращаемое значение не используется.

V3010 The return value of function ‘Replace’ is required to be utilized. TextFileUserImporter.cs 252

Кто-то допустил серьёзную ошибку. Из свойства propertyField необходимо было удалить все пробелы, а этого не происходит, т.к. функция Replace не изменяет исходный объект.

V3038 The ‘»yy»‘ argument was passed to ‘Replace’ method several times. It is possible that other argument should be passed instead. MasterLocalizationResources.cs 38

Здесь вызовы функций Replace написаны корректно, но в одном место это сделано со странными одинаковыми аргументами.

Потенциальный NullReferenceException

V3022 Expression ‘portalUser.BirthDate.ToString()’ is always not null. The operator ‘??’ is excessive. LdapUserManager.cs 436

ToString не будет иметь значение null. Проверка здесь делалась для того, чтобы в отладочный лог вывести значение «NULL», если дата не задана. Но т.к. в случае отсутствия значения метод ToString вернёт пустую строку, то ошибка в алгоритме может быть менее заметна в логах.

Весь список сомнительных мест логгирования выглядит так:

  • V3022 Expression ‘ldapUser.BirthDate.ToString()’ is always not null. The operator ‘??’ is excessive. LdapUserManager.cs 437
  • V3022 Expression ‘portalUser.Sex.ToString()’ is always not null. The operator ‘??’ is excessive. LdapUserManager.cs 444
  • V3022 Expression ‘ldapUser.Sex.ToString()’ is always not null. The operator ‘??’ is excessive. LdapUserManager.cs 445

Предупреждение 2

V3095 The ‘r.Attributes[«href»]’ object was used before it was verified against null. Check lines: 86, 87. HelpCenterStorage.cs 86

При парсинге Html или Xml очень опасно обращаться к атрибутам по имени без проверки. Эта ошибка особенно привлекательна тем, что значение атрибута href сначала извлекается, а потом проверяется, присутствует ли он вообще.

V3146 Possible null dereference. The ‘listTags.FirstOrDefault’ can return default null value. FileMarker.cs 299

Анализатор обнаружил небезопасное использование результата вызова метода FirstOrDefault. Этот метод возвращают значение по умолчанию, если в списке нет ни одного объекта, удовлетворяющего предикату поиска. Значением по умолчанию для ссылочных типов является пустая ссылка (null). Соответственно, прежде чем использовать полученную ссылку, её следует проверить, а не звать сразу свойство, как здесь.

V3115 Passing ‘null’ to ‘Equals’ method should not result in ‘NullReferenceException’. ResCulture.cs 28

Ссылки на объекты в C# часто сравнивают со значением null. Следовательно, при перегрузке методов сравнения очень важно предусмотреть такие ситуации и добавить соответствующую проверку в начало функции. А здесь этого не сделали.

Другие баги

V3022 Expression is always true. Probably the ‘&&’ operator should be used here. ListItemHistoryDao.cs 140

Вызов метода CreateItem приведёт к возникновению исключения типа ArgumentException. Дело в том, что самое первое условное выражение содержит ошибку. Условие всегда имеет результат true. Ошибка заключается в выборе логического оператора. Надо было использовать оператор &&.

Скорее всего, этот метод ещё ни разу не вызывался, т.к. он виртуальный и до сего момента всегда переопределялся в производных классах.

Чтобы впредь не допускать таких ошибок, рекомендую почитать мою статью и сохранить на неё ссылку: «Логические выражения. Как ошибаются профессионалы». Там приведены и разобраны все ошибочные комбинации из логических операторов.

V3052 The original exception object ‘ex’ was swallowed. Stack of original exception could be lost. GoogleDriveStorage.cs 267

Здесь преобразовали исключение GoogleApiException в SecurityException, потеряв при этом информацию из исходного исключения, которая может быть полезной.

Вот такое небольшое изменение сделает сгенерированное предупреждение более информативным:

Хотя вполне возможно, что исключение GoogleApiException скрыли намерено.

V3118 Minutes component of TimeSpan is used, which does not represent full time interval. Possibly ‘TotalMinutes’ value was intended instead. NotifyClient.cs 281

Раньше я считал, что диагностика имеет предупредительный характер. В коде моих проектов она всегда выдавала ложные предупреждения. Здесь же я почти уверен, обнаружилась ошибка. Скорее всего, надо использовать именно свойство TotalMinutes, вместо Minutes.

V3008 The ‘key’ variable is assigned values twice successively. Perhaps this is a mistake. Check lines: 244, 240. Metadata.cs 244

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

Лучше всего тут было бы перейти на C#8 вместо используемого C#5 и написать более короткий код:

Не могу сказать, возможен ли апгрейд проекта или нет, но таких мест не мало. Их желательно переписать как-нибудь:

  • V3008 The ‘hmacKey’ variable is assigned values twice successively. Perhaps this is a mistake. Check lines: 256, 252. Metadata.cs 256
  • V3008 The ‘hmacHash’ variable is assigned values twice successively. Perhaps this is a mistake. Check lines: 270, 264. Metadata.cs 270
  • V3008 The ‘paths’ variable is assigned values twice successively. Perhaps this is a mistake. Check lines: 512, 508. RackspaceCloudStorage.cs 512
  • V3008 The ‘b’ variable is assigned values twice successively. Perhaps this is a mistake. Check lines: 265, 264. BookmarkingUserControl.ascx.cs 265
  • V3008 The ‘taskIds’ variable is assigned values twice successively. Perhaps this is a mistake. Check lines: 412, 391. TaskDao.cs 412

На крайний случай, можно не выделять память при объявлении переменной.

Баг в PVS-Studio

Думаете, мы только пишем про ошибки других. Нет, наша команда самокритична, признаёт свои ошибки и не стесняется написать про них тоже. Все ошибаются.

По ходу работы над статьёй у нас нашёлся достаточно глупый баг. Признаём и спешим поделиться.

Код из того же Community Server:

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

Управляющие символы \r и \n не экранируются перед выводом в таблицу.

Заключение

Давно мне не попадался столь интересный проект для проверки. Спасибо авторам ONLYOFFCE. Мы хотели с Вами связаться, но обратной связи не последовало.

Мы регулярно пишем подобные статьи. Этому жанру уже более десяти лет. Поэтому разработчикам не стоит принимать критику близко к сердцу. Мы будем рады выдать полную версию отчёта для улучшения проекта или предоставить временную лицензию для проверки проекта. Причём не только проекту CommunityServer, а всем желающим и на ОДИН МЕСЯЦ по промокоду #onlyoffice.

Также специалистам по безопасности будет интересно узнать, что мы ведём активную поддержку стандарта OWASP. Некоторые диагностики уже доступны. А скоро будет доработан интерфейс анализатора, чтобы включение того или иного стандарта для анализа кода стало ещё удобнее.

Источник

Оцените статью