Статьи

Новые возможности OpenXava улучшают быструю разработку Java

OpenXava — это инструмент для быстрой разработки корпоративных веб-приложений.

В OpenXava вам нужно только написать классы домена на простом Java, чтобы подготовить веб-приложение к работе.

OpenXava 5.4 имеет новый современный  набор иконок , упрощенный интерфейс для диаграмм , окно поиска при добавлении новых столбцов в список, редактор изображений, поддерживаемый в @ElementCollection , и многое другое.

Мы приглашаем вас скачать его и обновить ваши приложения OpenXava. Посмотрите на инструкции по миграции

Новые иконки

Это новый внешний вид OpenXava:

Все современные приложения используют монохромные значки, поэтому теперь ваши приложения OpenXava будут выглядеть более современно. Монохромные значки позволяют использовать цвет, чтобы подчеркнуть важные данные и действия в вашем приложении. Кроме того, эти значки являются масштабируемыми, поэтому, когда пользователь увеличивает масштаб страницы, качество не изменяется.

Чтобы определить значки для ваших собственных действий, вы должны использовать значок вместо изображения, когда вы определяете свое действие в controllers.xml , таким образом:

<action name="delete" mode="detail" confirm="true"
    class="com.mycompany.myapp.actions.MyDeleteAction"
    icon="delete"
    keystroke="Control D"/>

В этом случае вы используете delete в качестве идентификатора для значка. Чтобы увидеть все доступные значки, взгляните на  Material Design Icons .

Конечно, старый атрибут изображения все еще поддерживается, даже больше, если вы все еще предпочитаете старые красочные иконки, вы можете настроить OpenXava для их использования.

Упрощенный интерфейс для диаграмм

Всего три типа диаграмм, без диалогов, свойства Y вверху слева и свойство X внизу справа. Это новый чистый интерфейс для диаграмм:

Окно поиска при добавлении новых столбцов

Мы оптимизировали диалог добавления столбцов, чтобы он работал нормально даже с огромным количеством свойств. Для этого мы установили ограничение в 20 свойств для первого показа в диалоговом окне (хотя пользователь может показывать все по требованию) и добавили поле поиска, чтобы разграничить свойства, отображаемые в реальном времени, просто набрав несколько букв:

Редактор изображений для @ElementCollection

Поэтому теперь вы можете применить стереотип PHOTO к свойству @Embeddable объекта @ElementCollection следующим образом:

@Embeddable
public class CarPhoto {

    @Stereotype("PHOTO")
    private byte [] photo;
    
    @Column(length=50)
    private String description; 

 ...   

}

Чтобы получить такой интерфейс:

Другие улучшения

Мы сделали много улучшений в других областях:

  • Добавлена ​​библиотека для аудита Hibernate Envers.
  • «пустые» и «не пустые» фильтры для списка и коллекций.
  • Режим разделения начинается с первого выбранного объекта, если только вы не выходите из режима детализации. 
  • New textWithSuffixEditor.jsp editor that allows put a suffix label after the field textbox.
  • CSS files in web/xava/editors/style are loaded automatically. 
  • New methods assertNoWarnings() and assertNoInfos() in ModuleTestBase.
  • New useIconsInsteadOfImages property in xava.properties to choose between new monochrome icons or old color images.
  • New resources.xml in WEB-INF for defining resource-ref elements. 
  • Automatically schema update for new projects.
  • Optimal Hibernate connection release mode for new projects.
  • start-manager-hsqldb.bat/.sh no longer need the JAVA_HOME environment variable.
  • Dropped support for Internet Explorer 9 and 10.
  • asm.jar, cglib.jar and ehcache.jar removed from distribution.

Bug Fixes

Though this is not a maintenance version we have done some fixes:

  • Fix: Numbers left aligned in list and collections.
  • Fix: From time to time the user is not redirected to the correct current module.
  • Fix: CSS changes are not automatically refreshed on version upgrade.
  • Fix: Charts style missing inside portals.
  • Fix: Liferay navigation bar shown over dialogs.
  • Fix: setConditionComparators method did not set conditions for collections in ModuleTestBase.