Your comments

I also have had this problem recently, and solved it (to some extent) via Javascript for intra-group sorting. The bibbase groups (first-level groups) have html class ".bibbase_group_body." If we query them using jQuery, we'll be able to get a list of paper entries in each group, and sort them using a custom Javascript function.


In an example, this script sorts entries within a group by year, then by position of my last name:

    <script>
        var lastname = "nguyen";
        $('.bibbase_group_body').each(function() {
            // Get the current element via jQuery
            var context = $(this); 
            // Extract and remove list of all children div
            var listitems = context.children('div').get();
            // Sort items by year
            listitems.sort(function(a, b) {
                var a_year = parseInt(a.id.substr(a.id.length - 4));
                var a_pos = parseInt(a.id.indexOf(lastname));
                var b_year = parseInt(b.id.substr(b.id.length - 4));
                var b_pos = parseInt(b.id.indexOf(lastname));
                // Compare the 2 keys, reverse the result to descend
                if (a_year < b_year) return 1;
                if (a_year > b_year) return -1;
                // Equal year, compare position of lastname index
                if (a_pos < b_pos) return -1;
                if (a_pos > b_pos) return 1;
                // All else equal, compare id strings
                return b.id.toUpperCase().localeCompare(a.id.toUpperCase());
            });
            // Add back list of sorted children
            $.each(listitems, function(index, item) {
               context.append(item); 
            });
        });
    </script>

This script should be added after Bibbase and jQuery are loaded (probably at the end of <body> tag). Results can be seen here: http://www.dnguyen.io/publications/. Note that this script only runs once at the first time the page loads, so if you use "Group by" after the page loads, sorted order will be lost, and you will need to refresh the page to get it back.


Hope this helps!