Anda di halaman 1dari 6

C:\Declaracoes Gravadas RFB\Dirf2012\01614013000113\2011\

Iniciando Desenvolvimento portugues


Contedo

o o o o o o o o

1 Introduo 2 Modelo de Dados 3 Entidades Elgg 4 Aes 5 Sistema de Eventos do Elgg 5.1 Eventos Elgg 5.2 ganchos Plugin 6 Sada 6.1 Views 6,2 nome de exibio 6,3 tipo de Ver 6.4 Substituindo vista 6.5 Estendendo vista 7 JavaScript 8 Internacionalizao 9 Plugins 9,1 estrutura de diretrios Plugin 10 Caching 11 Concluso

Introduo

Elgg um quadro da rede social: em outras palavras, ele fornece a funcionalidade bsica para executar uma rede social. No entanto, uma vez que um quadro pode ser necessrio fazer algum desenvolvimento, a fim de obter a sua rede social sob a forma de trabalho que voc deseja. A boa notcia que Elgg muito extensvel, por isso deve ser fcil de adicionar a funcionalidade desejada atravs de plugins. Esta pgina fornece uma viso geral das informaes necessrias para iniciar o desenvolvimento em Elgg. Se voc quiser pular esta viso e mergulhe a documentao da funcionalidade principal do Elgg pode acessar diretamente o mecanismo de referncia e referncia da API .

Modelo de Dados

Aplicaes web mais dinmicas usar um banco de dados para o backend. Elgg compatvel com verses recentes do MySQL . Elgg projetado de modo que um autor do plugin no precisa criar suas tabelas de banco de dados prprios para garantir a funcionalidade personalizada. Isto porque Elgg um modelo flexvel com base em dados genricos. Isso significa que voc deve digitar a funcionalidade de banco de novo, ou se os novos dados so inseridos de back-end para suportar mltiplos servidores ou requisitos de infra-estrutura, no h necessidade de atualizar seus plugins e cdigo personalizado.

Entidades Elgg

Unidades Elgg baseado em chamadas de dados atmicos entidades . Um usurio uma entidade. Um blog uma entidade. Um grupo uma entidade e assim por diante. H uma classe com base no quadro chamado Elgg ElggEntity .Todas as outras classes estender a entidade de classe. Por exemplo, a classeElggUser classe ElggEntity estende para proporcionar a funcionalidade do utilizador. Alm das diferentes classes de entidade Elgg, trs classes auxiliares que torna mais fcil para adicionar novos recursos. O tipo de ElggRelationship permite que voc rapidamente fazer conexes entre as entidades. Um usurio pode ser um "amigo" de outro usurio. Um usurio pode participar de um grupo. Uma foto pode ser rotulados para indicar que um usurio est na foto. Tudo isso e muito mais pode ser feito com o ElggRelationship classe. Os dois outros tipos de ajuda ( ElggMetadata e ElggAnnotation ) permitem que os desenvolvedores para anexar informaes a uma entidade. Quando voc marcar um blog, o rtulo pode ser armazenado como uma instncia de ElggMetadata. Quando um usurio deixa um comentrio em um lbum de fotos, armazenado como um ElggAnnotation. Na estrutura do arquivo de Elgg, classes PHP descritos acima podem ser encontrados em / motor / lib . Veja tambm:
Modelo de dados diagrama do banco de dados

Aes

Uma ao em Elgg o cdigo que executado quando um usurio faz algo. Quando um usurio faz logon, a ao chamada de login. Quando um usurio envia um comentrio, chamada a ao Adicionar comentrio. Em geral, as aes so chamados quando um usurio envia um formulrio. A ao processa o formulrio, faa as alteraes apropriadas para o banco de dados com base na entrada e encaminha o usurio para uma nova pgina para fornecer feedback atravs de umamensagem do sistema . As aes so chamados atravs de um controlador de ao central. As aces so nominativas com o quadro durante o processo de inicializao do quadro. O controlador central executa algumas verificaes de segurana e, em seguida, chama o arquivo de ao social.

Veja a referncia de ao para obter mais informaes sobre o registro e construo de uma ao. Para pesquisar as aes do ncleo no diretrio / aes .

Sistema Elgg do evento

Elgg tem um sistema de eventos com dois tipos de eventos pode registrar manipuladores que voc para.

Eventos Elgg

