Skip to content

Commit bdfb61c

Browse files
authored
Merge pull request #200 from HarperDB/cherry-pick-link-fixes
Cherry pick link fixes from release_4.6
2 parents 0164379 + 734ffd5 commit bdfb61c

File tree

16 files changed

+55
-55
lines changed

16 files changed

+55
-55
lines changed

docs/administration/administration.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ Harper provides rapid horizontal scaling capabilities through [node cloning func
1919
Harper provides robust capabilities for analytics and observability to facilitate effective and informative monitoring:
2020

2121
- Analytics provides statistics on usage, request counts, load, memory usage with historical tracking. The analytics data can be [accessed through querying](../technical-details/reference/analytics.md).
22-
- A large variety of real-time statistics about load, system information, database metrics, thread usage can be retrieved through the [`system_information` API](../developers/operations-api/utilities.md).
22+
- A large variety of real-time statistics about load, system information, database metrics, thread usage can be retrieved through the [`system_information` API](../developers/operations-api/system-operations.md).
2323
- Information about the current cluster configuration and status can be found in the [cluster APIs](../developers/operations-api/clustering.md).
2424
- Analytics and system information can easily be exported to Prometheus with our [Prometheus exporter component](https://github.com/HarperDB-Add-Ons/prometheus_exporter), making it easy visualize and monitor Harper with Graphana.
2525

docs/administration/jobs.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,11 +20,11 @@ Example job operations include:
2020

2121
[import from s3](../developers/operations-api/bulk-operations.md#import-from-s3)
2222

23-
[delete_records_before](../developers/operations-api/utilities.md#delete-records-before)
23+
[delete_records_before](../developers/operations-api/bulk-operations.md#delete-records-before)
2424

25-
[export_local](../developers/operations-api/utilities.md#export-local)
25+
[export_local](../developers/operations-api/bulk-operations.md#export-local)
2626

27-
[export_to_s3](../developers/operations-api/utilities.md#export-to-s3)
27+
[export_to_s3](../developers/operations-api/bulk-operations.md#export-to-s3)
2828

2929
Example Response from a Job Operation
3030

docs/deployments/configuration.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ The configuration elements in `harperdb-config.yaml` use camelcase, such as `ope
1212

1313
To change a configuration value, edit the `harperdb-config.yaml` file and save any changes. **HarperDB must be restarted for changes to take effect.**
1414

15-
Alternatively, all configuration values can also be modified using environment variables, command line arguments, or the operations API via the [`set_configuration` operation](../developers/operations-api/utilities.md#set-configuration).
15+
Alternatively, all configuration values can also be modified using environment variables, command line arguments, or the operations API via the [`set_configuration` operation](../developers/operations-api/configuration.md#set-configuration).
1616

1717
For nested configuration elements, use underscores to represent parent-child relationships. When accessed this way, elements are case-insensitive.
1818

docs/developers/applications/README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -69,15 +69,15 @@ Beyond applications and extensions, components are further classified as built-i
6969

7070
> Harper maintains a number of custom components that are available on `npm` and `GitHub`, such as the [`@harperdb/nextjs`](https://github.com/HarperDB/nextjs) extension or the [`@harperdb/status-check`](https://github.com/HarperDB/status-check) application.
7171
72-
Harper does not currently include any built-in applications, making "custom applications" a bit redundant. Generally, we just say "application". However, there is a multitude of both built-in and custom extensions, and so the documentation refers to them as such. A complete list of built-in extensions is available in the [Built-In Extensions](../../technical-details/reference/components/built-in.md) documentation page, and the list of custom extensions and applications is available below.
72+
Harper does not currently include any built-in applications, making "custom applications" a bit redundant. Generally, we just say "application". However, there is a multitude of both built-in and custom extensions, and so the documentation refers to them as such. A complete list of built-in extensions is available in the [Built-In Extensions](../../technical-details/reference/components/built-in-extensions.md) documentation page, and the list of custom extensions and applications is available below.
7373

7474
This guide is going to walk you through building a basic Harper application using a set of built-in extensions.
7575

7676
> The Technical Details section of the documentation contains a [complete reference for all aspects of components](../../technical-details/reference/components), applications, extensions, and more.
7777
7878
## Custom Functionality with JavaScript
7979

80-
[The getting started guide](../../getting-started/first-harper-app.md) covers how to build an application entirely through schema configuration. However, if your application requires more custom functionality, you will probably want to employ your own JavaScript modules to implement more specific features and interactions. This gives you tremendous flexibility and control over how data is accessed and modified in Harper. Let's take a look at how we can use JavaScript to extend and define "resources" for custom functionality. Let's add a property to the dog records when they are returned, that includes their age in human years. In Harper, data is accessed through our [Resource API](../../technical-details/reference/resource.md), a standard interface to access data sources, tables, and make them available to endpoints. Database tables are `Resource` classes, and so extending the function of a table is as simple as extending their class.
80+
[The getting started guide](../../getting-started/first-harper-app.md) covers how to build an application entirely through schema configuration. However, if your application requires more custom functionality, you will probably want to employ your own JavaScript modules to implement more specific features and interactions. This gives you tremendous flexibility and control over how data is accessed and modified in Harper. Let's take a look at how we can use JavaScript to extend and define "resources" for custom functionality. Let's add a property to the dog records when they are returned, that includes their age in human years. In Harper, data is accessed through our [Resource API](../../technical-details/reference/resources/README.md), a standard interface to access data sources, tables, and make them available to endpoints. Database tables are `Resource` classes, and so extending the function of a table is as simple as extending their class.
8181

8282
To define custom (JavaScript) resources as endpoints, we need to create a `resources.js` module (this goes in the root of your application folder). And then endpoints can be defined with Resource classes that `export`ed. This can be done in addition to, or in lieu of the `@export`ed types in the schema.graphql. If you are exporting and extending a table you defined in the schema make sure you remove the `@export` from the schema so that don't export the original table or resource to the same endpoint/path you are exporting with a class. Resource classes have methods that correspond to standard HTTP/REST methods, like `get`, `post`, `patch`, and `put` to implement specific handling for any of these methods (for tables they all have default implementations). To do this, we get the `Dog` class from the defined tables, extend it, and export it:
8383

@@ -207,7 +207,7 @@ Breed.sourcedFrom(BreedSource, { expiration: 3600 });
207207
208208
The [caching documentation](caching.md) provides much more information on how to use Harper's powerful caching capabilities and set up data sources.
209209
210-
Harper provides a powerful JavaScript API with significant capabilities that go well beyond a "getting started" guide. See our documentation for more information on using the [`globals`](../../technical-details/reference/globals.md) and the [Resource interface](../../technical-details/reference/resource.md).
210+
Harper provides a powerful JavaScript API with significant capabilities that go well beyond a "getting started" guide. See our documentation for more information on using the [`globals`](../../technical-details/reference/globals.md) and the [Resource interface](../../technical-details/reference/resources/README.md).
211211
212212
## Configuring Applications/Components
213213

docs/developers/applications/data-loader.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -167,6 +167,6 @@ rest: true
167167

168168
## Related Documentation
169169

170-
- [Built-In Components](../components/built-in.md)
171-
- [Extensions](../components/reference.md#extensions)
170+
- [Built-In Components](../../technical-details/reference/components/built-in-extensions.md)
171+
- [Extensions](../../technical-details/reference/components/extensions.md)
172172
- [Bulk Operations](../operations-api/bulk-operations.md) - For loading data via the Operations API

docs/developers/applications/defining-schemas.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ type Brand @table @export {
7474
}
7575
```
7676

77-
Once this is defined we can use the `brand` attribute as a [property in our product instances](../../technical-details/reference/resource.md) and allow for querying by `brand` and selecting brand attributes as returned properties in [query results](../rest.md).
77+
Once this is defined we can use the `brand` attribute as a [property in our product instances](../../technical-details/reference/resources/README.md) and allow for querying by `brand` and selecting brand attributes as returned properties in [query results](../rest.md).
7878

7979
Again, the foreign key may be a multi-valued array (array of keys referencing the target table records). For example, if we had a list of features that references a Feature table:
8080

docs/developers/miscellaneous/google-data-studio.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ Get started by selecting the Harper connector from the [Google Data Studio Partn
2626

2727
## Considerations
2828

29-
- Both Postman and the [Harper Studio](deployments/harper-cloud/) app have ways to convert a user:password pair to a Basic Auth token. Use either to create the token for the connectors user.
29+
- Both Postman and the [Harper Studio](../../administration/harper-studio/README.md) app have ways to convert a user:password pair to a Basic Auth token. Use either to create the token for the connector's user.
3030
- You may sign out of your current user by going to the instances tab in Harper Studio, then clicking on the lock icon at the top-right of a given instance’s box. Click the lock again to sign in as any user. The Basic Auth token will be visible in the Authorization header portion of any code created in the Sample Code tab.
3131
- It’s highly recommended that you create a read-only user role in Harper Studio, and create a user with that role for your data sources to use. This prevents that authorization token from being used to alter your database, should someone else ever get ahold of it.
3232
- The RecordCount field is intended for use as a metric, for counting how many instances of a given set of values appear in a report’s data set.

docs/technical-details/reference/README.md

Lines changed: 21 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -2,24 +2,24 @@
22

33
This section contains technical details and reference materials for Harper.
44

5-
- [Analytics](technical-details/reference/analytics.md)
6-
- [Architecture](technical-details/reference/architecture.md)
7-
- [Blob](technical-details/reference/blob.md)
8-
- [Content Types](technical-details/reference/content-types.md)
9-
- [Components](technical-details/reference/components/README.md)
10-
- [Applications](technical-details/reference/components/applications.md)
11-
- [Built-In Extensions](technical-details/reference/components/built-in-extensions.md)
12-
- [Configuration](technical-details/reference/components/configuration.md)
13-
- [Extensions](technical-details/reference/components/extensions.md)
14-
- [(Experimental) Plugins](technical-details/reference/components/plugins.md)
15-
- [Data Types](technical-details/reference/data-types.md)
16-
- [Dynamic Schema](technical-details/reference/dynamic-schema.md)
17-
- [Globals](technical-details/reference/globals.md)
18-
- [GraphQL](technical-details/reference/graphql.md)
19-
- [Headers](technical-details/reference/headers.md)
20-
- [Limits](technical-details/reference/limits.md)
21-
- [Resources](technical-details/reference/resources/README.md)
22-
- [Migration](technical-details/reference/resources/migration.md)
23-
- [Instance Binding](technical-details/reference/resources/instance-binding.md)
24-
- [Storage Algorithm](technical-details/reference/storage-algorithm.md)
25-
- [Transactions](technical-details/reference/transactions.md)
5+
- [Analytics](analytics.md)
6+
- [Architecture](architecture.md)
7+
- [Blob](blob.md)
8+
- [Content Types](content-types.md)
9+
- [Components](components/README.md)
10+
- [Applications](components/applications.md)
11+
- [Built-In Extensions](components/built-in-extensions.md)
12+
- [Configuration](components/configuration.md)
13+
- [Extensions](components/extensions.md)
14+
- [(Experimental) Plugins](components/plugins.md)
15+
- [Data Types](data-types.md)
16+
- [Dynamic Schema](dynamic-schema.md)
17+
- [Globals](globals.md)
18+
- [GraphQL](graphql.md)
19+
- [Headers](headers.md)
20+
- [Limits](limits.md)
21+
- [Resources](resources/README.md)
22+
- [Migration](resources/migration.md)
23+
- [Instance Binding](resources/instance-binding.md)
24+
- [Storage Algorithm](storage-algorithm.md)
25+
- [Transactions](transactions.md)

docs/technical-details/reference/components/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88

99
**Extensions** are the building blocks of the Harper component system. Applications depend on extensions to provide the functionality the application is implementing. For example, the built-in `graphqlSchema` extension enables applications to define their databases and tables using GraphQL schemas. Furthermore, the `@harperdb/nextjs` and `@harperdb/apollo` extensions are the building blocks that provide support for building Next.js and Apollo applications.
1010

11-
> As of Harper v4.6, a new, **experimental** component system has been introduced called **plugins**. Plugins are a **new iteration of the existing extension system**. They are simultaneously a simplification and an extensibility upgrade. Instead of defining multiple methods (`start` vs `startOnMainThread`, `handleFile` vs `setupFile`, `handleDirectory` vs `setupDirectory`), plugins only have to define a single `handleApplication` method. Plugins are **experimental**, and complete documentation is available on the [plugin API](../../technical-details/reference/components/plugins.md) page. In time we plan to deprecate the concept of extensions in favor of plugins, but for now, both are supported.
11+
> As of Harper v4.6, a new, **experimental** component system has been introduced called **plugins**. Plugins are a **new iteration of the existing extension system**. They are simultaneously a simplification and an extensibility upgrade. Instead of defining multiple methods (`start` vs `startOnMainThread`, `handleFile` vs `setupFile`, `handleDirectory` vs `setupDirectory`), plugins only have to define a single `handleApplication` method. Plugins are **experimental**, and complete documentation is available on the [plugin API](plugins.md) page. In time we plan to deprecate the concept of extensions in favor of plugins, but for now, both are supported.
1212
1313
All together, the support for implementing a feature is the extension, and the actual implementation of the feature is the application.
1414

docs/technical-details/reference/components/applications.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ Harper offers several approaches to managing applications that differ between lo
88

99
Harper is designed to be simple to run locally. Generally, Harper should be installed locally on a machine using a global package manager install (i.e. `npm i -g harperdb`).
1010

11-
> Before continuing, ensure Harper is installed and the `harperdb` CLI is available. For more information, review the [installation guide](../../deployments/install-harper/).
11+
> Before continuing, ensure Harper is installed and the `harperdb` CLI is available. For more information, review the [installation guide](../../../deployments/install-harper/README.md).
1212
1313
When developing an application locally there are a number of ways to run it on Harper.
1414

@@ -48,7 +48,7 @@ Alternatively, to mimic interfacing with a hosted Harper instance, use operation
4848

4949
Similar to the previous section, if the main thread needs to be restarted, start and stop the Harper instance manually (with the application deployed). Upon Harper startup, the application will automatically be loaded and executed across all threads.
5050

51-
> Not all [component operations](../operations-api/components.md) are available via CLI. When in doubt, switch to using the Operations API via network requests to the local Harper instance.
51+
> Not all [component operations](../../../developers/operations-api/components.md) are available via CLI. When in doubt, switch to using the Operations API via network requests to the local Harper instance.
5252
5353
For example, to properly _deploy_ a `test-application` locally, the command would look like:
5454

@@ -65,7 +65,7 @@ Keep in mind that using a local file path for `package` will only work locally;
6565

6666
## Remote Management
6767

68-
Managing applications on a remote Harper instance is best accomplished through [component operations](../operations-api/components.md), similar to using the `deploy` command locally. Before continuing, always backup critical Harper instances. Managing, deploying, and executing applications can directly impact a live system.
68+
Managing applications on a remote Harper instance is best accomplished through [component operations](../../../developers/operations-api/components.md), similar to using the `deploy` command locally. Before continuing, always backup critical Harper instances. Managing, deploying, and executing applications can directly impact a live system.
6969

7070
Remote Harper instances work very similarly to local Harper instances. The primary application management operations still include `deploy_component`, `drop_component`, and `restart`.
7171

@@ -106,7 +106,7 @@ Furthermore, the `package` field can be set to any valid [npm dependency value](
106106
- For applications deployed to npm, specify the package name: `package="@harperdb/status-check"`
107107
- For applications on GitHub, specify the URL: `package="https://github.com/HarperDB/status-check"`, or the shorthand `package=HarperDB/status-check`
108108
- Private repositories also work if the correct SSH keys are on the server: `package="git+ssh://[email protected]:HarperDB/secret-applications.git"`
109-
- Reference the [SSH Key](../operations-api/components.md#add-ssh-key) operations for more information on managing SSH keys on a remote instance
109+
- Reference the [SSH Key](../../../developers/operations-api/components.md#add-ssh-key) operations for more information on managing SSH keys on a remote instance
110110
- Even tarball URLs are supported: `package="https://example.com/application.tar.gz"`
111111

112112
> When using git tags, we highly recommend that you use the semver directive to ensure consistent and reliable installation by npm. In addition to tags, you can also reference branches or commit numbers.

0 commit comments

Comments
 (0)