Импортировать заметки из LibreOffice в Dokuwiki

Posted by

Задача: поднять сервис для ведения общей документации по рабочим вопросам, т. е. Единое хранение ежедневных отчетов от коллег, нюансов работы того или иного оборудования, особенности поведения специализированного ПО. Раньше я хотел внедрить на рабочем месте приложение Redmine, но оценив все его возможности пришел к выводу что они слишком излишни, мне же нужна только база наработок да и минимизация используемых ресурсов. А тут еще по ходу дела всплыла задумка, а почему-бы не разобрать как все те заметки которые я пишу импортировать в данную Wiki, задумано и сделано. И так начну пожалуй свое повествование. Замечу лишь одно, что все дальнейшие действия выполняются на .5 Server amd64, так что в Вашем случае на других системах что-то может быть по другому. Я держусь за правило: лучше использовать тот дистрибутив в котором лучше все разбираешься и тот с которым приятно работать, а не специализировать на любом лишь бы нашел статью в интернете и по ней якобы сделал.

1) Сперва поднимаю Dokuwiki по своей заметке

2) потом ставлю плагин odt2dw по заметке: https://www.dokuwiki.org/plugin:odt2dw

3) Как устанавливать плагины в dokuwiki мне придется воспользоваться советами официальной инструкции:

https://www.dokuwiki.org/plugin_installation_instructions

Текущая версия установленного пакета dokuwiki в системе:

ekzorchik@srv-mon:~$ apt-cache show dokuwiki | grep Version

Version: 0.0.20110525a-2

ekzorchik@srv-mon:~$ free -m

total used free shared buffers cached

Mem: 2001 191 1809 0 12 55

-/+ buffers/cache: 123 1877

Swap: 2045 0 2045

, т. е. В памяти занимает сущие копейки ресурсов и это очень хорошо.

Теперь добавляем в DokuWIki плагин:

ekzorchik@srv-mon:~$ sudo apt-get install php-pear php5-xsl -y

http://192.168.1.176/dokuwiki/doku.phpавторизуюсь — (я поменял настройки интерфейса на Русский), УправлениеУправление плагинами —

Адрес: копирую вот это URL на скачку: https://github.com/garlik-gag/dokuwiki-plugin-odt2dw/zipball/master и нажимаю «Скачать», но так как у меня не дефолтная установка dokuwiki в систему установщик уведомляет меня:

«Произошла ошибка копирования при попытке установки файлов для плагина odt2dw: переполнение диска или неправильные права доступа. Это могло привести к частичной установке плагина и неустойчивости вашей вики.»

Все установленные в дефолтной конфигурации плагины располагаются по пути:

ekzorchik@srv-mon:~$ ls -l /var/lib/dokuwiki/lib/plugins/ (у них права root, а dokuwiki работает от имени учетной записи www-data), а потому установка будет ручной:

ekzorchik@srv-mon:~$ sudo mkdir -p /var/lib/dokuwiki/lib/plugins/odt2dw

Скачиваю плагин с официального сайта проекта:

ekzorchik@srv-mon:~$ wget https://github.com/garlik-gag/dokuwiki-plugin-odt2dw/archive/master.zip

ekzorchik@srv-mon:~$ unzip master.zip

