Configurar correo Exchange como mail relay

Un resumen de las investigaciones que hice, el cual me ayudo a configurar mi plataforma para que pueda usar el servidor SMTP del Servidor exchange de una organización.

Y este fue el enlace que resolvio lo del SMTP Relay

https://technet.microsoft.com/en-us/library/dn592151(v=exchg.150).aspx

————————————

Send mail to Exchange Online | Part 1#4

Send mail to Exchange Online using standard SMTP session | Part 2#4

SMTP Relay in Office 365 environment | Part 3#4

SMTP Relay in Office 365 environment | Troubleshooting scenarios |Part 4#4

Y este fue el apoyo de microsoft

https://community.office365.com/en-us/f/158/t/356436

https://technet.microsoft.com/en-us/library/mt210446(v=exchg.150).aspx

https://technet.microsoft.com/en-us/library/dn554323(v=exchg.150).aspx

https://technet.microsoft.com/en-us/library/2c0012a9-7e71-40cd-a516-1b26117bf491(v=exchg.150)#HowtoconfigSMTPCS

Pruebas con el TELNET

http://www.patricioleon.cl/articulos/58-enviar-correo-via-smtp-utilizando-telnet

 

Anuncios

Consultas recursivas (CTE)

Investigando como crear un reporte que se visualice como un calendario, me encontre con esta novedad en SQL Server de consultas recursivas.

https://msdn.microsoft.com/es-es/library/ms175972(v=sql.120).aspx

https://technet.microsoft.com/es-es/library/ms186243(v=sql.105).aspx

http://exutn98.blogspot.com/2010/03/with-commontableexpression-cte.html
set datefirst 1

;with Cal as
(
  select cast('20020101' as datetime) as dt
  union all
  select dt+1
  from Cal
  where dt < cast('20111231' as datetime)
)
select
  dt as [Date],
  case datepart(dw, dt)
    when 6 then 1
    when 7 then 1
    else 0
  end  as Weekend  
from Cal
option (maxrecursion 0)

Para ejecutar consultas SQL en linea
  http://sqlfiddle.com/#!3/9eecb7/275

https://infow.wordpress.com/2013/01/28/select-recursivo-en-oracle/

Referencias
http://blog.avanttic.com/2010/11/28/recursividad-en-plsql-ii-implementacion-alternativa/

http://stackoverflow.com/questions/5635594/how-to-create-a-calender-table-for-100-years-in-sql

http://www.brianshowalter.com/calendar_tables

http://stackoverflow.com/questions/30362411/sql-how-to-get-a-complete-month-calendar-table?lq=1

http://www.made2mentor.com/2011/04/calendar-tables-why-you-need-one/

Interpretar plantillas de JASPER en linux creadas en Windows

Hacer la instalacion de las fuentes de microsoft

Editar el archivo /etc/apt/sources.list y agregar las siguientes instrucciones

deb http://ftp.debian.org/debian/ etch main non-free contrib

deb-src http://ftp.debian.org/debian/ etch main non-free contrib

deb http://security.debian.org/ etch/updates main contrib

deb-src http://security.debian.org/ etch/updates main contrib

Y ejecutar la instrucción apt-get update

Luego instalar el paquete apt-get install msttcorefonts

Definir CORS para invocar servicios REST de WS02DSS con AJAX desde JavaScript

Estos son los pasos que se deben hacer para que desde AJAX se pueda invocar un servicio desde Wso2.

1.- Copiar losarchivos.jar (java-property-utils-1.9 y cors-filter-1.8) en el siguiente directorio dentro de ws02dss \wso2dss-3.1.1\repository\components\lib.

2.-  Modificar el archivo web.xml ubicado en \wso2dss-3.1.1\repository\conf\tomcat\carbon\WEB-INF , editar el archivo web.xml e incorpor la siguiente especificacion de filtro con el otro filter (es decir los filter tienen que estar juntos)

<filter>
<filter-name>CORS</filter-name>
<filter-class>com.thetransactioncompany.cors.CORSFilter</filter-class>
</filter>

3.- y copiar el mapeo del filtro , donde esta losfilter mapping

