Seguridad en botones u otros controles (instructivo)

Como ejemplo, aplicamos seguridad por usuario y empresa para ocultar – mostrar un botón

Ocultaremos un botón en:

/Crm/Cuenta

Vista:

en “Helpers.vbhtml” agregamos un helper.

@helper button_new_contact(ByVal baseWebPage As IGGlobal.Mvc.CustomMvcViewPageBase, ByVal field As String)

@<button @baseWebPage.GetNgHideAttr(field) ng-click=“nuevoContacto()” style=float: right; class=“btn btn-outline btn-primary btn-sm” type=“button”>

Nuevo

</button>

End Helper

En “cuenta.vbhtml”

Reemplazamos :

<button ng-click=”nuevoContacto()” style=”float: right;” class=”btn btn-outline btn-primary btn-sm” type=”button”>

Nuevo

</button>

por:

@Helpers.button_new_contact(Me, “button_new_contact”)

Controlador JS:

Nada nuevo, obviamente existe la función “nuevoContacto()”

Controlador MVC (VB.net):

Nada nuevo.

Base de datos:

insertar dos registros:

Definimos: Base de datos, Usuario, URL, IdNombre, el “1” representa “Invisible”

insert into Info_Seg_Formularios_Sistema_Defaults

values (‘BARRIOS_PRIVADOS’,‘SUPERBP’,‘/Crm/Cuenta’,‘button_new_contact’,,0,1,,)

Definimos:  URL, IdNombre,Descripción

insert into Codigos_Seg_Formularios_Sistema_Campos

values(‘/Crm/Cuenta’,‘button_new_contact’,‘button_new_contact’)

—-Fin—-


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:

 


Conceptos y diseño básico – Especificación escrita

Introducción

S2 Framework constituye una herramienta para el desarrollo rápido de aplicaciones utilizando tecnologías .NET.

El presente documento tiene como objetivo detallas los conceptos básicos del diseño de S2 Framework. Se incluyen vocabularios específicos de la solución y su definición.

Conceptos básicos

  • Entidades: representan un conjunto de metadatos que indican la estructura y estrategia de persistencia de los objetos de negocio del software que se programará. Dichos metadatos incluyen las columnas de la tabla sobre la cual se persistirá el estado de la entidad, tipos de datos, claves primarias, claves foráneas, parámetros para stored procedures.
  • Acciones: representan todos los “métodos” o “funciones” que soporta una determinada aplicación. Utilizan los servicios de persistencia y entidades para el acceso a bases de datos. Por defecto encontramos implementadas acciones CRUD y tenemos la posibilidad de extender ciertas clases base para implementar acciones personalizadas que incluyan mayor complejidad promoviendo así la modularidad y reuso de las mismas. Otras acciones incluidas: geolocalizar registros, adjuntar archivos, cambios de estado de entidades, precondiciones, postcondiciones.
  • Persistencia: módulo encargado de almacenar el estado de las entidades en diferentes tipos de repositorios de datos relacionales como SQL Server, Oracle y MySql. Próximamente se le dará soporte para el acceso a endpoints de APIs JSON a través de HTTP.
  • Interfaz de usuario: contiene todas las clases base que sirven de referencia centralizada de acceso a funciones comunes entre implementaciones de interfaces de usuario Windows, Web y Console. Soporta: multiidioma, control de acceso a menú, campos de pantallas y formularios, valores por defecto según perfiles de usuario.
  • Aspectos: centraliza funciones comunes a todos los módulos anteriormente nombrados: seguridad, log, transacciones, seguimiento y cambios de estado de entidades.

Aperture Code Generator Tool (ACGT)

La herramienta Aperture fue pesada como un utilidad que, en combinación con el S2 Framework ,tiene como objetivo generar código fuente referido a los siguientes aspectos:

  • Stored Procedure báscicos (CRUD) y creación de tablas.
  • Entidades de negocio (S2.EntityBase).
  • Interfaces de usuario para ASP.NET MVC basadas en AngularJS (grilla y formulario básico).
  • Objetos de transferencia de datos (DTO) JSON y su mapeo a tipos .NET (JSON.NET).
  • Interfaces de usuario para aplicaciones móviles hibridas (Monaca/Onsen UI).

Ubicación de aplicación y fuentes: \bg-srv03-fsFSGroupsDesarrolloAperture

Actualmente se está realizando una versión web de ésta herramienta.