Systems and methods for categorized hierarchical view and modification of user accessibility to information technology item

The present disclosure includes systems and methods that provide a control that enables entry of a user and a catalog item. In response to this entry, a visual representation of the categorized hierarchy of the catalog item and categories (collectively “catalog entities”) to which the catalog item belongs are displayed. Each displayed catalog entity may include a visual indication of whether the catalog entity is accessible to the user. In some embodiments, the displayed catalog entity may include a control that enables or disables access to the catalog entity. The displayed catalog entity may also include a control that displays user groupings that have access or do not have access to that displayed catalog entity. An indication of whether the user belongs to each user grouping may also be displayed. Each displayed user group may include a control that enables modification to the definition of the displayed user grouping.

BACKGROUND

The present disclosure relates generally to user accessibility of information technology items, and more particularly to providing a hierarchical view and enabling convenient modification of user accessibility of the information technology items.

Organizations, regardless of size, rely upon access to information technology (IT) and data and services for their continued operation and success. A respective organization's IT infrastructure may have associated hardware resources (e.g. computing devices, load balancers, firewalls, switches, etc.) and software resources (e.g. productivity software, database applications, custom applications, and so forth). Over time, more and more organizations have turned to cloud computing approaches to supplement or enhance their IT infrastructure solutions.

Cloud computing relates to the sharing of computing resources that are generally accessed via the Internet. In particular, a cloud computing infrastructure allows users, such as individuals and/or enterprises, to access a shared pool of computing resources, such as servers, storage devices, networks, applications, and/or other computing based services. By doing so, users are able to access computing resources on demand that are located at remote locations, which resources may be used to perform a variety of computing functions (e.g., storing and/or processing large quantities of computing data). For enterprise and other organization users, cloud computing provides flexibility in accessing cloud computing resources without accruing large up-front costs, such as purchasing expensive network equipment or investing large amounts of time in establishing a private network infrastructure. Instead, by utilizing cloud computing resources, users are able redirect their resources to focus on their enterprise's core functions.

A cloud-based information technology platform may include a virtual server that enables a client instance. The client instance may execute a catalog software application that provides a categorized hierarchy of “catalog items” (which may include items, services, and offerings) to users. Each catalog item may be included in multiple categories of the categorized hierarchy. As such, the catalog software application may provide multiple hierarchically categorized paths to a catalog item.

Each catalog entity (which may include categories and catalog items) may be included on a user-accessible list and a user-inaccessible list. The user-accessible list may include users who are allowed access to a respective catalog entity, while the user-inaccessible list may include users who are not allowed access to the respective catalog entity. While each list may list specific users, each list may additionally or alternatively list users through user groupings (which may include user groups, roles, companies, locations, or departments).

As a user browses through the catalog items in the catalog software application, the client instance may check if the user is on the user-accessible list and is not on the user-inaccessible list. If so, the user may access the catalog item.

At times, users may report issues relating to not having to access certain catalog items in the catalog software application. To address these issues, a system administrator may review the user-accessible and user-inaccessible lists to see if and how the user is represented (as a user or one or more user groupings). This review may often be tedious, time-consuming, and inefficient.

SUMMARY

The present disclosure includes systems and methods that provide a control that enables entry of a user and a catalog item. In response to this entry, a visual representation of the categorized hierarchy of the catalog item and categories (collectively “catalog entities”) to which the catalog item belongs are displayed. Each displayed catalog entity may include a visual indication of whether the catalog entity is accessible or inaccessible to the user. In some embodiments, the displayed catalog entity may include a control that enables or disables access to the catalog entity. The displayed catalog entity may also include a control that, when selected, displays user groupings that have access or do not have access to that displayed catalog entity. An indication of whether the user belongs to each user grouping may also be displayed. Each displayed user group may include a control that, when selected, enables modification to the definition of the displayed user grouping.

In this manner, the disclosed systems and methods provide an easily digestible way for a system administrator to get a full picture of a user's accessibility to an information technology item and conveniently change the user's accessibility to that information technology item.

DETAILED DESCRIPTION

