qky666 / dokuwiki-plugin-file2dw

Import from file (docx, odt, pdf...) to dokuwiki

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

dokuwiki-plugin-file2dw

Create a dokuwiki page by importing a file.

Description

file2dw is a plugin for dokuwiki. This plugin lets you import a document into Dokuwiki. It supports (at least) .odt, .doc, .docx formats. It should also work with any other document format that pandoc supports (they are a lot).

Usage

From a Dokuwiki page, click on the "Import file" button in the Page Tools. Select a File and click upload.

Installation

Direct install

External requirements: This plugin requires the following additional components that must be installed separately:

  • pandoc
  • soffice (example: libreoffice-writer)

If you run the Dokuwiki server on Debian, you can accomplish this requirements following this directions:

  • Install some packages needed:

sudo apt-get wget default-jre libreoffice-writer

  • If you wish, you can execute the script installLatestPandoc.sh (included with this plugin in docker/dokuwikiapp folder) to install the latest version of pandoc. Or you can install pandoc any other way (check that version installed is not very outdated, or conversion may fail).

soffice conversion (.doc support)

PHP code (at least in my system) is executed by the user www-data. I had problems running a Java application with this user (it seems soffice is a Java application) so I decided to run the soffice conversion using sudo. To make it work, I had to add a line to the file /etc/sudoers. You can do the same executing:

sudo echo "www-data ALL=(root)NOPASSWD:/usr/bin/soffice" >> /etc/sudoers

I'm not a security expert, but I think that this should not be a problem for anybody. If you do not use the soffice conversion (.doc support), you don't need to do this.

If PHP code is executed by any other user on your system, you only have to change it in the previous command.

Docker

If you want, you can use Docker to deploy Dokuwiki and meet the requirements mentioned above "for free". If you are new to Docker, you will probably need to search the web for information before you can use it. See https://www.docker.com/

You will have to make several changes in docker-compose-yml files (at least in one of them). I hope you will find usefull the comments on the file. To prevent errors, you can copy the docker folder contents elsewhere in your system, so you don't lose these changes when you get updates. docker-compose-yml files use the files in docker/dokuwikiapp, so take care when moving this arround.

Note: This creates an "empty" Dokuwiki, so you will have to follow the install instructions in https://www.dokuwiki.org/install (from step 4) to make it usable.

Two "flavours" are provided:

  • simple
  • proxy

Simple

Path: docker/simple.

A simple docker-compose.yml that will create a container with Dokuwiki installed on it.

To run this, execute:

cd docker/simple
docker-compose up -d

Proxy

Path: docker/proxy.

A docker-compose.yml that will create a container with Dokuwiki installed on it and a reverse proxy that allows https access to it.

It uses Let's Encrypt services (https://letsencrypt.org/) so you will have to do a little reserach to know how it works.

To run this, execute:

cd docker/proxy
docker-compose up -d

Usage

From a Dokuwiki page, click on the "Import file" button in the Page Tools. Select a File and click upload.

Configuration and Settings

They are almost self-explanatory.

Change Log

v0.1 beta

  • Initial version.

About

Import from file (docx, odt, pdf...) to dokuwiki

License:MIT License


Languages

Language:PHP 97.7%Language:Dockerfile 1.7%Language:Shell 0.6%