Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update CLI output to match the latest changes to the catalog commands #1597

Merged
merged 13 commits into from
Sep 10, 2021
Merged
Show file tree
Hide file tree
Changes from 6 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions src/markdown-pages/build-apps/build-hello-world-app.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -222,15 +222,15 @@ nr1 create

<Step>

Select **catalog**, which creates a stub in your project under the `catalog` directory. Here's how the results might look in your code editor:
Select **catalog**, which creates a stub in your project under the `catalog` directory in the root directory and any launchers, nerdlets, or visualizations directories. Here's how the results might look in your code editor:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Here's how the results might look in your code editor:

Do you think it'd be valuable to update the following screenshot?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ya thats probably a good idea. Let me see what I can whip up.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed in 0c7017d

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Select **catalog**, which creates a stub in your project under the `catalog` directory in the root directory and any launchers, nerdlets, or visualizations directories. Here's how the results might look in your code editor:
Select **catalog**, which creates a stub in your project under the `catalog` directory in the root directory and any launcher, Nerdlet, or visualization directories. Here's how the results might look in your code editor:

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@tyreer I can see how this reads better in English, but I'm wondering if wrapping it as inline code would make sense. The reason I went with plural here was because the directories are called nerdlets, launchers and visualizations. I guess the question here is whether we want to use the directory names or update to your suggestion. Thoughts? @alexronquillo do you have a preferred direction for this kind of thing?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oh also, are nerdlets capitalized or no? I know Nerdpacks are, but wasn't sure if that also applied to Nerdlet.

Copy link
Contributor

@tyreer tyreer Sep 8, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Happy to follow Alex's lead here :)

Yeah, Nerdlet in a sentence should be capitalized. Checked here: https://newrelic.slack.com/archives/G01GR8SHEHW/p1626718298004000?thread_ts=1626717697.002200&cid=G01GR8SHEHW

Referring to a directory, I think something like nerdlets (with the inline code-formatted text) would make it clear if we go that route.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We've been trying to move away from using code for filenames because it can be confusing at times, so I think if we want to use directory names, let's use:

...under the catalog directory in the root directory and any launchers, nerdlets, or visualizations subdirectories....

I do prefer what @tyreer suggested, though, for two reasons:

  1. It reads better in English
  2. The new catalog directories actually go into the subdirectories of those, right? So not in launchers, but actually in launchers/my-laucher

And, yep, Nerd* terms are all capitalized because they're branded terms, whereas the others are common nouns.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The new catalog directories actually go into the subdirectories of those, right? So not in launchers, but actually in launchers/my-laucher

Thats correct. It would be something like launchers/my-launcher/catalog

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Updated in 3dbe9d8


![Catalog stub](../../images/create-hello-world/new-catalog-stub.png)

</Step>

<Step>