As used herein, the term “computing system” refers to an electronic computing device such as, but not limited to, a single computer, virtual machine, virtual container, host, server, laptop, and/or mobile device, or to a plurality of electronic computing devices working together to perform the function described as being performed on or by the computing system. As used herein, the term “medium” refers to one or more non-transitory, computer-readable physical media that together store the contents described as being stored thereon. Embodiments may include non-volatile secondary storage, read-only memory (ROM), and/or random-access memory (RAM). As used herein, the term “application” refers to one or more computing modules, programs, processes, workloads, threads and/or a set of computing instructions executed by a computing system. Example embodiments of an application include software modules, software objects, software instances and/or other types of executable code.

A cloud-based information technology platform may include a virtual server that enables a client instance. The client instance may execute a catalog software application that provides a categorized hierarchy of “catalog items” (which may include items, services, and offerings) to users. Each catalog item may be included in multiple categories of the categorized hierarchy. As such, the catalog software application may provide multiple hierarchically categorized paths to a catalog item.

Each catalog entity (which may include categories and catalog items) may be included on a user-accessible list and a user-inaccessible list. The user-accessible list may include users who are allowed access to a respective catalog entity, while the user-inaccessible list may include users who are not allowed access to the respective catalog entity. While each list may list specific users, each list may additionally or alternatively list users through user groupings (which may include user groups, roles, companies, locations, or departments).

As a user browses through the catalog items in the catalog software application, the client instance may check if the user is on the user-accessible list and is not on the user-inaccessible list. If so, the user may access the catalog item. In some embodiments, there may only be a user-accessible list and no user-inaccessible list, and the client instance may allow access to the catalog item if the user is on the user-accessible list. In additional or alternative embodiments, there may only be a user-inaccessible list and no user-accessible list, and the client instance may allow access to the catalog item if the user is not on the user-inaccessible list.

At times, users may report issues relating to not having to access certain catalog items in the catalog software application. To address these issues, a system administrator may review the user-accessible and user-inaccessible lists to see if and how the user is represented (as a user or in one or more user groupings). This review may often be tedious, time-consuming, and inefficient.

The present disclosure includes systems and methods that provide a control that enables entry of a user and a catalog item. In response to this entry, a visual representation of the categorized hierarchy of the catalog item and categories (collectively “catalog entities”) to which the catalog item belongs are displayed. Each displayed catalog entity may include a visual indication of whether the catalog entity is accessible or inaccessible to the user. In some embodiments, the displayed catalog entity may include a control that enables or disables access to the catalog entity. The displayed catalog entity may also include a control that, when selected, displays user groupings that have access or do not have access to that displayed catalog entity. An indication of whether the user belongs to each user grouping may also be displayed. Each displayed user group may include a control that, when selected, enables modification to the definition of the displayed user grouping.

In this manner, the disclosed systems and methods provide an easily digestible way for a system administrator to get a full picture of a user's accessibility to an information technology item and conveniently change the user's accessibility to that information technology item.

With the preceding in mind, the following figures relate to various types of generalized system architectures or configurations that may be employed to provide services to an organization in a multi-instance framework and on which the present approaches may be employed. Correspondingly, these system and platform examples may also relate to systems and platforms on which the techniques discussed herein may be implemented or otherwise utilized. Turning now toFIG. 1, a schematic diagram of an embodiment of a cloud computing system10where embodiments of the present disclosure may operate, is illustrated. The cloud computing system10may include a client network12, a network14(e.g., the Internet), and a cloud-based platform16. In some implementations, the cloud-based platform16may be a configuration management database (CMDB) platform. In one embodiment, the client network12may be a local private network, such as local area network (LAN) having a variety of network devices that include, but are not limited to, switches, servers, and routers. In another embodiment, the client network12represents an enterprise network that could include one or more LANs, virtual networks, data centers18, and/or other remote networks. As shown inFIG. 1, the client network12is able to connect to one or more client devices20A,20B, and20C so that the client devices are able to communicate with each other and/or with the network hosting the platform16. The client devices20may be computing systems and/or other types of computing devices generally referred to as Internet of Things (IoT) devices that access cloud computing services, for example, via a web browser application or via an edge device22that may act as a gateway between the client devices20and the platform16.FIG. 1also illustrates that the client network12includes an administration or managerial device or server, such as a management, instrumentation, and discovery (MID) server24that facilitates communication of data between the network hosting the platform16, other external applications, data sources, and services, and the client network12. Although not specifically illustrated inFIG. 1, the client network12may also include a connecting network device (e.g., a gateway or router) or a combination of devices that implement a customer firewall or intrusion protection system.

