Moodle 3.1 environment check and unoconv

Moodle 3.1 environment check and unoconv

by Ken Task -
Number of replies: 1
Picture of Particularly helpful Moodlers

Along with Apache slor for 3.1 search, there is yet another seemingly 'little' addition/added feature in Moodle 3.1 that might require some study.   So thought I'd share what I've found so far.   Maybe an on-going saga! :\

Truth in sharing ... this is on a soon to be retired CentOS 5 server (EoL coming spring of this year).

But don't write off this posting cause of that - Ubuntu is also a player in this.   The following is technical in nature but it might provide enough hints for someone when it comes to 3.1 on shared hosting ... which I predict will cause a mass migration to VPS's ... and even then some additional install/supports not normally provided by remote hosting folks.   It's also only concerning the Linux platform ... Windows folks ... might be time for y'all to dig as well.

Ok, now that all the prelim is out of the way ... findings ...

In environmental checks ...

The version of unoconv you have installed is not supported. Moodle's assignment grading feature requires version 0.7 or higher.

The online man for unoconv

DESCRIPTION
       unoconv is a command line utility that can convert any file format that LibreOffice can import, to any file
       format that LibreOffice is capable of exporting.

       unoconv uses the LibreOffice’s UNO bindings for non-interactive conversion of documents and therefore needs
       an LibreOffice instance to communicate with. Therefore if it cannot find one, it will start its own instance
       for temporary usage. If desired, one can start a “listener” instance to use for subsequent connections or
       even for remote connections.



[root@sos yum.repos.d]# rpm -qid unoconv
Name        : unoconv                      Relocations: (not relocatable)
Version     : 0.5                               Vendor: Dag Apt Repository, http://dag.wieers.com/apt/
Release     : 1.el5.rf                      Build Date: Mon 16 Apr 2012 04:34:28 PM CDT
Install Date: Mon 06 Jun 2016 12:51:19 PM CDT      Build Host: lisse.hasselt.wieers.com
Group       : System Environment/Base       Source RPM: unoconv-0.5-1.el5.rf.src.rpm
Size        : 194739                           License: GPL
Signature   : DSA/SHA1, Mon 16 Apr 2012 04:34:38 PM CDT, Key ID a20e52146b8d79e6
Packager    : Dag Wieers <dag@wieers.com>
URL         : http://dag.wieers.com/home-made/unoconv/
Summary     : Tool to convert between any document format supported by OpenOffice
Description :
unoconv converts between any document format that OpenOffice understands.
It uses OpenOffice's UNO bindings for non-interactive conversion of
documents.

Supported document formats include Open Document Format (.odf),
MS Word (.doc), MS Office Open/MS OOXML (.xml),
Portable Document Format (.pdf), HTML, XHTML, RTF, Docbook (.xml),
and more.
/usr/share/doc/unoconv-0.5/AUTHORS
/usr/share/doc/unoconv-0.5/COPYING
/usr/share/doc/unoconv-0.5/ChangeLog
/usr/share/doc/unoconv-0.5/README.asciidoc
/usr/share/doc/unoconv-0.5/WISHLIST
/usr/share/doc/unoconv-0.5/docs/Makefile
/usr/share/doc/unoconv-0.5/docs/errcode.txt
/usr/share/doc/unoconv-0.5/docs/filters.txt
/usr/share/doc/unoconv-0.5/docs/formats.txt
/usr/share/doc/unoconv-0.5/docs/selinux.txt
/usr/share/doc/unoconv-0.5/docs/unoconv.1
/usr/share/doc/unoconv-0.5/docs/unoconv.1.txt
/usr/share/doc/unoconv-0.5/tests/Makefile
/usr/share/doc/unoconv-0.5/tests/dag.gif
/usr/share/doc/unoconv-0.5/tests/document-example.odt
/usr/share/doc/unoconv-0.5/tests/spreadsheet-example.csv
/usr/share/man/man1/unoconv.1.gz

Requires


    /usr/bin/python =
    libreoffice-calc
    libreoffice-core <= 1:4.3.7.2-5.el7
    libreoffice-draw
    libreoffice-impress <=
    libreoffice-pyuno <=
    libreoffice-writer <=
    rpmlib(CompressedFileNames) <= 3.0.4-1
    rpmlib(FileDigests) < 4.6.0-1
    rpmlib(PayloadFilesHavePrefix) >= 4.0-1
    rpmlib(PayloadIsXz) < 5.2-1


LibreOffice 5.1.3 Requirements

    Kernel 2.6 or higher version
    glibc 2.10 or higher version
    gtk version 2.10 or higher
    Minimum 256MB and recommended 512MB RAM
    1.55GB available Hard disk space
    Desktop (Gnome or KDE)

wget http://download.documentfoundation.org/libreoffice/stable/5.1.3/rpm/x86/LibreOffice_5.1.3_Linux_x86_rpm.tar.gz

From the readme that comes with the .tar.gz

* Linux Kernel version 2.6.18 or higher;
* glibc2 version 2.5 or higher;
* freetype version 2.2.0 or higher;
* gtk version 2.10.4 or higher;
* Gnome 2.16 or higher, with the gail 1.9 and the at-spi 1.7 packages (required for support for assistive technology [AT] tools), or another compatible GUI (such as KDE, among others).

LibreOffice requires a recent version of Java Runtime Environment (JRE) for full functionality. JRE is not part of the LibreOffice installation package, it should be installed separately.

http://www.tecmint.com/install-libreoffice-on-rhel-centos-fedora-debian-ubuntu-linux-mint/

## For 32 Bit OS ##
# cd /tmp/LibreOffice_5.1.3.3_Linux_x86_rpm/RPMS/
# yum localinstall *.rpm

command above will install all of these:

