January 2024
Welcome to the new minor release of ediarum.WEB. To facilitate the use of external data a JSON file support is added. Some search functions were changed to improve the performances. Also, this version contains some bugfixes and minor changes for the objects and parts endpoints, and the frontend library.
JSON file support
A json file API support is added. Instead of a xml collection a JSON file can be used to define an object
in the appconf.xml
. For this the cache routine now supports also these json files. A routine to read the JSON tree with the definitions in the
appconf.xml
is added.
For more information see APPCONF.md and also the property definitions and JSON property.
Search
The performance of the search was improved.
- Update
edwebapi:get-object-list-with-search
for better performance- With
kwic-width=0
no individual search results are shown.
- With
- Add kwic results after filtering for better performance
- Improve performance of object-list-search
- The use of util:eval has far better performance than util:eval-inline.
- A tested bugfix ("Fix double matches of search hits due to multiple indexes") switched to util:eval-inline to avoid double search-results. That change also moved from one
[ft:query(.//$search-xpath or .//$seach-xpath ..., $query)]
to multiple[ft:query(...) or ft:query() ...]
. This was revised for better performance.
Also some bugfixes and minor improvements were made.
- The search results and XSLT views of objects can be combined.
- GET request with
search
andview
parameters.
- GET request with
- Some minor bugfixes in the search were made.
Objects and parts endpoints
- Add filter type
string
- The values of properties of the type
string
aren't listed as complete value list, but are shown for the single objects and can be used for filtering.
- The values of properties of the type
- Remove duplicate code from
edwebapi:get-object-list
- Add optional xml to json output
- With the parameter
show=full
the object will be added to the JSON output Warning: due to large JSON-output, this can lead to memory problems.
- With the parameter
- Fix part recognition parts without prefix weren't recognised.
Minor improvements
- Remove relation filters from index
- Update included jquery to version 3.7.0.
- Allow page-size
ps
as frontend parameter to change the number of shown results per page - Add
search
andsearch-type
to frontend parameters for navigation. So, they are preserved during filter navigation. - Add parsing of html labels for
add-detail-link
in the frontend - Use
local:load()
instead ofedwebcontroller:api-get
("/api") to reduce api calls - Avoid to load all objects in load-relations functions for better memory use
- Improve API calls from frontend
- Add new function
edwebapi:get-by-id
to find a object by id - Avoid loading of all object in
edweb:add-detail-link