For the illustrated embodiment,FIG. 1illustrates that client network12is coupled to a network14. The network14may include one or more computing networks, such as other LANs, wide area networks (WAN), the Internet, and/or other remote networks, to transfer data between the client devices20and the network hosting the platform16. Each of the computing networks within network14may contain wired and/or wireless programmable devices that operate in the electrical and/or optical domain. For example, network14may include wireless networks, such as cellular networks (e.g., Global System for Mobile Communications (GSM) based cellular network), IEEE 802.11 networks, and/or other suitable radio-based networks. The network14may also employ any number of network communication protocols, such as Transmission Control Protocol (TCP) and Internet Protocol (IP). Although not explicitly shown inFIG. 1, network14may include a variety of network devices, such as servers, routers, network switches, and/or other network hardware devices configured to transport data over the network14.

InFIG. 1, the network hosting the platform16may be a remote network (e.g., a cloud network) that is able to communicate with the client devices20via the client network12and network14. The network hosting the platform16provides additional computing resources to the client devices20and/or the client network12. For example, by utilizing the network hosting the platform16, users of the client devices20are able to build and execute applications for various enterprise, IT, and/or other organization-related functions. In one embodiment, the network hosting the platform16is implemented on the one or more data centers18, where each data center could correspond to a different geographic location. Each of the data centers18includes a plurality of virtual servers26(also referred to herein as application nodes, application servers, virtual server instances, application instances, or application server instances), where each virtual server26can be implemented on a physical computing system, such as a single electronic computing device (e.g., a single physical hardware server) or across multiple-computing devices (e.g., multiple physical hardware servers). Examples of virtual servers26include, but are not limited to a web server (e.g., a unitary Apache installation), an application server (e.g., unitary JAVA Virtual Machine), and/or a database server (e.g., a unitary relational database management system (RDBMS) catalog).

To utilize computing resources within the platform16, network operators may choose to configure the data centers18using a variety of computing infrastructures. In one embodiment, one or more of the data centers18are configured using a multi-tenant cloud architecture, such that one of the server instances26handles requests from and serves multiple customers. Data centers18with multi-tenant cloud architecture commingle and store data from multiple customers, where multiple customer instances are assigned to one of the virtual servers26. In a multi-tenant cloud architecture, the particular virtual server26distinguishes between and segregates data and other information of the various customers. For example, a multi-tenant cloud architecture could assign a particular identifier for each customer in order to identify and segregate the data from each customer. Generally, implementing a multi-tenant cloud architecture may suffer from various drawbacks, such as a failure of a particular one of the server instances26causing outages for all customers allocated to the particular server instance.

In another embodiment, one or more of the data centers18are configured using a multi-instance cloud architecture to provide every customer its own unique customer instance or instances. For example, a multi-instance cloud architecture could provide each customer instance with its own dedicated application server and dedicated database server. In other examples, the multi-instance cloud architecture could deploy a single physical or virtual server26and/or other combinations of physical and/or virtual servers26, such as one or more dedicated web servers, one or more dedicated application servers, and one or more database servers, for each customer instance. In a multi-instance cloud architecture, multiple customer instances could be installed on one or more respective hardware servers, where each customer instance is allocated certain portions of the physical server resources, such as computing memory, storage, and processing power. By doing so, each customer instance has its own unique software stack that provides the benefit of data isolation, relatively less downtime for customers to access the platform16, and customer-driven upgrade schedules. An example of implementing a customer instance within a multi-instance cloud architecture will be discussed in more detail below with reference toFIG. 2.

