GalDic é o resultado do proxecto fin de curso de desenvolvemento web avanzado. GalDic é un dicionario de galego 2.0. O que non se ve é que conta con servizos web que están dispoñibles para o seu uso. En canto teña tempo publicarei exemplos de código que amosan o seu uso, no entanto, comenzarei unha fase de testeo e viabilidade dunha interface offline empregando as novas características de HTML5, e unha versión móbil.
Mentras tanto o código está dispoñible dende os seguintes enderezos:
Dende esta semana está dispoñible o dicionario de galego GalDic no subdominio galdic.vifito.eu. O dicionario emprega unha base de datos propia e no caso de non atopar o termo busca no dicionario da RAG e na Galipedia.
O proxecto está deseñado para ser integrado en calquera sistema de xestión de contidos, proba delo é a inclusión do buscador na plataforma OpenNemas.
Dende hoxe está publicado un widget de Galdic en retrincos.info, o xornal de demostración de OpenNemas. A tecnoloxía empregada no widget é a comunicación vía JSONP, contra a seguinte uri:
http://galdic.vifito.eu/index/xsearch/q/TERMO?callback=...
En breve publicarei un tutorial explicando detalladamente o desenvolvemento de widgets con jquery e dojo.
Outro exemplo de integración tamén está dispoñible no post sobre o uso da api da galipedia.
Unha das funcionalidades implementadas no proxecto GalDic é a posibilidade de amosar os resultados da pesquisa procurando na galipedia (ou en calquer outro sitio que empregue mediawiki).
Este cliente fai uso do API de mediawiki e realiza peticións directamente dende o navegador cliente contra o servizo da wikipedia empregando a técnica JSONP (JSON with Padding), sen que sexa preciso empregar o servidor do sitio como proxy.
Detalle do ficheiro SMD para traballar coa galipedia:
{
"SMDVersion": "2.0",
"id": "http://gl.wikipedia.org/w/api.php",
"description": "Galipedia API",
transport: "JSONP",
envelope: "URL",
additionalParameters: true,
target: "http://gl.wikipedia.org/w/api.php",
parameters: [
{ name: "format", optional: false, "default": "json" }
],
services: {
opensearch: {
parameters: [
{ name: "action", default: "opensearch", optional: false },
{ name: "search", type: "string", optional: false}
]
},
query: {
parameters: [
{ name: "action", default: "query", optional: false },
{ name: "prop", default: "revisions", optional: false },
{ name: "titles", optional: false }
]
},
parse: {
parameters: [
{ name: "action", default: "parse", optional: false },
{ name: "prop", default: "text", optional: false },
{ name: "page", optional: false }
]
}
}
}
O ficheiro SMD define o tipo de transporte, a url á que chamar e os métodos, xunto cos seus parámetros, simplificando a chamada ao servizo. O seguinte código mostra como facer uso do servizo de wikipedia coa axuda do ficheiro SMD:
var mu = dojo.moduleUrl("vifito.rpc.SMDLibrary", "galipedia-v2.smd");
var wikipedia = new dojox.rpc.Service(mu);
wikipedia.query({
action: "opensearch",
search: "Main Page"
}).addCallback(this, function(article){
console.log(article);
});
Este servizo é o que se incorpora no buscador principal da aplicación por medio dun widget Dojo (vifito.galdic.Widgets.GalipediaBox) creado para a aplicación e dispoñible en: GalipediaBox.js
O widget tenta procurar a palabra que se inseríu no buscador principal e no caso de que atope algún resultado na galipedia mostra unha ligazón a un cadro de diálogo co contido atopado.
Un artigo moi interesante tamén se pode atopar no blogue de Sitepen.