Auto Importación devuelve error

OpenKM tiene muchas características interesantes, pero es necesario un proceso de configuración para mostrar todo su potencial.
Forum rules
Por favor, antes de preguntar algo consulta el wiki de documentación o utiliza la función de búsqueda del foro. Recuerda que no tenemos una bola de cristal ni poderes mentales, o sea que que para informar sobre un error es necesario que nos indiques tanto la versión de OpenKM que usas como la del navegador y sistema operativo. Para más información consulta Cómo informar de fallos de forma efectiva.
Post Reply
csanchez
Fresh Boarder
Fresh Boarder
Posts: 4
Joined: Tue Aug 16, 2016 9:46 am

Auto Importación devuelve error

Post by csanchez » Tue Aug 16, 2016 10:45 am

Buenos días,

Soy nuevo con OpenKm, y estoy muy ilusionado con las posibilidades que me puede ofrecer.
Felicidades al equipo de OpenKM.

He instalado la versión Comunnity 6.3.1 desde el fichero openkm-6.3.1-community-linux-x64-installer.run, en un Ubuntu Server 16.04 y creo que la he hecho bien.

Ahora, quiero importar automáticamente ficheros en formato .PDF a una carpeta de OpenKM, y estoy intentando ejecutar el script que tenéis en http://wiki.openkm.com/index.php/Cronta ... e_importer, pero me devuelve un error, iIncluso lo estoy ejecutando desde la consoloa de Ubuntu con bsh.

¿Qué estoy haciendo mal?. Muchas gracias por adelantado.

El error es:

Evaluation Error: Sourced file: /home/administrador/download/ImportFromScanner2.bsh : Typed variable declaration : Attempt to resolve method: getInstance() on undefined variable or class name: DbSessionManager : at Line: 6 : in file: /home/administrador/download/ImportFromScanner2.bsh : DbSessionManager .getInstance ( )


El script es:

Code: Select all

import com.openkm.core.*;
import com.openkm.api.*;
import java.io.*;
import com.openkm.module.db.stuff.DbSessionManager;

String token = DbSessionManager.getInstance().getSystemToken();
OKMDocument document = OKMDocument.getInstance();
OKMFolder folder = OKMFolder.getInstance();

public void autoImport(String okmPath, File fldpath) {
  try {
    print("Scanning " + fldpath.getName() + "<br>");
    
    for (File file : fldpath.listFiles()) {
      print("Importing " + file.getName() + "<br>");
      
      try {
        if (file.isDirectory()) {
          try {
            folder.createSimple(token, okmPath + file.getName());
          } catch (ItemExistsException ie) {    
            print("folder already exists<br>");
            // Folder already exists - just ignore exception
          }
          
          autoImport( okmPath + file.getName() + "/", file);
        } else {
          // Check if file is still being written to
          long length = file.length();
          Thread.sleep(1000);
          if (file.length() > length) continue; // Skip file this time
          document.createSimple(token, okmPath + file.getName(), new FileInputStream(file));
        }
        
        print("Created " + okmPath + file.getName() + "<br>");
      } catch (Exception e) {
        print ("Exception:" + e + "<br>");
        
        // Something bad happened to prevent import. Skip to next file.
        continue;
      }
      
      file.delete();
    }
  } catch (Exception e) {
    print("Exception: " + e + "<br>");
  }
}

autoImport("/okm:root/Scans/", new File("/home/fom/scanner"));

jllort
Moderator
Moderator
Posts: 9590
Joined: Fri Dec 21, 2007 11:23 am
Location: Sineu - ( Illes Balears ) - Spain
Contact:

Re: Auto Importación devuelve error

Post by jllort » Tue Aug 16, 2016 6:22 pm

Yo el import y la llamada la veo bien, de hecho la clase esta donde toca:
https://sourceforge.net/p/openkm/code/H ... nager.java

Mi recomendación es cortar el código hasta aqui a ver si esto aun te da error:

Code: Select all

import com.openkm.core.*;
import com.openkm.api.*;
import java.io.*;
import com.openkm.module.db.stuff.*;

String token = DbSessionManager.getInstance().getSystemToken();
print(token);
Si esto te funciona bien, ve ampliando el código y sino dinos cosas.

csanchez
Fresh Boarder
Fresh Boarder
Posts: 4
Joined: Tue Aug 16, 2016 9:46 am

Re: Auto Importación devuelve error

Post by csanchez » Wed Aug 17, 2016 8:43 am

Buenos días jllort y gracias por tu respuesta.

He ejecutado el script como me indicas y sigue devolviendo el mismo error.

Code: Select all

Evaluation Error: Sourced file: ./test.bsh : Typed variable declaration : Attempt to resolve method: getInstance() on undefined variable or class name: DbSessionManager : at Line: 6 : in file: ./test.bsh : DbSessionManager .getInstance ( )
Yo soy muy novato en bsh y linux, pero a mi me parece que el programa no reconoce la llamada a DbSessionManager.

No sé ni por donde empezar :-(

jllort
Moderator
Moderator
Posts: 9590
Joined: Fri Dec 21, 2007 11:23 am
Location: Sineu - ( Illes Balears ) - Spain
Contact:

Re: Auto Importación devuelve error

Post by jllort » Wed Aug 17, 2016 9:32 am

Lo he probado con una instalacion community 6.3.1 limpia y funciona perfectamente. Tienes que tener algo raro, para que este no te este funcionando. Seguro que estas ejecutando la ultima community 6.3.1 ?

csanchez
Fresh Boarder
Fresh Boarder
Posts: 4
Joined: Tue Aug 16, 2016 9:46 am

Re: Auto Importación devuelve error

Post by csanchez » Wed Aug 17, 2016 10:49 am

Vaya

Sí, la última descargada la semana pasada.

Voy a hacer otra instalación y te cuento.

csanchez
Fresh Boarder
Fresh Boarder
Posts: 4
Joined: Tue Aug 16, 2016 9:46 am

Re: Auto Importación devuelve error

Post by csanchez » Fri Aug 19, 2016 10:09 am

Buenos días jllort.

me ha surgido un proyecto que me absorberá buena parte de mi tiempo.

En cuanto tengan hueco retomo este tema y t cuento.

Gracias por tu ayuda.

Post Reply

Who is online

Users browsing this forum: No registered users and 1 guest