I am building a system for 3D CAD niche software with Dongle licenses. The customer portal and the internal portal for technical support and sales. It's very similar to AutoDesk and Adobe, but we do not have a cloud license but USB sticks. In a global real-time search attempt with the datatables.net library, he wrote:
The drop-down list does not filter but selects in different pools (something like different tables but not exactly all tables).
User Objectives: Look for different users or accounts on a second page that they can check and edit detailed information by clicking on a line. This second part imitates a basic CRM / ERP
Current research issues:
- The drop-down list does not filter but selects a group in which to search.
- You can always search for a member in real time when the serial code (pool)
is selected and because there is a link that creates confusion
- I can not list all the suppliers and their dongles, then click directly on this dongle
- I can not list all the dongles used by (assigned) members without duplicates, then go directly to this dongle. I need to find to search again on the second page (account)
Note: We have a security feature that allows the owner to unlock multiple dongles. In theory, he is therefore the owner and assigned to several dongles at the same time. So, when a member of the team uses a dongle, there is a "double assignment". to the owner and this user, but the real customers do not see it, this happens on the back-end but will make the technical support more difficult. They must find this account, and then perform a new search in this account.
- when searching by member, since not all members have dongles, I need to indicate to the search (real-time chip) to choose from the pool 3
The account can be a single user or a company. Created in SSO without any
purchase All accounts do not have members or dongles
An account owner is both owner and member (user of multiple dongles)
The link between the dongle and the account is created when inserting a dongle license
(property) on the account, it does not need to be purchased, but this can happen at any time
The link between the member and the dongle is established by "assigning" a dongle,
but the owner is tied to all the dongles in this account
All members do not have dongles (license granted)
All dongles have the owner if the product has not been sold, it belongs to
home account (Cast) or third party (reseller)
- Create 3 pages in the navigation or 3 tabs inside and change the name of the page to "Search" each pool (serial code of the dongle, accounts and members). Disadvantage: People may have trouble navigating between pages. It's more tedious. However, I saw this in many CRMS
- use a single global search, and then filter duplicates as in Sugar CRM using filters similar to those of SQL, Dev is not happy with this idea and could become confusing and complicated.
- simplify the data structure and try to move members inside the account pool since a member of the team can not exist in isolation without account owner and account. Create two pages "Search by account, Search by serial code of the dongle"
- SQL associates for cases where relationships are clear and attempts to simplify pools (data normalization). https://editor.datatables.net/examples/simple/join.html
Disadvantage: Dev is completely against making knuckles. (not sure because it's difficult or they do not know how to do it). They want all relationships to be 1 to 1, but that seems to be common in programming. This could be done by creating foreign keys in DB. Our library already has this feature.
Ideal user experience: real-time search without duplicates
Question: what is the simple decision to make in this case?