Obtener Enlace Público al crear documento

cancel
Showing results for 
Search instead for 
Did you mean: 
angelborroy
Alfresco Employee

Re: Obtener Enlace Público al crear documento

Jump to solution

Quizá estés algo lejos de poder acometer esta funcionalidad.

Te dejo un trozo de código por si puede serte de ayuda.

1. La invocación al servicio para compartir el documento.

public SharedResponse shareDocument(String nodeRef) throws Exception {

alfrescoConnector.beginTransaction();

SharedResponse sr = null;

HttpClient httpClient = new DefaultHttpClient();
httpClient.getParams().setParameter("http.protocol.version", HttpVersion.HTTP_1_1);
httpClient.getParams().setParameter("http.protocol.content-charset", "UTF-8");

String nodeId = nodeRef.substring(nodeRef.lastIndexOf("/") + 1, nodeRef.length());

HttpPost postMethod = new HttpPost(alfrescoConnector.getUrl() + "internal/shared/share/workspace/SpacesStore/" + nodeId + "?alf_ticket=" + alfrescoConnector.getValidTicket());

HttpResponse response = httpClient.execute(postMethod);

if (response.getStatusLine().getStatusCode() == 200) {
BufferedReader br = new BufferedReader(new InputStreamReader((response.getEntity().getContent())));
sr = JsonBean.fromJson(br, SharedResponse.class);
} else {
throw new Exception (response.getStatusLine().getStatusCode() + ": " + response.getStatusLine().getReasonPhrase());
}


alfrescoConnector.endTransaction();

return sr;

}

2. Como obtener el ticket de conexión (es el que usa el "alfrescoConnector.beginTransaction()" de arriba)

 private String alfrescoLogin() throws Exception {

String alfrescoTicket = "";

AlfrescoLoginUser au = new AlfrescoLoginUser();
au.setUsername(username);
au.setPassword(password);

HttpClient httpClient = new DefaultHttpClient();
HttpPost postRequest = new HttpPost(url + "login");

StringEntity input = new StringEntity(au.getJson());
input.setContentType("application/json");
postRequest.setEntity(input);

HttpResponse response = httpClient.execute(postRequest);

if (response.getStatusLine().getStatusCode() == 200) {
BufferedReader br = new BufferedReader(new InputStreamReader((response.getEntity().getContent())));
AlfrescoTicket at = JsonBean.fromJson(br, AlfrescoTicket.class);
alfrescoTicket = at.getData().getTicket();
} else {
throw new Exception (response.getStatusLine().getStatusCode() + ": " + response.getStatusLine().getReasonPhrase());
}

httpClient.getConnectionManager().shutdown();

logger.info("Alfresco Login: " + alfrescoTicket);

return alfrescoTicket;

}

Si tengo tiempo en el futuro publicaré un cliente complete para la API REST de Alfresco.

Hyland Developer Evangelist
wifer
Active Member

Re: Obtener Enlace Público al crear documento

Jump to solution

Bueno logré mi propósito, aunque no tan funcional, pero funciona

import org.openqa.selenium.By;

import org.openqa.selenium.WebDriver;

import org.openqa.selenium.chrome.ChromeDriver;

/**

*

* @author Fernando Bustos

*/

public class Pruebados {

    /**

     * @param args the command line arguments

     */

    public static void main(String[] args) {

        // TODO code application logic here

        System.setProperty("webdriver.chrome.driver", "D://chromedriver.exe");

    // Initialize browser

    WebDriver driver=new ChromeDriver();

    // Open

    driver.get("http://localhost:8080/share");

    driver.findElement(By.id("page_x002e_components_x002e_slingshot-login_x0023_default-username")).sendKeys("usuario");

    driver.findElement(By.id("page_x002e_components_x002e_slingshot-login_x0023_default-password")).sendKeys("contraseña");

    driver.findElement(By.id("page_x002e_components_x002e_slingshot-login_x0023_default-submit-button")).click();

    driver.get("http://localhost:8080/share/page/document-details?nodeRef=workspace://SpacesStore/541e29ae-c160-4c35...");

    driver.findElement(By.id("template_x002e_node-header_x002e_document-details_x0023_default-quickshare")).click();

    String cod = driver.findElement(By.id("template_x002e_node-header_x002e_document-details_x0023_default-quickshare-input")).getAttribute("value");

    System.out.print(cod.split("/")[5]);

    driver.close();

    }

   

}

yusniel01228
Active Member II

Obtener enlace público de una imagen

Jump to solution

Hola, Soy nuevo en la comunidad y estoy comenzando apenas con la plataforma de alfresco. Logré conectar mi sistema con alfresco y por medio de las APIS logré obtener la url publica de una imagen.

Mi duda es que obtengo una página donde se ve una pagina con los logos de alfresco y en el centro mi imagen pero necesito obtener la ruta de la pura imagen. Es decir la ruta del archivo compartido sin que se vea toda una página sino la visualización de la imagen que quiero solamente.

Ejemplo subo dos imágenes.

"Imagen 1" es la imagen compartida de alfresco.

"Imagen 2"nseria la pura imagen y es como quisiera verla.

Espero respuesta, Gracias.

Imagen 1Imagen 1

Imagen 2Imagen 2