È disponibile il rilascio del progetto lsFusion 6.2, che sviluppa una piattaforma dichiarativa per la creazione di applicazioni aziendali e web. La piattaforma è adatta per sviluppare applicazioni aziendali e contabili e può essere utilizzata come un'alternativa aperta e gratuita alla piattaforma 1C. Il codice del progetto è scritto in Java e distribuito con licenza LGPLv3. La soluzione ERP standard per piccole e medie imprese, MyCompany, che utilizza lsFusion, è distribuita con licenza Apache 2.0.
La piattaforma si basa sulla paradigma della programmazione combinatoria (function-level), che differenzia in modo significativo lsFusion dalle piattaforme esistenti sul mercato (come SAP, Dynamics AX, 1C, .Net). All'interno si utilizzano anche attivamente programmazione basata su eventi, reattiva e orientata agli oggetti.
Le principali modifiche nella versione 6.2:
- Per gli operatori SEEK e VALUE sono state aggiunte le parole chiave alternative ACTIVATE e ACTIVE.
- La libreria JasperReports è stata aggiornata alla versione 6.21.5, che introduce il supporto per l'esportazione in Excel di report con immagini in formato WebP.
- Il nome del report PDF esportato nel client web corrisponde ora al nome del modulo invece di essere fisso come lsfreport.pdf.
- Nella sezione DESIGN per le colonne della tabella è stato aggiunto l'attributo footerClass per la stilizzazione CSS delle celle del footer, in analogia con captionClass.
- Nell'operatore EXTERNAL HTTP sono supportati indirizzi con caratteri non-ASCII.
- Per i dati XML nell'EXTERNAL HTTP POST è stato utilizzato il corretto MIME type "application/xml" anziché il superato "text/xml".
- Quando si opera tramite proxy Nginx, l'indirizzo del client reale è correttamente determinato nella proprietà remoteAddress.
- Ripristinato il funzionamento delle formule intervallari per i tipi TIME, DATETIME e ZDATETIME.
- Risolti i crash durante l'uso di MATERIALIZED con la proprietà costruita dall'operatore JSON.
- Le proprietà materializzate, che dipendono dai nuovi oggetti statici creati, vengono aggiornate correttamente durante la sincronizzazione della struttura del database.
- L'assegnazione di NULL alle proprietà LOCAL ora rimuove correttamente la registrazione.
- Lo scheduler delle attività gestisce in modo più accurato l'interruzione dei thread e non perde le registrazioni di log per i task con un timeout specificato.
- Nella cache LRU vengono ignorati gli eventi obsoleti di mancanza di memoria.
Fonte: opennet.ru
