Quitar validación de datos inseguros en MVC

sc4

Este error es consecuencia de que ciertas veces necesitamos mandar texto no seguro (HTML, XML) al server y MVC 4 lo bloque por defecto.

Yo en particular implemente 2 soluciones para este problema:

  • El hecho es que si el nombre del campo del formulario comienza por dos caracteres de subrayado, por ejemplo, “__Texto”, no se efectúan sobre él las comprobaciones de validación.
  • Para deshabilitar la validación de la solicitud de un método de acción, marcar el método con el atributo ValidateInput (False), como se muestra en el siguiente ejemplo:

Captura

 


Setup IGGLOBAL – Generación de Scripts SQL 2012

Conectado a:  BG-SRV07

User: Sa

PWD: base321+

 

  • A partir de las Bases INFORMAC_TESTING y DATOS_TESTING generar con Management Studio los scripts llamados “SQL” y “DatosEstructura.SQL” destino final en “IG_Global_Setup\Global\Sistema” con sql Server 2008.

Exportar solo Tablas

Seleccionar en Opciones de Secuencia de Comandos las opciones:

“If Not Exists” (Comprobar la Existencia de Objeto) =  TRUE

“USE DATABASE” = FALSE

“Incluir índices de Texto Completo en el Script” = TRUE

“Incluir índices en el Script” = TRUE

 

  • A partir de las Bases INFORMAC_TESTING y DATOS_TESTING generar con Management Studio los scripts llamados “SQL” y “DatosProcedimientosAlmacenados.SQL” con destino final en “IG_Global_Setup\Global\Sistema” sql Server 2008.

Exportar, Procedimientos Almacenados, Funciones definidas por el usuario y Vistas.

Seleccionar en Opciones de Secuencia de Comandos las opciones:

“Generar Script Drop” (Incluir DROP y CREATE en el script) = TRUE

“If Not Exists” (Comprobar la Existencia de Objeto) = TRUE

 “USE DATABASE” = FALSE

En la generación del Script de DatosProcedimientosAlmacenados.SQL

Destildar de la lista el Store “ig_compactarBase”

En la generación del Script InformacProcedimientosAlmacenados.sql

Destildar de la lista los Stores

-codigos_seg_instalador

-info_empresas_brwPorUsuario

-Info_Seg_Grupos_Acciones_Sistema_checkUserPermissionOnAction

Info_Seg_Grupos_Vistas_Sistema_checkUserPermissionOnAction

-Info_Seg_loguin_KickUser

-info_usuarios_authenticate

-info_usuarios_login

-Info_Usuarios_Logout

 

                              

  • Entrar a GlobalCN (Configuración) –a base test- (\\MAINSERVER\DESARROLLO\GLOBAL7) como instalador y generar el script “SQL” haciendo botón derecho en alguna de las bases y seleccionar la opción “Generar script de registros para informac” con destino final es “IG_Global_Setup\Global\Sistema”.

En la generación de Script de InformacRegistros.SQL destildar el de la lista el registro

– codigos_seg_formularios_sistema NO HACER ESTO

 

  • Entrar a GlobalCN (Configuración) –a base test- (\\MAINSERVER\DESARROLLO\GLOBAL7) como instalador y generar el script “DatosRegistros.SQL” haciendo botón derecho en la base TEST y seleccionar la opción “Generar script de registros” con destino final en “Global_Setup\Global\Sistema”.

 

Nota: Tanto “DatosEstructura.SQL” como “InformacEstructura.SQL” tienen en su primera linea la fecha y hora de creacion que pone automaticamente el Sql Server Management Studio y se usan luego para comparar las fechas y horas en las bases del Cliente en las tablas Qy_VersionCambios y Codigos_VersionCambios del Informac

 

  • Copiar de:

\\Desarrollo03\Desarrollo03_D\_mvc_pub_TEST_20140305\__BIN__ a

\\Mainserver\IG_GLOBAL_SETUP\Global\Web

 

Todo el sitio, lo resaltado hace referencia a la publicación del momento que se condice con esos .sql


Setup IGGLOBAL – Generación de Scripts SQL 2008

Conectado a:  BG-SRV07

User: Sa