FIG. 2is a schematic diagram of an embodiment of a multi-instance cloud architecture100where embodiments of the present disclosure may operate.FIG. 2illustrates that the multi-instance cloud architecture100includes the client network12and the network14that connect to two (e.g., paired) data centers18A and18B that may be geographically separated from one another. UsingFIG. 2as an example, network environment and service provider cloud infrastructure client instance102(also referred to herein as a client instance102) is associated with (e.g., supported and enabled by) dedicated virtual servers (e.g., virtual servers26A,26B,26C, and26D) and dedicated database servers (e.g., virtual database servers104A and104B). Stated another way, the virtual servers26A-26D and virtual database servers104A and104B are not shared with other client instances and are specific to the respective client instance102. In the depicted example, to facilitate availability of the client instance102, the virtual servers26A-26D and virtual database servers104A and104B are allocated to two different data centers18A and18B so that one of the data centers18acts as a backup data center. Other embodiments of the multi-instance cloud architecture100could include other types of dedicated virtual servers, such as a web server. For example, the client instance102could be associated with (e.g., supported and enabled by) the dedicated virtual servers26A-26D, dedicated virtual database servers104A and104B, and additional dedicated virtual web servers (not shown inFIG. 2).

AlthoughFIGS. 1 and 2illustrate specific embodiments of a cloud computing system10and a multi-instance cloud architecture100, respectively, the disclosure is not limited to the specific embodiments illustrated inFIGS. 1 and 2. For instance, althoughFIG. 1illustrates that the platform16is implemented using data centers, other embodiments of the platform16are not limited to data centers and can utilize other types of remote network infrastructures. Moreover, other embodiments of the present disclosure may combine one or more different virtual servers into a single virtual server or, conversely, perform operations attributed to a single virtual server using multiple virtual servers. For instance, usingFIG. 2as an example, the virtual servers26A,26B,26C,26D and virtual database servers104A,104B may be combined into a single virtual server. Moreover, the present approaches may be implemented in other architectures or configurations, including, but not limited to, multi-tenant architectures, generalized client/server implementations, and/or even on a single physical processor-based device configured to perform some or all of the operations discussed herein. Similarly, though virtual servers or machines may be referenced to facilitate discussion of an implementation, physical servers may instead be employed as appropriate. The use and discussion ofFIGS. 1 and 2are only examples to facilitate ease of description and explanation and are not intended to limit the disclosure to the specific examples illustrated therein.

As may be appreciated, the respective architectures and frameworks discussed with respect toFIGS. 1 and 2incorporate computing systems of various types (e.g., servers, workstations, client devices, laptops, tablet computers, cellular telephones, and so forth) throughout. For the sake of completeness, a brief, high level overview of components typically found in such systems is provided. As may be appreciated, the present overview is intended to merely provide a high-level, generalized view of components typical in such computing systems and should not be viewed as limiting in terms of components discussed or omitted from discussion.

By way of background, it may be appreciated that the present approach may be implemented using one or more processor-based systems such as shown inFIG. 3. Likewise, applications and/or databases utilized in the present approach may be stored, employed, and/or maintained on such processor-based systems. As may be appreciated, such systems as shown inFIG. 3may be present in a distributed computing environment, a networked environment, or other multi-computer platform or architecture. Likewise, systems such as that shown inFIG. 3, may be used in supporting or communicating with one or more virtual environments or computational instances on which the present approach may be implemented.

With this in mind, an example computer system may include some or all of the computer components depicted inFIG. 3.FIG. 3generally illustrates a block diagram of example components of a computing system or device200and their potential interconnections or communication paths, such as along one or more busses. As illustrated, the computing system200may include various hardware components such as, but not limited to, one or more processors202, one or more busses204, memory206, input devices208, a power source210, a network interface212, a user interface214, and/or other computer components useful in performing the functions described herein.

The one or more processors202may include one or more microprocessors capable of performing instructions stored in the memory206. Additionally or alternatively, the one or more processors202may include application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), and/or other devices designed to perform some or all of the functions discussed herein without calling instructions from the memory206.