In the `catalog` directory of your project, add screenshots or various types of metadata to describe your project. For details about what you can add, see [Add catalog metadata and screenshots](https://docs.newrelic.com/docs/new-relic-one/use-new-relic-one/build-new-relic-one/discover-manage-applications-new-relic-one-catalog#clamshell-2).
In the root `catalog` directory of your project, add screenshots or various types of metadata to describe your project. For details about what you can add, see [Add catalog metadata and screenshots](https://docs.newrelic.com/docs/new-relic-one/use-new-relic-one/build-new-relic-one/discover-manage-applications-new-relic-one-catalog#clamshell-2).

</Step>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,13 +38,13 @@ cd nru-programmability-course/describe-app/ab-test

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Similar to the Update your Nerdpack's catalog information guide, how about we update the "big-picture" framing up on line 25 to have plural catalog directories:

To supply information to the catalog about your app, you need to create the _catalog_ directory in your Nerdpack.

->

To supply information to the catalog about your app, you need to create _catalog_ directories in your Nerdpack.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

...you need to create catalog directories...

Are multiple catalog directories actually required or are they just automatically created? In another comment there was a conversation about whether empty screenshots directories are skipped or not. I think that may factor in here too.

In general, I think the change is fine, except that this guide might need to be reworked a little bit more because the procedures following the create command only deal with adding info to the root-level catalog directory.

If these Nerdpack item-level catalog directories can be deleted/skipped, then we may need to add a step to do that. Or maybe I'm overthinking this? 😅

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Multiple catalog directories are automatically created but not required. Totally optional if you want to add nerdpack item screenshots or not.

We will be releasing an update to the CLI that will skip uploading any screenshots directory that is empty. Currently it is a bit annoying. If you run the nr1 create -t catalog then try and submit, you'll get an error stating that you need at least 1 screenshot. That shouldn't be the case, so a patch is incoming.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ok, I think if the document describes the final state correctly but there's effectively a bug in the code, then let's just make the change to plural and be done with it 😃

<Step>

Create the _catalog_ directory:
Create the _catalog_ directories:

```sh
nr1 create --type catalog
```

This creates a _catalog_ directory with template files for inputting custom information about your app.
This creates a root _catalog_ directory and a _catalog_ directory for each artifact with template files for inputing custom information about your app.

<Callout variant="tip">

Expand Down Expand Up @@ -135,4 +135,5 @@ This lesson is part of a course that teaches you how to build a New Relic One ap

</Callout>

</HideWhenEmbedded>
</HideWhenEmbedded>

Original file line number Diff line number Diff line change
Expand Up @@ -82,26 +82,22 @@ In _package.json_, set `version` to `1.0.0`:

```json filename=package.json lineHighlight=4
{
"private": true,
"name": "ab-test",
"version": "1.0.0",
"scripts": {
"start": "nr1 nerdpack:serve",
"test": "exit 0"
},
"nr1": {
"uuid": "2d923ba6-d231-4dd3-830f-b1923577a422"
},
"dependencies": {
"prop-types": "^15.6.2",
"react": "^16.6.3",
"react-dom": "^16.6.3"
},
"browserslist": [
"last 2 versions",
"not ie < 11",
"not dead"
]
"private": true,
"name": "ab-test",
"version": "1.0.0",
"scripts": {
"start": "nr1 nerdpack:serve",
"test": "exit 0"
},
"nr1": {
"uuid": "2d923ba6-d231-4dd3-830f-b1923577a422"
},
"dependencies": {
"prop-types": "^15.6.2",
"react": "^16.6.3",
"react-dom": "^16.6.3"
},
"browserslist": ["last 2 versions", "not ie < 11", "not dead"]
}
```

Expand Down Expand Up @@ -209,8 +205,8 @@ Submit your catalog information:

```sh
nr1 catalog:submit
[output] Uploading screenshots...
[output] {green}✔ {plain}Screenshots uploaded
[output] Uploading screenshots from nru-programmability-course/publish/ab-test...
[output] {success}✔{normal} Screenshots uploaded from: nru-programmability-course/publish/ab-test
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let me look at this again. I was under the impression that if the screenshots folder was empty, we wouldn't try to upload it, so let me make sure that is still the case, hence why I omitted that output here. The course doesn't call for adding screenshots at the nerdpack item level, so I only included output from the root-level screenshots.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ok after trying this out some more on my own, it looks like we actually don't skip screenshots on empty folders, which means that it errors out when trying to submit this step.

$ nr1 catalog:submit
Uploading screenshots from /path/to/demo-app...
 ✔  Screenshots uploaded from: /path/to/demo-app
Uploading screenshots from /path/to/demo-app/nerdlets/home...
Uploading screenshots from /path/to/demo-app/launchers/launcher...
 ›   Error: 1 error while updating Home 1.0.0
 ›
 ›   "You must include at least 1 screenshot when uploading screenshots."
 ›   Code: UNKNOWN

Copy link
Contributor

@tyreer tyreer Sep 8, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah, I see. Good point. All good to leave as is if that's how the command behaves.

Pretty sure we're skipping the upload on empty screenshots/ in the root directory, but we never established that for the Nerdpack-item children screenshots/ directories, which feels like an oversight

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

So are these Nerdpack item-level screenshots mandatory or can we delete screenshots/ if there aren't any?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@alexronquillo per this comment, they are not required and we are releasing a patch to skip uploading screenshots directories that are empty. The output that I have above will be the correct one once that patch goes live.

[output] {green}✔ {plain}Updated metadata for AbTest 1.0.0
```

Expand Down Expand Up @@ -238,18 +234,26 @@ View your catalog information:

```sh
nr1 catalog:info
[output] {purple}description: {plain}Nerdpack ab-test
[output] {purple}details: {plain}Display test data for our newsletter subscription A/B test
[output] {purple}displayName: {plain}AbTest
[output] {purple}icon.url: {plain}https://nr3.nr-ext.net/artifact-index-production/a685fec2-29fb-40b0-9f65-4178...
[output] {purple}previews.0.url: {plain}https://application-catalog-production.s3.us-east-2.amazonaws.com/nerdpacks/a...
[output] {purple}releaseDate: {plain}2021-03-12T15:46:09.600138Z
[output] {purple}repository: {plain}https://github.com/newrelic-experimental/nru-programmability-course
[output] {purple}tagline: {plain}Win @ newsletter subscriptions
[output] {purple}version: {plain}1.0.0
[output] {purple}whatsNew.changes: {plain}Initial release! Includes:
[output] - A variety of charts for understanding the test r...
[output] {purple}whatsNew.version: {plain}1.0.0
[output] AbTest (Nerdpack):
[output] {purple}description: {plain}Nerdpack ab-test
[output] {purple}details: {plain}Display test data for our newsletter subscription A/B test
[output] {purple}displayName: {plain}AbTest
[output] {purple}icon.url: {plain}https://nr3.nr-ext.net/artifact-index-production/a685fec2-29fb-40b0-9f65-4178...
[output] {purple}previews.0.url: {plain}https://application-catalog-production.s3.us-east-2.amazonaws.com/nerdpacks/a...
[output] {purple}releaseDate: {plain}2021-03-12T15:46:09.600138Z
[output] {purple}repository: {plain}https://github.com/newrelic-experimental/nru-programmability-course
[output] {purple}tagline: {plain}Win @ newsletter subscriptions
[output] {purple}version: {plain}1.0.0
[output] {purple}whatsNew.changes: {plain}Initial release! Includes:
[output] - A variety of charts for understanding the test r...
[output] {purple}whatsNew.version: {plain}1.0.0
[output] AbTestLauncher (Launcher):
[output] {purple}description: {plain}Describe me
[output] {purple}displayName: {plain}AbTestLauncher
[output] {purple}icon.url: {plain}https://nr3.nr-ext.net/artifact-index-production/a685fec2-29fb-40b0-9f65-4178...
[output] AbTestNerdlet (Nerdlet):
[output] {purple}displayName: {plain}AbTestNerdlet
[output] {purple}supportedEntityTypes.mode: NONE
```

All the information from _catalog_ shows here.
Expand Down Expand Up @@ -333,4 +337,5 @@ This lesson is part of a course that teaches you how to build a New Relic One ap

</Callout>

</HideWhenEmbedded>
</HideWhenEmbedded>

89 changes: 53 additions & 36 deletions src/markdown-pages/build-apps/serve-publish-subscribe/catalog.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -104,28 +104,41 @@ There are no screenshots, icons, details, or what's new features. To add these,

<Step>

From the root of your Nerdpack, create a _catalog_ directory to house your Nerdpack's screenshots and metadata:
From the root of your Nerdpack, create _catalog_ directories to house your Nerdpack's screenshots and metadata:

```sh
nr1 create --type catalog
[output] {success}✔{normal} Component created successfully!
[output] {success}✔{normal} created: launchers/launcher/catalog
[output] {success}✔{normal} created: nerdlets/home/catalog
[output]
[output] {success}✔{normal} catalog created successfully!
[output] {purple}catalog{normal} is available at "./catalog"
```

Inside your _catalog_ directory, you'll find specific files and directories for portraying information about your Nerdpack to your users:
Inside your root _catalog_ directory, you'll find specific files and directories for portraying information about your Nerdpack to your users:

```sh
ls catalog
[output] README.md additionalInfo.md config.json documentation.md {blue}screenshots
```

| File | Description |
|---|---|
| _README.md_ | A markdown file that instructs you how to use the information and metadata in _catalog_ |
| _config.json_ | A JSON file that contains the following fields:<br /><br /><ul><li>`tagline`: A brief headline for the application. This cannot exceed 30 characters.</li><li>`repository`: The URL for the Nerdpack's remote repository. This cannot exceed 1000 characters.</li><li>`details`: The purpose of the Nerdpack and how to use it. This cannot exceed 1000 characters. Use newlines for formatting, and don't include any markdown or HTML.</li><li>`support`: An object that contains:</li><ul><li>`issues`: A URL for the repository's issues list. For example, the **Issues** tab if using GitHub.</li><li>`email`: A valid email address for the team supporting the application</li><li>`community`: A URL for a support thread, forum, or website for troubleshooting and usage support</li></ul><li>`whatsNew`: A bulleted list of changes in the current release version. This cannot exceed 500 characters. Use newlines for formatting, and don't include markdown or HTML.</li></ul>Check out our [Pageview Map application's _config.json_](https://github.com/newrelic/nr1-pageview-map/blob/main/catalog/config.json) to see a real-life implementation.
| _documentation.md_ | A markdown file that tells users how to use the Nerdpack's Nerdlets or visualizations. This shows in the detail view's **Documentation** tab. |
| _additionalInfo.md_ | An optional markdown file for any additional information about using your application |
| _screenshots_ | A directory that contains screenshots of your Nerdlets or visualizations. This can contain no more than 6 images. All screenshots must meet the following criteria:<br /><br /><ul><li>3:2 aspect ratio</li><li>PNG format</li><li>landscape orientation</li><li>1600 to 2400 pixels wide</li></ul> |
| File | Description |
| ------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| _README.md_ | A markdown file that instructs you how to use the information and metadata in _catalog_ |
| _config.json_ | A JSON file that contains the following fields:<br /><br /><ul><li>`tagline`: A brief headline for the application. This cannot exceed 30 characters.</li><li>`repository`: The URL for the Nerdpack's remote repository. This cannot exceed 1000 characters.</li><li>`details`: The purpose of the Nerdpack and how to use it. This cannot exceed 1000 characters. Use newlines for formatting, and don't include any markdown or HTML.</li><li>`support`: An object that contains:</li><ul><li>`issues`: A URL for the repository's issues list. For example, the **Issues** tab if using GitHub.</li><li>`email`: A valid email address for the team supporting the application</li><li>`community`: A URL for a support thread, forum, or website for troubleshooting and usage support</li></ul><li>`whatsNew`: A bulleted list of changes in the current release version. This cannot exceed 500 characters. Use newlines for formatting, and don't include markdown or HTML.</li></ul>Check out our [Pageview Map application's _config.json_](https://github.com/newrelic/nr1-pageview-map/blob/main/catalog/config.json) to see a real-life implementation. |
| _documentation.md_ | A markdown file that tells users how to use the Nerdpack's Nerdlets or visualizations. This shows in the detail view's **Documentation** tab. |
| _additionalInfo.md_ | An optional markdown file for any additional information about using your application |
| _screenshots_ | A directory that contains screenshots of your Nerdlets or visualizations. This can contain no more than 6 images. All screenshots must meet the following criteria:<br /><br /><ul><li>3:2 aspect ratio</li><li>PNG format</li><li>landscape orientation</li><li>1600 to 2400 pixels wide</li></ul> |

This command also generates a `catalog` directory for each launcher, nerdlet, and visualization in your Nerdpack. Inside you'll find a directory that allows you to add screenshots for each artifact.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
This command also generates a `catalog` directory for each launcher, nerdlet, and visualization in your Nerdpack. Inside you'll find a directory that allows you to add screenshots for each artifact.
This command also generates a `catalog` directory for each launcher, Nerdlet, and visualization in your Nerdpack. Inside you'll find a directory that allows you to add screenshots for each Nerdpack item.

I feel like we're a bit TBD regarding capitalization of launcher (AC 5 here), but I think it's generally been non-caps in dev guides and it feels right to leave it non-caps in this update.

Nerdlet we should capitalize though, and suggesting the artifact -> Nerdpack item swap here along lines of @alexronquillo 's comments

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah good catch. I forgot about this one. Thanks!


```sh
ls launchers/launcher/catalog
[output] {blue}screenshots
[output]
ls nerdlets/home/catalog
[output] {blue}screenshots
```

</Step>

Expand Down Expand Up @@ -156,7 +169,7 @@ Update your _config.json_ file:

<Step>

Include screenshots in your _screenshots_ directory.
Include screenshots in your root _screenshots_ directory or any artifact _screenshots_ directory.

</Step>

Expand All @@ -166,8 +179,12 @@ Submit the information to the New Relic One catalog:

```sh
nr1 catalog:submit
[output] Uploading screenshots...
[output] {success}✔{normal} Screenshots uploaded
[output] Uploading screenshots from demo-app...
[output] {success}✔{normal} Screenshots uploaded from: demo-app
[output] Uploading screenshots from demo-app/launchers/launcher...
[output] {success}✔{normal} Screenshots uploaded from: demo-app/launchers/launcher
[output] Uploading screenshots from demo-app/nerdlets/home...
[output] {success}✔{normal} Screenshots uploaded from: demo-app/nerdlets/home
[output] {success}✔{normal} Updated metadata for DemoApp 1.0.0
```

Expand Down Expand Up @@ -216,26 +233,22 @@ Update your _package.json_ version:

```json fileName=package.json lineHighlight=4
{
"private": true,
"name": "demo-app",
"version": "1.0.1",
"scripts": {
"start": "nr1 nerdpack:serve",
"test": "exit 0"
},
"nr1": {
"uuid": "f2dbc999-e9a3-49b9-933d-5a704c6750bd"
},
"dependencies": {
"prop-types": "^15.6.2",
"react": "^16.6.3",
"react-dom": "^16.6.3"
},
"browserslist": [
"last 2 versions",
"not ie < 11",
"not dead"
]
"private": true,
"name": "demo-app",
"version": "1.0.1",
"scripts": {
"start": "nr1 nerdpack:serve",
"test": "exit 0"
},
"nr1": {
"uuid": "f2dbc999-e9a3-49b9-933d-5a704c6750bd"
},
"dependencies": {
"prop-types": "^15.6.2",
"react": "^16.6.3",
"react-dom": "^16.6.3"
},
"browserslist": ["last 2 versions", "not ie < 11", "not dead"]
}
```

Expand Down Expand Up @@ -276,8 +289,12 @@ Submit this new metadata to the catalog:

```sh
nr1 catalog:submit
[output] Uploading screenshots...
[output] {success}✔{normal} Screenshots uploaded
[output] Uploading screenshots from demo-app...
[output] {success}✔{normal} Screenshots uploaded from: demo-app
[output] Uploading screenshots from demo-app/launchers/launcher...
[output] {success}✔{normal} Screenshots uploaded from: demo-app/launchers/launcher
[output] Uploading screenshots from demo-app/nerdlets/home...
[output] {success}✔{normal} Screenshots uploaded from: demo-app/nerdlets/home
[output] {success}✔{normal} Updated metadata for DemoApp 1.0.1
```

Expand Down Expand Up @@ -347,4 +364,4 @@ nr1 catalog:submit
[output] {error}›{normal} {blue}catalog/config.json
[output] {error}›{normal} {error}Invalid Metadata: `tagline` has a character length of 266. Must be no longer than 30 characters
[output] {error}›{normal} Code: UNKNOWN
```
```