PWD: base321+

 

  • A partir de las Bases INFORMAC_DESARROLLO y DATOS_DESA generar con Management Studio los scripts llamados “SQL” y “DatosEstructura.SQL” destino final en “IG_Global_Setup\Global\Sistema” con sql Server 2008.

Seleccionar en Opciones de Secuencia de Comandos las opciones:

“If Not Exists” =  TRUE

“USE DATABASE” = FALSE

“Incluir índices de Texto Completo en el Script” = TRUE

“Incluir índices en el Script” = TRUE

Exportar solo Tablas

 

  • A partir de las Bases INFORMAC_DESARROLLO y DATOS_DESA  generar con Management Studio los scripts llamados “SQL” y “DatosProcedimientosAlmacenados.SQL” con destino final en “IG_Global_Setup\Global\Sistema” sql Server 2008.

Exportar, Procedimientos Almacenados, Funciones definidas por el usuario, tablas definidas por el usuario y Vistas.

Seleccionar en Opciones de Secuencia de Comandos las opciones:

“Generar Script Drop” = TRUE

“If Not Exists” = TRUE

 “USE DATABASE” = FALSE

En la generación del Script de DatosProcedimientosAlmacenados.SQL

Destildar de la lista el Store “ig_compactarBase

En la generación del Script InformacProcedimientosAlmacenados.sql

Destildar de la lista los Stores

-codigos_seg_instalador

-info_empresas_brwPorUsuario

-Info_Seg_Grupos_Acciones_Sistema_checkUserPermissionOnAction

Info_Seg_Grupos_Vistas_Sistema_checkUserPermissionOnAction

-Info_Seg_loguin_KickUser

-info_usuarios_authenticate

-info_usuarios_login

-Info_Usuarios_Logout

 

                              

  • Entrar a GlobalCN (Configuración) –a Base Global I+D- (\\MAINSERVER\DESARROLLO\GLOBAL7) como instalador y generar el script “SQL” haciendo botón derecho en alguna de las bases y seleccionar la opción “Generar script de registros para informac” con destino final es “IG_Global_Setup\Global\Sistema”.

En la generación de Script de InformacRegistros.SQL destildar el de la lista el registro

– codigos_seg_formularios_sistema NO HACER ESTO

 

  • Entrar a GlobalCN (Configuración) –a base test- (\\MAINSERVER\DESARROLLO\GLOBAL7) como instalador y generar el script “DatosRegistros.SQL” haciendo botón derecho en la base TEST y seleccionar la opción “Generar script de registros” con destino final en “Global_Setup\Global\Sistema”.

 

Nota: Tanto “DatosEstructura.SQL” como “InformacEstructura.SQL” tienen en su primera linea la fecha y hora de creacion que pone automaticamente el Sql Server Management Studio y se usan luego para comparar las fechas y horas en las bases del Cliente en las tablas Qy_VersionCambios y Codigos_VersionCambios del Informac

 

  • Copiar de:

\\Desarrollo03\Desarrollo03_D\_mvc_pub_TEST_20140305\__BIN__ a

\\Mainserver\IG_GLOBAL_SETUP\Global\Web

 

Todo el sitio, lo resaltado hace referencia a la publicación del momento que se condice con esos .sql

 


Integración con centrales telefónicas IP DENWA

Relevamiento

