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.
Última actualización | 2012-08-15 3:18 AM (Europe/Madrid) |
Data de creación | 2009-12-09 11:00 PM (Europe/Madrid) |
Using API mediawiki with dojo toolkit | |
dojo javascript mashup |