Modificaciones - RodrigoRoy/lais-fotografia GitHub Wiki

Configuración adicional

Google Maps API

Para habilitar el uso de mapas se requiere un API key de Google. En el siguiente enlace se indica como generarlo: Create API keys

Modificar del archivo public/angular/views/index.html la siguiente línea de código:

<script src="https://maps.googleapis.com/maps/api/js?libraries=places&key=*****&v=3"></script>

Así se verá después de incluir API key:

<script src="https://maps.googleapis.com/maps/api/js?libraries=places&key=gOoGlEmApS_aPiKeY&v=3"></script>

Configuraciones opcionales

Usar ImageMagick en vez de GraphicsMagick

El archivo app/api/file.js realiza operaciones con los archivos digitales de imagen, por ejemplo generar versiones de baja resolución empleando GraphicsMagick por default.

Para emplear ImageMagick se debe cambiar esta línea de código:

gm = require('gm');

por lo siguiente:

gm = require('gm').subClass({ imageMagick: '7+' });

Más información en la documentación de la biblioteca gm

Archivo de configuración

El archivo config.js es generado automáticamente al momento de la instalación. Puede ser creado previamente y ser compatible, siempre y cuando contenga la siguiente estructura:

module.exports = {
	port: 8080, // Puerto del servidor
	db: 'mongodb://localhost:27017/mi-base-de-datos', // Dirección de la base de datos
	jwt: '123456789abcdefg', // Llave secreta o privada para cifrado
	prefix: 'MXIM', // Prefijo para el código de referencia
	name: 'Fotografía e investigación' // Nombre de la fototeca
}

⚠️ Modificar las propiedades db y jwt pueden causar que el sistema deje de funcionar.

Cambiar colores

El sistema de colores sigue las convenciones establecidas en Material Design y puede modificarse en el archivo public/angular/app.js:

// Tema claro
$mdThemingProvider.theme('light').primaryPalette('pink').accentPalette('pink').warnPalette('red').backgroundPalette('grey');

// Tema oscuro
$mdThemingProvider.theme('dark').primaryPalette('pink').accentPalette('pink').warnPalette('red').backgroundPalette('grey');

// Tema personalizado
$mdThemingProvider.theme('my-theme').primaryPalette('red').accentPalette('grey').warnPalette('red').backgroundPalette('grey').dark();

Mas detalles en la documentación de AngularJS Material

Modelos descriptivos

Quitar un campo

La manera más simple es ocultar el campo deseado comentando el código HTML. Por ejemplo, para ocultar el campo Grabado relacionado en el área de documentación asociada de la unidad documental

  • Desde el formulario public/angular/views/unidadDocumentalForm.html
<!-- <md-input-container class="md-block" ng-repeat="value in auxiliar.grabadoRelacionado">
	<label>Grabado relacionado</label>
	<input ng-model="value.text" ng-blur="agregarGrabadoRelacionado(value.text)"></input>
</md-input-container> -->
  • Desde la vista public/angular/views/unidadDocumentalDialog.html
<!--<tr ng-if="unidad.documentacionAsociada.grabadoRelacionado && unidad.documentacionAsociada.grabadoRelacionado.length > 0">
	<td>Grabado relacionado</td>
	<td>
		<table>
			<tr ng-repeat="fotografia in unidad.documentacionAsociada.grabadoRelacionado">
				<td>{{fotografia}}</td>
			</tr>
		</table>
	</td>
</tr>-->

Agregar un campo

El siguiente procedimiento aplica para campos de texto simple. Es necesario modificar el modelo en la base de datos, agregar una entrada en el formulario y en la vista. Por ejemplo, para agregar el campo Ubicación física en el área de notas de la unidad documental

  • Desde el modelo de la base de datos app/models/unidadDocumental.js
notas: {
	ubicacionFisica: {type: String, trim: true},
}
  • Desde el formulario public/angular/views/unidadDocumentalForm.html
<md-input-container class="md-block" flex-gt-sm>
	<label>Ubicación física</label>
	<input ng-model="unidadDocumental.notas.ubicacionFisica">
</md-input-container>
  • Desde la vista public/angular/views/unidadDocumentalDialog.html Primero ubicar su correspondiente sección y agregar el campo en propiedad condicional ng-if
<md-tab label="Notas" ng-if="unidad.notas.notas || unidad.notas.ubicacionFisica">

Después agregar el código para visualizar la información

<tr ng-if="unidad.notas.ubicacion">
	<td>Ubicación física</td>
	<td>{{unidad.notas.ubicacionFisica}}</td>
</tr>

ℹ️ Para quitar o agregar campos al modelo descriptivo de conjuntos documentales el procedimiento es análogo, los archivos a editar son app/models/conjuntoDocumental.js, public/angular/views/conjuntoDocumentalForm.html y public/angular/views/conjuntoDocumentalDialog.html

⚠️ **GitHub.com Fallback** ⚠️