Check Database Conflicts screen (/conflicts)
When to use this tool
Debugging problems
Run this tool when you are experiencing problems accessing a particular database, and you cannot solve the problem easily. If the tool shows overlapping definitions for the host or domain, as shown above, your access problem may be a result of this overlap. If the overlap is unintentional, you can consolidate the two definitions into one.
Housekeeping and preempting problems
Run this tool if you would like to find unintentional overlaps to prevent the access issues described above. Generally, it is a good idea to eliminate overlaps, even if they are not causing access problems. This will simplify administration of your config.txt and database stanzas and make overlap problems less likely in the future.
How it works
This tool reads all the database definitions in the config.txt file and compares them to each other. Any definitions that contain overlapping hosts, HJ, domain, or DJ statements are flagged and presented on the Check Database Conflicts results page.
To use the Conflict tool, click Check for database definition conflicts on the /status page. The Check Database Conflicts page will appear with each flagged set appearing as follows:
0 Research Database and 1 Research Javascript
Each line contains the following information:
- The first number is the index for the database stanza and tells where the stanza appears in the config.txt file.
- The index is followed by the title of the database in conflict.
- The final information, in this case "Find/Replace Javascript" refers to the section of the stanza containing the overlapping directive statements.
Click on the hyperlinked text to view more information about the two stanzas and what directive statements overlap. The Database Conflict Detail page provides detailed information from the Databases table about the two stanzas with overlapping directive statements. You can use this information to determine if one stanza should be removed or if the overlap is not the cause of access issues.
What to look for
Database definition overlaps may not impact your users' ability to access resources in all cases; however, there are instances where the overlap can cause a problem. EZproxy determines whether to proxy a URL based on the first database stanza that contains a match for that URL in the URL, Host, HJ, Domain, or DJ directive statements and ignores subsequent stanzas. The first stanza controls the proxying behavior.
If the Database Conflict Detail page for the stanzas above looked as follows:
Index | Database | Hosts | Domains | URL |
---|---|---|---|---|
0 | Research Database | 1 |
D researchdb.com H www.researcdb.com:80 |
http://www.researchdb.com |
8 | Research | 0 |
DJ researchdb.com HJ learn.research.db.com |
{{"http://learn.researchdb.com"}} |
You will notice that the D line for Research Database and the DJ line for Research contain the same domain. In this case, EZproxy would proxy any URL with the domain researchdb.com without Javascript. EZproxy will read the D line first and use this as a basis for proxying. This could cause problems when users attempt to access URLs containing the domain researchdb.com that require javascript processing to proxy correctly. To fix this problem, you could change the first D statement to a DJ or remove the D statement, leaving only the DJ.