Widgets BVS

De Wiki REDDES

Tabla de contenidos

Objetivo

Crear un conjunto de widgets usando los webservices de las fuentes BVS.

Conceptos

  • El usuario de la BVS podrá identificarse y trabajar en un espacio capaz de ejecutar mini-aplicaciones (widgets)
  • Este espacio sera implementado usando un agregador (POSH)
  • Una vez registrado el usuario puede añadir nuevos espacios en su perfil
  • Un espacio es un cojunto pré-definido de widgets de una instancia de BVS (regional, nacional o tematica) registrado en el directorio de widgets de la BVS
  • Ademas de los espacios BVS el usuario podrá tener su espacio (myBVS) donde puede combinar widgets de contextos diferentes en un mesmo ambiente

Principales puntos de desarrollo

  • BVS tendrá un agregador capaz de ejecutar mini-aplicaciones (widgets) compatibles con las especificaciones de Google Gadgets
  • Los widgets serán registrados en un directorio central mantenido por el equipo de desarroladores RedDes
  • Los widgets serán agrupados por contextos de la BVS: cada instancia BVS, regional o tematica, podrá tener su conjunto de widgets disponibles en el directorio
  • Será utilizado BVS-Site y/o Drupal para gerenciamento de contenidos de una BVS, estos sistemas deben tener una capa adicional que permita exportar los contenidos generados al modelo de widgets
  • Además de los widgets de una instancia BVS el directorio tendrá widgets de uso general tales como: lector de RSS y email, integración con sistemas de gerenciamiento de proyectos (dotProject), webcalendar, etc
  • El usuario deberá contar con una interface estilo NetVibes para navegar (browsing) en los espacios (contextos) disponibles en el directorio de widgets y agregar en su perfil
  • El agregador tendrá una instalación unica para servir varias instancias (multi-site)

Ejemplo de Widget

<?xml version="1.0" encoding="UTF-8" ?>
<Module>
	<ModulePrefs title="Pesquisa" description="Módulo de pesquisa IAh" height="200">
		<Require feature="dynamic-height"/>
	</ModulePrefs>
	<UserPref name="bvs" display_name="url da bvs" default_value="http://regional.bvsalud.org"></UserPref>	
	<Content type="html">
		<![CDATA[
	<div id="search" style="display: block;">
		<h3>
			<span>Pesquisa na BVS</span>
		</h3>
		<form name="searchForm" action="#" method="post" target="_blank">
			<input name="lang" value="pt" type="hidden" />
			<input name="engine" value="metaiah" type="hidden" />
			<input name="group" value="" type="hidden" />
			<input name="view" value="PAGE" type="hidden" />
			<div class="searchItens">
				Entre com uma ou mais palavras
				<br />
				<input name="expression" class="expression" type="text" />
				<input value="Pesquisar" name="submit" class="submit" disabled="true"
					type="submit"/>
				<br />
			</div>
		</form>
	</div>
	<div id="searchResult" style="display: none;">
		<div class="portletTools">
			<a target="_blank" href="#"
				onclick="javascript:execute_search();">
				<img class="portletRefresh"
					src="../image/common/refresh.png" alt="refresh" border="0" />
			</a>
			<a target="_blank" href="#"
				onclick="portletClose('searchResult');">
				<img class="portletClose"
					src="../image/common/close.png" alt="close" border="0" />
			</a>
		</div>
		<h3>
			<span>Resultado</span>
		</h3>
		<div id="result"><!--result div--></div>
	</div>


	<script type="text/javascript">
		var prefs = new _IG_Prefs(__MODULE_ID__);
		var bvs = prefs.getString("bvs");
		if(bvs){
			var link = document.createElement("link");
			link.rel = "stylesheet";
			link.type = "text/css";
			link.href = bvs + "/css/public/skins/regional/style-pt.css";
			document.body.appendChild(link);
			
			document.searchForm.action = bvs + "/metaiah/search.php";
			document.searchForm.submit.disabled = false;
		}
	</script>
  ]]>
	</Content>
</Module>

Referencias

Herramientas personales