Go to file
Sheldon Guo ff116acc42
Some checks are pending
Build Docker Image / build-and-push (push) Waiting to run
Build Pro Image / build-and-push (push) Waiting to run
E2E / Build (push) Waiting to run
E2E / Core and plugins (push) Blocked by required conditions
E2E / plugin-workflow (push) Blocked by required conditions
E2E / plugin-workflow-approval (push) Blocked by required conditions
E2E / plugin-data-source-main (push) Blocked by required conditions
E2E / Comment on PR (push) Blocked by required conditions
NocoBase Backend Test / sqlite-test (20, false) (push) Waiting to run
NocoBase Backend Test / sqlite-test (20, true) (push) Waiting to run
NocoBase Backend Test / postgres-test (public, 20, nocobase, false) (push) Waiting to run
NocoBase Backend Test / postgres-test (public, 20, nocobase, true) (push) Waiting to run
NocoBase Backend Test / postgres-test (public, 20, public, false) (push) Waiting to run
NocoBase Backend Test / postgres-test (public, 20, public, true) (push) Waiting to run
NocoBase Backend Test / postgres-test (user_schema, 20, nocobase, false) (push) Waiting to run
NocoBase Backend Test / postgres-test (user_schema, 20, nocobase, true) (push) Waiting to run
NocoBase Backend Test / postgres-test (user_schema, 20, public, false) (push) Waiting to run
NocoBase Backend Test / postgres-test (user_schema, 20, public, true) (push) Waiting to run
NocoBase Backend Test / mysql-test (20, false) (push) Waiting to run
NocoBase Backend Test / mysql-test (20, true) (push) Waiting to run
NocoBase Backend Test / mariadb-test (20, false) (push) Waiting to run
NocoBase Backend Test / mariadb-test (20, true) (push) Waiting to run
NocoBase FrontEnd Test / frontend-test (18) (push) Waiting to run
Test on Windows / build (push) Waiting to run
feat: notification manager and email channel notification (#4926)
* feat: init plugin

* feat: core  fix schema

* feat: mail init plugin

* feat: core change plugin name

* feat:  notificationType初步可以正常工作

* feat: 动态表单可以正常渲染

* feat: 修改notification type从form或record获取

* feat: 修复关联字段无法正常渲染问题

* fix: change node version

* feat: delete useless code

* feat: change Notification Sever to class

* feat: change plugin name

* feat: change plugin name

* feat: add nodemailer

* feat: change message name

* feat: change field name

* feat: temp change collection name

* feat: 初步能加载所有messageLog,  筛选还不起作用

* feat: messageLog可以显示,  但是messageId还不显示

* feat: fix bugs

* feat: fefactor message create form

* feat: temp

* feat: use mail config

* feat: add plugin preset

* feat: use array items

* feat: fix message config bug

* feat: use next yarn.lock

* feat: change dependencies to devDependencies

* feat: not improt name from package.json

* fix: fix import error

* fix: resolve confict in yarn.lock

* feat: update messageLog to Log

* feat: add workflow

* feat: add variables support

* feat: use raw textarea

* feat: temp

* feat: temp

* chore: fix variable input null value bug. Add content custom form

* feat: upgrade plugin

* feat: upgrade plugin

* feat: upgrade plugin

* feat: remove channel options title

* chore: fix some problem

* feat: temp

* feat: make field vertical

* feat: make form vertical

* feat: add locale support

* feat: refactor notification server registration to use notificationManager

* feat: add notification manager locales

* chore: remove useless file

* feat: update channel ID field type to string

* refactor: add logs locale support

* refactor: remove unused NotificationPluginStorer class

* feat: update mail channel title localization

* feat: register snippet for notification messages and allow sending messages for logged-in users

* refactor: update mail server to write logs for successful and failed email deliveries

* refactor: update mail server to write logs for successful and failed email deliveries

* refactor: optimize notification sending process and add logging for successful and failed deliveries

* refactor: update logger messages for notification delivery status

* feat: add channel collection to LogManager component

* refactor: update mail server to write logs for successful and failed email deliveries

* refactor: change message send api access right

* refactor: add id field to channel form schema and update channel collection UI

* refactor: update messageLog collection to use UUID for primary key

* refactor: update mail server to write logs for successful and failed email deliveries

* refactor: update mail server configuration form schema and UI

* refactor: update mail server configuration form schema and UI

* refactor: update channel collection name and form schema

* refactor: update mail server to write logs for successful and failed email deliveries

* refactor: update NotificationInstruction to use options instead of res and error for job result

* refactor: rename mail plugin package to use SMTP in the name

* refactor: update mail plugin package name to include SMTP

* refactor: update channel collection name and form schema

* refactor: update channel collection name and form schema

* refactor: update channel collection name and form schema

* fix: filterTargetKey

* refactor: update channel sort key

* refactor: update channel collection name and form schema

* refactor: update localization strings for email notifications

* chore: add register type unit test

* refactor: remove unused imports in registerType.test.ts

* refactor: remove unused imports in NotificationInstruction.tsx

* feat: add 'notification-manager' to the list of required plugins

* refactor: update notification sending logic in NotificationInstruction.ts

* feat: notification-core: add plugin context

* feat: add receiverType field to MessageConfigForm

* feat: add receiverType field to MessageConfigForm

* feat: add receiverType field to MessageConfigForm

* feat: refactor ReceiverConfigForm component structure

* feat: add description to channel name field

* feat: update channel schema with ellipsis for long values

* feat: update channel schema with ellipsis for long values, use tablev2 and formv2

* refactor: improve workflow execute logs

* feat: update channel schema with ellipsis for long values, use tablev2 and formv2

* feat: update channel schema with refresh and filter actions

* feat: update nocobase presets with workflow notification and notification manager plugins

* feat: remove unused channelId property from SendOptions interface

* feat: update @nocobase/plugin-notification-manager dependency to version >=0.17.0-alpha.3

* feat: update package descriptions and display names for notification plugins

* feat: update MessageConfigForm to use variableOptions for ReceiverInputComponent

* chore: update plugin versions to 1.4.0-alpha

* feat: update channel schema to include channelTitle property

* feat: update notification manager plugin locale and form components

* feat: update mail-server.ts to support sending emails to multiple receivers, cc, and bcc

* feat: update channel manager component to handle empty channel types

* feat: update channel manager component to handle empty channel types

* feat: update channel manager component to handle empty channel types

* feat: update rowKey fallback value in useTableBlockProps

* feat: temp

* refactor: update mail-server.ts and tsconfig.json

* refactor: update mail-server.ts and tsconfig.json

* refactor: update tsconfig.json to enable strictNullChecks and disallow JavaScript files

feat: Add 'workflow-notification' plugin to the list of presets in server/index.ts

* refactor: update localization files for channel display name and failed reason

* chore: improve UI

* refactor: update localization files for message

* refactor: update delete action confirmation message

* refactor: update constant for notification logs collection name

* refactor: update channel schema for action buttons and delete confirmation

* refactor: update provider name retrieval in MessageConfigForm

* refactor: update localization files for message

* refactor: update sendParams in NotificationInstruction

* refactor: update channel type constant to 'smtp-mail'

* refactor: remove unused code related to delete action in channel manager

* refactor: remove unused code related to delete action in channel manager

* refactor: update channel collection name constant

* refactor: update log detail visibility condition

* refactor: rename ContentConfigForm to MessageConfigForm

* refactor: update register and send api

* feat: update channel registerType function params

* refactor: update channel type key in ConfigForm component

(cherry picked from commit a00c75a8fb)

* refactor: remove unused import in ConfigForm component

* fix: improve code

* refactor: fix channelTypes reference in PluginNotificationManagerClient

* refactor: add permission for notificationChannels in PluginNotificationManagerServer

* fix: improve code

* fix: improve code

* fix: improve code

* fix: improve code

* fix: improve code

* fix: acl

* fix: build error

---------

Co-authored-by: chenos <chenlinxh@gmail.com>
2024-09-28 23:55:04 +08:00
.github Merge branch 'main' into next 2024-09-14 09:57:21 +00:00
.vscode client unit test (#4150) 2024-04-24 20:33:14 +08:00
benchmark perf(server): optimize performance of APIs (#3079) 2023-12-12 23:02:09 +08:00
docker feat: encryption field (#4975) 2024-08-09 17:14:37 +08:00
examples feat: application supervisor (#2353) 2023-08-24 17:47:45 +08:00
packages feat: notification manager and email channel notification (#4926) 2024-09-28 23:55:04 +08:00
scripts fix(release): changelog script 2024-09-10 12:49:50 +08:00
storage chore: update dependencies (#4747) 2024-06-25 12:44:51 +08:00
.dockerignore chore: dockerignore 2023-08-02 13:45:52 +08:00
.editorconfig Feat: client base entry of plugin workflow (#225) 2022-03-27 15:51:48 +08:00
.env.e2e.example feat: encryption field (#4975) 2024-08-09 17:14:37 +08:00
.env.example Update .env.example 2024-09-08 13:29:54 +08:00
.env.test.example fix: test env file 2024-08-26 19:18:05 +08:00
.eslintignore refactor: export AuthenticatorsContextProvider and add client.d.ts (#4311) 2024-05-10 16:55:35 +08:00
.eslintrc test(e2e): add tests for client (#3144) 2023-12-13 14:14:33 +08:00
.gitignore feat: simplify the process of adding and updating plugins (#5275) 2024-09-15 01:37:46 +08:00
.gitpod.yml chore: gitpod yml 2023-02-15 14:47:02 +00:00
.prettierignore chore: update lerna.json 2024-04-23 11:17:28 +08:00
.prettierrc refactor: code splitting of the table component (#121) 2021-12-02 22:56:16 +08:00
.yarnrc chore: add .yarnrc 2024-03-15 15:49:12 +08:00
CHANGELOG.md docs: update changelogs 2024-09-25 14:04:16 +00:00
CHANGELOG.zh-CN.md docs: update changelogs 2024-09-25 14:04:16 +00:00
cnpm-sync.js chore: cnpm sync 2024-06-21 13:03:01 +08:00
commitlint.config.js fix: eslint (#1759) 2023-04-25 13:12:14 +08:00
deploy-docs-cn.sh feat: update docs 2023-06-20 18:05:06 +08:00
deploy-docs.sh feat: update docs 2023-06-20 18:05:06 +08:00
docker-compose.yml feat: database view collection (#1587) 2023-04-01 21:56:01 +08:00
Dockerfile chore: update Dockerfile 2024-08-26 01:41:31 +08:00
Dockerfile.pro chore: update pro dockerfile 2024-09-03 14:46:20 +08:00
generate-npmignore.sh chore: update generate-npmignore.sh 2024-09-24 09:50:20 +08:00
lerna.json chore(versions): 😊 publish v1.3.25-beta 2024-09-25 13:23:32 +00:00
LICENSE-AGPL.txt feat: update agreements 2024-03-30 14:19:44 +08:00
LICENSE.txt Update LICENSE.txt 2024-09-17 07:05:43 +08:00
package.json fix: exclude packages/pro-plugins 2024-08-05 13:28:40 +08:00
playwright.config.ts refactor: establish a sound testing system (#3179) 2023-12-21 20:39:11 +08:00
README.ja-JP.md Update README.ja-JP.md 2024-09-03 15:10:18 +08:00
README.md Update README.md 2024-09-03 14:46:38 +08:00
README.zh-CN.md Update README.zh-CN.md 2024-09-03 14:54:10 +08:00
release.sh fix(ci): release error (#5193) 2024-09-04 12:58:51 +08:00
SECURITY.md Update SECURITY.md 2023-11-29 15:46:06 +08:00
tsconfig.json Merge branch 'main' into next 2024-07-29 00:00:12 +08:00
tsconfig.server.json feat: build, cli, devtools, sdk, docs... 2022-05-19 00:40:55 +08:00
vitest.config.mts create nocobase app unit test (#3833) 2024-03-28 11:08:08 +08:00
yarn.lock feat: notification manager and email channel notification (#4926) 2024-09-28 23:55:04 +08:00

English | 中文 | 日本語

https://github.com/nocobase/nocobase/assets/1267426/1d6a3979-d1eb-4e50-b726-2f90c3f82eeb

We'd love your support!

nocobase%2Fnocobase | Trendshift

NocoBase - Scalability-first, open-source no-code platform | Product Hunt

Recent major updates

What is NocoBase

NocoBase is a scalability-first, open-source no-code development platform.
Instead of investing years of time and millions of dollars in research and development, deploy NocoBase in a few minutes and you'll have a private, controllable, and extremely scalable no-code development platform!

Homepage:
https://www.nocobase.com/

Online Demo:
https://demo.nocobase.com/new

Documents:
https://docs.nocobase.com/

Forum:
https://forum.nocobase.com/

Distinctive features

1. Data model-driven

Most form-, table-, or process-driven no-code products create data structures directly in the user interface, such as Airtable, where adding a new column to a table is adding a new field. This has the advantage of simplicity of use, but the disadvantage of limited functionality and flexibility to meet the needs of more complex scenarios.

NocoBase adopts the design idea of separating the data structure from the user interface, allowing you to create any number of blocks (data views) for the data collections, with different type, styles, content, and actions in each block. This balances the simplicity of no-code operation with the flexibility of native development.

model

2. What you see is what you get

NocoBase enables the development of complex and distinctive business systems, but this does not mean that complex and specialized operations are required. With a single click, configuration options are displayed on the usage interface, and administrators with system configuration privileges can directly configure the user interface in a WYSIWYG manner.

wysiwyg

3. Everything is implemented as plugins

NocoBase adopts plugin architecture, all new functions can be realized by developing and installing plugins, and expanding the functions is as easy as installing an APP on your phone.

plugins

Installation

NocoBase supports three installation methods:

  • Installing With Docker (👍Recommended)

    Suitable for no-code scenarios, no code to write. When upgrading, just download the latest image and reboot.

  • Installing from create-nocobase-app CLI

    The business code of the project is completely independent and supports low-code development.

  • Installing from Git source code

    If you want to experience the latest unreleased version, or want to participate in the contribution, you need to make changes and debug on the source code, it is recommended to choose this installation method, which requires a high level of development skills, and if the code has been updated, you can git pull the latest code.