Working with Nextcloud

Updated 10 July 2019

Working with Netcloud

Introduction

В этой статье собраны материалы по особенностям работы с Nextcloud, а также по интеграции с облачным сервисом сторонних приложений. Please refer to this manual to install Netcloud.

Fixes

Contact picture update

Уже давно присутствует один неприятный баг связанный с невозможностью заменить загруженную фотографию контакта. Кликая на загруженной ранее фотографии вместо формы выбора новой открывается загруженное ранее фото.

To fix it:

  1. Зайдите в Nextcloud администратором, перейдите в Меню -> Приложения и установите приложение "Custom CSS".
  2. Go to Menu -> Settings -> Themes. Fill in the "Custom CSS" field with the following:
    .contact-header-avatar__photo + .contact-header-avatar__options {
        z-index: 1;
    }
    
    .contact-header-avatar__photo + .contact-header-avatar__options {
        opacity: 0;
    }
    

    После этого клик по фотографии будет вызывать всплывающее меню загрузки нового изображения:

Contact picture update

Optimizing Nextcloud

Использование фоновой обработки заданий

Для улучшения производительности, все операции по обработке данных следует выполнять в фоне по расписанию. По умолчанию Nextcloud предлагает использовать запуск cron.php каждые 15 минут. Опция настройки находится в меню Настройки -> Администрирование -> Основные параметры. В разделе Фоновые задания выберите Cron:

Фоновые задания Nextcloud

После этого создайте сценарий запуска фонового процесса каждые 15 минут:

/etc/cron.d/nextcloud

# Global variables
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
HOME=/

#Nextcloud
*/15 * * * * nginx php -f /var/calculate/www/nextcloud/htdocs/cron.php

Files

File preview

File types

По аналогии с файловыми менеджерами Nextcloud может создавать миниатюры с предпросмотром содержимого файлов для картинок, видео и аудиофайлов, текстовых документов и так далее. Более подробно об этом можно прочитать здесь. Для добавления отображения превью видеофайлов отредактируйте файл настроек проекта, включив отображение превью для всех типов фотографий и видеофайлов:

/var/calculate/www/nextcloud/htdocs/config/config.php

'enabledPreviewProviders' => array (
    'OC\\Preview\\Movie',
    'OC\\Preview\\Image'
),

Для улучшения производительности и лучшей совместимости при работе с изображениями установите imagemagick для PHP:

emerge -a dev-php/pecl-imagick

Для извлечения превью из видеофайлов установите пакет ffmpeg:

emerge -a media-video/ffmpeg

Size

Разумно ограничить максимальный размер превью, иначе в кэш будут попадать все ваши изображения в оригинальном размере. To do so, add the following lines:

/var/calculate/www/nextcloud/htdocs/config/config.php

'preview_max_x' => 512,
'preview_max_y' => 512,

Cache update

Для ускорения доступа к директориям с файлами превью поддерживайте кэш в актуальном состоянии при помощи Nextcloud-приложения Preview Generator, которое можно установить из раздела "Мультимедиа".

Once installation completed, run:

su nginx -s /bin/bash

cd /var/calculate/www/nextcloud/htdocs

php occ preview:generate-all

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

/etc/php/cli-php7.1/php.ini

; Maximum amount of memory a script may consume (128MB)
; http://php.net/memory-limit
memory_limit = 512M

File naming

By default, the Nextcloud client loads the camera pictures in one dedicated directory on the cloud, При этом имена у фотографий используются вида IMG_20180806_124329_1.jpg, где "20180806" - год, месяц и день, "124329" - часы, минуты и секунды, "1" - вторая по счёту фотография, сделанная в ту же секунду.

Импортируемые из соцсетей фотографии могут иметь случайную последовательность символов в имени файла - что-то типа "MY0bLxnxTaM.jpg". Если это фотографии, а не рисунки или скриншоты, вы можете извлечь время снимка из EXIF-информации файла. To do so, use the exiv2 utility, included in media-gfx/exiv2:

exiv2 -F -r'IMG_%Y%m%d_%H%M%S' rename -- *.jpg

To check all pics, you can replace the path for the renamed:

mkdir new; exiv2 -F -r'new/IMG_%Y%m%d_%H%M%S' rename -- *.jpg

As a result, there may remain screenshots and processed photos in the source directory, which you can easily separate from the original pictures.

This naming has several advantages.

  1. При объединении фотографий из разных фотоаппаратов или карт памяти вы скорей всего никогда не столкнётесь с двумя одинаковыми именами, а значит, сможете после обработки спокойно переносить файлы в одну директорию.
  2. Фотографии всегда будут расположены в хронологическом порядке. Вы можете помещать в одно место фотографии из разных источников.
  3. При объединении фотографий, скачанных из облака в урезанном качестве, и оригиналов имена файлов будут совпадать. Благодаря этому после объединения в одной директории вы не получите дубли, а снимки с уменьшенным разрешением будет корректно замещены оригиналами.

