IP Library Granted Patent US 10,440,030
Granted Patent B2
US 10,440,030 · App. 15/442,542 · Granted Oct 8, 2019

Permissions-constrained delivery of partial search results for a content management system

Inventor: Andrew Hind (Maidenhead, GB)
Assignee: Alfresco Software, Inc.
H04L63/105G06F16/245G06F16/951G06F16/9535G06F21/6209H04L63/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 10,440,030
App. No.
15/442,542
Granted
Oct 8, 2019
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, in a search engine associated with a content management system, user permissions based on a user identity of a user providing a partial query input for a search on content managed by the content management system, the 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 prior to an indication from the user that query inputting is completed;

constraining, by the search engine based on the evaluating of the user permissions, possible results returned from a search for the partial query input using a content index of a plurality of content items maintained in a repository of the content management system, the constraining comprising 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 does not exclude the content item and the search for the partial query input returns the content item;

returning, by the search engine, the permissions-filtered results set with permissions-corrected summary statistics representative of the permissions-filtered results set, the returning the permissions-filtered results set comprising presentation, in the user interface, of suggested content items based on the permissions-filtered results set for the partial query input;

dynamically generating facets for grouping the permissions-filtered results set using permissions-corrected summary statistics to calculate faceting relevant to the permissions-filtered results set.

2. A computer-implemented method as in claim 1 , further comprising using the permissions-filtered results set to identify a projected query input based on the partial query input for presentation to the user via the user interface.

3. A 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 a user permissions index for permissions granted to the user based on the user identity.

4. A computer-implemented method as in claim 3 , wherein the user permissions index comprises an access control list index maintained by the search engine.

5. A computer-implemented method as in claim 1 , 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.

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, in a search engine associated with a content management system, user permissions based on a user identity of a user providing a partial query input for a search on content managed by the content management system, the 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 prior to an indication from the user that query inputting is completed;

constraining, by the search engine based on the evaluating of the user permissions, possible results returned from a search for the partial query input using a content index of a plurality of content items maintained in a repository of the content management system, the constraining comprising 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 does not exclude the content item and the search for the partial query input returns the content item;

returning, by the search engine, the permissions-filtered results set with permissions-corrected summary statistics representative of the permissions-filtered results set, the returning the permissions-filtered results set comprising presentation, in the user interface, of suggested content items based on the permissions-filtered results set for the partial query input;

dynamically generating facets for grouping the permissions-filtered results set using Permissions-corrected summary statistics to calculate faceting relevant to the permissions-filtered results set.

7. A computer program product as in claim 6 , wherein the operations further comprise using the permissions-filtered results set to identify a projected query input based on the partial query input for presentation to the user via the user interface.

8. A 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 a user permissions index for permissions granted to the user based on the user identity.

9. A computer program product as in claim 8 , wherein the user permissions index comprises an access control list index maintained by the search engine.

10. A 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.

11. A system comprising:

computer hardware configured to perform instructions comprising:

evaluating, in a search engine associated with a content management system, user permissions based on a user identity of a user providing a partial query input for a search on content managed by the content management system, the 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 prior to an indication from the user that query inputting is completed;

constraining, by the search engine based on the evaluating of the user permissions, possible results returned from a search for the partial query input using a content index of a plurality of content items maintained in a repository of the content management system, the constraining comprising 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 does not exclude the content item and the search for the partial query input returns the content item;

returning, by the search engine, the permissions-filtered results set with permissions-corrected summary statistics representative of the permissions-filtered results set, the returning the permissions-filtered results set comprising presentation, in the user interface, of suggested content items based on the permissions-filtered results set for the partial query input;

dynamically generating facets for grouping the permissions-filtered results set using permissions-corrected summary statistics to calculate faceting relevant to the permissions-filtered results set.

12. A system as in claim 11 , wherein the operations further comprise using the permissions-filtered results set to identify a projected query input based on the partial query input for presentation to the user via the user interface.

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

14. A system as in claim 13 , wherein the user permissions index comprises an access control list index maintained by the search engine.

15. A 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.

16. The method of claim 1 , wherein the permission-filtered search result set is generated by way of a user permissions index that correlates the user permissions with the content items to which user permissions are applicable.

17. The method of claim 16 , wherein the search engine evaluates the user permissions index against the user identity to produce a filtered list of the content items that the user is allowed to see.

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/0233 →
Continuity (1)
Related Publication 20180248886A1 · Aug 30, 2018
Cited By (1)
US 12,681,999