Ayuda:Diálogo
Las facilidades de diálogo permiten crear páginas wiki interactivas y dinámicas. Las instalaciones tienen dos partes principales: un conjunto de plantillas utilizadas para especificar elementos interactivos en una página wiki y un conjunto de "acciones" versátiles que pueden ser dirigidas por esos elementos interactivos.
El uso de las instalaciones implican la escritura solo en el margen wiki, por lo que las páginas interactivas pueden ser desarrollados y mantenidas por la comunidad wiki.
Desde la perspectiva del usuario, las páginas interactivas permiten introducir datos a través de cuadros de diálogo y elementos de entrada similares y permitir que estos datos fluyan a elementos de entrada de otras páginas, a parámetros de plantilla que ya contienen acciones.
Internamente, el núcleo de las instalaciones se implementa utilizando JavaScript, y está diseñado para ser extensible a través de acciones adicionales también utilizando JavaScript, mientras que algunas funcionalidades complementarias se implementan en Lua (por ejemplo {{Evalx}}).
Los asistentes interactivos de nivel superior se basan en estas instalaciones.
Elementos de la página
editarLas páginas wiki interactivas se organizan utilizando una serie de plantillas, que se agrupan en Categoría:Wikinoticias:Plantillas de formato de diálogo.
Campos
editarSe admiten cuatro tipos de campos de entrada: text, textarea, select y checkbox. Estos se especifican usando, respectivamente, las plantillas {{Diálogo/text}}, {{Diálogo/textarea}}, {{Diálogo/select}}, and {{Diálogo/checkbox}}.
Cada plantilla requiere un parámetro id=
name especificando un nombre para el campo. En teoría, cada id debe ser único entre los campos de entrada en esa página, y si dos campos de entrada en la misma página tienen el mismo id, algo malo puede suceder. En la práctica, a veces no hay una buena manera de garantizar la unicidad; Pero hay una técnica que evita que las cosas malas sucedan en el caso más habitual, explicado debajo en la sección botones.
Un campo text es un cuadro de entrada de texto de una línea. El parámetro opcional size=
width especifica cuántos caracteres debe tener el cuadro; Esto afecta a cómo se muestra el cuadro, pero no cuán grande puede ser su contenido. Opcionalmente, un parámetro sin nombre especifica el contenido inicial del cuadro de texto; De forma predeterminada, el cuadro está inicialmente vacío.
Un campo textarea es un cuadro de entrada de texto de varias líneas. Los parámetros opcionales cols
=width y rows
=length especifican cuántas columnas deben tener de ancho y cuántas filas debe ser la casilla; Esto afecta a cómo se muestra el cuadro, pero no cuán grande puede ser su contenido. En algunos navegadores web, el cuadro siempre tiene el mismo ancho, independientemente del ancho que se especifique. Opcionalmente, un parámetro sin nombre especifica el contenido inicial del cuadro textarea; Por defecto, el cuadro está inicialmente vacío.
Un campo select es un menú de opciones para elegir. Los parámetros sin nombre especifican las opciones. Los parámetros no identificados vienen en parejas: un parámetro especifica una opción que aparece en el menú y el siguiente parámetro especifica el valor interno seleccionado por ese elemento de menú. Inicialmente, se selecciona la primera opción.
Un campo checkbox de verificación es un valor de encendido/apagado que se puede conmutar. Su valor interno es "sí" o "" (en blanco). El parámetro opcional checked
=non-blank hace que la casilla esté inicialmente encendida; De lo contrario, está inicialmente desactivado.
Botones
editarLos botones se especifican generalmente mediante la plantilla {{Diálogo/button}}. Se proporcionan plantillas más especializadas para crear botones de algunos tipos específicos, y se pueden usar siempre que sea adecuado para el propósito previsto.
La función de un botón, cuando se hace clic, es enviar datos a una acción. El parámetro de plantilla action
=name especifica el nombre de la acción. El parámetro opcional de la plantilla label
=text especifica qué texto aparece en el botón; De forma predeterminada, el botón está etiquetado con el nombre de la acción. Los parámetros de plantilla sin nombre especifican parámetros de diálogo que se pasarán a la acción.
Cada parámetro de diálogo se especifica de tres formas. En primer lugar, el parámetro de plantilla puede ser simplemente el id de un campo de diálogo en la página, en cuyo caso, cuando se hace clic en el botón, el contenido de ese campo se pasa a la acción como un parámetro de diálogo cuyo nombre es el id del campo. En segundo lugar, el contenido del campo se puede pasar a la acción con un nombre diferente, especificando in nombre diferente, dos puntos y el ID del campo. En tercer lugar, el nombre del parámetro de diálogo, que se va a pasar a la acción, puede ser seguido por dos puntos y, a continuación, un valor que se pasa bajo ese nombre, como si el valor se hubiese especificado como el valor inicial de {{Diálogo/textarea}} de donde se dibujó el valor (que es lo que sucede internamente). Si el valor especificado contiene dos puntos, se supone que es el nombre de una página y está enlazado mediante {{Hidden use}}; si se conoce que el valor es un nombre de página, pero no puede contener dos puntos, utilice {{Diálogo/page}} para garantizar un punto. Se proporcionan plantillas especializadas para algunos tipos de botones; como de este escrito, {{Diálogo/view}} y {{Diálogo/edit}}, descrito más abajo en las secciones verb view y edit.
A veces, una plantilla necesita generar un campo de diálogo simplemente para contener un valor para su uso por un botón generado — aunque probablemente no tendrás que configurar esto tú mismo, ya que {{Diálogo/button}} ya maneja los valores de esta manera. Para evitar que el campo del titular desordene la página, utilice {{Diálogo/textarea}} con el parámetro hidden=
non-blank. Sin embargo, en tales casos no puede haber ninguna buena manera de garantizar un campo id único para toda la página. Para asegurarse de que el botón encuentre el campo correcto a pesar de un identificador de campo posiblemente redundante, coloque el campo inmediatamente después del botón; Cuando un botón mira el valor de un campo de diálogo con el id dado, comienza a mirar el punto donde el botón se produce en la página, y toma el primer campo que encuentra con el id correcto, sólo mirando al principio de la página si no encuentra ninguno de estos campos después del botón.
Optional template parameter delegable=no
prevents the button from delegating its action to the target — which it would otherwise try to do. Delegation by a button is only possible if the current page is being viewed by means of an action; at present, this action would have to be do. Instead of passing to its target action just those dialog parameters specified by the button, a delegating button modifies the dialog parameters that were passed to the current view, and passes this modified set of dialog parameters to its target action.
El parámetro opcional de la plantilla delegable=no
impide que el botón delegue su acción en el destino, lo que de otro modo intentaría hacer. La delegación por un botón sólo es posible si la página actual se está viendo por medio de una acción; en la actualidad, esta acción tendría que hacerse mediante do. En lugar de pasar a su acción de destino solo aquellos parámetros de diálogo especificados por el botón, un botón de delegación modifica los parámetros de diálogo que se pasaron a la vista actual y pasa este conjunto modificado de parámetros de diálogo a su acción de destino.
- Incluso cuando la delegación es técnicamente posible y está permitido por el parámetro de plantilla
delegable
, el botón sólo se requiere para intentar delegar si la acción de destino es la misma acción por la que se está viendo la página actual. La acción do sólo se delega en este caso necesario. - Cuando las acciones actuales y de destino son las mismas, la delegación evita hacer un nuevo acceso a la página de acción, lo que ahorra tiempo y carga del servidor y evita reemplazar la vista actual por un mensaje de "espera" antes de mostrar la vista de destino.
- Los parámetros de diálogo recibidos por la vista actual, pero no especificados por el botón, se pasan al destino durante la delegación. La vista de destino puede aprovechar estos parámetros de diálogo adicionales cuando la delegación los hace disponibles.
- Un inconveniente potencial de la delegación es que, debido a que la delegación actualiza destructivamente los parámetros de diálogo recibidos, la vista actual no se puede recuperar haciendo clic en el botón "volver" en su navegador web; "Volver" usualmente lo llevará a la vista de página más reciente que no delegó en su vista sucesora.
Optional template parameter echo=
non-blank causes a second button to appear next to the primary button, identical to the first except that its target action is action echo; this aids in debugging a dialog, by allowing the dialog composer to see what data is passed by the button and whether or not the outgoing action-request is authenticated.
El parámetro opcional de plantilla echo=
non-blank hace que aparezca un segundo botón junto al botón primario, idéntico al primero excepto que su acción de destino es eco de la acción; esto ayuda en la depuración de un diálogo, permitiendo que el compositor de diálogo vea qué datos son pasados por el botón y si la petición de acción saliente es autenticada o no.
Autenticación
editarCuando se solicita una acción para hacer algo con consecuencias significativas, la acción puede requerir alguna prueba de que la solicitud es legítima. Esto se hace mediante la autenticación de solicitud de acción proporcionada por el software de diálogo. Una solicitud de acción autenticada proviene de un clic de botón que se origina en una página que satisface los cuatro criterios siguientes:
- La página de origen debe ser una página de acción o aparecer en una página de acción. Actualmente, la única acción compatible que muestra otra página es do.
- La página de origen debe estar completamente protegida.
- La página de origen debe contener una o más llamadas de plantilla que especifiquen qué, si es que hay algo, debe autenticarse acerca de la solicitud de acción entrante que provocó la visualización de la página de origen. Estas plantillas se explican a continuación.
- La acción responsable de mostrar la página de origen debe llamar internamente para la autenticación. Esta llamada interna es tanto la forma en que la acción determina si su solicitud de acción entrante satisface los requisitos de la página y cómo la acción proporciona la autenticación de sus solicitudes de acción salientes.
Los requisitos de las solicitudes de acción entrantes se especifican mediante las plantillas {{Diálogo/null requirement}} y {{Diálogo/require origin}}.
- {{Diálogo/null requirement}} no requiere ninguna autenticación de la solicitud de acción entrante.
- {{Diálogo/require origin}} Requiere una solicitud de acción entrante autenticada de una de una lista fija de orígenes permitidos; Estos orígenes permitidos son nombrados por parámetros de LA plantilla sin nombre. Un parámetro opcional de plantilla
proxy
=name indica que la página de origen se muestra mediante la página de acción nombrada, en lugar de que el origen sea una página de acción.
Si se utilizan múltiples llamadas de plantilla de autenticación entrante en una sola página, todas estas llamadas de plantilla deben cumplirse para autenticar la solicitud de acción entrante. En particular, si {{Diálogo/require origin}} se llama sin parámetros de la plantilla sin nombre, la solicitud de acción entrante no se puede autenticar independientemente de qué otras llamadas se produzcan en la página.
Tenga en cuenta que la autenticación es una solicitud de acción; cualquier vista de página de acción concreta está potencialmente relacionada con dos solicitudes separadas: una solicitud entrante, cuyo origen es cualquier página vista antes de la actual, y potencialmente alguna solicitud saliente, cuyo origen es la página actual. La autenticación de la solicitud entrante depende enteramente de la página vista anteriormente; la autenticación de las solicitudes salientes depende de la página actual, incluyendo el uso de las plantillas antes mencionadas {{Diálogo/null requirement}} y {{Diálogo/require origin}}.
Ifsupported
editarSi una página utiliza las facilidades de diálogo, a menudo es importante diseñar la página para comportarse razonablemente si el navegador del usuario no es compatible con las facilidades de diálogo. Esto se hace usando la plantilla {{Diálogo/ifsupported}}. La plantilla tiene dos parámetros sin nombre. Si las facilidades de diálogo están disponibles, el primer parámetro de la plantilla estará visible mientras el segundo parámetro de la plantilla esté oculto. Si las facilidades de diálogo no están disponibles, el primer parámetro de la plantilla se oculta mientras el segundo está visible.
Acciones
editarLas acciones realizadas por los botones se encarnan mediante páginas con nombres de formulario Wikinoticias:Diálogo/
action, donde action es el nombre por el cual el botón invoca la acción. Las acciones se agrupan en Categoría:Acciones de diálogo.
Acción: do
editarLa acción do realiza cualquiera de las varias funciones diferentes, seleccionadas por el parámetro de diálogo entrante verb
. Poner todas estas funciones en una sola acción permite delegar de una función a otra, ahorrando mucho tiempo (probablemente uno o dos segundos por clic de botón) y evitando interrupciones repetidas de la visualización de la página con mensajes de "espera".
Verbo: view
editarEl verbo view muestra una página en una secuencia de diálogo en curso, permitiendo que el contenido mostrado dependa del diálogo anterior.
El parámetro de diálogo de entrada page
indica la página a mostrar, con los parámetros de diálogo entrantes sustituidos por los parámetros de la plantilla en la página visualizada; y si la página mostrada tiene un campo de diálogo con el mismo nombre que un parámetro de diálogo entrante, el valor entrante se convierte en el valor inicial del campo de diálogo.
Los valores de los parámetros de diálogo entrantes normalmente no se interpretan como marcado wiki. La plantilla {{Diálogo/preview}} interpreta el valor del parámetro de diálogo entrante preview
como marcado wiki.
El verbo view, especialmente los parámetros de diálogo entrantes REQUESTING-PAGE
, INCOMING-AUTHENTICATED
, USERNAME
, USER-GROUPS
, SUBJECT-EXISTS
, SUBJECT-CONTENT
, SUBJECT-TIMESTAMP
, SUBJECT-CATEGORIES
, y SUBJECT-FLAGGED
. REQUESTING-PAGE
nombra la página desde la cual se hizo la solicitud de acción; INCOMING-AUTHENTICATED
no está en blanco si se autentica la solicitud de acción entrante. USER-GROUPS
nombra todos los grupos de usuarios a los que pertenece el usuario de visualización, delimitados por comillas dobles y separados por espacios. SUBJECT-
* proporciona información acerca de la página denominada por parámetro de diálogo entrante subject
.
View solicita la authenticación de salida, pero especificando los requisitos de autenticación (vía {{Diálogo/null requirement}} o {{Diálogo/require origin}}) es la responsable de la página mostrada y la vista continúa independientemente de si la autenticación tiene éxito o no.
Cuando se especifica un botón con do/view y una página fija que se mostrará, la plantilla {{Diálogo/view}} puede utilizarse en lugar de plantilla genérica {{Diálogo/button}}. La plantilla especializada se encarga de la acción y el verbo de los objetos si no se da el parámetro de plantilla page
.
La página mostrada puede solicitar que el verbo view sea desviado para mostrar en su lugar una página de manejo de errores; esto se hace normalmente si los parámetros de diálogo entrantes fallan en alguna comprobación de validación. La página de manejo de errores anexa /error al nombre de la página mostrada. La solicitud de desvío sólo se cumple si el nombre de la página solicitante no termina con "error" y existe la página de manejo de errores. Se solicita la desviación utilizando {{Diálogo/init}} para configurar el campo de diálogo local-error
a un valor que no esta en blanco; siguiendo el manejo estándar de parámetros locales, la página de manejo de errores puede acceder al valor en el parámetro de diálogo entrante reservado INCOMING-LOCAL-ERROR
. La información de historial de revisiones de la página nombrada por subject
y que pueden solicitarse a través de parámetros reservados como SUBJECT-HISTORY-
; miembros de una categoría nombrada por category
pueden solicitarse a través de parámetros reservados como CATEGORY-MEMBERS-
; los metadatos en un archivo nombrado por file
pueden solicitarse a través de parámetros reservados como FILE-INFO-
; Y el marcado de wiki puede ser expandido mediante plantilla a través del parámetro reservado EXPANDED-TEXT
; con todas estas consultas avanzadas reguladas a través de los parámetros locales especificados mediante {{Diálogo/init}}.
Cuando una página pasa a través de do/view, el nombre de la página que aparece en la parte superior de la página es el nombre de la página mostrada y las pestañas se refieren a la página visitada (historial, edición, etc.); Un pequeño paréntesis wikilink a la derecha del título proporciona acceso a la página de acción. Al momento de escribir este artículo, los enlaces relacionados en la barra lateral (como WhatLinksHere) aún se refieren a la página de acción en lugar de a la página mostrada.
Si navega lejos de la visualización de una página —por medio de delegación— la acción do guarda los valores de los campos de diálogo en la pantalla. Si realiza una copia de seguridad para volver a la vista visualizada, los valores de los campos de diálogo se restauran automáticamente a lo que eran cuando se fue. Sólo un cierto número de estos estados de página guardados se guardan, por lo que si usted hace un montón de otras cosas antes de volver, los datos pueden haber sido descartados; Pero, para un ejemplo importante, si la página mostrada contiene un {{Diálogo/button|echo=1}}, puede hacer clic en el botón de echo para ver qué valores se están pasando y, a continuación, hacer una copia de seguridad para hacer clic en el botón principal sin tener que volver a introducir todos los valores de campo en la página mostrada. (Esto no funcionaría, sin embargo, si el {{Diálogo/button|echo=1}} estaba en una página que se veía directamente en lugar de a través de do/view.)
Una página de diálogo puede requerir al usuario una pregunta de confirmación (Cancelar/OK) antes de ver la página a través del verbo view, a través de la plantilla {{Diálogo/confirm view}}.
Si el destino de una solicitud de visualización está completamente protegido, puede solicitar que se guarde el estado del diálogo solicitante para restauración posterior, o para restaurar un estado de diálogo guardado de esa manera, utilizando los campos especificados mediante {{Diálogo/init}} (ver aquí).
Verbo: edit
editarEl verbo edit modifica o crea una página, basado en una forma mediadora que determina si la operación es permisible y, en caso afirmativo, cuál será el nuevo contenido de la página editada. La página que se va a modificar o crear se denomina por el parámetro de diálogo entrante subject
, y la página mediadora por el parámetro de diálogo entrante form
; estos parámetros de diálogo entrantes deben ser proporcionados por el solicitante.
La operación sólo es permisible si la solicitud entrante satisface los requisitos de autenticación de salida especificados en el formulario como una página independiente (por lo tanto, incluyendo el bloque <noinclude>
pero no el bloque <includeonly>
). Por lo tanto, el formulario debería contener normalmente el bloque noinclude
, {{Diálogo/require origin}} o {{Diálogo/null requirement}}; el permiso para la operación de edición puede ser denegado por la transclusión condicional de {{Diálogo/require origin}} with no parameters (which prohibits authentication regardless of any other conditions transcluded). Sin parámetros (que prohíbe la autenticación independientemente de cualquier otra condición transcluida). La operación también se activa si el estado de la página de destino —existencia y marca de tiempo si existe— es inconsistente con los parámetros de diálogo entrantes local-basetimestamp
y local-creation
, uno de los cuales debe proporcionarse a través de {{Diálogo/init}}.
El nuevo contenido de la página de asunto se determina sustituyendo los parámetros de la plantilla como lo hace el verbo view, interpretando el formulario como si estuviera transcluido en la página del tema (por lo tanto, omitiendo
noinclude
), Interpretar el formulario como si estuviera transcluido en la página del tema (por lo tanto, omitiendo los bloques noincluded
), y la expansión de plantillas. En efecto, la forma computa así el nuevo contenido para el sujeto.
Al finalizar o fallar, el verbo de edición puede redirigir la solicitud de acción entrante a otra parte.
- Al finalizar, se puede proporcionar un resumen de edición personalizado a través del parámetro de diálogo entrante
local-summary
. Si un parámetro de diálogo entrante page
es proporcionado, la solicitud se envía al verbo view; view así recibe los mismos parámetros de diálogo proporcionados para editar, modificados por cualquier {{Diálogo/init}} llamando al formulario. Al completarse en ausencia de un parámetro page
, el usuario simplemente queda en la página de destino.
- Cuando se produce un error porque el formulario no se autentica, puede proporcionarse un mensaje de error personalizado a través del parámetro de diálogo entrante
local-error
. Si el formulario tiene una subpágina totalmente protegida /error
, la solicitud entrante se envía a esa subpágina; Siguiendo el manejo estándar de los parámetros locales, la subpágina puede acceder al mensaje de error personalizado en el parámetro de diálogo entrante reservado INCOMING-LOCAL-ERROR
.
- En otros fallos, un mensaje de error informa al usuario y, si es posible, el usuario se devuelve al estado de diálogo desde el que se realizó la solicitud de edición. Si no se puede restaurar el estado del diálogo anterior, se proporciona una lista de opciones, aconsejando al usuario sobre qué hacer a continuación.
Cuando se especifica un botón con do/view y una forma de mediación fija, la plantilla {{Diálogo/edit}} puede utilizarse en lugar de plantilla genérica {{Diálogo/button}}. La plantilla especializada se encarga de la acción y el verbo, y de los objetos si no se da el parámetro de plantilla form
.
Acción: echo
editar
La acción echo muestra los parámetros de diálogo que se le pasan y los nombres autenticados, si los hay, de las páginas de origen y proxy de la solicitud de acción entrante. Esto puede ser útil para depurar un diálogo, como {{Diálogo/edit|echo=1}} o {{Diálogo/view|echo=1}}; ver arriba.
Secuencias de acción
editar
Se puede configurar un diálogo para realizar una serie de acciones en respuesta a un solo clic de botón. Este poder es estrictamente limitado, y las alternativas deben ser cuidadosamente consideradas antes de recurrir a ella.
Cuando el usuario hace clic manualmente en un botón, se establece un límite superior en la longitud de la secuencia de acción que se puede realizar antes de que se requiera otro clic manual; como este escrito, este límite es inicialmente 10 acciones. Cuando se ve una página, si esta secuencia enlazada es mayor que cero, y la página está debidamente marcada, con un solo botón en la página designada para el uso de la secuencia, ese botón se activa automáticamente y disminuye el límite de longitud de secuencia. Para obtener más información, consulte Wikinoticias:Diálogo/do/doc#Secuencias de acción.
URLs para invocar acciones
editar
Una solicitud de acción se puede codificar como una URL, de modo que la carga de la URL en su navegador envía una solicitud a la acción. La URL consiste en un enlace de página con parámetros de consulta agregados. El enlace de la página puede ser Wikinoticias:Diálogo/do o Wikinoticias:Dialog; usando Wikinoticias:Diálogo/do es más rápido, por lo general alrededor de dos segundos, y puede imitar algunos de los comportamientos de un botón de delegación, a pesar de que Wikinoticias:Dialog cubre algunos casos de bordes no manejados por Wikinoticias:Diálogo/do.
Con la página Wikinoticias:Diálogo/do, el parámetro de consulta verb=
verb es necesario, nombrando el verbo solicitado. Los parámetros de consulta adicionales especifican otros parámetros de diálogo que se pasarán a la acción. No utilice un nombre de parámetro action
, como el software wiki intentaría interpretar esto. Los parámetros de la consulta tienen sufijo a la URL, con un ?
antes del primer parámetro y un &
entre parámetros consecutivos. Por ejemplo:
Alternativamente, puede usar la palabra mágica {{fullurl:
...}}
Para armar un URL como este, si no te importa que esta técnica también pasa un parámetro espurio title=Wikinoticias:Diálogo/do
:
Las URLs de consulta basadas en Wikinoticias:Diálogo/do son "inestables" en el sentido de que si, después de haber visitado un enlace ya sea desde fuera de la wiki o desde una página wiki se ven directamente (más mediante la acción do), uno navega lejos de él y después de nuevo a él, la consulta se convierte en una petición de la nueva acción; Se pierde cualquier dato de diálogo previamente asociado con la vista de página. Por otro lado, cuando estas URLs se utilizan desde una página vista a través de la página Wikinoticias:Diálogo/do con el verbo view, La URL cuando se hace clic se convierte automáticamente en una solicitud de acción de delegación (aunque a la fecha de esta escritura no autentica la solicitud de delegación). Al delegar de esta manera, un parámetro de consulta reservado FIELDS
puede especificar campos en la página para pasar a través de la solicitud de acción de forma similar a un botón (ver aquí).
Con la página Wikinoticias:Dialog, el parámetro de consulta dialog-action=
action es requerido, nombrando la acción solicitada. La pseudo-acción Wikinoticias:Dialog convierte la URL en una solicitud de acción (internamente, en realidad crea un botón que no se delega y hace clic automáticamente en él). Por ejemplo:
Ordinariamente, la solicitud de acción generada no está autenticada. Con la página Wikinoticias:Dialog, especificando un parámetro de consulta dialog-confirm=
non-blank Altera el comportamiento de la url, de manera que en lugar de emitir inmediatamente una solicitud no autenticada, en su lugar presenta un botón para que el usuario haga clic, con los parámetros de diálogo propuestos que se muestran debajo del botón y el botón cuando se hace clic emite una solicitud de acción autenticada (con el origen Wikinoticias:Dialog).
Panel de diagnostico
editar
En un momento dado puede haber varios conjuntos de datos de diálogo almacenados en su cliente local, de modo que si navega hacia atrás (no demasiado lejos) a una página de diálogo, los datos que estaban allí cuando se fue todavía estarán allí cuando usted volver. Un panel de diagnostico se proporciona para permitirle navegar a través del contenido de todos estos conjuntos de datos. El panel también tiene un modo experto que permite el acceso a metadatos internos adicionales sobre esos conjuntos de datos y, en algunos casos, permite el acceso a conjuntos tentativos de datos de diálogo que no han sido totalmente comprometidos con el sistema central.
Agregar nuevas acciones
editar
Los administradores pueden crear nuevas acciones. Esto es más probable cuando se desarrolla una actualización para una acción existente (casi con toda seguridad la acción do). Las facilidades están destinadas a proporcionar un conjunto pequeño y potente de acciones altamente versátiles, cuidadosamente limitadas por controles de seguridad tales como páginas totalmente protegidas y autenticaciones de solicitudes de acción; Aquellos que crean nuevas acciones son fuertemente alentados a mantener esta estrategia.
Una acción se define por dos páginas.
- La cara pública de la acción es la página
Wikinoticias:Diálogo/
action, donde action es el nombre utilizado para especificar la acción a {{Diálogo/button}}. Esta página debe contener una llamada a {{Diálogo/action page}}, el contenido en un elemento HTML DIV que permite el reemplazo conveniente del mensaje 'Espera un momento' cuando se invoca la acción y se categoriza en Categoría:Acciones de diálogo con una clave de clasificación adecuada. Para un ejemplo canónico, véase Wikinoticias:Diálogo/do.
- La plantilla {{Diálogo/action page}} en la página de acción proporciona un enlace para crear una página de documentación de acción, para describir el comportamiento de la acción.
- La implementación de JavaScript del comportamiento de la acción es la página
MediaWiki:Common.js/Wikinoticias:Diálogo/
action. (El proyecto está configurado en MediaWiki:Common.js de modo que al cargar cualquier página page, el JavaScript MediaWiki:Common.js/
page es ejecutado.) El esqueleto básico del JavaScript para una acción, y las instrucciones para invocar varias opciones de diálogo dentro del JavaScript, se proporcionan en MediaWiki talk:Diálogo/receive. Los administradores que se comprometen a codificar nuevas acciones deberían estudiar el código JavaScript de las acciones existentes.
El desarrollo de una nueva acción debe hacerse en el espacio de usuarios. Los usuarios comunes no pueden invocar acciones en el espacio de usuario, pero los administradores pueden. Si un botón especifica una página de acción en el espacio de usuario, ningún prefijo Wikinoticias:Diálogo/
es añadido, y solo los administradores tienen permiso para hacer clic en el botón (los no administradores que lo intenten, obtendrán un mensaje de error). Cada acción de diálogo puede tener un menú de páginas de prueba, que pueden ser utilizadas por los administradores para probar una alternativa a la acción en el espacio de usuario. Una vez que la acción está lista para ser desplegada, puede ser recreada en el espacio del proyecto.