diff --git a/MANIFESTO.md b/MANIFESTO.md new file mode 100644 index 000000000..9c063e0c5 --- /dev/null +++ b/MANIFESTO.md @@ -0,0 +1,20 @@ +# Lowcoder Manifesto + +Dear Community, + +We are excited to announce a new initiative to support and extend Openblocks, which unfortunately has been abandoned by its original team. Openblocks has been a critical part of many of our workflows, and we believe it's essential to keep it alive and thriving. + +We have come together out of a shared passion for the project and a commitment to providing a toolchain that allows you to create apps blazingly fast using a simple, intuitive UI. We are dedicated to continuing the project's legacy under a new name, Lowcoder. + +To provide continuous support to all members of the community, we have decided to form two individual teams: + +_Lowcoder.org_ will remain fully open source, accessible to all, and free from any restrictions or limitations. As part of our commitment to the community, we will take over all maintenance, bug fixes, and feature development. We plan to prioritize stability and reliability while also introducing new features and enhancements to keep pace with evolving technology. We will maintain open communication channels, seek feedback, and actively engage with users and contributors to ensure that Lowcoder remains relevant and useful to all. We will be transparent about our development roadmap, progress, and any challenges that arise. + +_Lowcoder.cloud_ will actively develop and maintain the enterprise version and provide a managed cloud offering using both the latest Lowcoder.org version and the proprietary Enterprise version. + +The two teams will collaborate and support each other, focusing on a long-term partnership to ensure a healthy product and community. + +We invite all members of the community to join us on this journey. Whether you are a user, contributor, or enterprise customer, your input and support are critical to the success of Lowcoder. Let's work together to keep this project alive and thriving for many years to come. + +Sincerely, +The Lowcoder Team diff --git a/README.md b/README.md index 7ac8bc186..09aefe9e7 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@

- Openblocks
+ Lowcoder
The Open Source Retool Alternative

@@ -8,20 +8,23 @@