With respect to other components, the one or more busses204include suitable electrical channels to provide data and/or power between the various components of the computing system200. The memory206may include any tangible, non-transitory, and computer-readable storage media. Although shown as a single block inFIG. 1, the memory206can be implemented using multiple physical units of the same or different types in one or more physical locations. The input devices208correspond to structures to input data and/or commands to the one or more processors202. For example, the input devices208may include a mouse, touchpad, touchscreen, keyboard and the like. The power source210can be any suitable source for power of the various components of the computing device200, such as line power and/or a battery source. The network interface212includes one or more transceivers capable of communicating with other devices over one or more networks (e.g., a communication channel). The network interface212may provide a wired network interface or a wireless network interface. A user interface214may include a display that is configured to display text or images transferred to it from the one or more processors202. In addition and/or alternative to the display, the user interface214may include other devices for interfacing with a user, such as lights (e.g., LEDs), speakers, and the like.

With the preceding background discussion in mind, a client instance102as discussed herein may execute a catalog software application that provides a categorized hierarchy of “catalog items” (which may include items, services, and offerings) to users operating client devices20or edge device22. Each catalog item may be included in multiple categories of the categorized hierarchy. As such, the catalog software application may provide multiple hierarchically categorized paths to a catalog item. For example,FIG. 4is an example user interface220of the catalog software application executed by the client instance102ofFIG. 2displaying a catalog item222via a first hierarchically categorized path224, in accordance to an embodiment of the present disclosure. As illustrated, the catalog item222is a phone, and the first categorized path224to the phone222includes a catalog226(“Service Catalog”) and hierarchical categories228,230(“Hardware” and “Employee Devices,” respectively). The first categorized path224may be combined with a catalog path232that defines the hierarchy of catalogs that the Service Catalog226(and the Phone catalog item222) belongs to (“All Catalogs”). In some embodiments, the first categorized path224may include the catalog path232.

As illustrated, the user interface220provides navigational menus234,236that may facilitate navigating to the catalog item222, including a catalog menu234that enables selection of a catalog226(e.g., the Service Catalog) and a category menu236that enables selection of categories226,228(e.g., Hardware and Employee Devices). In particular, to navigate to the catalog item222, a user may select the Service Catalog226using the catalog menu234, which may populate the category menu236with categories belonging to the Service Catalog226. The user may then select the Hardware category228, which populates the category menu236with sub-categories belonging to the Hardware category228. The user may select the Employee Devices category230, which displays the Phone catalog item222in a catalog item pane238of the user interface220. As such, the first categorized path224to the Phone catalog item222includes the Service Catalog226, the Hardware category228, and the Employee Devices category230.

FIG. 5is the example user interface220of the catalog software application displaying the catalog item222ofFIG. 4via a second hierarchically categorized path250, in accordance to an embodiment of the present disclosure. As illustrated, the second categorized path250to the phone222includes the Service Catalog226and hierarchical categories252,254(“New Joinee” and “Employee Benefits,” respectively). The second categorized path250may be combined with the catalog path232that defines the hierarchy of catalogs that the Service Catalog226(and the Phone catalog item222) belongs to (“All Catalogs”). In some embodiments, the second categorized path250may include the catalog path232. As illustrated, the second categorized path250to the Phone catalog item222includes the Service Catalog226, the New Joinee category252, and the Employee Benefits category254. Navigating through the second categorized path250may result in displaying the Phone catalog item222in the catalog item pane238of the user interface220.

Each catalog entity, which may include categories and catalog items (e.g., the Hardware category228, the Employee Devices category230, the New Joinee category252, the Employee Benefits category254, and the Phone catalog item222) may be included on a user-accessible list and a user-inaccessible list.FIG. 6is an example user interface270displaying a user-accessible list272for the catalog item222ofFIG. 4, in accordance to an embodiment of the present disclosure. The user-accessible list272includes users or user groupings that are allowed access to the Phone catalog item222. In this case, the user-accessible list272shows that the Phone catalog item222is available for an “APAC Employees” user grouping274and a “US Sales” user grouping276. In some embodiments, the user interface270may be combined with the user interface220ofFIGS. 4 and 5. For example, the user interface220ofFIGS. 4 and 5may be a user's view (or ordering/requesting experience) of the Phone catalog item222, while the user interface270may be part of a system administrator's view for maintaining the user's view (or ordering/requesting experience) of the Phone catalog item222. In particular, the user interface220ofFIGS. 4 and 5may be a top portion of a user interface of a system administrator's view for maintaining the user's view (or ordering/requesting experience) of the Phone catalog item222, while the user interface270may be a bottom portion of the same user interface.

