Upgrade System do Elgg

Boa galera.

Estou com dúvidas de como funciona o sistema de ugrade do Elgg. Já procurei no site, no Google, aqui na comunidade e os resultados sempre são relacionados com a atualização de uma versão do Elgg para outra.

Eu percebi que alguns plugins tem um diretório upgrade e uns arquivos com timestamp como nome. Eu queria saber onde há documentação sobre isso, de você colocar arquivos de upgrade no plugin que você desenvolveu, e como funciona esse sistema, se é automático quando executa o upgrade, se é necessário registrar um event_handler de upgrade.

Alguém tem um link ou informações sobre isso?!
Desde já agradeço!

Abraços 

  • Diga Luciano,

    O plugin group tem suporte a upgrade e pra isso ele registar um event_handler.

    elgg_register_event_handler('upgrade', 'system', 'groups_run_upgrades');

    E usar exatamente esse código:

    /**
    * Process upgrades for the groups plugin
    */
    function groups_run_upgrades() {
        $path = elgg_get_plugins_path() . 'groups/upgrades/';
        $files = elgg_get_upgrade_files($path);
        foreach ($files as $file) {
            include "$path{$file}";
        }

    Ele é responsável para rodar somente os scripts necessários. 

  • Logo você respondeu aqui?! xD

    Eu acabei descobrindo isso depois... e consegui fazer aqui. Mas em cada arquivo tem que ter a lógica implementada para executar ou não o upgrade, pelo que eu entendi. De qualquer forma, não fiz desta forma, implementei direto na função e verifico se há a necessidade de executar ou não. Vou migrar ainda para um arquivo e testar, porque para debugar era mais fácil ser direto na função.

    Valeu!

Elgg Brasil

Elgg Brasil

Comunidade para desenvolvedores brasileiros usuários do Elgg.