elgg

=Getting Started With Development [] =

Data model
- Todo en elgg son [|entities] - Hay una clase base llamada [|ElggEntity] Ejemplo: la clase [|ElggUser] extiende de ElggEntity

- Hay tres class helper que ayudan a añadir nueva funcionalidad a las entidades:  una ElggAnnotation. - Esta clases se encuentran en /engine/lib.
 * 1) La clase [|ElggRelationship] nos ayuda a a hora de realizar las conexiones entre entities. Ejemplo: un habtante puede hacerse "amiga" de otro habitante, un usuario puede unirse a un grupo, una foto puede etiquetarse para indicar que hay un usuario en dicah foto.
 * 2) [|ElggMetadata]  y [|ElggAnnotation] nos ayuda a a hora de meterle metadatos a las entidades. Ejemplo: cuando un usuaro deja un comentario en una foto es guardado como

Actions
- Es el código que se ejecuta cuando una habitante hace algo. Por ejemplo: cuando un usuario se logea, la accion de //login// es ejecutada, cuando una habitante hace un comentario, se llama a la acción <span style="background-color: #ffffff; font-family: Arial,Helvetica,Verdana,sans-serif;">//add comment//. Normalmente las acciones son generadas cuando una habitante sube un formulario. <span style="background-color: #ffffff; font-family: Arial,Helvetica,Verdana,sans-serif;">- Más información en <span style="background-color: #ffffff; color: #00487d; font-family: Arial,Helvetica,Verdana,sans-serif;">[|action reference]

- El codigo fuente se encuentra dentro del core en /actions

Elggś Event System
- Elgg tiene un <span style="background-color: #ffffff; color: #00487d; font-family: Arial,Helvetica,Verdana,sans-serif; text-decoration: none;">[|event system] (eventos del sistema) con dos tipos de handlers que puedes manejar.
 * 1) //Elgg events://
 * 2) Se activan cuando se crea, modifica, borra algo. o cuando el framework de elgg se esta cargando.
 * 3) Cada evento se determina por un nombre de evento (event name) y un tipo de evento: <span style="background-color: #ffffff; font-family: Arial,Helvetica,Verdana,sans-serif;">system, user, object, relationship name, annotation, group
 * 4) <span style="background-color: #ffffff; font-family: Arial,Helvetica,Verdana,sans-serif;">Hay cuatro tipos de eventos especiales: boot, system, pagesetup, shutdown.
 * 5) <span style="background-color: #ffffff; font-family: Arial,Helvetica,Verdana,sans-serif;">Mas información en <span style="background-color: #ffffff; color: #00487d; font-family: Arial,Helvetica,Verdana,sans-serif;">[|event reference]
 * 6) Plugin hooks:
 * 7) Son similares a los elgg events.
 * 8) Puedes registrar handlers (manejadores) que se ejecuten cuando ocurra el evento que definas.
 * 9) Más información en http://docs.elgg.org/wiki/PluginHook

Output
- Elgg se separa la lógica del diseño (presentación) - Estas templates se llaman Views y se encuentras en /views