Está disponível o lançamento do projeto lsFusion 6.2, que desenvolve uma plataforma declarativa para o desenvolvimento de aplicativos de negócios e da web. A plataforma é adequada para o desenvolvimento de aplicativos corporativos e de contabilidade e pode ser usada como uma alternativa aberta e gratuita à plataforma 1C. O código do projeto é escrito na linguagem Java e é distribuído sob a licença LGPLv3. A solução ERP padrão para pequenas e médias empresas MyCompany, que utiliza lsFusion, é distribuída sob a licença Apache 2.0.
A base da plataforma é construída sobre a paradigma da programação combinatória (function-level), o que difere significativamente o lsFusion das plataformas existentes no mercado (como SAP, Dynamics AX, 1C, .Net). Além disso, utiliza-se ativamente a programação baseada em eventos, reativa e orientada a objetos.
Principais mudanças na versão 6.2:
- Para os operadores SEEK e VALUE, foram adicionadas as palavras-chave alternativas ACTIVATE e ACTIVE.
- A biblioteca JasperReports foi atualizada para a versão 6.21.5, que agora suporta a exportação para Excel de relatórios com imagens no formato WebP.
- O nome do relatório PDF exportado no cliente web agora corresponde ao nome do formulário em vez do fixo lsfreport.pdf.
- No bloco DESIGN para colunas de tabela, foi adicionado o atributo footerClass para estilização CSS das células do rodapé, assim como captionClass.
- No operador EXTERNAL HTTP, foram suportados endereços com caracteres não-ASCII.
- Para os dados XML no EXTERNAL HTTP POST, foi utilizado o MIME type correto 'application/xml' em vez do obsoleto 'text/xml'.
- Ao trabalhar através do proxy Nginx, o endereço do cliente real é corretamente determinado na propriedade remoteAddress.
- As fórmulas de intervalo para os tipos TIME, DATETIME e ZDATETIME foram restauradas.
- Erros ao usar MATERIALIZED com propriedades construídas pelo operador JSON foram corrigidos.
- As propriedades materializadas, que dependem de novos objetos estáticos, são corretamente atualizadas durante a sincronização da estrutura do banco de dados.
- A atribuição de NULL às propriedades LOCAL agora remove corretamente a entrada.
- O agendador de tarefas lida mais corretamente com a interrupção de threads e não perde registros de log para tarefas com um tempo limite definido.
- No cache LRU, eventos obsoletos de falta de memória são ignorados.
Fonte: opennet.ru