FIG. 7is an example user interface290displaying a user-inaccessible list292for the catalog item222ofFIG. 4, in accordance to an embodiment of the present disclosure. The user-inaccessible list292includes users or user groupings that are not allowed access to the Phone catalog item222. In this case, the user-inaccessible list292shows that the Phone catalog item222is unavailable for an “APAC HR” user grouping294. In some embodiments, the user interface270may be combined with the user interface220ofFIGS. 4 and 5. For example, the user interface220ofFIGS. 4 and 5may be a user's view (or ordering/requesting experience) of the Phone catalog item222, while the user interface290may be part of a system administrator's view for maintaining the user's view (or ordering/requesting experience) of the Phone catalog item222. In particular, the user interface220ofFIGS. 4 and 5may be a top portion of a user interface of a system administrator's view for maintaining the user's view (or ordering/requesting experience) of the Phone catalog item222, while the user interface290may be a bottom portion of the same user interface.

A user grouping (e.g., the APAC Employees user grouping274, the US Sales user grouping276, and the APAC HR user grouping294) may include user groups, roles, companies, locations, departments, and so on.FIG. 8is an example user interface310for defining a user grouping312, in accordance to an embodiment of the present disclosure. As illustrated, the user grouping312may be defined through identifying users314, user groups316, roles318, companies320, locations322, and departments324, though it should be understood that a user grouping312may be defined through any suitable user relationship or structure.

As a user browses through the catalog items (e.g., the Phone catalog item222) in the catalog software application, the client instance102may check if the user is on the user-accessible list272and is not on the user-inaccessible list292. If so, the client instance102may allow the user to access the catalog item222. If the user is not on the user-accessible list272or is on the user-inaccessible list292, then the client instance102may not allow the user to access the catalog item222. In some cases, the client instance102may display the catalog item222, but not enable the user to make changes to the catalog item222. In other cases, the client instance102may display the catalog item222, but hide some information associated with the catalog item222from the user. In yet other cases, the client instance102may not display the catalog item222at all.

At times, users may report issues relating to not having to access certain catalog items222in the catalog software application. To address these issues, a system administrator may review the user-accessible list272and/or the user-inaccessible list292to see if and how the user is represented (as a user or in one or more user groupings312). This review may often be tedious, time-consuming, and inefficient.

The present disclosure provides an entry control340that enables entry of a user342and a catalog item222, such as that shown in the example user interface344ofFIG. 9, by, for example, a system administrator, in accordance to an embodiment of the present disclosure. In response to the entry of the user342and the catalog item222, the client instance102may display one or more hierarchically categorized paths (e.g.,224,250) to the catalog item222with indications of whether each catalog entity is accessible or inaccessible to the user342.FIG. 10is an example user interface350of the catalog software application displaying two hierarchically categorized paths224,250to the catalog item222ofFIG. 4with a first catalog entity (e.g., the Phone catalog item222) selected, in accordance to an embodiment of the present disclosure. The hierarchically categorized paths224,250include access indications of whether each catalog entity (e.g., the Phone catalog item222, the Employee Benefits254, and so on) is accessible352or inaccessible354to the user342. As illustrated, the entry control340may be a portion (e.g., a top portion) of the user interface350. In particular, the user interface350shows the hierarchically categorized paths224,250to the Phone catalog item222, and accessibility for the user “John Smith”356, as provided by the entry control340.

For each catalog entity of the hierarchically categorized paths224,250, the client instance102may provide a visual access indication of whether the catalog entity is accessible352or inaccessible354to the user342. For example, the category Employee Benefits254includes a visual access indication352in the form of a checkmark to indicate that the category is accessible to the user342. Similarly, the Phone catalog item222includes a visual access indication354in the form of a “no” symbol to indicate that the category is inaccessible to the user342. It should be understood that the indications352,354may be in any suitable form that indicates that a catalog entity is accessible or inaccessible to a user.

