Documentation Nexus Repository Manager 3.0

Chapter 3. Using the User Interface

3.1. Introduction

This chapter covers the basic aspects of the user interface of Nexus Repository Manager Pro and Nexus Repository Manager OSS applicable for read-only access including an overview of the user interface features, searching components and browsing repositories and other features that are, by default, available to anonymous users and similar read-only roles.

Administrative tasks like configuring repositories, task, security and many other aspects are documented in Chapter 4, Configuration.

3.2. User Interface Overview

Available in Nexus Repository OSS and Nexus Repository Pro

The user interface is used with a web browser and works best with modern browsers. Older versions such as Microsoft Internet Explorer 8 or earlier are not supported and actively blocked from using the repository manager user interface to avoid an unsatisfactory user experience.

The repository manager provides anonymous access for users who only need to search for components, browse the repositories and access components via client tools such as Maven or NuGet. This anonymous access level is a configurable, read-only mode that includes the main user interface elements as shown in Figure 3.1, “User Interface for Anonymous Users”.

figs/web/ui-overview-anonymous.png

Figure 3.1. User Interface for Anonymous Users


Once a user is logged in further features become available depending on the user’s privileges. An example for the admin user including the Administration menu icon is visible in Figure 3.2, “User Interface for Logged In admin User”.

figs/web/ui-overview-admin.png

Figure 3.2. User Interface for Logged In admin User


The user interface is separated into a number of different sections.

Main toolbar

The top of the page contains the header with a number of elements starting on the left with the logo:

Logo and version label
The logo and the version label differ for Nexus Repository Manager OSS and Nexus Repository Manager Pro and allows you to know what version of the repository manager you are accessing at a glance.
Browse button figs/web/ui-browse-button-icon.png
The browse button allows you to switch to the Browse menu items in the main menu section on the left of the user interface. The contents of the menu will depend on your assigned user privileges.
Administration button figs/web/ui-admin-button-icon.png
The administration button allows to switch to the Administration menu items in the main menu section on the left of the user interface as visible in Figure 3.2, “User Interface for Logged In admin User”. The contents of the menu will depend on your assigned user privileges.
Search input box
The search input box can be used to start a keyword search. The results are displayed in the feature view panel.
Refresh button figs/web/ui-refresh-button-icon.png
The refresh button is a global refresh button that affects all views in the user interface including the feature view panel. E.g., it refreshes the search results view, the user list or the staging repository list, if they are currently the active feature view.
Help button figs/web/ui-help-button-icon.png
Clicking the help button opens up the help menu. It contains a link to specific help about the currently active feature view. The About item displays a dialog with details about the version as well as license and copyright information. The Documentation, Knowledge base, Community, Issue tracker and Support items link to the respective pages on the Sonatype websites.

Sign In figs/web/ui-sign-in-icon.png and user account/signout buttons figs/web/ui-user-account-icon.png;; The Sign In button allows you to sign in to the user interface as a specific user. Doing so gives you access to the privileges assigned to the user, changes the Sign in button to a Sign out button and adds a button displaying the user’s name. The user’s name button functions to access the Account feature view as part of the User menu in the main menu on the left with any other user features the account can access.

Main Menu
The main menu on the left contains either the Browse, the Administration or the User menu items. The exact list of available menu items depends on the current user’s assigned privileges. E.g., the Administration menu as visible in Figure 3.2, “User Interface for Logged In admin User” includes the Security section, which is not available to anonymous users by default. The panel itself can be horizontally collapsed and expanded with the button in the top right-hand corner of the panel. Each submenu can be vertically collapsed and expanded with the button beside the title for each submenu. Selecting a menu item triggers the display of the respective feature view in the feature view panel.
Feature View Panel
The feature view panel in the center of the user interface right of the main menu initially displays the Welcome feature view. It changes display based on your selected item in the main menu.

Figure 3.3, “Typical Example Interface with a List” shows a typical user interface appearance of the repository manager with the Users feature view in the feature view panel. It shows a list of users.

figs/web/user-interface-example.png

Figure 3.3. Typical Example Interface with a List


Clicking on a row in the list, switches the feature view to a specific display for the item in the row as visible in Figure 3.4, “Typical Example Interface for Editing and Viewing”. The top level navigation allows you get back to the list by clicking on the Users label. The form below has a number of sections that can be accessed via buttons as well as specific functionality like deletion and their associated buttons.

figs/web/ui-example-view.png

Figure 3.4. Typical Example Interface for Editing and Viewing


