• 1
  • 8 RepliesReplies
  • 8421 ReadTimes Read
  • 16 PointsPoints

Topic: Modification.xml - Explicacion

Usuario: 4kstore
Rango: Moderador Global
Mensajes: 4916
Points: 8111
Mi web: http://www.smfsimple.com
Perfil: View Profile
Pais:
ar
Modification.xml - Explicacion
January 20, 2013 - 08:11 20:11
Seguimos con el tema del armado del paquete para la instalación de un mod, ahora paso a explicar lo que debería tener el archivo modification.xml que es el encargado de leer las modificaciones que hay que hacer en los archivos de SMF originales, agregar, reemplazar, quitar etc etc...

Sugerencia: Leer y entender a la perfección el articulo sobre el archivo package-info.xml



No es obligatorio que se llame modification.xml pero por lo general es una buena practica llamarlos de esta forma o install.xml, como vimos en el manual del archivo package.xml el archivo es llamado: <modification>modifications.xml</modification> donde podría ponerse cualquier nombre siempre y cuando se respeten mutuamente.


Algunas definiciones que debemos conocer antes de ver la estructura son:

element: Instrucción para decirle al manejador de paquetes que hay que hacer, Ejemplo: <install></install>
attribute (propiedad): Un valor adicional para describir un elemento
inline: Bodigo o porción de código que se escribe en el mismo archivo en vez de ser llamado desde otro fuera del xml
file: El archivo o la dirección de este archivo a ser usado en vez utilizar código "inline".
location (path):  La dirección del archivo o carpeta al cual se hace referencia.
ignore: Usado para ignorar algún tipo de error que aparezca
skip: saltea la operación
fatal: detiene toda la modificación y devuelve un error


A lo largo de la creación del archivo, SMF nos proporciona variables que nos ayudaran a ahorrar código y hacer el paquete lo mas general posible (esto nos permitirá mejor funcionamiento ante diversas situaciones).
Las variables disponibles son:

$sourcedir: El directorio que contiene los archivos fuentes (generalmente es la carpeta /Sources)
$boarddir: El directorio donde encontramos el archivo index.php
$avatardir: El directorio donde encontramos los avatares (generalmente es la carpeta /avatars)
$themedir: El directorio donde encontramos los distintos themes (generalmente es la carpeta /Themes)
$imagesdir: El directorio de imágenes de cada tema  (generalmente es la carpeta /Themes/{temaelegido}/images)
$languagedir: El directorio donde esta la carpeta de lenguajes (generalmente es la carpeta /Themes/default/languages)
$smileysdir: El directorio de los smileys (generalmente es la carpeta /Smileys)


La estructura de este archivo xml seria algo como esto:
  • <modification></modification>
  • <id></id>
    • Contiene el id del paquete, debe respetar el siguiente formato: [usuario]:[nombre_del_paquete]. Por ejemplo: 4kstore:Nuevo_Mod
  • <version></version>
    • La versión actual del paquete, es recomendable utilizar números y que vayan ascendiendo cuando lanzamos nuevas versiones.
  • <file></file>
    • El archivo que vamos a modificar. Incluiremos aca todas las operaciones que realizaremos sobre este archivo
    • Atributos:
      • name: El nombre y el path del archivo a modificar
      • error: Que haremos si el archivo no se puede modificar; "ignore" "fatal" o "skip"; Usar "ignore" para crear un nuevo archivo; es opción; por defecto "fatal"
    • Elementos:
      • <operation></operation>
        • La operación que va a ser realizado sobre el archivo
        • Atributos:
          • error: Que haremos si la operación no se puede realizar; "ignore" "fatal" o "required"; usar "required" si esta operación debe fallar is requerida; por defecto: "fatal"; es opcional
          • Elementos:
            • <search></search> o <search /> (solamente para usar con: position="end")
              • El codigo que vamos a buscar para modificar
              • Atributos:
                • position: La posición donde quedara el código que buscamos luego de hacer las modificaciones: "before" (para poner el código buscado antes de lo que agregamos), "after" (para poner el código buscado después de lo que agregamos), o "replace" (reemplaza lo que buscamos por lo que agregamos); atributo obligatorio
                • whitespace: Si se ignoran los espacios en blanco o no: "exact" (por defecto) o "loose" (los ignora); es opcional; por defecto: exact
                • regexp: Si la búsqueda es una expresión regular o no. "true" o "false"; es opcional; por defecto: false
            • <add></add>
              • El codigo que vamos a agregar

