miércoles, junio 04, 2014

Envio de KB al GxServer - An Error Occurred While Importing File 'ATTRIBUTE'

Cuando se desplegue el siguiente error:

GeneXus Server: An Error Occurred While Importing File 'ATTRIBUTE' - SAC  # 28306 

GeneXus Server: bcp utility not found. Please install 'Microsoft SQL Server Command Line Utilities'
SAC  # 28443


Se debe principalmente que el programa BCP.EXE para 64 Bits no esta disponible, pero sin embargo el GXServer quiere ejecutarle.

Se debe instalar el programa: SqlCmdLnUtils.msi

<appSettings>
    <!--add key="GX" value="C:\Program Files\Artech\GeneXus\GeneXusX"/-->
    <add key="validateKB" value="true" />
    <add key="available" value="true" />
    <add key="message" value="" />
    <!-- for security set following key to true -->
    <add key="secure" value="true" />
    <add key="SqlTimeout" value="190" />
    <add key="AppMainNamespace" value="GeneXus.Programs" />
    <add key="DataStore1" value="Default" />
    <add key="DataStore-Count" value="1" />
    <add key="Connection-Default-DBMS" value="sqlserver" />
    <add key="Connection-Default-Port" value="" />
    <add key="Connection-Default-LockTimeout" value="0" />
    <add key="Connection-Default-LockRetryCount" value="10" />
    <add key="Connection-Default-Datasource" value="82sPNmMP8O3TlpdEZk1r8E==" />
    <add key="Connection-Default-User" value="82sPNmMP8O3TlpdEZk1r8E==" />
    <add key="Connection-Default-Password" value="82sPNmMP8O3TlpdEZk1r8E==" />
    <add key="Connection-Default-DB" value="" />
    <add key="Connection-Default-Opts" value=";Integrated Security=yes;" />
    <add key="Connection-Default-TrnInt" value="1" />
    <add key="DateFormat" value="MDY" />
    <add key="YearLimit" value="1940" />
    <add key="TimeAmPmFormat" value="12" />
    <add key="VER_STAMP" value="20081128.160526" />
    <add key="CS_BLOB_PATH" value="PublicTempStorage" />
    <add key="TMPMEDIA_DIR" value="PrivateTempStorage" />
    <add key="PRINT_LAYOUT_METADATA_DIR" value="LayoutMetadata" />
    <add key="StorageTimeZone" value="1" />
    <add key="LOGIN_AS_USERID" value="0" />
    <add key="LANGUAGE" value="eng" />
    <add key="LANG_NAME" value="English" />
    <add key="DECIMAL_POINT" value="." />
    <add key="DATE_FMT" value="MDY" />
    <add key="Culture" value="en-US" />
    <add key="Theme" value="IDE_WEB" />
    <add key="EnableIntegratedSecurity" value="0" />
    <add key="MAX_CURSOR" value="100" />
    <add key="ISOLATION_LEVEL" value="CR" />
    <add key="STATIC_CONTENT" value="" />
    <add key="GX_BUILD_NUMBER" value="80183" />
    <add key="CACHE_CONTENT_EXPIRATION" value="36" />
    <add key="PROVIDER" value="Microsoft" />
    <add key="ENABLE_MANAGEMENT" value="0" />
    <add key="COMPRESS_HTML" value="1" />
    <add key="IE_COMPATIBILITY_VIEW" value="EmulateIE7" />
    <add key="DocumentType" value="None" />

    <add key="bcpPath" value="C:\Program Files (x86)\Microsoft SQL Server\110\Tools\Binn\bcp.exe" />
  </appSettings>

Reinicia el IIS
Espera unos 30 segundos
Intentar pasar la KB de nuevo.


martes, junio 03, 2014

Sistema de ficheros en Linux


En Linux, el sistema de ficheros es bastante distinto al que se utiliza en Windows, de manera que la organización, ejecución y permisología de los archivos se hace de manera distinta. La principal ventaja es que en los archivos Linux, el usuario que crea los archivos puede gestionarlos como desee, ya que son de su propiedad, es decir, el mismo usuario puede decidir quien los ve, los lee y quien los ejecuta. En este artículo, veremos cómo se organizan los ficheros en Linux, cómo se visualizan y cómo cambiar los permisos de los ficheros.
Sistema de ficheros en Linux

Sistema de archivos

Un sistema de ficheros es una organización lógica de un dispositivo físico, que nos permite almacenar y recuperar cualquier tipo de información que deseemos en forma de fichero. Existen diferentes tipos de sistemas de ficheros, y en Linux los sistemas nativos son ext2 y ext3. Estos sistemas organizan los archivos en una especie de súper bloque con una cantidad de nodos específica y un área de datos extensa, que se asemeja a la organización de las ramas de un árbol.
Una de las principales ventajas de los sistemas de ficheros Linux, es que pueden realizarse tareas multiusuario, lo que permite al creador de los archivos adicionarles características específicas, así como también, ejercer propiedad sobre cada archivo creado o directorio.
Sistema de ficheros en Linux

