<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: ¿Sencillo? Webservices Borrado y Búsqueda in Alfresco Archive</title>
    <link>https://connect.hyland.com/t5/alfresco-archive/sencillo-webservices-borrado-y-b%C3%BAsqueda/m-p/172691#M125891</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;buenas vbrPFC,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;ultimamente he tenido que desarrollar un webservice y tambien he tenido que desarrollar un "search" y un "delete". En ambos casos es necesario conocer un poco como funciona el tema de las queries de lucene. Yo no es que sea un experto aun, pero creo que me ha salido bien. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Ojea este hilo, para montar las queries que necesites: &lt;/SPAN&gt;&lt;A href="http://wiki.alfresco.com/wiki/Search" rel="nofollow noopener noreferrer"&gt;http://wiki.alfresco.com/wiki/Search&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;No sé en qué lenguaje estás programando, te voy a poner el ejemplo en JAVA:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;&lt;BR /&gt;//primero te declaras la sentencia que necesites&lt;BR /&gt;//en mi caso el nombre del documento era el mismo que su UUId, la arroba significa "dentro de", y el \\ es para hacer literal el \&lt;BR /&gt;String sentencia="@cm\\:name:'tu_nombre'";&lt;BR /&gt;&lt;BR /&gt;//ahora declaras una nueva query, con tu sentencia&lt;BR /&gt;Query query = new Query(Constants.QUERY_LANG_LUCENE, sentencia)&lt;BR /&gt;&lt;BR /&gt;//ahora te declaras el objeto queryresult, para poder pillar posteriormente el resultset&lt;BR /&gt;Store STORE = new Store (Constants.WORKSPACE_STORE, "SpacesStore");&lt;BR /&gt;QueryResult = queryresult = repositoryService.query(STORE, query, false);&lt;BR /&gt;&lt;BR /&gt;//ahora ya podemos pillar el ResultSet de toda la vida&lt;BR /&gt;ResultSet = resultSet = queryresult.getResultSet();&lt;BR /&gt;&lt;BR /&gt;//y el número de retornos&lt;BR /&gt;ResultSetRow[] rows = resultSet.getRows();&lt;BR /&gt;&lt;BR /&gt;if(rows == null) //no resultados!!&lt;BR /&gt;else {&lt;BR /&gt;&lt;BR /&gt; //ahora vamos a crear el objeto CML para eliminar los documentos que ha encontrado&lt;BR /&gt;&lt;BR /&gt;CMLDelete[] deleteCMLArray = new CMLDelete[rows.length];&lt;BR /&gt;&lt;BR /&gt;for(int index = 0; index&amp;lt;rows.length;index++) {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //pillamos el resultset de la posición&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ResultSetRow row = rows[index];&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; deleteCMLArray[index] = new CLMDelete(new Predicate(new Reference[] {new Reference(storeRef, row.getNode().getId(),null)},null,null));&lt;BR /&gt;}&lt;BR /&gt;&lt;BR /&gt;//y ahora ya podemos ejecutar el delete de todos los elementos de dentro del deleteCMLArray&lt;BR /&gt;CML cml = new CML();&lt;BR /&gt;cml.setDelete(deleteCMLArray);&lt;BR /&gt;UpdateResult[] results = WebServiceFactory.getRepositoryService().update(cml);&lt;BR /&gt;}&lt;BR /&gt;&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;BR /&gt;&lt;SPAN&gt;y voilá, tienes el elemento borrado.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;En el case del search, haces el mismo for, pero en vez de crear el objeteo CMLDelete, vas pillando los nodos que te ha devuelto, con las propiedades/metadatos que quieras almacenar. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Espero que te sirva, ya dirás!&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 05 Sep 2011 09:54:50 GMT</pubDate>
    <dc:creator>massanen_2296</dc:creator>
    <dc:date>2011-09-05T09:54:50Z</dc:date>
    <item>
      <title>¿Sencillo? Webservices Borrado y Búsqueda</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/sencillo-webservices-borrado-y-b%C3%BAsqueda/m-p/172690#M125890</link>
      <description>Muy buenas. Llevo días dándole vueltas y estoy deseperado. Además me urge tenerlo para ya, así que ya sabeis lo mucho que bloquean este tipo de situaciones….Trabajo con Alfresco desde una aplicación web mediante webservices. Tengo implementado y funcionando la subida de ficheros y la descarga a trav</description>
      <pubDate>Sun, 04 Sep 2011 02:56:39 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/sencillo-webservices-borrado-y-b%C3%BAsqueda/m-p/172690#M125890</guid>
      <dc:creator>vbrpfc</dc:creator>
      <dc:date>2011-09-04T02:56:39Z</dc:date>
    </item>
    <item>
      <title>Re: ¿Sencillo? Webservices Borrado y Búsqueda</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/sencillo-webservices-borrado-y-b%C3%BAsqueda/m-p/172691#M125891</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;buenas vbrPFC,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;ultimamente he tenido que desarrollar un webservice y tambien he tenido que desarrollar un "search" y un "delete". En ambos casos es necesario conocer un poco como funciona el tema de las queries de lucene. Yo no es que sea un experto aun, pero creo que me ha salido bien. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Ojea este hilo, para montar las queries que necesites: &lt;/SPAN&gt;&lt;A href="http://wiki.alfresco.com/wiki/Search" rel="nofollow noopener noreferrer"&gt;http://wiki.alfresco.com/wiki/Search&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;No sé en qué lenguaje estás programando, te voy a poner el ejemplo en JAVA:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;&lt;BR /&gt;//primero te declaras la sentencia que necesites&lt;BR /&gt;//en mi caso el nombre del documento era el mismo que su UUId, la arroba significa "dentro de", y el \\ es para hacer literal el \&lt;BR /&gt;String sentencia="@cm\\:name:'tu_nombre'";&lt;BR /&gt;&lt;BR /&gt;//ahora declaras una nueva query, con tu sentencia&lt;BR /&gt;Query query = new Query(Constants.QUERY_LANG_LUCENE, sentencia)&lt;BR /&gt;&lt;BR /&gt;//ahora te declaras el objeto queryresult, para poder pillar posteriormente el resultset&lt;BR /&gt;Store STORE = new Store (Constants.WORKSPACE_STORE, "SpacesStore");&lt;BR /&gt;QueryResult = queryresult = repositoryService.query(STORE, query, false);&lt;BR /&gt;&lt;BR /&gt;//ahora ya podemos pillar el ResultSet de toda la vida&lt;BR /&gt;ResultSet = resultSet = queryresult.getResultSet();&lt;BR /&gt;&lt;BR /&gt;//y el número de retornos&lt;BR /&gt;ResultSetRow[] rows = resultSet.getRows();&lt;BR /&gt;&lt;BR /&gt;if(rows == null) //no resultados!!&lt;BR /&gt;else {&lt;BR /&gt;&lt;BR /&gt; //ahora vamos a crear el objeto CML para eliminar los documentos que ha encontrado&lt;BR /&gt;&lt;BR /&gt;CMLDelete[] deleteCMLArray = new CMLDelete[rows.length];&lt;BR /&gt;&lt;BR /&gt;for(int index = 0; index&amp;lt;rows.length;index++) {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //pillamos el resultset de la posición&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ResultSetRow row = rows[index];&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; deleteCMLArray[index] = new CLMDelete(new Predicate(new Reference[] {new Reference(storeRef, row.getNode().getId(),null)},null,null));&lt;BR /&gt;}&lt;BR /&gt;&lt;BR /&gt;//y ahora ya podemos ejecutar el delete de todos los elementos de dentro del deleteCMLArray&lt;BR /&gt;CML cml = new CML();&lt;BR /&gt;cml.setDelete(deleteCMLArray);&lt;BR /&gt;UpdateResult[] results = WebServiceFactory.getRepositoryService().update(cml);&lt;BR /&gt;}&lt;BR /&gt;&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;BR /&gt;&lt;SPAN&gt;y voilá, tienes el elemento borrado.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;En el case del search, haces el mismo for, pero en vez de crear el objeteo CMLDelete, vas pillando los nodos que te ha devuelto, con las propiedades/metadatos que quieras almacenar. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Espero que te sirva, ya dirás!&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 05 Sep 2011 09:54:50 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/sencillo-webservices-borrado-y-b%C3%BAsqueda/m-p/172691#M125891</guid>
      <dc:creator>massanen_2296</dc:creator>
      <dc:date>2011-09-05T09:54:50Z</dc:date>
    </item>
    <item>
      <title>Re: ¿Sencillo? Webservices Borrado y Búsqueda</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/sencillo-webservices-borrado-y-b%C3%BAsqueda/m-p/172692#M125892</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hola, &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Tengo una duda, una vez que tengo desarrolladas mis clases de java, por ejemplo en eclipse como hago para configurar mi Alfresco y que me funcionen mis busquedas??&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Saludos y gracias por la ayuda&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 29 Aug 2012 19:16:01 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/sencillo-webservices-borrado-y-b%C3%BAsqueda/m-p/172692#M125892</guid>
      <dc:creator>angymar</dc:creator>
      <dc:date>2012-08-29T19:16:01Z</dc:date>
    </item>
  </channel>
</rss>

