Go to file
ChengLei Shao a614bc7de8
feat: acl optimization (#1136)
* fix: sort field with table dose not have primary key

* feat: fixed params merger

* chore(plugins/acl): fixed params

* chore(plugins/acl): allowConfigure of collections

* chore(plugins/china-region): disable actions other than list

* chore(plugins/collection-manager): allowConfigure permission

* chore(plugins/file-manager): acl fixed params

* chore: acl fixed params

* chore: rolesResourcesScopes onDelete cascade

* fix: install error

* chore: test

* fix: root user fixed params

* fix: role resource scope onDelete

* chore: test

* chore: test

* fix: acl

* chore: disable index.html cache

* chore: disable index.html cache

* test: destory user role

* test: destory throught table

* fix: test

* fix: test

* chore: add rolesUsers to fixed params

* feat: permission logging

* feat: permission logging

* fix: test

* fix: test

* chore: disable grant target action

* fix: appends with fields

* fix: get action params

* fix: associationActions

* chore: change AssociationField using relation type

* chore: typo

* refactor: allow to skip

* fix: prettier

* chore: attachments association action

* fix: allowConfigure condition

* fix: deprecated allow

* fix: please use skip instead

* feat: table column aclcheck

* chore: test

* feat: throw error when detory no permission record

* chore: test

* chore: acl test

* feat: field acl

* chore: after action middleware

* fix: destory permission check

* chore: middleware use

* fix: test

* feat: filter match

* feat: subform/subtable field acl check

* feat: action permision by scope

* feat: action permision by scope

* feat: list action with allowedActions

* chore: all allowed action

* fix: pk error

* fix: merge error

* fix: create query sql

* fix: skip permission

* fix: scope with association field

* feat: action acl fix

* feat: action acl fix

* fix: update submodule

* Feat: setting center permission (#1214)

* feat: add setting center permissions

* feat: setting center permissions backlist

* feat: setting center permissions BLACKLIST

* feat: setting center permissions blacklist

* feat: setting center permissions blacklist

* feat: setting center permission

* feat: configure plugin tab expand

Co-authored-by: chenos <chenlinxh@gmail.com>

* Feat :field acl (#1211)

Co-authored-by: chenos <chenlinxh@gmail.com>

* fix: build error

* test: acl snippet

* feat: set field

* fix: test

* fix: build error

* fix: utils Dependency cycles

* feat: general permissions

* feat: delete pluginTabBlacklist

* fix: test

* feat: snippetManager allow method

* feat: acl role snippetAllowed method

* feat: array field repository

* feat:  ArrayFieldRepository

* fix: test

* fix: ci

* fix: ci error

* fix: add set parse

* test: array field repository

* chore: addSnippetPatten

* fix: start

* feat: sync role snippets

* feat: snippets check

* feat: snippets check

* chore: acl role snippet api

* fix: test

* fix: test

* refactor: acl role snippets

* chore: registerACLSettingSnippet

* chore: default snippets

* feat: snippets match

* feat: snippets check

* feat: snippets check

* feat: pm permision check

* feat: pm permision check

* feat: snippet pattern match

* feat: pluginManagerToolbar check

* feat: pluginManagerToolbar check

* chore: snippets default value

* feat: set role snippets migration

* chore: snippets

* feat: acl local

* feat: acl local

* feat: bookmask fix

* feat: plugin-manger & ui-editor snippet

* feat: set allowConfigure to false when upgrade to snippets

* feat: destory action acl fix

* feat: destory action acl fix

* fix: association resource params merge

* fix: ui editor snippet

* feat:  action acl fix

* chore: move list meta middleware into plugins/acl

* fix: test

* feat:  action acl fix

* feat: action acl check fix

* feat: plugins toolbar fix

* feat: gitmodules

* fix: subproject

* chore: add avaiableActions to snippet

* chore: change plugin-manager snippet

* feat: configure action acl fix

* feat: plugin tab acl check fix

* chore: roles snippets

* fix: add actions to snippet

* feat: allowconfigure fix

* fix: count with filterBy

* fix: build error

* feat: get action with allowedActions

* feat: acl route check fix

* feat:  aclActionProvider fix

* feat: actionscpe fix

* feat: actionname alias

* feat: setting center fix

* feat: acl provider fix

* fix: role collection

* feat: associate resource  acl

* feat: associate resource  acl

* feat: redirect to 403

* feat: route redirct

* feat:  acl scope check by record

* fix: fields  appends fix

* fix: fields  appends fix

* fix: fields  appends fix

* fix: allowedActions  fix

* fix:  menu items

* fix: rename

* fix: improve code

* fix: improve code

* fix: improve code

* fix: ctx?.data?.data

* fix: styling

* fix: allowAll after ignore scope

* chore: allowConfigure condition

* fix: collections.fields:*

* fix: acl test

* fix: update submodule

* fix: acl test

* fix: acl snippet

* fix: updates

* fix: only load history for logged-in users

* fix: this.app.acl.registerSnippet

* fix: downloadXlsxTemplate

* fix: 404

* feat: allowedAction in association list response

* fix: listData get

* fix: test

* fix: x-collection-field

* fix: update record error

* fix: calendar template

* test: allow manager

* fix: fetch action step

* fix: update submodule

* fix: refresh

* fix: refresh

* fix: rolesResourcesScopes

* test: snippets

* fix: snippets

* fix: test

* fix: omit filter.createdById

* fix: improve code

* fix: collections path

* fix: test error

* fix: upgrade error

* fix: errors

* fix: read allowed actions error

* fix: kanban error

* fix: error

Co-authored-by: chenos <chenlinxh@gmail.com>
Co-authored-by: katherinehhh <katherine_15995@163.com>
2023-01-09 07:35:48 +08:00
.github chore(versions): 😊 publish v0.8.1-alpha.4 (#1331) 2023-01-05 23:22:18 +08:00
.vscode refactor(sequence-field): move to plugin and use table to record (#1209) 2022-12-16 01:04:22 -08:00
docker feat: update docs 2022-12-23 10:27:37 +08:00
docs Update application.md 2022-12-31 17:26:25 +08:00
examples refactor: middleware (#857) 2022-09-29 21:05:31 +08:00
packages feat: acl optimization (#1136) 2023-01-09 07:35:48 +08:00
storage fix: yarn start error in windows system (#1177) 2022-12-02 14:23:07 +08:00
.buildrc.ts feat: build, cli, devtools, sdk, docs... 2022-05-19 00:40:55 +08:00
.editorconfig Feat: client base entry of plugin workflow (#225) 2022-03-27 15:51:48 +08:00
.env.example feat: notes on APP_ENV=production 2022-12-14 12:50:54 +08:00
.env.test.example fix: yarn start error in windows system (#1177) 2022-12-02 14:23:07 +08:00
.eslintignore v0.6 2021-12-06 21:23:34 +08:00
.eslintrc v0.5 2021-05-23 08:38:08 +08:00
.gitignore feat: duplicator plugin (#1265) 2023-01-08 12:45:02 +08:00
.gitmodules feat: submodules 2022-11-03 14:52:51 +08:00
.prettierignore feat: translation 2022-05-01 11:09:22 +08:00
.prettierrc refactor: code splitting of the table component (#121) 2021-12-02 22:56:16 +08:00
.umirc.ts feat: update docs (#996) 2022-10-31 22:41:24 +08:00
commitlint.config.js fix(root): change wrong file mode 2022-04-23 23:26:19 +08:00
docker-compose.yml docs: update installation documentation 2022-05-25 21:00:45 +08:00
Dockerfile chore: date error 2022-12-05 23:21:17 +08:00
Dockerfile.acr fix: process.env.PRESET_NOCOBASE_PLUGINS 2022-12-18 23:27:03 +08:00
jest.config.js fix: run test by jest (#891) 2022-10-13 12:37:56 +08:00
jest.setup.ts feat: error handle middleware (#214) 2022-03-02 12:50:15 +08:00
lerna.json chore(versions): 😊 publish v0.8.1-alpha.4 (#1331) 2023-01-05 23:22:18 +08:00
LICENSE feat(license): replace MIT license with Apache-2.0 2022-04-25 09:45:24 +08:00
package.json refactor: plugin manager (#775) 2022-09-18 14:10:01 +08:00
README.md Update README.md 2022-11-01 01:11:32 +08:00
README.tr-TR.md Update README.tr-TR.md 2022-11-01 01:11:33 +08:00
README.zh-CN.md feat: update docs 2022-11-02 17:06:35 +08:00
tsconfig.jest.json feat: build, cli, devtools, sdk, docs... 2022-05-19 00:40:55 +08:00
tsconfig.json fix: support pro plugins 2022-11-03 15:56:27 +08:00
tsconfig.server.json feat: build, cli, devtools, sdk, docs... 2022-05-19 00:40:55 +08:00
yarn.lock feat: acl optimization (#1136) 2023-01-09 07:35:48 +08:00

English | 中文 | Türkçe

Note: 📌

NocoBase is in early stage of development and is subject to frequent changes, please use caution in production environments.

We are hiring

We are looking for full-time, remote product design and development colleagues to join the team. If you have a strong interest in NocoBase, please feel free to email us at hello@nocobase.com.

What is NocoBase

NocoBase is a scalability-first, open-source no-code development platform. No programming required, build your own collaboration platform, management system with NocoBase in hours.

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

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

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

Contact Us:
hello@nocobase.com

Who is NocoBase for

NocoBase is designed for you if you have the following needs.

  • Develop an internal management system
  • Meet most of your business needs with no-code development
  • No-code development is simple enough for non-developers; flexible enough to be close to native development
  • Can be very easy to extend
  • Private deployment with full control of code and data
  • Free to use or pay for more technical support

Why NocoBase is different

1. Separate "data structure" and "user interface"

Most form-, table-, or process-driven codeless 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 takes into account the simplicity of codeless operation, but also the flexibility like native development.

2.collection-block.png

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 can be displayed on the usage interface, which means that administrators with system configuration rights can configure the user interface directly with WYSIWYG operations.

2.user-root.gif

3. Everything is a plugin

NocoBase adopts plugin architecture, all new features can be implemented by developing and installing plugins. In the future, we will build a plug-in marketplace where extending functionality is as easy as installing an APP on your phone.

Click to view the full image

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.