ser usado. Atualmente esse valor pode ser: 2.5 e 3.0O atributo "method" define o tipo de instalacao:install - Aborta a instalacao caso ja exista um diretorio do componente. Usado para componentes que devem ser instalados somente uma vez e nao podem ser sobre-escritos posteriormente.upgrade - Criar uma instalacao nova ou atualizacao a instalacao existente.Agora vamos aos metadados, sao dados usados para exibir informacoes sobre seu componente, como nome, autor, licenca, etc. Veja:<name>com_mapmarker</name> <!-- Nome do componente --><version>0.0.1</version><!-- Versao do componente. Muito importante ao usar o "method" upgrade. --><description>Gerenciador de localizacoes</description><!-- Descricao do componente --><author>Everaldo Reis</author><!-- Criador do componente --><authorEmail>contato@everaldoreis.com.br</authorEmail><!-- E-mail do criador --><authorUrl>http://everaldoreis.com.br</authorUrl><!-- URL do site do criador --><creationDate>16/12/2014</creationDate><!-- Data de criacao do componente --><copyright>Todos os direitos reservados</copyright><!-- Direitos autorais --><license>GPLv2</license><!-- Licenca de uso -->Vamos definir agora a estrutura de arquivos e diretorios que devem ser copiados para o servidor durante a instalacao do componente:<files folder="site"> <filename>index.html</filename> <filename>mapmarker.php</filename> <filename>model.php</filename> <filename>view.php</filename> <filename>controller.php</filename> <folder>models</folder> <folder>views</folder> <folder>controllers</folder> <folder>helpers</folder> <folder>language</folder> <folder>media</folder> <folder>js</folder> <folder>css</folder></files>Explicando... o atributo "site" na tag "files" indica que estes arquivos serao usados no sie, na parte publica visualizada pelos visitantes. Note que quando for um arquivo usamos <filename> e quando for diretorios colocamos <folder>, vou explicar a importancia de cada arquivo agora.[padrao] index.html - Medida de prevencao contra "directory listing"[padrao] mapmarker.php - Arquivo de boot do componente[personalizado] model.php - Esse arquivo eu costumo usar como uma classe Abstrata para reunir metodos comuns a todos os models da aplicacao, como por exemplo checagem de parametros antes de salvar os dados, ou log de acoes, etc.[personalizado] view.php - Mesmo motivo do model.php[personalizado] controller.php - Tambem usado como classe Abstrata.[padrao] models - Diretorios onde ficam os modelos.[padrao] views - Aqui colocamos nossas "views", ou seja, arquivos que geram o HTML.[padrao] controllers - A camada de controle da aplicacao, responsavel por verificar a requisicao e entrega a view correta.[padrao] helpers - Helpers contendo metodos estaticos para ajudar em algumas tarefas.[padrao] language - Diretorio onde ficam os idiomas usados para traduzir os textos do componente de acordo com a linguagem escolhida (em sistemas multi-idiomas)[padrao] media - Aqui guardamos nossas imagens, videos, pdfs, etc. Qualquer arquivo de midia.[padrao] js - Arquivos Javascript.[padrao] css - Nossas folhas de estilo.Esses sao os arquivos que usaremos para criar a parte visivel ao publico e que podera ser linkada atraves de menus, como veremos no decorrer do desenvolvimento.Vamos agora a marcacao para definir como sera a estrutura na "administration":<administration> <menu>Map Marker</menu> <submenu> <menu view="markers">Markers</menu> </submenu> <files folder="admin"> <filename>index.html</filename> <filename>mapmarker.php</filename> <filename>model.php</filename> <filename>view.php</filename> <filename>controller.php</filename> <filename>config.xml</filename> <filename>access.xml</filename> <folder>models</folder> <folder>views</folder> <folder>controllers</folder> <folder>tables</folder> <folder>helpers</folder> <folder>language</folder> <folder>media</folder> <folder>js</folder> <folder>css</folder> <folder>sql</folder> </files></administration>A "administration" possui uma estrutura um pouco diferente do front do site, vou explicar:<menu>Map Marker</menu><!-- Menu a ser exibido como submenu de "Components" --><submenu> - Submenu do submenu "Map Markers" adicionado a "Components"<menu view="markers"> - Item de submenu. "view" e a view correspondente ao menu.Os arquivos a serem copiados seguem a mesma estrutura do frontend, apenas adicionando mais alguns arquivos, que sao:config.xml - Arquivos para gerar parametros de configuracao do componente.access.xml - Onde podemos definir regras de acesso ao componente baseado em "roles".E alguns outros diretorios:tables - Arquivos para