24 de abril de 2011

Integração dos erros com o netbeans

Em ambiente dev, quando ocorre um erro, o symfony detalha todo o percurso realizado até à obtenção do mesmo, indicado os ficheiros e linhas executadas. É possível tornar os ficheiros clicáveis e abrirem diretamente no netbeans.

1) configurar o firefox para entender o protocolo netbeans:
  • digitar na barra de endereços about:config
  • aceitar o aviso de alerta e continuar
  • clicar com o lado direito e criar um novo valor do tipo boleano
  • colocar o nome network.protocol-handler.expose.netbeans
  • atribuir o valor false
  • reiniciar o firefox
2) criar script bash que vai interpretar o endereço do ficheiro e mapear para o netbeans, por exemplo, em ~/bin/file_link_format.sh

#!/bin/bash
url=$1
file=${url#*\/\/}
file=${file%?line=*}
line=${url#*line=}
if [ "x$line" != "x" ]; then
line=:$line
fi
/usr/local/netbeans-6.9/bin/netbeans --jdkhome /usr/java/default/ --open $file$line

Acertar na última linha o caminho para o executável do netbeans e a localização do java.

3) Configurar o projeto symfony para usar um apontar para os ficheiros, em settings.yml, no ambiente dev:
dev:
.settings:
file_link_format: netbeans://%f?line=%l

No ambiente de desenvolvimento, na barra de informação, no painel view, clicar num ficheiro, surgirá uma janela do firefox alertando que desconhece o protocolo netbeans, aponta para o executável criado em 2) e já está, abre o netbeans no ficheiro e linha específicos.

Informação testada em netbeans 6.9 e firefox 3.6.16, com o symfony 1.4. Baseado no artigo http://www.symfony.it/articoli/223/link-diretti-a-neatbeans-con-file-link-format/

18 de abril de 2011

Uma alternativa para a administração

Um plugin para modificar e ultrapassar algumas limitações do generate-admin nativo do symfony: http://www.symfony-project.org/plugins/sfHadoriThemePlugin

Pode ser testado em http://brentertainment.com/2011/04/13/hadori-symfonys-brand-new-admin-generator/

Acho que ainda precisa de algumas afinações de layout, mas não deixa de ser interessa a implementação dos filtros e a exportação em csv.

5 de abril de 2011

Hint to avoid memory exhausted error (symfony + doctrine1.2)

Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 71 bytes) in /blablabla/lib/vendor/symfony/lib/log/sfVarLogger.class.php on line 170


The problem is that the doctrine profiler is enabled for sfBaseTask, as sf_debug is set to true.

To disable the profiler, you have to create a new environment in config/databases.yml:
task:
  symfony:
      param:
        profiler: false

all:
  symfony:
    class: sfDoctrineDatabase
      param:
        dsn:   ....
        username:   ...
        password:   ...


From: http://www.nacho-martin.com/hint-to-avoid-memory-exhausted-error-symfony-doctrine1-2