Если расширение имён файлов было написано заглавными буквами, вы можете перевести его в нижний регистр следующей командой:

rename .JPG .jpg *.JPG

File creation date and time

When you copy photos, the file modification time may change. Это неудобно, поскольку теряется инфорамация о времени снимка. Восстановить время создания файла можно по EXIF-информации при помощи описанной ранее утилиты exiv2. To fetch it, go to the pictures directory and run:

exiv2 -T *.jpg

Переиндексируйте базу, чтобы изменения вступили в силу.

A viewer for Android

To manage your photos stored on Nextcloud, you can install the QuickPic gallery application.

Music

An audio player for Android

To play music your files stored on Nextcloud you can use the Soumi: Network Music Player. Плейер выгодно отличается тем, что умеет кэшировать аудио файлы из плейлиста.

Чтобы подключиться к облаку перейдите на вкладку Libraries, кликните на "+", выберите Internet, затем введите настройки подключения к своему облаку:

Connect to Nextcloud

Note

Адрес сервера следует вводить без "https://" с путем к webdav. For instance, cloud.example.org/remote.php/webdav.

A player window looks somewhat like this:

Soumi: Network Music Player

Site password storage

We recommend Passman for storing passwords in Nextcloud. Passman creates an encrypted storage in your own cloud. Several storages of this type can be used simultaneously. For interaction with the password storage, you can use the password storage extensions developed for Firefox (including the mobile version) and Chrome. Подключившись к хранилищу в облаке, вы создаёте пароль, при помощи которого будут зашифрованы данные подключения:

Passman

Passman looks for authorization fields on the site and adds its icon to them. При наличии сохранённого пароля данные будут подставлены в поля - см. on the screenshot below:

Authenticate

Page bookmarks

To work with bookmarks in Nextcloud, use the Bookmarks application. Instead of the usual tree structure, it uses tags to find bookmarks. Вы можете установить расширение FreedomMarks для браузеров Firefox и Chrome для доступа к вашим закладкам:

FreedomMarks

Под Android существует также приложение Nextcloud Bookmarks для доступа к закладкам. It also uses tags.

If you stick to the classic approach to storing bookmarks, you can use the floccus extension. This extension adds its tag to each tab, together with the nesting level.

GPS navigation

Для работы с GPS навигацией существует приложение PhoneTrack, позволяющее как производить импортированные маршрутов из файлов с расширением .gpx, так и отслеживать положение устройств в режиме реального времени.

PhoneTrack configuration

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

PhoneTrack

На скрине видно, что создана группа Family, где зарезервировано 3 устройства, имеющие имя и маркер.

Перейдя на следующую закладку мы увидим список URL-адресов, где перечислены все возможные варианты для передачи данных в режиме реального времени. Рядом с каждым вариантом стоит восклицательный знак, нажав на который мы получим ссылку. Её необходимо указать в программе на устройстве, подставив маркер устройства.

PhoneTrack

Below a GPS Logger configuration is described as an example.

GPS logger configuration

GPS Logger saves routes to a .gpx file,gpx и передавать их как в ручном режиме, так и в автоматическом. Присутствует возможность передачи координат в режиме реального времени.

Для передачи в режиме реального времени нам необходимо перейти по пути Настройки записи лога - Сохранять журналы по указанному пользователем URL-адресу и внести URL-адрес, указав вместо yourname маркер необходимого нам устройства.

GPS Logger

Для проверки необходимо выполнить HTTP Test и проверить логи.

GPS Logger

GPS Logger

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

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

Note

В случае если на устройстве нет Интернета, координаты будут отправлены после подключения к нему.

Working with office documents

After installing NextCloud, you will be able only to view, to manage and to edit documents in txt format. Чтобы работать со всеми видами офисных документов, можно использовать Collabora Online.

Collabora Online

Install and configure Collabora Online according to the manual.

Administration

Database reindexing

При копировании/переименовании файлов, изменении прав доступа или редактировании файлов напрямую на сервере, минуя Web-интерфейс Nextcloud или WebDAV, следует выполнить обновление базы данных Nextcloud. Here is how you should do it.

В случае прямого доступа к файлам Nextcloud (не через WebDAV или веб-интерфейс) не забывайте пересканировать файлы. To so, run:

su nginx -s /bin/bash

cd /var/calculate/www/nextcloud/htdocs

php occ files:scan user

Replace user with your login.

Заключение

Note

Подписывайтесь на нашу группу @nextcloud@calculate.social в Федеративной сети Mastodon