{"id":1225,"date":"2014-03-04T10:00:48","date_gmt":"2014-03-04T09:00:48","guid":{"rendered":"http:\/\/www.arvo.es\/dspace\/?p=1225"},"modified":"2014-02-26T18:52:32","modified_gmt":"2014-02-26T17:52:32","slug":"metodos-usados-en-el-authority-control","status":"publish","type":"post","link":"https:\/\/www.arvo.es\/dspace\/metodos-usados-en-el-authority-control\/","title":{"rendered":"M\u00e9todos usados en el Authority Control"},"content":{"rendered":"<p>Una vez explicado en el post anterior el modelo de control de autoridades en DSpace, vamos a profundizar algo m\u00e1s en el authority control. En concreto os voy a comentar los aspectos m\u00e1s destacables que tiene la clase encargada de hacer funcionar el authority control.<\/p>\n<p><strong>SampleAuthority<\/strong> es el modelo de ejemplo que se usa para poder a empezar a desarrollar nuestra funcionalidad del modelo de autoridades. (Aunque lo m\u00e1s correcto es crear nuestra propia clase Autoridad copiando el SampleAuthority)<\/p>\n<p>Esta clase la podemos localizar dentro del DSpace API en la siguiente ruta:[dspace-src]\/dspace-api\/src\/main\/java\/org\/dspace\/content\/authority\/SampleAuthority.java<\/p>\n<p>Esta clase tiene un aspecto como el siguiente (no se incluye todo el c\u00f3digo)<\/p>\n<pre><em>public class SampleAuthority implements ChoiceAuthority{\u00a0\u00a0\u00a0 <\/em>\r\n\r\n<em>\u00a0\u00a0\u00a0 public Choices getMatches(String field, String query, int collection, int start, int limit, String locale){<\/em>\r\n<em>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <\/em>\r\n<em>\u00a0\u00a0\u00a0 }<\/em>\r\n\r\n<em>\u00a0\u00a0\u00a0 public Choices getBestMatch(String field, String text, int collection, String locale) {<\/em>\r\n<em>\u00a0\u00a0\u00a0 }<\/em>\r\n\r\n<em>\u00a0\u00a0\u00a0 public String getLabel(String field, String key, String locale) {<\/em>\r\n<em>\u00a0\u00a0\u00a0 }<\/em>\r\n}<\/pre>\n<p>B\u00e1sicamente lo primero que vemos es que la clase ha de implementar al interfaz ChoiceAuthority, y en el nos toca programar sus tres m\u00e9todos principales<\/p>\n<p><strong>getMatches:<\/strong> este m\u00e9todo ha de retornar un listado con todas las coincidencias buscadas a partir de la b\u00fasqueda introducida por el usuario, por lo general ser\u00e1n apellidos. Es decir si el usuario busca autores por el apellido Nieto, este m\u00e9todo deber\u00eda de retornar todos los autores de la BBDD con el apellido Nieto;<\/p>\n<ul>\n<li>Nieto Espa\u00f1ol, Juan<\/li>\n<li>Nieto Caram\u00e9s, Sergio<\/li>\n<li>Espa\u00f1ola Nieto, Juana<\/li>\n<\/ul>\n<p><strong>getBestMatch:<\/strong> Este m\u00e9todo est\u00e1 pensando en devolver el mejor resultado posible, es decir si antes busc\u00e1bamos solo por el apellido para mostrar un listado de autores con apellido parecido, con este m\u00e9todo hemos de aproximar el resultado a uno posible.<br \/>\nEn cuyo caso de que el resultado sea \u00fanico debemos de dar un grado de confianza del mas alto posible. (Por lo general con un valor de confianza UNDEFINED ha de ser suficiente)<\/p>\n<p>Este m\u00e9todo hay que implementarlo bien, puesto que cada vez que se introduzca un metadato controlado (que use Authority Control), DSpace va a ser el encargado de validarlo autom\u00e1ticamente. Es decir que nos sirve para automatizar las tareas de los usuarios administradores, pero mejor que lo hagamos de forma precisa.<\/p>\n<p><strong>getLabel:<\/strong> Este m\u00e9todo ha de resolver el problema de nombramiento que tiene DSpace con los autores validados, ya que por definici\u00f3n, DSpace coge el valor clave de autoridad y lo muestra como nombre de autor, por lo que debemos con este m\u00e9todo cambiar por un valor de autor que se asocie a ese identificador.<\/p>\n<p>Una vez programada esta clase (compilada y desplegada) solo falta rellenar la configuraci\u00f3n detallada en el fichero de configuraci\u00f3n dspace.cfg para que se asocie el proceso a un metadato que queramos como por ejemplo el dc.contributor.author. (toda esta informaci\u00f3n viene detallada en la documentaci\u00f3n de DSpace accesible desde el c\u00f3digo fuente o desde su web ;D)<\/p>\n<p>Bueno ahora solo toca entender bien las especificaciones que deseamos aplicar a nuestro modelo de autoridades y programarlo seg\u00fan esas espacificaciones.<\/p>\n<p>Mucha suerte<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Una vez explicado en el post anterior el modelo de control de autoridades en DSpace, vamos a profundizar algo m\u00e1s en el authority control. En concreto os voy a comentar los aspectos m\u00e1s destacables que tiene la clase encargada de &hellip;<\/p>\n<p class=\"read-more\"><a href=\"https:\/\/www.arvo.es\/dspace\/metodos-usados-en-el-authority-control\/\">Leer m\u00e1s &raquo;<\/a><\/p>\n","protected":false},"author":6,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[6],"tags":[68,71,4],"class_list":["post-1225","post","type-post","status-publish","format-standard","hentry","category-documentacion_tecnica","tag-authority-control","tag-control-de-autoridades","tag-dspace"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.arvo.es\/dspace\/wp-json\/wp\/v2\/posts\/1225","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.arvo.es\/dspace\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.arvo.es\/dspace\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.arvo.es\/dspace\/wp-json\/wp\/v2\/users\/6"}],"replies":[{"embeddable":true,"href":"https:\/\/www.arvo.es\/dspace\/wp-json\/wp\/v2\/comments?post=1225"}],"version-history":[{"count":6,"href":"https:\/\/www.arvo.es\/dspace\/wp-json\/wp\/v2\/posts\/1225\/revisions"}],"predecessor-version":[{"id":1245,"href":"https:\/\/www.arvo.es\/dspace\/wp-json\/wp\/v2\/posts\/1225\/revisions\/1245"}],"wp:attachment":[{"href":"https:\/\/www.arvo.es\/dspace\/wp-json\/wp\/v2\/media?parent=1225"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.arvo.es\/dspace\/wp-json\/wp\/v2\/categories?post=1225"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.arvo.es\/dspace\/wp-json\/wp\/v2\/tags?post=1225"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}