[root@sos RPMS]# ls
libobasis5.1-base-5.1.3.2-2.i586.rpm                      libobasis5.1-math-5.1.3.2-2.i586.rpm
libobasis5.1-calc-5.1.3.2-2.i586.rpm                      libobasis5.1-ogltrans-5.1.3.2-2.i586.rpm
libobasis5.1-core-5.1.3.2-2.i586.rpm                      libobasis5.1-onlineupdate-5.1.3.2-2.i586.rpm
libobasis5.1-draw-5.1.3.2-2.i586.rpm                      libobasis5.1-ooofonts-5.1.3.2-2.i586.rpm
libobasis5.1-en-US-5.1.3.2-2.i586.rpm                      libobasis5.1-ooolinguistic-5.1.3.2-2.i586.rpm
libobasis5.1-en-US-base-5.1.3.2-2.i586.rpm                  libobasis5.1-postgresql-sdbc-5.1.3.2-2.i586.rpm
libobasis5.1-en-US-calc-5.1.3.2-2.i586.rpm                  libobasis5.1-python-script-provider-5.1.3.2-2.i586.rpm
libobasis5.1-en-US-math-5.1.3.2-2.i586.rpm                  libobasis5.1-pyuno-5.1.3.2-2.i586.rpm
libobasis5.1-en-US-res-5.1.3.2-2.i586.rpm                  libobasis5.1-writer-5.1.3.2-2.i586.rpm
libobasis5.1-en-US-writer-5.1.3.2-2.i586.rpm                  libobasis5.1-xsltfilter-5.1.3.2-2.i586.rpm
libobasis5.1-extension-beanshell-script-provider-5.1.3.2-2.i586.rpm   libreoffice5.1-5.1.3.2-2.i586.rpm
libobasis5.1-extension-javascript-script-provider-5.1.3.2-2.i586.rpm  libreoffice5.1-base-5.1.3.2-2.i586.rpm
libobasis5.1-extension-mediawiki-publisher-5.1.3.2-2.i586.rpm          libreoffice5.1-calc-5.1.3.2-2.i586.rpm
libobasis5.1-extension-nlpsolver-5.1.3.2-2.i586.rpm              libreoffice5.1-dict-en-5.1.3.2-2.i586.rpm
libobasis5.1-extension-pdf-import-5.1.3.2-2.i586.rpm              libreoffice5.1-dict-es-5.1.3.2-2.i586.rpm
libobasis5.1-extension-report-builder-5.1.3.2-2.i586.rpm          libreoffice5.1-dict-fr-5.1.3.2-2.i586.rpm
libobasis5.1-filter-data-5.1.3.2-2.i586.rpm                  libreoffice5.1-draw-5.1.3.2-2.i586.rpm
libobasis5.1-gnome-integration-5.1.3.2-2.i586.rpm              libreoffice5.1-en-US-5.1.3.2-2.i586.rpm
libobasis5.1-graphicfilter-5.1.3.2-2.i586.rpm                  libreoffice5.1-freedesktop-menus-5.1.3-2.noarch.rpm
libobasis5.1-images-5.1.3.2-2.i586.rpm                      libreoffice5.1-impress-5.1.3.2-2.i586.rpm
libobasis5.1-impress-5.1.3.2-2.i586.rpm                      libreoffice5.1-math-5.1.3.2-2.i586.rpm
libobasis5.1-kde-integration-5.1.3.2-2.i586.rpm                  libreoffice5.1-ure-5.1.3.2-2.i586.rpm
libobasis5.1-librelogo-5.1.3.2-2.i586.rpm                  libreoffice5.1-writer-5.1.3.2-2.i586.rpm

http://dag.wiee.rs/home-made/unoconv/#download

Requirements
unoconv is written in python. It needs a recent LibreOffice or OpenOffice with UNO bindings.

http://dag.wieers.com/home-made/unoconv/unoconv-0.7.tar.gz

From Dag's readme of the above unoconv-0.7.tar.gz above

== Using unoconv with no X display
Since OpenOffice 2.3 you do not need an X display for starting ooffice.
However you may need the openoffice.org-headless package from your
distribution. Since LibreOffice 2.4 nothing special is needed, running
in headless mode does not require X.

== Installing unoconv
unoconv can be installed using packages coming from your distribution, or
simply by copying the unoconv python script to your system.

If you installed unoconv by hand, make sure you have the required LibreOffice
or OpenOffice packages installed. A hard requirement is the UNO python bindings
which are often inside a subpackage named +libreoffice-pyuno+ or
+libobasis4.4-pyuno+.

Various sub-packages are needed for specific import or export filters, e.g.
XML-based filters require the xsltfilter subpackage,
e.g. +libobasis4.4-xsltfilter+.

IMPORTANT: Neglecting these requirements will cause unoconv to fail with
unhelpful and confusing error messages.



== Troubleshooting instructions
If you encounter a problem with converting documents using unoconv, please
consider that this could be caused by a number of things:

 - incomplete LibreOffice installation
 - LibreOffice bug or regression specific to your version/distribution
 - LibreOffice import or export filter issue
 - problem related to stale lock files
 - problem related to the source document
 - problem related to permissions or SELinux
 - problem related to the python UNO bindings
 - problem related to the unoconv python script

[root@sos unoconv-0.7]# ls
AUTHORS  ChangeLog  CHANGELOG.md  COPYING  doc    Makefile  packaging  README.adoc  tests  unoconv

Have yet to install either ... surely don't want the full install of LibreOffice just to get this little conversion utility.   Will be trying to get minimal ONLY.

Is there a question in all this?   Yes!!!!   Anyone know how to get minimal required dependencies to unoconv ... ANY system?  (Linux or Windows)

'spirit of sharing', Ken





Average of ratings: -