Vinculos/enlaces a carpetas Alfresco

cancel
Showing results for 
Search instead for 
Did you mean: 
polarograma
Member II

Vinculos/enlaces a carpetas Alfresco

Hola,
Estoy intentando ofrecer información de documentos almacenados en Alfresco a través de una hoja Excel y me gustaría añadir una columna con un hipervínculo del espacio donde está alojado ese documento.
¿Podéis ofrecerme información acerca del algoritmo que usa Alfresco para generar los enlaces a espacios/ficheros almacenados del estilo http://servidor1/alfresco/n/browse/workspace/SpacesStore/d8...10-bf34-42f5-8d8e-fa...dd? ¿o cómo hacerlo?
Muchas gracias.
Un saludo.
2 Replies
cybermakoki
Member II

Re: Vinculos/enlaces a carpetas Alfresco

Hola!

Yo uso webservices y construyo la url de la siguiente manera:

protected static final Store STORE = {http://www.alfresco.org/model/system/1.0}store-identifier
protected static final Store PATH = {http://www.alfresco.org/model/content/1.0}path
protected static final Store WORKSPACE = {http://www.alfresco.org/model/system/1.0}store-protocol
protected static final Store CONSTANTE_URL = /alfresco/d/d/

public Object obtenerDoc(Query query){
         try {
            HttpServletRequest req = (HttpServletRequest)FacesContext.getCurrentInstance().getExternalContext().getRequest();
            AuthenticationDetails details = (AuthenticationDetails)req.getSession().getAttribute("authenticationDetails");
            
            RepositoryServiceSoapBindingStub repositoryService = WebServiceClient.getRepositoryService(details);
            
            QueryResult queryResult = repositoryService.query(new Store(Constants.WORKSPACE_STORE, "SpacesStore"), query, false);
            ResultSet rs = queryResult.getResultSet();
            ResultSetRow[] rows = rs.getRows();
            
            if (rows != null && rows.length > 0){

            
                    // Get the infomation from the result set
                    for(ResultSetRow row : rows)
                    {
                        String nodeId = row.getNode().getId();
                        Doc doc = new Doc();
                        doc.setId(nodeId);
                         boolean haEntrado = false;
                         
                        for (NamedValue namedValue : row.getColumns())
                        {
                              if (namedValue.getName().endsWith(Constants.PROP_NAME) == true)
                              {
                                 doc.setName(namedValue.getValue());
                              }
                              else if (namedValue.getName().equals(PATH) == true)
                              {
                                 doc.setPath(namedValue.getValue());
                              }
                             
                              else if (namedValue.getName().equals(WORKSPACE) == true)
                              { 
                                 doc.setWorkspace(namedValue.getValue());
                              }
                              else if (namedValue.getName().equals(STORE) == true)
                              { 
                                 doc.setStore(namedValue.getValue());
                              }
                            
                             
                              if(!haEntrado && doc.getWorkspace() != null && doc.getStore() != null && doc.getId() != null && doc.getName()!= null){
                                 doc.setUrl(CONSTANTE_URL + doc.getWorkspace() + "/" + doc.getStore() + "/" + doc.getId() + "/" + doc.getName());                               
                                 haEntrado = true;
                              }
                          }
                     
                         }
                     }
            
         } catch (RepositoryFault e) {         
            logger.error(Utils.getStackTrace(e));
         } catch (RemoteException e) {            
            logger.error(Utils.getStackTrace(e));
         } catch (Exception e){              
              logger.error(Utils.getStackTrace(e));
           }
         
         return Object;
      }

con ese método, cuando hagais un doc.getUrl() te devolvería la url al documento Smiley Happy

no se como lo teneis implementado, pero esto sería una idea…
cristinamr
Advanced

Re: Vinculos/enlaces a carpetas Alfresco

Buenas.

Ojea este post, creo que te servirá de ayuda Smiley Wink

Un saludo.
--
VenziaIT: helping companies since 2005! Our ECM products: AQuA & Seidoc