<filter-mapping>
<filter-name>CORS</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

4.- Luego en el directorio wso2dss-3.1.1\repository\conf\axis2 , editar el archivo axis2_client.xml y colocar en true el parametro httpContentNegotiation

<parameter name=”httpContentNegotiation”>true</parameter>

Luego editar el archivo AXIS2.xml e incorporar esta linea

parameter name=”httpContentNegotiation”>true</parameter>

5.- Para la invocacion AJAX y el resultado sea Json esta es la forma de invocar

$.ajax({
type: “GET”,
url: “http://192.168.1.143:9763/services/samples/RDBMSSample.HTTPEndpoint/productsInfo“,
headers: {
“SOAPAction”:”urn:productsInfo”,
“Accept” : “application/json”
},
beforeSend: function (XMLHttpRequest) {
alert(‘antes’);
},
success: function (data, textStatus, XmlHttpRequest) {
alert(“exito!!!”);
alert(textStatus);
alert(data);
},
error: function (XMLHttpRequest, textStatus, errorThrown) {
alert(“failure ” + errorThrown);
returnValue = false;
}
});

El valor de URN se obtiene cuando se lista los servicios y se hace click en WSDL2, y muestra la definicion del webservice

En el URL se debe escoger HTTPEndpoint en la seccion de Try It (o probador de webservices) y ese es el url concatenado al nombre de la operación.

En algunos casos , retorna el error de que no se pudo transformar  el resultado del XML en JSON se debe hacer ajustes en en axis2.xml  para indicar las clases que apoyan en la transformacion:

Editing the respository/conf/axis2/axis2.xml and changing the right messagebuilder and formatter

<messageFormatter contentType="application/json"
                  class="org.apache.axis2.json.JSONMessageFormatter"/>
<!--messageFormatter contentType="application/json"
                          class="org.apache.axis2.json.gson.JsonFormatter" /-->


<messageBuilder contentType="application/json"
                class="org.apache.axis2.json.JSONOMBuilder"/>
<!--messageBuilder contentType="application/json"
                        class="org.apache.axis2.json.gson.JsonBuilder" /-->

Referencias:

http://software.dzhuvinov.com/cors-filter-installation.html

http://software.dzhuvinov.com/cors-filter-tips.html

http://software.dzhuvinov.com/cors-filter-configuration.html

https://docs.wso2.com/display/AS521/Developing+JAX-WS+Services

http://shivendra-tripathi.blogspot.com/2010/04/adding-handler-in-axis2.html?m=1

http://indosat.muslimlife.com.ngopi.cf/index.cgi/S0/http/stackoverflow.com/questions/24367280/error-in-getting-json-response-from-dss-server-error-while-writing-to-the-outp

http://stackoverflow.com/questions/25995306/wso2-dss-rest-call-to-database-with-null-values

donde esta el valor del URN del servicio.

Definir JAVA_HOME en LINUX

Buscando por internet encontre lo siguiente en español:

IDENTIFICAR LA LOCALIZACIÓN DE LA INSTALACIÓN DE JAVA

Abrimos un terminal y buscamos la localizacion de java:


Lo que estamos buscando es /usr/bin/java Continuamos en la linea de comandos para encontrar la ruta absoluta, ya que eso es solo un link simbólico.

Con los resultados podemos ver lo siguiente:

  • /usr/bin/java es un link simbólico a /etc/alternatives/java
  • /etc/alternatives/java es un link simbólico a /usr/lib/jvm/jre-1.6.0-openjdk.x86_64/bin/java

Así que el PATH absoluto de java es /usr/lib/jvm/jre-1.6.0-openjdk.x86_64/bin/java

CONFIGURAMOS EL PATH DE JAVA_HOME PARA TODOS LOS USUARIOS

1.- Abrimos el fichero profiles:

2.- Declaramos la variable de entorno JAVA_HOME de la siguiente forma:

3.- No olvidemos poner la variable del PATH:

4.- Ahora ya podemos desloguearnos y volvernos a loguear para ver aplicados los cambios. O bien podemos ejecutar lo siguiente para que se apliquen los cambios inmediatamente:

Y en Ingles

~/.bash_profile is a startup script which generally runs once. This particular file is used for commands which run when the normal user logs in. Common uses for .bash_profile are to set environment variables such as PATH, JAVA_HOME, to create aliases for shell commands, and to set the default permissions for newly created files.

Set JAVA_HOME / PATH for a single user

Login to your account and open .bash_profile file
$ vi ~/.bash_profile
Set JAVA_HOME as follows using syntax export JAVA_HOME=<path-to-java>. If your path is set to /usr/java/jdk1.5.0_07/bin/java, set it as follows:
export JAVA_HOME=/usr/java/jdk1.5.0_07/bin/java
Set PATH as follows:
export PATH=$PATH:/usr/java/jdk1.5.0_07/bin
Feel free to replace /usr/java/jdk1.5.0_07 as per your setup. Save and close the file. Just logout and login back to see new changes. Alternatively, type the following command to activate the new path settings immediately:
$ source ~/.bash_profile
OR
$ . ~/.bash_profile
Verify new settings:
$ echo $JAVA_HOME
$ echo $PATH

Tip: Use the following command to find out exact path to which java executable under UNIX / Linux:
$ which java

Please note that the file ~/.bashrc is similar, with the exception that ~/.bash_profile runs only for Bash login shells and .bashrc runs for every new Bash shell.

Set JAVA_HOME / PATH for all user

You need to setup global config in /etc/profile OR /etc/bash.bashrc file for all users:
# vi /etc/profile
Next setup PATH / JAVA_PATH variables as follows:
export PATH=$PATH:/usr/java/jdk1.5.0_07/bin
export PATH=$PATH:/usr/java/jdk1.5.0_07/bin

Save and close the file. Once again you need to type the following command to activate the path settings immediately:
# source /etc/profile
OR
# . /etc/profile

Referencia

http://www.cyberciti.biz/faq/linux-unix-set-java_home-path-variable/

Invocar WSo2 y dejandola activa al cerrar la sesion del terminal en Linux

El comando nohup permite mantener la ejecución de un comando (el cual le pasamos como un argumento) pese a salir de la terminal (logout), ya que hace que se ejecute de forma independiente a la sesión.

Básicamente, lo que hace es ignorar la señal HUP (señal que se envía a un proceso cuando la terminal que lo controla se cierra), esto implica que aunque cerremos la terminal, el proceso se siga ejecutando.

Un ejemplo sencillo sería la ejecución en segundo plano de un script cualquiera, gracias al comando nohup permitiremos la continuidad de la ejecución en caso de cualquier problema con la sesión, shell de ejecución, etc:

$ nohup ./miscript.sh &

Por defecto, la salida del comando, que normalmente aparecería directamente en la terminal, será procesada a un fichero llamado nohup.out que aparecerá en la ruta donde nos encontremos al ejecutar el comando.

Para el caso de WS02 la invocación seria de la siguiente manera:

nohup wso2server.sh start &

Referencia

http://www.linuxsc.net/the-scripts/1713-ejecutar-comandos-con-nohup-despues-de-la-salida-de-un-shell

http://rm-rf.es/nohup-mantiene-ejecucion-comando-pese-salir-terminal/

http://stackoverflow.com/questions/10288362/wso2-data-services-server-on-linux-64-bit?rq=1

Agregar tag a documentos de Alfresco con REST API

Invocar RestAPI
Invocar RestAPI

Realizando la integración entre Bonita 7.0 y Alfresco , la manera de agregar etiquetas (tags) al documento que esta siendo incorporado en Alfresco se realizo con el servicio de RESTAPI.

Primero nos debemos autenticar a ALFRESCO. invocando el siguiente servicio con el metodo GET http://localhost:8070/alfresco/service/api/login?u=admin&pw=admin

Y retorna lo siguiente:

<?xml version=”1.0″ encoding=”UTF-8″?>
<ticket>TICKET_5d55f2e9b26b8f04e77fcbffbdaef68308d51450</ticket>

Se toma el valor del ticket y se pasa como parametro a la invocación del servicio