ekzorchik@srv-mon:~$ sudo mv dokuwiki-plugin-odt2dw-master/* /var/lib/dokuwiki/lib/plugins/odt2dw/

Теперь возвращаюсь к Web-ориентированной оснастке и вижу какие плагины установлены (т. е. Название каталогов в нужной директории с нужными правами), нажимаю напротив плагина odt2dw по кнопке «Данные» и справа отображается некая информация по нему.

Информация по задейстованному плагину

Теперь информация о плагину отображается и нет никакого сообщения об ошибке.

Далее пробую загрузить в DokuWiki файлы odt:

Нажимаю «Показать страницу»Обзор — нахожу на компьютере нужный odt файл, выбираю его и нажимаю «Загрузить», а в ответ ну как всегда ошибка:

odt2dw : er_class_xsltProcessor : Fatal error : Unable to initialize XsltProcessor object

ага у меня не подключен модуль для инициализации этой задачи, исправляю данную оплошность:

ekzorchik@srv-mon:~$ sudo updatedb

ekzorchik@srv-mon:~$ locate xsl.so

/usr/lib/php5/20090626/xsl.so

ekzorchik@srv-mon:~$ sudo nano /etc/php5/apache2/php.ini

extension=/usr/lib/php5/20090626/xsl.so

Перезапускаю Webсервер Apache2 для принятия изменений:

ekzorchik@srv-mon:~$ sudo service apache2 restart

Теперь снова пробую загрузить файл (подгружал с Ubuntu 12.04.5 Desktop amd64, пакет LibreOffice Версия 5.0.5.2 ID сборки: 1:5.0.5~rc2-0ubuntu1~precise1) и вуаля загрузка проходит успешно:

Загрузка произведена успешно

а вот и загруженный документ:

Импортированный документ odt в DokuWiki

и даже со вставленными в документ скриншотами (т. е. Их не нужно прописывать отдельно)

Скриншоты документа odt Также импортируются в DokuWiki

Отлично видимо это тот инструмент который мне ой как нужен был. Заметка работоспособна. Далее изучая более подробно работу с DokuWiki определил для себя основные этапы:

Чтобы создать несколько страниц обращаем внимание на URL:

http://192.168.1.176/dokuwiki/doku.php?id=start — это страница с именем start, чтобы создать другую просто вместо start пишем свое название и либо создаем документ либо закачиваем его.

http://192.168.1.176/dokuwiki/doku.php?id=Ubuntu%20Precise

и закачиваю файл (odt)

Так выглядят страницы:

Закачанные документы

Чтобы удалить страницу нужно удалить из нее все содержимое и после уже будет можно создать новую страницу:

Страница удалена, можно наполнять ее заново

Чтобы восстановить удаленную страницу:

Нажимаем «Все страницы» — Недавние изменения — нажимаю в строку удаленного документа на пиктограмму указанную стрелочкой (показать отличия от текущей версии)

Как восстановить удаленную страницу в DokuWiki

Опускаюсь в самый низ документа и нажимаю: → Восстановить, данные документ будет восстановлен в то место пространства из которого он был удален Вами (Мною).

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

http://192.168.1.176/dokuwiki/doku.php?id=test:1

Скриншот действия для настройки вложенности

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

Тестовый пример вложенности страниц

Все файлы и документы хранятся здесь:

ekzorchik@srv-mon:~$ sudo apt-get install tree -y

 

ekzorchik@srv-mon:~$ sudo tree /usr/share/dokuwiki/data/ | head -n 20

/usr/share/dokuwiki/data/

├── attic

│   ├── _dummy

│   ├── playground

│   │   ├── playground.1308081534.txt.gz

│   │   └── playground.1459454369.txt.gz

│   ├── start.1459453291.txt.gz

│   ├── start.1459454386.txt.gz

│   ├── test

│   │   ├── 1

│   │   │   ├── a.1459455127.txt.gz

│   │   │   ├── a.1459455257.txt.gz

│   │   │   ├── a.1459455363.txt.gz

│   │   │   ├── a.1459455399.txt.gz

│   │   │   └── a.1459455602.txt.gz

│   │   ├── 1.1459454891.txt.gz

│   │   └── 2.1459455100.txt.gz

│   ├── test.1459455078.txt.gz

│   ├── ubuntu_precise.1459454529.txt.gz

│   ├── ubuntu_trusty.1459454570.txt.gz

А закачанные odt файлы:

ekzorchik@srv-mon:~$ sudo tree /usr/share/dokuwiki/data/media

/usr/share/dokuwiki/data/media

├── start_image_0.png

├── test

│   ├── 1

│   │   ├── a_image_0.png

│   │   ├── a_image_1.png

│   │   ├── a_image_2.png

│   │   ├── a_image_3.png

│   │   ├── a_image_4.png

│   │   ├── a_image_5.png

│   │   ├── a_image_6.png

│   │   └── tips_mikrotik_3g_configure_v1.odt

│   ├── 1_image_0.png

│   ├── 1_image_1.jpg

│   ├── 1_image_2.jpg

│   ├── 1_image_3.jpg

│   ├── tips_dom_umniy_v1.odt

│   └── tips_mikrotik_ssh_authorization_keys_v1.odt

├── tips_gimp_gazeta_rvanie_kraya_v1.odt

├── tips_mikrotik_wifi_cisco_cp_7925_g_v1.odt

├── tips_ubuntu_14_04_asterisk_security_v1.odt

├── tips_ubuntu_14_04_zabbix_nginx_install_v1.odt

├── ubuntu_precise_image_0.png

├── ubuntu_trusty_image_0.png

└── wiki

└── dokuwiki-128.png

3 directories, 22 files

А вот еще что, раз это будет моя Wiki — то мне уже не зачем использовать дефолтные предустановленные шаблоны, удаляю за ненадобностью:

ekzorchik@srv-mon:~$ sudo rm -r /var/lib/dokuwiki/data/pages/playground

ekzorchik@srv-mon:~$ sudo rm -r /var/lib/dokuwiki/data/pages/wiki

Вот теперь заметка полностью работоспособна. Далее уже на основе этого материала я разверну данный сервис у себя в организации где я имею честь работать и использовать свои навыки и профессионализм на благо рабочих моментов. Кто не хочет работать как настоящий системный администратор, а лишь старается недопонять поставленные задачи или просто отсидеть день, это его личные проблемы и ему это ой как аукнется в скором. Системный администратор — это не только специалист по настройке, но и технический писатель в некотором роде по описыванию своих действий. На этом собственно и все с уважением автор блога — ekzorchik.