Visualizando archivos en Linux

Los archivos en Linux son propiedad de quien los crea, este es el único usuario autorizado a eliminarlos (a excepción del administrador o root). Por supuesto, cuentan con una serie de permisos predeterminados, que puede cambiar el usuario creador a voluntad para, de esta manera, compartir los archivos con otros usuarios del sistema. Para visualizar estos archivos con todas sus características, debemos ejecutar la consola de Linux y escribir el siguiente comando: “ls –la”, desplegándose en la pantalla una lista de archivos con su permisología y características bien detalladas.
ficheros en Linux
Podemos notar como en la figura aparecen los atributos del archivo con una nomenclatura similar a “-rw-r–r—“ donde el primer espacio equivale a los directorios (d), en el caso de que sea un solo archivo queda con una barra “-“. Los tres espacios siguientes, son los permisos del creador r (lectura), w (escritura) y x (ejecución), vemos que en el ejemplo, el usuario creador sólo tiene permisos de lectura y escritura. El segundo bloque de tres espacios, indica los usuarios de un grupo y el último lote de tres, para todos los demás usuarios del sistema. Los permisos de lectura, escritura y ejecución, se indican de manera similar al del usuario creador, en este caso se otorga sólo lectura a los demás usuarios.
También, podemos observar que el nombre del usuario que aparece delante de users en las características del archivo, nos indica que ese usuario es el dueño del archivo. Por ejemplo, tutorial users, nos indica que el archivo es propiedad del usuario tutorial.
Ficheros en Linux

Cambiando los permisos de los archivos

Una vez que hemos aprendido a identificar y visualizar los atributos y permisos de los archivos en la línea de comandos de Linux, veremos la manera correcta de cambiar los permisos de los archivos que hemos creado, para ello, debemos utilizar la línea de comandos.
En este caso específico, vamos a utilizar el comando “chmod” que se encarga de cambiar los atributos de los archivos dentro del sistema. Debemos recordar, que utilizaremos las siguientes letras para indicar a que tipo de usuario le vamos a cambiar los permisos de acceso al fichero. Por ejemplo, utilizaremos la letra u para el usuario creador, la letra g para un grupo de usuarios, la letra o para los demás usuarios del sistema, y la letra a para todos los usuarios. De manera, que podamos cambiar los permisos a nuestros requerimientos, recordemos que solo el creador del archivo y root puede cambiar los permisos.
Permisología de archivos Linux
La estructura de cambio de permisos es la siguiente: “chmod usuario_o_grupo_de_usuarios_a_cambiar_el_permiso[+/-]permiso_a_otorgar_o_quitar archivo_a_modificar”. En donde, [+/-] dependerá de si deseamos quitar el permiso (-) o adicionarlo (+), y los permisos son: r (lectura), w (escritura), x (ejecución). A continuación, veremos un ejemplo explicativo:
El usuario llamado tux, desea cambiar los permisos de creación a lectura, escritura y ejecución para todos los usuarios, sólo debe escribir:
$ chmod a+rwx archivo.txt
El archivo de texto plano archive.txt podrá ser leído, cambiado y ejecutado por cualquier usuario del sistema, de este modo, podemos ver como los creadores de los archivos en sistema Linux, pueden otorgar diferentes permisos a los demás usuarios sobre sus propios archivos, realizando combinaciones de órdenes con el comando chmod.
Permiso de archivos en Linux
Los usuarios Linux, también pueden cambiar la propiedad de su archivo y otorgarla a otro usuario del mismo sistema, utilizando el comando chown, como podemos ver a continuación:
$ chown –c luis archivo.txt
Ahora, el archivo de texto plano pertenece al usuario luis, siendo este el único que podrá modificar sus atributos en el futuro.

Tomado de: http://culturacion.com/2012/07/sistema-de-ficheros-en-linux/

Cómo compartir archivos de gran tamaño por internet


Muchas veces, cuando deseamos enviar datos utilizamos el correo electrónico. Pero en oportunidades diferentes, nos hemos dado cuenta, que al tratar de adjuntar archivos de gran tamaño, se genera un error, ya que estos sistemas de documentación, por lo general, sólo permiten almacenar hasta 25 MB en cada mensaje de e-mail. Compartiendo archivos grandes por internetAfortunadamente, existen otras alternativas para compartir archivos de gran tamaño en internet y eso es lo que veremos en este artículo.

¿Qué servicio se utiliza para compartir archivos grandes? 

En la actualidad, existen muchos servicios en internet que nos permiten compartir archivos de gran tamaño, es decir, archivos que sobrepasen los 25 Mb de tamaño. Cada uno de ellos, cuenta con ventajas y desventajas. En este sentido, es decisión del usuario, elegir el que más le convenga, según su nivel de actividad o según la cantidad de espacio que requiera para compartir archivos.

