Tutorial: Gestión de archivos en la nube

Algunos de los servicios de almacenamiento de datos están listos para leer y almacenar de forma segura archivos e imágenes de su sistema Scriptcase. Esta opción también guarda un archivo local para aumentar su tiempo de lectura y, en caso de que se elimine el archivo local, ¡una copia estará funcionando en la nube!

Creando la aplicación de Control

1 – Cree una aplicación de tipo Control

2 – Debemos crear los campos necesarios para la carga de los archivos y la ruta del directorio a guardar. Campos: Documento, Directorio.

Creando los campos de configuración

3 – Crearemos un nuevo campo llamado “api_gateway” que permitirá la selección de la API utilizada. El campo será del tipo “Seleccionar” y crearemos una búsqueda manual. Las API disponibles serán: Dropbox, Amazon S3 y Google Drive.

4 – Cada uno de los tipos de API disponibles requiere información de configuración adicional. Crearemos los campos que deben llenar esta información.

Dropbox: apikey, apisecret, accesstoken

Amazon S3: apikey, apisecret, api_region, api_bucket

Google Drive: nombre de la aplicación, jsonoauth, authcode, tokencode

Nota 1: Los campos apikey y apisecret se utilizarán tanto para Dropbox como para Amazon S3.

Creando los métodos de control

Ahora debemos crear métodos de control que oculten campos innecesarios según el tipo de API que se seleccione, así como un método para enviar información de conexión a la API.

5 – El método ocultar_campo ocultará los campos de configuración al iniciar la aplicación.

ocultar_campo

Código ocultar_campo:

sc_field_display({jsonoauth}, off);
sc_field_display({authcode}, off);
sc_field_display({tokencode}, off);
sc_field_display({api_region}, off);
sc_field_display({api_bucket}, off);	
sc_field_display({appname}, off);	

La función ocultar_campo se llamará en el evento onScriptInit.

6 – El método mostrar_configuraciones mostrará los campos de acuerdo con la API seleccionada.

mostrar_configuraciones

Código mostrar_configuraciones:

if($gateway_value == 'dropbox'){
	sc_field_display({jsonoauth}, off);
	sc_field_display({authcode}, off);
	sc_field_display({tokencode}, off);
	sc_field_display({api_region}, off);
	sc_field_display({api_bucket}, off);
	sc_field_display({appname}, off);
	sc_field_display({apikey}, on);
	sc_field_display({apisecret}, on);
	sc_field_display({accesstoken}, on);
}					 

else if($gateway_value == 'drive'){
	sc_field_display({apikey}, off);
	sc_field_display({apisecret}, off);
	sc_field_display({accesstoken}, off);
	sc_field_display({api_region}, off);
	sc_field_display({api_bucket}, off);
	sc_field_display({appname}, on);
	sc_field_display({jsonoauth}, on);
	sc_field_display({authcode}, on);
	sc_field_display({tokencode}, on);
}					 

else if($gateway_value == 's3'){
	sc_field_display({jsonoauth}, off);
	sc_field_display({authcode}, off);
	sc_field_display({accesstoken}, off);
	sc_field_display({appname}, off);
	sc_field_display({apikey}, on);
	sc_field_display({apisecret}, on);
	sc_field_display({api_region}, on);
	sc_field_display({api_bucket}, on);
}					 

Nota: Use la opción para agregar parámetros a la función para agregar el parámetro gateway_value

La función mostrar_configuraciones se llamará en un evento ajax onChange en el campo api_gateway.

7 – El método cargar_archivo se utilizará para enviar la información de conexión con la API.

Código cargar_archivo:

if($field_gateway == 'dropbox'){
	
	sc_api_upload([

	'settings' => [
	'gateway'  => 'dropbox',
	'api_key' => {apikey},
	'api_secret' => {apisecret},
	'access_token' => {accesstoken},
	],
	'file' => {files},
	'parents' => {parent},

	]);
	
}
else if($field_gateway == 'drive'){
	
	sc_api_upload([

	'settings' => [
	'app_name' => {appname},
	'gateway'  => 'drive',
	'json_oauth' => {jsonoauth},
	'auth_code' => {authcode},
	'token_code' => {tokencode},
	],
	'file' => {files},
	'parents' => {parent},

	]);
}
else if($field_gateway == 's3'){
	
	sc_api_upload([

	'settings' => [
	'app_name' => 'scriptcase',
	'gateway'  => 's3',
	'api_key' => {apikey},
	'api_secret' => {apisecret},
	'region' => {api_region},
	'bucket' => {api_bucket},
	],
	'file' => {files},
	'parents' => {parent},

	]);
}

Nota: Use la opción para agregar parámetros a la función para agregar el parámetro gateway_value

El método cargar_archivo se llamará en el evento onValidateSuccess

8 – Guarde y ejecute la aplicación.

Compartir este tutorial

Tutoriales en la misma categoria

Grid – Columnas fijas

Grid   Orientación: Define el tipo de orientación de la grid como Horizontal. Etiqu...

Tutorial: Nueva Búsqueda Refinada

En este ejemplo, se desarrollará un informe utilizando la opción de búsqueda refinada, que permit...

Tutorial: Grid Mobile

En este ejemplo, veremos la configuración de una aplicación Grid para dispositivos móviles. ...

Tutorial: Gráfico superpuesto

Crear un gráfico utilizando la función de superposición de barras:   1 – Creamos...

Comentar este post