Página Inicial do Fórum > Frameworks, APIs e IDE's

O que vc não gosta no WW2?



Criar novo tópico   Responder tópico
  1. Comment Arrow

    Publicado em: 09/04/2009 23:18:44

    Olá,

    Eu preciso montar uma lista de coisas ruims no WW, funcionalidades que podem ser melhoradas ou adicionadas.
    A lista será enviada para o Patrick da Opensymphony, vocês podem ajudar a fazer a lista por favor?

    - O que vcs não gostam no WW?
    - O que o WW poderia melhorar?
    - Que funcionalidades vc gostaria que ver no WW?

    obrigado




  1. ronaldtm
    Posts:2317


    Comment Arrow

    Publicado em: 09/04/2009 23:18:44

    Tem a questão da injeção de parâmetros em cascata. Tipo, se você quer acessar um objeto de negócio a partir da view, você cria um getObjeto(), para obter seus dados e montar o html. Mas, se este objeto já existir (o get retornar alguma coisa) na hora da recepção da requisição (se ele for null, e setado apenas durante a execução da action não tem problema), alguém pode passar uma URL com um parâmetro do tipo &objeto.atrbuto=x e alterar o valor do atributo do objeto. É um equivalente ao SQL injection, só que orientado a objetos...

    Uma feature legal seria um jeito de especificar, *opcionalmente*, quais as propriedades da classe que são parâmetros e quais são objetos para serem expostos aos templates, para a renderização da visualização, talvez usando annotations. Mas isso se for possível fazer isso como um módulo independente, para não comprometer a compatibilidade.
    _________________
    In fact, people who study design methods without also practicing design are almost always frustrated designers who have no sap in them, who have lost, or never had, the urge to shape things. Such a person will never be able to say anything sensible about "how" to shape things either. (Christopher Alexander)




  1. vfpamp
    Posts:6098


    Comment Arrow

    Publicado em: 09/04/2009 23:18:44

    Realmente, essa SQL Injection Orientada a Objetos que o Ronald falou encomoda um bocado. Principalmente se estiver usando os objetos de negócio do Prevayler nas views.


    _________________
    Vitor Pamplona
    http://vitorpamplona.com
    @vitorpamplona


  1. Comment Arrow

    Publicado em: 09/04/2009 23:18:44

    hum.. legal.

    já foi notificado algo similar no JIRA:
    http://jira.opensymphony.com/browse/XW-236;jsessionid=CGDCBHCNOOKK?page=history

    http://jira.opensymphony.com/browse/XW-231




  1. daltoncamargo
    Posts:8899


    Comment Arrow

    Publicado em: 09/04/2009 23:18:44

    Talvez algum módulo "ou conjunto de interceptors" que cuidem da segurança de aplicações, algo como "autenticação e autorização", um módulo talvez ligado ao xwork para que seja criado um sistema mais seguro do que os tradicionais interceptors que testam se a sessão está != null...
    Precisaria elaborar melhor esta questão, mas a minha primeira sugestão seria justamente trabalhar nisso
    Ps: O Acegi seria uma solução a ser usada como espelho, porém algo mais simples e de fácil configuração, bem o oposto do acegi
    _________________
    Sugestão de Livros

    -- --




  1. ronaldtm
    Posts:2317


    Comment Arrow

    Publicado em: 09/04/2009 23:18:44

    é acegi
    _________________
    In fact, people who study design methods without also practicing design are almost always frustrated designers who have no sap in them, who have lost, or never had, the urge to shape things. Such a person will never be able to say anything sensible about "how" to shape things either. (Christopher Alexander)




  1. jack_-_ganzha
    Posts:4191


    Comment Arrow

    Publicado em: 09/04/2009 23:18:44

    Field injection é complicado mesmo, mas se for parar configura-los acho que isso deve algo por action e não por class. Assim, actions apontando para o mesmo metodo poderiam decidir de maneira diferente que campos não podem ser adicionados. Agora, como o WW usa OGNL para realizar esse tipo de operação, talvez eles precisem extender o suporte a OGNL para fazer algumas dessas coisas.

    Uma coisa que sempre me preocupa é a ordem dos interceptors. Lembro que boa parte dos problemas que tive com o WW estava relacionado a ordem dos interceptors, especialmente quando eu lidei com modeldriven. Apesar de achar a abordagem atual boa, talvez isso pudesse ser revisado e especialmente melhor documentado para explicitar a dependencia entre os interceptors, etc. No começo eu tambem tinha problemas de layout com as ui tags, tive que alterar boa parte dos templates para evitar a criação de tabelas. Isso não chega a ser um problema, mas a documentação é pessima nesse ponto.

    Editado: se for usar algum mecanismo de autenticação, melhor se ele puder ser plugado sem muitas broncas. Acho que dá para fazer isso no proprio XWork ou no webwor.properties, basta aplicar algumas restrições no componente que realiza a autenticação. A configuração desse componente vai depender dele proprio e o WW proveria algumas implementações out-of-the-box.

    Alguns interceptors bastante uteis poderiam ser usados tambem, como um para "copiar" os dados da stack para algum contexto (request, session, etc) e facilitar o acesso as propriedades dentro da view.

    valeuz...
    _________________
    Marcos Silva Pereira


  1. Comment Arrow

    Publicado em: 09/04/2009 23:18:44

    daltoncamargo

    Ps: O Acegy seria uma solução a ser usada como espelho, porém algo mais simples e de fácil configuração, bem o oposto do acegy


    certeza!
    Acegi é muito complicado, seria legal ter algo nativo do WW e bem simples.


  1. Comment Arrow

    Publicado em: 09/04/2009 23:18:44

    jack_-_ganzha

    Uma coisa que sempre me preocupa é a ordem dos interceptors. Lembro que boa parte dos problemas que tive com o WW estava relacionado a ordem dos interceptors, especialmente quando eu lidei com modeldriven. Apesar de achar a abordagem atual boa, talvez isso pudesse ser revisado e especialmente melhor documentado para explicitar a dependencia entre os interceptors


    Sim... a ordem é um problema... até pegar o jeito da coisa demora...

    jack_-_ganzha

    Alguns interceptors bastante uteis poderiam ser usados tambem, como um para "copiar" os dados da stack para algum contexto (request, session, etc) e facilitar o acesso as propriedades dentro da view.

    valeuz...



  1. Comment Arrow

    Publicado em: 09/04/2009 23:18:44

    eu não uso java 5 ainda, gostariam de ver que tipo de funcionalidade no WW com java5?




  1. jack_-_ganzha
    Posts:4191


    Comment Arrow

    Publicado em: 09/04/2009 23:18:44

    Ricardo Lecheta
    eu não uso java 5 ainda, gostariam de ver que tipo de funcionalidade no WW com java5?


    Acho que generics ainda não são suportadas. Por exemplo:
    http://forums.opensymphony.com/thread.jspa?messageID=10280

    Seria interessante poder popular coleções tipadas a partir de uma requisição tambem:

    Já precisei fazer isso em um use case "pouco sensato". Como com generics vc pode descobrir que tipo de dado a coleção trata, dava para fazer esse tipo de coisa. Tipar algumas interfaces (como ModelDriven) seria legal tambem. Eu sinceramente não gostaria de anotações para as actions porque, para o WebWork, elas poderiam ficar muito verboragicas.

    Claro que um package-info poderia funcionar como uma alternativa, mas aí, qual seria o ganho em relação a xml? Especialmente, não sei como funcionaria o esquema (muito util) de includes tambem. Alguma ideia?

    valeuz...
    _________________
    Marcos Silva Pereira




  1. jack_-_ganzha
    Posts:4191


    Comment Arrow

    Publicado em: 09/04/2009 23:18:44

    Hum, alguma chance de vermos convenções para facilitar o desenvolvimento, como no rails?

    E ele já redireciona para listUsers.jsp, se estiver em um namespace para /users/list.jsp, sei lá, enfim, uma convenção para agilizar.

    valeuz...
    _________________
    Marcos Silva Pereira


  1. Comment Arrow

    Publicado em: 09/04/2009 23:18:44

    jack_-_ganzha
    Hum, alguma chance de vermos convenções para facilitar o desenvolvimento, como no rails?

    E ele já redireciona para listUsers.jsp, se estiver em um namespace para /users/list.jsp, sei lá, enfim, uma convenção para agilizar.

    valeuz...



    essa foi pra lista , valeu


  1. Comment Arrow

    Publicado em: 09/04/2009 23:18:44

    jack_-_ganzha

    Seria interessante poder popular coleções tipadas a partir de uma requisição tambem:
    Code:


    Se eu entendi bem o que vc disse atualmente isto já é possível.... meio chato mas é. No WW2.1.7 tinha um exemplo: "indexedProperties.jsp".

    Uma vez eu adaptei para uma Collection de pessoas e funcionou..




  1. vfpamp
    Posts:6098


    Comment Arrow

    Publicado em: 09/04/2009 23:18:44



    AI!
    _________________
    Vitor Pamplona
    http://vitorpamplona.com
    @vitorpamplona




  1. lindermann
    Posts:21


    Comment Arrow

    Publicado em: 09/04/2009 23:18:44

    Ricardo, com certeza um melhor suporte ao JasperReports seria bem vindo, coisas simples como a possibilidade de setar qual será o delimitador dos arquivos .csv de vírgula para ponto-e-vírgula. A possibilidade de forçar o download do pdf gerado. A posssibilidade de trabalhar com um Connection...


    _________________
    JavaFree.org




  1. daltoncamargo
    Posts:8899


    Comment Arrow

    Publicado em: 09/04/2009 23:18:44

    vfpamp


    AI!



    O Struts tem as tags do XDoclet que já implementam algo parecido. Apesar da idéia do Marcos ser fantástica, não teríamos grandes novidades para quem está vindo do Struts.



    _________________
    Sugestão de Livros

    -- --


  1. Comment Arrow

    Publicado em: 09/04/2009 23:18:44

    lindermann
    Ricardo, com certeza um melhor suporte ao JasperReports seria bem vindo, coisas simples como a possibilidade de setar qual será o delimitador dos arquivos .csv de vírgula para ponto-e-vírgula. A possibilidade de forçar o download do pdf gerado. A posssibilidade de trabalhar com um Connection...


    Ok. Sobre os delimitadores já tem:
    http://jira.opensymphony.com/browse/WW-812

    Vamos ver o sobre o download

    lembrando que vc pode escrever seu proprio JasperResult, ok?




  1. jack_-_ganzha
    Posts:4191


    Comment Arrow

    Publicado em: 09/04/2009 23:18:44

    vfpamp


    AI!


    Eu citei um exemplo mais completo para vcs verem como nesse caso fica complicado adotar annotations. Mas, acho que para boa parte dos casos, dava para aproveitar valores default e fazer a coisa mais ou menos assim:

    As configurações como stack, global results ficam em um package-info. Bem mais simples, mas, ainda acho verboragico demais.

    valeuz...
    _________________
    Marcos Silva Pereira




  1. jack_-_ganzha
    Posts:4191


    Comment Arrow

    Publicado em: 09/04/2009 23:18:44

    Ricardo Lecheta
    Se eu entendi bem o que vc disse atualmente isto já é possível.... meio chato mas é. No WW2.1.7 tinha um exemplo: "indexedProperties.jsp".

    Uma vez eu adaptei para uma Collection de pessoas e funcionou..


    Hum, para popular a coleção durante o submit? Deve ser meio chato mesmo, só consigo imaginar uma maneira de fazer isso com um interceptor meio que forçando a barra. O exemplo está no download do WW? Senão, onde posso dar uma olhada, Ricardo?

    valeuz...
    _________________
    Marcos Silva Pereira


  1. Comment Arrow

    Publicado em: 09/04/2009 23:18:44

    jack_-_ganzha

    Hum, para popular a coleção durante o submit?



    Isso. O chato é só a sintaxe na view.
    Mas isto funciona sim, como mágica .

    O exemplo que falei tem no webwork-example no 2.1.7.
    Tem algo no wiki sobre isso.
    http://www.opensymphony.com/xwork/wikidocs/Type%20Conversion.html
    http://www.opensymphony.com/xwork/wikidocs/Type%20Conversion%20In%20Collections.html



  1. Comment Arrow

    Publicado em: 09/04/2009 23:18:44

    quanto as taglibs alguma sugestão?




  1. jack_-_ganzha
    Posts:4191


    Comment Arrow

    Publicado em: 09/04/2009 23:18:44

    Ricardo Lecheta
    quanto as taglibs alguma sugestão?


    Sim, uma para paginação. A maioria das aplicações com algum tipo de busca/listagem precisa de paginação dos dados. Seria legal poder usar isso no WW. Pode até integrar alguma já pronta, mas o ideal seria não precisar buscar "fora" um esquema de paginação. Outra coisa interessante seria colocar uma condição na tag iterator mais ou menos assim:

    Assim eu não precisaria fazer coisas do tipo:

    É apenas um pouco de açucar.

    valeuz...
    _________________
    Marcos Silva Pereira


  1. Comment Arrow

    Publicado em: 09/04/2009 23:18:44

    Obrigado Marcos




  1. Relacionados





Novo tópico   Responder tópico     Índice do forum -> Frameworks, APIs e IDE's