[embeddoc url=”https://kb.baseglobal.com.ar/wp-content/uploads/2016/04/Integración-IGGLOBAL-Denwa-1.pdf” download=”all”]

Documentación API DENWA

[embeddoc url=”https://kb.baseglobal.com.ar/wp-content/uploads/2016/04/Contact-Center-WebServices-Schema-1.pdf” download=”all”]

[embeddoc url=”https://kb.baseglobal.com.ar/wp-content/uploads/2016/04/Contact-Center-REST-API-1.pdf” download=”all”]

[embeddoc url=”https://kb.baseglobal.com.ar/wp-content/uploads/2016/04/Contact-Center-Rest-Api-Examples-1-1.pdf” download=”all”]


Armado de query para Explorer web y mobile

Para darle soporte a los diferentes formatos de vistas que soporta el componente UI.Explorer (listado, mapa, calendario y galería) las vistas destinadas al mismo deberán contar con las siguientes columnas básicas (Ejemplo: Co_MK_VW_Eventos):

  • _state
  • _state_code
  • _state_color
  • _state_text
  • _tags
  • _crm_account_id
  • _attachments (*)
  • _notes (*)
  • _geo_latitude
  • _geo_longitude
  • _calendar_id (no se muestra)
  • _calendar_date (a)
  • _calendar_title (b)
  • _calendar_body (c)
  • _gallery_id (no se muestra)
  • _gallery_picture (1)
  • _gallery_picture_placeholder (2)
  • _gallery_price_label (3)
  • _gallery_category (4)
  • _gallery_title (5)
  • _gallery_item_description (6)
  • _gallery_link_text (7)

(*) Éstas columnas, por cuestiones de performance, deberían salir de la tabla de propiedades de la entidad.

Las columnas que comienzan con el prefijo “_calendar_” se utilizarán en el formato “Calendario” de la siguiente manera:

vistacalendario

Las columnas que comienzan con el prefijo “_gallery_” se utilizarán en el formato “Galería” de la siguiente manera:

 


Integración de IGGLOBAL con MercadoLibre

Objetivos

El presente proyecto tiene como objetivo realizar una librería reutilizable que permita integrar los servicios de MercadoLibre a través de sus APIs públicas y privadas (con autenticación OAuth 2.0) al sistema de gestión IGGLOBAL.

Con dicha librería se podrán generar las siguientes funcionalidades dentro del módulo eCommerce y Ventas de IGGLOBAL Online:

  • Publicar artículos
  • Recibir alertas de nuevas preguntas y compras que realizaron las personas por el portal MercadoLibre.
  • Responder preguntas de manera masiva, con la posibilidad de utilizar plantillas de respuestas.
  • Recibir las ventas ocurridas en MercadoLibre e integrarlas al circuito funcional preexistente en IGGLOBAL.

Implementación

El proyecto está representado por una librería en C# dentro de la solución de IGGLOBAL Online (IGGlobal.Ecommerce.MercadoLibre).

A su vez, se implementaron las interfaces gráficas dentro del proyecto IGGLOBAL Online.

Se utilizó la librería oficial que publica MercadoLibre Developers para el consumo de los datos a través de endpoints JSON.

Estado: Completo


Agregar columnas a un grilla

–Debo agregar una columna a la grilla.
— verifico que exista el campo en :
USE INFORMAC_DESARROLLO

SELECT * FROM Codigos_Seg_Columnas_Sistema
–si no existe lo agrego
INSERT INTO Codigos_Seg_Columnas_Sistema
([datafield],[text],[type],[width],[cellsalign],[cellsformat]) VALUES (‘TipoPublicacion’,’TipoPublicacion’,’number’,’80px’,’right’,’NULL’)

–verifico si la vista trae el campo
SELECT * FROM Codigos_Seg_Vistas_Columnas_Def
WHERE ViewId=’MELI-1′

–si no existe lo agrego
INSERT INTO Codigos_Seg_Vistas_Columnas_Def
([ViewId], [datafield], [editable], [hidden],[order]) VALUES (‘MELI-1′,’TipoPublicacion’,0,0,11)

–actualizo un campo para hacerlo editable en la grilla
update Codigos_Seg_Vistas_Columnas_Def
set editable =1
where [ViewId] =’MELI-1′ and datafield =’PrecioPublicado’
–actualizo un campo para hacerlo editable en la grilla


Remover CSS sin utilizar en HTML

Hay varias formas de detectar que estilos no se están utilizando en un HTML. Las mas recomendables son:

1)Utilizar Audits en el inspector de chrome:

imagen1

 

2) Descargar del GooglePlay la  app CSS Remove and Combine, que te permite descargar un block de notas solo con los CSS que están siendo utilizados, discriminando a los que no:

image2


Configuración – Rango Por Intervalos

1- Se crea rango en Codigos_DefinicionesRangos_Net de acuerdo a los siguientes campos
CLAVE INTERVAL_VENDEDORES
TITULO Intervalo de Vendedores
TITULOETIQUETADD Incluir
TITULOETIQUETAHH Incluir
TIPO_DATO 8
VALORDD
VALORHH
TABLA null
VISTA GR-7
CODIGO CoDescriptivo
DESCRIPCION Descripcion
DDFORMULACRYSTAL INT_Vendedores
HHFORMULACRYSTAL INT_Vendedores
MAXLEN 6
SELECTDATA NULL

2-Se altera el store procedure de acuerdo al siguiente ejemplo, agregando lo que esta en negrita
 —
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[Co_VT_SP_Vt_Facturas_Cabezal]
 —
@DDCoCliente int = 0,
@HHCoCliente int = 999999,
@DDFecha datetime = null,
@HHFecha datetime = null,
@DDNoComprobante INT = 0,
@HHNoComprobante INT = 999999,
@DDCoVendedor int = 0,
@HHCoVendedor int = 999999,
@INT_Vendedores IntInterval readonly as
 —
 if (@DDFecha is null) select @DDFecha = convert(datetime,’01/01/’ + convert(varchar(4),year(getdate())))
if (@HHFecha is null) select @HHFecha = getdate()
if (select count(*) from @INT_Vendedores) > 0    
 —
Begin
 —
SELECT NoComprobante,
FechaComprobante,
CoCliente,
Cliente,
CoVendedor,
Vendedor,
CotizacionDolar,
CoComprobante,
LetraLugarNumero,
GeneradoHide,
_tags,
_state
FROM dbo.Co_VT_FX_Vt_Facturas_Cabezal(@DDCoCliente, @HHCoCliente, @DDFecha, @HHFecha, @DDNoComprobante, @HHNoComprobante, @DDCoVendedor, @HHCoVendedor) fVTFC
where fVTFC.CoVendedor in (select * from @INT_Vendedores)  
ORDER BY fVTFC.NoComprobante desc
Return
End
 —
SELECT NoComprobante,
FechaComprobante,
CoCliente,
Cliente,
CoVendedor,
Vendedor,
CotizacionDolar,
CoComprobante,
LetraLugarNumero,
GeneradoHide,
_tags,
_state
FROM dbo.Co_VT_FX_Vt_Facturas_Cabezal(@DDCoCliente, @HHCoCliente, @DDFecha, @HHFecha, @DDNoComprobante, @HHNoComprobante, @DDCoVendedor, @HHCoVendedor) fVTFC
ORDER BY fVTFC.NoComprobante desc
 —

3-Se carga el rango relacionado a la vista en Codigos_Seg_Vistas_Rangos
Modulo COMP
Id 20
ClaveRango INTERVAL_VENDEDORES
Orden 90

 


 

4- Como final de este tema se puede configurar la seguridad del Usuario (por medio del grupo) cargándole predefinido los valores a saber en la siguiente tabla, Info_DefinicionesRangosNetGruposDefault:

RANGO VISTA_ID CLAVERANGO GRUPO_USUARIO VALORDD VALORHH VISIBLE READONLY
1 GR-68 CLIENTES ASISTENCIA 1 99999 True False
1 COMP-20 LIKE_VENDEDORES PAT 18 18 True True
1 COMP-20 LIKE_VENDEDORES CUYO 12 12 True True
1 52100 LIKE_VENDEDORES PAT 18 18 True True
1 52100 LIKE_VENDEDORES CUYO 12 12 True True
1 COMP-20 INTERVAL_VENDEDORES CBA [17,37,38,39,49,53] [17,37,38,39,49,53] False True
1 52100 INTERVAL_VENDEDORES CBA [17,37,38,39,49,53] [17,37,38,39,49,53] True True
1 DD-99 LIKE_VENDEDORES PAT 18 18 True True
1 DD-99 LIKE_VENDEDORES CUYO 12 12 True True
1 DD-99 INTERVAL_VENDEDORES CBA [17,37,38,39,49,53] [17,37,38,39,49,53] True True

Envio de mails a demanda

Para generar el envío de mails a demanda, es necesario agregar una columna extra que contenga el NoInterno de dicha cuenta. La misma estará oculta al momento de dibujar la grilla.

Hecho esto se deben cargar los siguientes datos:

id plantilla : El ID de la plantilla a cargar

tabla de la entidad de la grilla (Primary Key)

SP de los datos a utilizar en el mail (parametros=pk de la tabla) tiene el origen de datos del mail

columna para el texto de plantilla del mail

Para ver ejemplo, revisar la entidad MK_EVENTOS