http://localhost:8070/alfresco/service/collaboration/tagActions?alf_ticket=TICKET_5d55f2e9b26b8f04e77fcbffbdaef68308d51450

y pasa como dato de la forma (formdata ) los siguientes parametros

a = add (la acción a realizar) (action)

n=el codigo del nodo a colocar la etiqueta (node)

t=el nombre de la etiqueta (tags)

Para obtener el listado de los tags

http://localhost:8070/alfresco/service/api/tags/workspace/SpacesStore?details=true

Referencias que permitieron agregar etiquetas a los archivos en alfresco

http://wiki.alfresco.com/wiki/Repository_RESTful_API_Reference

http://docs.alfresco.com/5.0/references/RESTful-TaggingNodeTagsPost.html

http://docs.alfresco.com/4.0/tasks/api-tags-retrieve.html

http://www.zylk.net/es/web/guest/web-2-0/blog/-/blogs/integracion-de-aplicaciones-en-alfresco-ecm

http://www.zylk.net/es/web/guest/web-2-0/blog/-/blogs/script-para-refrescar-los-tags-de-sitios-en-alfresco-share

http://wiki.alfresco.com/wiki/4.0_JavaScript_Services_API

Importar repositorios de GitHub con git o Eclipse

Excelente articulo para importar proyectos copiados en GUT

danielme.com

GitHub

Los ejemplos del blog y mis proyectos personales se encuentran alojados en repositorios git en GitHub. Son numerosos los motivos que me han llevado a tomar esta decisión:

  • Se puede acceder a los repositorios sin necesidad de tener una cuenta en GitHub (aunque es muy recomendable tal y como veremos al final del artículo).
  • Permitir que los lectores puedan consultar todo el código sin necesidad de descargarlo.
  • Poder ver las correcciones y mejoras que los proyectos han sufrido con el paso del tiempo.

Puesto que muchos lectores no estarán familiarizados con el uso de GitHub, con este artículo pretendo ofrecer una mini-guía para que no haya problemas a la hora de descargarse los ejemplos del blog o cualquier otro repositorio de GitHub. El funcionamiento del sistema de control de versiones git no será cubierto en este artículo, al final del mismo se pueden encontrar enlaces al respecto.

Descargar…

Ver la entrada original 1.041 palabras más

Tips de Bonita BPM con el manejo del Portal

Muchos elementos de Bonita que son manejados a nivel de archivos , son almacenados en base de datos y a pesar de que se modifiquen los archivos a nivel de repositorio , en la ejecución la información es tomada de la base de datos de Bonita BPM.

Por ejemplo , los archivos contenidos en el directorio Portal son almacenados en la tabla THEME, especificamente en los campo content y csscontent. Para postgresql leer estos valores se hace a través de la instrucción:

copy (select content from theme) to ‘c:\app\content.html’ , esta instrucción toma la información de la tabla y la guarda en un archivo.

Para copiar nuevamente la información en la tabla se ejecuta la siguiente instrucción:

copy theme to ‘c:\app\theme.zip’

La información que se registra en el archivo esta encryptada de forma hexadecimal, por lo tanto se debe desencryptar (me falta probar esta parte)

Lo mismo sucede con los UserFilter, donde los archivos jar del user_filter se almacen en la tabla

Como instalar wordPress

Investigando en las paginas es sencillo la instalación del CMS WordPress a diferencia de DRUPAL es el mas conocido. Por eso he decidido que esta herramienta sera nuestro CMS para nuestros sitios WEB.

A continuación detallo los pasos:

  • Tener instalado MySQL en el servidor a instalar wordpress
  • Descargar la versión en español desde este enlace http://es.wordpress.org/
  • Conectarme a mi servicio de hosting ,para copiar el wordpress-4.1.1-es_ES.zip en el servidor
  • Editar el archivo wp-config-sample.php y colocar los valores de conexión a la base de datos
  • Abre el url http://tudominio/wp-admin/install.php
  • Coloca los valores de configuración del portal
  • El instalador enviara un correo con la información de la instalación del wordpress
  • Autenticarse a la consola de wordpress y a practicar!!!