openxava
Blog

September 18, 2024

XavaPro 7.4 released


XavaPro 7.4 has the next new features:

  • Disable list customization for a selected module by role with a single click from the roles module. 
  • 'Allow several sessions per user' in Configuration to disable one session per user policy of v7.3.
  • Actions for references and collections are shown by means of a popup menu in mobile UI.
  • All actions available in the desktop UI for collections are available in the mobile UI too. 
  • Title inside frame in references and collections in mobile UI to save space.
  • It's possible to write and plug your own LDAP authentication custom logic for your application. 
  • New Collection.deleteSelected action recognized in fine-grained security for roles.
  • New Collection.deleteSelected action not available if not rights for the collection entity default module.       
  • Works with OpenXava 7.4.
Learn more about XavaPro

Disable list customization

OpenXava allows users to customize the list to their liking by adding, removing, or moving columns. Of course, XavaPro has never allowed users to add properties to which they do not have access according to the XavaPro permission settings. Additionally, OpenXava has always allowed this feature to be disabled globally (for all modules and users) by setting customizeList=false in xava.properties. However, this is not sufficient when certain users should not have the ability to customize the list at all, while others should. For this reason, since version 7.4, it is possible to disable the ability to customize the list for users of a specific role. 

To disable list customization, go to the roles module, choose a role, and from there select a module. This will display the module rights configuration dialog for a role, which now includes a checkbox labeled No list customization. Check it to disable list customization for that module, for users of that role:

Allowing several sessions by user configurable

There is a new option Allow multiple sessions per user in the configuration module that allows the same username to be used by different people from different machines/browsers at the same time:

This allows to deactivate a feature introduced in v7.3 that made it so that when identifying with a username if that user had a session started from another machine or browser, that session would be cancelled, forcing that a same user could only be identified once at the same time.

Actions with popup menu in mobile

We have improved the way actions for references and collections are presented in the mobile interface. Now, a menu with three dots is used to bring up a pop-up menu with all the actions. This allows us to have all the available actions for collections on mobile, the same ones shown in the desktop version, while maintaining a simple and manageable interface. This is an example of a product collection:
 



Notice that now the title of the reference or collection ("Products" in this case) is inside the frame, unlike before when it was outside, saving space in the interface.

Custom authentication code for LDAP

It is now possible to define your own user authentication logic against your LDAP server without needing to edit the XavaPro code (previously, it was necessary to edit User.java). To do this, you need to create a class that implements the ILDAPAuthenticatorProvider interface. Sometimes the default logic that XavaPro uses to authenticate against the LDAP server is not sufficient; you may want to authenticate against multiple LDAP servers, against a special LDAP server that requires special code, etc. In these cases, you can define how XavaPro authenticates users against LDAP in your application by extending ProLDAPAuthenticatorProvider, like this:

package com.mycompany.myapp.impl;

import java.util.*;
import javax.naming.*;
import javax.naming.directory.*;
import org.openxava.util.*;
import com.openxava.naviox.impl.*;

public class MyCustomLDAPAuthenticatorProvider 
    extends ProLDAPAuthenticatorProvider {
    
    public boolean isValidLogin(String user, String password) {
        // Here the code with your logic for accessing LDAP
      
    }
    
}

This authentication logic only applies to users marked with Authenticate with LDAP.
To make your application use the above class for LDAP authentication, you need to add the entry ldapAuthenticatorProviderClass in the naviox.properties file of your project.

Try it yourself

Demo: https://www.openxava.org/xavaprotest (User: demo, Password: demo)

If you want to try the admin features reply to this email asking for the admin password.
If you want to try the mobile features access to above URL using your mobile phone.

To learn more go to the XavaPro page.

If you're an Enterprise customer you will receive an email with the upgraded Enterprise edition.

blog comments powered by Disqus

Español