Plugin SVN y actualización de la API: ¿cómo se identifican los complementos?

12

Una cosa que nunca me ha resultado clara (especialmente porque no he enviado un complemento al repositorio) es cómo se genera una "ID" (bala) única de un complemento (es decir, esta lista ).

  1. ¿Es una elección del autor en el momento de la presentación de SVN o por un moderador?
  2. ¿Es el nombre del complemento saneado (título)?
  3. ¿Es el plugin_basename ?
  4. ¿Es el archivo del complemento principal (sin el nombre del directorio)?
  5. ¿Algo más?

Tengo curiosidad por saber qué atributo (s) de un complemento lo vincula a su homólogo de SVN (si tiene uno) para la API de actualización de complemento?

Pido, en parte fuera de mi naturaleza querer saber, pero también cómo asegurar (hasta cierto punto), mis propios complementos únicos no se enfrentarán con uno en la SVN.

Por ejemplo, si solo fuera 3) , podría usar un nombre de directorio único, pero mantener el nombre de mi complemento (título) corto y dulce.

N.B. Si bien la convención de nombres de archivo "estándar" parece ser [my-plugin-name]/[my-plugin-name].php , me ha gustado [my-plugin-name]/plugin.php .

A todos mis complementos les da cierta coherencia, está claro que es el archivo (principal) del "cargador de arranque" y, desde un punto de vista insignificante, odio la repetición del nombre del directorio.

Esta es otra razón por la que hago la pregunta, ya que 4) me jodería. Además, me gustaría escuchar sus opiniones sobre este "estándar" también :)

    
pregunta TheDeadMedic 25.02.2012 - 12:30

2 respuestas

7

Al enviar un complemento, la bala se convierte en el nombre del complemento saneado, tal como se envió. El "Nombre" del complemento puede cambiar después de esto, pero la bala sigue siendo la misma para siempre.

Cuando WordPress necesita verificar una actualización del complemento, obtiene toda la información del encabezado del complemento y el nombre del directorio en el que se encuentra el complemento, y lo envía a WordPress.org.

Actualmente se utilizan tres factores para intentar hacer una comparación con los complementos en el directorio. Tenga en cuenta que digo "actualmente", porque esto cambia de vez en cuando a medida que intentamos mejorar los algoritmos coincidentes.

  1. El nombre del directorio del complemento es a menudo la "bala" del complemento. Al menos, es si lo instaló desde el directorio para empezar. Así que buscamos una babosa con ese nombre de directorio. Este no es un gran indicador, pero ayuda.

  2. El "Nombre" en el encabezado del complemento también se busca, ya que el Nombre debe ser único en el directorio del complemento. Si no hay coincidencia en ese nombre exacto, entonces el Nombre se desinfecta para producir una bala, y también buscamos esa bala, por si acaso. Esto no siempre funciona.

  3. El "URI del complemento" en el encabezado también se verifica para una coincidencia. Ya que conocemos ese valor para todos los complementos en el directorio, entonces eso puede considerarse razonablemente único para cada complemento. Por lo tanto, se recomienda a los autores de complementos que pongan un URI de complemento que apunte a un dominio que controlen y una URL que sea única para el complemento.

Los tres factores se ponderan y se devuelve el resultado superior. Los pesos utilizados para cada uno de los tres reflejan un nivel de confianza en la precisión de los datos. Por ejemplo, el nombre tiene un peso mayor que el del directorio de complementos-como-slug, porque la mayoría de los autores no cambian los Nombres de los complementos muy a menudo, y el directorio de complementos puede ser cualquier cosa si el usuario lo instaló manualmente o algo así.

Cuanto más cercana sea la coincidencia con estos tres elementos, más probable es que coincida con el complemento. Pero se debe encontrar al menos una coincidencia exacta en estos para que se devuelva cualquier resultado.

Para los complementos únicos personalizados, tiendo a usar el nombre del sitio en el nombre mismo del complemento. Esto también me ayuda con la organización. Así que mi nombre de complemento único podría ser "ottopress.com - Solucionar el problema con lo que sea". Es poco probable que algún complemento del directorio coincida con su dominio.

    
respondido por el Otto 06.03.2012 - 17:14
2

Como obviamente la entrada SVN se crea antes de confirmar su complemento por primera vez, se basa en su solicitud inicial de entrada. No sé si el proceso es técnico o manual, probablemente un poco de ambos.

Para fines de actualización, se envía mucha información y el repositorio intenta determinar la coincidencia, según el nombre del complemento, el nombre del directorio, la versión actual y posiblemente más. No sé si alguna vez se publicó el algoritmo exacto.

    
respondido por el Rarst 25.02.2012 - 13:53

Lea otras preguntas en las etiquetas