martes, 25 de agosto de 2015

Metodología OCRA

Qué es OCRA 1.0

OCRA es una metodología sencilla de Asereware, que surge de la necesidad de ordenar conceptualmente lo que uno debe describir en un sitio Web cuando se requiere establecer expectativas claras y restrictivas respecto de su uso y alcance.

[OCRA: Objetivo, Contexto, Restricciones, Alivio] © Asereware 2015

[OCRR: Objetive, Context, Restriction, Relief] © Asereware 2015

Para describir estas cuatro aristas se recomienda utilizar 7 +- 2 párrafos cortos de texto, según las recomendaciones aprendidas del mapeo de información.

Señalando Cualquier otro texto muy grande o que pase de 9 elementos, será incluido en otra sección.

Veamos un ejemplo

  1. El objetivo de este sitio Web es proporcionar, al público en general, una visión anticipada y clara de cómo será el nuevo [Producto, Sitio, Sistema], que estará disponible al público más adelante.
  2. La información presentada es parte del proyecto denominado “Proyecto X” (PX) que se encuentra en proceso de desarrollo e implementación por parte de [Dueño] de la [Organización] y que proporcionará información y servicios útiles para todo el [Sistema X].
  3. La información proporcionada por este sitio Web tiene carácter demostrativo.
  4. El contenido e información relacionada que se presenta, está en proceso de reorganización y depuración por lo que, este sitio es de carácter temporal y es posible encontrar información parcial, incompleta o desactualizada, tanto para un [Objeto de tipo X], como para para las relaciones entre diversos conceptos, como pueden ser [Concepto A}, [Concepto B], etc.
  5. Las operaciones que se realicen en el sitio Web tienen carácter de prueba temporal y por lo tanto, la información capturada no tiene garantía de persistir en el tiempo y puede ser eliminada en cualquier momento.
  6. Por favor, no utilice la información de este sitio con carácter oficial, para ello diríjase a la siguiente dirección Web: x.domain.com o bien contáctese con la [Dueño] (x@contacto.dominio.com) de acuerdo a sus necesidades.
  7. Los invitamos a aprovechar este espacio con responsabilidad, sin ofensas, vulgaridad o difamación. Cualquier comentario que no cumpla con estas características, será removido. Si observa algún contenido o comentario que no cumpla con los requisitos mencionados, escríbanos a: y@dominio.com. Agradecemos de antemano su atención.
  8. Son bienvenidos los comentarios, observaciones o sugerencias respecto al contenido del sitio y pueden ser enviados a la siguiente dirección de correo electrónico: sugerencias@dominio.com

Licenciamiento

Este contenido no es una idea espectacular, exclusiva o única, ni representa una creación pura, como la mayoría de las ideas del mundo, ya que partes de su contenido, como el punto 7 por ejemplo, han sido obtenidos de otro sitios públicos que mencionan ideas idénticas. Lo importante de este artículo no es el contenido del ejemplo, que puede ser copiado libremente tal cuál, sino la metodología mental OCRA que ordena este contenido o cualquier otro que se necesite para fines similares.

Una adaptación de http://www.microsoft.com/spain/sharedsource/licensingbasics/publiclicense.mspx

Se aceptan de manera equivalente las licencia en inglés y en español.

Licencia Pública de Microsoft (Ms-PL)
Publicado: 27 de Febrero de 2008

Esta licencia gobierna el uso del software adjunto. Si usted utiliza el software, ello supone que acepta esta licencia. Si no acepta la licencia, no utilice el software.

1. Definiciones

Los términos "reproducir", "reproducción" y "distribución" tienen aquí el mismo significado que en las leyes de Copyright de EE.UU.

Una “contribución” es el software original o cualquier añadido o cambio realizado sobre el software.

Un “colaborador” es cualquier persona que distribuye su contribución en el marco de esta licencia.

“Patentes licenciadas” son los derechos de patente del colaborador que se refieren directamente a su contribución.

2. Asignación de derechos

(A) Derechos de Copyright- Dentro de los términos de esta licencia, incluyendo las condiciones y limitaciones de la licencia descritas en la sección 3, cada colaborador le otorga una licencia de copyright no exclusiva, mundial y exenta de royalties para reproducir su contribución, preparar trabajos derivados de su contribución y distribuir su contribución en cualquier producto derivado creado por usted.