The list header features buttons for various operations that differ per list as well as an input box that allows you to filter the list by any terms used in any column. Figure 3.5, “Filtering the Repository List to Display Only Hosted Repositories” shows an example use case where a user typed "Hosted" in the filter box and the list of repositories only shows hosted repositories. This filtering works for all columns in a list and can be used in most list displays in the repository manager. For example you can use it to filter the users list to find disabled users, filter the routing list, the roles list and many more.

figs/web/ui-list-filtering.png

Figure 3.5. Filtering the Repository List to Display Only Hosted Repositories


The column headers in most lists can be clicked to invoke a sorting of the list by the respective column as well as activate and deactivate specific columns.

3.3. Searching for Components

Available in Nexus Repository OSS and Nexus Repository Pro

Searching components in the repository manager is an important use case for being able to access information about specific components including different versions that are available, security and license data and other information as well as for build tool migrations, download of deployment packages and other component related development, QA and operations activities.

The different search modes can be accessed with the Browse button in the main toolbar and selecting Search or one of the nested options like Custom, Maven and others. The common feature view with the criteria drop-down selector for the search without results is displayed in Figure 3.6, “Keyword Search with Format and More criteria Input”.

figs/web/search.png

Figure 3.6. Keyword Search with Format and More criteria Input


Beneath the search title is the search criteria input area that displays the current criteria input e.g., Keyword. Beside the current criteria is a More Criteria button that allows you to add further criteria to your search. Each criteria can be removed by clicking on the minus/dash icon within the criteria input box. The cross/x in the input box resets the value. In Figure 3.6, “Keyword Search with Format and More criteria Input” you can see the Format criteria added to the search.

Each criteria can be used with a search term and supports the * character (star, asterisk) for pattern matching. E.g., you could search with the Group search criteria and search for org.sonatype.nexus.*. This would return components with the group of org.sonatype.nexus, but also org.sonatype.nexus.plugins and many others.

3.3.1. Search Criteria and Component Attributes

A number of criteria can be used with any repository format and returns results from all components in all repositories:

Keyword
A keyword is a string used for a search, where matches in Format, Group, Name, Version and all other component metadata values are returned.
Format
The format of the repository in which to look for a component. E.g. Nexus Repository Manager OSS supports maven2, docker, nuget and raw.
Group
An identifier that groups components in some way, such as by organization. It can also be used to simply to create a specific namespace for a project. Not all repository formats use the notion of a group. Some tools simply use a different name for the concept e.g., org for Apache Ivy or groupId for Apache Maven and the maven2 repository format. In the case of a maven2 repository, group is a required attribute. Other formats, like the nuget repository format, do not use group at all.
Name
The name of a component constitutes its main identifier. Different repository formats use a different name for the concept such as artifactId for Apache Maven and the maven2 repository format.
Version
The version of a component allows you to have different points in time of a component released. Various tools such as Maven or NuGet use the term version. Other build systems call this differently e.g. rev, short for revision, in the case of Apache Ivy. In most repository formats version numbers are not enforced to follow a specific standard and are simply a string. This affects the sort order and can produce unexpected results.
Checksum - MD5, SHA-1, SHA-256 or SHA-512
A checksum value of a component file generated by an MD5, SHA-1, SHA-256 or SHA-512 algorithm.

In addition there are criteria that can be used to search for components in repositories with specific formats only:

Maven Repositories
Group Id
The Maven groupId for a component. Other build systems supporting the Maven repository format call this differently e.g. org for Apache Ivy and group for Gradle and Groovy Grape. Group Id is equivalent to Group.
Artifact Id
The Maven artifactId for a component. Other build systems call this differently e.g. name for Apache Ivy and Gradle, and module for Groovy Grape. Artifact Id is equivalent to Name.
Classifier
The Maven classifier for a component. Common values are javadoc, sources or tests.
Packaging
The Maven packaging for a component, which is jar by default. Other values as used in Maven and other build tools are ear, war, maven-plugin, pom, ejb, zip, tar.gz, aar and many others.
Base Version
The base version of the component/asset. Typically this is the same value as the version for release components. SNAPSHOT development components use a time-stamped version but the base version uses the SNAPSHOT version e.g. version of 1.0.0-20151001.193253-1 and base version of 1.0.0-SNAPSHOT.
Extension
The extension used for a specific asset of a component.
npm Repositories

Additional criteria for component searches in npm Repositories are:

