Skip to content
Merged
Show file tree
Hide file tree
Changes from all 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
10 changes: 5 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,18 +2,18 @@

Welcome to the SeaTable Developer's Repository! 🌊🔍✨

This repository serves as the foundational source for the SeaTable Developer's Manual available at https://developer.seatable.com. The developer manual is generated with the help of MkDocs Material and is a comprehensive guide and resource hub for developers aiming to build extensions, scripts, plugins, or custom applications within SeaTable.
This repository serves as the foundational source for the SeaTable Developer's Manual available at https://developer.seatable.com. The Developer Manual is generated with the help of MkDocs Material and is a comprehensive guide and resource hub for developers aiming to build extensions, scripts, plugins, or custom applications within SeaTable.

## Content

- **Introducion**: Explanation of fundamental approaches and SeaTable basic concepts.
- **Scripting in SeaTable**: Detailed instructions on scripting with a complete function overview and ready-to-use scripts.
- **Plugin Development**: Step-by-step guide to developing your own SeaTable plugin.
- **Client API's**: List of ready-to-use API clients for various programming languages like JavaScript, Python, and PHP.
- **Client APIs**: List of ready-to-use API clients for various programming languages like JavaScript, Python, and PHP.

## How to participate

Please fell free to particiate in the developer manual by creating pull requests. Before you do this, please test your changes in a local copy of this manual. Here is how you can do this.
Please fell free to participate in the Developer Manual by creating pull requests. Before you do this, please test your changes in a local copy of this manual. Here is how you can do this.

> :warning: Docker is required
>
Expand All @@ -30,7 +30,7 @@ git checkout -b <new_branch>
# please replace <new_branch> with something short like "add_python_example"
```

### Step 2: Generate your local version of the developer manual
### Step 2: Generate your local version of the Developer Manual

We developed a tiny bash script to generate the local copy of the manual.

Expand All @@ -52,7 +52,7 @@ git commit -m "<commit_message>"
git push
```

### Step 4: Stop the docker container with your local admin manual copy
### Step 4: Stop the docker container with your local Developer Manual copy