Entre los servicios más utilizados para este tipo de tareas se encuentran los siguientes: Dropbox, WeTransfer, FTP, Google Drive, PipeBites. Sin embargo, existe un servicio que se encuentra 100% en idioma español y es muy simple de utilizar. Este servicio, lleva por nombre Ydray y es ideal para compartir archivos de gran tamaño.
Ydray es una opción desarrollada por programadores Españoles, lo que orienta su uso a usuarios de habla Hispana. Su funcionamiento es veloz y fluido y no coloca ningún tipo de restricciones en cuanto al tamaño de los archivos que vamos a enviar o recibir por internet.

Enviando archivos de gran tamaño con Ydray 

Una vez que tengamos una cuenta en Ydray, abrimos nuestra sesión y seleccionamos el servicio de envío de archivos, debemos introducir nuestros datos (nuestro correo y el correo del destinatario), como lo vemos en la figura.
Ingresando datos a ydray
Inmediatamente, se abrirá la ventana de selección de archivos y los seleccionamos desde su origen. Tenemos que destacar que Ydray no restringe tamaño alguno de archivo, por lo tanto, tendrás libertad de seleccionar cualquier archivo.
Adjuntando archivos a Ydray
Ahora es momento de finalizar todo este procedimiento. Para ello, sólo debemos hacer clic sobre el botón de transferir y listo, el destinatario recibirá los archivos sin inconveniente alguno. Como podemos ver, el proceso es sumamente rápido y sin complicaciones, lo que lo hace ideal para enviar todo tipo de información, ya sea corporativa, personal o educativa. De manera, que ya no tendrás excusas para no enviar el informe que tienes que presentar, o para dejar por fuera un video o una lista de reproducción grande en una presentación, ya que ahora cuentas con Ydray.
FInalizando el envio de archivos d egran tamaño

Navegadores de Linea de Comandos.


Lynx

Lynx es quizás el programa de navegación por línea de comandos más extendido de todo el mundo. Se trata de un programa que se instala en el sistema y al cual podemos acceder mediante un simple comando y que nos permite visualizar por pantalla en modo texto toda la información que estamos buscando. Podemos conectarnos a cualquier buscador web e incluso, ingresar a cualquier cuenta de corro electrónico.
Una de las características de Lynx, es que es multiplataforma y sus mandos de operación son bastante simples.

eLinks

Este programa (eLinks) de navegación web, a pesar de ser hecho para trabajar bajo la terminal de Linux, es bastante simple de utilizar. Cuenta con una serie de opciones bastante amigables y permite realizar descargas completas desde cualquier sitio web.
eLinks
Figura 4: Navegando con eLinks

W3M

Este sencillo navegador web está basado en FM y cuenta con un extraordinario sistema de seguridad (sistema SSL), que lo hace destacar entre sus rivales más cercanos. Si bien, W3M no es tan completo como Lynx, cuenta con una serie de herramientas de navegación, como sistema de descarga completa, y posibilidad de acceder a cualquier sitio web de forma simple.

Línea de comandos
Crear un procedimiento Main como línea de comandos, ejecutarlo programadamente desde el sistema operativo (tareas programadas o CRON).
Pros:
* Si da excepción vuelve a ejecutar
* La configuración de frecuencia es sencilla
Cons:
* Requiere configurar en el host, no está embebido en la aplicación
* Hay que configurar el main de java y el classpath a mano y mantenerlo actualizado si se agregan o cambian jars
* Si el proceso se queda bloqueado por algún error, se iran acumulando ejecuciones cada vez que el SO inicie la tarea.


Main HTTP

Crear un procedimiento Main como HTTP, ejecutarlo programadamente desde el sistema operativo (tareas programadas o CRON) utilizando un navegador de línea de comandos (wget, curl).
Pros:
* Si da excepción vuelve a ejecutar
* La configuración de frecuencia es sencilla
* No hay que configurar java ni classpath
Cons:
* Requiere configurar en el host, no está embebido en la aplicación
* Requiere un browser de línea de comandos (sencillo)
* Si el proceso se queda bloqueado por algún error, se iran acumulando ejecuciones cada vez que el SO inicie la tarea. 


Programador de tareas Java (ej: Quartz)
Crear un procedimiento Main como HTTP, ejecutarlo programadamente desde el sistema operativo (tareas programadas o CRON) utilizando un navegador de línea de comandos (wget, curl).
Pros:
* Si da excepción vuelve a ejecutar
* Es más fácil recuperar información de si una tarea quedó bloqueada
* No hay que configurar java ni classpath
* Está embebido en la aplicación (no requiere configuración en el host)
Cons:
* Configuración más complicada, suele requerir código java



ServletContextListener
Programar en Java un ServletContextListener que llame en loop infinito a un procedimiento GX.
Pros:
* No hay que configurar java ni classpath
* Está embebido en la aplicación (no requiere configuración en el host)
Cons:
* Requiere código java
* Se deben controlar las excepciones para evitar el que cancele
* Si se quiere flexibilidad en la frecuencia de ejecución, hay que programarlo (ej: leer parámetros)

Gracias a:  pablo@cybernet.com.uy Del Foro de Genexus