Each catalog entity may include a catalog entity selection control (e.g.,358) that enables the catalog entity to be selected. For example, inFIG. 10, the catalog entity selection control358of the Phone catalog item222has been selected, as indicated by the Phone catalog item222being shaded. The user interface350may provide a summary360that identifies the selected catalog entity (e.g., the Phone catalog item222) and the accessibility of the catalog entity to the user356(e.g., “John Smith can't view Catalog Item: Phone”), in response to the catalog entity selection control358being selected.

Additionally, the user interface350may display a list362of user groupings312that are associated with the catalog entity, in response to the catalog entity selection control358being selected. The list362may include users342or user groupings312that are allowed to access the selected catalog entity, as shown in the user-accessible list272ofFIG. 6, as well as the users342or user groupings312that are not allowed to access the selected catalog entity, as shown in the user-inaccessible list292ofFIG. 7. For example, the list362includes the APAC HR user grouping294displayed in the user-accessible list272ofFIG. 6with respect to the Phone catalog item222, and the APAC Employees user grouping274and the US Sales user grouping276displayed in the user-inaccessible list292ofFIG. 7with respect to the Phone catalog item222. The list362also displays a user indication364of whether the user356is part of or a member of each displayed user342or user grouping312. It should be understood that, while the user indication364is illustrated as a user icon, the user indication364may be in any suitable form that indicates that a user356belongs to a user grouping312.

Each user342or user grouping312displayed in the list362may include a user grouping selection control366that enables selection of the displayed user342or user grouping312. In response to a user grouping selection control366being selected, the client instance102may enable the system administrator to modify the associated user or user grouping definition. For example, in response to a user grouping selection control366associated with a user grouping312being selected, the client instance102may display the user interface ofFIG. 8that defines the user grouping312. The system administrator may then change the definition of the user grouping312(e.g., by adding or removing the user356from the user grouping312). In some embodiments, in response to a user grouping selection control366being selected, the client instance102may enable the system administrator to modify accessibility of the associated user or user grouping to the selected catalog entity. For example, the client instance102may display the user interface ofFIG. 6that displays the user-accessible list272for the selected catalog entity and/or the user interfaceFIG. 7that displays the user-inaccessible list292for the selected catalog entity. The system administrator may then change the accessibility of the associated user or user grouping to the selected catalog entity (e.g., by adding or removing the associated user or user grouping to or from the user-accessible list272and/or the user-inaccessible list292for the selected catalog entity).

FIG. 11is the example user interface350of the catalog software application ofFIG. 10with a second catalog entity (e.g., the Employee Devices category230) selected, in accordance to an embodiment of the present disclosure. In particular, the system administrator may have selected the catalog entity selection control358associated with the Employee Devices category230. In response to this selection, the client instance102may display the summary360that identifies the selected catalog entity (e.g., the Employee Devices category230) and the accessibility of the catalog entity to the user356(e.g., “John Smith can't view Category: Employee Devices”).

Also or alternatively in response to this selection, the client instance102may display the list362of user groupings312that are allowed to access the category Employee Devices230. As illustrated, the list362includes the APAC Employees user grouping274, which does not have access to the category Employee Devices230. The list362also displays a user indication364that the user356is part of the APAC Employees user grouping274.

In this manner, the client instance102, through the catalog software application, may provide an easily digestible way for a system administrator to get a full picture of a user's accessibility to an information technology item (e.g., the catalog item222) and conveniently change the user's accessibility to that information technology item.

FIG. 12is a flowchart of a process380for providing a hierarchical view and enabling convenient modification of user accessibility of catalog entities, according to embodiments of the present disclosure. The process380may be implemented in the form of a software application (e.g., the catalog software application) that includes instructions executable by at least one suitable processor of the cloud computing system10, such as the processor202. In particular, the process380may be performed by the client instance102as implemented by the processor202. The illustrated process380is merely provided as an example, and in other embodiments, certain illustrated steps of the process380may be performed in other orders, skipped, or repeated, in accordance with the present disclosure.

As illustrated, in process block382, the processor202receives a selection of a user and a selection of a catalog item. For example, a system administrator may select the user (e.g., John Smith356) and the catalog item (e.g., the Phone catalog item222) via the entry control340ofFIG. 9.

In process block384, the processor202displays each hierarchically categorized path to the catalog item. For example, in the user interface350ofFIGS. 10 and 11, the processor202displays the two hierarchically categorized paths224,250to the Phone catalog item222.

In process block386, the processor202indicates accessibility of the user for each catalog entity of each hierarchically categorized path. For example, in the user interface350ofFIGS. 10 and 11, the processor202displays categories (e.g., the category Employee Benefits254) of the hierarchically categorized paths224,250having visual access indications352in the form of a checkmark to indicate that the respective category is accessible to the user342. Similarly, the processor202displays categories and catalog items (e.g., the Phone catalog item222) of the hierarchically categorized paths224,250having visual access indications354in the form of a “no” symbol to indicate that the respective category or catalog item is inaccessible to the user342.

In process block388, the processor202receives a selection of a catalog entity of a hierarchically categorized path. For example, in the user interface350ofFIGS. 10and11, the processor202provides catalog entity selection controls358that enable each catalog entity of the hierarchically categorized paths224,250to be selected. When the system administrator selects a catalog entity selection control358associated with a respective catalog entity, the processor202receives a selection of the respective catalog entity. In the example ofFIG. 10, the catalog entity selection control358associated with the Phone catalog item222has been selected (as evidenced by shading). As such, the processor202may receive a selection of the Phone catalog item222.

In process block390, the processor202displays each user grouping for which the catalog entity is accessible to and inaccessible to. For example, in the user interface350ofFIGS. 10 and 11, the processor202displays a list362of user groupings312that are associated with a selected catalog entity, in response to the catalog entity selection control358being selected. In particular, in the example ofFIG. 10, the processor202displays the list362that includes the APAC HR user grouping294which has access to the Phone catalog item222, and the APAC Employees user grouping274and the US Sales user grouping276which do not have access to the Phone catalog item222.

In process block392, the processor202indicates whether the user is in each user grouping. For example, in the user interface350ofFIGS. 10 and 11, the processor202displays a user icon364in the list362to indicate that a user356is part of a displayed user grouping312. As illustrated, in the example ofFIG. 10, the processor202displays the user icon364in the first row with the APAC HR user grouping294to indicate that the user356is part of the APAC HR user grouping294.

In process block394, the processor202receives a selection of a user grouping. For example, in the user interface350ofFIGS. 10 and 11, the processor202provides a user grouping selection control366for each user grouping312displayed in the list362that enables selection of the user grouping312. When the system administrator selects a user grouping selection control366associated with a respective user grouping, the processor202receives a selection of the respective user grouping.

In process block396, the processor202receives a modification to the user grouping. For example, in response to receiving the selection of the respective user grouping from process block394, the processor202may display the user interface ofFIG. 8that defines the user grouping312. The system administrator may then change the definition of the user grouping312(e.g., by adding or removing the user356from the user grouping312). In some embodiments, in response to a user grouping selection control366being selected, the processor202may display the user interface ofFIG. 6that displays the user-accessible list272for the selected catalog entity and/or the user interfaceFIG. 7that displays the user-inaccessible list292for the selected catalog entity. The system administrator may then change the accessibility of the associated user or user grouping to the selected catalog entity (e.g., by adding or removing the associated user or user grouping to or from the user-accessible list272and/or the user-inaccessible list292for the selected catalog entity).

In process block398, the processor202then changes the user grouping based on the modification. That is, based on the system administrator changing the definition of a user grouping312and/or accessibility of the user grouping312to the selected catalog entity (e.g., the Phone catalog item222), the processor202performs the change to the definition of the user grouping312and/or the accessibility of the user grouping312to the selected catalog entity, respectively.

In this manner, the process380may provide an easily digestible way for a system administrator to get a full picture of a user's accessibility to an information technology item (e.g., the catalog item222) and conveniently change the user's accessibility to that information technology item.