Group
The npm Group is equivalent to the component group, also sometimes referred to as scope by npm users.
Name
The npm Name is equivalent to the component version.
Version
The npm Version is equivalent to the component version.
NuGet Repositories
ID
The NuGet component identifier is known as Package ID to NuGet users.
Tags
Additional information about a component formatted as space-delimited keywords, chosen by the package author.
Docker Repositories
Image Name
The name for the Docker image. It is equivalent to the Name of the component in the repository manager that represents the Docker image.
Image Tag
The tag for the Docker image. It is equivalent to the Version of the component in the repository manager that represents the Docker image.
Layer Id
The unique identifier for a Docker image layer. It is equivalent to the layerId attribute of the component in the repository manager that represents the Docker image.
Raw Repositories
Searches in Raw Repositories can be narrowed down with the Path criteria. It allows you to specify a file path to the components in the raw repository. The search can return all components or files with the respective path pattern.

3.3.2. Search Results

Once you have provided your search terms in one or multiple criteria input fields, like the Keywords criteria in the Search feature view, the results become visible in the component list, with an example displayed in Figure 3.7, “Results of a Component Search for junit. The components are listed with their Name, Group, Version, Format, Repository, Age and Popularity information and are sorted alphabetically by Name. Columns and sort order can be adjusted like in all other lists.

figs/web/search-results.png

Figure 3.7. Results of a Component Search for junit


The Age column displays the age of the component. The age of a component is typically calculated from the initial release to a repository — typically a public repository such as the Central Repository. Since most Java components are published to the Central Repository when released, this age gives you a good indication of the actual time since the release of the component. For other repository formats and related upstream public repositories the availability of data may differ.

The Popularity column shows a relative popularity as compared to the other component versions. This can give you a good idea on the adoption rate of a new release. For example if a newer version has a high age value, but a low popularity compared to an older version, you might want to check the upstream project and see if there is any issues stopping other users from upgrading that might affect you as well. Another reason could be that the new version does not provide significant improvements to warrant an upgrade for most users.

Selecting a component in the list changes to a display of the component information documented in Section 3.5, “Viewing Component Information”.

3.3.3. Preconfigured Searches

Keyword Search

The main toolbar includes a Search components text input field. Type your search term and press enter and the repository manager performs a search by Keyword.

The same search can be accessed by selecting the Search item in the Browse main menu. The search term can be provided in the Keyword input field in the Search feature view.

Custom Search
A configurable search using the criteria you select is available via the Custom menu item in the Search section of the Browse main menu. Initially it has no criteria and it allows you to create a search with criteria you add with the More Criteria button.
Bower Search
The Bower search is a predefined search available via the Bower menu item in the Search section of the Browse menu. It defaults to inputs for Name and Version and supports adding further criteria. The format is configured to bower.
Docker Search
The Docker search is a predefined search available via the Docker menu item in the Search section of the Browse main menu. It defaults to inputs for Image Name, Image Tag and Layer Id and supports adding further criteria. The format is configured to docker.
Maven Search
The Maven search is a predefined search available via the Maven menu item in the Search section of the Browse main menu. It defaults to inputs for Group Id, Artifact Id, Version, Base Version, Classifier and Extension and supports adding further criteria. The format is configured to maven2.
NuGet Search
The NuGet search is a predefined search available via the NuGet menu item in the Search section of the Browse main menu. It defaults to inputs for ID and Tags and supports adding further criteria. The format is configured to nuget.
npm Search
The npm search is a predefined search available via the npm menu item in the Search section of the Browse main menu. It defaults to inputs for Scope, Name and Version and supports adding further criteria.
Raw Search
The Raw search is a predefined search available via the Raw menu item in the Search section of the Browse main menu. It defaults to an input for Path and supports adding further criteria. The format is configured to raw.

3.3.4. Example Use Case - SHA-1 Search

Sometimes it is necessary to determine the version of a component, where you only have access to the binary file without any detailed component information. When attempting this identification and neither the filename nor the contents of the file contain any useful information about the exact version of the component, you can use SHA-1 search to identify the component.

Create a sha1 checksum, e.g., with the sha1sum command available on Linux or OSX or fciv on Windows, and use the created string in a Custom search by adding the SHA-1 criteria from the Checksum section of the More criteria control.

The search will return a result, which will provide you with the detailed information about the file allowing you to replace the file with a dependency declaration. E.g. you can derive the Maven coordinates of a jar file and use them in a dependency declaration.

[Tip]

A SHA-1 or similar checksum search can be a huge timesaver when migrating from a legacy build system, where the used libraries are checked into the version control system as binary components with no version information available.

3.4. Browsing Repositories and Repository Groups

Available in Nexus Repository OSS and Nexus Repository Pro

