cancel
Showing results for 
Search instead for 
Did you mean: 

Problema al realizar busqueda, no encuentra el spacio

magarcia_sm
Star Contributor
Star Contributor
Buenos días,

Os comento el problema que estoy teniendo. He implementado una funcionalidad para alfresco en el que a través de un wizard añado cierta información y al finalizarlo crea un nuevo espacio en la ruta especificada. Hasta ahora he trabajado en local con windows7  y todo está funcionando correctamente, pero ahora quiero pasarlo a una máquina con ubuntu 14. He hecho la instalación tanto de Alfresco como del AMP sin problema y está funcionando correctamente, también he importado la estructuras de espacios mediante un ACP.
El problema llega a la hora de lanzar el wizard que comentaba al principio, al finalizar el wizard debería crear un nuevo espacio en la ruta indicada, pero me dice que no encuentra el path, lo que me extraña porque en la otra máquina con la misma estructura de espacios funciona perfectamente. He comprobado los espacios y están correctamente creados. Tema de permisos tampoco creo que sea porque las pruebas las estoy haciendo como admin.


11:57:44,902 INFO  [org.alfresco.web.wizards.CrearExpedienteFactura] ——————– String ruta: +PATH:"/app:company_home/cm:Eficanza/cm:Responsables_Eficanza/cm:Direccion_Operativa/cm:Entrada"
11:57:44,921 INFO  [org.alfresco.web.wizards.CrearExpedienteFactura] ——————– No existe ningún espacio con la siguiente stringQuery: +PATH:"/app:company_home/cm:Eficanza/cm:Responsables_Eficanza/cm:Direccion_Operativa/cm:Entrada"


¿De donde puede venir el problema? He probado incluso a volver a crear los espacios y nada.
¿Varía algo por ser una máquina con ubuntu?

Muchas Gracias
4 REPLIES 4

angelborroy
Community Manager Community Manager
Community Manager
Podría ser el encoding del servidor. ¿Cómo estás recuperando/creando el espacio?
Hyland Developer Evangelist

La máquina en su configuración por defecto utiliza UTF-8. ¿Puede afectar eso a mi Alfresco 4.2.f?

El código que utilizo es el siguiente .

<java>
    public void crearEspacioExpedienteFacturas() throws FileNotFoundException {

        /** creamos nombre del espacio a crear con el numFactura y el cif del nodo factura **/
        Serializable numFactura = nodeService.getProperty(currentNode.getNodeRef(), Constants.PROP_QNAME_FACTURA_NUM_FACTURA);
        Serializable numCIF = nodeService.getProperty(currentNode.getNodeRef(), Constants.PROP_QNAME_FACTURA_NUM_CIF);
        String nombreEspacio = "EF-" + numFactura.toString() + "-" + numCIF.toString();

        /** comprobamos si ya existe un expediente_factura creado con el mismo numFactura y CIF **/
        if (!existeEspacioFactura(nombreEspacio)) {

            String stringTemp = "+PATH:\"/app:company_home/cm:Eficanza/cm:Responsables_Eficanza/cm:" +
                    this.espacioResponsablesSeleccionado + "/cm:Entrada\"";

            /** buscamos el espacio padre donde crearemos los nuevos espacios expediente_factura **/
            ResultSet results = serviceRegistry.getSearchService().query(StoreRef.STORE_REF_WORKSPACE_SPACESSTORE,
                    SearchService.LANGUAGE_LUCENE, stringTemp);

            if (results.getNodeRefs().size() > 0) {

                /** añadimos las properties **/
                Map<QName, Serializable> properties = new HashMap<QName, Serializable>();
                properties.put(ContentModel.PROP_NAME, nombreEspacio);
                properties.put(Constants.PROP_QNAME_EXPEDIENTE_FACTURA_NUM_EXPEDIENTE, nombreEspacio);
                properties.put(Constants.PROP_QNAME_EXPEDIENTE_FACTURA_USUARIO_CREADOR, currentUser);
                properties.put(Constants.PROP_QNAME_EXPEDIENTE_FACTURA_FECHA_APERTURA, new Date());
                properties.put(Constants.PROP_QNAME_EXPEDIENTE_FACTURA_ESTADO, "PENDIENTE");
                properties.put(Constants.PROP_QNAME_EXPEDIENTE_FACTURA_CIF, numCIF);

                /** creación del nuevo nodo espacio hijo tipificado como expediente en Expediente_Facturas **/
                String assocName = QName.createValidLocalName(nombreEspacio);
                ChildAssociationRef car = nodeService.createNode(results.getNodeRef(0),
                        ContentModel.ASSOC_CONTAINS, QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI,
                                assocName), Constants.TYPE_QNAME_EXPEDIENTE_PROPERTIES, properties);

                newNodeExpediente = null;
                if (car.getChildRef() != null) {

                    newNodeExpediente = new Node(car.getChildRef());
                    //  permissionService.setPermission(newNodeExpediente.getNodeRef(), "GROUP_Administracion", PermissionService.COORDINATOR, true);
                    fileFolderService.move(currentNode.getNodeRef(), newNodeExpediente.getNodeRef(), null);
                    insertarMetadatos();

                } else if (newNodeExpediente == null) {
                    logger.info("***********************************  EXPEDIENTE ES NULO");
                }

                logger.info("————————- ESPACIO EXPEDIENTE_FACTURA CREADO CON NOMBRE: " + nombreEspacio);

            } else {
                logger.info("——————– No existe nigún espacio con la siguiente stringQuery: " + stringTemp);
            }
        } else {
            logger.info("———————– YA EXISTE UN ESPACIO EXPEDIENTE_FACTURAS CON NUMFACTURA: "
                    + numFactura + " Y CIF: " + numCIF);
        }
</java>

Gracias Angel.

angelborroy
Community Manager Community Manager
Community Manager
¿Tienes los índices con LUCENE o es que utilizas esa sintaxis para buscar? Yo cambiará a FTS o a CMIS.

Quizá el problema sea que en Alfresco no se están actualizando bien los índices.
Hyland Developer Evangelist

Hola de nuevo,

Como comentabas el problema tenía ver con LUCENE, investigando un poco hemos visto en otro post que en el archivo "alfresco-global.properties" había que modificar el parámetro <strong>index.subsystem.name</strong> de solr a lucene. Hemos hecho también un full index recovery por si acaso y ahora ya está funcionando correctamente.


####Lucene indexing - SM ###
# The subsystem type value. Value is either solr or lucene.
index.subsystem.name=lucene
index.recovery.mode=FULL


Lo que me extraña es que en la máquina en la que trabajo el parametro index.subsystem.name=solr y funcionaba correctamente.

De todas formas muchas gracias por todo.
Getting started

Tags


Find what you came for

We want to make your experience in Hyland Connect as valuable as possible, so we put together some helpful links.