Solo tienen que tener cuidado con el after y el before de la modificación y entender que no es donde pondremos nuestro código sino donde quedara lo que buscamos.. si pensamos en donde ponemos el código debemos poner after para agregar antes y before para agregar después.


Creo que eso es todo, verán que la cabezera es muy parecida a lo que tiene el package-info.xml con algunos elementos menos.
Como siempre, vean ejemplos y pregunten si tienen alguna duda.

Abrazo alumnos!

You do not have permission to give points
point 16 Points

Users who gave points in this topic » -Lük- (6 Pts) » Lean (10 Pts) 

Usuario: -Lük-
Rango: Excelente User
Mensajes: 13
Points: 68
Mi web: http://www.animefall.com.ar
Perfil: View Profile
Pais:
ar
Re:Modification.xml - Explicacion
Reply #1 January 20, 2013 - 10:27 22:27
Presente. A leer se ha dicho!
:)

Usuario: Lean
Rango: Fundador
Mensajes: 6782
Points: 236
Perfil: View Profile
Pais:
ar
Re:Modification.xml - Explicacion
Reply #2 January 20, 2013 - 10:53 22:53
Excelemte explicacion como siempre! +10

Usuario: hsocapitolio
Rango: Nuevo Usuario
Mensajes: 47
Points: 3
Mi web: http://www.descargadinero.com/
Perfil: View Profile
Re:Modification.xml - Explicacion
Reply #3 January 21, 2013 - 12:48 00:48
Adelante con las explicaciones, necsito entener mucho mejor el package, pero lo estoy releyendo para eso mismo, muy bien explicado y claro seguir aprendiendo

Usuario: Adr1
Rango: Nuevo Usuario
Mensajes: 119
Points: 9
Mi web: http://rainbow6.es
Perfil: View Profile
Pais:
es
Re:Modification.xml - Explicacion
Reply #4 January 21, 2013 - 10:11 10:11
Presente!

Usuario: falconmaster
Rango: Excelente User
Mensajes: 22
Points: 53
Mi web: http://www.zonadaxion.com
Perfil: View Profile
Pais:
mx
Re:Modification.xml - Explicacion
Reply #5 January 21, 2013 - 12:09 12:09
Excelente, presente

Usuario: 4kstore
Rango: Moderador Global
Mensajes: 4916
Points: 8111
Mi web: http://www.smfsimple.com
Perfil: View Profile
Pais:
ar
Re:Modification.xml - Explicacion
Reply #6 January 21, 2013 - 04:48 16:48
Gracias, espero que se comprenda todo.
Saludos

Usuario: Crisss.dj
Rango: Nuevo Usuario
Mensajes: 57
Points: 7
Mi web: http://paratidj.eshost.es
Perfil: View Profile
Pais:
ec
Re:Modification.xml - Explicacion
Reply #7 January 22, 2013 - 11:06 11:06
muy bueno!! presente jejejjeje he visto algunos ejemplos para entenderlo mejor a practicarlo gracias por esa buena explicacion... (y)

Usuario: Arnau
Rango: Nuevo Usuario
Mensajes: 13
Points: 2
Mi web: http://hibboxforo.com
Perfil: View Profile
Pais:
es
Re:Modification.xml - Explicacion
Reply #8 January 22, 2013 - 11:35 11:35
Presente!
De momento no hay ninguna duda por lo bien que esta explicado, si sale alguna ya comentare.

 

TAGS



Subject Replies
Tutoriales y Tips SMF Started by 4kstore 6 Replies
14030 Views
Blog SMFSimple Started by 4kstore 1 Replies
10399 Views
Mods SMFSimple Started by Lean 27 Replies
18773 Views
Mods SMFSimple Started by 4kstore 49 Replies
42299 Views
Mods SMFSimple Started by Lambo 10 Replies
11795 Views
top

Smfsimple.com es un sitio destinado a brindar un servicio de soporte y herramientas para foros realizados con el sistema de foros gratuito simplemachines.org. Contamos con un selecto equipo de desarrolladores y conocedores del sistema, sus foros estaran en buenas manos.
This site is not affiliated with or endorsed by Simple Machines