yuuvis® RAD Q&A

0 votes
by (480 points)

We have the requirement that it has to be possible to delete certain entries that were added by typing in values in idexfields that are labelled for “auto-complete”.
For example: We have an indexfield that has email addresses in it. So all the email addresses that were added to this indexfield should be available via auto-complete. But some email addresses might be misspelled or obsolete, that’s why we need the option to delete certain entries.

1 Answer

+1 vote
by (19.2k points)

The autocomplete for fields of type string works different from that of fields of type catalog. Catalog values can be checked so that the are no more offered for creating and editing an object. But catalogs can not be expanded by user entries, but in case of string fields new values can be entered by the users and will be used for the suggestions lists
The autocomplete for fields of type string is based on a feature of Elasticsearch. It works by displaying only values that are still used by another object. So if the value is offered in the suggestion list, then the administrative task is to perform a search with this value, and to remove them on these objects.

by (5.4k points)
I would not say "remove" but "correct" values (I know what you mean - after the fields are corrected, the errors are removed, but it can sound differently :) ). Then, elastic autocomplete will have correct data to build correct autocomplete.

@Martin - do you know if elastic uses all data to build autocomplete or only data from active versions? (if it uses all data, then "errors" will persist despite the corrections)
by (19.2k points)
@Bratislav, Elasticsearch does only account values of active versions.
by (480 points)
But this approach is not suitable for our solution. We need to keep the old data or objects as they were added to the system.
For example, an email address or a name is obsolete. These values should not be available anymore in an auto-complete field, but this values should still be on the old objects for data consistency.
Is there a way to achieve this or a way how we can program it our self?
by (19.2k points)
@MSpitzer, this is how this ELasticsearch-feature works. If you need more sophisticated functionality like that our catalogs you may use a dynamic list field where the values can be managed as enaio objects or somewhere in a file or a database.
by (760 points)
@Martin, but dynamic lists do not offer a function for typing something in the indexfield other than available in the "catalog". What we need is a field with a catalog where you have the option to pick an item from the catalog or type something completely different (which is not added to this catalog as new entry)
by (19.2k points)
@Mspitzer, that´s right, the user can not generate a new value by typing it into a dynamic field. But you can offer him the possibility to generate a new one e.g by using enaio objects and give him the right to create an object. After he did this, he can use it.
...