(B) Derechos de patente- Dentro de los términos de esta licencia, incluyendo las condiciones y limitaciones descritas en la sección 3, cada colaborador le otorga una licencia no exclusiva, mundial y exenta de royalties sobre las patentes licenciadas para realizar, utilizar, vender, ofrecer a la venta, importar y/o distribuir sus contribuciones en el software o productos derivados de la contribución en el software.

3. Condiciones y Limitaciones

(A) No se otorgan licencia de Marcas- Esta licencia no otorga derechos para utilizar ningún nombre, logo o marca de los colaboradores.

(B) Si inicia alguna reclamación de patente contra cualquier colaborador sobre patentes que usted considera que han sido infringidas por el software, su licencia de patente del citado colaborador para el software cesa automáticamente.

(C) Si distribuye cualquier parte del software, debe conservar todos los documentos de copyright, patentes, marcas y atribución presentes en el software.

(D) Si distribuye cualquier parte del software en forma de código fuente, puede hacerlo únicamente bajo el marco de esta licencia incluyendo una copia completa de esta licencia junto con su distribución. Si distribuye cualquier parte del software en forma de código objeto o compilado, puede hacerlo únicamente bajo una licencia que cumpla con los términos de la presente licencia.

(E) El software se licencia "tal cual". Usted asume todo el riesgo al utilizarlo. El Propietario no ofrece garantías expresas ni implícitas, ni condiciones ni asume responsabilidad alguna. Las leyes locales de su país o región pueden otorgarle derechos adicionales como consumidor, los cuales no se ven alterados por esta licencia. Hasta donde lo permiten las leyes locales, el Propietario rechaza asumir ninguna garantía de comercialización, adaptación para un fin concreto o incumplimiento de la ley.


martes, 7 de julio de 2015

Base de datos en estado “Pendiente de recuperación” (Recovery Pending)

image

Solución

  1. Colocar en sin conexión (take offline).
  2. Separar la base de datos (detach).
  3. Adjuntar la base de datos (attach).

lunes, 5 de mayo de 2014

Event message: Error de autenticación de formularios para la solicitud. Motivo: el vale suministrado no era válido. Event detail code: 50201 (invalid ticket)

 

Tengo una solución de autentificación por formularios completamente personalizada, es decir que no utiliza el objeto FormsAuthentication para generar los vales (ticket) y ni para recuperarlos ni para actualizarlos.

La solución se encarga de crear el Principal, la cookies y así como de la encriptación y la firma de las cookies.

El síntoma

Haciendo unas mejoras para la lectura de propiedades desde la configuración de repente me apareció este error terrible. Terrible porque porque no tenía ni pies ni cabeza, no había manera de diagnosticarlo por razonamiento, más que por algo parecido a un “ataque de diccionario”, paso a pasito…

Este error “Event detail code: 50201” tiene muchas entradas en la Web pero en mi caso la solución no tiene nada que ver con ellas o por lo menos con las que leí, ¡algunas del año 2007!

image

El problema

Event code: 4005 
Event message: Error de autenticación de formularios para la solicitud. Motivo: el vale suministrado no era válido. 
Event time: 22/04/2014 10:12:19 p. m. 
Event time (UTC): 23/04/2014 03:12:19 a. m. 
Event ID: f90558d63abd44fea22996ac07792f94 
Event sequence: 58 
Event occurrence: 9 
Event detail code: 50201 

La cookie se adjunta inicialmente a la petición del contexto HTTP pero, cuando se intenta reenviar una petición Web cualquiera o simplemente re direccionar a la página inicial después de autentificarse correctamente (en términos de usuario en DB)  pues resulta que la cookie ha desaparecido y ya no está adjunta al nuevo Request, por lo tanto, nunca se puede salir de la página del LogOn, porque la autentificación por Forms desparece.


 


Solución


En mi caso el código hace referencia a varias propiedades del objeto FormsAuthentication, con el objeto de aprovechar la lectura simple de la configuración definida en la sección correspondiente.


Pues todo va bien, excepto por una propiedad, que si usted la referencia “todo se va a bolina” y aparece el error mencionado:


NO SE PUEDE referenciar la propiedad FormsAuthentication.FormsCookieName, en su lugar debe utilizar una constante.


Según mis pruebas ni siquiera se puede leer directamente la sección de configuración correspondiente, la cargué como XML puro y la leí directamente por XPath y el error aparece, supongo debido a que especifiqué un nombre de cookie en la sección <forms name=”.xname” /> e igualmente se inicializa el módulo HTTP default para FormsAuthentication.