Elgg eventos so acionados quando algo criado, atualizado ou excludo, ou quando o quadro Elgg est carregando.Tambm podem ser eventos arbitrrios acionado por qualquer plugin. Cada evento determinada por um nome do evento e um tipo de objeto (usurio, sistema, objeto, nome do relacionamento, anotao, grupo). H quatro eventos especiais: sistema de boot, , que inacessvel para plugins e acionado quando o sistema est carregando suas bibliotecas, sistema, init , que se destina a permitir que plugins para inicializar-se perante qualquer ao chamada ou qualquer coisa atrada para o tela; PageSetup sistema , que chamado geralmente apenas Antes de o contedo HTML comea a ser criado, e desligamento do sistema, que chamado aps a pgina final foi enviado ao usurio. Para se inscrever para um evento, voc define uma funo que recebe o evento, tipo de objeto e do objeto que est sendo feito (se houver) como parmetros e retorna verdadeiro ou falso. Um falso resultado ir parar o evento e manipuladores de eventos Prevenir Qualquer adicional seja chamado. Tambm pode parar no cdigo do ncleo de execuo, por exemplo, pode evitar que sejam apagados de uma entidade.

Veja o evento de referncia para obter detalhes sobre como construir suas funes de manipulador de evento e se inscrever para um evento especial.

Ganchos Plugin
Plugin ganchos so semelhantes aos eventos. Voc pode registrar manipuladores para ser executado quando algo acontece com o plugin ganchos como voc pode com eventos. Eles so diferentes de eventos em algumas formas sutis que so abrangidos no documentao em ganchos de plugins . Assim como os eventos do sistema so fornecidas no quadro Elgg, existem ganchos extenso Muitos ncleo. Um exemplo o cron , que permite que voc execute funcionalidade personalizada em segundo plano em uma base regular (Supondo que o administrador do site definir-se uma crontab no seu servidor). um bom pensamento para desencadear um gancho do plugin em vrios pontos no seu plugin. Por exemplo, um bom lugar em suas aes desde que outro autor do plugin pode querer expandir a sua funcionalidade. Isso permite que outros plugins para adicionar funcionalidades sem modificar seu cdigo.

Sada

Voc deve ter um entendimento bsico agora de modelo Elgg de dados e alguns do controlador de lgica (como eventos e aes). O que no foi mencionado realmente criar cdigo HTML para enviar de volta para o navegador. As tentativas de separar a lgica do sistema Elgg apresentao cdigo de templates usando seu prprio. No vocabulrio Elgg, Esses modelos so chamados de pontos de vista . Voc vai encontrar os pontos de vista sob o ncleo default / views diretrio.

Vistas

Cada viso responsvel pela apresentao Criando uma seo de cdigo a partir de dados de entrada. Por exemplo, o padro objeto / blog em vista Toma como entrada uma entidade de ElggObject blogue subtipo e cria o HTML para exibir o ttulo do blog, texto do blog, tags e comentrios. Cada componente de uma pgina criada por uma viso: a barra de ferramentas, cabealho, duas colunas layout, barra lateral, rodap, e assim por diante so todos os pontos de vista distintos. Qualquer ponto de vista pode chamar outras vistas. Como exemplo, o objeto / blog vista chama a sada / tagsexibio para exibir as marcas que foram anexados ao blog.

