mirror of https://github.com/nocodb/nocodb
Naman Anand
3 years ago
committed by
GitHub
88 changed files with 5117 additions and 53361 deletions
After Width: | Height: | Size: 1.9 KiB |
File diff suppressed because it is too large
Load Diff
@ -1,36 +0,0 @@ |
|||||||
--- |
|
||||||
title: 'API Tokens' |
|
||||||
description: 'API Tokens' |
|
||||||
position: 1040 |
|
||||||
category: 'Developer Resources' |
|
||||||
menuTitle: 'API Tokens' |
|
||||||
--- |
|
||||||
|
|
||||||
## API Tokens |
|
||||||
NocoDB allows creating API tokens which allow it to be integrated seamlessly with 3rd party apps. |
|
||||||
|
|
||||||
<alert> |
|
||||||
API Token is a Nano ID with a length of 40. If you are passing API Token, make sure that the header is called xc-token. |
|
||||||
</alert> |
|
||||||
|
|
||||||
### Which HTTP Header to use ? |
|
||||||
|
|
||||||
- ```xc-token``` header should be set when invoking the NocoDB APIs with the token. |
|
||||||
|
|
||||||
### How to create a token ? |
|
||||||
|
|
||||||
|
|
||||||
1. Go to `Team & Settings` from the left navigation drawer |
|
||||||
![image](https://user-images.githubusercontent.com/35857179/161902474-fd06678c-a171-4237-b171-dc028b3753de.png) |
|
||||||
|
|
||||||
2. Click `API Tokens Management` |
|
||||||
![image](https://user-images.githubusercontent.com/35857179/161958345-83cb60bf-80f1-4d11-9e9c-52d0b05c7677.png) |
|
||||||
|
|
||||||
3. Click Add New Token |
|
||||||
![image](https://user-images.githubusercontent.com/35857179/161958563-dc5d380a-26c5-4b78-9d4b-e40188bef05a.png) |
|
||||||
|
|
||||||
4. Type an recognizable name for your token and click `Generate` |
|
||||||
![image](https://user-images.githubusercontent.com/35857179/161958676-e4faa321-13ca-4b11-8d22-1332c522dde7.png) |
|
||||||
|
|
||||||
5. Copy API token to your clipboard |
|
||||||
![image](https://user-images.githubusercontent.com/35857179/161958822-b0689a6a-a864-429f-8bb2-71eb92808339.png) |
|
@ -1,9 +0,0 @@ |
|||||||
--- |
|
||||||
title: 'Caching' |
|
||||||
description: 'Caching' |
|
||||||
position: 1300 |
|
||||||
category: 'Developer Resources' |
|
||||||
menuTitle: 'Caching' |
|
||||||
--- |
|
||||||
|
|
||||||
We introduced a Caching layer to store meta data by utilising Redis. By default, caching is enabled. If you prefer not to cache, you can configure it by setting environment variable `NC_DISABLE_CACHE` to `true`. You can also use your own Redis instance by setting environment variable `NC_REDIS_URL` (e.g. `redis://:authpassword@127.0.0.1:6380/4`). If you don't specify it, by default, it will be cached in memory. |
|
@ -1,9 +0,0 @@ |
|||||||
--- |
|
||||||
title: 'Data APIs' |
|
||||||
description: 'Data APIs' |
|
||||||
position: 1200 |
|
||||||
category: 'Developer Resources' |
|
||||||
menuTitle: 'Data APIs' |
|
||||||
--- |
|
||||||
|
|
||||||
TBC |
|
@ -1,9 +0,0 @@ |
|||||||
--- |
|
||||||
title: 'Meta APIs' |
|
||||||
description: 'Meta APIs' |
|
||||||
position: 1100 |
|
||||||
category: 'Developer Resources' |
|
||||||
menuTitle: 'Meta APIs' |
|
||||||
--- |
|
||||||
|
|
||||||
TBC |
|
File diff suppressed because it is too large
Load Diff
@ -1,26 +1,67 @@ |
|||||||
--- |
--- |
||||||
title: 'SDK' |
title: 'NocoDB SDK' |
||||||
description: 'SDK' |
description: 'SDK' |
||||||
position: 1400 |
position: 1400 |
||||||
category: 'Developer Resources' |
category: 'Developer Resources' |
||||||
menuTitle: 'SDK' |
menuTitle: 'NocoDB SDK' |
||||||
--- |
--- |
||||||
|
|
||||||
We provide SDK for users to integrated with their applications. Currently only Javascript is supported. |
We provide SDK for users to integrate with their applications. Currently only SDK for Javascript is supported. |
||||||
|
|
||||||
### SDK For Javascript |
<alert> |
||||||
|
Note: The NocoDB SDK requires authorization token. If you haven't created one, please check out <a href="./accessing-apis" target="_blank">Accessing APIs</a> for details. |
||||||
|
</alert> |
||||||
|
|
||||||
|
## SDK For Javascript |
||||||
|
|
||||||
|
### Install nocodb-sdk |
||||||
|
|
||||||
|
```bash |
||||||
|
npm i nocodb-sdk |
||||||
|
``` |
||||||
|
|
||||||
|
### Import Api |
||||||
|
|
||||||
```js |
```js |
||||||
import { Api } from 'nocodb-sdk' |
import { Api } from 'nocodb-sdk' |
||||||
|
``` |
||||||
|
|
||||||
|
### Configure Api |
||||||
|
|
||||||
|
The Api can be authorizated by either Auth Token or API Token. |
||||||
|
|
||||||
|
#### Example: Auth Token |
||||||
|
|
||||||
|
```js |
||||||
const api = new Api({ |
const api = new Api({ |
||||||
baseURL: 'http://<HOST>:<PORT>', |
baseURL: 'https://<HOST>:<PORT>', |
||||||
headers: { |
headers: { |
||||||
'xc-auth': '<AUTH_TOKEN>' |
'xc-auth': '<AUTH_TOKEN>' |
||||||
} |
} |
||||||
}) |
}) |
||||||
|
``` |
||||||
|
|
||||||
// await api.meta.something() |
#### Example: API Token |
||||||
// await api.data.something() |
|
||||||
|
```js |
||||||
|
const api = new Api({ |
||||||
|
baseURL: 'https://<HOST>:<PORT>', |
||||||
|
headers: { |
||||||
|
'xc-token': '<API_TOKEN>' |
||||||
|
} |
||||||
|
}) |
||||||
``` |
``` |
||||||
|
|
||||||
|
### Call Functions |
||||||
|
|
||||||
|
Once you have configured `api`, you can call different types of APIs by `api.<Tag>.<FunctionName>`. |
||||||
|
|
||||||
|
<alert> |
||||||
|
For Tag and FunctionName, please check out the API table <a href="./rest-apis" target="_blank">here</a>. |
||||||
|
</alert> |
||||||
|
|
||||||
|
#### Example: Calling API - /api/v1/db/meta/projects/{projectId}/tables |
||||||
|
|
||||||
|
```js |
||||||
|
await api.dbTable.create(params) |
||||||
|
``` |
@ -0,0 +1,18 @@ |
|||||||
|
--- |
||||||
|
title: "NocoDB Architecture" |
||||||
|
description: "NocoDB Architecture" |
||||||
|
position: 4000 |
||||||
|
category: "Engineering" |
||||||
|
menuTitle: "NocoDB Architecture" |
||||||
|
--- |
||||||
|
|
||||||
|
By default, if `NC_DB` is not specified, then SQLite will be used to store your meta data. We suggest users to separate the meta data and user data in different databases. |
||||||
|
|
||||||
|
<!-- TODO: update diagram --> |
||||||
|
<img src="../architecture.png" style="background: white;border-radius:4px;padding :10px"> |
||||||
|
|
||||||
|
| Project Type | Metadata stored in | Data stored in | |
||||||
|
|---------|-----------|--------| |
||||||
|
| Create new project | NC_DB | NC_DB | |
||||||
|
| Create new project with External Database | NC_DB | External Database | |
||||||
|
| Create new project from Excel | NC_DB | NC_DB | |
@ -0,0 +1,31 @@ |
|||||||
|
--- |
||||||
|
title: "Repository Structure" |
||||||
|
description: "Repository Structure" |
||||||
|
position: 3000 |
||||||
|
category: "Engineering" |
||||||
|
menuTitle: "Repository Structure" |
||||||
|
--- |
||||||
|
|
||||||
|
We use ``Lerna`` to manage multi-packages. We have the following [packages](https://github.com/nocodb/nocodb/tree/master/packages). |
||||||
|
|
||||||
|
- ``packages/nc-cli`` : A CLI to create NocoDB app. |
||||||
|
|
||||||
|
- ``packages/nc-common``: A common library package used internally. |
||||||
|
|
||||||
|
- ``packages/nc-gui``: NocoDB Frontend. |
||||||
|
|
||||||
|
- ``packages/nc-lib-gui``: The build version of ``nc-gui`` which will be used in ``packages/nocodb``. |
||||||
|
|
||||||
|
- ``packages/nc-migrator-archived``: SQL based schema migrations or evolutions. |
||||||
|
|
||||||
|
- ``packages/nc-plugin``: Plugin template. |
||||||
|
|
||||||
|
- ``packages/noco-blog``: NocoDB Blog which will be auto-released to [nocodb/noco-blog](https://github.com/nocodb/noco-blog). |
||||||
|
|
||||||
|
- ``packages/noco-book``: NocoDB Handbook which will be auto-released to [nocodb/noco-book](https://github.com/nocodb/noco-book). |
||||||
|
|
||||||
|
- ``packages/noco-docs``: NocoDB Documentation which will be auto-released to [nocodb/noco-docs](https://github.com/nocodb/noco-docs). |
||||||
|
|
||||||
|
- ``packages/noco-docs-prev``: NocoDB Documentation for previous versions which will be auto-released to [nocodb/noco-docs-prev](https://github.com/nocodb/noco-docs-prev) and will be completely removed on 30 Jun 2022. |
||||||
|
|
||||||
|
- ``packages/nocodb``: NocoDB Backend, hosted in [NPM](https://www.npmjs.com/package/nocodb). |
@ -0,0 +1,17 @@ |
|||||||
|
--- |
||||||
|
title: 'App Store' |
||||||
|
description: 'App Store' |
||||||
|
position: 1200 |
||||||
|
category: 'Product' |
||||||
|
menuTitle: 'App Store' |
||||||
|
--- |
||||||
|
|
||||||
|
## Overview |
||||||
|
|
||||||
|
We provide different integrations in three main categories. |
||||||
|
|
||||||
|
| Category | App Name | |
||||||
|
|---|---| |
||||||
|
| Chat | Microsoft Teams <br/> Discord <br/> Twilio <br/> Whatsapp Twilio<br/> Mattermost<br/> Slack | |
||||||
|
| Email | SMTP<br/> MailerSend<br/> AWS SES | |
||||||
|
| Storage | AWS S3 <br/> Minio <br/> Google Cloud Storage <br/> Spaces <br/> Backblaze B2 <br/> Vultr Object Storage <br/> OvhCloud Object Storage <br/> Linode Object Storage <br/> UpCloud Object Storage <br/> Scaleway Object Storage | |
@ -0,0 +1,93 @@ |
|||||||
|
--- |
||||||
|
title: 'Views' |
||||||
|
description: 'Views' |
||||||
|
position: 600 |
||||||
|
category: 'Product' |
||||||
|
menuTitle: 'Views' |
||||||
|
--- |
||||||
|
|
||||||
|
## What's a View? |
||||||
|
|
||||||
|
In a table, you can use different views to display your data. You can show specific fields in a View. You can also apply Sorting or Filtering to the View. Each View is independent, which means the configuration applying to View 1 will not apply to View 2. |
||||||
|
|
||||||
|
To navigate different views, we can select the target one in the view sidebar. By default, Grid View will be created for you after creating the table.You can create multiple views with the same type as you wish, as long as they have unique View names. |
||||||
|
|
||||||
|
![image](https://user-images.githubusercontent.com/35857179/163340916-d1101709-2051-4d0e-9d86-dd14eced49e9.png) |
||||||
|
|
||||||
|
## View Types |
||||||
|
|
||||||
|
### Grid View |
||||||
|
|
||||||
|
Grid View, as a default type of view, allows you to display your data in a spreadsheet-like interface. |
||||||
|
|
||||||
|
![image](https://user-images.githubusercontent.com/35857179/163343433-f6594d6e-5874-45ae-b403-5774247659bb.png) |
||||||
|
|
||||||
|
### Form View |
||||||
|
|
||||||
|
Form View allows you to arrange fields in a form to input data. |
||||||
|
|
||||||
|
![image](https://user-images.githubusercontent.com/35857179/163355269-73d2a9d4-bafb-47c0-8c0d-d0e66503b47a.png) |
||||||
|
|
||||||
|
You can show and hide some fields using drag-and-drop fashion. |
||||||
|
|
||||||
|
![image](https://user-images.githubusercontent.com/35857179/163355377-6b365472-efae-4f73-a103-5dde7c1f8ea7.png) |
||||||
|
|
||||||
|
### Gallery View |
||||||
|
|
||||||
|
Gallery View allows you to display images as thumbnails with other fields just like a gallery. |
||||||
|
|
||||||
|
<!-- TODO: add screenshots --> |
||||||
|
|
||||||
|
## View Permission Types |
||||||
|
|
||||||
|
We can apply permission to each View. By default, Collaborative Views will be used. To see or change the view type, check the first icon above the View sidebar. |
||||||
|
|
||||||
|
![image](https://user-images.githubusercontent.com/35857179/163343598-fd81edea-f160-41ee-8bb2-3ef1eee5348d.png) |
||||||
|
|
||||||
|
### Collaborative Views |
||||||
|
|
||||||
|
Collaborative View allows you to work with your collaborators with edit permissions. |
||||||
|
|
||||||
|
![image](https://user-images.githubusercontent.com/35857179/163343959-7e2f43cb-1a1f-4f36-985c-ca91db262f98.png) |
||||||
|
|
||||||
|
### Locked Views |
||||||
|
|
||||||
|
Locked View allows you to lock the current View so that no one can edit the View including applying operations such as Sorting or Filtering. |
||||||
|
|
||||||
|
![image](https://user-images.githubusercontent.com/35857179/163343845-b07f9d3f-5a83-4dfd-8d45-9cc59b3512c3.png) |
||||||
|
|
||||||
|
## View Operations |
||||||
|
|
||||||
|
### Create a View |
||||||
|
|
||||||
|
Click '+' in View sidebar. |
||||||
|
|
||||||
|
![image](https://user-images.githubusercontent.com/35857179/163353610-ae85967c-91ac-404f-b3b3-bd122e09f492.png) |
||||||
|
|
||||||
|
### Rename a View |
||||||
|
|
||||||
|
Hover the target View, click the icon and enter the new name. |
||||||
|
|
||||||
|
![image](https://user-images.githubusercontent.com/35857179/163353802-1da52cec-ae17-4ced-8679-62d7180683ec.png) |
||||||
|
|
||||||
|
### Delete a View |
||||||
|
|
||||||
|
Hover the target View and click the delete icon. |
||||||
|
|
||||||
|
<alert> |
||||||
|
You cannot delete the very first Grid View. |
||||||
|
</alert> |
||||||
|
|
||||||
|
![image](https://user-images.githubusercontent.com/35857179/163359795-f4420402-b2a6-41d8-b48c-f0dea8b9abbe.png) |
||||||
|
|
||||||
|
### Duplicate a View |
||||||
|
|
||||||
|
Hover the target View and click the icon and enter the new name. |
||||||
|
|
||||||
|
![image](https://user-images.githubusercontent.com/35857179/163353865-7275499e-c685-44f4-906c-ba08f0ee419e.png) |
||||||
|
|
||||||
|
### Reorder a View |
||||||
|
|
||||||
|
Hover the target View and re-order it as needed by dragging and dropping the drag icon. |
||||||
|
|
||||||
|
![image](https://user-images.githubusercontent.com/35857179/163359674-c4aeff74-1cb4-498d-b79c-c6ddf84ad352.png) |
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Loading…
Reference in new issue