IP Library Granted Patent US 11,544,400
Granted Patent B2
US 11,544,400 · App. 15/442,561 · Granted Jan 3, 2023

Permissions-constrained dynamic faceting of search results in a content management system

Inventor: Andrew Hind (Maidenhead, GB)
Assignee: HYLAND UK OPERATIONS LIMITED
G06F21/6227G06F16/9535G06F16/9538G06F21/604H04L63/101
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,544,400
App. No.
15/442,561
Granted
Jan 3, 2023
Kind
B2
Abstract

User permissions for a search on content managed by a content management system (CMS) can be evaluated in a search engine based on a user identity of a user providing a query input for the query rather than after return of an initial results set to the CMS or some other front-end application. The search engine can constrain possible results returned from a search for the query input using a content index of a plurality of content items maintained in a repository of the content management system. The constraining can include limiting the search engine from adding a content item of the plurality of content items to a permissions-filtered results set unless the evaluating of the user permissions and the search for the query input against the content index do not exclude the content item. Other aspects can support index updating by selective use of a metadata index.

Claims (30)

1. A computer-implemented method comprising:

evaluating, by a search engine, a query input received from a user to search content managed by a content management system, the content being searchable by the search engine using a content index configured for indexing the content and a metadata index configured for indexing metadata associated with content items associated with the indexed content, the metadata identifying updates made to a content item even if content in the content item remains unchanged;

determining user permissions for the user based on the user's identity and by searching a user permissions index implemented as an access control list index for one or more access control lists, the access control list index maintained in the search engine to identify user access to the content items;

generating a permissions-filtered results set that includes at least a threshold number of content items that satisfy the query input based on information in the content index, but excludes content items that fail to satisfy user permissions identified in the access control list index without a need for any post search engine processing; and

returning, by the search engine, the permissions-filtered results set with permissions-corrected summary statistics representative of the permissions-filtered results set, the returning comprising dynamically generating facets for grouping the permissions-filtered results set according to one or more faceting criteria, the dynamically generating comprising use of the permissions-corrected summary statistics to calculate faceting relevant to the permissions-filtered results set,

the permissions-corrected summary statistics identifies correct ranges of one or more parameters characteristic of the permission-filtered results set and correct counts of content items occurring within various ranges of the one or more parameters with a correct distribution of content items having faceted criteria relative to the summary statistics returned by the search engine, the faceted criteria being dynamically determined based at least in part on content or metadata associated with the content items that satisfy the query input, the user being provided with the option to select a dynamically determined faceted criteria, instead of a faceted criteria determined prior to the dynamic determination of the faceted criteria.

2. The computer-implemented method as in claim 1 , wherein the evaluating of the user permissions based on the user identity of the user comprises a search on the user permissions index for permissions granted to the user based on the user identity.

3. The computer-implemented method as in claim 1 , wherein the evaluating of the user permissions based on the user identity of the user comprises searching the access control list index for access control lists designating the user identity as being allowed a sufficient level of access to content items assigned to those access control lists and wherein the permissions-corrected summary statistics are produced by the search engine.

4. The computer-implemented method as in claim 1 , wherein the query input comprises a partial query input comprising a string of characters entered by the user into a user interface element in a user interface presented to the user and using the permissions-filtered results set to identify a projected query input based on the partial query input.

5. The computer-implemented method as in claim 4 , wherein a partial query input is associated with a plurality of projected query inputs, such that a projected query input is presented at a higher rank than other projected query inputs, in response to determining that the projected query results in a list of content most recently accessed by the user.

6. A computer program product comprising a non-transitory machine-readable medium storing instructions that, when executed by at least one programmable processor, cause the at least one programmable processor to perform instructions comprising:

evaluating, by a search engine, a query input received from a user to search content managed by a content management system, the content being searchable by the search engine using a content index configured for indexing the content and a metadata index configured for indexing metadata associated with content items associated with the indexed content, the metadata identifying updates made to a content item even if content in the content item remains unchanged;

determining user permissions for the user based on the user's identity and by searching a user permissions index implemented as an access control list index for one or more access control lists, the access control list index maintained in the search engine to identify user access to the content items;

generating a permissions-filtered results set that includes at least a threshold number of content items that satisfy the query input based on information in the content index, but excludes content items that fail to satisfy user permissions identified in the access control list index without a need for any post search engine processing; and

returning, by the search engine, the permissions-filtered results set with permissions-corrected summary statistics representative of the permissions-filtered results set, the returning comprising dynamically generating facets for grouping the permissions-filtered results set according to one or more faceting criteria, the dynamically generating comprising use of the permissions-corrected summary statistics to calculate faceting relevant to the permissions-filtered results set,

the permissions-corrected summary statistics identifies correct ranges of one or more parameters characteristic of the permission-filtered results set and correct counts of content items occurring within various ranges of the one or more parameters with a correct distribution of content items having faceted criteria relative to the summary statistics returned by the search engine, the faceted criteria being dynamically determined based at least in part on content or metadata associated with the content items that satisfy the query input, the user being provided with the option to select a dynamically determined faceted criteria, instead of a faceted criteria determined prior to the dynamic determination of the faceted criteria.

7. The computer program product as in claim 6 , wherein the evaluating of the user permissions based on the user identity of the user comprises a search on the user permissions index for permissions granted to the user based on the user identity.

8. The computer program product as in claim 6 , wherein the evaluating of the user permissions based on the user identity of the user comprises searching an access control list index for access control lists designating the user identity as being allowed a sufficient level of access to content items assigned to those access control lists.

