Daisy&E-inkModules (instalación y configuración)

0. Introducción

Daisy, ePub y Movipocket són submódulos del módulo de conversión de edit@

1. Obtención

El mismo proyecto contiene las extensiones de conversión a daisy, ePub y movipocket.

Descarga del proyecto MAVEN:

http://dl.dropbox.com/u/562286/Edit%40_Conversion_EMD.jar

Descarga de las dependencias del proyecto:

http://dl.dropbox.com/u/562286/Edita_dependendies.zip

2. Compilación del proyecto

Nota: Se ha utilizado Maven 3.0 (http://maven.apache.org/).

Como requisito previo, es necesario añadir al repositorio MAVEN privado aquellas dependencias que no se encuentran en repositorios MAVEN públicos, para ello ejecutar:

mvn install:install-file -Dfile=epubcheck-1.0.3.jar -DgroupId=com.adobe.epubcheck.tool -DartifactId=epubcheck -Dversion=1.0.3 -Dpackaging=jar
mvn install:install-file -Dfile=fastutil-5.1.5.jar -DgroupId=it.unimi.dsi -DartifactId=fastutil -Dversion=5.1.5 -Dpackaging=jar
mvn install:install-file -Dfile=jl-1.0.1.jar -DgroupId=javazoom -DartifactId=jl -Dversion=1.0.1 -Dpackaging=jar
mvn install:install-file -Dfile=jodconverter-2.2.2.jar -DgroupId=com.artofsolving -DartifactId=jodconverter -Dversion=2.2.2 -Dpackaging=jar
mvn install:install-file -Dfile=json4java-1.0.jar -DgroupId=org.json -DartifactId=json4java -Dversion=1.0 -Dpackaging=jar
mvn install:install-file -Dfile=mg4j-2.1.2.jar -DgroupId=it.unimi.dsi -DartifactId=mg4j -Dversion=2.1.2 -Dpackaging=jar
mvn install:install-file -Dfile=saxon-1.0.jar -DgroupId=com.icl -DartifactId=saxon -Dversion=1.0 -Dpackaging=jar
mvn install:install-file -Dfile=saxon-9.jar -DgroupId=net.sf -DartifactId=saxon -Dversion=9 -Dpackaging=jar
mvn install:install-file -Dfile=saxon-dom-9.jar -DgroupId=net.sf -DartifactId=saxon-dom -Dversion=9 -Dpackaging=jar
mvn install:install-file -Dfile=saxon-jdom-9.jar -DgroupId=net.sf -DartifactId=saxon-jdom -Dversion=9 -Dpackaging=jar

Proceder a la compilación:

mvn -Dmaven.test.skip=true -X clean install

3. Instalación

Copiar tanto el JAR como sus dependencias al directorio lib/ext/ del dominio de GlassFish en el que esté instalado el módulo de conversión.

En nuestro caso concreto, el dominio 'applications':

/opt/glassfish/domains/applications/lib/ext/

4. Configuración

La clase que extiende "org.proyectoedita.conversion.shared.Extension" es:

org.proyectoedita.conversion.converter.MFConverter

El módulo de conversión ya está preconfigurado con estas extensiones por defecto. La configuración actual se almacena en:

/opt/glassfish/domains/applications/config/configuration.xml
        <!-- INI FUOC extensions -->
        <extension source="txt" target="daisy" descriptionSource="Plain Text" descriptionTarget="Daisy" clase="org.proyectoedita.conversion.converter.MFConverter">
            <configurations>
                <item name="format">1</item>
            </configurations>
        </extension>
        <extension source="txt" target="epub" descriptionSource="Plain Text" descriptionTarget="ePub" clase="org.proyectoedita.conversion.converter.MFConverter">
            <configurations>
                <item name="format">2</item>
            </configurations>
        </extension>
        <extension source="txt" target="movipocket" descriptionSource="Plain Text" descriptionTarget="Movipocket" clase="org.proyectoedita.conversion.converter.MFConverter">
            <configurations>
                <item name="format">3</item>
            </configurations>
        </extension>
        <extension source="doc" target="daisy" descriptionSource="MS Word" descriptionTarget="Daisy" clase="org.proyectoedita.conversion.converter.MFConverter">
            <configurations>
                <item name="format">1</item>
            </configurations>
        </extension>
        <extension source="doc" target="epub" descriptionSource="MS Word" descriptionTarget="ePub" clase="org.proyectoedita.conversion.converter.MFConverter">
            <configurations>
                <item name="format">2</item>
            </configurations>
        </extension>
        <extension source="doc" target="movipocket" descriptionSource="MS Word" descriptionTarget="Movipocket" clase="org.proyectoedita.conversion.converter.MFConverter">
            <configurations>
                <item name="format">3</item>
            </configurations>
        </extension>
        <extension source="odt" target="daisy" descriptionSource="OpenDocument Text" descriptionTarget="Daisy" clase="org.proyectoedita.conversion.converter.MFConverter">
            <configurations>
                <item name="format">1</item>
            </configurations>
        </extension>
        <extension source="odt" target="epub" descriptionSource="OpenDocument Text" descriptionTarget="ePub" clase="org.proyectoedita.conversion.converter.MFConverter">
            <configurations>
                <item name="format">2</item>
            </configurations>
        </extension>
        <extension source="odt" target="movipocket" descriptionSource="OpenDocument Text" descriptionTarget="Movipocket" clase="org.proyectoedita.conversion.converter.MFConverter">
            <configurations>
                <item name="format">3</item>
            </configurations>
        </extension>
        <!--        END FUOC extensions-->

5. Verificación

Acceder mediante la barra edita y realizar conversiones a ePub, Movipocket y Daisy utilizando las plantillas correspondientes (ver "Fitxers adjunts"):

http://edita.selfip.org:8080/frontend/toolbar/

6. Errores y soluciones

[1] java.lang.ClassNotFoundException: org.proyectoedita.conversion.shared.Extension

Falta la biblioteca "org-proyectoedita-conversion-shared-1.0.7.jar" en lib/ext/ del dominio "applications".

[2] java.lang.RuntimeException: setConfiguration has been overwritten,and has not made a call to super.setConfiguration. at org.proyectoedita.conversion.shared.Extension.run(Extension.java:165) at java.lang.Thread.run(Thread.java:619)

En el log del dominio "applications" de GlassFish.

Indica que el método setConfiguration() sobreescrito en la extensión no llama a super.setConfiguration(configurations);