+> **Note** +> Lowcoder continues from the abandoned Openblocks project. For more information read our [manifesto](MANIFESTO.md). + -## 📢 Use Openblocks in 3 steps +## 📢 Use Lowcoder in 3 steps 1. Connect to any data sources or APIs. 2. Build UI with 50+ components. 3. Share with colleagues and customers. -## 💡 Why Openblocks +## 💡 Why Lowcoder It's cumbersome to create a single app. You had to design user interfaces, write code in multiple languages and frameworks, and understand how all of that code works together. Low-code/No-code platforms are fast to get started with but quickly become unmaintainable and inflexible. This creates more problems than it solves. Retool-like solutions are great for their simplicity and flexibility, but they can also be limited in different ways compared to frameworks like React/Vue. -Openblocks wants to take a step forward. More specifically, Openblocks is +Lowcoder wants to take a step forward. More specifically, Lowcoder is - An all-in-one IDE to create internal or customer-facing apps. - A place to create, build and share building blocks of web applications. - A domain-specific language that UI-configurable block is the first-class citizen. @@ -29,60 +32,41 @@ Openblocks wants to take a step forward. More specifically, Openblocks is ## 🪄 Features - **Visual UI builder** with 50+ built-in components. - **Module and Query Library** for reusable components and queries in the UI builder. -- **Custom components** to share through React and Openblocks SDK (instead of iFrame). +- **Custom components** to share through React and Lowcoder SDK (instead of iFrame). - **Native connections** to PostgreSQL, MongoDB, MySQL, Redis, Elasticsearch, REST API, SMTP, etc. - **JavaScript supported everywhere** to transform data, control components, etc. -- **Embed Openblocks pages as a React component** (instead of iFrame). [Demo](https://github.com/openblocks-dev/openblocks-sdk-demo) +- **Embed Lowcoder pages as a React component** (instead of iFrame). [Demo](https://github.com/lowcoder-org/lowcoder-sdk-demo) - **Role-based access control (RBAC)** for granular permission management. - **Auto-saved and restorable history** for release and version control. - **DIY app themes** to precisely align with your company's content. - **Audit logs** to track activities and ensure compliance. ## 🏆 Comparisons -### Openblocks vs Retool -- Openblocks is open-source. You don't need to worry about vendor lock-in or being stuck with an outdated version of the software. -- In Openblocks, developers can create and use their own components instead of depending on official updates. -- Openblocks supports left menu navigation (like most sites do). Retool has header navigation only. -### Openblocks vs Appsmith, Tooljet -- Openblocks has more components and richer configuration than Appsmith and Tooljet. -- In Openblocks, you can choose auto-height or fixed-height mode for your components, while Appsmith supports fixed-height mode only. -- In Openblocks, you can reuse common structures when building apps with modules and query library features. +### Lowcoder vs Retool +- Lowcoder is open-source. You don't need to worry about vendor lock-in or being stuck with an outdated version of the software. +- In Lowcoder, developers can create and use their own components instead of depending on official updates. +- Lowcoder supports left menu navigation (like most sites do). Retool has header navigation only. +### Lowcoder vs Appsmith, Tooljet +- Lowcoder has more components and richer configuration than Appsmith and Tooljet. +- In Lowcoder, you can choose auto-height or fixed-height mode for your components, while Appsmith supports fixed-height mode only. +- In Lowcoder, you can reuse common structures when building apps with modules and query library features. ## 👐 Support and Community If you have any questions, please feel free to contact us or share with our community. Our team is here ready to help. -📮 Chat with us on [Discord](https://discord.com/invite/z5W2YHXdtt) +📮 Chat with us on [Discord](https://discord.gg/vByQwGT2Yx) -📑 Search for solutions in our [Documentation](https://docs.openblocks.dev/) +📑 Search for solutions in our [Documentation](docs) -🔎 Submit an issue here on [GitHub](https://github.com/openblocks-dev/openblocks/issues) +🔎 Submit an issue here on [GitHub](https://github.com/lowcoder-org/lowcoder/issues) ## 💻 Deployment Options -You can access Openblocks from [cloud-hosted version](https://cloud.openblocks.dev/) at any time, or use the following resources for deploying Openblocks on different platforms: -- [Docker](https://docs.openblocks.dev/self-hosting) -- [AWS AMI](https://docs.openblocks.dev/self-hosting/aws-ami) -- [DigitalOcean](https://docs.openblocks.dev/self-hosting/digitalocean) +You can access Lowcoder from [cloud-hosted version](https://www.lowcoder.cloud/) at any time, or use the following resources for deploying Lowcoder on different platforms: +- [Docker](docs/self-hosting/README.md) +- [AWS AMI](docs/self-hosting/aws-ami.md) (Coming Soon) +- [DigitalOcean](docs/self-hosting/digitalocean.md) (Coming Soon) ## 💪 Contributing - Language support: If you have experience with a language that isn't currently supported by our product, send us a pull request. - Create and share components or demos: If you've created something that might be useful to others, add the link here. -- [Frontend contributing guide](https://github.com/openblocks-dev/openblocks/tree/develop/client) - -## 📝 Examples(WIP) -- [Basic CRUD](https://cloud.openblocks.dev/apps/6374b8dbc23a1103804cc23e/view) -- [Simple table horizontal scroll and pagination demo](https://cloud.openblocks.dev/apps/6377695dc54c5224c70e9770/view) -- [Pagination with temporary state demo](https://cloud.openblocks.dev/apps/6379cdd9f02c6e6ecc1d37ff/view) -- [Import third-party JS lib demo](https://cloud.openblocks.dev/apps/637a1797c54c5224c70efed3/view) -- [JSON schema parsing using a third-party lib](https://cloud.openblocks.dev/apps/638dc95c75cfb658566143c5/view) -- [Custom Echarts demo](https://cloud.openblocks.dev/apps/63779dd6c54c5224c70ea537/view), [Echarts source](https://echarts.apache.org/examples/en/editor.html?c=area-stack) -- [Periodically user action report demo](https://cloud.openblocks.dev/apps/637f38daa899fe1ffcb17f0b/view) -- [Generate PDF using jsPdf](https://cloud.openblocks.dev/apps/6388610b0a254922d92e3882/view) -- [Excel Explorer](https://cloud.openblocks.dev/apps/6392ff5d51cd8a59114b0c2c/view) -- [File upload with REST API](https://cloud.openblocks.dev/apps/63a2651e660ad97d59eb4a51/view) -- [Shopping cart demo using transformers/state/drawer](https://cloud.openblocks.dev/apps/63a422a344075b798fe3ae06/view) -- [Module demo: color picker](https://cloud.openblocks.dev/apps/63a58f1e85d4cb49cebad1d4/view) -- [S3 File Management](https://cloud.openblocks.dev/apps/63c7aa55686c4f301cf4d755/view) -- [Custom Markdown Style](https://cloud.openblocks.dev/apps/63c8bdb9de760726cd253c90/view) -- [Use JS query to orchestrate other queries](https://cloud.openblocks.dev/apps/63c8fb1e0279b679be2b5a09/view) -- [Data responder demo](https://cloud.openblocks.dev/apps/63f84d23f5f6f66102fedf81/view) -- [Change theme by code](https://cloud.openblocks.dev/apps/63f84ca9f5f6f66102fedf3b/view) +- [Frontend contributing guide](https://github.com/lowcoder-org/lowcoder/tree/develop/client) diff --git a/app.json b/app.json index ab9fafb42..47d629bc0 100644 --- a/app.json +++ b/app.json @@ -1,7 +1,7 @@ { - "name": "Openblocks", - "description": "Openblocks is a developer-friendly open-source low code platform to build internal apps within minutes.", - "repository": "https://github.com/openblocks-dev/openblocks", + "name": "Lowcoder", + "description": "Lowcoder is a developer-friendly open-source low code platform to build internal apps within minutes.", + "repository": "https://github.com/lowcoder-org/lowcoder", "logo": "https://cdn-files.openblocks.dev/logo.png", "keywords": [ "low code", diff --git a/client/README.md b/client/README.md index fc8486659..b5b16013f 100644 --- a/client/README.md +++ b/client/README.md @@ -1,4 +1,4 @@ -# Openblocks' frontend +# Lowcoder frontend ## How to contribute @@ -9,10 +9,10 @@ Simply run below command to start a backend server. ```bash -docker run -d --name openblocks -p 3000:3000 -v "$PWD/stacks:/openblocks-stacks" openblocksdev/openblocks-ce +docker run -d --name openblocks -p 3000:3000 -v "$PWD/stacks:/openblocks-stacks" lowcoderorg/lowcoder-ce ``` -For more information, view our doc https://docs.openblocks.dev/self-hosting +For more information, view our [docs](../docs/self-hosting) #### Build Docker image from source diff --git a/client/packages/openblocks-cli-template-typescript/README-template.md b/client/packages/openblocks-cli-template-typescript/README-template.md index d13740b65..3257ea6bb 100644 --- a/client/packages/openblocks-cli-template-typescript/README-template.md +++ b/client/packages/openblocks-cli-template-typescript/README-template.md @@ -14,7 +14,7 @@ npm start ## Build -Build current comp lib into a .tgz file that you can upload it to the Openblocks Comp Market. +Build current comp lib into a .tgz file that you can upload it to the Lowcoder Comp Market. Before build you should change the version in package.json file. diff --git a/client/packages/openblocks-comps/README.md b/client/packages/openblocks-comps/README.md index d13740b65..3257ea6bb 100644 --- a/client/packages/openblocks-comps/README.md +++ b/client/packages/openblocks-comps/README.md @@ -14,7 +14,7 @@ npm start ## Build -Build current comp lib into a .tgz file that you can upload it to the Openblocks Comp Market. +Build current comp lib into a .tgz file that you can upload it to the Lowcoder Comp Market. Before build you should change the version in package.json file. diff --git a/client/packages/openblocks-design/README.md b/client/packages/openblocks-design/README.md index 0b86eb32a..40bc349cc 100644 --- a/client/packages/openblocks-design/README.md +++ b/client/packages/openblocks-design/README.md @@ -1,6 +1,6 @@ # openblocks-design -Openblocks base react components. +Lowcoder base react components. When add new components, you should rebuild it with: diff --git a/client/packages/openblocks-plugin-demo/README.md b/client/packages/openblocks-plugin-demo/README.md index d13740b65..3257ea6bb 100644 --- a/client/packages/openblocks-plugin-demo/README.md +++ b/client/packages/openblocks-plugin-demo/README.md @@ -14,7 +14,7 @@ npm start ## Build -Build current comp lib into a .tgz file that you can upload it to the Openblocks Comp Market. +Build current comp lib into a .tgz file that you can upload it to the Lowcoder Comp Market. Before build you should change the version in package.json file. diff --git a/client/packages/openblocks-sdk/README.md b/client/packages/openblocks-sdk/README.md index 77c0b8e64..6a0d9b772 100644 --- a/client/packages/openblocks-sdk/README.md +++ b/client/packages/openblocks-sdk/README.md @@ -14,9 +14,9 @@ npm: npm install openblocks-sdk ``` -## Integrate Openblocks' app/module into existing app page +## Integrate Lowcoder's app/module into existing app page -1. Publish your app/module in Openblocks. +1. Publish your app/module in Lowcoder. 2. Set the app/module's access privilege as public. 3. Add code in your existing app as below. @@ -36,12 +36,12 @@ import { OpenblocksAppView } from "openblocks-sdk"; #### OpenblocksViewProps -| Name | Type | Description | Default value | -| ---------------------- | --------------------------- | --------------------------------------------------------------------------------------- | -------------------------- | -| appId | string | The app's id in Openblocks. Required! | -- | -| baseUrl | string | Openblocks' api base url | https://api.openblocks.dev | -| onModuleEventTriggered | (eventName: string) => void | Triggered when module's custom event is triggered. Works only when the app is a module. | -- | -| onModuleOutputChange | (output: any) => void | Triggered when module's outputs change. Works only when the app is a module. | -- | +| Name | Type | Description | Default value | +|------------------------|-----------------------------|-----------------------------------------------------------------------------------------|---------------| +| appId | string | The app's id in Lowcoder. Required! | -- | +| baseUrl | string | Lowcoder's api base url | -- | +| onModuleEventTriggered | (eventName: string) => void | Triggered when module's custom event is triggered. Works only when the app is a module. | -- | +| onModuleOutputChange | (output: any) => void | Triggered when module's outputs change. Works only when the app is a module. | -- | #### Invoke module methods diff --git a/deploy/docker/Dockerfile b/deploy/docker/Dockerfile index 6ccad755d..eda8fb257 100644 --- a/deploy/docker/Dockerfile +++ b/deploy/docker/Dockerfile @@ -1,5 +1,5 @@ ## -## Create custom JRE for running Openblocks server application +## Create custom JRE for running Lowcoder server application ## FROM eclipse-temurin:17-jdk-jammy AS jre-build RUN jlink --add-modules java.base,java.compiler,java.datatransfer,java.desktop,java.instrument,java.logging,java.management,java.management.rmi,java.naming,java.net.http,java.prefs,java.rmi,java.scripting,java.se,java.security.jgss,java.security.sasl,java.smartcardio,java.sql,java.sql.rowset,java.transaction.xa,java.xml,java.xml.crypto,jdk.accessibility,jdk.charsets,jdk.crypto.cryptoki,jdk.crypto.ec,jdk.dynalink,jdk.httpserver,jdk.incubator.foreign,jdk.incubator.vector,jdk.internal.vm.ci,jdk.jdwp.agent,jdk.jfr,jdk.jsobject,jdk.localedata,jdk.management,jdk.management.agent,jdk.management.jfr,jdk.naming.dns,jdk.naming.rmi,jdk.net,jdk.nio.mapmode,jdk.sctp,jdk.security.auth,jdk.security.jgss,jdk.unsupported,jdk.xml.dom,jdk.zipfs,jdk.attach \ @@ -9,60 +9,60 @@ RUN jlink --add-modules java.base,java.compiler,java.datatransfer,java.desktop,j --compress=2 ## -## Build Openblocks api-service application +## Build Lowcoder api-service application ## FROM maven:3.9-eclipse-temurin-17 AS build-api-service -COPY ./server/api-service /openblocks-server -WORKDIR /openblocks-server +COPY ./server/api-service /lowcoder-server +WORKDIR /lowcoder-server RUN --mount=type=cache,target=/root/.m2 mvn -f pom.xml clean package -DskipTests # Create required folder structure -RUN mkdir -p /openblocks/api-service/plugins /openblocks/api-service/config /openblocks/api-service/logs +RUN mkdir -p /lowcoder/api-service/plugins /lowcoder/api-service/config /lowcoder/api-service/logs -# Define openblocks main jar and plugin jars -ARG JAR_FILE=/openblocks-server/openblocks-server/target/openblocks-server-1.0-SNAPSHOT.jar -ARG PLUGIN_JARS=/openblocks-server/openblocks-plugins/*/target/*.jar +# Define lowcoder main jar and plugin jars +ARG JAR_FILE=/lowcoder-server/lowcoder-server/target/lowcoder-server-1.0-SNAPSHOT.jar +ARG PLUGIN_JARS=/lowcoder-server/lowcoder-plugins/*/target/*.jar # Copy Java runtime for running server -COPY --from=jre-build /build/jre /openblocks/api-service/jre +COPY --from=jre-build /build/jre /lowcoder/api-service/jre -# Copy openblocks server application and plugins -RUN cp ${JAR_FILE} /openblocks/api-service/server.jar \ - && cp ${PLUGIN_JARS} /openblocks/api-service/plugins/ +# Copy lowcoder server application and plugins +RUN cp ${JAR_FILE} /lowcoder/api-service/server.jar \ + && cp ${PLUGIN_JARS} /lowcoder/api-service/plugins/ -# Copy openblocks server configuration -COPY server/api-service/openblocks-server/src/main/resources/selfhost/ce/application.yml /openblocks/api-service/config/ -COPY server/api-service/openblocks-server/src/main/resources/selfhost/ce/application-selfhost.yml /openblocks/api-service/config/ +# Copy lowcoder server configuration +COPY server/api-service/lowcoder-server/src/main/resources/selfhost/ce/application.yml /lowcoder/api-service/config/ +COPY server/api-service/lowcoder-server/src/main/resources/selfhost/ce/application-selfhost.yml /lowcoder/api-service/config/ # Add bootstrapfile -COPY deploy/docker/api-service/entrypoint.sh /openblocks/api-service/entrypoint.sh -COPY deploy/docker/api-service/init.sh /openblocks/api-service/init.sh -RUN chmod +x /openblocks/api-service/*.sh +COPY deploy/docker/api-service/entrypoint.sh /lowcoder/api-service/entrypoint.sh +COPY deploy/docker/api-service/init.sh /lowcoder/api-service/init.sh +RUN chmod +x /lowcoder/api-service/*.sh ## -## Intermediary Openblocks api-service image +## Intermediary Lowcoder api-service image ## ## To create a separate image out of it, build it with: -## DOCKER_BUILDKIT=1 docker build -f deploy/docker/Dockerfile -t openblocksdev/openblocks-ce-api-service --target openblocks-ce-api-service . +## DOCKER_BUILDKIT=1 docker build -f deploy/docker/Dockerfile -t lowcoderorg/lowcoder-ce-api-service --target lowcoder-ce-api-service . ## -FROM ubuntu:jammy as openblocks-ce-api-service -LABEL maintainer="openblocks" +FROM ubuntu:jammy as lowcoder-ce-api-service +LABEL maintainer="lowcoder" RUN apt-get update && apt-get install -y --no-install-recommends gosu \ && rm -rf /var/cache/apt/lists \ - && addgroup --system --gid 9001 openblocks \ - && adduser --system --disabled-password --no-create-home --uid 9001 --gid 9001 openblocks + && addgroup --system --gid 9001 lowcoder \ + && adduser --system --disabled-password --no-create-home --uid 9001 --gid 9001 lowcoder -# Copy openblocks server configuration -COPY --chown=openblocks:openblocks --from=build-api-service /openblocks/api-service /openblocks/api-service +# Copy lowcoder server configuration +COPY --chown=lowcoder:lowcoder --from=build-api-service /lowcoder/api-service /lowcoder/api-service EXPOSE 8080 -CMD [ "sh" , "/openblocks/api-service/entrypoint.sh" ] +CMD [ "sh" , "/lowcoder/api-service/entrypoint.sh" ] ############################################################################# ## -## Build openblocks node service +## Build lowcoder node service ## FROM ubuntu:jammy as build-node-service @@ -74,46 +74,46 @@ RUN curl -sL https://deb.nodesource.com/setup_19.x | bash - \ && npm install -g yarn # Copy and build the node-service app -COPY server/node-service/ /openblocks/node-service/app/ -WORKDIR /openblocks/node-service/app/ +COPY server/node-service/ /lowcoder/node-service/app/ +WORKDIR /lowcoder/node-service/app/ RUN yarn --immutable RUN yarn build # Copy startup script -COPY deploy/docker/node-service/entrypoint.sh /openblocks/node-service/entrypoint.sh -COPY deploy/docker/node-service/init.sh /openblocks/node-service/init.sh -RUN chmod +x /openblocks/node-service/*.sh +COPY deploy/docker/node-service/entrypoint.sh /lowcoder/node-service/entrypoint.sh +COPY deploy/docker/node-service/init.sh /lowcoder/node-service/init.sh +RUN chmod +x /lowcoder/node-service/*.sh ## -## Intermediary Openblocks node service image +## Intermediary Lowcoder node service image ## ## To create a separate image out of it, build it with: -## DOCKER_BUILDKIT=1 docker build -f deploy/docker/Dockerfile -t openblocksdev/openblocks-ce-node-service --target openblocks-ce-node-service . +## DOCKER_BUILDKIT=1 docker build -f deploy/docker/Dockerfile -t lowcoderorg/lowcoder-ce-node-service --target lowcoder-ce-node-service . ## -FROM ubuntu:jammy as openblocks-ce-node-service -LABEL maintainer="openblocks" +FROM ubuntu:jammy as lowcoder-ce-node-service +LABEL maintainer="lowcoder" RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install --no-install-recommends -y curl ca-certificates \ && curl -sL https://deb.nodesource.com/setup_19.x | bash - \ && apt-get install --no-install-recommends -y nodejs gosu \ && npm install -g yarn \ && rm -rf /var/cache/apt/lists \ - && addgroup --system --gid 9001 openblocks \ - && adduser --system --disabled-password --no-create-home --uid 9001 --gid 9001 openblocks + && addgroup --system --gid 9001 lowcoder \ + && adduser --system --disabled-password --no-create-home --uid 9001 --gid 9001 lowcoder -COPY --from=build-node-service /openblocks/node-service /openblocks/node-service +COPY --from=build-node-service /lowcoder/node-service /lowcoder/node-service EXPOSE 6060 -CMD [ "/bin/sh", "/openblocks/node-service/entrypoint.sh" ] +CMD [ "/bin/sh", "/lowcoder/node-service/entrypoint.sh" ] ############################################################################# ## -## Build openblocks client application +## Build lowcoder client application ## FROM node:19.4-slim AS build-client -COPY ./client /openblocks-client -WORKDIR /openblocks-client +COPY ./client /lowcoder-client +WORKDIR /lowcoder-client RUN yarn --immutable # curl is required for yarn build to succeed, because it calls it while building client @@ -127,20 +127,20 @@ RUN yarn build ## -## Intermediary Openblocks client image +## Intermediary Lowcoder client image ## ## To create a separate image out of it, build it with: -## DOCKER_BUILDKIT=1 docker build -f deploy/docker/Dockerfile -t openblocksdev/openblocks-ce-frontend --target openblocks-ce-frontend . +## DOCKER_BUILDKIT=1 docker build -f deploy/docker/Dockerfile -t lowcoderorg/lowcoder-ce-frontend --target lowcoder-ce-frontend . ## -FROM nginx:1.23.4 as openblocks-ce-frontend -LABEL maintainer="openblocks" +FROM nginx:1.23.4 as lowcoder-ce-frontend +LABEL maintainer="lowcoder" -# Change default nginx user into openblocks user -RUN usermod --login openblocks --uid 9001 nginx \ - && groupmod --new-name openblocks --gid 9001 nginx +# Change default nginx user into lowcoder user +RUN usermod --login lowcoder --uid 9001 nginx \ + && groupmod --new-name lowcoder --gid 9001 nginx -# Copy openblocks client data -COPY --chown=openblocks:openblocks --from=build-client /openblocks-client/packages/openblocks/build/ /openblocks/client +# Copy lowcoder client data +COPY --chown=lowcoder:lowcoder --from=build-client /lowcoder-client/packages/lowcoder/build/ /lowcoder/client # Copy additional nginx init scripts COPY deploy/docker/frontend/00-change-nginx-user.sh /docker-entrypoint.d/00-change-nginx-user.sh @@ -155,10 +155,10 @@ EXPOSE 3000 ############################################################################# ## -## Build Openblocks all-in-one image +## Build Lowcoder all-in-one image ## -FROM openblocks-ce-frontend -LABEL maintainer="openblocks" +FROM lowcoder-ce-frontend +LABEL maintainer="lowcoder" # Install required packages RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install --no-install-recommends -y bash gnupg curl lsb-release \ @@ -176,20 +176,20 @@ RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install --no-instal && npm install -g yarn \ && rm -rf /var/cache/apt/lists -# Add openblocks api-service -COPY --chown=openblocks:openblocks --from=openblocks-ce-api-service /openblocks/api-service /openblocks/api-service +# Add lowcoder api-service +COPY --chown=lowcoder:lowcoder --from=lowcoder-ce-api-service /lowcoder/api-service /lowcoder/api-service -# Add openblocks node-service -COPY --chown=openblocks:openblocks --from=openblocks-ce-node-service /openblocks/node-service /openblocks/node-service +# Add lowcoder node-service +COPY --chown=lowcoder:lowcoder --from=lowcoder-ce-node-service /lowcoder/node-service /lowcoder/node-service # Add services configuration -COPY --chown=openblocks:openblocks deploy/docker/all-in-one/etc /openblocks/etc +COPY --chown=lowcoder:lowcoder deploy/docker/all-in-one/etc /lowcoder/etc # Add startup script -COPY --chown=openblocks:openblocks deploy/docker/all-in-one/entrypoint.sh /openblocks/entrypoint.sh +COPY --chown=lowcoder:lowcoder deploy/docker/all-in-one/entrypoint.sh /lowcoder/entrypoint.sh EXPOSE 3000 -ENTRYPOINT [ "/bin/sh" , "/openblocks/entrypoint.sh" ] -CMD ["/usr/bin/supervisord", "-n" , "-c" , "/openblocks/etc/supervisord.conf"] +ENTRYPOINT [ "/bin/sh" , "/lowcoder/entrypoint.sh" ] +CMD ["/usr/bin/supervisord", "-n" , "-c" , "/lowcoder/etc/supervisord.conf"] diff --git a/deploy/docker/README.md b/deploy/docker/README.md index 5603800a7..6e29eb483 100644 --- a/deploy/docker/README.md +++ b/deploy/docker/README.md @@ -1,4 +1,4 @@ -# Openblocks docker image +# Lowcoder docker image Included Dockerfile can be used to build an **all-in-one** image with all required services installed and running within one container, or separate images for frontend and backend services. @@ -7,14 +7,14 @@ For examples on running the all-in-one image or the multi image deployment see * ## all-in-one image -This image contains all services needed to run Openblocks platform in one container. +This image contains all services needed to run Lowcoder platform in one container. ### Building the image This is the default target and can be built by running following command from project root: ``` -DOCKER_BUILDKIT=1 docker build -f deploy/docker/Dockerfile -t openblocksdev/openblocks-ce . +DOCKER_BUILDKIT=1 docker build -f deploy/docker/Dockerfile -t lowcoderorg/lowcoder-ce . ``` ### Configuration @@ -25,32 +25,32 @@ Image can be configured by setting environment variables. | --------------------------------| --------------------------------------------------------------------| ------------------------------------------------------- | | `REDIS_ENABLED` | If **true** redis server is started in the container | `true` | | `MONGODB_ENABLED` | If **true** mongo database is started in the container | `true` | -| `API_SERVICE_ENABLED` | If **true** openblocks api-service is started in the container | `true` | -| `NODE_SERVICE_ENABLED` | If **true** openblocks node-service is started in the container | `true` | -| `FRONTEND_ENABLED` | If **true** openblocks web frontend is started in the container | `true` | +| `API_SERVICE_ENABLED` | If **true** lowcoder api-service is started in the container | `true` | +| `NODE_SERVICE_ENABLED` | If **true** lowcoder node-service is started in the container | `true` | +| `FRONTEND_ENABLED` | If **true** lowcoder web frontend is started in the container | `true` | | `PUID` | ID of user running services. It will own all created logs and data. | `9001` | | `PGID` | ID of group of the user running services. | `9001` | -| `MONGODB_URI` | Mongo database connection string | `mongodb://localhost:27017/openblocks?authSource=admin` | +| `MONGODB_URI` | Mongo database connection string | `mongodb://localhost:27017/lowcoder?authSource=admin` | | `REDIS_URL` | Redis server URL | `redis://localhost:6379` | | `JS_EXECUTOR_URI` | Node service URL | `http://localhost:6060` | | `ENABLE_USER_SIGN_UP` | Enable registration of new users | `true` | -| `ENCRYPTION_PASSWORD` | Encryption password | `openblocks.dev` | -| `ENCRYPTION_SALT` | Salt used for encrypting password | `openblocks.dev` | +| `ENCRYPTION_PASSWORD` | Encryption password | `lowcoder.org` | +| `ENCRYPTION_SALT` | Salt used for encrypting password | `lowcoder.org` | | `CORS_ALLOWED_DOMAINS` | CORS allowed domains | `*` | -| `OPENBLOCKS_API_SERVICE_URL` | Openblocks API service URL | `http://localhost:8080` | -| `OPENBLOCKS_NODE_SERVICE_URL` | Openblocks Node service (js executor) URL | `http://localhost:6060` | +| `LOWCODER_API_SERVICE_URL` | Lowcoder API service URL | `http://localhost:8080` | +| `LOWCODER_NODE_SERVICE_URL` | Lowcoder Node service (js executor) URL | `http://localhost:6060` | ## Building api-service image -Standalone Openblocks api-service image. +Standalone Lowcoder api-service image. ### Building the image From project root run: ``` -DOCKER_BUILDKIT=1 docker build -f deploy/docker/Dockerfile -t openblocksdev/openblocks-ce-api-service --target openblocks-ce-api-service . +DOCKER_BUILDKIT=1 docker build -f deploy/docker/Dockerfile -t lowcoderorg/lowcoder-ce-api-service --target lowcoder-ce-api-service . ``` ### Configuration @@ -61,25 +61,25 @@ Image can be configured by setting environment variables. | --------------------------------| --------------------------------------------------------------------| ------------------------------------------------------- | | `PUID` | ID of user running services. It will own all created logs and data. | `9001` | | `PGID` | ID of group of the user running services. | `9001` | -| `MONGODB_URI` | Mongo database connection string | `mongodb://localhost:27017/openblocks?authSource=admin` | +| `MONGODB_URI` | Mongo database connection string | `mongodb://localhost:27017/lowcoder?authSource=admin` | | `REDIS_URL` | Redis server URL | `redis://localhost:6379` | | `JS_EXECUTOR_URI` | Node service URL | `http://localhost:6060` | | `ENABLE_USER_SIGN_UP` | Enable registration of new users | `true` | -| `ENCRYPTION_PASSWORD` | Encryption password | `openblocks.dev` | -| `ENCRYPTION_SALT` | Salt used for encrypting password | `openblocks.dev` | +| `ENCRYPTION_PASSWORD` | Encryption password | `lowcoder.org` | +| `ENCRYPTION_SALT` | Salt used for encrypting password | `lowcoder.org` | | `CORS_ALLOWED_DOMAINS` | CORS allowed domains | `*` | ## Building node-service image -Standalone Openblocks node-service (JS executor) image. +Standalone Lowcoder node-service (JS executor) image. ### Building the image From project root run: ``` -DOCKER_BUILDKIT=1 docker build -f deploy/docker/Dockerfile -t openblocksdev/openblocks-ce-node-service --target openblocks-ce-node-service . +DOCKER_BUILDKIT=1 docker build -f deploy/docker/Dockerfile -t lowcoderorg/lowcoder-ce-node-service --target lowcoder-ce-node-service . ``` ### Configuration @@ -90,18 +90,18 @@ Image can be configured by setting environment variables. | --------------------------------| --------------------------------------------------------------------| ------------------------------------------------------- | | `PUID` | ID of user running services. It will own all created logs and data. | `9001` | | `PGID` | ID of group of the user running services. | `9001` | -| `OPENBLOCKS_API_SERVICE_URL` | Openblocks API service URL | `http://localhost:8080` | +| `LOWCODER_API_SERVICE_URL` | Lowcoder API service URL | `http://localhost:8080` | ## Building web frontend image -Standalone Openblocks web frontend image. +Standalone Lowcoder web frontend image. ### Building the image From project root run: ``` -DOCKER_BUILDKIT=1 docker build -f deploy/docker/Dockerfile -t openblocksdev/openblocks-ce-frontend --target openblocks-ce-frontend . +DOCKER_BUILDKIT=1 docker build -f deploy/docker/Dockerfile -t lowcoderorg/lowcoder-ce-frontend --target lowcoder-ce-frontend . ``` ### Configuration @@ -112,7 +112,7 @@ Image can be configured by setting environment variables. | --------------------------------| --------------------------------------------------------------------| ------------------------------------------------------- | | `PUID` | ID of user running services. It will own all created logs and data. | `9001` | | `PGID` | ID of group of the user running services. | `9001` | -| `OPENBLOCKS_API_SERVICE_URL` | Openblocks API service URL | `http://localhost:8080` | -| `OPENBLOCKS_NODE_SERVICE_URL` | Openblocks Node service (js executor) URL | `http://localhost:6060` | +| `LOWCODER_API_SERVICE_URL` | Lowcoder API service URL | `http://localhost:8080` | +| `LOWCODER_NODE_SERVICE_URL` | Lowcoder Node service (js executor) URL | `http://localhost:6060` | diff --git a/deploy/docker/all-in-one/entrypoint.sh b/deploy/docker/all-in-one/entrypoint.sh index 8b3a54490..a34229b46 100644 --- a/deploy/docker/all-in-one/entrypoint.sh +++ b/deploy/docker/all-in-one/entrypoint.sh @@ -5,20 +5,20 @@ set -e export USER_ID=${PUID:=9001} export GROUP_ID=${PGID:=9001} -# Update ID of openblocks user if required -if [ ! `id --user openblocks` -eq ${USER_ID} ]; then - usermod --uid ${USER_ID} openblocks - echo "ID for openblocks user changed to: ${USER_ID}" +# Update ID of lowcoder user if required +if [ ! `id --user lowcoder` -eq ${USER_ID} ]; then + usermod --uid ${USER_ID} lowcoder + echo "ID for lowcoder user changed to: ${USER_ID}" fi; -# Update ID of openblocks group if required -if [ ! `id --group openblocks` -eq ${GROUP_ID} ]; then - groupmod --gid ${GROUP_ID} openblocks - echo "ID for openblocks group changed to: ${GROUP_ID}" +# Update ID of lowcoder group if required +if [ ! `id --group lowcoder` -eq ${GROUP_ID} ]; then + groupmod --gid ${GROUP_ID} lowcoder + echo "ID for lowcoder group changed to: ${GROUP_ID}" fi; -LOGS="/openblocks-stacks/logs" -DATA="/openblocks-stacks/data" +LOGS="/lowcoder-stacks/logs" +DATA="/lowcoder-stacks/data" # Create folder for holding application logs and data mkdir -p ${LOGS}/redis \ ${LOGS}/mongodb \ @@ -29,12 +29,12 @@ mkdir -p ${LOGS}/redis \ ${DATA}/mongodb # Update owner of logs and data -chown -R ${USER_ID}:${GROUP_ID} /openblocks-stacks/ /openblocks/etc +chown -R ${USER_ID}:${GROUP_ID} /lowcoder-stacks/ /lowcoder/etc # Enable services -SUPERVISOR_AVAILABLE="/openblocks/etc/supervisord/conf-available" -SUPERVISOR_ENABLED="/openblocks/etc/supervisord/conf-enabled" +SUPERVISOR_AVAILABLE="/lowcoder/etc/supervisord/conf-available" +SUPERVISOR_ENABLED="/lowcoder/etc/supervisord/conf-enabled" # Create folder for supervisor conf-enabled mkdir -p ${SUPERVISOR_ENABLED} diff --git a/deploy/docker/all-in-one/etc/redis/redis.conf b/deploy/docker/all-in-one/etc/redis/redis.conf index 1f23f3d60..1a32b9f14 100644 --- a/deploy/docker/all-in-one/etc/redis/redis.conf +++ b/deploy/docker/all-in-one/etc/redis/redis.conf @@ -501,7 +501,7 @@ rdb-del-sync-files no # The Append Only File will also be created inside this directory. # # Note that you must specify a directory here, not a file name. -dir /openblocks-stacks/data/redis +dir /lowcoder-stacks/data/redis ################################# REPLICATION ################################# diff --git a/deploy/docker/all-in-one/etc/supervisord.conf b/deploy/docker/all-in-one/etc/supervisord.conf index ab4d95411..c6d035aff 100644 --- a/deploy/docker/all-in-one/etc/supervisord.conf +++ b/deploy/docker/all-in-one/etc/supervisord.conf @@ -32,7 +32,7 @@ serverurl=unix:///var/run/supervisor.sock ; use a unix:// URL for a unix socket ; include files themselves. [include] -files = /openblocks/etc/supervisord/conf-enabled/*.conf +files = /lowcoder/etc/supervisord/conf-enabled/*.conf # ; This event listener is used to capture processes log # ; and forward to container log using supervisor_stdout diff --git a/deploy/docker/all-in-one/etc/supervisord/conf-available/01-redis.conf b/deploy/docker/all-in-one/etc/supervisord/conf-available/01-redis.conf index e290f505b..2744d85b1 100644 --- a/deploy/docker/all-in-one/etc/supervisord/conf-available/01-redis.conf +++ b/deploy/docker/all-in-one/etc/supervisord/conf-available/01-redis.conf @@ -1,13 +1,13 @@ [program:redis] -user=openblocks -directory=/openblocks/etc/redis -command=redis-server /openblocks/etc/redis/redis.conf --daemonize no +user=lowcoder +directory=/lowcoder/etc/redis +command=redis-server /lowcoder/etc/redis/redis.conf --daemonize no priority=5 autostart=true autorestart=true startsecs=0 startretries=3 -stdout_logfile=/openblocks-stacks/logs/%(program_name)s/%(program_name)s.log +stdout_logfile=/lowcoder-stacks/logs/%(program_name)s/%(program_name)s.log redirect_stderr=true stdout_logfile_maxbytes=10MB stderr_logfile_maxbytes=10MB diff --git a/deploy/docker/all-in-one/etc/supervisord/conf-available/02-mongodb.conf b/deploy/docker/all-in-one/etc/supervisord/conf-available/02-mongodb.conf index 1a11c4128..92b9222e3 100644 --- a/deploy/docker/all-in-one/etc/supervisord/conf-available/02-mongodb.conf +++ b/deploy/docker/all-in-one/etc/supervisord/conf-available/02-mongodb.conf @@ -1,13 +1,13 @@ [program:mongodb] -user=openblocks -directory=/openblocks-stacks/data/mongodb -command=mongod --port 27017 --dbpath /openblocks-stacks/data/mongodb --logpath log --bind_ip localhost +user=lowcoder +directory=/lowcoder-stacks/data/mongodb +command=mongod --port 27017 --dbpath /lowcoder-stacks/data/mongodb --logpath log --bind_ip localhost priority=10 autostart=true autorestart=true startsecs=10 startretries=3 -stdout_logfile=/openblocks-stacks/logs/%(program_name)s/%(program_name)s.log +stdout_logfile=/lowcoder-stacks/logs/%(program_name)s/%(program_name)s.log redirect_stderr=true stdout_logfile_maxbytes=10MB stderr_logfile_maxbytes=10MB diff --git a/deploy/docker/all-in-one/etc/supervisord/conf-available/10-api-service.conf b/deploy/docker/all-in-one/etc/supervisord/conf-available/10-api-service.conf index 7ea39f9ef..d79eb121f 100644 --- a/deploy/docker/all-in-one/etc/supervisord/conf-available/10-api-service.conf +++ b/deploy/docker/all-in-one/etc/supervisord/conf-available/10-api-service.conf @@ -1,14 +1,14 @@ [program:api-service] # privileges will be dropped in entrypoint user=root -directory=/openblocks/api-service -command=/openblocks/api-service/entrypoint.sh +directory=/lowcoder/api-service +command=/lowcoder/api-service/entrypoint.sh priority=15 autostart=true autorestart=true startsecs=10 startretries=3 -stdout_logfile=/openblocks-stacks/logs/%(program_name)s/%(program_name)s.log +stdout_logfile=/lowcoder-stacks/logs/%(program_name)s/%(program_name)s.log redirect_stderr=true stdout_logfile_maxbytes=10MB stderr_logfile_maxbytes=10MB diff --git a/deploy/docker/all-in-one/etc/supervisord/conf-available/11-node-service.conf b/deploy/docker/all-in-one/etc/supervisord/conf-available/11-node-service.conf index cacf37bc8..e0ca0b435 100644 --- a/deploy/docker/all-in-one/etc/supervisord/conf-available/11-node-service.conf +++ b/deploy/docker/all-in-one/etc/supervisord/conf-available/11-node-service.conf @@ -1,14 +1,14 @@ [program:node-service] # privileges will be dropped in entrypoint user=root -directory=/openblocks/node-service -command=/openblocks/node-service/entrypoint.sh +directory=/lowcoder/node-service +command=/lowcoder/node-service/entrypoint.sh priority=15 autostart=true autorestart=true startsecs=10 startretries=3 -stdout_logfile=/openblocks-stacks/logs/%(program_name)s/%(program_name)s.log +stdout_logfile=/lowcoder-stacks/logs/%(program_name)s/%(program_name)s.log redirect_stderr=true stdout_logfile_maxbytes=10MB stderr_logfile_maxbytes=10MB diff --git a/deploy/docker/all-in-one/etc/supervisord/conf-available/20-frontend.conf b/deploy/docker/all-in-one/etc/supervisord/conf-available/20-frontend.conf index 292c4f7e5..1fb9b5322 100644 --- a/deploy/docker/all-in-one/etc/supervisord/conf-available/20-frontend.conf +++ b/deploy/docker/all-in-one/etc/supervisord/conf-available/20-frontend.conf @@ -7,7 +7,7 @@ autostart=true autorestart=true startsecs=10 startretries=3 -stdout_logfile=/openblocks-stacks/logs/%(program_name)s/%(program_name)s.log +stdout_logfile=/lowcoder-stacks/logs/%(program_name)s/%(program_name)s.log redirect_stderr=true stdout_logfile_maxbytes=10MB stderr_logfile_maxbytes=10MB diff --git a/deploy/docker/api-service/entrypoint.sh b/deploy/docker/api-service/entrypoint.sh index ac3f074e2..08ee33a04 100644 --- a/deploy/docker/api-service/entrypoint.sh +++ b/deploy/docker/api-service/entrypoint.sh @@ -7,16 +7,16 @@ export GROUP_ID="${PGID:=9001}" # Run init script echo "Initializing api-service..." -/openblocks/api-service/init.sh +/lowcoder/api-service/init.sh -APP_JAR="${APP_JAR:=/openblocks/api-service/server.jar}" -JAVA_HOME=/openblocks/api-service/jre +APP_JAR="${APP_JAR:=/lowcoder/api-service/server.jar}" +JAVA_HOME=/lowcoder/api-service/jre JAVA_OPTS="${JAVA_OPTS:=}" CUSTOM_APP_PROPERTIES="${APP_PROPERTIES}" CONTEXT_PATH=${CONTEXT_PATH:=/} echo -echo "Running openblocks api-server with:" +echo "Running lowcoder api-server with:" echo " user id: ${USER_ID}" echo " group id: ${GROUP_ID}" echo " base path: ${CONTEXT_PATH}" @@ -24,12 +24,12 @@ echo ${JAVA_HOME}/bin/java -version echo -cd /openblocks/api-service +cd /lowcoder/api-service exec gosu ${USER_ID}:${GROUP_ID} ${JAVA_HOME}/bin/java \ -Djava.security.egd=file:/dev/./urandom \ -Dhttps.protocols=TLSv1.1,TLSv1.2 \ -Dlog4j2.formatMsgNoLookups=true \ - -Dspring.config.location="file:///openblocks/api-service/config/application.yml,file:///openblocks/api-service/config/application-selfhost.yml" \ + -Dspring.config.location="file:///lowcoder/api-service/config/application.yml,file:///lowcoder/api-service/config/application-selfhost.yml" \ --add-opens java.base/java.nio=ALL-UNNAMED \ ${JAVA_OPTS} \ -jar "${APP_JAR}" --spring.webflux.base-path=${CONTEXT_PATH} ${CUSTOM_APP_PROPERTIES} diff --git a/deploy/docker/api-service/init.sh b/deploy/docker/api-service/init.sh index 35065db7e..b04d88a4a 100644 --- a/deploy/docker/api-service/init.sh +++ b/deploy/docker/api-service/init.sh @@ -2,19 +2,19 @@ set -e -API_SERVICE_ROOT=/openblocks/api-service +API_SERVICE_ROOT=/lowcoder/api-service -# Update ID of openblocks user if required -if [ ! `id --user openblocks` -eq ${USER_ID} ]; then - usermod --uid ${USER_ID} openblocks - echo "ID for openblocks user changed to: ${USER_ID}" +# Update ID of lowcoder user if required +if [ ! `id --user lowcoder` -eq ${USER_ID} ]; then + usermod --uid ${USER_ID} lowcoder + echo "ID for lowcoder user changed to: ${USER_ID}" DO_CHOWN="true" fi; -# Update ID of openblocks group if required -if [ ! `id --group openblocks` -eq ${GROUP_ID} ]; then - groupmod --gid ${GROUP_ID} openblocks - echo "ID for openblocks group changed to: ${GROUP_ID}" +# Update ID of lowcoder group if required +if [ ! `id --group lowcoder` -eq ${GROUP_ID} ]; then + groupmod --gid ${GROUP_ID} lowcoder + echo "ID for lowcoder group changed to: ${GROUP_ID}" DO_CHOWN="true" fi; @@ -35,4 +35,4 @@ if [ ! -e ${API_SERVICE_ROOT}/logs/query-error.log ]; then chmod 777 ${API_SERVICE_ROOT}/logs/query-error.log fi; -echo "Openblocks api-service setup finished." +echo "Lowcoder api-service setup finished." diff --git a/deploy/docker/docker-compose-multi.yaml b/deploy/docker/docker-compose-multi.yaml index 5a75dc812..702063065 100644 --- a/deploy/docker/docker-compose-multi.yaml +++ b/deploy/docker/docker-compose-multi.yaml @@ -2,14 +2,14 @@ version: "3" services: ## - ## Start services required for Openblocks (MongoDB and Redis) + ## Start services required for Lowcoder (MongoDB and Redis) ## mongodb: image: "mongo:4.4" container_name: mongodb environment: - MONGO_INITDB_DATABASE: openblocks - MONGO_INITDB_ROOT_USERNAME: openblocks + MONGO_INITDB_DATABASE: lowcoder + MONGO_INITDB_ROOT_USERNAME: lowcoder MONGO_INITDB_ROOT_PASSWORD: secret123 # Uncomment to save database data into local 'mongodata' folder # volumes: @@ -22,58 +22,58 @@ services: ## - ## Start Openblocks backend services (api-service and node-service) + ## Start Lowcoder backend services (api-service and node-service) ## - openblocks-api-service: - image: openblocksdev/openblocks-ce-api-service:latest - container_name: openblocks-api-service + lowcoder-api-service: + image: lowcoderorg/lowcoder-ce-api-service:latest + container_name: lowcoder-api-service # Enabled ports to be able to access backend from host # ports: # - "8080:8080" environment: PUID: "9001" PGID: "9001" - MONGODB_URI: "mongodb://openblocks:secret123@mongodb/openblocks?authSource=admin" + MONGODB_URI: "mongodb://lowcoder:secret123@mongodb/lowcoder?authSource=admin" REDIS_URL: "redis://redis:6379" - JS_EXECUTOR_URI: "http://openblocks-node-service:6060" + JS_EXECUTOR_URI: "http://lowcoder-node-service:6060" ENABLE_USER_SIGN_UP: "true" - ENCRYPTION_PASSWORD: "openblocks.dev" - ENCRYPTION_SALT: "openblocks.dev" + ENCRYPTION_PASSWORD: "lowcoder.org" + ENCRYPTION_SALT: "lowcoder.org" CORS_ALLOWED_DOMAINS: "*" restart: unless-stopped depends_on: - mongodb - redis - openblocks-node-service: - image: openblocksdev/openblocks-ce-node-service:latest - container_name: openblocks-node-service + lowcoder-node-service: + image: lowcoderorg/lowcoder-ce-node-service:latest + container_name: lowcoder-node-service # Enabled ports to be able to access backend from host # ports: # - "6060:6060" environment: PUID: "9001" PGID: "9001" - OPENBLOCKS_API_SERVICE_URL: "http://openblocks-api-service:8080" + LOWCODER_API_SERVICE_URL: "http://lowcoder-api-service:8080" restart: unless-stopped depends_on: - - openblocks-api-service + - lowcoder-api-service ## - ## Start Openblocks web frontend + ## Start Lowcoder web frontend ## - openblocks-frontend: - image: openblocksdev/openblocks-ce-frontend:latest - container_name: openblocks-frontend + lowcoder-frontend: + image: lowcoderorg/lowcoder-ce-frontend:latest + container_name: lowcoder-frontend ports: - "3000:3000" environment: PUID: "9001" PGID: "9001" - OPENBLOCKS_API_SERVICE_URL: "http://openblocks-api-service:8080" - OPENBLOCKS_NODE_SERVICE_URL: "http://openblocks-node-service:6060" + LOWCODER_API_SERVICE_URL: "http://lowcoder-api-service:8080" + LOWCODER_NODE_SERVICE_URL: "http://lowcoder-node-service:6060" restart: unless-stopped depends_on: - - openblocks-node-service - - openblocks-api-service + - lowcoder-node-service + - lowcoder-api-service diff --git a/deploy/docker/docker-compose.yaml b/deploy/docker/docker-compose.yaml index 9e9173f20..6b3e7ef0a 100644 --- a/deploy/docker/docker-compose.yaml +++ b/deploy/docker/docker-compose.yaml @@ -2,11 +2,11 @@ version: "3" services: ## - ## Start Openblocks (all-in-one) + ## Start Lowcoder (all-in-one) ## - openblocks-api-service: - image: openblocksdev/openblocks-ce:latest - container_name: openblocks + lowcoder-api-service: + image: lowcoderorg/lowcoder-ce:latest + container_name: lowcoder ports: - "3000:3000" environment: @@ -20,18 +20,18 @@ services: PUID: "1000" PGID: "1000" # api-service parameters - #MONGODB_URI: "mongodb://openblocks:secret123@mongodb/openblocks?authSource=admin" - MONGODB_URI: "mongodb://localhost:27017/openblocks?authSource=admin" + #MONGODB_URI: "mongodb://lowcoder:secret123@mongodb/lowcoder?authSource=admin" + MONGODB_URI: "mongodb://localhost:27017/lowcoder?authSource=admin" REDIS_URL: "redis://localhost:6379" JS_EXECUTOR_URI: "http://localhost:6060" ENABLE_USER_SIGN_UP: "true" - ENCRYPTION_PASSWORD: "openblocks.dev" - ENCRYPTION_SALT: "openblocks.dev" + ENCRYPTION_PASSWORD: "lowcoder.org" + ENCRYPTION_SALT: "lowcoder.org" CORS_ALLOWED_DOMAINS: "*" # api and node service parameters - OPENBLOCKS_API_SERVICE_URL: "http://localhost:8080" - OPENBLOCKS_NODE_SERVICE_URL: "http://localhost:6060" + LOWCODER_API_SERVICE_URL: "http://localhost:8080" + LOWCODER_NODE_SERVICE_URL: "http://localhost:6060" volumes: - - ./openblocks-stacks:/openblocks-stacks + - ./lowcoder-stacks:/lowcoder-stacks restart: unless-stopped diff --git a/deploy/docker/frontend/00-change-nginx-user.sh b/deploy/docker/frontend/00-change-nginx-user.sh index 00347235d..33b993d0f 100644 --- a/deploy/docker/frontend/00-change-nginx-user.sh +++ b/deploy/docker/frontend/00-change-nginx-user.sh @@ -4,25 +4,25 @@ set -e USER_ID=${PUID:=9001} GROUP_ID=${PGID:=9001} -CLIENT_ROOT=/openblocks/client +CLIENT_ROOT=/lowcoder/client -# Update ID of openblocks user if required -if [ ! `id --user openblocks` -eq ${USER_ID} ]; then - usermod --uid ${USER_ID} openblocks - echo "ID for openblocks user changed to: ${USER_ID}" +# Update ID of lowcoder user if required +if [ ! `id --user lowcoder` -eq ${USER_ID} ]; then + usermod --uid ${USER_ID} lowcoder + echo "ID for lowcoder user changed to: ${USER_ID}" DO_CHOWN="true" fi; -# Update ID of openblocks group if required -if [ ! `id --group openblocks` -eq ${GROUP_ID} ]; then - groupmod --gid ${GROUP_ID} openblocks - echo "ID for openblocks group changed to: ${GROUP_ID}" +# Update ID of lowcoder group if required +if [ ! `id --group lowcoder` -eq ${GROUP_ID} ]; then + groupmod --gid ${GROUP_ID} lowcoder + echo "ID for lowcoder group changed to: ${GROUP_ID}" DO_CHOWN="true" fi; # Update api-server installation owner if [ "${DO_CHOWN}" = "true" ]; then chown -R ${USER_ID}:${GROUP_ID} ${CLIENT_ROOT} - echo "Openblocks client files owner modified." + echo "Lowcoder client files owner modified." fi; diff --git a/deploy/docker/frontend/01-update-nginx-conf.sh b/deploy/docker/frontend/01-update-nginx-conf.sh index 98a3d9ac2..1e1e3c1e7 100644 --- a/deploy/docker/frontend/01-update-nginx-conf.sh +++ b/deploy/docker/frontend/01-update-nginx-conf.sh @@ -1,10 +1,10 @@ #!/bin/sh -set -e +set -e -sed -i "s@__OPENBLOCKS_API_SERVICE_URL__@${OPENBLOCKS_API_SERVICE_URL:=http://localhost:8080}@" /etc/nginx/nginx.conf -sed -i "s@__OPENBLOCKS_NODE_SERVICE_URL__@${OPENBLOCKS_NODE_SERVICE_URL:=http://localhost:6060}@" /etc/nginx/nginx.conf +sed -i "s@__LOWCODER_API_SERVICE_URL__@${LOWCODER_API_SERVICE_URL:=http://localhost:8080}@" /etc/nginx/nginx.conf +sed -i "s@__LOWCODER_NODE_SERVICE_URL__@${LOWCODER_NODE_SERVICE_URL:=http://localhost:6060}@" /etc/nginx/nginx.conf echo "nginx config updated with:" -echo " Openblocks api service URL: ${OPENBLOCKS_API_SERVICE_URL}" -echo " Openblocks node service URL: ${OPENBLOCKS_NODE_SERVICE_URL}" +echo " Lowcoder api service URL: ${LOWCODER_API_SERVICE_URL}" +echo " Lowcoder node service URL: ${LOWCODER_NODE_SERVICE_URL}" diff --git a/deploy/docker/frontend/nginx.conf b/deploy/docker/frontend/nginx.conf index 42164295a..3996c29f8 100644 --- a/deploy/docker/frontend/nginx.conf +++ b/deploy/docker/frontend/nginx.conf @@ -1,4 +1,4 @@ -user openblocks; +user lowcoder; worker_processes 1; @@ -32,7 +32,7 @@ http { server { listen 3000 default_server; - root /openblocks/client; + root /lowcoder/client; location / { @@ -46,13 +46,13 @@ http { location /api { proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Forwarded-Host $host; - proxy_pass __OPENBLOCKS_API_SERVICE_URL__; + proxy_pass __LOWCODER_API_SERVICE_URL__; } location /node-service/plugin-icons { proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Forwarded-Host $host; - proxy_pass __OPENBLOCKS_NODE_SERVICE_URL__; + proxy_pass __LOWCODER_NODE_SERVICE_URL__; } } } diff --git a/deploy/docker/node-service/entrypoint.sh b/deploy/docker/node-service/entrypoint.sh index c5f47fe59..bcb8522eb 100755 --- a/deploy/docker/node-service/entrypoint.sh +++ b/deploy/docker/node-service/entrypoint.sh @@ -4,16 +4,16 @@ set -e export USER_ID=${PUID:=9001} export GROUP_ID=${PGID:=9001} -export API_HOST="${OPENBLOCKS_API_SERVICE_URL:=http://localhost:8080}" +export API_HOST="${LOWCODER_API_SERVICE_URL:=http://localhost:8080}" # Run init script echo "Initializing node-service..." -/openblocks/node-service/init.sh +/lowcoder/node-service/init.sh -cd /openblocks/node-service/app +cd /lowcoder/node-service/app echo -echo "Running Openblocks node-service with:" +echo "Running Lowcoder node-service with:" echo " API service host: ${API_HOST}" echo " user id: ${USER_ID}" echo " group id: ${GROUP_ID}" diff --git a/deploy/docker/node-service/init.sh b/deploy/docker/node-service/init.sh index d0b12f40b..4fbaf4a6d 100644 --- a/deploy/docker/node-service/init.sh +++ b/deploy/docker/node-service/init.sh @@ -2,19 +2,19 @@ set -e -NODE_SERVICE_ROOT=/openblocks/node-service +NODE_SERVICE_ROOT=/lowcoder/node-service -# Update ID of openblocks user if required -if [ ! `id --user openblocks` -eq ${USER_ID} ]; then - usermod --uid ${USER_ID} openblocks - echo "ID for openblocks user changed to: ${USER_ID}" +# Update ID of lowcoder user if required +if [ ! `id --user lowcoder` -eq ${USER_ID} ]; then + usermod --uid ${USER_ID} lowcoder + echo "ID for lowcoder user changed to: ${USER_ID}" DO_CHOWN="true" fi; -# Update ID of openblocks group if required -if [ ! `id --group openblocks` -eq ${GROUP_ID} ]; then - groupmod --gid ${GROUP_ID} openblocks - echo "ID for openblocks group changed to: ${GROUP_ID}" +# Update ID of lowcoder group if required +if [ ! `id --group lowcoder` -eq ${GROUP_ID} ]; then + groupmod --gid ${GROUP_ID} lowcoder + echo "ID for lowcoder group changed to: ${GROUP_ID}" DO_CHOWN="true" fi; @@ -24,4 +24,4 @@ if [ "${DO_CHOWN}" = "true" ]; then chown -R ${USER_ID}:${GROUP_ID} ${NODE_SERVICE_ROOT} fi; -echo "Openblocks node-service setup finished." +echo "Lowcoder node-service setup finished." diff --git a/deploy/helm/Chart.yaml b/deploy/helm/Chart.yaml index 2dcf5601c..b09168049 100644 --- a/deploy/helm/Chart.yaml +++ b/deploy/helm/Chart.yaml @@ -1,15 +1,15 @@ apiVersion: v2 -name: openblocks -description: A Helm chart for Kubernetes for installing openblocks +name: lowcoder +description: A Helm chart for Kubernetes for installing lowcoder type: application # Chart version (change every time you make changes to the chart) version: 0.1.0 -# Openblocks version +# Lowcoder version appVersion: "latest" -# Dependencies needed for Openblocks deployment +# Dependencies needed for Lowcoder deployment dependencies: - condition: redis.enabled name: redis diff --git a/deploy/helm/README.md b/deploy/helm/README.md index d13ae18d1..a9854f7a4 100644 --- a/deploy/helm/README.md +++ b/deploy/helm/README.md @@ -1,12 +1,12 @@ -# Openblocks +# Lowcoder -Openblocks is a developer-friendly open-source low code platform to build internal apps within minutes. +Lowcoder is a developer-friendly open-source low code platform to build internal apps within minutes. -[Overview of Openblocks](https://docs.openblocks.dev/) +[Overview of Lowcoder](https://docs.lowcoder.org/) ## Introduction -This chart bootstraps an Openblocks deployment on a [Kubernetes](https://kubernetes.io) cluster using the [Helm](https://helm.sh) package manager. +This chart bootstraps an Lowcoder deployment on a [Kubernetes](https://kubernetes.io) cluster using the [Helm](https://helm.sh) package manager. ## Prerequisites @@ -17,7 +17,7 @@ This chart bootstraps an Openblocks deployment on a [Kubernetes](https://kuberne ## Installing the Chart -To install the chart with the release name `my-openblocks` into namespace `openblocks`: +To install the chart with the release name `my-lowcoder` into namespace `lowcoder`: ```bash # If installing mongodb and/or redis, add bitnami chart repository and update chart dependenices @@ -25,15 +25,15 @@ $ helm repo add bitnami https://charts.bitnami.com/bitnami $ helm dependency update # Install the chart -$ helm install -n openblocks my-openblocks . +$ helm install -n lowcoder my-lowcoder . ``` ## Uninstalling the Chart -To uninstall/delete the `my-openblocks` deployment from namespace `openblocks`: +To uninstall/delete the `my-lowcoder` deployment from namespace `lowcoder`: ```bash -$ helm delete -n openblocks my-openblocks +$ helm delete -n lowcoder my-lowcoder ``` ## Parameters @@ -56,32 +56,32 @@ All available parameters can be found in [Bitnami Redis Chart](https://github.co All available parameters can be found in [Bitnami MongoDB Chart](https://github.com/bitnami/charts/tree/main/bitnami/mongodb/#parameters) -### Openblocks server api-service +### Lowcoder server api-service | Name | Description | Value | | --------------------------------------- | --------------------------------------------------------------------------- | ---------------- | -| `apiService.config.userId` | User ID of user running Openblocks server application in container | `9001` | -| `apiService.config.groupId` | Group ID of user running Openblocks server application in container | `9001` | +| `apiService.config.userId` | User ID of user running Lowcoder server application in container | `9001` | +| `apiService.config.groupId` | Group ID of user running Lowcoder server application in container | `9001` | | `apiService.config.corsAllowedDomains` | CORS allowed domains | `*` | -| `apiService.config.encryption.password` | Encryption password | `openblocks.dev` | -| `apiService.config.encryption.salt` | Encryption salt | `openblocks.dev` | -| `apiService.config.enableUserSignUp` | Enable users signing up to openblocks via login page | `true` | -| `apiService.config.nodeServiceUrl` | URL to node-service server if using external Openblocks server | | +| `apiService.config.encryption.password` | Encryption password | `lowcoder.org` | +| `apiService.config.encryption.salt` | Encryption salt | `lowcoder.org` | +| `apiService.config.enableUserSignUp` | Enable users signing up to lowcoder via login page | `true` | +| `apiService.config.nodeServiceUrl` | URL to node-service server if using external Lowcoder server | | -### Openblocks server node-service +### Lowcoder server node-service | Name | Description | Value | | --------------------------------------- | --------------------------------------------------------------------------- | ---------------- | -| `nodeService.config.userId` | User ID of user running Openblocks service application in container | `9001` | -| `nodeService.config.groupId` | Group ID of user running Openblocks service application in container | `9001` | -| `nodeService.config.apiServiceUrl` | URL to api-service server if using external Openblocks server | | +| `nodeService.config.userId` | User ID of user running Lowcoder service application in container | `9001` | +| `nodeService.config.groupId` | Group ID of user running Lowcoder service application in container | `9001` | +| `nodeService.config.apiServiceUrl` | URL to api-service server if using external Lowcoder server | | -### Openblocks frontend (client) +### Lowcoder frontend (client) | Name | Description | Value | | --------------------------------------- | --------------------------------------------------------------------------- | ---------------- | -| `frontend.config.userId` | User ID of nginx user running Openblocks client application in container | `9001` | -| `frontend.config.groupId` | Group ID of nginx user running Openblocks client application in container | `9001` | -| `frontend.config.apiServiceUrl` | URL to api-service server if using external Openblocks server | `""` | -| `frontend.config.nodeServiceUrl` | URL to node-service server if using external Openblocks server | | +| `frontend.config.userId` | User ID of nginx user running Lowcoder client application in container | `9001` | +| `frontend.config.groupId` | Group ID of nginx user running Lowcoder client application in container | `9001` | +| `frontend.config.apiServiceUrl` | URL to api-service server if using external Lowcoder server | `""` | +| `frontend.config.nodeServiceUrl` | URL to node-service server if using external Lowcoder server | | diff --git a/deploy/helm/templates/_helpers.tpl b/deploy/helm/templates/_helpers.tpl index f22aea26f..21ee16086 100644 --- a/deploy/helm/templates/_helpers.tpl +++ b/deploy/helm/templates/_helpers.tpl @@ -1,7 +1,7 @@ {{/* Expand the name of the chart. */}} -{{- define "openblocks.name" -}} +{{- define "lowcoder.name" -}} {{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" }} {{- end }} @@ -10,7 +10,7 @@ Create a default fully qualified app name. We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec). If release name contains chart name it will be used as a full name. */}} -{{- define "openblocks.fullname" -}} +{{- define "lowcoder.fullname" -}} {{- if .Values.fullnameOverride }} {{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" }} {{- else }} @@ -26,7 +26,7 @@ If release name contains chart name it will be used as a full name. {{/* Allow the release namespace to be overridden for multi-namespace deployments in combined charts. */}} -{{- define "openblocks.namespace" -}} +{{- define "lowcoder.namespace" -}} {{- if .Values.global -}} {{- if .Values.global.namespaceOverride }} {{- .Values.global.namespaceOverride -}} @@ -42,16 +42,16 @@ Allow the release namespace to be overridden for multi-namespace deployments in {{/* Create chart name and version as used by the chart label. */}} -{{- define "openblocks.chart" -}} +{{- define "lowcoder.chart" -}} {{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }} {{- end }} {{/* Common labels */}} -{{- define "openblocks.labels" -}} -helm.sh/chart: {{ include "openblocks.chart" . }} -{{ include "openblocks.selectorLabels" . }} +{{- define "lowcoder.labels" -}} +helm.sh/chart: {{ include "lowcoder.chart" . }} +{{ include "lowcoder.selectorLabels" . }} {{- if .Chart.AppVersion }} app.kubernetes.io/version: {{ .Chart.AppVersion | quote }} {{- end }} @@ -61,17 +61,17 @@ app.kubernetes.io/managed-by: {{ .Release.Service }} {{/* Selector labels */}} -{{- define "openblocks.selectorLabels" -}} -app.kubernetes.io/name: {{ include "openblocks.name" . }} +{{- define "lowcoder.selectorLabels" -}} +app.kubernetes.io/name: {{ include "lowcoder.name" . }} app.kubernetes.io/instance: {{ .Release.Name }} {{- end }} {{/* Create the name of the service account to use */}} -{{- define "openblocks.serviceAccountName" -}} +{{- define "lowcoder.serviceAccountName" -}} {{- if .Values.serviceAccount.create }} -{{- default (include "openblocks.fullname" .) .Values.serviceAccount.name }} +{{- default (include "lowcoder.fullname" .) .Values.serviceAccount.name }} {{- else }} {{- default "default" .Values.serviceAccount.name }} {{- end }} diff --git a/deploy/helm/templates/api-service/configMap.yaml b/deploy/helm/templates/api-service/configMap.yaml index b8b9572b7..2d9abad8a 100644 --- a/deploy/helm/templates/api-service/configMap.yaml +++ b/deploy/helm/templates/api-service/configMap.yaml @@ -1,12 +1,12 @@ -{{- $nameSpace := include "openblocks.namespace" . -}} -{{- $name := include "openblocks.fullname" . -}} -{{- $openblocksDatabase := first .Values.mongodb.auth.databases -}} +{{- $nameSpace := include "lowcoder.namespace" . -}} +{{- $name := include "lowcoder.fullname" . -}} +{{- $lowcoderDatabase := first .Values.mongodb.auth.databases -}} apiVersion: v1 kind: ConfigMap metadata: - name: {{ include "openblocks.fullname" . }}-api-service + name: {{ include "lowcoder.fullname" . }}-api-service labels: - {{- include "openblocks.labels" . | nindent 4 }} + {{- include "lowcoder.labels" . | nindent 4 }} {{- with .Values.annotations }} annotations: {{- toYaml . | nindent 4 }} diff --git a/deploy/helm/templates/api-service/deployment.yaml b/deploy/helm/templates/api-service/deployment.yaml index 7a3d9abc8..8ca560d76 100644 --- a/deploy/helm/templates/api-service/deployment.yaml +++ b/deploy/helm/templates/api-service/deployment.yaml @@ -1,16 +1,16 @@ apiVersion: apps/v1 kind: Deployment metadata: - name: {{ include "openblocks.fullname" . }}-api-service + name: {{ include "lowcoder.fullname" . }}-api-service labels: - {{- include "openblocks.labels" . | nindent 4 }} + {{- include "lowcoder.labels" . | nindent 4 }} spec: {{- if not .Values.apiService.autoscaling.enabled }} replicas: {{ .Values.apiService.replicaCount }} {{- end }} selector: matchLabels: - {{- include "openblocks.selectorLabels" . | nindent 6 }} + {{- include "lowcoder.selectorLabels" . | nindent 6 }} template: metadata: {{- with .Values.podAnnotations }} @@ -18,13 +18,13 @@ spec: {{- toYaml . | nindent 8 }} {{- end }} labels: - {{- include "openblocks.selectorLabels" . | nindent 8 }} + {{- include "lowcoder.selectorLabels" . | nindent 8 }} spec: {{- with .Values.imagePullSecrets }} imagePullSecrets: {{- toYaml . | nindent 8 }} {{- end }} - serviceAccountName: {{ include "openblocks.serviceAccountName" . }} + serviceAccountName: {{ include "lowcoder.serviceAccountName" . }} securityContext: {{- toYaml .Values.podSecurityContext | nindent 8 }} {{- if .Values.mongodb.enabled }} @@ -51,23 +51,23 @@ spec: imagePullPolicy: {{ .Values.apiService.image.pullPolicy }} envFrom: - configMapRef: - name: {{ include "openblocks.fullname" . }}-api-service + name: {{ include "lowcoder.fullname" . }}-api-service - secretRef: - name: {{ include "openblocks.fullname" . }}-api-service + name: {{ include "lowcoder.fullname" . }}-api-service ports: - - name: openblocks-api + - name: lowcoder-api containerPort: 8080 protocol: TCP livenessProbe: initialDelaySeconds: 30 httpGet: path: /actuator/health - port: openblocks-api + port: lowcoder-api readinessProbe: initialDelaySeconds: 30 httpGet: path: /actuator/health - port: openblocks-api + port: lowcoder-api resources: {{- toYaml .Values.resources | nindent 12 }} {{- with .Values.nodeSelector }} diff --git a/deploy/helm/templates/api-service/hpa.yaml b/deploy/helm/templates/api-service/hpa.yaml index 6ee604c0f..37e315596 100644 --- a/deploy/helm/templates/api-service/hpa.yaml +++ b/deploy/helm/templates/api-service/hpa.yaml @@ -2,14 +2,14 @@ apiVersion: autoscaling/v2beta1 kind: HorizontalPodAutoscaler metadata: - name: {{ include "openblocks.fullname" . }}-api-service + name: {{ include "lowcoder.fullname" . }}-api-service labels: - {{- include "openblocks.labels" . | nindent 4 }} + {{- include "lowcoder.labels" . | nindent 4 }} spec: scaleTargetRef: apiVersion: apps/v1 kind: Deployment - name: {{ include "openblocks.fullname" . }}-api-service + name: {{ include "lowcoder.fullname" . }}-api-service minReplicas: {{ .Values.apiService.autoscaling.minReplicas }} maxReplicas: {{ .Values.apiService.autoscaling.maxReplicas }} metrics: diff --git a/deploy/helm/templates/api-service/secrets.yaml b/deploy/helm/templates/api-service/secrets.yaml index bc4361990..64aa009e9 100644 --- a/deploy/helm/templates/api-service/secrets.yaml +++ b/deploy/helm/templates/api-service/secrets.yaml @@ -1,25 +1,25 @@ -{{- $nameSpace := include "openblocks.namespace" . -}} +{{- $nameSpace := include "lowcoder.namespace" . -}} {{- $mongoUser := first .Values.mongodb.auth.usernames -}} {{- $mongoPassword := first .Values.mongodb.auth.passwords -}} {{- $mongoServicename := .Values.mongodb.service.nameOverride -}} -{{- $openblocksDatabase := first .Values.mongodb.auth.databases -}} +{{- $lowcoderDatabase := first .Values.mongodb.auth.databases -}} apiVersion: v1 kind: Secret type: Opaque metadata: - name: {{ include "openblocks.fullname" . }}-api-service + name: {{ include "lowcoder.fullname" . }}-api-service labels: - {{- include "openblocks.labels" . | nindent 4 }} + {{- include "lowcoder.labels" . | nindent 4 }} {{- with .Values.annotations }} annotations: {{- toYaml . | nindent 4 }} {{- end }} stringData: {{- if .Values.mongodb.enabled }} - MONGODB_URI: "mongodb://{{ $mongoUser }}:{{ $mongoPassword }}@{{ $mongoServicename }}.{{ $nameSpace }}.svc.cluster.local/{{ $openblocksDatabase }}?retryWrites=true&ssl=false" + MONGODB_URI: "mongodb://{{ $mongoUser }}:{{ $mongoPassword }}@{{ $mongoServicename }}.{{ $nameSpace }}.svc.cluster.local/{{ $lowcoderDatabase }}?retryWrites=true&ssl=false" {{- else }} MONGODB_URI: {{- .Values.mongodb.externalUrl | quote }} {{- end }} - ENCRYPTION_PASSWORD: {{ .Values.apiService.config.encryption.password | default "openblocks.dev" | quote }} - ENCRYPTION_SALT: {{ .Values.apiService.config.encryption.salt | default "openblocks.dev" | quote }} + ENCRYPTION_PASSWORD: {{ .Values.apiService.config.encryption.password | default "lowcoder.org" | quote }} + ENCRYPTION_SALT: {{ .Values.apiService.config.encryption.salt | default "lowcoder.org" | quote }} diff --git a/deploy/helm/templates/api-service/service.yaml b/deploy/helm/templates/api-service/service.yaml index 6681ba0fe..c8bea3bdc 100644 --- a/deploy/helm/templates/api-service/service.yaml +++ b/deploy/helm/templates/api-service/service.yaml @@ -1,20 +1,20 @@ apiVersion: v1 kind: Service metadata: - name: {{ include "openblocks.fullname" . }}-api-service + name: {{ include "lowcoder.fullname" . }}-api-service labels: - {{- include "openblocks.labels" . | nindent 4 }} + {{- include "lowcoder.labels" . | nindent 4 }} spec: type: {{ .Values.apiService.service.type }} ports: - port: {{ .Values.apiService.service.port }} - targetPort: openblocks-api + targetPort: lowcoder-api protocol: TCP - name: openblocks-api + name: lowcoder-api {{- if .Values.apiService.service.nodePort }} {{- if or (eq .Values.apiService.service.type "NodePort") (eq .Values.apiService.service.type "LoadBalancer") }} nodePort: {{ .Values.apiService.service.nodePort }} {{- end }} {{- end }} selector: - {{- include "openblocks.selectorLabels" . | nindent 4 }} + {{- include "lowcoder.selectorLabels" . | nindent 4 }} diff --git a/deploy/helm/templates/frontend/configMap.yaml b/deploy/helm/templates/frontend/configMap.yaml index 017195f4f..2bd39ebeb 100644 --- a/deploy/helm/templates/frontend/configMap.yaml +++ b/deploy/helm/templates/frontend/configMap.yaml @@ -1,11 +1,11 @@ -{{- $nameSpace := include "openblocks.namespace" . -}} -{{- $name := include "openblocks.fullname" . -}} +{{- $nameSpace := include "lowcoder.namespace" . -}} +{{- $name := include "lowcoder.fullname" . -}} apiVersion: v1 kind: ConfigMap metadata: - name: {{ include "openblocks.fullname" . }}-frontend + name: {{ include "lowcoder.fullname" . }}-frontend labels: - {{- include "openblocks.labels" . | nindent 4 }} + {{- include "lowcoder.labels" . | nindent 4 }} {{- with .Values.annotations }} annotations: {{- toYaml . | nindent 4 }} @@ -14,13 +14,13 @@ data: PUID: {{ .Values.frontend.config.userId | default "9001" | quote }} PGID: {{ .Values.frontend.config.groupId | default "9001" | quote }} {{- if .Values.frontend.config.apiServiceUrl }} - OPENBLOCKS_API_SERVICE_URL: {{ .Values.frontend.config.apiServiceUrl | trimSuffix "/" | quote }} + LOWCODER_API_SERVICE_URL: {{ .Values.frontend.config.apiServiceUrl | trimSuffix "/" | quote }} {{- else }} - OPENBLOCKS_API_SERVICE_URL: "http://{{ $name }}-api-service:{{ .Values.apiService.service.port }}" + LOWCODER_API_SERVICE_URL: "http://{{ $name }}-api-service:{{ .Values.apiService.service.port }}" {{- end }} {{- if .Values.frontend.config.nodeServiceUrl }} - OPENBLOCKS_NODE_SERVICE_URL: {{ .Values.frontend.config.nodeServiceUrl | trimSuffix "/" | quote }} + LOWCODER_NODE_SERVICE_URL: {{ .Values.frontend.config.nodeServiceUrl | trimSuffix "/" | quote }} {{- else }} - OPENBLOCKS_NODE_SERVICE_URL: "http://{{ $name }}-node-service:{{ .Values.nodeService.service.port }}" + LOWCODER_NODE_SERVICE_URL: "http://{{ $name }}-node-service:{{ .Values.nodeService.service.port }}" {{- end }} diff --git a/deploy/helm/templates/frontend/deployment.yaml b/deploy/helm/templates/frontend/deployment.yaml index cd9be6eba..bbda56ec2 100644 --- a/deploy/helm/templates/frontend/deployment.yaml +++ b/deploy/helm/templates/frontend/deployment.yaml @@ -1,16 +1,16 @@ apiVersion: apps/v1 kind: Deployment metadata: - name: {{ include "openblocks.fullname" . }}-frontend + name: {{ include "lowcoder.fullname" . }}-frontend labels: - {{- include "openblocks.labels" . | nindent 4 }} + {{- include "lowcoder.labels" . | nindent 4 }} spec: {{- if not .Values.frontend.autoscaling.enabled }} replicas: {{ .Values.frontend.replicaCount }} {{- end }} selector: matchLabels: - {{- include "openblocks.selectorLabels" . | nindent 6 }} + {{- include "lowcoder.selectorLabels" . | nindent 6 }} template: metadata: {{- with .Values.podAnnotations }} @@ -18,13 +18,13 @@ spec: {{- toYaml . | nindent 8 }} {{- end }} labels: - {{- include "openblocks.selectorLabels" . | nindent 8 }} + {{- include "lowcoder.selectorLabels" . | nindent 8 }} spec: {{- with .Values.imagePullSecrets }} imagePullSecrets: {{- toYaml . | nindent 8 }} {{- end }} - serviceAccountName: {{ include "openblocks.serviceAccountName" . }} + serviceAccountName: {{ include "lowcoder.serviceAccountName" . }} securityContext: {{- toYaml .Values.podSecurityContext | nindent 8 }} containers: @@ -35,19 +35,19 @@ spec: imagePullPolicy: {{ .Values.frontend.image.pullPolicy }} envFrom: - configMapRef: - name: {{ include "openblocks.fullname" . }}-frontend + name: {{ include "lowcoder.fullname" . }}-frontend ports: - - name: openblocks + - name: lowcoder containerPort: 3000 protocol: TCP livenessProbe: httpGet: path: {{ .Values.ingress.contextPath | default "" | trimSuffix "/" }}/apps - port: openblocks + port: lowcoder readinessProbe: httpGet: path: {{ .Values.ingress.contextPath | default "" | trimSuffix "/" }}/apps - port: openblocks + port: lowcoder resources: {{- toYaml .Values.resources | nindent 12 }} {{- with .Values.nodeSelector }} diff --git a/deploy/helm/templates/frontend/hpa.yaml b/deploy/helm/templates/frontend/hpa.yaml index 752ee1aa4..b0c2ee026 100644 --- a/deploy/helm/templates/frontend/hpa.yaml +++ b/deploy/helm/templates/frontend/hpa.yaml @@ -2,14 +2,14 @@ apiVersion: autoscaling/v2beta1 kind: HorizontalPodAutoscaler metadata: - name: {{ include "openblocks.fullname" . }}-frontend + name: {{ include "lowcoder.fullname" . }}-frontend labels: - {{- include "openblocks.labels" . | nindent 4 }} + {{- include "lowcoder.labels" . | nindent 4 }} spec: scaleTargetRef: apiVersion: apps/v1 kind: Deployment - name: {{ include "openblocks.fullname" . }}-frontend + name: {{ include "lowcoder.fullname" . }}-frontend minReplicas: {{ .Values.frontend.autoscaling.minReplicas }} maxReplicas: {{ .Values.frontend.autoscaling.maxReplicas }} metrics: diff --git a/deploy/helm/templates/frontend/service.yaml b/deploy/helm/templates/frontend/service.yaml index 92f30eb8a..090087558 100644 --- a/deploy/helm/templates/frontend/service.yaml +++ b/deploy/helm/templates/frontend/service.yaml @@ -1,20 +1,20 @@ apiVersion: v1 kind: Service metadata: - name: {{ include "openblocks.fullname" . }}-frontend + name: {{ include "lowcoder.fullname" . }}-frontend labels: - {{- include "openblocks.labels" . | nindent 4 }} + {{- include "lowcoder.labels" . | nindent 4 }} spec: type: {{ .Values.frontend.service.type }} ports: - port: {{ .Values.frontend.service.port }} - targetPort: openblocks + targetPort: lowcoder protocol: TCP - name: openblocks + name: lowcoder {{- if .Values.frontend.service.nodePort }} {{- if or (eq .Values.frontend.service.type "NodePort") (eq .Values.frontend.service.type "LoadBalancer") }} nodePort: {{ .Values.frontend.service.nodePort }} {{- end }} {{- end }} selector: - {{- include "openblocks.selectorLabels" . | nindent 4 }} + {{- include "lowcoder.selectorLabels" . | nindent 4 }} diff --git a/deploy/helm/templates/ingress.yaml b/deploy/helm/templates/ingress.yaml index dda87caed..fb8c56912 100644 --- a/deploy/helm/templates/ingress.yaml +++ b/deploy/helm/templates/ingress.yaml @@ -1,5 +1,5 @@ {{- if .Values.ingress.enabled -}} -{{- $fullName := include "openblocks.fullname" . -}} +{{- $fullName := include "lowcoder.fullname" . -}} {{- $svcPort := .Values.frontend.service.port -}} {{- if and .Values.ingress.className (not (semverCompare ">=1.18-0" .Capabilities.KubeVersion.GitVersion)) }} {{- if not (hasKey .Values.ingress.annotations "kubernetes.io/ingress.class") }} @@ -17,7 +17,7 @@ kind: Ingress metadata: name: {{ $fullName }} labels: - {{- include "openblocks.labels" . | nindent 4 }} + {{- include "lowcoder.labels" . | nindent 4 }} {{- with .Values.ingress.annotations }} annotations: {{- toYaml . | nindent 4 }} diff --git a/deploy/helm/templates/node-service/configMap.yaml b/deploy/helm/templates/node-service/configMap.yaml index 140734600..ea6b26c02 100644 --- a/deploy/helm/templates/node-service/configMap.yaml +++ b/deploy/helm/templates/node-service/configMap.yaml @@ -1,12 +1,12 @@ -{{- $nameSpace := include "openblocks.namespace" . -}} -{{- $name := include "openblocks.fullname" . -}} -{{- $openblocksDatabase := first .Values.mongodb.auth.databases -}} +{{- $nameSpace := include "lowcoder.namespace" . -}} +{{- $name := include "lowcoder.fullname" . -}} +{{- $lowcoderDatabase := first .Values.mongodb.auth.databases -}} apiVersion: v1 kind: ConfigMap metadata: - name: {{ include "openblocks.fullname" . }}-node-service + name: {{ include "lowcoder.fullname" . }}-node-service labels: - {{- include "openblocks.labels" . | nindent 4 }} + {{- include "lowcoder.labels" . | nindent 4 }} {{- with .Values.annotations }} annotations: {{- toYaml . | nindent 4 }} @@ -15,7 +15,7 @@ data: PUID: {{ .Values.nodeService.config.userId | default "9001" | quote }} PGID: {{ .Values.nodeService.config.groupId | default "9001" | quote }} {{- if .Values.nodeService.apiServiceUrl }} - OPENBLOCKS_API_SERVICE_URL: {{ .Values.nodeService.apiServiceUrl | quote }} + LOWCODER_API_SERVICE_URL: {{ .Values.nodeService.apiServiceUrl | quote }} {{- else }} - OPENBLOCKS_API_SERVICE_URL: "http://{{ $name }}-api-service:{{ .Values.apiService.service.port }}" + LOWCODER_API_SERVICE_URL: "http://{{ $name }}-api-service:{{ .Values.apiService.service.port }}" {{- end }} diff --git a/deploy/helm/templates/node-service/deployment.yaml b/deploy/helm/templates/node-service/deployment.yaml index bb2bebda4..3d47ef7d2 100644 --- a/deploy/helm/templates/node-service/deployment.yaml +++ b/deploy/helm/templates/node-service/deployment.yaml @@ -1,16 +1,16 @@ apiVersion: apps/v1 kind: Deployment metadata: - name: {{ include "openblocks.fullname" . }}-node-service + name: {{ include "lowcoder.fullname" . }}-node-service labels: - {{- include "openblocks.labels" . | nindent 4 }} + {{- include "lowcoder.labels" . | nindent 4 }} spec: {{- if not .Values.nodeService.autoscaling.enabled }} replicas: {{ .Values.nodeService.replicaCount }} {{- end }} selector: matchLabels: - {{- include "openblocks.selectorLabels" . | nindent 6 }} + {{- include "lowcoder.selectorLabels" . | nindent 6 }} template: metadata: {{- with .Values.podAnnotations }} @@ -18,13 +18,13 @@ spec: {{- toYaml . | nindent 8 }} {{- end }} labels: - {{- include "openblocks.selectorLabels" . | nindent 8 }} + {{- include "lowcoder.selectorLabels" . | nindent 8 }} spec: {{- with .Values.imagePullSecrets }} imagePullSecrets: {{- toYaml . | nindent 8 }} {{- end }} - serviceAccountName: {{ include "openblocks.serviceAccountName" . }} + serviceAccountName: {{ include "lowcoder.serviceAccountName" . }} securityContext: {{- toYaml .Values.podSecurityContext | nindent 8 }} containers: @@ -35,9 +35,9 @@ spec: imagePullPolicy: {{ .Values.nodeService.image.pullPolicy }} envFrom: - configMapRef: - name: {{ include "openblocks.fullname" . }}-node-service + name: {{ include "lowcoder.fullname" . }}-node-service ports: - - name: openblocks-node + - name: lowcoder-node containerPort: 6060 protocol: TCP # Uncomment when /status endpoint is implemented @@ -45,12 +45,12 @@ spec: # initialDelaySeconds: 15 # httpGet: # path: /plugins -# port: openblocks-node +# port: lowcoder-node # readinessProbe: # initialDelaySeconds: 15 # httpGet: # path: /plugins -# port: openblocks-node +# port: lowcoder-node resources: {{- toYaml .Values.resources | nindent 12 }} {{- with .Values.nodeSelector }} diff --git a/deploy/helm/templates/node-service/hpa.yaml b/deploy/helm/templates/node-service/hpa.yaml index e52cec73c..6871942eb 100644 --- a/deploy/helm/templates/node-service/hpa.yaml +++ b/deploy/helm/templates/node-service/hpa.yaml @@ -2,14 +2,14 @@ apiVersion: autoscaling/v2beta1 kind: HorizontalPodAutoscaler metadata: - name: {{ include "openblocks.fullname" . }}-node-service + name: {{ include "lowcoder.fullname" . }}-node-service labels: - {{- include "openblocks.labels" . | nindent 4 }} + {{- include "lowcoder.labels" . | nindent 4 }} spec: scaleTargetRef: apiVersion: apps/v1 kind: Deployment - name: {{ include "openblocks.fullname" . }}-node-service + name: {{ include "lowcoder.fullname" . }}-node-service minReplicas: {{ .Values.nodeService.autoscaling.minReplicas }} maxReplicas: {{ .Values.nodeService.autoscaling.maxReplicas }} metrics: diff --git a/deploy/helm/templates/node-service/service.yaml b/deploy/helm/templates/node-service/service.yaml index fb4a8e1e4..756919a1f 100644 --- a/deploy/helm/templates/node-service/service.yaml +++ b/deploy/helm/templates/node-service/service.yaml @@ -1,20 +1,20 @@ apiVersion: v1 kind: Service metadata: - name: {{ include "openblocks.fullname" . }}-node-service + name: {{ include "lowcoder.fullname" . }}-node-service labels: - {{- include "openblocks.labels" . | nindent 4 }} + {{- include "lowcoder.labels" . | nindent 4 }} spec: type: {{ .Values.nodeService.service.type }} ports: - port: {{ .Values.nodeService.service.port }} - targetPort: openblocks-node + targetPort: lowcoder-node protocol: TCP - name: openblocks-node + name: lowcoder-node {{- if .Values.nodeService.service.nodePort }} {{- if or (eq .Values.nodeService.service.type "NodePort") (eq .Values.nodeService.service.type "LoadBalancer") }} nodePort: {{ .Values.nodeService.service.nodePort }} {{- end }} {{- end }} selector: - {{- include "openblocks.selectorLabels" . | nindent 4 }} + {{- include "lowcoder.selectorLabels" . | nindent 4 }} diff --git a/deploy/helm/templates/serviceaccount.yaml b/deploy/helm/templates/serviceaccount.yaml index 9a1d766e9..83d4e7b90 100644 --- a/deploy/helm/templates/serviceaccount.yaml +++ b/deploy/helm/templates/serviceaccount.yaml @@ -2,9 +2,9 @@ apiVersion: v1 kind: ServiceAccount metadata: - name: {{ include "openblocks.serviceAccountName" . }} + name: {{ include "lowcoder.serviceAccountName" . }} labels: - {{- include "openblocks.labels" . | nindent 4 }} + {{- include "lowcoder.labels" . | nindent 4 }} {{- with .Values.serviceAccount.annotations }} annotations: {{- toYaml . | nindent 4 }} diff --git a/deploy/helm/values.yaml b/deploy/helm/values.yaml index c59e5f10e..58e29b00d 100644 --- a/deploy/helm/values.yaml +++ b/deploy/helm/values.yaml @@ -1,4 +1,4 @@ -# Default values for openblocks. +# Default values for lowcoder. # This is a YAML-formatted file. # Declare variables to be passed into your templates. @@ -37,24 +37,24 @@ mongodb: #externalUrl: enabled: true service: - nameOverride: openblocks-mongodb + nameOverride: lowcoder-mongodb auth: rootUser: root rootPassword: secret usernames: - - openblocks + - lowcoder passwords: - supersecret databases: - - openblocks + - lowcoder -# Openblocks backend API service +# Lowcoder backend API service # -# Find out more about configuration options at: https://github.com/openblocks-dev/openblocks/tree/develop/deploy/docker#configuration-1 +# Find out more about configuration options at: https://github.com/lowcoder-org/lowcoder/tree/main/deploy/docker#configuration-1 # apiService: image: - repository: openblocksdev/openblocks-ce-api-service + repository: lowcoderorg/lowcoder-ce-api-service pullPolicy: Always # Overrides the image tag whose default is the chart appVersion. #tag: "latest" @@ -65,8 +65,8 @@ apiService: corsAllowedDomains: "*" enableUserSignUp: true encryption: - password: "openblocks.dev" - salt: "openblocks.dev" + password: "lowcoder.org" + salt: "lowcoder.org" #nodeServiceUrl: service: @@ -82,13 +82,13 @@ apiService: targetCPUUtilizationPercentage: 80 # targetMemoryUtilizationPercentage: 80 -# Openblocks backend node service +# Lowcoder backend node service # -# Find out more about configuration options at: https://github.com/openblocks-dev/openblocks/tree/develop/deploy/docker#configuration-3 +# Find out more about configuration options at: https://github.com/lowcoder-org/lowcoder/tree/main/deploy/docker#configuration-3 # nodeService: image: - repository: openblocksdev/openblocks-ce-node-service + repository: lowcoderorg/lowcoder-ce-node-service pullPolicy: Always # Overrides the image tag whose default is the chart appVersion. #tag: "latest" @@ -111,10 +111,10 @@ nodeService: targetCPUUtilizationPercentage: 80 # targetMemoryUtilizationPercentage: 80 -# Openblocks frontend +# Lowcoder frontend frontend: image: - repository: openblocksdev/openblocks-ce-frontend + repository: lowcoderorg/lowcoder-ce-frontend pullPolicy: Always # Overrides the image tag whose default is the chart appVersion. #tag: "latest" diff --git a/deploy/heroku/Dockerfile b/deploy/heroku/Dockerfile index b735093fc..68a8c0c2f 100644 --- a/deploy/heroku/Dockerfile +++ b/deploy/heroku/Dockerfile @@ -1,3 +1,3 @@ -FROM openblocksdev/openblocks-ce:heroku +FROM lowcoderorg/lowcoder-ce:heroku -LABEL maintainer="openblocks" \ No newline at end of file +LABEL maintainer="lowcoder" \ No newline at end of file diff --git a/docs/.gitbook/assets/server-setup-image1.png b/docs/.gitbook/assets/server-setup-image1.png new file mode 100644 index 000000000..6e357a056 Binary files /dev/null and b/docs/.gitbook/assets/server-setup-image1.png differ diff --git a/docs/.gitbook/assets/server-setup-image2.png b/docs/.gitbook/assets/server-setup-image2.png new file mode 100644 index 000000000..d998f7af3 Binary files /dev/null and b/docs/.gitbook/assets/server-setup-image2.png differ diff --git a/docs/.gitbook/assets/server-setup-image3.png b/docs/.gitbook/assets/server-setup-image3.png new file mode 100644 index 000000000..a15359156 Binary files /dev/null and b/docs/.gitbook/assets/server-setup-image3.png differ diff --git a/docs/.gitbook/assets/server-setup-image4.png b/docs/.gitbook/assets/server-setup-image4.png new file mode 100644 index 000000000..8f0dcadfd Binary files /dev/null and b/docs/.gitbook/assets/server-setup-image4.png differ diff --git a/docs/.gitbook/assets/server-setup-image5.png b/docs/.gitbook/assets/server-setup-image5.png new file mode 100644 index 000000000..c31e973c7 Binary files /dev/null and b/docs/.gitbook/assets/server-setup-image5.png differ diff --git a/docs/.gitbook/assets/server-setup-start.gif b/docs/.gitbook/assets/server-setup-start.gif new file mode 100644 index 000000000..fe6f4c6fd Binary files /dev/null and b/docs/.gitbook/assets/server-setup-start.gif differ diff --git a/docs/README.md b/docs/README.md index 389b495bc..dd1fee591 100644 --- a/docs/README.md +++ b/docs/README.md @@ -1,16 +1,16 @@ -# Openblocks overview +# Lowcoder overview -## What is Openblocks? +## What is Lowcoder? -Openblocks is a developer-friendly open-source low code platform to build internal apps within minutes. +Lowcoder is a developer-friendly open-source low code platform to build internal apps within minutes. -Traditionally, building an internal app requires complex frontend and backend interactions with hundreds and thousands lines of code, not to mention work on packaging, integration and deployment. Openblocks significantly reduces the work you need to do to build an app. +Traditionally, building an internal app requires complex frontend and backend interactions with hundreds and thousands lines of code, not to mention work on packaging, integration and deployment. Lowcoder significantly reduces the work you need to do to build an app. -In Openblocks, all you need to do is drag and drop pre-built or self-customized components onto the What-You-See-Is-What-You-Get (WYSIWYG) canvas, along with ready-to-connect databases and APIs, Openblocks helps you build an app quickly and focus on business logic. +In Lowcoder, all you need to do is drag and drop pre-built or self-customized components onto the What-You-See-Is-What-You-Get (WYSIWYG) canvas, along with ready-to-connect databases and APIs, Lowcoder helps you build an app quickly and focus on business logic.
-## Why choose Openblocks? +## Why choose Lowcoder? * **Open source**: Makes your ideas more feasible. * **All-in-one platform**: Connection to all kinds of data sources and APIs such as MySQL, PostgreSQL, SQL Server, MongoDB, Redis, and Elasticsearch, and ensures your data security. @@ -18,7 +18,7 @@ In Openblocks, all you need to do is drag and drop pre-built or self-customized * **Clean design**: Follows the principles of Ant Design and supports display on screens of different sizes. We have a number of templates and UI components, based on which you can freely build dashboard, admin panel, and content management system (CMS). * **Built-in features**: Provide cloud and self-hosted deployment, multi-tenant management, fine-grained access control, and audit logs. -## How to build an app in Openblocks? +## How to build an app in Lowcoder? Building an internal app basically takes 5 steps: diff --git a/docs/SUMMARY.md b/docs/SUMMARY.md index 391c1554a..c5340e9a2 100644 --- a/docs/SUMMARY.md +++ b/docs/SUMMARY.md @@ -1,6 +1,6 @@ # Table of contents -* [Openblocks overview](README.md) +* [Lowcoder overview](README.md) * [Self-hosting](self-hosting/README.md) * [Enterprise Edition](self-hosting/enterprise-edition.md) * [Access local database or API](self-hosting/access-local-database-or-api.md) @@ -12,7 +12,6 @@ ## Data sources * [Data source basics](data-sources/data-source-basics.md) -* [Configure IP allowlists](data-sources/configure-ip-allowlists.md) * [Connect to databases](data-sources/connect-to-databases/README.md) * [Big Query](data-sources/connect-to-databases/big-query.md) * [ClickHouse](data-sources/connect-to-databases/clickhouse.md) diff --git a/docs/build-apps/app-editor.md b/docs/build-apps/app-editor.md index a9ec3268a..2e6024077 100644 --- a/docs/build-apps/app-editor.md +++ b/docs/build-apps/app-editor.md @@ -4,7 +4,7 @@ description: a quick look at the app editor before you start # App editor -In Openblocks, the app editor is where you assemble components, create queries to interact with data, and publish your apps. It consists of five areas: +In Lowcoder, the app editor is where you assemble components, create queries to interact with data, and publish your apps. It consists of five areas: 1. Toolbar 2. Canvas diff --git a/docs/build-apps/component-guides/charts-and-graphs.md b/docs/build-apps/component-guides/charts-and-graphs.md index fa9b2bbb8..ced8755cf 100644 --- a/docs/build-apps/component-guides/charts-and-graphs.md +++ b/docs/build-apps/component-guides/charts-and-graphs.md @@ -2,7 +2,7 @@ Charts and graphs are visual representations of data that are used to simplify complex information and make it easier to understand. They can help highlight key insights and provide a quick summary of data that would otherwise be difficult to interpret. Charts and graphs come in different forms, such as bar graphs, line graphs, pie charts, scatter plots, and more, each suited for different types of data and analytical purposes. -Openblocks allows you to insert multiple forms of charts and graphs into your apps to satisfy your needs in different use cases. +Lowcoder allows you to insert multiple forms of charts and graphs into your apps to satisfy your needs in different use cases.
@@ -59,7 +59,7 @@ Then reference the value of the transformer `{{transformer1.value}}` as the data ### Chart type -Openblocks supports four types of charts: bar chart, line chart, scatter chart, and pie chart. You can select the chart type in **Properties** > **Data** > **Chart type**. You can also customize the layout and style of your chart in **Properties** tab. +Lowcoder supports four types of charts: bar chart, line chart, scatter chart, and pie chart. You can select the chart type in **Properties** > **Data** > **Chart type**. You can also customize the layout and style of your chart in **Properties** tab.
@@ -69,13 +69,13 @@ Bar charts, line charts, and pie charts map values to categorical variables. Thu
-By default, Openblocks automatically detects the X-axis data and its type. You can also manually select one among "Category axis", "Value axis", "Time axis", or "Log axis". For detailed information, see [X axis type](https://echarts.apache.org/en/option.html#xAxis.type). +By default, Lowcoder automatically detects the X-axis data and its type. You can also manually select one among "Category axis", "Value axis", "Time axis", or "Log axis". For detailed information, see [X axis type](https://echarts.apache.org/en/option.html#xAxis.type).
### Chart series -In most types of charts, the **Chart series** (Y-axis) presents numeric values for the categories on X-axis. By default, Openblocks populates all numeric fields to Y-axis. You can hide unnecessary fields in **Properties** > **Chart series**. +In most types of charts, the **Chart series** (Y-axis) presents numeric values for the categories on X-axis. By default, Lowcoder populates all numeric fields to Y-axis. You can hide unnecessary fields in **Properties** > **Chart series**.
@@ -83,7 +83,7 @@ In most types of charts, the **Chart series** (Y-axis) presents numeric values f Apart from the built-in charts and graphs, you can also plot your data with [Apache ECharts](https://echarts.apache.org/en/index.html), an open-source JS visualization library. You only need to complete the **Configuration** > **Option** field in JSON format. For detailed information, see [ECharts docs](https://echarts.apache.org/en/option.html#title) and [ECharts examples](https://echarts.apache.org/examples/en/index.html). -For an instance of using Echarts, see [Stacked Area Chart](https://cloud.openblocks.dev/apps/63779dd6c54c5224c70ea537/view). +For an instance of using Echarts, see Stacked Area Chart:
diff --git a/docs/build-apps/component-guides/custom-component.md b/docs/build-apps/component-guides/custom-component.md index 4357de0af..3b0857681 100644 --- a/docs/build-apps/component-guides/custom-component.md +++ b/docs/build-apps/component-guides/custom-component.md @@ -1,6 +1,6 @@ # Custom component -In Openblocks, you can design custom components using React.js library to satisfy specific needs when building your app. The custom component can be static or dynamic, but either requires coding. +In Lowcoder, you can design custom components using React.js library to satisfy specific needs when building your app. The custom component can be static or dynamic, but either requires coding. {% hint style="info" %} If you consider the custom component you are crafting suits general use cases, contact us and we are happy to do coding. @@ -8,12 +8,12 @@ If you consider the custom component you are crafting suits general use cases, c ## Prerequisites -* Good understanding of how to build an app in Openblocks. +* Good understanding of how to build an app in Lowcoder. * Familiar with HTML/CSS/JS and the React.js library. ## Basics -Drag a **Custom component** onto the canvas. By default, Openblocks adds a title box, a text box, and two buttons into it, as shown below. You can modify **Data** and **Code** in the **Properties** pane to tailor it according to your requirements. +Drag a **Custom component** onto the canvas. By default, Lowcoder adds a title box, a text box, and two buttons into it, as shown below. You can modify **Data** and **Code** in the **Properties** pane to tailor it according to your requirements. {% hint style="info" %} Click the border instead of the inside area to select a **Custom component** and display its property settings. @@ -29,7 +29,7 @@ Click the border instead of the inside area to select a **Custom component** and ### Code -By default, Openblocks defines the object `model`, and two functions `runQuery` and `updateModel`. +By default, Lowcoder defines the object `model`, and two functions `runQuery` and `updateModel`.
@@ -38,10 +38,10 @@ By default, Openblocks defines the object `model`, and two functions `runQuery` ## Implementation -All code of your **Custom component**, including HTML, CSS, and JavaScript, stores in the **Code** box in the **Properties** pane. When your app runs, the custom component will be embedded into an [iframe](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/iframe) element.To facilitate the interaction between the **Custom component** and other components in your app, Openblocks offers an API for you through global objects. The type definition and description of the objects are as follows. +All code of your **Custom component**, including HTML, CSS, and JavaScript, stores in the **Code** box in the **Properties** pane. When your app runs, the custom component will be embedded into an [iframe](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/iframe) element.To facilitate the interaction between the **Custom component** and other components in your app, Lowcoder offers an API for you through global objects. The type definition and description of the objects are as follows. ```javascript -interface Openblocks { +interface Lowcoder { // Subscribe to data change // When data changes, handler will be triggered // The returned value is the unsubscribe function @@ -72,7 +72,7 @@ The following example is the least code that a custom component requires to work const MyCustomComponent = ({ runQuery, model, updateModel }) => (

Hello, world!

); - const ConnectedComponent = Openblocks.connect(MyCustomComponent); + const ConnectedComponent = Lowcoder.connect(MyCustomComponent); ReactDOM.render(, document.getElementById("react")); @@ -114,7 +114,7 @@ Below is the code for this example. ); - const ConnectedComponent = Openblocks.connect(MyCustomComponent); + const ConnectedComponent = Lowcoder.connect(MyCustomComponent); const root = ReactDOM.createRoot(document.getElementById("root")); root.render(); @@ -186,7 +186,7 @@ Then, you import the "antd" library and use the components **Button**, **Input** ); - const ConnectedComponent = Openblocks.connect(MyCustomComponent); + const ConnectedComponent = Lowcoder.connect(MyCustomComponent); const root = ReactDOM.createRoot(document.getElementById("root")); root.render(); diff --git a/docs/build-apps/component-guides/drawer.md b/docs/build-apps/component-guides/drawer.md index 6aacef753..4c84119c3 100644 --- a/docs/build-apps/component-guides/drawer.md +++ b/docs/build-apps/component-guides/drawer.md @@ -1,6 +1,6 @@ # Drawer -In Openblocks, **Drawer** is an overlay sidebar to display information or perform operations, without interrupting the workflow on the main window. +In Lowcoder, **Drawer** is an overlay sidebar to display information or perform operations, without interrupting the workflow on the main window. The following example builds a shopping cart using a drawer. @@ -36,7 +36,7 @@ The following sections guide you through how to open and close a drawer by click ### Trigger openDrawer -Usually, in an app, you trigger opening a drawer by an event such as clicking a button. For example, in the [Online Shopping demo](https://cloud.openblocks.dev/apps/63a422a344075b798fe3ae06/view), opening a drawer to display the shopping cart is implemented in the following steps. +Usually, in an app, you trigger opening a drawer by an event such as clicking a button. Opening a drawer to display the shopping cart is implemented in the following steps. 1. Add a button and rename it as `gotoCart`. 2. Set the event handler of the button. Select "Control component" as the **Action** and select the component "cart" and method "openDrawer". All these settings are auto-saved. @@ -46,7 +46,7 @@ Usually, in an app, you trigger opening a drawer by an event such as clicking a ### Trigger closeDrawer -Triggerring "closeDrawer" is similar to triggering "openDrawer". When setting up the event handler, select the method "closeDrawer". For example, in the [Online Shopping demo](https://cloud.openblocks.dev/apps/63a422a344075b798fe3ae06/view), closing a drawer that displays the shopping cart is implemented in the following steps. +Triggerring "closeDrawer" is similar to triggering "openDrawer". When setting up the event handler, select the method "closeDrawer". Closing a drawer that displays the shopping cart is implemented in the following steps. 1. Add a button and rename it as `gobackShopping`. 2. Set the event handler of the button. Select "Control component" as the **Action** and select the component "cart" and method "closeDrawer". All these settings are auto-saved. diff --git a/docs/build-apps/component-guides/file-upload.md b/docs/build-apps/component-guides/file-upload.md index ed20c75e7..ade29093e 100644 --- a/docs/build-apps/component-guides/file-upload.md +++ b/docs/build-apps/component-guides/file-upload.md @@ -34,7 +34,7 @@ The upload list presents the file names of all uploaded files in chronological o ### Parse files -Toggle **Parse files** and Openblocks will try to parse the uploaded file data structure into objects, arrays, or strings. You can access the parsed result via the property `parsedValue`. Openblocks supports parsing Excel, JSON, and CSV files. The parsing result of other types of files is `null`. +Toggle **Parse files** and Lowcoder will try to parse the uploaded file data structure into objects, arrays, or strings. You can access the parsed result via the property `parsedValue`. Lowcoder supports parsing Excel, JSON, and CSV files. The parsing result of other types of files is `null`.
@@ -66,7 +66,7 @@ Files uploaded via the file upload component are stored in browser cache memory ## Use case: Upload images to Postman Echo API -This example uploads images to Postman [Echo API](https://learning.postman.com/docs/developer/echo-api/), and inspects the query result whether the files are sent successfully to the remote server. For more details, see [Image uploader](https://cloud.openblocks.dev/apps/63a2651e660ad97d59eb4a51/view). +This example uploads images to Postman [Echo API](https://learning.postman.com/docs/developer/echo-api/), and inspects the query result whether the files are sent successfully to the remote server.
diff --git a/docs/build-apps/component-guides/image.md b/docs/build-apps/component-guides/image.md index ee01c3a01..903048532 100644 --- a/docs/build-apps/component-guides/image.md +++ b/docs/build-apps/component-guides/image.md @@ -1,6 +1,6 @@ # Image -Use the **Image** component to present information in your apps in a vivic way. Openblocks supports you adding an image via URL and base64 encoded data. +Use the **Image** component to present information in your apps in a vivic way. Lowcoder supports you adding an image via URL and base64 encoded data. ## URL diff --git a/docs/build-apps/component-guides/option-lists.md b/docs/build-apps/component-guides/option-lists.md index bbc9af816..1a161b5f2 100644 --- a/docs/build-apps/component-guides/option-lists.md +++ b/docs/build-apps/component-guides/option-lists.md @@ -1,6 +1,6 @@ # Option lists -A drop menu ensures easy and error-free user input by offering a list of possible options. Openblocks supports implementing option lists using components such as **Select** and **Multiselect**. You can configure an option list either manually or by mapping data from your data sources. +A drop menu ensures easy and error-free user input by offering a list of possible options. Lowcoder supports implementing option lists using components such as **Select** and **Multiselect**. You can configure an option list either manually or by mapping data from your data sources.
diff --git a/docs/build-apps/component-guides/use-markdown.md b/docs/build-apps/component-guides/use-markdown.md index 80902db8b..a4d91f33f 100644 --- a/docs/build-apps/component-guides/use-markdown.md +++ b/docs/build-apps/component-guides/use-markdown.md @@ -1,6 +1,6 @@ # Use Markdown -Openblocks supports you using the lightweight markup language Markdown to format texts in your app, such as changing the font size, inserting code, and adding a list. You can also embed HTML-formatted text in Markdown for more styling options. +Lowcoder supports you using the lightweight markup language Markdown to format texts in your app, such as changing the font size, inserting code, and adding a list. You can also embed HTML-formatted text in Markdown for more styling options. Use Markdown in **Text** and **Table** components. @@ -13,7 +13,7 @@ Use Markdown in **Text** and **Table** components. ## Markdown basics -All Markdown syntax is valid in Openblocks. +All Markdown syntax is valid in Lowcoder. * **Headings**: Use hashtag (#) before heading. More hashtags, lower heading level. * **Paragraphs**: Use a blank line to separate texts into paragraphs. @@ -23,7 +23,7 @@ All Markdown syntax is valid in Openblocks. * **Lists**: Use hyphen (-), asterisk (∗), or plus sign (+) followed by a whitespace to create an unordered list, and use numbers followed by a period (.) to create an ordered list. * **Code**: Use backticks (\`) before and after code to denote `` `code` `` in plain text, and three backticks (\`\`\`) to present ` ```code block``` `. * **Horizontal rules**: Use at least three asterisks (∗∗∗), hyphens (---), or underscores (\_ \_ \_) at the beginning of a line to create a horizontal rule. -* **Links**: Use square brackets (\[]) for the display text and parenthesis (()) for the link address. Note that no space should be inbetween. For example, `[Openblocks](https://docs.openblocks.dev)`. +* **Links**: Use square brackets (\[]) for the display text and parenthesis (()) for the link address. Note that no space should be inbetween. For example, `[Lowcoder](https://github.com/lowcoder-org/lowcoder)`. * **Images**: Use an exclamation mark (!) to start an image shiinsertion, and then use square bracket (\[]) for the alternative text and parenthesis (()) for the link address or source path. The caption can follow the parentheses or start at a new line. * **Escaping characters**: Use backslash (\\) to display the special symbols that Markdown uses. For instance, to print ` `` ` in plain text, you should use `` \`\` `` in Markdown. @@ -40,10 +40,10 @@ You can also use GitHub Flavored Markdown (GFM) extensions for additional syntax ## HTML support -In Openblocks, you can use most HTML tags and properties. For more information, see [Embed HTML in Markdown](https://www.markdownguide.org/basic-syntax/#html). +In Lowcoder, you can use most HTML tags and properties. For more information, see [Embed HTML in Markdown](https://www.markdownguide.org/basic-syntax/#html). {% hint style="warning" %} -For security reasons, a few HTML tags including **iframe** and **script** are not permitted in Openblocks. +For security reasons, a few HTML tags including **iframe** and **script** are not permitted in Lowcoder. {% endhint %} ### Appendix: Supported HTML tags diff --git a/docs/build-apps/create-a-new-app.md b/docs/build-apps/create-a-new-app.md index 4b1020e6a..a2040ffe5 100644 --- a/docs/build-apps/create-a-new-app.md +++ b/docs/build-apps/create-a-new-app.md @@ -2,7 +2,7 @@ ## Create a new web app -Click **New > App** on the upper right of Openblocks homepage, and go to the app editor. You can rename the app at the left-top of the editor. +Click **New > App** on the upper right of Lowcoder homepage, and go to the app editor. You can rename the app at the left-top of the editor.
diff --git a/docs/build-apps/design-app-ui/design-an-efficient-and-user-friendly-form.md b/docs/build-apps/design-app-ui/design-an-efficient-and-user-friendly-form.md index f654ab2e4..0cb010614 100644 --- a/docs/build-apps/design-app-ui/design-an-efficient-and-user-friendly-form.md +++ b/docs/build-apps/design-app-ui/design-an-efficient-and-user-friendly-form.md @@ -2,7 +2,7 @@ ### Select proper input components -The UX design of input components in a form is crucial to the form's efficiency. Properly chosen components can save users effort and lead to better results. Openblocks offers a variety of input components, including text input, number input, option list, and radio buttons, each of which works for different scenarios. +The UX design of input components in a form is crucial to the form's efficiency. Properly chosen components can save users effort and lead to better results. Lowcoder offers a variety of input components, including text input, number input, option list, and radio buttons, each of which works for different scenarios. For example, when the input is generated from data, use the option list to let users quickly fill in the input. @@ -22,9 +22,9 @@ Keep all input field lengths the same to make the form visually neat, and put al
-### Group content with Openblocks divider +### Group content with Lowcoder divider -Use the Openblocks **Divider** component to group relevant input fields to help users process information in an organized way. +Use the Lowcoder **Divider** component to group relevant input fields to help users process information in an organized way.
@@ -34,7 +34,7 @@ Form component is quite often used for CRUD operations, which sometimes can be r
-Similarly, a notification after users' submission gives users timely feedback. You can add a global notication to the Submit button. In Openblocks, you can add global notifications in three ways. See [global notification](style-theme-and-usability.md#global-notifications) for details. +Similarly, a notification after users' submission gives users timely feedback. You can add a global notication to the Submit button. In Lowcoder, you can add global notifications in three ways. See [global notification](style-theme-and-usability.md#global-notifications) for details. ### Clear input fields on submission diff --git a/docs/build-apps/design-app-ui/style-theme-and-usability.md b/docs/build-apps/design-app-ui/style-theme-and-usability.md index 071b84ca4..669311b6f 100644 --- a/docs/build-apps/design-app-ui/style-theme-and-usability.md +++ b/docs/build-apps/design-app-ui/style-theme-and-usability.md @@ -1,6 +1,6 @@ # Style, theme, and usability -Good user interface (UI) improves user experience (UX) and increases user involvement. You can customize the style of each component in Openblocks and use the theme feature to design the interface on a per-app or workspace basis. Features such as icon configuration and hint messages make the app interaction more user-friendly. +Good user interface (UI) improves user experience (UX) and increases user involvement. You can customize the style of each component in Lowcoder and use the theme feature to design the interface on a per-app or workspace basis. Features such as icon configuration and hint messages make the app interaction more user-friendly. ## Component styles @@ -18,13 +18,13 @@ You can also write JavaScript in the text box to conditionally control the style ## Themes -The [theme feature](https://cloud.openblocks.dev/setting/theme) helps you quickly set the styles of all your apps within a workspace, such as the primary color of the apps and the default background color of containers. +The theme feature helps you quickly set the styles of all your apps within a workspace, such as the primary color of the apps and the default background color of containers.
### Create a theme -Workspace admins have access to theme settings. On Openblocks homepage, go to **Settings** > **Themes**, and click **+ Create theme**. Enter the theme name, and select one of the preset default themes as the starting point. +Workspace admins have access to theme settings. On Lowcoder homepage, go to **Settings** > **Themes**, and click **+ Create theme**. Enter the theme name, and select one of the preset default themes as the starting point.
@@ -38,7 +38,7 @@ In the app editor, switch the theme by clicking ⚙️ on the left side-bar. Sel
-You can also set the default theme for all your apps within a workspace in **Settings** > **Themes** on Openblocks homepage. +You can also set the default theme for all your apps within a workspace in **Settings** > **Themes** on Lowcoder homepage.
@@ -55,7 +55,7 @@ You can access the global variable `theme` and call the method `theme.switchTo() #### Demo -Combining Option lists and Events, end users can switch the theme within the app. For details, see [Change theme by code demo](https://cloud.openblocks.dev/apps/63f84ca9f5f6f66102fedf3b/view). +Combining Option lists and Events, end users can switch the theme within the app.
@@ -76,7 +76,7 @@ Follow the steps below to include this function in your app. ## Custom CSS -Openblocks provides a custom CSS feature for more flexible and customized UI styling. +Lowcoder provides a custom CSS feature for more flexible and customized UI styling. ### App-level CSS @@ -94,7 +94,7 @@ It is recommended to modify the component styles in **Properties** > **Style** b ### Preload CSS -In Openblocks, workspace admins can also set pre-loaded CSS styles for all apps within the workspace. Open the **Settings**, and click **Advanced** > **Preload CSS**. +In Lowcoder, workspace admins can also set pre-loaded CSS styles for all apps within the workspace. Open the **Settings**, and click **Advanced** > **Preload CSS**.
@@ -164,7 +164,7 @@ imageEditor scanner ``` -Avoid using class names that may change with iterations, such as `sc-dkiQaF bfTYCO`.Openblocks supports [CSS pre-processor](https://stylis.js.org/), you can use CSS nesting to improve efficiency, for example: +Avoid using class names that may change with iterations, such as `sc-dkiQaF bfTYCO`.Lowcoder supports [CSS pre-processor](https://stylis.js.org/), you can use CSS nesting to improve efficiency, for example: ```css .text1 { @@ -215,7 +215,7 @@ To use custom font family, you need to define it first and then apply it. Insert ## User-friendly interaction -Openblocks always lives up to efficiency, security, and easy-to-use design. +Lowcoder always lives up to efficiency, security, and easy-to-use design. ### Hide UI components @@ -256,7 +256,7 @@ Notifications are messages directly sent to your users to remind them of the sta #### Global notifications -Global notifications for certain user interactions give users timely feedback. Openblocks offers four types of global notificaitons: **Information**, **Success**, **Warning** and **Error**. +Global notifications for certain user interactions give users timely feedback. Lowcoder offers four types of global notificaitons: **Information**, **Success**, **Warning** and **Error**. You can set global notifications in three ways: diff --git a/docs/build-apps/event-handlers.md b/docs/build-apps/event-handlers.md index 3cf09aa0b..58fc577cd 100644 --- a/docs/build-apps/event-handlers.md +++ b/docs/build-apps/event-handlers.md @@ -1,6 +1,6 @@ # Event handlers -In Openblocks, event handlers are responsible for collecting and processing events from components and queries, and executing subsequent actions. For example, for a **Button** component, you can add an event handler to trigger the **Run query** action **** in response to the button **Click** event. +In Lowcoder, event handlers are responsible for collecting and processing events from components and queries, and executing subsequent actions. For example, for a **Button** component, you can add an event handler to trigger the **Run query** action **** in response to the button **Click** event.
@@ -30,7 +30,7 @@ Running a query can result in success or failure, so queries have two events: ** ## Actions -There are a number of event handler actions available in Openblocks for handling different scenarios. Set them in the **Action** dropdown list in an event handler. +There are a number of event handler actions available in Lowcoder for handling different scenarios. Set them in the **Action** dropdown list in an event handler. ![](<../.gitbook/assets/image (9) (1).png>) @@ -56,7 +56,7 @@ Store data in a [temporary state](write-javascript/temporary-state.md). ### Go to app -Navigate to an Openblocks app with optional query or hash parameters. +Navigate to an Lowcoder app with optional query or hash parameters. | Parameter | Function | | -------------------- | --------------------------------------------------------------------------------------------------- | diff --git a/docs/build-apps/keyboard-shortcuts.md b/docs/build-apps/keyboard-shortcuts.md index c0e9a652c..a6d3399b4 100644 --- a/docs/build-apps/keyboard-shortcuts.md +++ b/docs/build-apps/keyboard-shortcuts.md @@ -4,13 +4,13 @@ Keyboard shortcuts are a powerful tool that can greatly improve productivity and efficiency when working on a computer. With the ability to assign custom keystrokes to frequently used commands, tasks can be completed quickly and with minimal effort. This is particularly useful for individuals who rely heavily on keyboard input, such as programmers, writers, or designers. -Keyboard shortcuts have been around for decades, and most software applications come with a set of default shortcuts. Openblocks offers built-in keyboard shortcuts to help you work on the interface faster and more efficiently with improved controlling precision. +Keyboard shortcuts have been around for decades, and most software applications come with a set of default shortcuts. Lowcoder offers built-in keyboard shortcuts to help you work on the interface faster and more efficiently with improved controlling precision.
### Global -Global keyboard shortcuts across Openblocks interfaces. +Global keyboard shortcuts across Lowcoder interfaces. | Shortcut | Description | | -------- | ------------------------- | @@ -71,5 +71,5 @@ You can define custom keyboard shortcuts at app-level. Go to ⚙️ on the left
{% hint style="info" %} -Openblocks keyboard shortcuts are better set to avoid conflicts with the browser's keyboard shortcuts, in case they can not be successfully triggered. +Lowcoder keyboard shortcuts are better set to avoid conflicts with the browser's keyboard shortcuts, in case they can not be successfully triggered. {% endhint %} diff --git a/docs/build-apps/module.md b/docs/build-apps/module.md index f422f5fd0..9203a10ca 100644 --- a/docs/build-apps/module.md +++ b/docs/build-apps/module.md @@ -170,7 +170,7 @@ End users are automatically granted permissions to view modules in apps or other ## Releases and versions -Openblocks stores the history versions of your modules for your references. Click **Preview > Publish** at the top right. The release management of a module is identical to that of an app. For detailed information, see [#release-management](version-and-release-management.md#release-management "mention"). +Lowcoder stores the history versions of your modules for your references. Click **Preview > Publish** at the top right. The release management of a module is identical to that of an app. For detailed information, see [#release-management](version-and-release-management.md#release-management "mention"). {% hint style="info" %} For an unpublished module, the apps and modules use its latest version; while for a published one, you need to publish it again to sync your latest changes. diff --git a/docs/build-apps/navigation.md b/docs/build-apps/navigation.md index 12f8859db..2882e310e 100644 --- a/docs/build-apps/navigation.md +++ b/docs/build-apps/navigation.md @@ -4,7 +4,7 @@
-On Openblocks homepage, click **New** and select **Navigation** to create a navigation page. +On Lowcoder homepage, click **New** and select **Navigation** to create a navigation page.
diff --git a/docs/build-apps/use-third-party-libraries.md b/docs/build-apps/use-third-party-libraries.md index 6c1548ad3..ea73a1cd2 100644 --- a/docs/build-apps/use-third-party-libraries.md +++ b/docs/build-apps/use-third-party-libraries.md @@ -1,10 +1,10 @@ # Use third-party libraries -Every developer learns one of the most important principles of software engineering early in their career: DRY (Don’t Repeat Yourself). Using third-party libraries can save your time as you do not need to develop the functionality that the library provides. Openblocks provides some built-in third-party libraries for common uses, and you can manually import other libraries on demand. +Every developer learns one of the most important principles of software engineering early in their career: DRY (Don’t Repeat Yourself). Using third-party libraries can save your time as you do not need to develop the functionality that the library provides. Lowcoder provides some built-in third-party libraries for common uses, and you can manually import other libraries on demand. ## Built-in libraries -Openblocks provides some JavaScript built-in libraries for use. +Lowcoder provides some JavaScript built-in libraries for use. | Library | Docs | Version | | --------- | -------------------------------------------------------------------- | -------------------------- | @@ -16,7 +16,7 @@ Openblocks provides some JavaScript built-in libraries for use. ## Manually import third-party libraries -Openblocks supports setting up preloaded JavaScript and libraries which can be at **app-level** or **workspace-level**. +Lowcoder supports setting up preloaded JavaScript and libraries which can be at **app-level** or **workspace-level**. * **App-level** libraries **** get loaded only in the app where defined. Plus, app A cannot use libraries that are set up for app B. * **Workspace-level** libraries **** will be loaded when you open any application in your workspace. All the apps can access those libraries. There can be a certain impact on app performance, especially when you have complex JavaScript functions that aren't being used in every app. @@ -80,6 +80,6 @@ Note that the cowsay library is imported at app-level and you can not use it in ### At workspace-level -Go to [Opneblocks homepage](https://cloud.openblocks.dev/), select **Settings** > **Advanced**, and then click **Add** under the **JavaScript library** tab. Paste the link of the third-party JS library and click **Add New** to add it to your workspace. You can also click the download icon to quickly add any recommended JS library. The installed libraries are accessible from any app within your workspace. +Go to the Lowcoder homepage, select **Settings** > **Advanced**, and then click **Add** under the **JavaScript library** tab. Paste the link of the third-party JS library and click **Add New** to add it to your workspace. You can also click the download icon to quickly add any recommended JS library. The installed libraries are accessible from any app within your workspace.
diff --git a/docs/build-apps/version-and-release-management.md b/docs/build-apps/version-and-release-management.md index bd6bcbf58..00ade2c6f 100644 --- a/docs/build-apps/version-and-release-management.md +++ b/docs/build-apps/version-and-release-management.md @@ -6,7 +6,7 @@ By default, end users interact with the latest version of your app. After drafti ## History versions -Openblocks automatically stores all your history changes during the construction of an app, such as the addition or deletion of the components, adjustment of the property of the components, rearrangement of the layout, and update of a custom function. You can use it to refer to your earlier ideas or revert to a previous version. +Lowcoder automatically stores all your history changes during the construction of an app, such as the addition or deletion of the components, adjustment of the property of the components, rearrangement of the layout, and update of a custom function. You can use it to refer to your earlier ideas or revert to a previous version. App history versions are only accessible to editors and admins. diff --git a/docs/build-apps/write-javascript/built-in-javascript-functions.md b/docs/build-apps/write-javascript/built-in-javascript-functions.md index b61e57a31..ffe0a34c4 100644 --- a/docs/build-apps/write-javascript/built-in-javascript-functions.md +++ b/docs/build-apps/write-javascript/built-in-javascript-functions.md @@ -23,7 +23,7 @@ utils.openUrl("https://www.google.com", { newTab: true }) ### utils.openApp() -Open an Openblocks app. +Open an Lowcoder app. ```javascript // Syntax @@ -38,10 +38,10 @@ utils.openApp( applicationId: string, options?: { queryParams?: {"key":"value"}, | newTab | Optional. A **Boolean** value that, when **True**, specifies the url is to open in a new tab. The default value is **True**. | ```javascript -// Example: Open an Openblocks app in a new tab. +// Example: Open an Lowcoder app in a new tab. utils.openApp("632bddc33bb9722fb888f6c0", { newTab: true }) -// Example: Open an Openblocks app and pass in "id" parameter. +// Example: Open an Lowcoder app and pass in "id" parameter. utils.openApp("632bddc33bb9722fb888f6c0", { queryParams: { "id": table1.selectedRow.id }, } ) diff --git a/docs/build-apps/write-javascript/javascript-query.md b/docs/build-apps/write-javascript/javascript-query.md index 228004a22..278fee542 100644 --- a/docs/build-apps/write-javascript/javascript-query.md +++ b/docs/build-apps/write-javascript/javascript-query.md @@ -153,7 +153,7 @@ query1.run({ ); ``` -**Demo 1** +**Demo** When you have several inputs in an app triggering the same query, passing parameters to this query allows you to reuse it anywhere. @@ -178,10 +178,6 @@ Then trigger this query in **Run JavaScript** of event handlers in each of the i
-**Demo 2** - -You can find another demo for using passed-in paramter queries [here](https://cloud.openblocks.dev/apps/637f38daa899fe1ffcb17f0b/view). - ## Declare a function You can declare functions inside a JS query for better readability. @@ -200,7 +196,7 @@ function getCurrentDate() { ## Add preloaded scripts -Openblocks supports importing third-party JS libraries and adding predefined JS code, such as adding global methods or variables for reuse either at **app-level** or **workspace-level**. You can find the app-level settings in ⚙️ > **Other** > **Scripts and style**. +Lowcoder supports importing third-party JS libraries and adding predefined JS code, such as adding global methods or variables for reuse either at **app-level** or **workspace-level**. You can find the app-level settings in ⚙️ > **Other** > **Scripts and style**.
@@ -216,4 +212,4 @@ In **JavaScript** tab, you can add preloaded JavaScript code to define global me ## Restrictions -For security reasons, several global variables and functions of **window** are disabled in Openblocks. Please report to our [GitHub](https://github.com/openblocks-dev/openblocks) or [Discord](https://discord.com/invite/z5W2YHXdtt) if you encounter any issues. +For security reasons, several global variables and functions of **window** are disabled in Lowcoder. Please report to our [GitHub](https://github.com/lowcoder-org/lowcoder) or [Discord](https://discord.com/invite/z5W2YHXdtt) if you encounter any issues. diff --git a/docs/build-apps/write-javascript/temporary-state.md b/docs/build-apps/write-javascript/temporary-state.md index 8c683314c..0fb735ebe 100644 --- a/docs/build-apps/write-javascript/temporary-state.md +++ b/docs/build-apps/write-javascript/temporary-state.md @@ -8,7 +8,7 @@ Temporary states may help in the following scenarios: * To track the temporary values of a variable when the user interacts with your app. * To store your data only in operation without persisting to a database. -* To function as a temporary property when built-in properties in Openblocks (such as `{{table.selectedRow}}` and `{{select.value}}`) do not support your use case. +* To function as a temporary property when built-in properties in Lowcoder (such as `{{table.selectedRow}}` and `{{select.value}}`) do not support your use case. {% hint style="info" %} To store and access data across apps in your workspace, use localStorage instead. diff --git a/docs/build-apps/write-javascript/write-javascript-in.md b/docs/build-apps/write-javascript/write-javascript-in.md index ec9adbf04..52f849185 100644 --- a/docs/build-apps/write-javascript/write-javascript-in.md +++ b/docs/build-apps/write-javascript/write-javascript-in.md @@ -1,6 +1,6 @@ # Write JavaScript in \{{ \}} -When building apps in Openblocks, you can use JavaScript (JS) to access and transform data from objects, including components, queries, and global parameters. When writing JavaScript inside SQL editor, component property's input box, table column settings, etc., always remember to enclose all your JS code inside double curly braces, such as `{{'hello, ' + currentUser.name}}`. +When building apps in Lowcoder, you can use JavaScript (JS) to access and transform data from objects, including components, queries, and global parameters. When writing JavaScript inside SQL editor, component property's input box, table column settings, etc., always remember to enclose all your JS code inside double curly braces, such as `{{'hello, ' + currentUser.name}}`. ## Access data @@ -8,7 +8,7 @@ Objects have globally unique names, such as `input1`, `query1`, and `table1`. Yo ### Access data in an object -Openblocks supports you accessing the data in an object using dot notation (`objectName.keyName`). For example,`{{userInfo.selectedRow.userName}}` accesses the `userName` value in the currently selected row of **Table** `userInfo`. +Lowcoder supports you accessing the data in an object using dot notation (`objectName.keyName`). For example,`{{userInfo.selectedRow.userName}}` accesses the `userName` value in the currently selected row of **Table** `userInfo`. When writing JS in `{{ }}` to access values in an object, add a `.` after the object name to trigger an autosuggest menu in case you are not sure about objects' built-in properties or methods. @@ -75,7 +75,7 @@ The following JS code examples are illegal in `{{ }}`. }} ``` -If you wish to orchestrate multiple lines of JavaScript, Openblocks supports you writing such code in [transformers](transformers.md). +If you wish to orchestrate multiple lines of JavaScript, Lowcoder supports you writing such code in [transformers](transformers.md). ```javascript // codes inside a transformer @@ -90,7 +90,7 @@ return "Option 3"; ## View data -Data from queries can be complicated and nested in real cases. Viewing data provides you with the detailed structure of data in objects and helps you understand your data better. Before accessing or transforming data, you may need to view the data and its structure first. Openblocks offers three ways to view data. +Data from queries can be complicated and nested in real cases. Viewing data provides you with the detailed structure of data in objects and helps you understand your data better. Before accessing or transforming data, you may need to view the data and its structure first. Lowcoder offers three ways to view data. ### View query result diff --git a/docs/build-plugins/develop-data-source-plugins.md b/docs/build-plugins/develop-data-source-plugins.md index 58fd125de..e1e558541 100644 --- a/docs/build-plugins/develop-data-source-plugins.md +++ b/docs/build-plugins/develop-data-source-plugins.md @@ -1,6 +1,6 @@ # Develop data source plugins -This document provides basic information and guides for developing data source plugins. Developers are highly welcomed to make contributions to [Openblocks](https://github.com/openblocks-dev/openblocks)--the open source project. +This document provides basic information and guides for developing data source plugins. Developers are highly welcomed to make contributions to [Lowcoder](https://github.com/lowcoder-org/lowcoder)--the open source project. ## Basics @@ -12,7 +12,7 @@ A data source plugin is described by a **JavaScript Object** which mainly consis * Definition of the **Action list** for data source queries and the configuration form for each Action. * Definition of the **execution logic** for Actions. -Currently, all data source plugins are maintained in the `src/plugins` directory of the `node-service` project. Click to view [the project](https://github.com/openblocks-dev/openblocks/tree/develop/server/node-service), and you might take a quick look at the [S3 plugin](https://github.com/openblocks-dev/openblocks/tree/develop/server/node-service/src/plugins/s3). +Currently, all data source plugins are maintained in the `src/plugins` directory of the `node-service` project. Click to view [the project](https://github.com/lowcoder-org/lowcoder/tree/develop/server/node-service), and you might take a quick look at the [S3 plugin](https://github.com/lowcoder-org/lowcoder/tree/develop/server/node-service/src/plugins/s3). ## Overall definition of a plugin @@ -169,7 +169,7 @@ A data source query consists of multiple **Actions**. In actual use, after a use The `actions` field defines the list of query actions supported by the current data source. Each field is described as follows: * `actionName`: the identifier of the action. Must be **unique** within the current data source definition scope. -* `label`: the name of the action displayed in Openblocks interface. +* `label`: the name of the action displayed in Lowcoder interface. * `params`: The field list of the action configuration form, and the type `CommonParamConfig` is defined as follows: ```typescript @@ -277,7 +277,7 @@ Due to various reasons, the generated plugin code needs to be correctly validate ## Testing -Necessary testing should be done before publishing the plugin. Testing a data source plugin requires a backend environment. You can start a local environment by following the documentation [Start a local backend server](https://github.com/openblocks-dev/openblocks/tree/develop/client#readme) and test the data source plugin in following aspects: +Necessary testing should be done before publishing the plugin. Testing a data source plugin requires a backend environment. You can start a local environment by following the documentation [Start a local backend server](https://github.com/lowcoder-org/lowcoder/tree/develop/client#readme) and test the data source plugin in following aspects: 1. Make sure the data source plugin has been added to the plugin list in the file `src/plugins/index.ts`. 2. Start the node-service server in the `node-service` directory by executing `yarn dev`. @@ -301,4 +301,4 @@ You can then use the data source plugin just developed in this environment. ## What's next -Congrats! After testing the data source plugin, you can submit a [Pull Request](https://github.com/openblocks-dev/openblocks/pulls) now. +Congrats! After testing the data source plugin, you can submit a [Pull Request](https://github.com/lowcoder-org/lowcoder/pulls) now. diff --git a/docs/build-plugins/develop-your-first-plugin.md b/docs/build-plugins/develop-your-first-plugin.md index a7a8d52df..6306d51ab 100644 --- a/docs/build-plugins/develop-your-first-plugin.md +++ b/docs/build-plugins/develop-your-first-plugin.md @@ -1,6 +1,6 @@ # Develop UI component plugins -With Openblocks plugins, you can develop customized components that are consistent with native components for your specific scenarios. +With Lowcoder plugins, you can develop customized components that are consistent with native components for your specific scenarios. ## Initialization @@ -80,7 +80,7 @@ If you do not specify the parameter `--publish`, the `tar` file will be saved in ## Import plugins -In the Openblocks app, click **Insert** > **Extensions** > **Add npm plugin** in the right pane. +In the Lowcoder app, click **Insert** > **Extensions** > **Add npm plugin** in the right pane. Input your npm package's URL or name, and then you can use your customized components. @@ -96,4 +96,4 @@ https://www.npmjs.com/package/my-plugin ## Code demo -For code demo, refer to Openblocks [Github](https://github.com/openblocks-dev/openblocks/tree/develop/client/packages/openblocks-plugin-demo). +For code demo, refer to Lowcoder [Github](https://github.com/lowcoder-org/lowcoder/tree/develop/client/packages/openblocks-plugin-demo). diff --git a/docs/data-sources/configure-ip-allowlists.md b/docs/data-sources/configure-ip-allowlists.md deleted file mode 100644 index f45b18880..000000000 --- a/docs/data-sources/configure-ip-allowlists.md +++ /dev/null @@ -1,12 +0,0 @@ -# Configure IP allowlists - -If your data source has firewall rules, it is vital to add IP addresses of Openblocks to the allowlist before connection. Then you can connect to databases or APIs and create queries. - -## Allow IP addresses of Openblocks - -Add the following IP addresses to your data source allowlist when needed: - -``` -54.149.191.117 -54.71.67.239 -``` diff --git a/docs/data-sources/connect-to-databases-1/google-sheets.md b/docs/data-sources/connect-to-databases-1/google-sheets.md index eea3ce3bc..0b54bcfc5 100644 --- a/docs/data-sources/connect-to-databases-1/google-sheets.md +++ b/docs/data-sources/connect-to-databases-1/google-sheets.md @@ -1,5 +1,5 @@ --- -description: Connect to Google Sheets, then access and manipulate data in Openblocks. +description: Connect to Google Sheets, then access and manipulate data in Lowcoder. --- # Google Sheets @@ -49,11 +49,11 @@ Navigate back to to [Google Sheets](https://docs.google.com/spreadsheets), and f When you see the notification **Access updated**, you have authorized this service account to edit your sheet. {% endhint %} -## Connect Google Sheets to Openblocks +## Connect Google Sheets to Lowcoder Follow the steps below: -1. Click **Data Sources** on Openblocks homepage. +1. Click **Data Sources** on Lowcoder homepage. 2. Click **New Data Source** on the top right. Note that this permission is restricted to workspace admins and developers. 3. Select **Database** > **Google Sheets** as the type. diff --git a/docs/data-sources/connect-to-databases-1/graphql.md b/docs/data-sources/connect-to-databases-1/graphql.md index 3792ddd48..eaedc2228 100644 --- a/docs/data-sources/connect-to-databases-1/graphql.md +++ b/docs/data-sources/connect-to-databases-1/graphql.md @@ -2,11 +2,11 @@ GraphQL query language allows the client to specify the structure of the requested data, and returns data from the server using the same structure. Such design ensures that only required data is retrieved, thus improving query efficiency. -## Connect GraphQL API to Openblocks +## Connect GraphQL API to Lowcoder Follow these steps to connect to GraphQL APIs. -1. Click **Data Sources** on the Openblocks homepage. +1. Click **Data Sources** on the Lowcoder homepage. 2. Click **New data source** on the upper right. This permission is restricted to workspace admins and developers. 3. Select **APIs** > **GraphQL**. @@ -71,7 +71,7 @@ The following GraphQL query searches the latest 20 closed issues in the reposito Follow the steps to create a GraphQL query directly. 1. In the query editor, click **+ New**. -2. Select **GraphQL Query** in Data sources. Openblocks offers this built-in plain data source so that you can quickly create GraphQL queries without adding a new data source first. +2. Select **GraphQL Query** in Data sources. Lowcoder offers this built-in plain data source so that you can quickly create GraphQL queries without adding a new data source first.
3. Enter URL, Query, Variables, Parameters, and fill in other fields if needed. diff --git a/docs/data-sources/connect-to-databases-1/rest-apis.md b/docs/data-sources/connect-to-databases-1/rest-apis.md index bcc9c0b55..48e65c316 100644 --- a/docs/data-sources/connect-to-databases-1/rest-apis.md +++ b/docs/data-sources/connect-to-databases-1/rest-apis.md @@ -1,10 +1,10 @@ # REST API -## Connect REST API to Openblocks +## Connect REST API to Lowcoder Follow these steps to connect to REST APIs. -1. Click **Data Sources** on Openblocks homepage. +1. Click **Data Sources** on Lowcoder homepage. 2. Click **New Data Source** on the upper right. This permission is restricted to workspace admins and developers. 3. Select **APIs** > **REST API**. @@ -23,21 +23,19 @@ The default authentication type is **None**. Other options are **Basic** and **D
-If you need other customized authentication methods, contact our customer service on the [homepage](https://openblocks.dev). - ## SSL Cert Verification -In the advanced settings tab, you can configure SSL Cert Verification for your data sources. Three options are available: CA (Certificate Authority) Certificate, Self Signed Certificate, or Disabled. For security reasons, Openblocks accepts APIs with CA certificates by default. For APIs without CA certificates, you can either select "Verify Self Signed Cert" and enter the self-signed certificate or disable the SSL Cert verification. +In the advanced settings tab, you can configure SSL Cert Verification for your data sources. Three options are available: CA (Certificate Authority) Certificate, Self Signed Certificate, or Disabled. For security reasons, Lowcoder accepts APIs with CA certificates by default. For APIs without CA certificates, you can either select "Verify Self Signed Cert" and enter the self-signed certificate or disable the SSL Cert verification.
-Note that for self-signed certificate, the information should be provided in .[PEM](https://en.wikipedia.org/wiki/Privacy-Enhanced\_Mail) (Privacy-Enhanced Mail) format. This certificate will be encrypted and stored securely in Openblocks. +Note that for self-signed certificate, the information should be provided in .[PEM](https://en.wikipedia.org/wiki/Privacy-Enhanced\_Mail) (Privacy-Enhanced Mail) format. This certificate will be encrypted and stored securely in Lowcoder.
## Forward cookies -If you are self-hosting Openblocks in your own domain, you can make REST API requests with cookies to existing services under that domain. You can either toggle the option "Forward all cookies" or specify certain cookies to forward in the text box. This feature can be helpful in cases where you use cookies to share common context (like identity info in JWT format) across different services. +If you are self-hosting Lowcoder in your own domain, you can make REST API requests with cookies to existing services under that domain. You can either toggle the option "Forward all cookies" or specify certain cookies to forward in the text box. This feature can be helpful in cases where you use cookies to share common context (like identity info in JWT format) across different services.
@@ -69,7 +67,7 @@ Follow the steps to add a new REST API data source first and then create a query Follow the steps to create a REST API query directly. 1. In the query editor, click **+ New**. -2. Select **REST Query** in Data Sources. Openblocks offers this built-in plain data source so that you can quickly create REST API queries without adding a new data source first. +2. Select **REST Query** in Data Sources. Lowcoder offers this built-in plain data source so that you can quickly create REST API queries without adding a new data source first.
3. Enter URL, Query, Variables, Parameters, and fill in other fields if needed. diff --git a/docs/data-sources/connect-to-databases/big-query.md b/docs/data-sources/connect-to-databases/big-query.md index 37abd75f3..66fe53bda 100644 --- a/docs/data-sources/connect-to-databases/big-query.md +++ b/docs/data-sources/connect-to-databases/big-query.md @@ -5,14 +5,14 @@ Big Query is a fully managed cloud-based data warehouse offered by Google Cloud ## Prerequisites * Get Big Query database connection parameters from the database owner. -* Refer to [IP allowlist](../configure-ip-allowlists.md) to add IP addresses of Openblocks to your allowlist (if needed). +* Refer to [IP allowlist](../configure-ip-allowlists.md) to add IP addresses of Lowcoder to your allowlist (if needed). ## Connect to Big Query data source Follow the steps below: 1. Create a new data source in two ways. Note that this permission is restricted to workspace admins and developers. - * Navigate to the **Data Sources** tab on [Openblocks Homepage](https://openblocks.dev) and click **New data source**. + * Navigate to the **Data Sources** tab on Lowcoder Homepage and click **New data source**.
* When creating a new query in the app editor, click **+ New** > **+ New data source**. diff --git a/docs/data-sources/connect-to-databases/clickhouse.md b/docs/data-sources/connect-to-databases/clickhouse.md index 50c3a06ff..646004877 100644 --- a/docs/data-sources/connect-to-databases/clickhouse.md +++ b/docs/data-sources/connect-to-databases/clickhouse.md @@ -5,14 +5,14 @@ ClickHouse is an open-source column-oriented database management system designed ## Prerequisites * Get ClickHouse database connection parameters from the database owner. -* Refer to [IP allowlist](../configure-ip-allowlists.md) to add IP addresses of Openblocks to your allowlist (if needed). +* Refer to [IP allowlist](../configure-ip-allowlists.md) to add IP addresses of Lowcoder to your allowlist (if needed). ## Connect to ClickHouse data source Follow the steps below: 1. Create a new data source in two ways. Note that this permission is restricted to workspace admins and developers. - * Navigate to the **Data Sources** tab on [Openblocks Homepage](https://openblocks.dev) and click **New data source**. + * Navigate to the **Data Sources** tab on Lowcoder Homepage and click **New data source**.
* When creating a new query in the app editor, click **+ New** > **+ New data source**. diff --git a/docs/data-sources/connect-to-databases/couchdb.md b/docs/data-sources/connect-to-databases/couchdb.md index 819aac86d..2c4a8d528 100644 --- a/docs/data-sources/connect-to-databases/couchdb.md +++ b/docs/data-sources/connect-to-databases/couchdb.md @@ -5,14 +5,14 @@ CouchDB is an open-source NoSQL document-oriented database management system tha ## Prerequisites * Get CouchDB database connection parameters from the database owner. -* Refer to [IP allowlist](../configure-ip-allowlists.md) to add IP addresses of Openblocks to your allowlist (if needed). +* Refer to [IP allowlist](../configure-ip-allowlists.md) to add IP addresses of Lowcoder to your allowlist (if needed). ## Connect to CouchDB data source Follow the steps below: 1. Create a new data source in two ways. Note that this permission is restricted to workspace admins and developers. - * Navigate to the **Data Sources** tab on [Openblocks Homepage](https://openblocks.dev) and click **New data source**. + * Navigate to the **Data Sources** tab on Lowcoder Homepage and click **New data source**.
* When creating a new query in the app editor, click **+ New** > **+ New data source**. diff --git a/docs/data-sources/connect-to-databases/dynamodb.md b/docs/data-sources/connect-to-databases/dynamodb.md index 6bd8a27d6..be9a47b95 100644 --- a/docs/data-sources/connect-to-databases/dynamodb.md +++ b/docs/data-sources/connect-to-databases/dynamodb.md @@ -5,14 +5,14 @@ DynamoDB is a fully managed NoSQL database service offered by Amazon Web Service ## Prerequisites * Get DynamoDB database connection parameters from the database owner. -* Refer to [IP allowlist](../configure-ip-allowlists.md) to add IP addresses of Openblocks to your allowlist (if needed). +* Refer to [IP allowlist](../configure-ip-allowlists.md) to add IP addresses of Lowcoder to your allowlist (if needed). ## Connect to DynamoDB data source Follow the steps below: 1. Create a new data source in two ways. Note that this permission is restricted to workspace admins and developers. - * Navigate to the **Data Sources** tab on [Openblocks Homepage](https://openblocks.dev) and click **New data source**. + * Navigate to the **Data Sources** tab on Lowcoder Homepage and click **New data source**.
* When creating a new query in the app editor, click **+ New** > **+ New data source**. diff --git a/docs/data-sources/connect-to-databases/elasticsearch.md b/docs/data-sources/connect-to-databases/elasticsearch.md index 555cfd20f..0f61b6acb 100644 --- a/docs/data-sources/connect-to-databases/elasticsearch.md +++ b/docs/data-sources/connect-to-databases/elasticsearch.md @@ -7,14 +7,14 @@ Elasticsearch is a highly scalable and distributed search and analytics engine d ## Prerequisites * Get Microsoft SQL Server database connection parameters from the database owner. -* Refer to [IP allowlist](../configure-ip-allowlists.md) to add IP addresses of Openblocks to your allowlist (if needed). +* Refer to [IP allowlist](../configure-ip-allowlists.md) to add IP addresses of Lowcoder to your allowlist (if needed). ## Connect to Elasticsearch data source Follow the steps below: 1. Create a new data source in two ways. Note that this permission is restricted to workspace admins and developers. - * Navigate to the **Data Sources** tab on [Openblocks Homepage](https://openblocks.dev) and click **New data source**. + * Navigate to the **Data Sources** tab on Lowcoder Homepage and click **New data source**.
* When creating a new query in the app editor, click **+ New** > **+ New data source**. diff --git a/docs/data-sources/connect-to-databases/mariadb.md b/docs/data-sources/connect-to-databases/mariadb.md index cfc5adf4c..7b7a5a815 100644 --- a/docs/data-sources/connect-to-databases/mariadb.md +++ b/docs/data-sources/connect-to-databases/mariadb.md @@ -5,14 +5,14 @@ MariaDB is a popular open-source relational database management system that offe ## Prerequisites * Get MariaDB database connection parameters from the database owner. -* Refer to [IP allowlist](../configure-ip-allowlists.md) to add IP addresses of Openblocks to your allowlist (if needed). +* Refer to [IP allowlist](../configure-ip-allowlists.md) to add IP addresses of Lowcoder to your allowlist (if needed). ## Connect to MariaDB data source Follow the steps below: 1. Create a new data source in two ways. Note that this permission is restricted to workspace admins and developers. - * Navigate to the **Data Sources** tab on [Openblocks Homepage](https://openblocks.dev) and click **New data source**. + * Navigate to the **Data Sources** tab on Lowcoder Homepage and click **New data source**.
* When creating a new query in the app editor, click **+ New** > **+ New data source**. diff --git a/docs/data-sources/connect-to-databases/microsoft-sql-server.md b/docs/data-sources/connect-to-databases/microsoft-sql-server.md index 66eeb4f16..e6de83d9d 100644 --- a/docs/data-sources/connect-to-databases/microsoft-sql-server.md +++ b/docs/data-sources/connect-to-databases/microsoft-sql-server.md @@ -5,14 +5,14 @@ Microsoft SQL Server is a relational database management system (RDBMS), offerin ## Prerequisites * Get Microsoft SQL Server database connection parameters from the database owner. -* Refer to [IP allowlist](../configure-ip-allowlists.md) to add IP addresses of Openblocks to your allowlist (if needed). +* Refer to [IP allowlist](../configure-ip-allowlists.md) to add IP addresses of Lowcoder to your allowlist (if needed). ## Connect to Microsoft SQL Server data source Follow the steps below: 1. Create a new data source in two ways. Note that this permission is restricted to workspace admins and developers. - * Navigate to the **Data Sources** tab on [Openblocks Homepage](https://openblocks.dev) and click **New data source**. + * Navigate to the **Data Sources** tab on Lowcoder Homepage and click **New data source**.
* When creating a new query in the app editor, click **+ New** > **+ New data source**. diff --git a/docs/data-sources/connect-to-databases/mongodb.md b/docs/data-sources/connect-to-databases/mongodb.md index 6649c124c..aa610c5e8 100644 --- a/docs/data-sources/connect-to-databases/mongodb.md +++ b/docs/data-sources/connect-to-databases/mongodb.md @@ -5,14 +5,14 @@ MongoDB is a broadly used NoSQL database system that stores data in JSON-like do ## Prerequisites * Get MongoDB database connection parameters from the database owner. -* Refer to [IP allowlist](../configure-ip-allowlists.md) to add IP addresses of Openblocks to your allowlist (if needed). +* Refer to [IP allowlist](../configure-ip-allowlists.md) to add IP addresses of Lowcoder to your allowlist (if needed). ## Connect to MongoDB data source Follow the steps below: 1. Create a new data source in two ways. Note that this permission is restricted to workspace admins and developers. - * Navigate to the **Data Sources** tab on [Openblocks Homepage](https://openblocks.dev) and click **New data source**. + * Navigate to the **Data Sources** tab on Lowcoder Homepage and click **New data source**.
* When creating a new query in the app editor, click **+ New** > **+ New data source**. diff --git a/docs/data-sources/connect-to-databases/mysql.md b/docs/data-sources/connect-to-databases/mysql.md index 90ac7f6a5..a2116ea61 100644 --- a/docs/data-sources/connect-to-databases/mysql.md +++ b/docs/data-sources/connect-to-databases/mysql.md @@ -5,14 +5,14 @@ MySQL is a popular relational database management system (RDBMS) and is widely u ## Prerequisites * Get MySQL database connection parameters from the database owner. -* Refer to [IP allowlist](../configure-ip-allowlists.md) to add IP addresses of Openblocks to your allowlist (if needed). +* Refer to [IP allowlist](../configure-ip-allowlists.md) to add IP addresses of Lowcoder to your allowlist (if needed). ## Connect to MySQL data source Follow the steps below: 1. Create a new data source in two ways. Note that this permission is restricted to workspace admins and developers. - * Navigate to the **Data Sources** tab on [Openblocks Homepage](https://openblocks.dev) and click **New data source**. + * Navigate to the **Data Sources** tab on Lowcoder Homepage and click **New data source**.
* When creating a new query in the app editor, click **+ New** > **+ New data source**. diff --git a/docs/data-sources/connect-to-databases/oracle.md b/docs/data-sources/connect-to-databases/oracle.md index 4619a441e..bfdf72afd 100644 --- a/docs/data-sources/connect-to-databases/oracle.md +++ b/docs/data-sources/connect-to-databases/oracle.md @@ -5,14 +5,14 @@ Oracle is a leading provider of enterprise software and database management syst ## Prerequisites * Get Oracle database connection parameters from the database owner. -* Refer to [IP allowlist](../configure-ip-allowlists.md) to add IP addresses of Openblocks to your allowlist (if needed). +* Refer to [IP allowlist](../configure-ip-allowlists.md) to add IP addresses of Lowcoder to your allowlist (if needed). ## Connect to Oracle data source Follow the steps below: 1. Create a new data source in two ways. Note that this permission is restricted to workspace admins and developers. - * Navigate to the **Data Sources** tab on [Openblocks Homepage](https://openblocks.dev) and click **New data source**. + * Navigate to the **Data Sources** tab on Lowcoder Homepage and click **New data source**.
* When creating a new query in the app editor, click **+ New** > **+ New data source**. diff --git a/docs/data-sources/connect-to-databases/postgresql.md b/docs/data-sources/connect-to-databases/postgresql.md index 4cfdc9f0f..97c086f90 100644 --- a/docs/data-sources/connect-to-databases/postgresql.md +++ b/docs/data-sources/connect-to-databases/postgresql.md @@ -5,14 +5,14 @@ PostgreSQL is a powerful open-source relational database management system (RDBM ## Prerequisites * Get PostgreSQL database connection parameters from the database owner. -* Refer to [IP allowlist](../configure-ip-allowlists.md) to add IP addresses of Openblocks to your allowlist (if needed). +* Refer to [IP allowlist](../configure-ip-allowlists.md) to add IP addresses of Lowcoder to your allowlist (if needed). ## Connect to PostgreSQL data source Follow the steps below: 1. Create a new data source in two ways. Note that this permission is restricted to workspace admins and developers. - * Navigate to the **Data Sources** tab on [Openblocks Homepage](https://openblocks.dev) and click **New data source**. + * Navigate to the **Data Sources** tab on Lowcoder Homepage and click **New data source**.
* When creating a new query in the app editor, click **+ New** > **+ New data source**. diff --git a/docs/data-sources/connect-to-databases/redis.md b/docs/data-sources/connect-to-databases/redis.md index 2f081a89d..dee513c57 100644 --- a/docs/data-sources/connect-to-databases/redis.md +++ b/docs/data-sources/connect-to-databases/redis.md @@ -5,14 +5,14 @@ Redis (Remote Dictionary Server) is an open-source in-memory data structure stor ## Prerequisites * Get Redis database connection parameters from the database owner. -* Refer to [IP allowlist](../configure-ip-allowlists.md) to add IP addresses of Openblocks to your allowlist (if needed). +* Refer to [IP allowlist](../configure-ip-allowlists.md) to add IP addresses of Lowcoder to your allowlist (if needed). ## Connect to Redis data source Follow the steps below: 1. Create a new data source in two ways. Note that this permission is restricted to workspace admins and developers. - * Navigate to the **Data Sources** tab on [Openblocks Homepage](https://openblocks.dev) and click **New data source**. + * Navigate to the **Data Sources** tab on Lowcoder Homepage and click **New data source**.
* When creating a new query in the app editor, click **+ New** > **+ New data source**. diff --git a/docs/data-sources/connect-to-databases/snowflake.md b/docs/data-sources/connect-to-databases/snowflake.md index 7233ac258..124fa1c93 100644 --- a/docs/data-sources/connect-to-databases/snowflake.md +++ b/docs/data-sources/connect-to-databases/snowflake.md @@ -5,14 +5,14 @@ Snowflake is a cloud-based data warehousing platform that provides scalable and ## Prerequisites * Get Snowflake database connection parameters from the database owner. -* Refer to [IP allowlist](../configure-ip-allowlists.md) to add IP addresses of Openblocks to your allowlist (if needed). +* Refer to [IP allowlist](../configure-ip-allowlists.md) to add IP addresses of Lowcoder to your allowlist (if needed). ## Connect to Snowflake data source Follow the steps below: 1. Create a new data source in two ways. Note that this permission is restricted to workspace admins and developers. - * Navigate to the **Data Sources** tab on [Openblocks Homepage](https://openblocks.dev) and click **New data source**. + * Navigate to the **Data Sources** tab on Lowcoder Homepage and click **New data source**.
* When creating a new query in the app editor, click **+ New** > **+ New data source**. diff --git a/docs/data-sources/data-source-basics.md b/docs/data-sources/data-source-basics.md index f5eb5e03a..4d0a826f9 100644 --- a/docs/data-sources/data-source-basics.md +++ b/docs/data-sources/data-source-basics.md @@ -2,17 +2,17 @@ Data source is where you manage credentials and make connections to various popular databases such as PostgreSQL, MongoDB, Elasticsearch and all kinds of internal or third-party APIs. -Openblocks stores your credentials securely and does not store any data from your requests or responses. It only serves as a proxy between client side and your data sources. +Lowcoder stores your credentials securely and does not store any data from your requests or responses. It only serves as a proxy between client side and your data sources. ## Connect to a new data source {% hint style="info" %} -Check out [IP allowlist](configure-ip-allowlists.md) and add Openblocks IP addresses to your data source allowlist when needed. +Check out [IP allowlist](configure-ip-allowlists.md) and add Lowcoder IP addresses to your data source allowlist when needed. {% endhint %} Follow the steps below: -1. Click **Data Sources** on Openblocks homepage. +1. Click **Data Sources** on Lowcoder homepage. 2. Click **New data source** on the upper right. This permission is restricted to workspace admins and developers.
@@ -35,6 +35,6 @@ You can also connect to a new data source when creating or editing queries in qu Only workspace admins and developers can view the **Data Sources** page and create new data sources. -For each data source, workspace admins and the creator can change its **Access Control**. Go to Openblocks homepage > **Data Sources**, and click `···` > **Access Control**. +For each data source, workspace admins and the creator can change its **Access Control**. Go to Lowcoder homepage > **Data Sources**, and click `···` > **Access Control**. For more information about permissions for data sources, see [Data sources](../workspace-management/permissions-for-resources.md#data-sources). diff --git a/docs/queries/query-basics.md b/docs/queries/query-basics.md index 9a0843254..2eac0f6bc 100644 --- a/docs/queries/query-basics.md +++ b/docs/queries/query-basics.md @@ -14,7 +14,7 @@ The UI of query editor varies when you choose different types of data sources. B
-Openblocks evaluates your query statement with JavaScript code inside `{{ }}` in real-time, and the result is displayed below in a floating box, so you can use it to check the correctness of the query statement. +Lowcoder evaluates your query statement with JavaScript code inside `{{ }}` in real-time, and the result is displayed below in a floating box, so you can use it to check the correctness of the query statement.
@@ -26,7 +26,7 @@ You can view the metadata of databases such as PostgreSQL, MongoDB and MySQL. Cl ## Trigger when -Openblocks triggers your queries in two modes, either run automatically when inputs change or on page load, or manually invoked in event handlers. +Lowcoder triggers your queries in two modes, either run automatically when inputs change or on page load, or manually invoked in event handlers.
@@ -43,7 +43,7 @@ For this mode of queries, they run only with your manual trigger, such as a butt In most cases, queries reading data, like **select** operations, can be set to the former mode, and those writing data, like **create**/**delete**/**update** operations, run the latter way. -When Openblocks detects your query statement switches from reading to writing data, the trigger mode switches to **Manually invoked** automatically, but not the other way around. +When Lowcoder detects your query statement switches from reading to writing data, the trigger mode switches to **Manually invoked** automatically, but not the other way around. {% endhint %} ## Notification tab and Advanced tab diff --git a/docs/queries/query-library.md b/docs/queries/query-library.md index 25806844b..265af52c8 100644 --- a/docs/queries/query-library.md +++ b/docs/queries/query-library.md @@ -1,6 +1,6 @@ # Query library -**Query Library** lets you store, reuse and share queries across your workspace. Create and run queries in query library, and call them from any Openblocks app. +**Query Library** lets you store, reuse and share queries across your workspace. Create and run queries in query library, and call them from any Lowcoder app. ## Features @@ -35,7 +35,7 @@ The main function of the query **** library is to create and manage reusable que ### Input parameters -There are cases where you want to pass dynamic parameters to a query. Openblocks supports that by introducing input configuration of a query. +There are cases where you want to pass dynamic parameters to a query. Lowcoder supports that by introducing input configuration of a query. Click **Add** in the **Inputs** tab in the right pane to add input parameters. Reference them using `{{}}` in the query, then you can input test values to test execution of the query. diff --git a/docs/security.md b/docs/security.md index e55a59a79..7366ef897 100644 --- a/docs/security.md +++ b/docs/security.md @@ -1,33 +1,9 @@ # Security -## Does Openblocks store my data? +## Does Lowcoder store my data? -No, Openblocks doesn't store any data returned from your APIs or database queries. +No, Lowcoder doesn't store any data returned from your APIs or database queries. -Openblocks only serves as a proxy between client side and your data sources. When you query your APIs or databases, Openblocks server connects to the data source with your credentials, forwards the request, and returns the result data to the browser. During the whole process, Openblocks doesn't store any data from your requests or responses. +Lowcoder only serves as a proxy between client side and your data sources. When you query your APIs or databases, Lowcoder server connects to the data source with your credentials, forwards the request, and returns the result data to the browser. During the whole process, Lowcoder doesn't store any data from your requests or responses. -Openblocks also provides a self-hosted version. You can deploy self-hosted Openblocks images on your own device, on-premise deployment ensures you have total control over your resources and that your data is securely stored. - -## Is it safe to log in to my databases on Openblocks Cloud? - -Yes, it is very safe for the following reasons: - -* All sensitive credentials, such as database passwords, are encrypted with [AES-256 encryption](https://en.wikipedia.org/wiki/Advanced\_Encryption\_Standard). -* All sensitive credentials will never be sent to the browser from the server. They are only used in server side and are never exposed to the browser, the browser will display "Encrypted on the server side" as a placeholder. - -
- -## Other security measures within Openblocks - -Openblocks provides secure-by-default service. - -* All connections on Openblocks Cloud are encrypted with [TLS](https://en.wikipedia.org/wiki/Public\_key\_certificate). -* Sensitive credentials, such as database access credentials, are encrypted with AES-256, and each self-hosted Openblocks instance can be configured with unique salt values. -* Openblocks Cloud only connects to your databases or APIs through allowed IPs: **54.149.191.117** & **54.71.67.239**, ensuring that your data won't be exposed to unknown IPs while using our cloud service. -* Openblocks Cloud service is deployed and hosted on AWS centers, which are certified with ISO 27001, SOC 1 and SOC 2 standards. -* Openblocks **** ensures data redundancy on all cloud instances, so you do not need to worry about single point of failure or data loss. -* Internal access to Openblocks Cloud is controlled through [two-factor authentication (2FA)](https://en.wikipedia.org/wiki/Help:Two-factor\_authentication) and audit logs. - -## Feedback - -Should you have any questions about data security in Openblocks, please feel free to contact us. We welcome any feedback on our service from security experts and all users. +Lowcoder also provides a self-hosted version. You can deploy self-hosted Lowcoder images on your own device, on-premise deployment ensures you have total control over your resources and that your data is securely stored. diff --git a/docs/self-hosting/README.md b/docs/self-hosting/README.md index d59d5479e..ac190ffe4 100644 --- a/docs/self-hosting/README.md +++ b/docs/self-hosting/README.md @@ -1,10 +1,10 @@ # Self-hosting -In this article, you will be guided through hosting Openblocks on your own server using Docker-Compose or Docker. +In this article, you will be guided through hosting Lowcoder on your own server using Docker-Compose or Docker. -For easy setup and deployment, we provide an [all-in-one image](https://hub.docker.com/r/openblocksdev/openblocks-ce) which bundles frontend, backend and data persistence services altogether in one single container. +For easy setup and deployment, we provide an [all-in-one image](https://hub.docker.com/r/lowcoderorg/lowcoder-ce) which bundles frontend, backend and data persistence services altogether in one single container. -Also, for developers in need of stateless containers in cluster environment, we provide [separate images](https://hub.docker.com/u/openblocksdev) of backend and frontend services with a customizable Dockerfile. +Also, for developers in need of stateless containers in cluster environment, we provide [separate images](https://hub.docker.com/u/lowcoderorg) of backend and frontend services with a customizable Dockerfile. ## All-in-one image: all services in one container @@ -19,7 +19,7 @@ Recommended system spec: 1-core CPU and 2 GB RAM. Windows users are recommended to use PowerShell for running commands below. {% endhint %} -In your working directory, run the following commands to make a directory named `openblocks` to store the data of Openblocks: +In your working directory, run the following commands to make a directory named `openblocks` to store the data of Lowcoder: ```bash mkdir openblocks @@ -32,11 +32,11 @@ cd openblocks {% tab title="Docker-Compose (Recommend)" %} Follow the steps below: -1. Download the configuration file by clicking [docker-compose.yml](https://cdn-files.openblocks.dev/docker-compose.yml) or running the curl command: +1. Download the configuration file by clicking [docker-compose.yml](https://raw.githubusercontent.com/lowcoder-org/lowcoder/main/deploy/docker/docker-compose.yaml) or running the curl command: {% code overflow="wrap" %} ```bash - curl https://cdn-files.openblocks.dev/docker-compose.yml -o $PWD/docker-compose.yml + curl https://raw.githubusercontent.com/lowcoder-org/lowcoder/main/deploy/docker/docker-compose.yaml -o $PWD/docker-compose.yml ``` {% endcode %} 2. Start the Docker container by running this command: @@ -61,10 +61,10 @@ Follow the steps below: - When you see `frontend`, `backend`, `redis`, and `mongo` `entered the RUNNING state`, the Openblocks service has officially started: + When you see `frontend`, `backend`, `redis`, and `mongo` `entered the RUNNING state`, the Lowcoder service has officially started:
-4. Visit [**http://localhost:3000**](http://localhost:3000) and click **Sign up**. Openblocks will automatically create a workspace for you, then you can start building your apps and invite members to your workspace. +4. Visit [**http://localhost:3000**](http://localhost:3000) and click **Sign up**. Lowcoder will automatically create a workspace for you, then you can start building your apps and invite members to your workspace.
{% endtab %} @@ -74,7 +74,7 @@ Run the command below: {% code overflow="wrap" %} ```bash -docker run -d --name openblocks -p 3000:3000 -v "$PWD/stacks:/openblocks-stacks" openblocksdev/openblocks-ce +docker run -d --name openblocks -p 3000:3000 -v "$PWD/stacks:/openblocks-stacks" lowcoderorg/lowcoder-ce ``` {% endcode %} {% endtab %} @@ -84,7 +84,7 @@ docker run -d --name openblocks -p 3000:3000 -v "$PWD/stacks:/openblocks-stacks" {% tabs %} {% tab title="Docker-Compose" %} -Run the following commands to update to the latest Openblocks image: +Run the following commands to update to the latest Lowcoder image: ```bash docker-compose pull @@ -94,13 +94,13 @@ docker-compose up -d {% endtab %} {% tab title="Docker" %} -Run the following commands to update to the latest Openblocks image: +Run the following commands to update to the latest Lowcoder image: {% code overflow="wrap" %} ```bash -docker pull openblocksdev/openblocks-ce +docker pull lowcoderorg/lowcoder-ce docker rm -fv openblocks -docker run -d --name openblocks -p 3000:3000 -v "$PWD/stacks:/openblocks-stacks" openblocksdev/openblocks-ce +docker run -d --name openblocks -p 3000:3000 -v "$PWD/stacks:/openblocks-stacks" lowcoderorg/lowcoder-ce ``` {% endcode %} {% endtab %} @@ -108,7 +108,7 @@ docker run -d --name openblocks -p 3000:3000 -v "$PWD/stacks:/openblocks-stacks" ## Separate images: services in different containers -For developers who require stateless containers in a cluster environment, we offer separate images of backend and frontend service with a customizable Dockerfile. A well-functioning Openblocks deployment consists of below services: +For developers who require stateless containers in a cluster environment, we offer separate images of backend and frontend service with a customizable Dockerfile. A well-functioning Lowcoder deployment consists of below services: * **api-service**: Backend service. * **node-service**: Backend service. @@ -122,15 +122,15 @@ For developers who require stateless containers in a cluster environment, we off ### Deploy -1. In your working directory, run the following commands to make a directory named `openblocks` to store the data of Openblocks: +1. In your working directory, run the following commands to make a directory named `openblocks` to store the data of Lowcoder: ```bash mkdir openblocks cd openblocks ``` -2. Download the configuration file by clicking [docker-compose-multi.yml](https://cdn-files.openblocks.dev/docker-compose-multi.yml) or running the curl command: +2. Download the configuration file by clicking [docker-compose-multi.yml](https://raw.githubusercontent.com/lowcoder-org/lowcoder/main/deploy/docker/docker-compose-multi.yaml) or running the curl command: -
curl https://cdn-files.openblocks.dev/docker-compose-multi.yml -o $PWD/docker-compose-multi.yml
+    
curl https://raw.githubusercontent.com/lowcoder-org/lowcoder/main/deploy/docker/docker-compose.yaml -o $PWD/docker-compose-multi.yml
     
3. Modify service configurations in the downloaded Dockerfile according to your needs: @@ -146,7 +146,7 @@ For developers who require stateless containers in a cluster environment, we off ```bash docker-compose -f docker-compose-multi.yml up -d ``` -5. Visit [**http://localhost:3000**](http://localhost:3000) and click **Sign up**. Openblocks will automatically create a workspace for you, then you can start building your apps and invite members to your workspace. +5. Visit [**http://localhost:3000**](http://localhost:3000) and click **Sign up**. Lowcoder will automatically create a workspace for you, then you can start building your apps and invite members to your workspace.
@@ -190,12 +190,12 @@ docker rm openblocks Below are examples of configuring all-in-one image by setting environment variables in `docker-compose.yml`. If you are self-hosting with separate images, modify `openblocks-api-service` part of `docker-compose-multi.yml` instead. {% hint style="info" %} -For more information about configurations and environment variables, see [Configuration](https://github.com/openblocks-dev/openblocks/tree/develop/deploy/docker#all-in-one-image). +For more information about configurations and environment variables, see [Configuration](https://github.com/lowcoder-org/lowcoder/tree/develop/deploy/docker#all-in-one-image). {% endhint %} ### Use your own MongoDB and Redis -By default Openblocks uses the built-in MongoDB and Redis installed inside the container, and you can replace them with your own MongoDB and Redis clusters. +By default Lowcoder uses the built-in MongoDB and Redis installed inside the container, and you can replace them with your own MongoDB and Redis clusters. {% tabs %} {% tab title="Docker-Compose" %} @@ -208,7 +208,7 @@ Add environment variables `MONGODB_URI` and `REDIS_URI` to the deployment comman {% code overflow="wrap" %} ```bash -docker run -d --name openblocks -e MONGODB_URI=YOUR_MONGODB_URI REDIS_URI=YOUR_REDIS_URI -p 3000:3000 -v "$PWD/stacks:/openblocks-stacks openblocksdev/openblocks-ce +docker run -d --name openblocks -e MONGODB_URI=YOUR_MONGODB_URI REDIS_URI=YOUR_REDIS_URI -p 3000:3000 -v "$PWD/stacks:/openblocks-stacks lowcoderorg/lowcoder-ce ``` {% endcode %} {% endtab %} @@ -229,7 +229,7 @@ Add an environment variable `LOCAL_USER_ID` to the deployment command, as shown {% code overflow="wrap" %} ```bash -docker run -d --name openblocks -e LOCAL_USER_ID=10010 -p 3000:3000 -v "$PWD/stacks:/openblocks-stacks" openblocksdev/openblocks-ce +docker run -d --name openblocks -e LOCAL_USER_ID=10010 -p 3000:3000 -v "$PWD/stacks:/openblocks-stacks" lowcoderorg/lowcoder-ce ``` {% endcode %} {% endtab %} @@ -237,7 +237,7 @@ docker run -d --name openblocks -e LOCAL_USER_ID=10010 -p 3000:3000 -v "$PWD/sta ### Install SSL certificate -With an SSL certificate, you can securely visit self-hosted Openblocks with HTTPS protocol. Here are the steps to install your SSL certificate before starting a container: +With an SSL certificate, you can securely visit self-hosted Lowcoder with HTTPS protocol. Here are the steps to install your SSL certificate before starting a container: {% tabs %} {% tab title="Docker-Compose" %} @@ -252,7 +252,7 @@ With an SSL certificate, you can securely visit self-hosted Openblocks with HTTP {% code overflow="wrap" %} ```bash -docker run -d --name openblocks -p 3443:3443 -v "$PWD/stacks:/openblocks-stacks" openblocksdev/openblocks-ce +docker run -d --name openblocks -p 3443:3443 -v "$PWD/stacks:/openblocks-stacks" lowcoderorg/lowcoder-ce ``` {% endcode %} {% endtab %} diff --git a/docs/self-hosting/access-local-database-or-api.md b/docs/self-hosting/access-local-database-or-api.md index 86770ed9a..b03f2416b 100644 --- a/docs/self-hosting/access-local-database-or-api.md +++ b/docs/self-hosting/access-local-database-or-api.md @@ -1,6 +1,6 @@ # Access local database or API -By default, docker-hosted instances uses a [bridge network](https://docs.docker.com/network/bridge/), which does not support access to service on the host via `127.0.0.1` or `localhost`. Here we take PostgreSQL as an example and show you how to access local API or database in different operating systems (OS) for docker-hosted Openblocks. +By default, docker-hosted instances uses a [bridge network](https://docs.docker.com/network/bridge/), which does not support access to service on the host via `127.0.0.1` or `localhost`. Here we take PostgreSQL as an example and show you how to access local API or database in different operating systems (OS) for docker-hosted Lowcoder. ## Preparation @@ -17,7 +17,7 @@ Assume that a Postgres service is ready on your local host with port `5432`. Con
Having set up Docker, the OS would automatically create `docker0` with the IP address `172.17.0.1` (by default), through which the Docker service communicates with the host. -2. Enter the same IP address into Openblocks to configure the Postgres data source (`172.17.0.1` in this example, but use the actual IP address displayed on your terminal in real case). +2. Enter the same IP address into Lowcoder to configure the Postgres data source (`172.17.0.1` in this example, but use the actual IP address displayed on your terminal in real case). @@ -40,7 +40,7 @@ On Windows and masOS, Docker does not create the virtual bridge `docker0`. Then host.docker.internal ``` -In Openblocks, configure the Postgres data source as the following figure shows: +In Lowcoder, configure the Postgres data source as the following figure shows: diff --git a/docs/self-hosting/aws-ami.md b/docs/self-hosting/aws-ami.md index 2784f41be..5695da2e8 100644 --- a/docs/self-hosting/aws-ami.md +++ b/docs/self-hosting/aws-ami.md @@ -1,6 +1,6 @@ # AWS AMI -Openblocks provides an Amazon Machine Image (AMI) for your self-hosting on [Amazon Web Services (AWS)](https://aws.amazon.com/). +Lowcoder provides an Amazon Machine Image (AMI) for your self-hosting on [Amazon Web Services (AWS)](https://aws.amazon.com/). ## Deploy @@ -11,7 +11,7 @@ Openblocks provides an Amazon Machine Image (AMI) for your self-hosting on [Amaz 3. Follow the steps in [Create a security group](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/working-with-security-groups.html#creating-security-group) to create a new AWS security group. While creating, add an inbound rule that sets port **3000** to be accessible from **anywhere**, as shown below.
-4. Click **Images** -> **AMI Catalog** on the left sidebar. Type in **Openblocks** to search in **AWS Marketplace AMIs**. **Select** the Openblocks image from results, then click the **Launch Instance with AMI** button to proceed. +4. Click **Images** -> **AMI Catalog** on the left sidebar. Type in **Lowcoder** to search in **AWS Marketplace AMIs**. **Select** the Lowcoder image from results, then click the **Launch Instance with AMI** button to proceed.
5. Configure the following settings: @@ -34,9 +34,9 @@ After deployment, you can view the instance details on the **Instances** page an
-Your new Openblocks instance should be available at **http://public\_ipv4\_address:3000**. +Your new Lowcoder instance should be available at **http://public\_ipv4\_address:3000**. -In the welcome page, click **Sign up** to get started. Openblocks will automatically create a workspace for you. Then you can start building your apps and invite members to your workspace. +In the welcome page, click **Sign up** to get started. Lowcoder will automatically create a workspace for you. Then you can start building your apps and invite members to your workspace.
@@ -64,13 +64,13 @@ ssh -i "your_private_key.pem" ubuntu@your_public_IPv4_DNS ### Update -For information about how to update the Openblocks image to the latest version, see [Update](./#update). +For information about how to update the Lowcoder image to the latest version, see [Update](./#update). ### Customize configurations -| Location | Usage | -| ------------------------------------------------------------ | --------------------------------------------------- | -|

~/openblocks/docker-compose.yml

| Setting up Docker ports, volumes, environments etc. | -| `~/openblocks/stacks/configuration/application-selfhost.yml` | Setting up Openblocks server configurations | +| Location | Usage | +|------------------------------------------------------------| --------------------------------------------------- | +|

~/lowcoder/docker-compose.yml

| Setting up Docker ports, volumes, environments etc. | +| `~/lowcoder/stacks/configuration/application-selfhost.yml` | Setting up Lowcoder server configurations | For information about how to customize deployment configurations, see [Customize configurations](./#customize-configurations). diff --git a/docs/self-hosting/digitalocean.md b/docs/self-hosting/digitalocean.md index 36b939f86..0305a372f 100644 --- a/docs/self-hosting/digitalocean.md +++ b/docs/self-hosting/digitalocean.md @@ -1,24 +1,24 @@ # DigitalOcean -You can deploy Openblocks on DigitalOcean using our [Openblocks docker image](https://marketplace.digitalocean.com/apps/openblocks) from the DigitalOcean Marketplace. Based on the pre-built image, you can create a DigitalOcean droplet as your cloud-based infrastructure and set up an Openblocks instance in seconds. [Create a DigitalOcean account](https://cloud.digitalocean.com/registrations/new) or [Log in](https://cloud.digitalocean.com/login) to get started. +You can deploy Lowcoder on DigitalOcean using our [Lowcoder docker image](https://marketplace.digitalocean.com/apps/openblocks) from the DigitalOcean Marketplace. Based on the pre-built image, you can create a DigitalOcean droplet as your cloud-based infrastructure and set up an Lowcoder instance in seconds. [Create a DigitalOcean account](https://cloud.digitalocean.com/registrations/new) or [Log in](https://cloud.digitalocean.com/login) to get started. ## Deploy -1. Search **Openblocks** in DigitalOcean Marketplace or visit [Openblocks page](https://marketplace.digitalocean.com/apps/openblocks) directly. -2. Click **Create Openblocks Droplet** to enter the configuring page. +1. Search **Lowcoder** in DigitalOcean Marketplace or visit [Lowcoder page](https://marketplace.digitalocean.com/apps/openblocks) directly. +2. Click **Create Lowcoder Droplet** to enter the configuring page.
3. Choose the region and datacenter. The closest one to you and your users is recommended.
-4. The Openblocks image should already be listed as shown below, so you don't need to choose here. +4. The Lowcoder image should already be listed as shown below, so you don't need to choose here.
5. Choose a plan and size for your Droplet, which determines its RAM, disk space, and vCPUs as well as its price. We'd recommend a system spec with **1 core CPU and 2 GB RAM** or the above.
- Note that the **Basic** shared CPU with **Regular with SSD (1 GB CPU / 25GB SSD Disk / 1000GB transfer)** CPU option is more than capable of hosting an Openblocks instance. + Note that the **Basic** shared CPU with **Regular with SSD (1 GB CPU / 25GB SSD Disk / 1000GB transfer)** CPU option is more than capable of hosting an Lowcoder instance. 6. Choose an [SSH key](https://docs.digitalocean.com/products/droplets/how-to/add-ssh-keys/) if you've added one, or create a root password for the Droplet.
@@ -34,11 +34,11 @@ You can deploy Openblocks on DigitalOcean using our [Openblocks docker image](ht For more help, see [Droplets | DigitalOcean Documentation](https://docs.digitalocean.com/products/droplets/). {% endhint %} -After deployment, your new Openblocks instance should be available at **http://your\_droplet\_public\_ipv4:3000**. +After deployment, your new Lowcoder instance should be available at **http://your\_droplet\_public\_ipv4:3000**.
-In the welcome page, Click **Sign up** to get started. Openblocks will automatically create a workspace for you. Then you can start building your apps and invite members to your workspace. +In the welcome page, Click **Sign up** to get started. Lowcoder will automatically create a workspace for you. Then you can start building your apps and invite members to your workspace.
@@ -54,13 +54,13 @@ Find the deployed droplet in your [DigitalOcean projects](https://cloud.digitalo ### Update -For information about how to update the Openblocks image to the latest version, see [Update](./#update). +For information about how to update the Lowcoder image to the latest version, see [Update](./#update). ### Customize configurations | Location | Usage | | ------------------------------------------------------------ | --------------------------------------------------- | |

~/openblocks/docker-compose.yml

| Setting up Docker ports, volumes, environments etc. | -| `~/openblocks/stacks/configuration/application-selfhost.yml` | Setting up Openblocks server configurations | +| `~/openblocks/stacks/configuration/application-selfhost.yml` | Setting up Lowcoder server configurations | For information about how to customize deployment configurations, see [Customize configurations](./#customize-configurations). diff --git a/docs/self-hosting/enterprise-edition.md b/docs/self-hosting/enterprise-edition.md deleted file mode 100644 index 41719aca4..000000000 --- a/docs/self-hosting/enterprise-edition.md +++ /dev/null @@ -1,237 +0,0 @@ -# Enterprise Edition - -In this article, you will be guided through self-hosting **Openblocks Enterprise Edition (EE)** using Docker or Docker Compose: - -* If you're new to Openblocks, we highly recommend you deploy with the [all-in-one image](enterprise-edition.md#all-in-one-image-all-services-in-one-container). -* For current users of **Openblocks Community Edition (CE)**, please follow instructions in [Upgrade to Enterprise Edition](enterprise-edition.md#upgrade-to-enterprise-edition) section. - -{% hint style="info" %} -A **License Key** is necessary to deploy or upgrade to Enterprise Edition. Feel free to contact our team at fan@openblocks.dev or on [Discord](https://discord.com/invite/z5W2YHXdtt) if needed. - -The lack of License Key will not hinder the process of starting and maintaining Openblocks EE services but display the paid features as disabled. -{% endhint %} - -## Premium features - -* Enterprise ID providers: Google, GitHub, Azure AD, Okta, Keycloak, CAS, LDAP, JWT and more -* White labeling ([Custom branding](../workspace-management/customize-branding.md)) -* Air-gapped deployment -* Audit logs -* Priority support - -## All-in-one image: all services in one container - -For easy setup and deployment, we provide an all-in-one image which bundles frontend, backend and data persistence services altogether in one single container. - -### Prerequisites - -* [Docker](https://docs.docker.com/get-docker/) (version 20.10.7 or above) -* [Docker-Compose](https://docs.docker.com/compose/install/) (version 1.29.2 or above) - -{% hint style="info" %} -Recommended system spec: 1-core CPU and 2 GB RAM. - -Windows users are recommended to use PowerShell for running terminal commands below. -{% endhint %} - -In your working directory, run the following commands to make a directory named `openblocks` to store the data of Openblocks: - -```bash -mkdir openblocks -cd openblocks -``` - -### Deploy - -{% tabs %} -{% tab title="Docker-Compose (Recommend)" %} -Follow the steps below: - -1. Download the configuration file by clicking [docker-compose.yml](https://cdn-files.openblocks.dev/docker-compose.yml) or running the curl command: - - {% code overflow="wrap" %} - ```bash - curl https://cdn-files.openblocks.dev/docker-compose.yml -o $PWD/docker-compose.yml - ``` - {% endcode %} -2. Edit the yaml file just downloaded: - * `image`: should be modified to `openblocksdev/openblocks-ee`. - * `contanier_name`: should be changed only when you run into container-naming conflicts. If changed, please remember to also replace default container name `openblocks` with the new one in commands like `docker logs`, `docker-compose rm`, `docker restart`, and so on. - -
-3. Start the Docker container by running this command: - - ```bash - docker-compose up -d - ``` - - \ - The docker image will be pulled from docker hub during the initial start-up.\ - - -
-4. Fill in your License Key in `stacks/configuration/application-selfhost.yml`, as shown below. Note that the `key:` should always be followed by a **space**, then the license key. - -
-5. Restart the container using this command: - - ```bash - docker restart openblocks - ``` -6. Check the logs by running this command: - - ```bash - docker logs -f openblocks - ``` - - - - When you see **frontend**, **backend**, **redis**, and **mongo** **entered the RUNNING state**, the Openblocks service has officially started.\ - - -
-7. Visit [**http://localhost:3000**](http://localhost:3000) and click **Sign up**. Openblocks will automatically create a workspace for you, then you can start building your apps and invite members to your workspace. - -
-{% endtab %} - -{% tab title="Docker" %} -1. Run the command below to pull `openblocks-ee` image and start the container `openblocks`: - - {% code overflow="wrap" %} - ```bash - docker run -d --name openblocks -p 3000:3000 -v "$PWD/stacks:/openblocks-stacks" openblocksdev/openblocks-ee - ``` - {% endcode %} -2. Fill in your License Key in `stacks/configuration/application-selfhost.yml`. Note that the `key:` should always be followed by a **space**, then the license key. -3. Restart the container using this command: - - {% code overflow="wrap" %} - ```bash - docker restart openblocks - ``` - {% endcode %} -{% endtab %} -{% endtabs %} - -### Update - -{% tabs %} -{% tab title="Docker-Compose" %} -Run the following commands to update to the latest Openblocks image: - -```bash -docker-compose pull -docker-compose rm -fsv openblocks -docker-compose up -d -``` -{% endtab %} - -{% tab title="Docker" %} -Run the following commands to update to the latest Openblocks image: - -{% code overflow="wrap" %} -```bash -docker pull openblocksdev/openblocks-ee -docker rm -fv openblocks -docker run -d --name openblocks -p 3000:3000 -v "$PWD/stacks:/openblocks-stacks" openblocksdev/openblocks-ee -``` -{% endcode %} -{% endtab %} -{% endtabs %} - -## Customize configurations - -You can customize deployment configurations by setting environment variables. For detailed information, see [Customize configurations](./#customize-configurations). - -## Upgrade to Enterprise Edition - -If you have been using Openblocks Community Edition and want to upgrade to Enterprise Edition, follow the steps below to start Openblocks(EE) containers **based on your current data** stored in MongoDB. - -{% hint style="info" %} -Feel free to contact us at fan@openblocks.dev or on [Discord](https://discord.com/invite/z5W2YHXdtt) when you encounter any problem. -{% endhint %} - -{% tabs %} -{% tab title="Docker-Compose" %} -1. Edit the Dockerfile [docker-compose.yml](https://cdn-files.openblocks.dev/docker-compose.yml) in your working directory: - * For developers self-hosting with the all-in-one image: the `image` field of `openblocks` service should be modified to `openblocksdev/openblocks-ee`. - -
-2. Pull the latest all-in-one image of Enterprise Edition using the modified Dockerfile. - -```bash -docker-compose pull -``` - -3. Stop and remove the Openblocks CE service container. - -```bash -docker-compose rm -fsv YOUR_CE_CONTAINER_NAME -``` - -4. Run the Openblocks EE container in the background (the Detached mode). - -```bash -docker-compose up -d -``` - -5. Fill in your License Key in `stacks/configuration/application-selfhost.yml`. Note that the `key:` should always be followed by a **space**, then the license key. - - - -
-6. Restart the Openblocks EE container. - -```bash -docker restart YOUR_EE_CONTAINER_NAME -``` - -7. Check the log of the container, and wait for **frontend**, **backend**, **redis**, and **mongo** services to have **entered the RUNNING state**. - -```bash -docker logs -f YOUR_EE_CONTAINER_NAME -``` -{% endtab %} - -{% tab title="Docker" %} -Before starting, make sure you have redirected to the working directory where your current data is stored. - -1. Pull the latest all-in-one image of Enterprise Edition. - -```bash -docker pull openblocksdev/openblocks-ee -``` - -2. Stop and remove the Openblocks CE service container. - -```bash -docker rm -fv YOUR_CE_CONTAINER_NAME -``` - -3. Run the Openblocks EE container in the background (the Detached mode). - -{% code overflow="wrap" %} -```bash -docker run -d --name YOUR_EE_CONTAINER_NAME -p 3000:3000 -v "$PWD/stacks:/openblocks-stacks" openblocksdev/openblocks-ee -``` -{% endcode %} - -4. Fill in your License Key in `stacks/configuration/application-selfhost.yml`. Note that the `key:` should always be followed by a **space**, then the license key. - - - -
-5. Restart the Openblocks EE container. - -```bash -docker restart YOUR_EE_CONTAINER_NAME -``` - -6. Check the log of the container, and wait for **frontend**, **backend**, **redis**, and **mongo** services to have **entered the RUNNING state**. - -```bash -docker logs -f YOUR_EE_CONTAINER_NAME -``` -{% endtab %} -{% endtabs %} diff --git a/docs/self-hosting/heroku.md b/docs/self-hosting/heroku.md index 08c432f2e..1ede3c939 100644 --- a/docs/self-hosting/heroku.md +++ b/docs/self-hosting/heroku.md @@ -1,5 +1,5 @@ --- -description: Self-host Openblocks on Heroku quickly with one-click deployment. +description: Self-host Lowcoder on Heroku quickly with one-click deployment. --- # Heroku @@ -7,7 +7,7 @@ description: Self-host Openblocks on Heroku quickly with one-click deployment. ## Deploy 1. [Sign up](https://signup.heroku.com/) for a new Heroku account, or [log in](https://id.heroku.com/login) to get started. -2. Click to start Heroku [one-click deployment](https://heroku.com/deploy?template=https://github.com/openblocks-dev/openblocks). +2. Click to start Heroku [one-click deployment](https://heroku.com/deploy?template=https://github.com/lowcoder-org/lowcoder). 3. Set the **App name** which will be part of the app URL later, and choose a region.
@@ -24,7 +24,7 @@ Click the **View** button to open the new app, which should be available at **ht
-In the welcome page, Click **Sign up** to get started. Openblocks will automatically create a workspace for you. Then you can start building your apps and invite members to your workspace. +In the welcome page, Click **Sign up** to get started. Lowcoder will automatically create a workspace for you. Then you can start building your apps and invite members to your workspace.
@@ -73,7 +73,7 @@ You can use [Heroku CLI](https://devcenter.heroku.com/categories/command-line) t 1\. Get the latest code by cloning the `openblocks-dev/openblocks` repository from GitHub. ```bash -git clone https://github.com/openblocks-dev/openblocks.git +git clone https://github.com/lowcoder-org/lowcoder.git ``` 2\. Move to the `heroku` folder. diff --git a/docs/workspace-management/customize-branding.md b/docs/workspace-management/customize-branding.md index e27abaeed..7dc47e003 100644 --- a/docs/workspace-management/customize-branding.md +++ b/docs/workspace-management/customize-branding.md @@ -1,20 +1,20 @@ # Custom branding -Openblocks provides a white-labelling feature that allows you to customize your workspace's **branding**, including logo, favicon, brand name and color. You can easily configure branding to match your company's branding and benefit from consistent experiences with your company's existing internal tools. +Lowcoder provides a white-labelling feature that allows you to customize your workspace's **branding**, including logo, favicon, brand name and color. You can easily configure branding to match your company's branding and benefit from consistent experiences with your company's existing internal tools. {% hint style="info" %} -Custom branding is a **premium feature** of self-hosted [Enterprise Edition](../self-hosting/enterprise-edition.md) of Openblocks. Feel free to contact our team if needed. +Custom branding is a **premium feature** of self-hosted [Enterprise Edition](../self-hosting/enterprise-edition.md) of Lowcoder. Feel free to contact our team if needed. {% endhint %} ## Branding settings -Only **workspace admins** have the permission to customize branding. Navigate to [Openblocks homepage](https://cloud.openblocks.dev/), select ⚙️ **Settings** tab **** in **** the left pane and click **Branding**. You can edit the settings on the left and preview the actual effects on the right. +Only **workspace admins** have the permission to customize branding. Navigate to Lowcoder homepage, select ⚙️ **Settings** tab **** in **** the left pane and click **Branding**. You can edit the settings on the left and preview the actual effects on the right.
The customizable branding settings are listed as follows: -* Logo: click the **Logo** box to upload your logo, which is shown at the top bar. The file browser will pop up and you can select an image file. Openblocks supports `.jpg`, `.svg`, and `.png` files. +* Logo: click the **Logo** box to upload your logo, which is shown at the top bar. The file browser will pop up and you can select an image file. Lowcoder supports `.jpg`, `.svg`, and `.png` files. * Head color: click the palette in the **Head Color** section to select the background color of the top bar. You can also directly type a CSS color into the box. * Brand name: enter your **Brand Name** in the input box and it will show on the **login page** and as the browser tab title. * Favicon: click the **Favicon** box to upload your website icon, which is shown in the browser tab. @@ -33,10 +33,10 @@ The following pictures show what workspace **members** and **end users** will se

application pages

-Note that workspace **developers** and **admins** still see "Openblocks" branding on the homepage and application pages. +Note that workspace **developers** and **admins** still see "Lowcoder" branding on the homepage and application pages.
## Further support -If the current branding feature doesn't meet your requirements, please do not hesitate to contact us. Openblocks team is ready to help with your needs. +If the current branding feature doesn't meet your requirements, please do not hesitate to contact us. Lowcoder team is ready to help with your needs. diff --git a/docs/workspace-management/members-and-groups.md b/docs/workspace-management/members-and-groups.md index 39aa9d3df..2668270a9 100644 --- a/docs/workspace-management/members-and-groups.md +++ b/docs/workspace-management/members-and-groups.md @@ -1,6 +1,6 @@ # Members and groups -In Openblocks, you can organize the members of your workspace using different groups, and assign roles to groups to manage [permissions for resources](permissions-for-resources.md). You can find members and groups settings in **Settings** on Openblocks homepage. +In Lowcoder, you can organize the members of your workspace using different groups, and assign roles to groups to manage [permissions for resources](permissions-for-resources.md). You can find members and groups settings in **Settings** on Lowcoder homepage.
@@ -12,7 +12,7 @@ In the **Members** tab, there are two pre-built groups by default: **All members
-You can also find the short cut to **Invite members** on the bottom left on Openblocks homepage. +You can also find the short cut to **Invite members** on the bottom left on Lowcoder homepage.
@@ -37,7 +37,7 @@ Group-based management helps to organize members from different functional depar ### Developers group -Openblocks creates a **Developers** group by default and it cannot be deleted, and workspace admins can add members into it. The members of it can create new resources including apps, modules, navigations, folders, and data sources, and can manage query library. Workspace admins can add members to the developers group. +Lowcoder creates a **Developers** group by default and it cannot be deleted, and workspace admins can add members into it. The members of it can create new resources including apps, modules, navigations, folders, and data sources, and can manage query library. Workspace admins can add members to the developers group.
diff --git a/docs/workspace-management/permissions-for-resources.md b/docs/workspace-management/permissions-for-resources.md index 47a29fdd3..dfb8eb608 100644 --- a/docs/workspace-management/permissions-for-resources.md +++ b/docs/workspace-management/permissions-for-resources.md @@ -6,7 +6,7 @@ description: >- # Permissions for resources -Openblocks implements [Role-based Access Control](https://en.wikipedia.org/wiki/Role-based\_access\_control) (RBAC) by assigning a set of permissions to different roles. These permissions determine the actions users can take on resources, including apps, modules, navigations, folders, query library, and data sources. +Lowcoder implements [Role-based Access Control](https://en.wikipedia.org/wiki/Role-based\_access\_control) (RBAC) by assigning a set of permissions to different roles. These permissions determine the actions users can take on resources, including apps, modules, navigations, folders, query library, and data sources. Only workspace admins and members of **Developers** group are allowed to create resources. For workspace admins, they are in fact the owner of all resources. @@ -53,7 +53,7 @@ Folders help you sort out the apps, modules, and navigations in the workspace. O Only workspace admins and developers can view the **Data Sources** page and create new data sources. -For each data source, workspace admins and the creator can change its **Access Control**. Go to Openblocks homepage > **Data Sources**, and click `···` > **Access Control**. +For each data source, workspace admins and the creator can change its **Access Control**. Go to Lowcoder homepage > **Data Sources**, and click `···` > **Access Control**.
@@ -70,4 +70,4 @@ The permissions of these two roles are listed in the following table: ## Query library -Workspace admins and members of developers group can create query library in Openblocks. And they have read, write, use and delete permissions for queries if they can use the query's corresponding data source. +Workspace admins and members of developers group can create query library in Lowcoder. And they have read, write, use and delete permissions for queries if they can use the query's corresponding data source. diff --git a/server/api-service/README.md b/server/api-service/README.md index 634881375..a621fbb22 100644 --- a/server/api-service/README.md +++ b/server/api-service/README.md @@ -1,6 +1,6 @@ # Server Setup -This document explains how to start Openblocks server locally. +This document explains how to start Lowcoder server locally. ## System Prerequisites @@ -15,7 +15,7 @@ docker run -d --name openblocks-mongodb -p 27017:27017 -e MONGO_INITDB_DATABASE ``` Configure the MongoDB connection URI in the application-openblocks.yml - + ### Redis @@ -26,11 +26,11 @@ docker run -d --name openblocks-redis -p 6379:6379 redis ``` Configure the Redis connection URI in the application-openblocks.yml - + -## Build and start the Openblocks server jar +## Build and start the Lowcoder server jar -1. Clone Openblocks repository +1. Clone Lowcoder repository 2. Next, execute the following commands in sequence ```shell @@ -39,17 +39,17 @@ mvn clean package java -Dpf4j.mode=development -Dspring.profiles.active=openblocks -Dpf4j.pluginsDir=openblocks-plugins -jar openblocks-server/target/openblocks-server-1.0-SNAPSHOT.jar ``` - + Now, you can check the status of the service by visiting http://localhost:8080 through your browser. By default, you should see an HTTP 404 error. - + ## Start with IntelliJ IDEA Configure the Run/Debug configuration as shown in the screenshot below, the version used in the screenshot is IntelliJ IDEA 2021.3.2 (Community Edition): - - + + @@ -77,4 +77,4 @@ cd server mvn clean package ``` -After Maven package runs successfully, you can start the Openblocks server with IntelliJ IDEA. \ No newline at end of file +After Maven package runs successfully, you can start the Lowcoder server with IntelliJ IDEA.