```bash
./preview.sh -stop
Expand Down
6 changes: 3 additions & 3 deletions docs/clients/index.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Client API's
# Client APIs

Thanks to seatable's full API, virtually anything can be controlled with any programming language.
Thanks to SeaTable's full API, virtually anything can be controlled with any programming language.

On [https://api.seatable.com](https://api.seatable.com) you can find all available API commands and sample commands for different programming languages.
On the [API Reference](https://api.seatable.com) you can find all available API commands and sample codes for different programming languages.

For a few programming languages there are already ready-to-use client APIs classes that do some of the work for you. These are presented in this part of the documentation.
4 changes: 2 additions & 2 deletions docs/clients/javascript/columns.md
Original file line number Diff line number Diff line change
Expand Up @@ -121,7 +121,7 @@ Every table in a base contains columns. The following calls are available to int

!!! question "addColumnOptions"

Used by single-select or multiple-select type columns
Used by "single select" or "multiple select"-type columns
``` js
base.addColumnOptions(table_name, column, options)
```
Expand All @@ -137,7 +137,7 @@ Every table in a base contains columns. The following calls are available to int

!!! question "addColumnCascadeSettings"

Used by single-select column, to add a limitation of child column options according to the option of parent column
Used by "single select"-type column, to add a limitation of child column options according to the option of parent column
``` js
base.addColumnCascadeSettings(table_name, child_column, parent_column, cascade_settings)
```
Expand Down
57 changes: 28 additions & 29 deletions docs/clients/javascript/javascript_api.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
# JavaScript Client
# JavaScript client

The SeaTable JavaScript Client encapsulates SeaTable Server Restful API. You can call it in your front-end page or Node.js program.
The SeaTable JavaScript client encapsulates SeaTable Server Restful API. You can call it in your front-end page or Node.js program.

!!! danger "JavaScript API cannot be used for scripts in SeaTable bases. For script programming with Javascript, there is a [separate chapter](/scripts/) in this documentation."
!!! warning "Two different clients"
JavaScript API cannot be used for scripts in SeaTable bases. For script programming with JavaScript, there is a [separate chapter](../../scripts/javascript/objects/index.md) in this documentation.

Note, JavaScript API calls SeaTable Server Restful API, while scripts in SeaTable bases interact with the base loaded in the browser, so the APIs of the two are somewhat different.
Note that JavaScript API calls SeaTable Server Restful API, whereas scripts in SeaTable bases interact with the base loaded in the browser, so the APIs of the two are somewhat different.

## Installation

Expand All @@ -16,45 +17,43 @@ The source code of the JavaScript Client API is available at [GitHub](https://gi

## Reference

To use SeaTable APIs, you should first initialize a base object and call `base.auth()`. `base.auth()` is an async function, which needs to be executed in async functions. Other APIs all return a promise object. There are two ways to use them
To use SeaTable APIs, you should first initialize a base object and call `base.auth()`. `base.auth()` is an async function, which needs to be executed in async functions. Other APIs all return a promise object. There are two ways to use them:

The first way:
=== "First way using then"

```
base.listViews(tableName).then(views => {
// Use views to complete the requirements
}).catch(error => {
// Exception handling
})
```
```js
base.listViews(tableName).then(views => {
// Use views to complete the requirements
}).catch(error => {
// Exception handling
})
```

The second way:
=== "Second way using await"

```
try {
const views = await base.listViews(tableName);
// Use views to complete the requirements
} catch (error) {
// Exception handling
}
```
```js
try {
const views = await base.listViews(tableName);
// Use views to complete the requirements
} catch (error) {
// Exception handling
}
```

SeaTable API Errors
Here are the main SeaTable API errors you might encounter:

- 400 Params invalid
- 403 Permission denied
- 413 exceed limit
- 413 Exceed limit (see the [API Reference](https://api.seatable.com/reference/limits) about limits)
- 500 Internal Server Error

## Authorization

Base represents a table. You can use the api token of the form to obtain the authorization to read and write the base. This token can be generated directly on the web side.

Use the API Token of the base to get access authorization.
The `Base` object represents a table. You need to specify an `APIToken` to get access authorization and to be able to read and write the base. API tokens can be directly [generated in the web interface](https://seatable.com/help/erzeugen-eines-api-tokens/).

##### Example
__Example__

```javascript
```js
import { Base } from "seatable-api";

const config = {
Expand Down
6 changes: 3 additions & 3 deletions docs/clients/php_api.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
# PHP Client
# PHP client

SeaTable's API exposes the entire SeaTable features via a standardized programmatic interface. The _SeaTable PHP Client_ encapsulates SeaTable Server Restful API. If you are familiar this client enables you to call every available API endpoint of SeaTable. You can interact with the user accounts, bases or files.

!!! success "Auto generated from openapi specification"
!!! info "Auto generated from openapi specification"

Since April 2024, we auto generate this SeaTable php client from our public available openapi specification. The advantage is that, the php client automatically contains all available API endpoints and we save a lot of programming capacity. Also we could generate more api clients for other programming languages in no time with the same feature set. The disadvantage is, that with this new client we removed some convenitent functions for authentication and the new version is not compatible at all with the version v0.2 and earlier.

Expand All @@ -16,7 +16,7 @@ composer require seatable/seatable-api-php

The source code of the PHP Client API is available at [GitHub](https://github.com/seatable/seatable-api-php).

## Getting Started
## Getting started

After installation you can easily connect to your SeaTable system and execute API calls.

Expand Down
7 changes: 4 additions & 3 deletions docs/clients/python_api.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
# Python Client
# Python client

The SeaTable Python Client encapsulates SeaTable Server Restful API. You can call it in your python programm.
The SeaTable Python Client encapsulates SeaTable Server Restful API. You can call it in your python program.

!!! success "External python programms and python scripts, executed in SeaTable, use the same python library and therefore share the same functions. For an overview of the available functions, read the chapter of [script programming with Python](/scripts/python/basic_structure_python/) in this documentation."
!!! info "Unique Python library"
Unlike JavaScript, external python programs and python scripts, executed in SeaTable, use the same python library and therefore share the same functions. For an overview of the available functions, read the chapter of [script programming with Python](../scripts/python/introduction.md) in this documentation."

## Installation

Expand Down
6 changes: 3 additions & 3 deletions docs/clients/ruby_api.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# Ruby Client
# Ruby client

One of our community members [made a first version](https://forum.seatable.com/t/seatable-ruby-ruby-gem-for-seatable/2366) of a SeaTable Ruby Client.
One of our community members [made a first version](https://forum.seatable.com/t/seatable-ruby-ruby-gem-for-seatable/2366) of a SeaTable Ruby client.

The source code of the Ruby Client API and additional explanations are available at [GitHub](https://github.com/viktorMarkevich/seatable_ruby).
The source code of the Ruby client API and additional explanations are available at [GitHub](https://github.com/viktorMarkevich/seatable_ruby).
Loading