Skip to content

Commit 03b4a09

Browse files
committed
fixing links in latest
1 parent 5d79473 commit 03b4a09

File tree

13 files changed

+50
-50
lines changed

13 files changed

+50
-50
lines changed

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.

docs/technical-details/reference/components/built-in-extensions.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ Load data from JSON or YAML files into Harper tables as part of component deploy
2020

2121
This component is an [Extension](./reference.md#extensions) and can be configured with the `files` configuration option.
2222

23-
Complete documentation for this feature is available here: [Data Loader](../applications/data-loader.md)
23+
Complete documentation for this feature is available here: [Data Loader](../../../developers/applications/data-loader.md)
2424

2525
```yaml
2626
dataLoader:
@@ -33,7 +33,7 @@ Specify custom endpoints using [Fastify](https://fastify.dev/).
3333
3434
This component is a [Resource Extension](./extensions.md#resource-extension) and can be configured with the [`files` and `urlPath`](./extensions.md#resource-extension-configuration) configuration options.
3535

36-
Complete documentation for this feature is available here: [Define Fastify Routes](../applications/define-routes.md)
36+
Complete documentation for this feature is available here: [Define Fastify Routes](../../../developers/applications/define-routes.md)
3737

3838
```yaml
3939
fastifyRoutes:
@@ -46,7 +46,7 @@ fastifyRoutes:
4646

4747
Enables GraphQL querying via a `/graphql` endpoint loosely implementing the GraphQL Over HTTP specification.
4848

49-
Complete documentation for this feature is available here: [GraphQL](../../technical-details/reference/graphql.md)
49+
Complete documentation for this feature is available here: [GraphQL](../graphql.md)
5050

5151
```yaml
5252
graphql: true
@@ -58,7 +58,7 @@ Specify schemas for Harper tables and resources via GraphQL schema syntax.
5858

5959
This component is a [Resource Extension](./extensions.md#resource-extension) and can be configured with the [`files` and `urlPath`](./extensions.md#resource-extension-configuration) configuration options.
6060

61-
Complete documentation for this feature is available here: [Defining Schemas](../applications/defining-schemas.md)
61+
Complete documentation for this feature is available here: [Defining Schemas](../../../developers/applications/defining-schemas.md)
6262

6363
```yaml
6464
graphqlSchema:
@@ -69,7 +69,7 @@ graphqlSchema:
6969

7070
Specify custom, JavaScript based Harper resources.
7171

72-
Refer to the Application [Custom Functionality with JavaScript](../applications/#custom-functionality-with-javascript) guide, or [Resource Class](../../technical-details/reference/resource.md) reference documentation for more information on custom resources.
72+
Refer to the Application [Custom Functionality with JavaScript](../../../developers/applications/README.md#custom-functionality-with-javascript) guide, or [Resource Class](../resources/README.md) reference documentation for more information on custom resources.
7373

7474
This component is a [Resource Extension](./extensions.md#resource-extension) and can be configured with the [`files` and `urlPath`](./extensions.md#resource-extension-configuration) configuration options.
7575

@@ -113,7 +113,7 @@ loadEnv:
113113

114114
Enable automatic REST endpoint generation for exported resources with this component.
115115

116-
Complete documentation for this feature is available here: [REST](../rest.md)
116+
Complete documentation for this feature is available here: [REST](../../../developers/rest.md)
117117

118118
```yaml
119119
rest: true
@@ -141,7 +141,7 @@ Specify roles for Harper tables and resources.
141141

142142
This component is a [Resource Extension](./extensions.md#resource-extension) and can be configured with the [`files` and `urlPath`](./extensions.md#resource-extension-configuration) configuration options.
143143

144-
Complete documentation for this feature is available here: [Defining Roles](../applications/defining-roles.md)
144+
Complete documentation for this feature is available here: [Defining Roles](../../../developers/applications/defining-roles.md)
145145

146146
```yaml
147147
roles:

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -166,7 +166,7 @@ For example, the [Harper Next.js Extension](https://github.com/HarperDB/nextjs#o
166166
dev: false
167167
```
168168

169-
Many protocol extensions will use the `port` and `securePort` options for configuring networking handlers. Many of the [`server`](../../technical-details/reference/globals.md#server) global APIs accept `port` and `securePort` options, so components replicated this for simpler pass-through.
169+
Many protocol extensions will use the `port` and `securePort` options for configuring networking handlers. Many of the [`server`](../globals.md#server) global APIs accept `port` and `securePort` options, so components replicated this for simpler pass-through.
170170

171171
### Protocol Extension API
172172

0 commit comments

Comments
 (0)