Proyecto Gestión Forestal
Necesidades técnicas del proyecto (documentación)
- Creación de componente base.
- 1-N pocos registros.
- Listados.
- Cambiar la consulta que utiliza el modelo para hacer el listado.
- Cambiar la vista para que muestre el campo de la segunda tabla.
- Registro (con listas desplegables).
- Añadir el tipo de campo (extendiendo la clase JformFieldList).
- Cambiar el formulario del XML para el campo de la clave externa sea del tipo que acabamos de crear.
- 1-N muchos registros.
- Listados.
- Cambiar la consulta que utiliza el modelo para hacer el listado.
- Cambiar la vista para que muestre el campo de la segunda tabla.
- Registro.
- M-N pocos registros.
- Checkboxes.
- M-N muchos registros.
- Integridad referencial.
- INNODB como motor de BD.
- Gestión a nivel de modelo o en las tablas (joomla).
- Listados en formato excel.
- Permisos (gestión de roles).
- Opciones de listado (qué campos mostramos).
- Guardar los datos en la configuración del componente (tal y como se hace en los contenidos).
- Plantillas de word.
- Controles para dispositivos móviles.
- Phonegap (para móviles).
- Aplicaciones offline.
- Subcontratado. Posiblemente HTML5.
- Exposición de datos mediante XMLRPC ó SOAP.
- Sistema de alarmas.
- Cron (llamando a Joomla desde línea de comandos) y envío de mensajes.
- Invocar joomla desde línea de comandos (intérprete PHP).
- Generadores de códigos.
- Del estilo al utilizado en el plugin que hicimos para virtuemart VM Default SKU.
- Google maps.
- SIGPAC.
- WMS
- Campos de auditoría.
- Hacer una clase JTable adhoc que gestione los campos de auditoría de forma autónoma.
- Estadísticas en el gestor de joomla.
- Sistema de actualizaciones de la aplicación.
- Plugins en componente (para los mapas por ejemplo).
- Gestión de actualizaciones
- Creación de librerías dentro de Joomla
Anotaciones
- Fechas en Joomla. http://www.webamoeba.co.uk/site/index.php/articles-joomla-date-time
- Base de datos:
- DATETIME. Rango de fechas entre 1000-00-00 00:00:00 y 9999-12-31 23:59:59.
- TIMESTAMP. Rango de fechas entre 1970-00-00 00:00:00 y 2038-01-19 03:14:07. Segundos desde EPOCH. Internamente (la base de datos) hace las conversiones necesarias para guardar el dato en UTC+0.
- El valor vacío/nulo para las fechas es 0000-00-00 00:00:00.
- Obtener un objeto tipo fecha.
- Fecha actual. $now = JFactory::getDate(); El valor es serializado (tiene el mismo valor al comienzo que al final de la ejecución del script PHP).
- Valor de la base de datos. $fecha = JFactory::getDate($row→fecha);
- Formatos soportados en el formateo de una fecha.
- RFC2822. Fri, 2 Oct 2009 15:25:00 +0000
- RFC3339. 2009-10-02 T15:25:00+0000
- Formato inglés (americano). 2 October 2009
- Timestamp. (número entero de hasta 32 bits).
- Representación interna de JDate. Siempre es UTC+0.
- Uso en mysql.
- $db = &JFactory::getDBO(); $sql = 'SELECT * FROM … WHERE fecha = ' $db→Quote ($fecha→toMySQL()) ' AND campo = 10';
- Zonas horarias en la configuración. Hay una zona horaria para el servidor y otra definición de zona horaria para cada usuario.
- Visualizar fechas.
- Formatos estándar posibles (con ejemplos en la versión de inglés):
- DATE_FORMAT_LC (Tuesday, 06 October 2009)
- DATE_FORMAT_LC1 (Tuesday, 06 October 2009)
- DATE_FORMAT_LC2 (Tuesday, 06 October 2009 14:15)
- DATE_FORMAT_LC3 (06 October 2009)
- DATE_FORMAT_LC4 (06.10.09)
- Ejemplos:
- JHTML::_('date',$fecha);
- JHTML::_('date',$fecha,$formato);
- JHTML::_('date',$fecha,$formato,$offset);
- $formato_fecha = JText::_('DATE_FORMAT_LC4'); JHTML::_('date',$fecha,$formato_fecha);
Google maps
- Copyright personalizado http://gmaps-samples-v3.googlecode.com/svn/trunk/custom-copyirghts/custom-copyrights.html
- Superposición ArcGIS http://gmaps-utility-gis.googlecode.com/svn/trunk/arcgislink/examples/simpleags.html
- Aplicación descarga mapa grande google http://www.geckoandfly.com/5929/how-to-save-and-download-google-maps-to-jpeg-for-offline-browsing/
Embedir excel (solución javascript)
Posible solución M-N en base de datos
Uploads
Cambios de la versión 1.5
Geoposicionamiento
- Ejemplo de la gente de google maps http://code.google.com/intl/es-ES/apis/maps/articles/phpsqlsearch.html
- Función de cálculo de distancias http://www.marketingtechblog.com/calculate-distance/
- Función optimizada de cálculo de distancias http://tumblr.jonthornton.com/post/1419487206/calculate-latitude-longitude-distances-in-mysql-with
Pruebas de carga
SOAP
- Cliente genérico para firefox https://addons.mozilla.org/en-US/firefox/addon/soa-client/
- Web con cliente de soap (mediante formulario) http://soapclient.com
- Implementación PHP http://sourceforge.net/projects/nusoap/
- Generar diferentes formatos de información (JSON, SOAP, XMLRPC,…) http://docs.joomla.org/Xml-rpc_changes_in_Joomla!_1.6
Servidor web (y PHP) en android
http://paw-android.fun2code.de/ (no tiene soporte para mysql)