One of the most straightforward uses of the repository manager is to browse the contents of a repository or a repository group. Browsing allows you to inspect the contents of any repository or repository group for all the supported repository formats.

Click on the Browse button figs/web/ui-browse-button-icon.png in the main toolbar to access the Browse menu and the Components and Assets menu items. The Component as well as the Assets feature views allowing you to select a repository or repository group to browse from the list of all repositories as displayed in Figure 3.8, “List of Repositories to Access for Component Browsing”.

figs/web/browse-components-repos.png

Figure 3.8. List of Repositories to Access for Component Browsing


Once you clicked on the row for a specific repository a list of components in the repository is displayed. It uses the same columns as the search results displayed in Figure 3.7, “Results of a Component Search for junit. You can filter the list content, change the rows and select ordering.

3.5. Viewing Component Information

Available in Nexus Repository OSS and Nexus Repository Pro

Once you located a component by browsing a repository or via a search and selected it in the list, you see the component information and a list of associated assets. An example is displayed in Figure 3.9, “Example for Component Information and List of Associated Assets”.

The information displayed includes the name and format of the repository that contains the component as well as the component identifiers Group, Name and Version. Most popular version contains the version number of the same component that is most popular in its usage within a specific group and name. Popularity shows a relative percentage of popularity between the displayed component against all other versions of this component. A value of 100% signals this version to be the most popular. 50% means that the specific version is half as popular as the most popular version.Popularity data is provided by the Sonatype Data Services based on requests from the Central Repository and other data and not available for all components. Age shows the age of the component.

None of the popularity or age data is viewable without Repository Health Check enabled. For more details on Repository Health Check see Chapter 6, Repository Health Check.

A list of one or more assets associated with the component is shown below the component information. Click on the row with the Name of the asset you want to inspect to view the asset information documented in Section 3.6, “Viewing Asset Information”.

figs/web/component-details.png

Figure 3.9. Example for Component Information and List of Associated Assets


To delete a component press the Delete component button as shown in Figure 3.9, “Example for Component Information and List of Associated Assets”. A modal will pop up to confirm the deletion. You can only delete components from hosted and proxy repositories. A deletion of a components triggers the deletion of all its associated assets, in most repository formats.

[Note]

In some repository formats assets are shared across component and these remain after deletion a component deletion. For example, while a Docker image is a component and can be deleted, the layers that make it up remain after its deletion as these assets are potentially shared with other Docker images.

3.6. Viewing Asset Information

Available in Nexus Repository OSS and Nexus Repository Pro

Asset information can be accessed by browsing assets directly or from a component information view. The Delete button allows you to remove an asset. The information itself is broken up into two sections, accessable by tabs below the Delete button.

The Info section contains a number of attributes about the specific asset. An example is displayed in Figure 3.10, “Asset Info Example”.

Path
the path to the asset in the repository
Content type
the MIME type of the asset
File size
the size of the file in KB
Last updated
the date and time when the asset was last updated
Last accessed
the date and time when the asset was last accessed
Locally cached
set to true if the asset can be found in the repository manager storage, false indicates that the metadata about the asset is available, while the asset itself has not been downloaded
Blob reference
a unique identifier pointing at the the binary blob representing the asset in the repository manager storage
figs/web/asset-info.png

Figure 3.10. Asset Info Example


The Attributes section contains further metadata about the asset related to Cache, Checksum and Content_attributes. An example is displayed in Figure 3.11, “Asset Attributes Example”.

Assets can include format specific attributes displayed in additional sections. For example an asset in a Maven2 repository has a Maven2 section with attributes for extension, baseVersion, groupId, artifactId, version and asset_kind.

figs/web/asset-attributes.png

Figure 3.11. Asset Attributes Example


3.7. Working with Your User Profile

Available in Nexus Repository OSS and Nexus Repository Pro

As a logged-in user, you can click on your user name on the right-hand side of the main toolbar to switch the main menu to contain the User menu. Pressing on the Account menu item displays the Account feature in the main feature panel as displayed in Figure 3.12, “Editing User Details in the Account Feature Panel”.

figs/web/account-feature-panel.png

Figure 3.12. Editing User Details in the Account Feature Panel


The Account feature allows you to edit your First Name, Last Name, and Email directly in the form.

3.7.1. Changing Your Password

In addition to changing your name and email, the user profile allows you to change your password by clicking on the Change Password button. You will be prompted to authenticate with your current password and subsequently supply your new password in pop up dialogs.

[Tip]

The password change feature only works with the built-in security realm. If you are using a different security realm like LDAP or Crowd, this option will not be visible.