9. The computer program product as in claim 6 , wherein the query input comprises a partial query input comprising a string of characters entered by the user into a search term input user interface element in a user interface presented to the user.

10. The computer program product as in claim 9 , wherein the operations further comprise using the permissions-filtered results set to identify a projected query input based on the partial query input.

11. A system comprising:

computer hardware configured to perform instructions comprising:

evaluating, by a search engine, a query input received from a user to search content managed by a content management system, the content being searchable by the search engine using a content index configured for indexing the content and a metadata index configured for indexing metadata associated with content items associated with the indexed content, the metadata identifying updates made to a content item even if content in the content item remains unchanged;

determining user permissions for the user based on the user's identity and by searching a user permissions index implemented as an access control list index for one or more access control lists, the access control list index maintained in the search engine to identify user access to the content items;

generating a permissions-filtered results set that includes at least a threshold number of content items that satisfy the query input based on information in the content index, but excludes content items that fail to satisfy user permissions identified in the access control list index without a need for any post search engine processing; and

returning, by the search engine, the permissions-filtered results set with permissions-corrected summary statistics representative of the permissions-filtered results set, the returning comprising dynamically generating facets for grouping the permissions-filtered results set according to one or more faceting criteria, the dynamically generating comprising use of the permissions-corrected summary statistics to calculate faceting relevant to the permissions-filtered results set,

the permissions-corrected summary statistics identifies correct ranges of one or more parameters characteristic of the permission-filtered results set and correct counts of content items occurring within various ranges of the one or more parameters with a correct distribution of content items having faceted criteria relative to the summary statistics returned by the search engine, the faceted criteria being dynamically determined based at least in part on content or metadata associated with the content items that satisfy the query input, the user being provided with the option to select a dynamically determined faceted criteria, instead of a faceted criteria determined prior to the dynamic determination of the faceted criteria.

12. The system as in claim 11 , wherein the evaluating of the user permissions based on the user identity of the user comprises a search on the user permissions index for permissions granted to the user based on the user identity.

13. The system as in claim 11 , wherein the evaluating of the user permissions based on the user identity of the user comprises searching an access control list index for access control lists designating the user identity as being allowed a sufficient level of access to content items assigned to those access control lists.

14. The system as in claim 11 , wherein the query input comprises a partial query input comprising a string of characters entered by the user into a search term input user interface element in a user interface presented to the user.

Assignments (11)
SECURITY INTEREST Recorded Jan 17, 2024
From: HYLAND UK OPERATIONS LIMITED
To: GOLUB CAPITAL MARKETS LLC, AS COLLATERAL AGENT
Reel/Frame 066339/0332 →
RELEASE OF SECURITY INTEREST RECORDED AT REEL/FRAME 055820/0369 Recorded Sep 24, 2023
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT, A BRANCH OF CREDIT SUISSE
To: ALFRESCO SOFTWARE LIMITED (K/N/A HYLAND UK OPERATIONS LIMITED)
Reel/Frame 065018/0057 →
RELEASE OF SECURITY INTEREST RECORDED AT REEL/FRAME 55820/0343 Recorded Sep 21, 2023
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT, A BRANCH OF CREDIT SUISSE
To: ALFRESCO SOFTWARE LIMITED (K/N/A HYLAND UK OPERATIONS LIMITED)
Reel/Frame 064974/0425 →
CHANGE OF NAME Recorded Oct 13, 2021
From: ALFRESCO SOFTWARE LIMITED
To: HYLAND UK OPERATIONS LIMITED
Reel/Frame 057909/0840 →
SECURITY AGREEMENT SUPPLEMENT (FIRST LIEN) Recorded Mar 26, 2021
From: ALFRESCO SOFTWARE LIMITED
To: CREDIT SUISSE
Reel/Frame 055820/0343 →
SECURITY AGREEMENT SUPPLEMENT (SECOND LIEN) Recorded Mar 26, 2021
From: ALFRESCO SOFTWARE LIMITED
To: CREDIT SUISSE
Reel/Frame 055820/0369 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 15, 2021
From: ALFRESCO SOFTWARE, INC.
To: ALFRESCO SOFTWARE LIMITED
Reel/Frame 054935/0642 →
RELEASE OF SECURITY INTEREST IN PATENTS AT R/F 50372/0079 Recorded Oct 27, 2020
From: GUGGENHEIM CREDIT SERVICES, LLC, AS COLLATERAL AGENT
To: ALFRESCO SOFTWARE, INC.
Reel/Frame 054229/0133 →
NOTICE OF ASSIGNMENT OF PATENT SECURITY AGREEMENT RECORDED AT R/F 045602/0578 Recorded Sep 13, 2019
From: GUGGENHEIM CORPORATE FUNDING, LLC, AS RETIRING AGENT
To: GUGGENHEIM CREDIT SERVICES, LLC, AS SUCCESSOR AGENT
Reel/Frame 050372/0079 →
PATENT SECURITY AGREEMENT Recorded Mar 14, 2018
From: ALFRESCO SOFTWARE, INC.
To: GUGGENHEIM CORPORATE FUNDING, LLC
Reel/Frame 045602/0578 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 31, 2018
From: HIND, ANDREW
To: ALFRESCO SOFTWARE, INC.
Reel/Frame 044788/0197 →
Continuity (1)
Related Publication 20180247072A1 · Aug 30, 2018