Design Pattern – Improves the search for the confusing Software License ERP Administrator

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:

Enter image description here

The drop-down menu does not filter, but selects from different pools (something like different tables, but not exactly all tables).

Enter image description here

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

Enter image description here

Enter image description here

Enter image description here

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

Conditions:

  • 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)

Possible solutions:

  1. 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
  2. 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
  3. 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"
  4. 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?

Updated to Unity 2018.4.6f1, many cameras render, some with delayed rendering, now white. Very confusing

We have a more conventional setup for the beginning:

Main Camera (everything but UI layer, depth 0, deferred, has post-processing)
    GUI Camera (only UI layer, depth-only clear, depth 1, forward)

We also allow screen captures, so we have another pair of cameras, but with different depths:

Recording Main Camera (everything but UI layer, depth -1, deferred, has post-processing)
    Recording GUI Camera (only UI layer, depth-only clear, depth -2, forward)

Everything went well before the upgrade. After the upgrade:

Enter image description here

We played a lot and the results are very strange:

  • Turning on HDR with EACH camera turns the white shading into a black shade.
    Enter image description here
  • If you disable a camera, the game will be displayed correctly again (obviously not the main camera, since we need this to see!).
  • Disabling postprocessing on both cameras where it is installed does not change anything. In fact, the post-processing does not seem to be part of the problem at all.
  • If you move the main camera forward in each camera pair, this view will return to normal.
  • If you set all cameras to "deferred", nothing happens.
  • If you have a pair of cameras, eg. As the recording camera, move to another display, the game is normalized again.
  • If you set the camera with the lowest depth to "Deferred" and the others to "Forward", the game will render correctly. However, if you put a camera in front of the delayed camera, everything will turn white / black.
  • Rendering the capture camera to a rendering texture will normalize the game.

It looks like delayed cameras, especially in Unity 2019, are pretty nervous. Supposedly they have gone for a future version of 2019 completely new ways to superimpose cameras. We wanted to upgrade to 2019.2, but 2019 unfortunately seems to have a lot of problems from rendering to DLL management, and we were unable to upgrade because of these issues. 2019.2 would not have helped us in this issue anyway, as the new layer camera functionality is not live yet.

We use delayed because we have many lighting effects, and delaying the frame rate greatly helps in this regard. A waiver of delayed rendering is unlikely.

php – Annoying / confusing WordPress memory limit exhausted

I am setting up a staging site on the same server as a live site. WordPress 7.1, PHP 7.2. Site is a multi-site installation that I have been working with for years.

Everything is identical except for domain names.

The memory limit of php.ini is intentionally very high and is 500 MB

Apache configuration:

php_value memory_limit 256M
php_value register_globals
php_value max_execution_time 600
php_value upload_max_filesize 64M
php_value post_max_size 64M  

wp-config.php contains the following lines:

define (& # 39; WP_MEMORY_LIMIT & # 39 ;, 256M & # 39;));
define (& # 39; WP_MAX_MEMORY_LIMIT & # 39 ;, 256M & # 39;));

The .htaccess file contains no lines related to memory limits.

Everything is identical to the live site or has a higher memory limit.

Live site works fine.

The staging site resolves a memory error when visiting /wp-login.php:

Fatal Error: The allowed memory size of 268435456 bytes is exhausted (trying to map 19628820 bytes) into /path/to/wordpress/wp-includes/wp-db.php on line 2888

268435456 bytes obviously corresponds to a very low memory limit of 32 MB.

Given that the staging and the live site are almost identical, an idea of ​​what's going on?

As you can imagine, this is a pretty frustrating mistake!

Problem Solving – Algebra 2 confusing mathematical question

Thank you for your response to MathOverflow!

  • Please be safe! answer the question, Provide details and share your research!

But avoid

  • Ask for help, clarification or answers to other answers.
  • Make statements based on opinions; secure them with references or personal experiences.

Use MathJax to format equations. Mathjax reference.

For more information, see our tips for writing great answers.

information – confusing button options for the user

Leave a separate note!

Not under the "Save as image" button or Specific to

Users with regular printers Maybe you just want to save the design as a picture also!

When the text goes below The button indicates that it is specifically for thatTherefore, users would think that this option only uses "save as image" specifically for users with plastic printers (or printing centers …).

What if I am a user with one? normal printer But I want to save the design as a picture? Should I use this option or have a specific format that only applies to plastic printer users? That could go in the minds of the users.

I think, what you want to achieve is the guidance of the users of Plastic Printers (and printing centers …) that they have to follow certain steps to reach their goal.

Leave a separate note (not under a specific button) to notify users with plastic printers (and print centers …) to save the image first and then load it … and so on. Mostly, they say a note like they do achieve their goal.

Bitcoin Core has some confusing UI text

I try to locate the following UI texts from Bitcoin Core, but I can not understand them:

Upgrading non-HD split wallets is not possible without upgrading to pre-split keypool. Please use -upgradewallet = 169900 or -upgradewallet without specifying a version.

What is "non-HD split purse"? What is "Pre Split Keypool"?

Warning: Private keys were found in the {% s} wallet with private keys disabled

What is "disabled private key"?

seo – If an attribute value ends with a slash, can I omit the quotes? It's confusing if the trailing slash is next to the closing bracket

The HTML specification says about using attribute values ​​without quotation marks:

An unquoted attribute value is specified by specifying the following parts in exactly the following order:

  1. an attribute name
  2. Zero or more spaces
  3. a single one = character
  4. Zero or more spaces
  5. an attribute value

In addition to the general requirements for attribute values, the following restrictions apply to an attribute value without quotation marks:

  • may not contain literal spaces
  • may contain none ", & # 39;, =, >, <or `sign
  • can not be the empty string

The following slash (/) is not in the list of restricted characters, so it is considered part of the character href Attribute. The closing angle (>) is in the list of restricted characters and is therefore not considered part of the character href Attribute.

Since your case is confusing and requires careful reading of the specification to correct it, I would not recommend using your markup. Even if this does not confuse a browser, it can probably confuse someone who needs to change the code later (maybe even you!).

I would choose one of the following options:

  • Use quotes:
  • Add spaces:

Although you do not have to use quotes for attribute values ​​in HTML5, many people recommend this for consistency. If your canonical URL had a query string with an equals sign, that would be the case need the quotes around him. I personally leave quotation marks to reduce my HTML code for simple attribute values, but I use the quotation marks whenever there are punctuation marks, as I do not have to bother remembering the list of illegal punctuation marks.

Her example is also disturbing because example.com/ is not a valid canonical URL. Canonical URLs should be absolute. This means that they must contain the log. So use instead:


The file structure of object-oriented projects seems confusing

"One class per source file" is the general standard for C # and Java.

The version control software works with files, not classes. If you have one class per file, you can see at a glance about a single class in which you made changes.

This is more important for your own project than for academic tasks. Your own project is long lasting and the functionality of the classes will increase.

P.S.
Just last week I had to wait for third-party C # code. It had a 2.5kloc source file with five (5) big classes and one of them had a considerable nested class. I split this source file into five separate ones. That was one of the first things I did during this maintenance session.