Es decir el sólo hecho de pretender tomar el nombre de la cookie desde dicha propiedad, activa un comportamiento predeterminado (no deseado en este caso) para comprobar la validez del ticket de la cookie mediante los algoritmos predeterminados que lógicamente dirán que “el vale suministrado no era válido”.


Entonces, NO haga referencias al nombre de la cookie ni la coloque en la sección “forms” de la configuración. Deje su nombre como una constante o póngala en la sección del “appSettings” si cree que no puede vivir con un nombre fijo.


Etiquetas de Technorati: ,,,,

miércoles, 15 de mayo de 2013

Red inalámbrica (WiFi) muy lento en Dell XPS15 (nueva XPS L521X)

Problema

Laptop

Mi laptop tiene una tarjeta de red WiFi absurdamente lenta.

Con 30 Mbps de bajada potencial sólo obtengo a los sumo 2 Mbps.

image

Una prueba desde la red alámbrica Ethernet me devuelve los 25 o inclusive algo más de 30 megas, lo que muestra que el proveedor no es el problema.

Tablet ASUS

La misma prueba, desde el mismo lugar físico pero con una Tablet y con un teléfono, ambos con Android, me arroja un resultado muy diferente, lo que prueba que algo pasa con la tarjeta WiFi de mis laptop XPS 15.

image

Solución aparente

Drivers

Me encontré esta URL Dell XPS 15 (L502X) Wireless Issues – Fixed de paulbouwer.com con una solución sugerida desde Intel.

Fui a la página de Intel de auto detección y le permití ejecutarse.

Me detectó algunos drivers por actualizar, entre ellos, el de la tarjeta inalámbrica.

image

image

Realicé la instalación con la opción de actualización y….

imageimage

Pruebas después de actualizar el driver

Finalmente no me pidió reiniciar (¿driver actualizado en caliente?) la máquina y probé con este resultado.

image

No es el esperado….

Ejecuté un diagnóstico manual que instaló…

image

…así es que reinicié la máquina y…

image

Sigue mejor, pero no lo esperado…la Tablet sigue en 16 Mbps…

Con una red alámbrica

La siguiente es una prueba en red alámbrica (cable CAT6 a través de un switch 10/100Mbps) con la misma PC en una mañana buena (varios días después de la anterior)…

image

Conclusión

Siendo estricto, el problema de mi tarjeta inalámbrica, todavía no está realmente solucionado.

Etiquetas de Technorati: ,,

viernes, 30 de noviembre de 2012

Operación no válida dado el estado actual del objeto

Descripción: Excepción no controlada al ejecutar la solicitud Web actual. Revise el seguimiento de la pila para obtener más información acerca del error y dónde se originó en el código.
Detalles de la excepción: System.InvalidOperationException: Operación no válida dado el estado actual del objeto.
Error de código fuente:

Se ha generado una excepción no controlada durante la ejecución de la solicitud Web actual. La información sobre el origen y la ubicación de la excepción pueden identificarse utilizando la excepción del seguimiento de la pila siguiente.

Seguimiento de la pila:

[InvalidOperationException: Operación no válida dado el estado actual del objeto.]

Contexto


La pagina Web que se está enviando (POST) tiene más de mil llaves de identificación en el formulario.


Solución en mi caso


La actualización de seguridad MS11-100 de Microsoft limita el número máximo de miembros JSON, archivos y claves de formulario a 1000 en una solicitud HTTP. Debido a este cambio, las aplicaciones ASP.NET rechazan las solicitudes que contengan una cantidad de estos elementos superior a 1000. Los clientes HTTP que realicen estos tipos de solicitudes serán denegados y aparecerá un mensaje de error en el explorador web. El mensaje de error tendrá normalmente un código de estado HTTP 500. Este nuevo límite puede configurarse en función de las aplicaciones. Consulte la sección "Resolución" para obtener instrucciones de configuración.

Se configuró a 5500 en el APP config.



   1: <appSettings>
   2:    <!--La actualización de seguridad MS11-100 de Microsoft limita el número máximo de miembros JSON
   3:       , archivos y claves de formulario a 1000 en una solicitud HTTP. 
   4:       Debido a este cambio, las aplicaciones ASP.NET rechazan las solicitudes que contengan 
   5:       una cantidad de estos elementos superior a 1000-->
   6:   <add key="aspnet:MaxHttpCollectionKeys" value="5500" />
   7: </appSettings>


Fuente: Microsoft Support