I'm building a system for 3D CAD niche software with dongle licenses. Both the customer portal and the internal technical support and sales portal. It's very similar to AutoDesk and Adobe, but we do not have a cloud license, but USB dongles. When trying to perform a global real-time search on the datatables.net library, he came across the following:
The drop-down menu does not filter, but selects from different pools (something like different tables, but not exactly all tables).
User goals: Find different users or accounts on a second page, where you can review and change detailed information by clicking on a line. This second part mimics a basic CRM / ERP
Current search problems:
- The drop-down menu does not filter, but selects a pool to search.
- You can still search for a member in real time if serial code (pool)
is selected and because there is a connection that is confusing
- I can not list all providers and their dongles and then click directly on this dongle
- I can not list all dongles that are used by members (assigned) without duplicates, and then access this dongle directly. I have to find to search again on the second page (account)
Note: We have a security feature that allows the owner to unlock multiple dongles. Theoretically, it has several dongles and is assigned to them at the same time. So if a dongle is used by a team member, there is a "double assignment". Owners and users, but real customers do not see this, it happens in the backend, but will make the technical support more difficult. You must find this account and then search again in this account
- Since dongles are not assigned to all members, when searching for members, the search (Real-Time Smart) must be instructed to select from Pool 3
The account can be a single user or a company. Created in SSO without
Purchase Not all accounts have members or dongles
An account holder is both owner and member (user of multiple dongles).
The link between dongle and account is established when inserting the dongle license
(Owned) in the account, it does not have to be bought, but it can happen at any time
The connection between member and dongle is made by "assigning" a dongle.
However, the owner is linked to all dongles in this account
Not all members have dongles (assigned license)
All dongles have owners, if the product was not sold, it belongs
House account (Cast) or a third party (Reseller)
- Create 3 pages in the navigation or 3 tabs within and change the name of the search page for each pool (dongle serial number, accounts and members). Disadvantage: People might be confused if they have to navigate to multiple pages. It is boring. However, I have seen this in many CRMS
- Use a global search and then filter the duplicates as in Sugar CRM using SQL-like filters. Dev is not satisfied with this idea and it can be confusing and messy
- Simplify the data structure and try to move members to the account pool because a team member with no account owner and account can not exist in isolation. Create two pages "Search for account, search for dongle serial number"
- SQL joins for cases where relationships are clear and attempt to simplify the pools (data normalization). https://editor.datatables.net/examples/simple/join.html
Disadvantage: Dev is totally against making joins. (not sure because it's hard or you do not know how to do it). You want all relationships to be 1 to 1, but it looks like this is common in programming. This could be done by creating foreign keys in DB, and our library already has this functionality.
Ideal user experience: a real-time search without duplicates
Question: What is the proven simple decision to do in this case?