Ver nome
Um nome de exibio determinada pelo seu caminho. Por exemplo, o HTML para a barra de ferramentas no topo de uma pgina Elgg criado pela viso page_elements / elgg_topbar e este cdigo est localizado em / views / default / page_elements / elgg_topbar.php . Quando elgg_view ('page_elements /
elgg_topbar') chamado, o quadro Elgg inclui o arquivo PHP mencionado acima. Entrada para o ponto de vista

o cdigo de modo a repassados a matriz $ vars [] .

Ver tipo
Alm pontos de vista, existem viewtypes . O tipo de ViewType Determina o visor. O padro ViewType Gera HTML formatado para um desktop ou laptop navegador. O rss ViewType Cria feeds RSS. Um desenvolvedor mvel define Poderia viewType para criar HTML formatado para dispositivos mveis. O Saami cdigo do controlador executado para coletar os dados para o usurio, ele processado diferente Mas com base no ViewType. Quando voc olha atravs do views / diretrio, voc vai ver subdiretrios como padro, json, e rss. Estes so suportados nativamente pelo viewtypes o quadro. Quando o ViewType rss selecionado eo objeto / blog viso chamado para, o quadro inclui o arquivo rss / object / blog.php. O tipo de diretrio est sempre no caminho do diretrio Antes de O nome da viso: views / {ViewType} / {} viewname php. .

Substituindo views
Plugins ser discutido Este prximo, Mas importante mencionar que eles podem substituir qualquer ponto de vista. Um plugin tem seu diretrio prprios pontos de vista. Se ele tem a ver com o mesmo tipo e nome como uma viso central, o quadro Elgg ir chamar o plugin automaticamente em vez de vista de vista do ncleo. Voc poderia substituir o sistema de templates inteiro, se voc queria este caminho at.

Vistas que se estendem


Haver muitos casos, voc no quando se deseja substituir uma viso, mas adicionar contedo a ela. Talvez voc queira adicionar algum tipo de widget para a barra lateral. Isto pode ser feito por Estendendo uma vista ligando extend_view ().Agora seu cdigo ser includo apresentao aps o cdigo de exibio principal.

Para mais informaes sobre pontos de vista em Elgg, ver os pontos de vista de documentao .

Javascript

Elgg usar o jQuery kit de ferramentas para suportar interfaces de cliente rico. Por padro, o Elgg em cada pgina inclui o ncleo da biblioteca jQuery , a biblioteca jQuery UI , eo plugin do jQuery Form . Algumas pginas tambm incluir oplugin de Flexibilizao jQuery . A biblioteca jQuery UI personalizada inclui STI UI core, 3 Interaes ( arrastvel ,droppable , classificvel ), e um widget ( acordeo ). Voc pode incluir seu cabealho prprio HTML javascript-through pelo Estendendo a metatags . vista (EMBORA Elgg realmente deve adicionar um cabealho javascript pode ser substitudo Essa viso ou estendida)

Internacionalizao

O quadro Elgg fornece um mecanismo para apoio traduo suportar vrios idiomas. Arquivos de traduo so criados para cada lngua "eo quadro vai puxar no texto de sada correta com base no idioma selecionado.

Para mais informaes sobre internacionalizao, consulte a referncia de internacionalizao .

Plugins

O quadro Elgg muito extensvel. Voc pode escrever um plugin para estender ou substituir praticamente qualquer parte da funcionalidade Elgg ncleo. Plugins Interagir com o sistema atravs dos mecanismos descritos anteriormente: eventos, aes e pontos de vista e ainda mais que so mencionados no motor de referncia como notificaes. Um plugin pode ser usado para criar um novo tema, substituindo o ponto de vista CSS e / ou alterar outros pontos de vista. Um plugin pode adicionar funcionalidades significativas ao que fornecido out-of-the-box pelo Elgg (um sistema de calendrio de eventos, por exemplo). Um plugin pode mudar um pedao de Elgg funcionalidades como registro Substituindo o mtodo padro com LDAP. As possibilidades so infinitas realmente.

Estrutura de diretrios Plugin


recomendado que cada diretrio plugin imitar a configurao da estrutura Elgg. Sob o diretrio base do seu plugin, voc deve ter um diretrio aes, um diretrio para as lnguas de internacionalizao para grficos diretrio de imagens de Qualquer Usado pelo plugin, um diretrio de vistas, e talvez um diretrio lib se o plugin depende de bibliotecas externas.Seguindo esta configurao, Elgg ter automaticamente o carregamento de partes do seu plugin sem voc precisar fazer uma coisa. Isto ser discutido Este weitere na documentao do plugin. Para mais informaes sobre plugins de construo, consulte a referncia Desenvolvimento Plugin .

Cache

Alm de uma interface de experimental para Memcache , Elgg Fornece construdo em cache para acelerar a gerao Alguns pgina. Atualmente, existem dois caches: um cache caminho viso e algo chamado SimpleCache para cache de contedo esttico. O cache de caminho viso permite o quadro Elgg ignorar a etapa de caro de digitalizar todos os diretrios vistas. Permite que os desenvolvedores SimpleCache O

cache Raramente ou nunca Pages que a mudana (como css ou javascript) Em vez de dinamicamente Cada gerlos no carregamento da pgina. Ao fazer Plugin Development, importante desativar o cache . A maneira mais fcil de fazer isso agora usar este plugin .

Concluso

Esta foi apenas uma viso rpida do quadro Elgg. Existem muitos tpicos aqui Como mencionado no notificar os usurios, importao e exportao de dados, e expor a funcionalidade de programas externos. Antes de partir para o Desenvolvimento, certifique-se de leitura atravs da viso geral do motor e experimentar um tutorial ou dois. Alm disso, se voc quiser conferir a base de cdigo mais recente Elgg a partir do repositrio Subversion, leia este . Se voc encontrar um bug ou quiser enviar um acessrio parte traseira do ncleo, leia este e este .Como voc tiver perguntas, uma boa idia para verificar a FAQ Desenvolvimento para ver se eles j estiverem respondidas.