diff --git a/README.md b/README.md
index fa5cb6d47a1..8f6223dd870 100644
--- a/README.md
+++ b/README.md
@@ -27,9 +27,11 @@ Demo Environment:
- User/Password: apollo/admin
# Screenshots
+
![Screenshot](https://cdn.jsdelivr.net/gh/apolloconfig/apollo@master/docs/en/images/apollo-home-screenshot.jpg)
# Features
+
* **Unified management of the configurations of different environments and different clusters**
* Apollo provides a unified interface to centrally manage the configurations of different environments, different clusters, and different namespaces
* The same codebase could have different configurations when deployed in different clusters
@@ -71,55 +73,73 @@ Demo Environment:
* Apollo also provides a packaging script, which can generate all required installation packages with just one click, and supports customization of runtime parameters
# Usage
- 1. [Apollo User Guide](https://www.apolloconfig.com/#/zh/usage/apollo-user-guide)
- 2. [Java SDK User Guide](https://www.apolloconfig.com/#/zh/usage/java-sdk-user-guide)
- 3. [.Net SDK user Guide](https://www.apolloconfig.com/#/zh/usage/dotnet-sdk-user-guide)
- 4. [Third Party SDK User Guide](https://www.apolloconfig.com/#/zh/usage/third-party-sdks-user-guide)
- 5. [Other Language Client User Guide](https://www.apolloconfig.com/#/zh/usage/other-language-client-user-guide)
- 6. [Apollo Open APIs](https://www.apolloconfig.com/#/zh/usage/apollo-open-api-platform)
- 7. [Apollo Use Cases](https://github.com/apolloconfig/apollo-use-cases)
- 8. [Apollo User Practices](https://www.apolloconfig.com/#/zh/usage/apollo-user-practices)
- 9. [Apollo Security Best Practices](https://www.apolloconfig.com/#/zh/usage/apollo-user-guide?id=_71-%e5%ae%89%e5%85%a8%e7%9b%b8%e5%85%b3)
+
+* [Apollo User Guide](https://www.apolloconfig.com/#/zh/portal/apollo-user-guide)
+* [Apollo Open APIs](https://www.apolloconfig.com/#/zh/portal/apollo-open-api-platform)
+* [Apollo Use Cases](https://github.com/apolloconfig/apollo-use-cases)
+* [Apollo User Practices](https://www.apolloconfig.com/#/zh/portal/apollo-user-practices)
+* [Apollo Security Best Practices](https://www.apolloconfig.com/#/zh/portal/apollo-user-guide?id=_71-%e5%ae%89%e5%85%a8%e7%9b%b8%e5%85%b3)
+
+# SDK
+
+* [Java SDK User Guide](https://www.apolloconfig.com/#/zh/client/java-sdk-user-guide)
+* [.Net SDK user Guide](https://www.apolloconfig.com/#/zh/client/java-sdk-user-guide)
+* [Golang SDK User Guide](https://www.apolloconfig.com/#/zh/client/goland-sdks-user-guide)
+* [Python SDK User Guide](https://www.apolloconfig.com/#/zh/client/python-sdks-user-guide)
+* [NodeJS SDK User Guide](https://www.apolloconfig.com/#/zh/client/nodejs-sdks-user-guide)
+* [PHP SDK User Guide](https://www.apolloconfig.com/#/zh/client/php-sdks-user-guide)
+* [C SDK User Guide](https://www.apolloconfig.com/#/zh/client/c-sdks-user-guide)
+* [Rust SDK User Guide](https://www.apolloconfig.com/#/zh/client/rust-sdks-user-guide)
+* [HTTP API Guide](https://www.apolloconfig.com/#/zh/client/other-language-client-user-guide)
# Design
- * [Apollo Design](https://www.apolloconfig.com/#/zh/design/apollo-design)
- * [Apollo Core Concept - Namespace](https://www.apolloconfig.com/#/zh/design/apollo-core-concept-namespace)
- * [Apollo Architecture Analysis](https://mp.weixin.qq.com/s/-hUaQPzfsl9Lm3IqQW3VDQ)
- * [Apollo Source Code Explanation](http://www.iocoder.cn/categories/Apollo/)
+
+* [Apollo Design](https://www.apolloconfig.com/#/zh/design/apollo-design)
+* [Apollo Core Concept - Namespace](https://www.apolloconfig.com/#/zh/design/apollo-core-concept-namespace)
+* [Apollo Architecture Analysis](https://mp.weixin.qq.com/s/-hUaQPzfsl9Lm3IqQW3VDQ)
+* [Apollo Source Code Explanation](http://www.iocoder.cn/categories/Apollo/)
# Development
- * [Apollo Development Guide](https://www.apolloconfig.com/#/zh/development/apollo-development-guide)
- * Code Styles
- * [Eclipse Code Style](https://github.com/apolloconfig/apollo/blob/master/apollo-buildtools/style/eclipse-java-google-style.xml)
- * [Intellij Code Style](https://github.com/apolloconfig/apollo/blob/master/apollo-buildtools/style/intellij-java-google-style.xml)
+
+* [Apollo Development Guide](https://www.apolloconfig.com/#/zh/contribution/apollo-development-guide)
+* Code Styles
+ * [Eclipse Code Style](https://github.com/apolloconfig/apollo/blob/master/apollo-buildtools/style/eclipse-java-google-style.xml)
+ * [Intellij Code Style](https://github.com/apolloconfig/apollo/blob/master/apollo-buildtools/style/intellij-java-google-style.xml)
# Deployment
- * [Quick Start](https://www.apolloconfig.com/#/zh/deployment/quick-start)
- * [Distributed Deployment Guide](https://www.apolloconfig.com/#/zh/deployment/distributed-deployment-guide)
+
+* [Quick Start](https://www.apolloconfig.com/#/zh/deployment/quick-start)
+* [Distributed Deployment Guide](https://www.apolloconfig.com/#/zh/deployment/distributed-deployment-guide)
# Release Notes
- * [Releases](https://github.com/apolloconfig/apollo/releases)
+
+* [Releases](https://github.com/apolloconfig/apollo/releases)
# FAQ
- * [FAQ](https://www.apolloconfig.com/#/zh/faq/faq)
- * [Common Issues in Deployment & Development Phase](https://www.apolloconfig.com/#/zh/faq/common-issues-in-deployment-and-development-phase)
+
+* [FAQ](https://www.apolloconfig.com/#/zh/faq/faq)
+* [Common Issues in Deployment & Development Phase](https://www.apolloconfig.com/#/zh/faq/common-issues-in-deployment-and-development-phase)
# Presentation
- * [Design and Implementation Details of Apollo](http://www.itdks.com/dakalive/detail/3420)
- * [Slides](https://github.com/apolloconfig/apollo-community/blob/master/slides/design-and-implementation-of-apollo.pdf)
- * [Configuration Center Makes Microservices Smart](https://2018.qconshanghai.com/presentation/799)
- * [Slides](https://github.com/apolloconfig/apollo-community/blob/master/slides/configuration-center-makes-microservices-smart.pdf)
+
+* [Design and Implementation Details of Apollo](http://www.itdks.com/dakalive/detail/3420)
+ * [Slides](https://github.com/apolloconfig/apollo-community/blob/master/slides/design-and-implementation-of-apollo.pdf)
+* [Configuration Center Makes Microservices Smart](https://2018.qconshanghai.com/presentation/799)
+ * [Slides](https://github.com/apolloconfig/apollo-community/blob/master/slides/configuration-center-makes-microservices-smart.pdf)
# Publication
- * [Design and Implementation Details of Apollo](https://www.infoq.cn/article/open-source-configuration-center-apollo)
- * [Configuration Center Makes Microservices Smart](https://mp.weixin.qq.com/s/iDmYJre_ULEIxuliu1EbIQ)
+
+* [Design and Implementation Details of Apollo](https://www.infoq.cn/article/open-source-configuration-center-apollo)
+* [Configuration Center Makes Microservices Smart](https://mp.weixin.qq.com/s/iDmYJre_ULEIxuliu1EbIQ)
# Community
- * [Apollo Team](https://www.apolloconfig.com/#/en/community/team)
- * [Community Governance](https://github.com/apolloconfig/apollo/blob/master/GOVERNANCE.md)
- * [Contributing Guide](https://github.com/apolloconfig/apollo/blob/master/CONTRIBUTING.md)
+
+* [Apollo Team](https://www.apolloconfig.com/#/en/community/team)
+* [Community Governance](https://github.com/apolloconfig/apollo/blob/master/GOVERNANCE.md)
+* [Contributing Guide](https://github.com/apolloconfig/apollo/blob/master/CONTRIBUTING.md)
# License
+
The project is licensed under the [Apache 2 license](https://github.com/apolloconfig/apollo/blob/master/LICENSE).
# Known Users
diff --git a/docs/en/README.md b/docs/en/README.md
index 91dad64970e..46fb251756f 100644
--- a/docs/en/README.md
+++ b/docs/en/README.md
@@ -62,40 +62,9 @@ Demo Environment:
* Currently, the only external dependency is MySQL, so the deployment is very simple. Apollo can run as long as Java and MySQL are installed
* Apollo also provides a packaging script, which can generate all required installation packages with just one click, and supports customization of runtime parameters
-# Usage
-1. [Apollo User Guide](en/usage/apollo-user-guide)
-2. [Java SDK User Guide](en/usage/java-sdk-user-guide)
-3. [.Net SDK user Guide](en/usage/dotnet-sdk-user-guide)
-4. [Third Party SDK User Guide](en/usage/third-party-sdks-user-guide)
-5. [Other Language Client User Guide](en/usage/other-language-client-user-guide)
-6. [Apollo Open APIs](en/usage/apollo-open-api-platform)
-7. [Apollo Use Cases](https://github.com/ctripcorp/apollo-use-cases)
-8. [Apollo User Practices](en/usage/apollo-user-practices)
-9. [Apollo Security Best Practices](en/usage/apollo-user-guide?id=_71-security-related)
-
-# Design
-* [Apollo Design](en/design/apollo-design)
-* [Apollo Core Concept - Namespace](en/design/apollo-core-concept-namespace)
-* [Apollo Architecture Analysis](https://mp.weixin.qq.com/s/-hUaQPzfsl9Lm3IqQW3VDQ)
-* [Apollo Source Code Explanation](http://www.iocoder.cn/categories/Apollo/)
-
-# Development
-* [Apollo Development Guide](en/development/apollo-development-guide)
-* Code Styles
- * [Eclipse Code Style](https://github.com/apolloconfig/apollo/blob/master/apollo-buildtools/style/eclipse-java-google-style.xml)
- * [Intellij Code Style](https://github.com/apolloconfig/apollo/blob/master/apollo-buildtools/style/intellij-java-google-style.xml)
-
-# Deployment
-* [Quick Start](en/deployment/quick-start)
-* [Distributed Deployment Guide](en/deployment/distributed-deployment-guide)
-
# Release Notes
* [Releases](https://github.com/apolloconfig/apollo/releases)
-# FAQ
-* [FAQ](en/faq/faq)
-* [Common Issues in Deployment & Development Phase](en/faq/common-issues-in-deployment-and-development-phase)
-
# Presentation
* [Design and Implementation Details of Apollo](http://www.itdks.com/dakalive/detail/3420)
* [Slides](https://github.com/apolloconfig/apollo-community/blob/master/slides/design-and-implementation-of-apollo.pdf)
@@ -106,10 +75,5 @@ Demo Environment:
* [Design and Implementation Details of Apollo](https://www.infoq.cn/article/open-source-configuration-center-apollo)
* [Configuration Center Makes Microservices Smart](https://mp.weixin.qq.com/s/iDmYJre_ULEIxuliu1EbIQ)
-# Community
- * [Apollo Team](en/community/team)
- * [Community Governance](https://github.com/apolloconfig/apollo/blob/master/GOVERNANCE.md)
- * [Contributing Guide](https://github.com/apolloconfig/apollo/blob/master/CONTRIBUTING.md)
-
# License
The project is licensed under the [Apache 2 license](https://github.com/apolloconfig/apollo/blob/master/LICENSE).
diff --git a/docs/en/_sidebar.md b/docs/en/_sidebar.md
index a7e1086a5ac..66c9b5ba1cf 100644
--- a/docs/en/_sidebar.md
+++ b/docs/en/_sidebar.md
@@ -6,35 +6,45 @@
- [Apollo Core Concept Namespace](en/design/apollo-core-concept-namespace.md)
- [Apollo Source Code Analysis](http://www.iocoder.cn/categories/Apollo/)
-- Deployment Document
+- Deployment Guide
- [Quick Start](en/deployment/quick-start.md)
- [Deployment Quick Start By Docker](en/deployment/quick-start-docker.md)
- [Deployment Architecture](en/deployment/deployment-architecture.md)
- [Distributed Deployment Guide](en/deployment/distributed-deployment-guide.md)
- Deployment By Third-party Tool
- [Install the HA Apollo cluster in Rainbond with one-click](en/deployment/third-party-tool-rainbond.md)
- - [Release New Version Guide](en/development/apollo-release-guide.md)
-- Development Document
- - [Apollo Development Guide](en/development/apollo-development-guide.md)
+- Admin Guide
+ - [Apollo Usage Guide](en/portal/apollo-user-guide.md)
+ - [Apollo Openapi Guide](en/portal/apollo-open-api-platform.md)
+ - [Apollo Security Best Practices](en/portal/apollo-user-guide?id=_71-security-related)
+ - [Apollo User Practices](en/portal/apollo-user-practices.md)
+ - [Apollo Use Cases](https://github.com/ctripcorp/apollo-use-cases)
+
+- SDK Guide
+ - [Java Client Usage Guide](en/client/java-sdk-user-guide.md)
+ - [.Net Client Usage Guide](en/client/dotnet-sdk-user-guide.md)
+ - [Golang Client Usage Guide](en/client/golang-sdks-user-guide.md)
+ - [Python Client Usage Guide](en/client/python-sdks-user-guide.md)
+ - [NodeJS Client Usage Guide](en/client/nodejs-sdks-user-guide.md)
+ - [PHP Client Usage Guide](en/client/php-sdks-user-guide.md)
+ - [C Client Usage Guide](en/client/c-sdks-user-guide.md)
+ - [Rust Client Usage Guide](en/client/rust-sdks-user-guide.md)
+ - [HTTP API Guide](en/client/other-language-client-user-guide.md)
+
+- Extension Guide
+ - [Portal Implement User Login Function](en/extension/portal-how-to-implement-user-login-function.md)
+ - [Portal Enable Email Service](en/extension/portal-how-to-enable-email-service.md)
+ - [Portal Enable Session Store](en/extension/portal-how-to-enable-session-store.md)
+ - [Portal Enable Webhook Notification](en/extension/portal-how-to-enable-webhook-notification.md)
+
+- Contributor Guide
+ - [Apollo Development Guide](en/contribution/apollo-development-guide.md)
- Code Styles
- [Eclipse Code Style](https://github.com/apolloconfig/apollo/blob/master/apollo-buildtools/style/eclipse-java-google-style.xml)
- [Intellij Code Style](https://github.com/apolloconfig/apollo/blob/master/apollo-buildtools/style/intellij-java-google-style.xml)
- - [Portal Implement User Login Function](en/development/portal-how-to-implement-user-login-function.md)
- - [Portal Enable Email Service](en/development/portal-how-to-enable-email-service.md)
- - [Portal Enable Session Store](en/development/portal-how-to-enable-session-store.md)
- - [Portal Enable Webhook Notification](en/development/portal-how-to-enable-webhook-notification.md)
-
-- Usage Document
- - [Apollo Usage Guide](en/usage/apollo-user-guide.md)
- - [Java Client Usage Guide](en/usage/java-sdk-user-guide.md)
- - [.Net Client Usage Guide](en/usage/dotnet-sdk-user-guide.md)
- - [Go、Python、NodeJS、PHP etc. Client Usage Guide](en/usage/third-party-sdks-user-guide.md)
- - [Other Language Client User Guide](en/usage/other-language-client-user-guide.md)
- - [Apollo Openapi Guide](en/usage/apollo-open-api-platform.md)
- - [Apollo Use Cases](https://github.com/ctripcorp/apollo-use-cases)
- - [Apollo User Practices](en/usage/apollo-user-practices.md)
- - [Apollo Security Best Practices](en/usage/apollo-user-guide?id=_71-security-related)
+ - [Release New Version Guide](en/contribution/apollo-release-guide.md)
+ - [Contributing Guide](en/contributing.md)
- FAQ
- [Frequently Asked Question](en/faq/faq.md)
@@ -47,5 +57,4 @@
- Community
- [Team](en/community/team.md)
- [Community Governance](en/governance.md)
- - [Contributing Guide](en/contributing.md)
- [Acknowledgements](en/community/thank-you.md)
diff --git a/docs/en/client/c-sdks-user-guide.md b/docs/en/client/c-sdks-user-guide.md
new file mode 100644
index 00000000000..1691740f35a
--- /dev/null
+++ b/docs/en/client/c-sdks-user-guide.md
@@ -0,0 +1,5 @@
+### Apollo C client
+
+Project address: [apollo-c-client](https://github.com/lzeqian/apollo)
+
+> Thanks [@lzeqian](https://github.com/lzeqian) for providing support for the C Apollo client
diff --git a/docs/en/usage/dotnet-sdk-user-guide.md b/docs/en/client/dotnet-sdk-user-guide.md
similarity index 98%
rename from docs/en/usage/dotnet-sdk-user-guide.md
rename to docs/en/client/dotnet-sdk-user-guide.md
index a1567bbfe70..a6c5626c852 100644
--- a/docs/en/usage/dotnet-sdk-user-guide.md
+++ b/docs/en/client/dotnet-sdk-user-guide.md
@@ -1,4 +1,4 @@
-> Note: This document is intended for users of Apollo systems. If you are a developer/maintainer of Apollo systems in your company, it is recommended to refer to [Apollo Development Guide](en/development/apollo-development-guide) first.
+> Note: This document is intended for users of Apollo systems. If you are a developer/maintainer of Apollo systems in your company, it is recommended to refer to [Apollo Development Guide](en/contribution/apollo-development-guide) first.
#
@@ -173,7 +173,7 @@ string value = config.GetProperty(someKey, someDefaultValue);
## 3.4 Demo
-There is a sample client project in apollo.net project: `ApolloDemo`, you can refer to [2.4 .Net sample client startup](en/development/apollo-development-guide?id=_24-net-sample-client-startup) for more information.
+There is a sample client project in apollo.net project: `ApolloDemo`, you can refer to [2.4 .Net sample client startup](en/contribution/apollo-development-guide?id=_24-net-sample-client-startup) for more information.
>Net client open source version will output logs directly to the Console by default, you can implement your own logging-related features.
>
diff --git a/docs/en/client/golang-sdks-user-guide.md b/docs/en/client/golang-sdks-user-guide.md
new file mode 100644
index 00000000000..98f71fbb6ff
--- /dev/null
+++ b/docs/en/client/golang-sdks-user-guide.md
@@ -0,0 +1,53 @@
+### Apollo Go client 1
+
+Project address: [apolloconfig/agollo](https://github.com/apolloconfig/agollo)
+
+> Thanks [@zouyx](https://github.com/zouyx) for providing support for the Go Apollo client
+
+### Apollo Go client 2
+
+Project address: [philchia/agollo](https://github.com/philchia/agollo)
+
+> Thanks [@philchia](https://github.com/philchia) for providing support for the Go Apollo client
+
+### Apollo Go client 3
+
+Project address: [shima-park/agollo](https://github.com/shima-park/agollo)
+
+> Thanks [@shima-park](https://github.com/shima-park) for providing support for the Go Apollo client
+
+### Apollo Go client 4
+
+Project address: [go-microservices/php_conf_agent](https://github.com/go-microservices/php_conf_agent)
+
+> Thanks [@GanymedeNil](https://github.com/GanymedeNil) for providing support for the Go Apollo client
+
+### Apollo Go client 5
+
+Project address: [hyperjiang/lunar](https://github.com/hyperjiang/lunar)
+
+> Thanks [@hyperjiang](https://github.com/hyperjiang) for providing support for the Go Apollo client
+
+### Apollo Go client 6
+
+Project address: [tagconfig/tagconfig](https://github.com/tagconfig/tagconfig)
+
+> Thanks [@n0trace](https://github.com/n0trace) for providing support for the Go Apollo client
+
+### Apollo Go client 7
+
+Project address: [go-chassis/go-archaius](https://github.com/go-chassis/go-archaius/tree/master/examples/apollo)
+
+> Thanks [@tianxiaoliang](https://github.com/tianxiaoliang) and [@Shonminh](https://github.com/Shonminh) for providing support for the Go Apollo client
+
+### Apollo Go client 8
+
+Project address: [xhrg-product/apollo-client-golang](https://github.com/xhrg-product/apollo-client-golang)
+
+> Thanks [@xhrg](https://github.com/xhrg) for providing support for the Go Apollo client
+
+### Apollo Go client 9
+
+Project address: [xnzone/apollo-go](https://github.com/xnzone/apollo-go)
+
+> Thanks [@xnzone](https://github.com/xnzone) for providing support for the Go Apollo client
diff --git a/docs/en/usage/java-sdk-user-guide.md b/docs/en/client/java-sdk-user-guide.md
similarity index 98%
rename from docs/en/usage/java-sdk-user-guide.md
rename to docs/en/client/java-sdk-user-guide.md
index d77f01b6464..2f2d887ef77 100644
--- a/docs/en/usage/java-sdk-user-guide.md
+++ b/docs/en/client/java-sdk-user-guide.md
@@ -1,4 +1,4 @@
-> Note: This document is intended for users of Apollo systems. If you are a developer/maintainer of Apollo systems in your company, it is recommended to refer to [Apollo Development Guide](en/development/apollo-development-guide) first.
+> Note: This document is intended for users of Apollo systems. If you are a developer/maintainer of Apollo systems in your company, it is recommended to refer to [Apollo Development Guide](en/contribution/apollo-development-guide) first.
#
@@ -90,14 +90,14 @@ The following ways to configure apollo meta server information are supported sin
* You can specify `apollo.meta=http://config-service-url` in `classpath:/META-INF/app.properties`
6. Via Java system property `${env}_meta`
* If the current [env](#_1241-environment) is `dev`, then the user can configure `-Ddev_meta=http://config-service-url`
- * Using this configuration method, then the Environment must be configured correctly, see [1.2.4.1 Environment](en/usage/java-sdk-user-guide?id=_1241-environment) for details
+ * Using this configuration method, then the Environment must be configured correctly, see [1.2.4.1 Environment](en/client/java-sdk-user-guide?id=_1241-environment) for details
7. Via the OS System Environment `${ENV}_META` (supported since version 1.2.0)
* If the current [env](#_1241-environment) is `dev`, then the user can configure the OS System Environment `DEV_META=http://config-service-url`
* Note that the key is all-caps
- * Using this configuration method, then the Environment must be configured correctly, see [1.2.4.1 Environment](en/usage/java-sdk-user-guide?id=_1241-environment) for details
+ * Using this configuration method, then the Environment must be configured correctly, see [1.2.4.1 Environment](en/client/java-sdk-user-guide?id=_1241-environment) for details
8. Via the `apollo-env.properties` file
* The user can also create an `apollo-env.properties` and put it under the classpath of the application or under the config directory of the spring boot application
- * If you use this configuration, then you must configure the Environment correctly, see [1.2.4.1 Environment](en/usage/java-sdk-user-guide?id=_1241-environment)
+ * If you use this configuration, then you must configure the Environment correctly, see [1.2.4.1 Environment](en/client/java-sdk-user-guide?id=_1241-environment)
* The contents of the file look like this.
```properties
@@ -439,7 +439,7 @@ Apollo supports API approach and Spring integration approach, how to choose whic
* Replace the placeholder in the configuration file, e.g.: `spring.datasource.url: ${someKeyFromApollo:someDefaultValue}`
* Directly hosting spring's configuration, such as directly configuring `spring.datasource.url=jdbc:mysql://localhost:3306/somedb?characterEncoding=utf8` in apollo
* Spring boot's [@ConfigurationProperties](http://docs.spring.io/spring-boot/docs/current/api/org/springframework/boot/context/properties/ConfigurationProperties.html) method
- * Versions from v0.10.0 onwards support automatic update of placeholder at runtime, see [PR #972](https://github.com/apolloconfig/apollo/pull/972) for details. (Versions prior to v0.10.0 do not re-inject after configuration changes and require a restart to update. If you need real-time updates of configuration values, you can refer to the subsequent description in [3.2.2 Use of Spring Placeholder](en/usage/java-sdk-user-guide?id=_322-use-of-spring-placeholder)
+ * Versions from v0.10.0 onwards support automatic update of placeholder at runtime, see [PR #972](https://github.com/apolloconfig/apollo/pull/972) for details. (Versions prior to v0.10.0 do not re-inject after configuration changes and require a restart to update. If you need real-time updates of configuration values, you can refer to the subsequent description in [3.2.2 Use of Spring Placeholder](en/client/java-sdk-user-guide?id=_322-use-of-spring-placeholder)
* The Spring approach can also be used in combination with the API approach, such as injecting Apollo's Config object, you can get the configuration as usual through the API approach:
@@ -528,7 +528,7 @@ Apollo also supports integration with Spring (Spring 3.1.1+), and only requires
Apollo currently supports both the more traditional `XML-based` configuration and the currently more popular `Java-based (recommended)` configuration.
-In case of Spring Boot environments, it is recommended to refer to [3.2.1.3 Spring Boot integration methods (recommended)](en/usage/java-sdk-user-guide?id=_3213-spring-boot-integration-methods-recommended) for configuration.
+In case of Spring Boot environments, it is recommended to refer to [3.2.1.3 Spring Boot integration methods (recommended)](en/client/java-sdk-user-guide?id=_3213-spring-boot-integration-methods-recommended) for configuration.
Note that if you have previously used `org.springframework.beans.factory.config.PropertyPlaceholderConfigurer`, please replace it with `org.springframework.context.support.PropertySourcesPlaceholderConfigurer`. It is not recommended to use PropertyPlaceholderConfigurer after Spring 3.1, use PropertySourcesPlaceholderConfigurer instead.
@@ -1118,7 +1118,7 @@ eureka.instance.preferIpAddress = true
## 3.3 Demo
-There is a sample client project in the project: `apollo-demo`, for details, please refer to [2.3 Java Sample Client Start](en/development/apollo-development-guide?id=_23-java-sample-client-startup) in [Apollo Development Guide](en/development/apollo-development-guide) section.
+There is a sample client project in the project: `apollo-demo`, for details, please refer to [2.3 Java Sample Client Start](en/contribution/apollo-development-guide?id=_23-java-sample-client-startup) in [Apollo Development Guide](en/contribution/apollo-development-guide) section.
For more use case demos, please refer to [Apollo usage scenarios and sample code](https://github.com/ctripcorp/apollo-use-cases).
@@ -1153,7 +1153,7 @@ Modify the `/opt/settings/server.properties` (Mac/Linux) or `C:\opt\settings\ser
env=Local
```
-For more ways to configure the environment, please refer to [1.2.4.1 Environment](en/usage/java-sdk-user-guide?id=_1241-environment)
+For more ways to configure the environment, please refer to [1.2.4.1 Environment](en/client/java-sdk-user-guide?id=_1241-environment)
## 5.2 Preparing local configuration files
diff --git a/docs/en/client/nodejs-sdks-user-guide.md b/docs/en/client/nodejs-sdks-user-guide.md
new file mode 100644
index 00000000000..95a70696d29
--- /dev/null
+++ b/docs/en/client/nodejs-sdks-user-guide.md
@@ -0,0 +1,41 @@
+### Apollo NodeJS client 1
+
+Project address: [node-apollo](https://github.com/Quinton/node-apollo)
+
+> Thanks [@Quinton](https://github.com/Quinton) for providing support for the NodeJS Apollo client
+
+### Apollo NodeJS client 2
+
+Project address: [ctrip-apollo](https://github.com/kaelzhang/ctrip-apollo)
+
+> Thanks [@kaelzhang](https://github.com/kaelzhang) for providing support for the NodeJS Apollo client
+
+### Apollo NodeJS client 3
+
+Project address: [node-apollo-client](https://github.com/shinux/node-apollo-client)
+
+> Thanks [@shinux](https://github.com/shinux) for providing support for the NodeJS Apollo client
+
+### Apollo NodeJS client 4
+
+Project address: [ctrip-apollo-client](https://github.com/lvgithub/ctrip-apollo-client)
+
+> Thanks [@lvgithub](https://github.com/lvgithub) for providing support for the NodeJS Apollo client
+
+### Apollo NodeJS client 5
+
+Project address: [apollo-node](https://github.com/lengyuxuan/apollo-node)
+
+> Thanks [@lengyuxuan](https://github.com/lengyuxuan) for providing support for the NodeJS Apollo client
+
+### Apollo NodeJS client 6
+
+Project address: [egg-apollo-client](https://github.com/xuezier/egg-apollo-client)
+
+> Thanks [@xuezier](https://github.com/xuezier) for providing support for the NodeJS Apollo client
+
+### Apollo NodeJS client 7
+
+Project address: [apollo-node-client](https://github.com/zhangxh1023/apollo-node-client)
+
+> Thanks [@zhangxh1023](https://github.com/zhangxh1023) for providing support for the NodeJS Apollo client
diff --git a/docs/en/usage/other-language-client-user-guide.md b/docs/en/client/other-language-client-user-guide.md
similarity index 93%
rename from docs/en/usage/other-language-client-user-guide.md
rename to docs/en/client/other-language-client-user-guide.md
index 5d1144b3565..ec00724c5e2 100644
--- a/docs/en/usage/other-language-client-user-guide.md
+++ b/docs/en/client/other-language-client-user-guide.md
@@ -2,17 +2,17 @@ At present, Apollo team only provides Java and .Net clients due to manpower cons
Also, if any team/individual is interested, they are welcome to help us to implement the client in other languages, please contact @nobodyiam and @lepdou for details.
->Note: There are already clients for Go, Python, NodeJS, PHP, C++ contributed by enthusiastic users, for more information you can refer to [Go, Python, NodeJS, PHP and other clients usage guide](en/usage/third-party-sdks-user-guide)
+>Note: There are already clients for Go, Python, NodeJS, PHP, C++ contributed by enthusiastic users, for more information you can refer to "SDK Guide"
## 1.1 Application access to Apollo
-First you need to access your application in Apollo, you can refer to [application access document](en/usage/apollo-user-guide) for the specific steps.
+First you need to access your application in Apollo, you can refer to [application access document](en/portal/apollo-user-guide) for the specific steps.
## 1.2 Reading configuration from Apollo via Http interface with cache
This interface will fetch the configuration from the cache and is suitable for more frequent configuration pull requests, such as a simple polling of the configuration every 30 seconds.
-Since the cache has a delay of at most one second, if you need to work with configuration push notifications to achieve real-time configuration updates, please refer to [1.3 Reading configuration from Apollo via Http interface without cache](en/usage/other-language-client-user-guide?id=_13-reading-configuration-from-apollo-via-http-interface-without-cache).
+Since the cache has a delay of at most one second, if you need to work with configuration push notifications to achieve real-time configuration updates, please refer to [1.3 Reading configuration from Apollo via Http interface without cache](en/client/other-language-client-user-guide?id=_13-reading-configuration-from-apollo-via-http-interface-without-cache).
### 1.2.1 Http interface description
@@ -26,7 +26,7 @@ Since the cache has a delay of at most one second, if you need to work with conf
| ----------------- | ---------------------------- | ------------------------------------------------------------ | ------------------------------------------------------------ |
| config_server_url | Yes | The address of the Apollo configuration service | |
| appId | Yes | The appId of the application | |
-| clusterName | Yes | clusterName | Normally, just pass in default. If you want to configure by cluster, you can refer to [cluster-independent configuration instructions](en/usage/apollo-user-guide?id=iii-cluster-independent-configuration-instructions) to do the relevant configuration, and then fill in the corresponding cluster name here. |
+| clusterName | Yes | clusterName | Normally, just pass in default. If you want to configure by cluster, you can refer to [cluster-independent configuration instructions](en/portal/apollo-user-guide?id=iii-cluster-independent-configuration-instructions) to do the relevant configuration, and then fill in the corresponding cluster name here. |
| namespaceName | is the name of the namespace | If no new namespace has been created, just pass in application. If you have created a Namespace and need to use the configuration of that Namespace, pass the corresponding Namespace name. **For other types of namespace, you need to pass the namespace name with a suffix, such as datasources.json** | ip |
| ip | no | ip of the machine where the application will be deployed | This parameter is optional and is used to implement grayscale publishing. If you don't want to pass this parameter, please note that the URL from ? Please note that the entire query parameters starting with the ? sign should not appear in the URL. |
@@ -65,7 +65,7 @@ This interface will get the configuration directly from the database and can be
| ----------------- |----------|---------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| config_server_url | Yes | The address of the Apollo configuration service | |
| appId | Yes | The appId of the application | |
-| clusterName | Yes | clusterName | Normally, just pass in default. If you want to configure by cluster, you can refer to [cluster-independent configuration instructions](en/usage/apollo-user-guide?id=iii-cluster-independent-configuration-instructions) to do the relevant configuration, and then fill in the corresponding cluster name here. |
+| clusterName | Yes | clusterName | Normally, just pass in default. If you want to configure by cluster, you can refer to [cluster-independent configuration instructions](en/portal/apollo-user-guide?id=iii-cluster-independent-configuration-instructions) to do the relevant configuration, and then fill in the corresponding cluster name here. |
| namespaceName | Yes | is the name of the namespace | If no new namespace has been created, just pass in application. If you have created a Namespace and need to use the configuration of that Namespace, pass the corresponding Namespace name. **If the namespace is created and needs to use the configuration of the namespace, pass the namespace name. |
| releaseKey | No | Previous releaseKey | The releaseKey of the last release object can be passed to the server to compare the version, if there is no change in the version, the server will return 304 to save traffic and computing. |
| messages | No | Latest notificationId | To update the memory cache on the server in real-time, if the `releaseKey` parameter is passed without the `messages` parameter, there is a chance that the latest configuration will not be obtained in a multi-instance server environment with memory caching enabled. The `messages` parameter is a JSON string structure {"details":{"key":notificationId}}. The `appId`, `clusterName`, and `namespaceName` need to be concatenated using the + sign to form the key. Assuming `appId=app`, `clusterName=default`, `namespaceName=test`, and `notificationId=11`, the `messages` parameter would be {"details":{"app+default+test":11}}. When using the messages parameter, URL encoding is required.|
@@ -129,7 +129,7 @@ Once you have the notifications Map, you can request services. Here we describe
If the notificationId is found to be older than the server, the latest notificationId of the corresponding namespace, HttpStatus 200, will be returned directly.
5. After the client gets the server side return, determine the return HttpStatus .
6. If the returned HttpStatus is 304, that the configuration has not changed, re-execute step 1.
-7. If the returned HttpStauts is 200, the configuration has changed, for the change of namespace to pull configuration from the server again, see [1.3 Read configuration from Apollo through the Http interface without cache](en/usage/other-language-client-user-guide?id=_13-reading-configuration-from-apollo-via-http-interface-without-cache). Also update the notificationId in the notifications map. re-run step 1.
+7. If the returned HttpStauts is 200, the configuration has changed, for the change of namespace to pull configuration from the server again, see [1.3 Read configuration from Apollo through the Http interface without cache](en/client/other-language-client-user-guide?id=_13-reading-configuration-from-apollo-via-http-interface-without-cache). Also update the notificationId in the notifications map. re-run step 1.
### 1.4.2 Http interface description
@@ -144,7 +144,7 @@ If the notificationId is found to be older than the server, the latest notificat
| ----------------- | -------- | ----------------------------------------------- | ------------------------------------------------------------ |
| config_server_url | Yes | The address of the Apollo configuration service | |
| appId | Yes | The appId of the application | |
-| clusterName | Yes | clusterName | Normally, just pass in default. If you want to configure by cluster, you can refer to [cluster-independent configuration instructions](en/usage/apollo-user-guide?id=iii-cluster-independent-configuration-instructions) to do the relevant configuration, and then fill in the corresponding cluster name here. |
+| clusterName | Yes | clusterName | Normally, just pass in default. If you want to configure by cluster, you can refer to [cluster-independent configuration instructions](en/portal/apollo-user-guide?id=iii-cluster-independent-configuration-instructions) to do the relevant configuration, and then fill in the corresponding cluster name here. |
| notifications | yes | notifications information | pass in the local notifications information, note that here need to be in the form of array to json pass in, such as: [{"namespaceName": "application", "notificationId": 100}, {"namespaceName": "FX.apollo", "notificationId": 200}]. **Note that for namespace of properties type, you only need to pass in the namespace name, such as application. for other types of namespace, you need to pass in the namespace name plus the suffix, such as datasources.json** |
> Note 1: Since the server side will hold the request for 60 seconds, please make sure that the timeout for the client to access the server side is greater than 60 seconds.
diff --git a/docs/en/client/php-sdks-user-guide.md b/docs/en/client/php-sdks-user-guide.md
new file mode 100644
index 00000000000..44aaad06cb3
--- /dev/null
+++ b/docs/en/client/php-sdks-user-guide.md
@@ -0,0 +1,13 @@
+### Apollo PHP client 1
+
+Project address: [apollo-php-client](https://github.com/multilinguals/apollo-php-client)
+
+> Thanks [@t04041143](https://github.com/t04041143) for providing support for the PHP Apollo client
+
+### Apollo PHP client 2
+
+Project address: [apollo-sdk-config](https://github.com/fengzhibin/apollo-sdk-config)
+
+Project address: [apollo-sdk-clientd](https://github.com/fengzhibin/apollo-sdk-clientd)
+
+> Thanks [@fengzhibin](https://github.com/fengzhibin) for providing PHP Apollo client support
diff --git a/docs/en/client/python-sdks-user-guide.md b/docs/en/client/python-sdks-user-guide.md
new file mode 100644
index 00000000000..d8f3f11cf14
--- /dev/null
+++ b/docs/en/client/python-sdks-user-guide.md
@@ -0,0 +1,17 @@
+### Apollo Python client 1
+
+Project address: [pyapollo](https://github.com/filamoon/pyapollo)
+
+> Thanks [@filamoon](https://github.com/filamoon) for providing support for the Python Apollo client
+
+### Apollo Python client 2
+
+Project address: [BruceWW-pyapollo](https://github.com/BruceWW/pyapollo)
+
+> Thanks [@BruceWW](https://github.com/BruceWW) for providing support for the Python Apollo client
+
+### Apollo Python client 3
+
+Project address: [xhrg-product/apollo-client-python](https://github.com/xhrg-product/apollo-client-python)
+
+> Thanks [@xhrg-product](https://github.com/xhrg-product) for providing support for the Python Apollo client
diff --git a/docs/en/client/rust-sdks-user-guide.md b/docs/en/client/rust-sdks-user-guide.md
new file mode 100644
index 00000000000..3ba1b7a3260
--- /dev/null
+++ b/docs/en/client/rust-sdks-user-guide.md
@@ -0,0 +1,5 @@
+### Apollo Rust client
+
+Project address: [apollo-rust-sdk](https://github.com/liushv0/apollo-rust-sdk)
+
+> Thanks [@liushv0](https://github.com/liushv0) for providing support for the Rust Apollo client
diff --git a/docs/en/development/apollo-development-guide.md b/docs/en/contribution/apollo-development-guide.md
similarity index 95%
rename from docs/en/development/apollo-development-guide.md
rename to docs/en/contribution/apollo-development-guide.md
index 7aa8f8edfa4..c69b2d1a435 100644
--- a/docs/en/development/apollo-development-guide.md
+++ b/docs/en/contribution/apollo-development-guide.md
@@ -113,7 +113,7 @@ The following is an example of how to start `apollo-portal` locally with Intelli
-Dspring.datasource.username=root
-Dspring.datasource.password=
->Note 1: apollo_profile is specified here as `github` and `auth`, where `github` is a profile required by Apollo for database configuration, and `auth` is added from 0.9.0 to support simple authentication using Spring Security provided by apollo. For more information you can refer to [Portal-implement-user-login-function](en/development/portal-how-to-implement-user-login-function)
+>Note 1: apollo_profile is specified here as `github` and `auth`, where `github` is a profile required by Apollo for database configuration, and `auth` is added from 0.9.0 to support simple authentication using Spring Security provided by apollo. For more information you can refer to [Portal-implement-user-login-function](en/extension/portal-how-to-implement-user-login-function)
>
>Note 2: spring.datasource related configuration replaced with your own database connection information, note that the database is `ApolloPortalDB `.
>
@@ -141,7 +141,7 @@ After starting, open [http://localhost:8070](http://localhost:8070) to see the A
For better development and debugging, we usually create a demo project for our own use.
-You can refer to [General Application Access Guide](en/usage/apollo-user-guide?id=i-general-application-access-guide) to create your own demo project.
+You can refer to [General Application Access Guide](en/portal/apollo-user-guide?id=i-general-application-access-guide) to create your own demo project.
## 2.3 Java sample client startup
@@ -161,7 +161,7 @@ If our own demo project uses an AppId of 100004458, then the file content would
> For public Namespace configurations, you can get the configuration without the AppId, but then you lose the ability for the application to override the public Namespace configuration.
-> More ways to configure AppId can be found in [1.2.1 AppId](en/usage/java-sdk-user-guide?id=_121-appid)
+> More ways to configure AppId can be found in [1.2.1 AppId](en/client/java-sdk-user-guide?id=_121-appid)
### 2.3.2 New run configuration
@@ -179,7 +179,7 @@ If our own demo project uses an AppId of 100004458, then the file content would
> Note: Here the current environment's meta server address is `http://localhost:8080`, which is also the address of `apollo-configservice`.
-> For more ways to configure Apollo Meta Server, please refer to [1.2.2 Apollo Meta Server](en/usage/java-sdk-user-guide?id=_122-apollo-meta-server)
+> For more ways to configure Apollo Meta Server, please refer to [1.2.2 Apollo Meta Server](en/client/java-sdk-user-guide?id=_122-apollo-meta-server)
### 2.3.5 Overview
@@ -260,12 +260,12 @@ Enter the value you configured on the Portal, such as `timeout` in our demo proj
## 3.1 Portal implementation for user login
-Please refer to [Portal implementation of user login function](en/development/portal-how-to-implement-user-login-function)
+Please refer to [Portal implementation of user login function](en/extension/portal-how-to-implement-user-login-function)
## 3.2 Portal access to mail service
-Please refer to [Portal Enabling Email Service](en/development/portal-how-to-enable-email-service)
+Please refer to [Portal Enabling Email Service](en/extension/portal-how-to-enable-email-service)
## 3.3 Shared session for Portal cluster deployment
-Please refer to [Portal Shared Session](en/development/portal-how-to-enable-session-store)
+Please refer to [Portal Shared Session](en/extension/portal-how-to-enable-session-store)
diff --git a/docs/en/development/apollo-release-guide.md b/docs/en/contribution/apollo-release-guide.md
similarity index 100%
rename from docs/en/development/apollo-release-guide.md
rename to docs/en/contribution/apollo-release-guide.md
diff --git a/docs/en/deployment/distributed-deployment-guide.md b/docs/en/deployment/distributed-deployment-guide.md
index b7c10d6bc7e..2c06ee9ce9a 100644
--- a/docs/en/deployment/distributed-deployment-guide.md
+++ b/docs/en/deployment/distributed-deployment-guide.md
@@ -133,7 +133,7 @@ EUREKA_INSTANCE_PREFER_IP_ADDRESS=false
### 1.4.4 Specifying apollo-configservice address directly
-If Apollo is deployed on the public cloud and the local development environment cannot connect, but you need to do development testing, the client can upgrade to version 0.11.0 and above, and then configure [Skip Apollo Meta Server service discovery](en/usage/java-sdk-user-guide?id=_1222-skip-apollo-meta-server-service-discovery)
+If Apollo is deployed on the public cloud and the local development environment cannot connect, but you need to do development testing, the client can upgrade to version 0.11.0 and above, and then configure [Skip Apollo Meta Server service discovery](en/client/java-sdk-user-guide?id=_1222-skip-apollo-meta-server-service-discovery)
### 1.4.5 Network Configuration
@@ -517,7 +517,7 @@ export JAVA_OPTS="-server -Xms6144m -Xmx6144m -Xss256k -XX:MetaspaceSize=128m -X
> Note 2: To adjust the log output path of the service, you can modify `LOG_DIR` in scripts/startup.sh and apollo-configservice.conf.
-> Note 3: To adjust the listening port of the service, you can modify the `SERVER_PORT` in scripts/startup.sh. In addition, apollo-configservice also assumes the responsibility of meta server. If you want to modify the port, pay attention to the `eureka.service.url` configuration item in the ApolloConfigDB.ServerConfig table and the meta server information used in apollo-portal and apollo-client. For details, see: [2.2.1.1.2.4 Configuring the meta service information of apollo-portal](en/deployment/distributed-deployment-guide?id=_221124-configuring-apollo-portal39s-meta-service-information) and [1.2.2 Apollo Meta Server](en/usage/java-sdk-user-guide?id=_122-apollo-meta-server).
+> Note 3: To adjust the listening port of the service, you can modify the `SERVER_PORT` in scripts/startup.sh. In addition, apollo-configservice also assumes the responsibility of meta server. If you want to modify the port, pay attention to the `eureka.service.url` configuration item in the ApolloConfigDB.ServerConfig table and the meta server information used in apollo-portal and apollo-client. For details, see: [2.2.1.1.2.4 Configuring the meta service information of apollo-portal](en/deployment/distributed-deployment-guide?id=_221124-configuring-apollo-portal39s-meta-service-information) and [1.2.2 Apollo Meta Server](en/client/java-sdk-user-guide?id=_122-apollo-meta-server).
> Note 4: If the eureka.service.url of ApolloConfigDB.ServerConfig is only configured with the currently starting machine, the eureka registration failure information will be output in the log during the process of starting apollo-configservice, such as `com.sun.jersey .api.client.ClientHandlerException: java.net.ConnectException: Connection refused`. It should be noted that this is the expected situation, because apollo-configservice needs to register the service with the Meta Server (itself), but because it has not yet woken up during the startup process, it will report this error. The retry action will be performed later, so the registration will be normal after the service is up.
@@ -1343,7 +1343,7 @@ After the modification needs to reboot to take effect.
>Note 1: A set of Portal can manage multiple environments, but each environment needs to deploy a separate set of Config Service, Admin Service and ApolloConfigDB, please refer to: [2.1.2 Creating ApolloConfigDB](en/deployment/distributed-deployment-guide?id=_212-creating-apolloconfigdb), [3.2 Adjusting ApolloConfigDB configuration](en/deployment/distributed-deployment-guide?id=_32-adjusting-apolloconfigdb-configuration), [2.2.1.1.2 Configuring database connection information](en/deployment/distributed-deployment-guide?id=_22112-configuring-database-connection-information), and if you are adding an environment to Apollo Configuration Center that has been running for a while, don't forget to refer to [2.1.2.4 Importing ApolloConfigDB project data from another environment](en/deployment/distributed-deployment-guide?id=_2124-importing-apolloconfigdb-project-data-from-another-environment) to do the initialization of the new environment.
->Note 2: Adding the environment to the database only does not work, you also need to add the meta server address corresponding to the new environment for apollo-portal, refer to: [2.2.1.1.2.4 Configuring the meta service information of apollo-portal](en/deployment/distributed-deployment-guide?id=_221124-configuring-apollo-portal39s-meta-service-information). portal's meta-service information). apollo-client also needs to be configured accordingly when used in a new environment, refer to: [1.2.2 Apollo Meta Server](en/usage/java-sdk-user-guide?id=_122-apollo-meta-server).
+>Note 2: Adding the environment to the database only does not work, you also need to add the meta server address corresponding to the new environment for apollo-portal, refer to: [2.2.1.1.2.4 Configuring the meta service information of apollo-portal](en/deployment/distributed-deployment-guide?id=_221124-configuring-apollo-portal39s-meta-service-information). portal's meta-service information). apollo-client also needs to be configured accordingly when used in a new environment, refer to: [1.2.2 Apollo Meta Server](en/client/java-sdk-user-guide?id=_122-apollo-meta-server).
>Note 3: If you wish to add a custom environment name, you can refer to [Portal How to add environment](en/faq/common-issues-in-deployment-and-development-phase?id=_4-how-to-add-environment-by-portal-console) .
diff --git a/docs/en/deployment/quick-start.md b/docs/en/deployment/quick-start.md
index 79f770ad097..b6277456a47 100644
--- a/docs/en/deployment/quick-start.md
+++ b/docs/en/deployment/quick-start.md
@@ -4,7 +4,7 @@ If you are familiar with Docker, you can refer to [Apollo Quick Start Docker Dep
However, it should be noted that Quick Start is only for local testing, if you want to deploy to production environment, please refer to [distributed-deployment-guide](en/deployment/distributed-deployment-guide) separately.
-> Note: Quick Start requires a bash environment, Windows users please install [Git Bash](https://git-for-windows.github.io/), we recommend using the latest version, older versions may encounter unknown problems. You can also start directly through the IDE environment, see [Apollo Development Guide](en/development/apollo-development-guide) for details.
+> Note: Quick Start requires a bash environment, Windows users please install [Git Bash](https://git-for-windows.github.io/), we recommend using the latest version, older versions may encounter unknown problems. You can also start directly through the IDE environment, see [Apollo Development Guide](en/contribution/apollo-development-guide) for details.
#
# I. Preparation
@@ -174,7 +174,7 @@ It should be noted that Quick Start does not support adding environments, but on
### 4.1.1 Viewing the sample configuration
1. Open http://localhost:8070
-> Quick Start integrates with [Spring Security simple authentication](en/development/portal-how-to-implement-user-login-function?id=implementation-1-simple-authentication-using-spring-security-provided-by-apollo), for more information you can refer to [Portal implementing user login function](en/development/portal-how-to-implement-user-login-function)
+> Quick Start integrates with [Spring Security simple authentication](en/extension/portal-how-to-implement-user-login-function?id=implementation-1-simple-authentication-using-spring-security-provided-by-apollo), for more information you can refer to [Portal implementing user login function](en/extension/portal-how-to-implement-user-login-function)
@@ -244,7 +244,7 @@ Type ``timeout`` again to see the corresponding value and you will see the follo
## 4.2 Using the new project
### 4.2.1 App access to Apollo
-This part can be found in [Java Application Access Guide](en/usage/java-sdk-user-guide)
+This part can be found in [Java Application Access Guide](en/client/java-sdk-user-guide)
### 4.2.2 Run the client application
Since a new project is used, the client needs to modify the appId information.
diff --git a/docs/en/design/apollo-core-concept-namespace.md b/docs/en/design/apollo-core-concept-namespace.md
index 9a5da1e0ceb..44ebafd7f26 100644
--- a/docs/en/design/apollo-core-concept-namespace.md
+++ b/docs/en/design/apollo-core-concept-namespace.md
@@ -22,7 +22,7 @@ When Apollo creates a project, it creates an `application` namespace by default.
Configuration files come in various formats such as properties, xml, yml, yaml, json, etc. Similarly Namespace also has these formats. In the Portal UI, you can see that the Namespace for `application` has a `properties` tag, indicating that `application` is in properties format.
->Note1: For the namespace in non-properties format, you need to call `ConfigService.getConfigFile(String namespace, ConfigFileFormat configFileFormat)` to get it when you use the client, if you use the [Http interface direct call](en/usage/other-language-client-user-guide), the corresponding namespace parameter needs to be passed in the namespace name plus the suffix name, such as datasources.json.
+>Note1: For the namespace in non-properties format, you need to call `ConfigService.getConfigFile(String namespace, ConfigFileFormat configFileFormat)` to get it when you use the client, if you use the [Http interface direct call](en/client/other-language-client-user-guide), the corresponding namespace parameter needs to be passed in the namespace name plus the suffix name, such as datasources.json.
>Note 2: apollo-client version 1.3.0 has better support for yaml/yml, which is consistent with the properties format: `Config config = ConfigService.getConfig("application.yml");`, Spring's The Spring injection is also consistent with properties.
diff --git a/docs/en/design/apollo-design.md b/docs/en/design/apollo-design.md
index d4596fd1959..f078c1881d2 100644
--- a/docs/en/design/apollo-design.md
+++ b/docs/en/design/apollo-design.md
@@ -320,7 +320,7 @@ The related code can be found in [PropertySourcesProcessor](https://github.com/a
All Config Services offline |
Client cannot read the latest configuration, Portal has no effect |
-When the client restarts, the local cache configuration file can be read. If it is a newly expanded machine, you can obtain the cached configuration file from other machines. For details, please refer to Java Client Usage Guide - 1.2.3 Local Cache Path
+ | When the client restarts, the local cache configuration file can be read. If it is a newly expanded machine, you can obtain the cached configuration file from other machines. For details, please refer to Java Client Usage Guide - 1.2.3 Local Cache Path
|
|
diff --git a/docs/en/design/apollo-introduction.md b/docs/en/design/apollo-introduction.md
index 6e8a912b20b..a001f5a3a81 100644
--- a/docs/en/design/apollo-introduction.md
+++ b/docs/en/design/apollo-introduction.md
@@ -116,7 +116,7 @@ The picture above is the configuration home page of a project in the Apollo Conf
## 3.3 Add or modify configuration items
-Users can easily add/modify configuration items through the configuration center interface. For more usage instructions, please refer to [Application Access Guide](en/usage/apollo-user-guide)
+Users can easily add/modify configuration items through the configuration center interface. For more usage instructions, please refer to [Application Access Guide](en/portal/apollo-user-guide)
![edit-item-entry](https://cdn.jsdelivr.net/gh/apolloconfig/apollo@master/doc/images/edit-item-entry.png)
@@ -136,7 +136,7 @@ Fill in the release information:
## 3.5 Client get configuration (Java API sample)
-After the configuration is released, it can be obtained on the client side. Taking Java as an example, the sample code for obtaining the configuration is as follows. Apollo client also supports integration with Spring. For more client usage instructions, please refer to [Java Client Usage Guide](en/usage/java-sdk-user-guide) and [.Net Client Usage Guide](en/usage/dotnet-sdk-user-guide).
+After the configuration is released, it can be obtained on the client side. Taking Java as an example, the sample code for obtaining the configuration is as follows. Apollo client also supports integration with Spring. For more client usage instructions, please refer to [Java Client Usage Guide](en/client/java-sdk-user-guide) and [.Net Client Usage Guide](en/client/dotnet-sdk-user-guide).
```java
Config config = ConfigService.getAppConfig();
@@ -197,17 +197,17 @@ Before introducing advanced features, we need to understand a few core concepts
1. **application (application)**
* Apollo clients need to know who the current application is at runtime, so they can go get the corresponding configuration.
- * Each application needs to have a unique identity -- appId, we believe that the application identity follows the code, so it needs to be configured in the code, see [Java Client Usage Guide](en/usage/java-sdk-user-guide) for more information.
+ * Each application needs to have a unique identity -- appId, we believe that the application identity follows the code, so it needs to be configured in the code, see [Java Client Usage Guide](en/client/java-sdk-user-guide) for more information.
2. **environment (environment)**
* Configure the corresponding environment, Apollo client needs to know which environment the current application is in at runtime, so that it can go get the application configuration
* We believe that the environment is independent of the code, the same code deployed in different environments should be able to access the configuration of different environments
- * So the environment is specified by default by reading the configuration on the machine (the env property in server.properties), but for development convenience, we also support runtime specification by System Property, etc. For more information, see [Java Client User Guide](en/usage/java-sdk-user-guide).
+ * So the environment is specified by default by reading the configuration on the machine (the env property in server.properties), but for development convenience, we also support runtime specification by System Property, etc. For more information, see [Java Client User Guide](en/client/java-sdk-user-guide).
3. **cluster (cluster)**
* Grouping of different instances of an application, for example, typically by data center, dividing the application instances in the Shanghai server room into one cluster, and dividing the application instances in the Beijing server room into another cluster.
* For different clusters, the same configuration can have different values, such as zookeeper address.
- * Clusters are specified by default by reading the configuration on the machine (idc property in server.properties), but they are also supported at runtime by System Property, see [Java Client Usage Guide](en/usage/java-sdk-user-guide) for more information.
+ * Clusters are specified by default by reading the configuration on the machine (idc property in server.properties), but they are also supported at runtime by System Property, see [Java Client Usage Guide](en/client/java-sdk-user-guide) for more information.
4. **namespace (namespace)**
* A grouping of different configurations under an application. Namespace can be simply compared to a file, where different types of configurations are stored in different files, such as database configuration files, RPC configuration files, the application's own configuration files, etc.
@@ -285,7 +285,7 @@ Once added, you can see the configuration in the FX.Hermes.Producer namespace.
### 4.3.5 Client-side fetching of Namespace configuration
-Apollo client also supports integration with Spring, see [Java Client User Guide](en/usage/java-sdk-user-guide) and [Net Client Net client](en/usage/dotnet-sdk-user-guide).
+Apollo client also supports integration with Spring, see [Java Client User Guide](en/client/java-sdk-user-guide) and [Net Client Net client](en/client/dotnet-sdk-user-guide).
```java
Config config = ConfigService.getConfig("FX.Hermes.Producer");
diff --git a/docs/en/development/portal-how-to-enable-email-service.md b/docs/en/extension/portal-how-to-enable-email-service.md
similarity index 97%
rename from docs/en/development/portal-how-to-enable-email-service.md
rename to docs/en/extension/portal-how-to-enable-email-service.md
index baba9183897..e06a763ca17 100644
--- a/docs/en/development/portal-how-to-enable-email-service.md
+++ b/docs/en/extension/portal-how-to-enable-email-service.md
@@ -20,7 +20,7 @@ Configure the following parameters in the ApolloPortalDB.ServerConfig table or t
* **email.template.rollback.module.diff** The diff module for rolling back emails.
* **email.template.release.module.rules** Grayscale rules module for grayscale release.
-We provide [Sample Email Template](en/development/portal-how-to-enable-email-service?id=_3-email-template-sample) for your convenience.
+We provide [Sample Email Template](en/extension/portal-how-to-enable-email-service?id=_3-email-template-sample) for your convenience.
## 2. Implementation-2: Access the company's unified mail service
@@ -42,7 +42,7 @@ Similar to SSO, each company also has its own mail service implementation, so we
* **email.template.rollback.module.diff** The diff module for rolling back emails.
* **email.template.release.module.rules** Grayscale rules module for grayscale release.
-We provide [Sample Email Template](en/development/portal-how-to-enable-email-service?id=_3-email-template-sample) for your convenience.
+We provide [Sample Email Template](en/extension/portal-how-to-enable-email-service?id=_3-email-template-sample) for your convenience.
Note: using different implementations at runtime is achieved through [Profiles](http://docs.spring.io/autorepo/docs/spring-boot/current/reference/html/boot-features-profiles.html), For example, if your own Email implementation is in the `custom` profile, you can specify -Dapollo_profile=github,custom in the packaging script. Among them, `github` is a required profile of Apollo, which is used for database configuration, and `custom` is a profile that you implement yourself. Also note that in [EmailConfiguration](https://github.com/apolloconfig/apollo/blob/master/apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/spi/configuration/EmailConfiguration.java) to modify the default implementation condition `@Profile({"!custom"})`.
diff --git a/docs/en/development/portal-how-to-enable-session-store.md b/docs/en/extension/portal-how-to-enable-session-store.md
similarity index 100%
rename from docs/en/development/portal-how-to-enable-session-store.md
rename to docs/en/extension/portal-how-to-enable-session-store.md
diff --git a/docs/en/development/portal-how-to-enable-webhook-notification.md b/docs/en/extension/portal-how-to-enable-webhook-notification.md
similarity index 100%
rename from docs/en/development/portal-how-to-enable-webhook-notification.md
rename to docs/en/extension/portal-how-to-enable-webhook-notification.md
diff --git a/docs/en/development/portal-how-to-implement-user-login-function.md b/docs/en/extension/portal-how-to-implement-user-login-function.md
similarity index 100%
rename from docs/en/development/portal-how-to-implement-user-login-function.md
rename to docs/en/extension/portal-how-to-implement-user-login-function.md
diff --git a/docs/en/faq/common-issues-in-deployment-and-development-phase.md b/docs/en/faq/common-issues-in-deployment-and-development-phase.md
index b1698cfae19..fc5ae4a6be3 100644
--- a/docs/en/faq/common-issues-in-deployment-and-development-phase.md
+++ b/docs/en/faq/common-issues-in-deployment-and-development-phase.md
@@ -20,7 +20,7 @@ Please refer to [network policy](en/deployment/distributed-deployment-guide?id=_
Version 1.6.0 adds the ability to customize the environment, which allows you to add an environment without modifying the code
1. add environment for protaldb, refer to [3.1 Adjusting ApolloPortalDB configuration](en/deployment/distributed-deployment-guide?id=_31-adjusting-apolloportaldb-configuration)
-2. add the meta server address corresponding to the new environment for apollo-portal, refer to: [2.2.1.1.2.4 Configuring meta service information for apollo-portal](en/deployment/distributed-deployment-guide?id=_221124-configuring-apollo-portal39s-meta-service-information). apollo-client also needs to be configured properly when used in a new environment, refer to: [1.2.2 Apollo Meta Server](en/usage/java-sdk-user-guide?id=_122-apollo-meta-server).
+2. add the meta server address corresponding to the new environment for apollo-portal, refer to: [2.2.1.1.2.4 Configuring meta service information for apollo-portal](en/deployment/distributed-deployment-guide?id=_221124-configuring-apollo-portal39s-meta-service-information). apollo-client also needs to be configured properly when used in a new environment, refer to: [1.2.2 Apollo Meta Server](en/client/java-sdk-user-guide?id=_122-apollo-meta-server).
>Note 1: A set of Portal can manage multiple environments, but each environment needs to deploy a set of Config Service, Admin Service and ApolloConfigDB independently, please refer to: [2.1.2 Creating ApolloConfigDB](en/deployment/distributed-deployment-guide?id=_212-creating-apolloconfigdb), [3.2 Adjusting ApolloConfigDB configuration](en/deployment/distributed-deployment-guide?id=_32-adjusting-apolloconfigdb-configuration), [2.2.1.1.2 Configuring database connection information](en/deployment/distributed-deployment-guide?id=_22112-configuring-database-connection-information)
@@ -31,7 +31,7 @@ Version 1.6.0 adds the ability to customize the environment, which allows you to
If the environment to be added is an Apollo pre-defined environment (DEV, FAT, UAT, PRO), two steps are required.
1. protaldb add environment, refer to [3.1 Adjusting ApolloPortalDB configuration](en/deployment/distributed-deployment-guide?id=_31-adjusting-apolloportaldb-configuration)
-2. add the meta server address corresponding to the new environment for apollo-portal, refer to: [2.2.1.1.2.4 Configuring meta service information for apollo-portal](en/deployment/distributed-deployment-guide?id=_221124-configuring-apollo-portal39s-meta-service-information). apollo-client also needs to be configured properly when used in a new environment, refer to: [1.2.2 Apollo Meta Server](en/usage/java-sdk-user-guide?id=_122-apollo-meta-server).
+2. add the meta server address corresponding to the new environment for apollo-portal, refer to: [2.2.1.1.2.4 Configuring meta service information for apollo-portal](en/deployment/distributed-deployment-guide?id=_221124-configuring-apollo-portal39s-meta-service-information). apollo-client also needs to be configured properly when used in a new environment, refer to: [1.2.2 Apollo Meta Server](en/client/java-sdk-user-guide?id=_122-apollo-meta-server).
>Note 1: A set of Portal can manage multiple environments, but each environment needs to deploy a set of Config Service, Admin Service and ApolloConfigDB independently, please refer to: [2.1.2 Creating ApolloConfigDB](en/deployment/distributed-deployment-guide?id=_212-creating-apolloconfigdb), [3.2 Adjusting ApolloConfigDB configuration](en/deployment/distributed-deployment-guide?id=_32-adjusting-apolloconfigdb-configuration), [2.2.1.1.2 Configuring database connection information](en/deployment/distributed-deployment-guide?id=_22112-configuring-database-connection-information)
@@ -90,7 +90,7 @@ public class LegacyMetaServerProvider {
```
6. Add `BETA` environment for protaldb, refer to [3.1 Adjusting ApolloPortalDB configuration](en/deployment/distributed-deployment-guide?id=_31-adjusting-apolloportaldb-configuration)
-7. Add the meta server address corresponding to the new environment for apollo-portal, refer to: [2.2.1.1.2.4 Configuring meta service information for apollo-portal](en/deployment/distributed-deployment-guide?id=_221124-configuring-apollo-portal39s-meta-service-information). apollo-client also needs to be configured properly when used in a new environment, refer to: [1.2.2 Apollo Meta Server](en/usage/java-sdk-user-guide?id=_122-apollo-meta-server).
+7. Add the meta server address corresponding to the new environment for apollo-portal, refer to: [2.2.1.1.2.4 Configuring meta service information for apollo-portal](en/deployment/distributed-deployment-guide?id=_221124-configuring-apollo-portal39s-meta-service-information). apollo-client also needs to be configured properly when used in a new environment, refer to: [1.2.2 Apollo Meta Server](en/client/java-sdk-user-guide?id=_122-apollo-meta-server).
>Note 1: A set of Portal can manage multiple environments, but each environment needs to deploy a set of Config Service, Admin Service and ApolloConfigDB independently, please refer to: [2.1.2 Creating ApolloConfigDB](en/deployment/distributed-deployment-guide?id=_212-creating-apolloconfigdb), [3.2 Adjusting ApolloConfigDB configuration](en/deployment/distributed-deployment-guide?id=_32-adjusting-apolloconfigdb-configuration), [2.2.1.1.2 Configuring database connection information](en/deployment/distributed-deployment-guide?id=_22112-configuring-database-connection-information)
@@ -180,7 +180,7 @@ Note that changing the Eureka address only requires changing the `eureka.service
### 9. Using `ConditionalOnProperty` in Spring Boot does not read the configuration
-The `@ConditionalOnProperty` feature is supported since version 0.10.0, see [Spring Boot integration method](en/usage/java-sdk-user-guide?id=_3213-spring-boot-integration-methods-recommended)
+The `@ConditionalOnProperty` feature is supported since version 0.10.0, see [Spring Boot integration method](en/client/java-sdk-user-guide?id=_3213-spring-boot-integration-methods-recommended)
### 10. How to achieve the client in room A reads the config service of room A nearby and the client in room B reads the config service of room B nearby in multiple rooms?
diff --git a/docs/en/faq/faq.md b/docs/en/faq/faq.md
index 8bae61a9aee..cbf0afb1a39 100644
--- a/docs/en/faq/faq.md
+++ b/docs/en/faq/faq.md
@@ -11,13 +11,13 @@ A grouping of different configurations under one application.
Please refer to [Apollo core concept "Namespace"](en/design/apollo-core-concept-namespace)
## 4. I want to access Apollo, how do I do it?
-Please refer to [Apollo user guide](en/usage/apollo-user-guide)
+Please refer to [Apollo user guide](en/portal/apollo-user-guide)
## 5. My application needs different configurations for different server rooms, does Apollo support it?
-Apollo is supported. Please refer to `III. Cluster independent configuration instructions` in [Apollo User Guide](en/usage/apollo-user-guide?id=iii-cluster-independent-configuration-instructions)
+Apollo is supported. Please refer to `III. Cluster independent configuration instructions` in [Apollo User Guide](en/portal/apollo-user-guide?id=iii-cluster-independent-configuration-instructions)
## 6. I have multiple applications that need to use the same configuration, can Apollo support it?
-Apollo is supported. Please refer to `IV. Using the same configuration for multiple AppId` in [Apollo User Guide](en/usage/apollo-user-guide?id=iv-using-the-same-configuration-for-multiple-appid).
+Apollo is supported. Please refer to `IV. Using the same configuration for multiple AppId` in [Apollo User Guide](en/portal/apollo-user-guide?id=iv-using-the-same-configuration-for-multiple-appid).
## 7. Does Apollo support view permission control or configuration encryption?
Starting from version 1.1.0, apollo-portal adds support for view permissions, which can support configuring an environment to allow only project members to view the configuration of a private Namespace.
diff --git a/docs/en/usage/apollo-open-api-platform.md b/docs/en/portal/apollo-open-api-platform.md
similarity index 100%
rename from docs/en/usage/apollo-open-api-platform.md
rename to docs/en/portal/apollo-open-api-platform.md
diff --git a/docs/en/usage/apollo-user-guide.md b/docs/en/portal/apollo-user-guide.md
similarity index 95%
rename from docs/en/usage/apollo-user-guide.md
rename to docs/en/portal/apollo-user-guide.md
index c8b2aa07409..cb84a8e6faa 100644
--- a/docs/en/usage/apollo-user-guide.md
+++ b/docs/en/portal/apollo-user-guide.md
@@ -121,9 +121,9 @@ If you find that there is no publish button, you can ask the project administrat
After the configuration is successfully published, the application can read the configuration through the Apollo client.
-Apollo currently provides a Java client. For more information, please click [Java Client Usage Documentation](en/usage/java-sdk-user-guide).
+Apollo currently provides a Java client. For more information, please click [Java Client Usage Documentation](en/client/java-sdk-user-guide).
-If the application uses other languages, you can also get the configuration by directly accessing the Http interface, for details, please refer to [other-language-client-access-guide](en/usage/other-language-client-user-guide)
+If the application uses other languages, you can also get the configuration by directly accessing the Http interface, for details, please refer to [other-language-client-access-guide](en/client/other-language-client-user-guide)
## 1.6 Rollback published configuration
@@ -149,8 +149,8 @@ The access steps for public components are almost identical to those for normal
So, first perform the following steps in the common application access document, and then follow the steps later in this section.
-1. [Create Project](en/usage/apollo-user-guide?id=_11-creating-a-project)
-2. [Project administrator privileges](en/usage/apollo-user-guide?id=_121-project-administrator-privileges)
+1. [Create Project](en/portal/apollo-user-guide?id=_11-creating-a-project)
+2. [Project administrator privileges](en/portal/apollo-user-guide?id=_121-project-administrator-privileges)
### 2.2.1 Creating Namespace
@@ -199,7 +199,7 @@ To edit the configuration, you need to have the edit permission of this Namespac
#### 2.2.2.2 Edit by text mode
-This part is the same as normal application, please refer to [1.3.2 Editing via text mode](en/usage/apollo-user-guide?id=_132-editing-via-text-mode) for the detailed steps.
+This part is the same as normal application, please refer to [1.3.2 Editing via text mode](en/portal/apollo-user-guide?id=_132-editing-via-text-mode) for the detailed steps.
### 2.2.3 Publish configuration
@@ -217,9 +217,9 @@ If you find that there is no publish button, you can ask the project administrat
Once the configuration is successfully published, the application can read the configuration through the Apollo client.
-Apollo currently provides a Java client. For more information, click [Java Client Usage Documentation](en/usage/java-sdk-user-guide).
+Apollo currently provides a Java client. For more information, click [Java Client Usage Documentation](en/client/java-sdk-user-guide).
-If the application uses other languages, you can also get the configuration by directly accessing the Http interface, for details, please refer to [other-language-client-access-guide](en/usage/other-language-client-user-guide)
+If the application uses other languages, you can also get the configuration by directly accessing the Http interface, for details, please refer to [other-language-client-access-guide](en/client/other-language-client-user-guide)
For reading the configuration of public components, you can refer to the "Getting the Configuration of Public Namespace" section in the above document.
@@ -305,7 +305,7 @@ Specifically, we create a namespace under one of the AppId, write the public con
If an AppId needs to override the public configuration information, then associate a public namespace under that AppId and write the configuration that needs to be overridden.
-The specific steps can be referred to [Public Component Access Guide](en/usage/apollo-user-guide?id=ii-public-component-access-guide).
+The specific steps can be referred to [Public Component Access Guide](en/portal/apollo-user-guide?id=ii-public-component-access-guide).
# V. Grayscale publishing usage guide
@@ -387,7 +387,7 @@ Manually enter the label you want to set, and click the Add button when you're d
After the above rules are configured, the grayed configuration will take effect for instances with AppId `100004458`, IP `10.32.21.22` or `Label` marked as `myLabel` or `appLabel`.
-> For more information on how to label `Label`, you can refer to the configuration instructions in [ApolloLabel](en/usage/java-sdk-user-guide?id=_1247-apollo-label).
+> For more information on how to label `Label`, you can refer to the configuration instructions in [ApolloLabel](en/client/java-sdk-user-guide?id=_1247-apollo-label).
If the required IP is not found in the drop-down box, it means that the machine has not yet taken the configuration from Apollo, you can enter it by clicking Enter IP manually, and click the Add button after entering the IP.
@@ -480,7 +480,7 @@ Apollo has added an access key mechanism since version 1.6.0, so that only authe
2. Generate an access key for each environment of the project, note that it is disabled by default, and it is recommended to turn it on after the clients are all configured
![Key Configuration Page](https://user-images.githubusercontent.com/837658/94990150-788dba00-05ac-11eb-9a12-727fdb872e42.png)
-3. Client-side [configure access key](en/usage/java-sdk-user-guide?id=_1244-configuring-access-keys) .
+3. Client-side [configure access key](en/client/java-sdk-user-guide?id=_1244-configuring-access-keys) .
# VII. Best practices
@@ -490,7 +490,7 @@ As a basic service, the configuration center stores very important configuration
### 7.1.1 Authentication
-It is recommended to access the company's unified authentication system, such as SSO, LDAP, etc. The access method can be found in [Portal to implement user login function](en/development/portal-how-to-implement-user-login-function)
+It is recommended to access the company's unified authentication system, such as SSO, LDAP, etc. The access method can be found in [Portal to implement user login function](en/extension/portal-how-to-implement-user-login-function)
> If you use Spring Security simple authentication provided by Apollo, you must remember to change the password of super administrator apollo
@@ -498,12 +498,12 @@ It is recommended to access the company's unified authentication system, such as
Apollo supports fine-grained permissions control, so please make sure to control the permissions according to the actual situation: 1.
-1. [Project administrator privileges](en/usage/apollo-user-guide?id=_121-project-administrator-privileges)
+1. [Project administrator privileges](en/portal/apollo-user-guide?id=_121-project-administrator-privileges)
* Apollo allows all logged-in users to create projects by default. If you only allow some users to create projects, you can turn on [Create project permission control](en/deployment/distributed-deployment-guide?id=_3110-rolecreate-applicationenabled-whether-to-enable-control-over-creating-project-permissions)
-2. [Configure editing and publishing privileges](en/usage/apollo-user-guide?id=_122-configuring-editing-and-publishing-permissions)
+2. [Configure editing and publishing privileges](en/portal/apollo-user-guide?id=_122-configuring-editing-and-publishing-permissions)
* Configuration editing and publishing privileges support configuration by environment, for example, the development environment developers can complete the process of configuration editing and publishing by themselves, but the production environment publishing privileges to the test or operation and maintenance personnel
* It is recommended to turn on [release audit](en/deployment/distributed-deployment-guide?id=_322-namespacelockswitch-only-one-person-can-modify-the-switch-at-a-time-for-release-review) at the same time for production environment, so as to control that only one person can modify a configuration release and another person can release it. This ensures that configuration changes are adequately checked.
-3. [Configuration view permissions](en/usage/apollo-user-guide?id=_61-configure-view-permissions)
+3. [Configuration view permissions](en/portal/apollo-user-guide?id=_61-configure-view-permissions)
* You can specify that only project members of an environment are allowed to view the configuration of a private Namespace, thus avoiding sensitive configuration leaks, such as production environments
### 7.1.3 System access
@@ -511,6 +511,6 @@ Apollo supports fine-grained permissions control, so please make sure to control
In addition to user permissions, system access also needs to be considered in terms of.
1. `apollo-configservice` and `apollo-adminservice` are designed based on the intranet trusted network, so for security reasons, `apollo-configservice` and `apollo-adminservice` are prohibited from being exposed directly to the public network
-2. For sensitive configurations, consider enabling [access secret key](en/usage/apollo-user-guide?id=_62-configuring-access-keys) so that only authenticated clients can access sensitive configurations
+2. For sensitive configurations, consider enabling [access secret key](en/portal/apollo-user-guide?id=_62-configuring-access-keys) so that only authenticated clients can access sensitive configurations
3. version 1.7.1 and above can consider enabling [access control](en/deployment/distributed-deployment-guide?id=_326-admin-servicesaccesscontrolenabled-configure-whether-apollo-adminservice-has-access-control-enabled) for `apollo-adminservice`, so that only [controlled](en/deployment/distributed-deployment-guide?id=_3112-admin-servicesaccesstokens-set-the-access-token-required-by-apollo-portal-to-access-the-apollo-adminservice-for-each-environment) `apollo-portal` can access the corresponding interface to enhance security
-4. version 2.1.0 and above can consider enabling [access control](en/deployment/distributed-deployment-guide?id=_329-apolloeurekaserversecurityenabled-configure-whether-to-enable-eureka-login-authentication) for `eureka`, so that only controlled `apollo-configservice` and `apollo-adminservice` can be registered to `eureka` to enhance security
\ No newline at end of file
+4. version 2.1.0 and above can consider enabling [access control](en/deployment/distributed-deployment-guide?id=_329-apolloeurekaserversecurityenabled-configure-whether-to-enable-eureka-login-authentication) for `eureka`, so that only controlled `apollo-configservice` and `apollo-adminservice` can be registered to `eureka` to enhance security
diff --git a/docs/en/usage/apollo-user-practices.md b/docs/en/portal/apollo-user-practices.md
similarity index 100%
rename from docs/en/usage/apollo-user-practices.md
rename to docs/en/portal/apollo-user-practices.md
diff --git a/docs/en/usage/third-party-sdks-user-guide.md b/docs/en/usage/third-party-sdks-user-guide.md
deleted file mode 100644
index 2d20fc0ba77..00000000000
--- a/docs/en/usage/third-party-sdks-user-guide.md
+++ /dev/null
@@ -1,151 +0,0 @@
-## 1. Go
-
-### Apollo Go client 1
-
-Project address: [apolloconfig/agollo](https://github.com/apolloconfig/agollo)
-
-> Thanks [@zouyx](https://github.com/zouyx) for providing support for the Go Apollo client
-
-### Apollo Go client 2
-
-Project address: [philchia/agollo](https://github.com/philchia/agollo)
-
-> Thanks [@philchia](https://github.com/philchia) for providing support for the Go Apollo client
-
-### Apollo Go client 3
-
-Project address: [shima-park/agollo](https://github.com/shima-park/agollo)
-
-> Thanks [@shima-park](https://github.com/shima-park) for providing support for the Go Apollo client
-
-### Apollo Go client 4
-
-Project address: [go-microservices/php_conf_agent](https://github.com/go-microservices/php_conf_agent)
-
-> Thanks [@GanymedeNil](https://github.com/GanymedeNil) for providing support for the Go Apollo client
-
-### Apollo Go client 5
-
-Project address: [hyperjiang/lunar](https://github.com/hyperjiang/lunar)
-
-> Thanks [@hyperjiang](https://github.com/hyperjiang) for providing support for the Go Apollo client
-
-### Apollo Go client 6
-
-Project address: [tagconfig/tagconfig](https://github.com/tagconfig/tagconfig)
-
-> Thanks [@n0trace](https://github.com/n0trace) for providing support for the Go Apollo client
-
-### Apollo Go client 7
-
-Project address: [go-chassis/go-archaius](https://github.com/go-chassis/go-archaius/tree/master/examples/apollo)
-
-> Thanks [@tianxiaoliang](https://github.com/tianxiaoliang) and [@Shonminh](https://github.com/Shonminh) for providing support for the Go Apollo client
-
-### Apollo Go client 8
-
-Project address: [xhrg-product/apollo-client-golang](https://github.com/xhrg-product/apollo-client-golang)
-
-> Thanks [@xhrg](https://github.com/xhrg) for providing support for the Go Apollo client
-
-### Apollo Go client 9
-
-Project address: [xnzone/apollo-go](https://github.com/xnzone/apollo-go)
-
-> Thanks [@xnzone](https://github.com/xnzone) for providing support for the Go Apollo client
-
-## 2. Python
-
-### Apollo Python client 1
-
-Project address: [pyapollo](https://github.com/filamoon/pyapollo)
-
-> Thanks [@filamoon](https://github.com/filamoon) for providing support for the Python Apollo client
-
-### Apollo Python client 2
-
-Project address: [BruceWW-pyapollo](https://github.com/BruceWW/pyapollo)
-
-> Thanks [@BruceWW](https://github.com/BruceWW) for providing support for the Python Apollo client
-
-### Apollo Python client 3
-
-Project address: [xhrg-product/apollo-client-python](https://github.com/xhrg-product/apollo-client-python)
-
-> Thanks [@xhrg-product](https://github.com/xhrg-product) for providing support for the Python Apollo client
-
-## 3. NodeJS
-
-### Apollo NodeJS client 1
-
-Project address: [node-apollo](https://github.com/Quinton/node-apollo)
-
-> Thanks [@Quinton](https://github.com/Quinton) for providing support for the NodeJS Apollo client
-
-### Apollo NodeJS client 2
-
-Project address: [ctrip-apollo](https://github.com/kaelzhang/ctrip-apollo)
-
-> Thanks [@kaelzhang](https://github.com/kaelzhang) for providing support for the NodeJS Apollo client
-
-### Apollo NodeJS client 3
-
-Project address: [node-apollo-client](https://github.com/shinux/node-apollo-client)
-
-> Thanks [@shinux](https://github.com/shinux) for providing support for the NodeJS Apollo client
-
-### Apollo NodeJS client 4
-
-Project address: [ctrip-apollo-client](https://github.com/lvgithub/ctrip-apollo-client)
-
-> Thanks [@lvgithub](https://github.com/lvgithub) for providing support for the NodeJS Apollo client
-
-### Apollo NodeJS client 5
-
-Project address: [apollo-node](https://github.com/lengyuxuan/apollo-node)
-
-> Thanks [@lengyuxuan](https://github.com/lengyuxuan) for providing support for the NodeJS Apollo client
-
-### Apollo NodeJS client 6
-
-Project address: [egg-apollo-client](https://github.com/xuezier/egg-apollo-client)
-
-> Thanks [@xuezier](https://github.com/xuezier) for providing support for the NodeJS Apollo client
-
-### Apollo NodeJS client 7
-
-Project address: [apollo-node-client](https://github.com/zhangxh1023/apollo-node-client)
-
-> Thanks [@zhangxh1023](https://github.com/zhangxh1023) for providing support for the NodeJS Apollo client
-
-## 4. PHP
-
-### Apollo PHP client 1
-
-Project address: [apollo-php-client](https://github.com/multilinguals/apollo-php-client)
-
-> Thanks [@t04041143](https://github.com/t04041143) for providing support for the PHP Apollo client
-
-### Apollo PHP client 2
-
-Project address: [apollo-sdk-config](https://github.com/fengzhibin/apollo-sdk-config)
-
-Project address: [apollo-sdk-clientd](https://github.com/fengzhibin/apollo-sdk-clientd)
-
-> Thanks [@fengzhibin](https://github.com/fengzhibin) for providing PHP Apollo client support
-
-## 5. C
-
-### Apollo C client
-
-Project address: [apollo-c-client](https://github.com/lzeqian/apollo)
-
-> Thanks [@lzeqian](https://github.com/lzeqian) for providing support for the C Apollo client
-
-## 6. Rust
-
-### Apollo Rust client
-
-Project address: [apollo-rust-sdk](https://github.com/liushv0/apollo-rust-sdk)
-
-> Thanks [@liushv0](https://github.com/liushv0) for providing support for the Rust Apollo client
diff --git a/docs/zh/README.md b/docs/zh/README.md
index 2224c31d8d4..e54c216f0a3 100644
--- a/docs/zh/README.md
+++ b/docs/zh/README.md
@@ -64,45 +64,9 @@ Java客户端不依赖任何框架,能够运行于所有Java运行时环境,
* 目前唯一的外部依赖是MySQL,所以部署非常简单,只要安装好Java和MySQL就可以让Apollo跑起来
* Apollo还提供了打包脚本,一键就可以生成所有需要的安装包,并且支持自定义运行时参数
-# Usage
- 1. [应用接入指南](zh/usage/apollo-user-guide)
- 2. [Java客户端使用指南](zh/usage/java-sdk-user-guide)
- 3. [.Net客户端使用指南](zh/usage/dotnet-sdk-user-guide)
- 4. [Go、Python、NodeJS、PHP等客户端使用指南](zh/usage/third-party-sdks-user-guide)
- 5. [其它语言客户端接入指南](zh/usage/other-language-client-user-guide)
- 6. [Apollo开放平台接入指南](zh/usage/apollo-open-api-platform)
- 7. [Apollo使用场景和示例代码](https://github.com/ctripcorp/apollo-use-cases)
- 8. [Apollo实践案例](zh/usage/apollo-user-practices)
- 9. [Apollo安全相关最佳实践](zh/usage/apollo-user-guide?id=_71-%e5%ae%89%e5%85%a8%e7%9b%b8%e5%85%b3)
-
-# Design
- - [Apollo配置中心设计](zh/design/apollo-design.md)
- - [Apollo配置中心介绍](zh/design/apollo-introduction.md)
- - [Apollo核心概念之“Namespace”](zh/design/apollo-core-concept-namespace.md)
- - [Apollo源码解析](http://www.iocoder.cn/categories/Apollo/)(据说Apollo非常适合作为初学者第一个通读源码学习的分布式中间件产品)
-
-# Development
- - [Apollo开发指南](zh/development/apollo-development-guide.md)
- - Code Styles
- - [Eclipse Code Style](https://github.com/apolloconfig/apollo/blob/master/apollo-buildtools/style/eclipse-java-google-style.xml)
- - [Intellij Code Style](https://github.com/apolloconfig/apollo/blob/master/apollo-buildtools/style/intellij-java-google-style.xml)
- - [Portal实现用户登录功能](zh/development/portal-how-to-implement-user-login-function.md)
- - [Portal接入邮件服务](zh/development/portal-how-to-enable-email-service.md)
- - [Portal启用webhook通知](zh/development/portal-how-to-enable-webhook-notification.md)
- - [Apollo 版本发布操作手册](zh/development/apollo-release-guide.md)
-
-# Deployment
- - [Quick Start](zh/deployment/quick-start.md)
- - [Docker方式部署Quick Start](zh/deployment/quick-start-docker.md)
- - [分布式部署指南](zh/deployment/distributed-deployment-guide.md)
-
# Release Notes
* [版本发布历史](https://github.com/apolloconfig/apollo/releases)
-# FAQ
- * [常见问题回答](zh/faq/faq.md)
- * [部署&开发遇到的常见问题](zh/faq/common-issues-in-deployment-and-development-phase.md)
-
# Presentation
* [开源配置中心Apollo的设计与实现](http://www.itdks.com/dakalive/detail/3420)
* [Slides](https://github.com/apolloconfig/apollo-community/blob/master/slides/design-and-implementation-of-apollo.pdf)
@@ -133,10 +97,5 @@ Java客户端不依赖任何框架,能够运行于所有Java运行时环境,
-# 社区
- * [团队](zh/community/team)
- * [社区治理](https://github.com/apolloconfig/apollo/blob/master/GOVERNANCE.md)
- * [贡献指南](https://github.com/apolloconfig/apollo/blob/master/CONTRIBUTING.md)
-
# License
The project is licensed under the [Apache 2 license](https://github.com/apolloconfig/apollo/blob/master/LICENSE).
diff --git a/docs/zh/_sidebar.md b/docs/zh/_sidebar.md
index 5465b1553b2..26f563e090f 100644
--- a/docs/zh/_sidebar.md
+++ b/docs/zh/_sidebar.md
@@ -13,29 +13,38 @@
- [部署架构](zh/deployment/deployment-architecture.md)
- 第三方工具部署
- [基于Rainbond一键安装高可用Apollo集群](zh/deployment/third-party-tool-rainbond.md)
-
-- 开发文档
- - [Apollo开发指南](zh/development/apollo-development-guide.md)
+- 管理端指南
+ - [Apollo使用指南](zh/portal/apollo-user-guide.md)
+ - [Apollo开放平台接入指南](zh/portal/apollo-open-api-platform.md)
+ - [Apollo实践案例](zh/portal/apollo-user-practices.md)
+ - [Apollo安全相关最佳实践](zh/portal/apollo-user-guide?id=_71-%e5%ae%89%e5%85%a8%e7%9b%b8%e5%85%b3)
+ - [Apollo使用场景和示例代码](https://github.com/ctripcorp/apollo-use-cases)
+
+- 客户端指南
+ - [Java 客户端使用指南](zh/client/java-sdk-user-guide.md)
+ - [.Net 客户端使用指南](zh/client/dotnet-sdk-user-guide.md)
+ - [Golang 客户端使用指南](zh/client/golang-sdks-user-guide.md)
+ - [Python 客户端使用指南](zh/client/python-sdks-user-guide.md)
+ - [NodeJS 客户端使用指南](zh/client/nodejs-sdks-user-guide.md)
+ - [PHP 客户端使用指南](zh/client/php-sdks-user-guide.md)
+ - [C 客户端使用指南](zh/client/c-sdks-user-guide.md)
+ - [Rust 客户端使用指南](zh/client/rust-sdks-user-guide.md)
+ - [HTTP API 接入指南](zh/client/other-language-client-user-guide.md)
+
+- 扩展开发
+ - [Portal实现用户登录功能](zh/extension/portal-how-to-implement-user-login-function.md)
+ - [Portal接入邮件服务](zh/extension/portal-how-to-enable-email-service.md)
+ - [Portal 共享 session](zh/extension/portal-how-to-enable-session-store.md)
+ - [Portal启用webhook通知](zh/extension/portal-how-to-enable-webhook-notification.md)
+
+- 开源共建
+ - [Apollo开发指南](zh/contribution/apollo-development-guide.md)
- Code Styles
- [Eclipse Code Style](https://github.com/apolloconfig/apollo/blob/master/apollo-buildtools/style/eclipse-java-google-style.xml)
- [Intellij Code Style](https://github.com/apolloconfig/apollo/blob/master/apollo-buildtools/style/intellij-java-google-style.xml)
- - [Portal实现用户登录功能](zh/development/portal-how-to-implement-user-login-function.md)
- - [Portal接入邮件服务](zh/development/portal-how-to-enable-email-service.md)
- - [Portal 共享 session](zh/development/portal-how-to-enable-session-store.md)
- - [Portal启用webhook通知](zh/development/portal-how-to-enable-webhook-notification.md)
- - [Apollo 版本发布操作手册](zh/development/apollo-release-guide.md)
-
-- 使用文档
- - [Apollo使用指南](zh/usage/apollo-user-guide.md)
- - [Java客户端使用指南](zh/usage/java-sdk-user-guide.md)
- - [.Net客户端使用指南](zh/usage/dotnet-sdk-user-guide.md)
- - [Go、Python、NodeJS、PHP等客户端使用指南](zh/usage/third-party-sdks-user-guide.md)
- - [其它语言客户端接入指南](zh/usage/other-language-client-user-guide.md)
- - [Apollo开放平台接入指南](zh/usage/apollo-open-api-platform.md)
- - [Apollo使用场景和示例代码](https://github.com/ctripcorp/apollo-use-cases)
- - [Apollo实践案例](zh/usage/apollo-user-practices.md)
- - [Apollo安全相关最佳实践](zh/usage/apollo-user-guide?id=_71-%e5%ae%89%e5%85%a8%e7%9b%b8%e5%85%b3)
+ - [Apollo 版本发布操作手册](zh/contribution/apollo-release-guide.md)
+ - [贡献指南](zh/contributing.md)
- FAQ
- [常见问题回答](zh/faq/faq.md)
@@ -48,6 +57,4 @@
- 社区
- [团队](zh/community/team.md)
- [社区治理](zh/governance.md)
- - [贡献指南](zh/contributing.md)
- [致谢](zh/community/thank-you.md)
-
diff --git a/docs/zh/client/c-sdks-user-guide.md b/docs/zh/client/c-sdks-user-guide.md
new file mode 100644
index 00000000000..5728a45d581
--- /dev/null
+++ b/docs/zh/client/c-sdks-user-guide.md
@@ -0,0 +1,4 @@
+### Apollo C 客户端
+项目地址:[apollo-c-client](https://github.com/lzeqian/apollo)
+
+> 非常感谢[@lzeqian](https://github.com/lzeqian)提供C Apollo客户端的支持
diff --git a/docs/zh/usage/dotnet-sdk-user-guide.md b/docs/zh/client/dotnet-sdk-user-guide.md
similarity index 97%
rename from docs/zh/usage/dotnet-sdk-user-guide.md
rename to docs/zh/client/dotnet-sdk-user-guide.md
index e5abb0a3654..53abd432714 100644
--- a/docs/zh/usage/dotnet-sdk-user-guide.md
+++ b/docs/zh/client/dotnet-sdk-user-guide.md
@@ -1,4 +1,4 @@
->注意:本文档适用对象是Apollo系统的使用者,如果你是公司内Apollo系统的开发者/维护人员,建议先参考[Apollo开发指南](zh/development/apollo-development-guide)。
+>注意:本文档适用对象是Apollo系统的使用者,如果你是公司内Apollo系统的开发者/维护人员,建议先参考[Apollo开发指南](zh/contribution/apollo-development-guide)。
#
# 〇、重要提示!
@@ -162,7 +162,7 @@ string value = config.GetProperty(someKey, someDefaultValue);
```
## 3.4 Demo
-apollo.net项目中有一个样例客户端的项目:`ApolloDemo`,具体信息可以参考[Apollo开发指南](zh/development/apollo-development-guide)中的[2.4 .Net样例客户端启动](zh/development/apollo-development-guide?id=_24-net样例客户端启动)部分。
+apollo.net项目中有一个样例客户端的项目:`ApolloDemo`,具体信息可以参考[Apollo开发指南](zh/contribution/apollo-development-guide)中的[2.4 .Net样例客户端启动](zh/contribution/apollo-development-guide?id=_24-net样例客户端启动)部分。
>注:Apollo .Net客户端开源版目前默认会把日志直接输出到Console,大家可以自己实现Logging相关功能。
>
diff --git a/docs/zh/client/golang-sdks-user-guide.md b/docs/zh/client/golang-sdks-user-guide.md
new file mode 100644
index 00000000000..8ecfbd33e6e
--- /dev/null
+++ b/docs/zh/client/golang-sdks-user-guide.md
@@ -0,0 +1,44 @@
+### Apollo Go 客户端 1
+项目地址:[apolloconfig/agollo](https://github.com/apolloconfig/agollo)
+
+> 非常感谢[@zouyx](https://github.com/zouyx)提供Go Apollo客户端的支持
+
+### Apollo Go 客户端 2
+项目地址:[philchia/agollo](https://github.com/philchia/agollo)
+
+> 非常感谢[@philchia](https://github.com/philchia)提供Go Apollo客户端的支持
+
+### Apollo Go 客户端 3
+项目地址:[shima-park/agollo](https://github.com/shima-park/agollo)
+
+> 非常感谢[@shima-park](https://github.com/shima-park)提供Go Apollo客户端的支持
+
+### Apollo Go 客户端 4
+项目地址:[go-microservices/php_conf_agent](https://github.com/go-microservices/php_conf_agent)
+
+> 非常感谢[@GanymedeNil](https://github.com/GanymedeNil)提供Go Apollo客户端的支持
+
+### Apollo Go 客户端 5
+项目地址:[hyperjiang/lunar](https://github.com/hyperjiang/lunar)
+
+> 非常感谢[@hyperjiang](https://github.com/hyperjiang)提供Go Apollo客户端的支持
+
+### Apollo Go 客户端 6
+项目地址:[tagconfig/tagconfig](https://github.com/tagconfig/tagconfig)
+
+> 非常感谢[@n0trace](https://github.com/n0trace)提供Go Apollo客户端的支持
+
+### Apollo Go 客户端 7
+项目地址:[go-chassis/go-archaius](https://github.com/go-chassis/go-archaius/tree/master/examples/apollo)
+
+> 非常感谢[@tianxiaoliang](https://github.com/tianxiaoliang) 和 [@Shonminh](https://github.com/Shonminh)提供Go Apollo客户端的支持
+
+### Apollo Go 客户端 8
+项目地址:[xhrg-product/apollo-client-golang](https://github.com/xhrg-product/apollo-client-golang)
+
+> 非常感谢[@xhrg](https://github.com/xhrg)提供Go Apollo客户端的支持
+
+### Apollo Go 客户端 9
+项目地址:[xnzone/apollo-go](https://github.com/xnzone/apollo-go)
+
+> 非常感谢[@xnzone](https://github.com/xnzone)提供Go Apollo客户端的支持
diff --git a/docs/zh/usage/java-sdk-user-guide.md b/docs/zh/client/java-sdk-user-guide.md
similarity index 99%
rename from docs/zh/usage/java-sdk-user-guide.md
rename to docs/zh/client/java-sdk-user-guide.md
index 4b79b1495d5..4250c2bdb9b 100644
--- a/docs/zh/usage/java-sdk-user-guide.md
+++ b/docs/zh/client/java-sdk-user-guide.md
@@ -1,4 +1,4 @@
->注意:本文档适用对象是Apollo系统的使用者,如果你是公司内Apollo系统的开发者/维护人员,建议先参考[Apollo开发指南](zh/development/apollo-development-guide)。
+>注意:本文档适用对象是Apollo系统的使用者,如果你是公司内Apollo系统的开发者/维护人员,建议先参考[Apollo开发指南](zh/contribution/apollo-development-guide)。
#
# 一、准备工作
@@ -1063,7 +1063,7 @@ eureka.instance.preferIpAddress = true
![text-mode-spring-boot-config-sample](https://cdn.jsdelivr.net/gh/apolloconfig/apollo@master/doc/images/text-mode-spring-boot-config-sample.png)
## 3.3 Demo
-项目中有一个样例客户端的项目:`apollo-demo`,具体信息可以参考[Apollo开发指南](zh/development/apollo-development-guide)中的[2.3 Java样例客户端启动](zh/development/apollo-development-guide?id=_23-java样例客户端启动)部分。
+项目中有一个样例客户端的项目:`apollo-demo`,具体信息可以参考[Apollo开发指南](zh/contribution/apollo-development-guide)中的[2.3 Java样例客户端启动](zh/contribution/apollo-development-guide?id=_23-java样例客户端启动)部分。
更多使用案例Demo可以参考[Apollo使用场景和示例代码](https://github.com/ctripcorp/apollo-use-cases)。
diff --git a/docs/zh/client/nodejs-sdks-user-guide.md b/docs/zh/client/nodejs-sdks-user-guide.md
new file mode 100644
index 00000000000..2a9cd672718
--- /dev/null
+++ b/docs/zh/client/nodejs-sdks-user-guide.md
@@ -0,0 +1,42 @@
+### Apollo NodeJS 客户端 1
+项目地址:[node-apollo](https://github.com/Quinton/node-apollo)
+
+> 非常感谢[@Quinton](https://github.com/Quinton)提供NodeJS Apollo客户端的支持
+
+### Apollo NodeJS 客户端 2
+项目地址:[ctrip-apollo](https://github.com/kaelzhang/ctrip-apollo)
+
+> 非常感谢[@kaelzhang](https://github.com/kaelzhang)提供NodeJS Apollo客户端的支持
+
+### Apollo NodeJS 客户端 3
+项目地址:[node-apollo-client](https://github.com/shinux/node-apollo-client)
+
+> 非常感谢[@shinux](https://github.com/shinux)提供NodeJS Apollo客户端的支持
+
+### Apollo NodeJS 客户端 4
+项目地址:[ctrip-apollo-client](https://github.com/lvgithub/ctrip-apollo-client)
+
+> 非常感谢[@lvgithub](https://github.com/lvgithub)提供NodeJS Apollo客户端的支持
+
+### Apollo NodeJS 客户端 5
+项目地址:[apollo-node](https://github.com/lengyuxuan/apollo-node)
+
+> 非常感谢[@lengyuxuan](https://github.com/lengyuxuan)提供NodeJS Apollo客户端的支持
+
+### Apollo NodeJS 客户端 6
+项目地址:[egg-apollo-client](https://github.com/xuezier/egg-apollo-client)
+
+> 非常感谢[@xuezier](https://github.com/xuezier)提供NodeJS Apollo客户端的支持
+
+### Apollo NodeJS 客户端 7
+
+项目地址:[apollo-node-client](https://github.com/zhangxh1023/apollo-node-client)
+
+> 非常感谢[@zhangxh1023](https://github.com/zhangxh1023)提供NodeJS Apollo客户端的支持
+
+### Apollo NodeJS 客户端 8
+
+项目地址:[@vodyani/apollo-client](https://github.com/vodyani/apollo-client)
+
+> 非常感谢[@ChoGathK](https://github.com/ChoGathK)提供NodeJS Apollo客户端的支持
+
diff --git a/docs/zh/usage/other-language-client-user-guide.md b/docs/zh/client/other-language-client-user-guide.md
similarity index 95%
rename from docs/zh/usage/other-language-client-user-guide.md
rename to docs/zh/client/other-language-client-user-guide.md
index ed0f098a119..669134f2db6 100644
--- a/docs/zh/usage/other-language-client-user-guide.md
+++ b/docs/zh/client/other-language-client-user-guide.md
@@ -2,10 +2,10 @@
另外,如果有团队/个人有兴趣的话,也欢迎帮助我们来实现其它语言的客户端,具体细节可以联系@nobodyiam和@lepdou。
->注:目前已有热心用户贡献了Go、Python、NodeJS、PHP、C++的客户端,更多信息可以参考[Go、Python、NodeJS、PHP等客户端使用指南](zh/usage/third-party-sdks-user-guide)
+>注:目前已有热心用户贡献了Go、Python、NodeJS、PHP、C++的客户端,更多信息可以参考"客户端指南"
## 1.1 应用接入Apollo
-首先需要在Apollo中接入你的应用,具体步骤可以参考[应用接入文档](zh/usage/apollo-user-guide?id=一、普通应用接入指南)。
+首先需要在Apollo中接入你的应用,具体步骤可以参考[应用接入文档](zh/portal/apollo-user-guide?id=一、普通应用接入指南)。
## 1.2 通过带缓存的Http接口从Apollo读取配置
@@ -24,7 +24,7 @@
|-------------------|----------|----------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| config_server_url | 是 | Apollo配置服务的地址 | |
| appId | 是 | 应用的appId | |
-| clusterName | 是 | 集群名 | 一般情况下传入 default 即可。 如果希望配置按集群划分,可以参考[集群独立配置说明](zh/usage/apollo-user-guide?id=三、集群独立配置说明)做相关配置,然后在这里填入对应的集群名。 |
+| clusterName | 是 | 集群名 | 一般情况下传入 default 即可。 如果希望配置按集群划分,可以参考[集群独立配置说明](zh/portal/apollo-user-guide?id=三、集群独立配置说明)做相关配置,然后在这里填入对应的集群名。 |
| namespaceName | 是 | Namespace的名字 | 如果没有新建过Namespace的话,传入application即可。 如果创建了Namespace,并且需要使用该Namespace的配置,则传入对应的Namespace名字。**需要注意的是对于properties类型的namespace,只需要传入namespace的名字即可,如application。对于其它类型的namespace,需要传入namespace的名字加上后缀名,如datasources.json** |
| ip | 否 | 应用部署的机器ip | 这个参数是可选的,用来实现灰度发布。 如果不想传这个参数,请注意URL中从?号开始的query parameters整个都不要出现。 |
@@ -59,7 +59,7 @@
|-------------------|---------|---------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| config_server_url | 是 | Apollo配置服务的地址 | |
| appId | 是 | 应用的appId | |
-| clusterName | 是 | 集群名 | 一般情况下传入 default 即可。 如果希望配置按集群划分,可以参考[集群独立配置说明](zh/usage/apollo-user-guide?id=三、集群独立配置说明)做相关配置,然后在这里填入对应的集群名。 |
+| clusterName | 是 | 集群名 | 一般情况下传入 default 即可。 如果希望配置按集群划分,可以参考[集群独立配置说明](zh/portal/apollo-user-guide?id=三、集群独立配置说明)做相关配置,然后在这里填入对应的集群名。 |
| namespaceName | 是 | Namespace的名字 | 如果没有新建过Namespace的话,传入application即可。 如果创建了Namespace,并且需要使用该Namespace的配置,则传入对应的Namespace名字。**需要注意的是对于properties类型的namespace,只需要传入namespace的名字即可,如application。对于其它类型的namespace,需要传入namespace的名字加上后缀名,如datasources.json** |
| releaseKey | 否 | 上一次的releaseKey | 将上一次返回对象中的releaseKey传入即可,用来给服务端比较版本,如果版本比下来没有变化,则服务端直接返回304以节省流量和运算 |
| messages | 否 | 最新的 notificationId | 用于给服务端即时更新内存缓存,如果传递了 releaseKey,而不传递 messages参数,在服务端多实例、且开启内存缓存时、有概率会获取不到最新的配置。这个参数是json结构的字符串 {"details":{"key":notificationId}},需要将 `appId`、`clusterName`、`namespaceName`使用 `+` 号拼接为 key,假设现在 `appId=app`、`clusterName=default`、`namespaceName=test`、`notificationId=11`,则 messages 参数为 {"details":{"app+default+test":11}},使用 messages 参数时,需要进行 URL编码。 |
@@ -131,7 +131,7 @@ Apollo提供了基于Http long polling的配置更新推送通知,第三方客
|-------------------|----------|----------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| config_server_url | 是 | Apollo配置服务的地址 | |
| appId | 是 | 应用的appId | |
-| clusterName | 是 | 集群名 | 一般情况下传入 default 即可。 如果希望配置按集群划分,可以参考[集群独立配置说明](zh/usage/apollo-user-guide?id=三、集群独立配置说明)做相关配置,然后在这里填入对应的集群名。 |
+| clusterName | 是 | 集群名 | 一般情况下传入 default 即可。 如果希望配置按集群划分,可以参考[集群独立配置说明](zh/portal/apollo-user-guide?id=三、集群独立配置说明)做相关配置,然后在这里填入对应的集群名。 |
| notifications | 是 | notifications信息 | 传入本地的notifications信息,注意这里需要以array形式转为json传入,如:[{"namespaceName": "application", "notificationId": 100}, {"namespaceName": "FX.apollo", "notificationId": 200}]。**需要注意的是对于properties类型的namespace,只需要传入namespace的名字即可,如application。对于其它类型的namespace,需要传入namespace的名字加上后缀名,如datasources.json** |
> 注1:由于服务端会hold住请求60秒,所以请确保客户端访问服务端的超时时间要大于60秒。
diff --git a/docs/zh/client/php-sdks-user-guide.md b/docs/zh/client/php-sdks-user-guide.md
new file mode 100644
index 00000000000..9584f9f325f
--- /dev/null
+++ b/docs/zh/client/php-sdks-user-guide.md
@@ -0,0 +1,11 @@
+### Apollo PHP 客户端 1
+项目地址:[apollo-php-client](https://github.com/multilinguals/apollo-php-client)
+
+> 非常感谢[@t04041143](https://github.com/t04041143)提供PHP Apollo客户端的支持
+
+### Apollo PHP 客户端 2
+项目地址:[apollo-sdk-config](https://github.com/fengzhibin/apollo-sdk-config)
+
+项目地址:[apollo-sdk-clientd](https://github.com/fengzhibin/apollo-sdk-clientd)
+
+> 非常感谢[@fengzhibin](https://github.com/fengzhibin)提供PHP Apollo客户端的支持
diff --git a/docs/zh/client/python-sdks-user-guide.md b/docs/zh/client/python-sdks-user-guide.md
new file mode 100644
index 00000000000..e1b8f9675bb
--- /dev/null
+++ b/docs/zh/client/python-sdks-user-guide.md
@@ -0,0 +1,14 @@
+### Apollo Python 客户端 1
+项目地址:[pyapollo](https://github.com/filamoon/pyapollo)
+
+> 非常感谢[@filamoon](https://github.com/filamoon)提供Python Apollo客户端的支持
+
+### Apollo Python 客户端 2
+项目地址:[BruceWW-pyapollo](https://github.com/BruceWW/pyapollo)
+
+> 非常感谢[@BruceWW](https://github.com/BruceWW)提供Python Apollo客户端的支持
+
+### Apollo Python 客户端 3
+项目地址:[xhrg-product/apollo-client-python](https://github.com/xhrg-product/apollo-client-python)
+
+> 非常感谢[@xhrg-product](https://github.com/xhrg-product)提供Python Apollo客户端的支持
diff --git a/docs/zh/client/rust-sdks-user-guide.md b/docs/zh/client/rust-sdks-user-guide.md
new file mode 100644
index 00000000000..1637303ff92
--- /dev/null
+++ b/docs/zh/client/rust-sdks-user-guide.md
@@ -0,0 +1,4 @@
+### Apollo Rust 客户端
+项目地址:[apollo-rust-sdk](https://github.com/liushv0/apollo-rust-sdk)
+
+> 非常感谢[@liushv0](https://github.com/liushv0)提供Rust Apollo客户端的支持
diff --git a/docs/zh/development/apollo-development-guide.md b/docs/zh/contribution/apollo-development-guide.md
similarity index 94%
rename from docs/zh/development/apollo-development-guide.md
rename to docs/zh/contribution/apollo-development-guide.md
index b84ea049351..90864e2e4a5 100644
--- a/docs/zh/development/apollo-development-guide.md
+++ b/docs/zh/contribution/apollo-development-guide.md
@@ -99,7 +99,7 @@ Apollo本地开发需要以下组件:
-Dspring.datasource.username=root
-Dspring.datasource.password=
->注1:这里指定了apollo_profile是`github`和`auth`,其中`github`是Apollo必须的一个profile,用于数据库的配置,`auth`是从0.9.0新增的,用来支持使用apollo提供的Spring Security简单认证,更多信息可以参考[Portal-实现用户登录功能](zh/development/portal-how-to-implement-user-login-function)
+>注1:这里指定了apollo_profile是`github`和`auth`,其中`github`是Apollo必须的一个profile,用于数据库的配置,`auth`是从0.9.0新增的,用来支持使用apollo提供的Spring Security简单认证,更多信息可以参考[Portal-实现用户登录功能](zh/extension/portal-how-to-implement-user-login-function)
>
>注2:spring.datasource相关配置替换成你自己的数据库连接信息,注意数据库是`ApolloPortalDB `。
>
@@ -126,7 +126,7 @@ Apollo本地开发需要以下组件:
为了更好的开发和调试,一般我们都会自己创建一个demo项目给自己使用。
-可以参考[一、普通应用接入指南](zh/usage/apollo-user-guide#一、普通应用接入指南)创建自己的demo项目。
+可以参考[一、普通应用接入指南](zh/portal/apollo-user-guide#一、普通应用接入指南)创建自己的demo项目。
## 2.3 Java样例客户端启动
@@ -145,7 +145,7 @@ Apollo本地开发需要以下组件:
> 对于公共Namespace的配置,没有AppId也可以获取到配置,但是就失去了应用覆盖公共Namespace配置的能力。
-> 更多配置AppId的方式可以参考[1.2.1 AppId](zh/usage/java-sdk-user-guide#_121-appid)
+> 更多配置AppId的方式可以参考[1.2.1 AppId](zh/client/java-sdk-user-guide#_121-appid)
### 2.3.2 新建运行配置
![NewConfiguration-Application](https://cdn.jsdelivr.net/gh/apolloconfig/apollo@master/doc/images/local-development/NewConfiguration-Application.png)
@@ -160,7 +160,7 @@ Apollo本地开发需要以下组件:
> 注:这里当前环境的meta server地址为`http://localhost:8080`,也就是`apollo-configservice`的地址。
-> 更多配置Apollo Meta Server的方式可以参考[1.2.2 Apollo Meta Server](zh/usage/java-sdk-user-guide#_122-apollo-meta-server)
+> 更多配置Apollo Meta Server的方式可以参考[1.2.2 Apollo Meta Server](zh/client/java-sdk-user-guide#_122-apollo-meta-server)
### 2.3.5 概览
@@ -234,12 +234,12 @@ Apollo客户端针对不同的环境会从不同的服务器获取配置,所
## 3.1 Portal 实现用户登录功能
-请参考[Portal 实现用户登录功能](zh/development/portal-how-to-implement-user-login-function)
+请参考[Portal 实现用户登录功能](zh/extension/portal-how-to-implement-user-login-function)
## 3.2 Portal 接入邮件服务
-请参考[Portal 接入邮件服务](zh/development/portal-how-to-enable-email-service)
+请参考[Portal 接入邮件服务](zh/extension/portal-how-to-enable-email-service)
## 3.3 Portal 集群部署时共享 session
-请参考[Portal 共享 session](zh/development/portal-how-to-enable-session-store)
+请参考[Portal 共享 session](zh/extension/portal-how-to-enable-session-store)
diff --git a/docs/zh/development/apollo-release-guide.md b/docs/zh/contribution/apollo-release-guide.md
similarity index 100%
rename from docs/zh/development/apollo-release-guide.md
rename to docs/zh/contribution/apollo-release-guide.md
diff --git a/docs/zh/deployment/distributed-deployment-guide.md b/docs/zh/deployment/distributed-deployment-guide.md
index b72938a8b95..eecc6f8b493 100644
--- a/docs/zh/deployment/distributed-deployment-guide.md
+++ b/docs/zh/deployment/distributed-deployment-guide.md
@@ -133,7 +133,7 @@ EUREKA_INSTANCE_PREFER_IP_ADDRESS=false
### 1.4.4 直接指定apollo-configservice地址
-如果Apollo部署在公有云上,本地开发环境无法连接,但又需要做开发测试的话,客户端可以升级到0.11.0版本及以上,然后配置[跳过Apollo Meta Server服务发现](zh/usage/java-sdk-user-guide#_1222-跳过apollo-meta-server服务发现)
+如果Apollo部署在公有云上,本地开发环境无法连接,但又需要做开发测试的话,客户端可以升级到0.11.0版本及以上,然后配置[跳过Apollo Meta Server服务发现](zh/client/java-sdk-user-guide#_1222-跳过apollo-meta-server服务发现)
### 1.4.5 打通网络
@@ -496,7 +496,7 @@ export JAVA_OPTS="-server -Xms6144m -Xmx6144m -Xss256k -XX:MetaspaceSize=128m -X
> 注2:如要调整服务的日志输出路径,可以修改scripts/startup.sh和apollo-configservice.conf中的`LOG_DIR`。
-> 注3:如要调整服务的监听端口,可以修改scripts/startup.sh中的`SERVER_PORT`。另外apollo-configservice同时承担meta server职责,如果要修改端口,注意要同时ApolloConfigDB.ServerConfig表中的`eureka.service.url`配置项以及apollo-portal和apollo-client中的使用到的meta server信息,详见:[2.2.1.1.2.4 配置apollo-portal的meta service信息](#_221124-配置apollo-portal的meta-service信息)和[1.2.2 Apollo Meta Server](zh/usage/java-sdk-user-guide#_122-apollo-meta-server)。
+> 注3:如要调整服务的监听端口,可以修改scripts/startup.sh中的`SERVER_PORT`。另外apollo-configservice同时承担meta server职责,如果要修改端口,注意要同时ApolloConfigDB.ServerConfig表中的`eureka.service.url`配置项以及apollo-portal和apollo-client中的使用到的meta server信息,详见:[2.2.1.1.2.4 配置apollo-portal的meta service信息](#_221124-配置apollo-portal的meta-service信息)和[1.2.2 Apollo Meta Server](zh/client/java-sdk-user-guide#_122-apollo-meta-server)。
> 注4:如果ApolloConfigDB.ServerConfig的eureka.service.url只配了当前正在启动的机器的话,在启动apollo-configservice的过程中会在日志中输出eureka注册失败的信息,如`com.sun.jersey.api.client.ClientHandlerException: java.net.ConnectException: Connection refused`。需要注意的是,这个是预期的情况,因为apollo-configservice需要向Meta Server(它自己)注册服务,但是因为在启动过程中,自己还没起来,所以会报这个错。后面会进行重试的动作,所以等自己服务起来后就会注册正常了。
@@ -1290,7 +1290,7 @@ DEV,FAT,UAT,PRO
>注1:一套Portal可以管理多个环境,但是每个环境都需要独立部署一套Config Service、Admin Service和ApolloConfigDB,具体请参考:[2.1.2 创建ApolloConfigDB](#_212-创建apolloconfigdb),[3.2 调整ApolloConfigDB配置](zh/deployment/distributed-deployment-guide?id=_32-调整apolloconfigdb配置),[2.2.1.1.2 配置数据库连接信息](#_22112-配置数据库连接信息),另外如果是为已经运行了一段时间的Apollo配置中心增加环境,别忘了参考[2.1.2.4 从别的环境导入ApolloConfigDB的项目数据](#_2124-从别的环境导入apolloconfigdb的项目数据)对新的环境做初始化。
->注2:只在数据库添加环境是不起作用的,还需要为apollo-portal添加新增环境对应的meta server地址,具体参考:[2.2.1.1.2.4 配置apollo-portal的meta service信息](#_221124-配置apollo-portal的meta-service信息)。apollo-client在新的环境下使用时也需要做好相应的配置,具体参考:[1.2.2 Apollo Meta Server](zh/usage/java-sdk-user-guide#_122-apollo-meta-server)。
+>注2:只在数据库添加环境是不起作用的,还需要为apollo-portal添加新增环境对应的meta server地址,具体参考:[2.2.1.1.2.4 配置apollo-portal的meta service信息](#_221124-配置apollo-portal的meta-service信息)。apollo-client在新的环境下使用时也需要做好相应的配置,具体参考:[1.2.2 Apollo Meta Server](zh/client/java-sdk-user-guide#_122-apollo-meta-server)。
>注3:如果希望添加自定义的环境名称,具体步骤可以参考[Portal如何增加环境](zh/faq/common-issues-in-deployment-and-development-phase?id=_4-portal如何增加环境?)。
diff --git a/docs/zh/deployment/quick-start.md b/docs/zh/deployment/quick-start.md
index 9b5ae5be14e..9474fc98b0f 100644
--- a/docs/zh/deployment/quick-start.md
+++ b/docs/zh/deployment/quick-start.md
@@ -4,7 +4,7 @@
不过这里需要注意的是,Quick Start只针对本地测试使用,如果要部署到生产环境,还请另行参考[分布式部署指南](zh/deployment/distributed-deployment-guide)。
-> 注:Quick Start需要有bash环境,Windows用户请安装[Git Bash](https://git-for-windows.github.io/),建议使用最新版本,老版本可能会遇到未知问题。也可以直接通过IDE环境启动,详见[Apollo开发指南](zh/development/apollo-development-guide)。
+> 注:Quick Start需要有bash环境,Windows用户请安装[Git Bash](https://git-for-windows.github.io/),建议使用最新版本,老版本可能会遇到未知问题。也可以直接通过IDE环境启动,详见[Apollo开发指南](zh/contribution/apollo-development-guide)。
#
# 一、准备工作
@@ -170,7 +170,7 @@ Quick Start只是用来帮助大家快速体验Apollo项目,具体实际使用
### 4.1.1 查看样例配置
1. 打开http://localhost:8070
-> Quick Start集成了[Spring Security简单认证](zh/development/portal-how-to-implement-user-login-function#实现方式一:使用apollo提供的spring-security简单认证),更多信息可以参考[Portal 实现用户登录功能](zh/development/portal-how-to-implement-user-login-function)
+> Quick Start集成了[Spring Security简单认证](zh/extension/portal-how-to-implement-user-login-function#实现方式一:使用apollo提供的spring-security简单认证),更多信息可以参考[Portal 实现用户登录功能](zh/extension/portal-how-to-implement-user-login-function)
@@ -238,7 +238,7 @@ Apollo Config Demo. Please input key to get the value. Input quit to exit.
## 4.2 使用新的项目
### 4.2.1 应用接入Apollo
-这部分可以参考[Java应用接入指南](zh/usage/java-sdk-user-guide)
+这部分可以参考[Java应用接入指南](zh/client/java-sdk-user-guide)
### 4.2.2 运行客户端程序
由于使用了新的项目,所以客户端需要修改appId信息。
diff --git a/docs/zh/design/apollo-core-concept-namespace.md b/docs/zh/design/apollo-core-concept-namespace.md
index ee6662c658e..0fb027e0a44 100644
--- a/docs/zh/design/apollo-core-concept-namespace.md
+++ b/docs/zh/design/apollo-core-concept-namespace.md
@@ -19,7 +19,7 @@ Apollo在创建项目的时候,都会默认创建一个“application”的Nam
### 3. Namespace的格式有哪些?
配置文件有多种格式,例如:properties、xml、yml、yaml、json等。同样Namespace也具有这些格式。在Portal UI中可以看到“application”的Namespace上有一个“properties”标签,表明“application”是properties格式的。
->注1:非properties格式的namespace,在客户端使用时需要调用`ConfigService.getConfigFile(String namespace, ConfigFileFormat configFileFormat)`来获取,如果使用[Http接口直接调用](zh/usage/other-language-client-user-guide#_12-通过带缓存的http接口从apollo读取配置)时,对应的namespace参数需要传入namespace的名字加上后缀名,如datasources.json。
+>注1:非properties格式的namespace,在客户端使用时需要调用`ConfigService.getConfigFile(String namespace, ConfigFileFormat configFileFormat)`来获取,如果使用[Http接口直接调用](zh/client/other-language-client-user-guide#_12-通过带缓存的http接口从apollo读取配置)时,对应的namespace参数需要传入namespace的名字加上后缀名,如datasources.json。
>注2:apollo-client 1.3.0版本开始对yaml/yml做了更好的支持,使用起来和properties格式一致:`Config config = ConfigService.getConfig("application.yml");`,Spring的注入方式也和properties一致。
diff --git a/docs/zh/design/apollo-design.md b/docs/zh/design/apollo-design.md
index 4d8607ed0b3..e2724800c5f 100644
--- a/docs/zh/design/apollo-design.md
+++ b/docs/zh/design/apollo-design.md
@@ -321,7 +321,7 @@ Spring从3.1版本开始增加了`ConfigurableEnvironment`和`PropertySource`:
所有Config Service下线 |
客户端无法读取最新配置,Portal无影响 |
-客户端重启时,可以读取本地缓存配置文件。如果是新扩容的机器,可以从其它机器上获取已缓存的配置文件,具体信息可以参考Java客户端使用指南 - 1.2.3 本地缓存路径
+ | 客户端重启时,可以读取本地缓存配置文件。如果是新扩容的机器,可以从其它机器上获取已缓存的配置文件,具体信息可以参考Java客户端使用指南 - 1.2.3 本地缓存路径
|
|
diff --git a/docs/zh/design/apollo-introduction.md b/docs/zh/design/apollo-introduction.md
index af652591f48..e05da35ec54 100644
--- a/docs/zh/design/apollo-introduction.md
+++ b/docs/zh/design/apollo-introduction.md
@@ -114,7 +114,7 @@ Apollo支持4个维度管理Key-Value格式的配置:
## 3.3 添加/修改配置项
-用户可以通过配置中心界面方便的添加/修改配置项,更多使用说明请参见[应用接入指南](zh/usage/apollo-user-guide)
+用户可以通过配置中心界面方便的添加/修改配置项,更多使用说明请参见[应用接入指南](zh/portal/apollo-user-guide)
![edit-item-entry](https://cdn.jsdelivr.net/gh/apolloconfig/apollo@master/doc/images/edit-item-entry.png)
@@ -134,7 +134,7 @@ Apollo支持4个维度管理Key-Value格式的配置:
## 3.5 客户端获取配置(Java API样例)
-配置发布后,就能在客户端获取到了,以Java为例,获取配置的示例代码如下。Apollo客户端还支持和Spring整合,更多客户端使用说明请参见[Java客户端使用指南](zh/usage/java-sdk-user-guide)和[.Net客户端使用指南](zh/usage/dotnet-sdk-user-guide)。
+配置发布后,就能在客户端获取到了,以Java为例,获取配置的示例代码如下。Apollo客户端还支持和Spring整合,更多客户端使用说明请参见[Java客户端使用指南](zh/client/java-sdk-user-guide)和[.Net客户端使用指南](zh/client/java-sdk-user-guide)。
```java
Config config = ConfigService.getAppConfig();
@@ -195,17 +195,17 @@ public class SomeBean {
1. **application (应用)**
* 这个很好理解,就是实际使用配置的应用,Apollo客户端在运行时需要知道当前应用是谁,从而可以去获取对应的配置
- * 每个应用都需要有唯一的身份标识 -- appId,我们认为应用身份是跟着代码走的,所以需要在代码中配置,具体信息请参见[Java客户端使用指南](zh/usage/java-sdk-user-guide)。
+ * 每个应用都需要有唯一的身份标识 -- appId,我们认为应用身份是跟着代码走的,所以需要在代码中配置,具体信息请参见[Java客户端使用指南](zh/client/java-sdk-user-guide)。
2. **environment (环境)**
* 配置对应的环境,Apollo客户端在运行时需要知道当前应用处于哪个环境,从而可以去获取应用的配置
* 我们认为环境和代码无关,同一份代码部署在不同的环境就应该能够获取到不同环境的配置
- * 所以环境默认是通过读取机器上的配置(server.properties中的env属性)指定的,不过为了开发方便,我们也支持运行时通过System Property等指定,具体信息请参见[Java客户端使用指南](zh/usage/java-sdk-user-guide)。
+ * 所以环境默认是通过读取机器上的配置(server.properties中的env属性)指定的,不过为了开发方便,我们也支持运行时通过System Property等指定,具体信息请参见[Java客户端使用指南](zh/client/java-sdk-user-guide)。
3. **cluster (集群)**
* 一个应用下不同实例的分组,比如典型的可以按照数据中心分,把上海机房的应用实例分为一个集群,把北京机房的应用实例分为另一个集群。
* 对不同的cluster,同一个配置可以有不一样的值,如zookeeper地址。
- * 集群默认是通过读取机器上的配置(server.properties中的idc属性)指定的,不过也支持运行时通过System Property指定,具体信息请参见[Java客户端使用指南](zh/usage/java-sdk-user-guide)。
+ * 集群默认是通过读取机器上的配置(server.properties中的idc属性)指定的,不过也支持运行时通过System Property指定,具体信息请参见[Java客户端使用指南](zh/client/java-sdk-user-guide)。
4. **namespace (命名空间)**
* 一个应用下不同配置的分组,可以简单地把namespace类比为文件,不同类型的配置存放在不同的文件中,如数据库配置文件,RPC配置文件,应用自身的配置文件等
@@ -281,7 +281,7 @@ Namespace创建完,需要选择在哪些环境和集群下使用
### 4.3.5 客户端获取Namespace配置
-对自定义namespace的配置获取,稍有不同,需要程序传入namespace的名字。Apollo客户端还支持和Spring整合,更多客户端使用说明请参见[Java客户端使用指南](zh/usage/java-sdk-user-guide)和[.Net客户端使用指南](zh/usage/dotnet-sdk-user-guide)。
+对自定义namespace的配置获取,稍有不同,需要程序传入namespace的名字。Apollo客户端还支持和Spring整合,更多客户端使用说明请参见[Java客户端使用指南](zh/client/java-sdk-user-guide)和[.Net客户端使用指南](zh/client/java-sdk-user-guide)。
```java
Config config = ConfigService.getConfig("FX.Hermes.Producer");
diff --git a/docs/zh/development/portal-how-to-enable-email-service.md b/docs/zh/extension/portal-how-to-enable-email-service.md
similarity index 100%
rename from docs/zh/development/portal-how-to-enable-email-service.md
rename to docs/zh/extension/portal-how-to-enable-email-service.md
diff --git a/docs/zh/development/portal-how-to-enable-session-store.md b/docs/zh/extension/portal-how-to-enable-session-store.md
similarity index 100%
rename from docs/zh/development/portal-how-to-enable-session-store.md
rename to docs/zh/extension/portal-how-to-enable-session-store.md
diff --git a/docs/zh/development/portal-how-to-enable-webhook-notification.md b/docs/zh/extension/portal-how-to-enable-webhook-notification.md
similarity index 100%
rename from docs/zh/development/portal-how-to-enable-webhook-notification.md
rename to docs/zh/extension/portal-how-to-enable-webhook-notification.md
diff --git a/docs/zh/development/portal-how-to-implement-user-login-function.md b/docs/zh/extension/portal-how-to-implement-user-login-function.md
similarity index 100%
rename from docs/zh/development/portal-how-to-implement-user-login-function.md
rename to docs/zh/extension/portal-how-to-implement-user-login-function.md
diff --git a/docs/zh/faq/common-issues-in-deployment-and-development-phase.md b/docs/zh/faq/common-issues-in-deployment-and-development-phase.md
index 63e78649a7b..1db6d7f5d77 100644
--- a/docs/zh/faq/common-issues-in-deployment-and-development-phase.md
+++ b/docs/zh/faq/common-issues-in-deployment-and-development-phase.md
@@ -20,7 +20,7 @@
1.6.0版本增加了自定义环境的功能,可以在不修改代码的情况增加环境
1. protaldb增加环境,参考[3.1 调整ApolloPortalDB配置](zh/deployment/distributed-deployment-guide?id=_31-调整apolloportaldb配置)
-2. 为apollo-portal添加新增环境对应的meta server地址,具体参考:[2.2.1.1.2.4 配置apollo-portal的meta service信息](zh/deployment/distributed-deployment-guide?id=_221124-配置apollo-portal的meta-service信息)。apollo-client在新的环境下使用时也需要做好相应的配置,具体参考:[1.2.2 Apollo Meta Server](zh/usage/java-sdk-user-guide?id=_122-apollo-meta-server)。
+2. 为apollo-portal添加新增环境对应的meta server地址,具体参考:[2.2.1.1.2.4 配置apollo-portal的meta service信息](zh/deployment/distributed-deployment-guide?id=_221124-配置apollo-portal的meta-service信息)。apollo-client在新的环境下使用时也需要做好相应的配置,具体参考:[1.2.2 Apollo Meta Server](zh/client/java-sdk-user-guide?id=_122-apollo-meta-server)。
>注1:一套Portal可以管理多个环境,但是每个环境都需要独立部署一套Config Service、Admin Service和ApolloConfigDB,具体请参考:[2.1.2 创建ApolloConfigDB](zh/deployment/distributed-deployment-guide?id=_212-创建apolloconfigdb),[3.2 调整ApolloConfigDB配置](zh/deployment/distributed-deployment-guide?id=_32-调整apolloconfigdb配置),[2.2.1.1.2 配置数据库连接信息](zh/deployment/distributed-deployment-guide?id=_22112-配置数据库连接信息)
@@ -33,7 +33,7 @@
如果需要添加的环境是Apollo预先定义的环境(DEV, FAT, UAT, PRO),需要两步操作:
1. protaldb增加环境,参考[3.1 调整ApolloPortalDB配置](zh/deployment/distributed-deployment-guide?id=_31-调整apolloportaldb配置)
-2. 为apollo-portal添加新增环境对应的meta server地址,具体参考:[2.2.1.1.2.4 配置apollo-portal的meta service信息](zh/deployment/distributed-deployment-guide?id=_221124-配置apollo-portal的meta-service信息)。apollo-client在新的环境下使用时也需要做好相应的配置,具体参考:[1.2.2 Apollo Meta Server](zh/usage/java-sdk-user-guide?id=_122-apollo-meta-server)。
+2. 为apollo-portal添加新增环境对应的meta server地址,具体参考:[2.2.1.1.2.4 配置apollo-portal的meta service信息](zh/deployment/distributed-deployment-guide?id=_221124-配置apollo-portal的meta-service信息)。apollo-client在新的环境下使用时也需要做好相应的配置,具体参考:[1.2.2 Apollo Meta Server](zh/client/java-sdk-user-guide?id=_122-apollo-meta-server)。
>注1:一套Portal可以管理多个环境,但是每个环境都需要独立部署一套Config Service、Admin Service和ApolloConfigDB,具体请参考:[2.1.2 创建ApolloConfigDB](zh/deployment/distributed-deployment-guide?id=_212-创建apolloconfigdb),[3.2 调整ApolloConfigDB配置](zh/deployment/distributed-deployment-guide?id=_32-调整apolloconfigdb配置),[2.2.1.1.2 配置数据库连接信息](zh/deployment/distributed-deployment-guide?id=_22112-配置数据库连接信息)
@@ -89,7 +89,7 @@ public class LegacyMetaServerProvider {
}
```
6. protaldb增加`BETA`环境,参考[3.1 调整ApolloPortalDB配置](zh/deployment/distributed-deployment-guide?id=_31-调整apolloportaldb配置)
-7. 为apollo-portal添加新增环境对应的meta server地址,具体参考:[2.2.1.1.2.4 配置apollo-portal的meta service信息](zh/deployment/distributed-deployment-guide?id=_221124-配置apollo-portal的meta-service信息)。apollo-client在新的环境下使用时也需要做好相应的配置,具体参考:[1.2.2 Apollo Meta Server](zh/usage/java-sdk-user-guide?id=_122-apollo-meta-server)。
+7. 为apollo-portal添加新增环境对应的meta server地址,具体参考:[2.2.1.1.2.4 配置apollo-portal的meta service信息](zh/deployment/distributed-deployment-guide?id=_221124-配置apollo-portal的meta-service信息)。apollo-client在新的环境下使用时也需要做好相应的配置,具体参考:[1.2.2 Apollo Meta Server](zh/client/java-sdk-user-guide?id=_122-apollo-meta-server)。
>注1:一套Portal可以管理多个环境,但是每个环境都需要独立部署一套Config Service、Admin Service和ApolloConfigDB,具体请参考:[2.1.2 创建ApolloConfigDB](zh/deployment/distributed-deployment-guide?id=_212-创建apolloconfigdb),[3.2 调整ApolloConfigDB配置](zh/deployment/distributed-deployment-guide?id=_32-调整apolloconfigdb配置),[2.2.1.1.2 配置数据库连接信息](zh/deployment/distributed-deployment-guide?id=_22112-配置数据库连接信息)
@@ -179,7 +179,7 @@ http://1.1.1.1:8761/eureka/,http://2.2.2.2:8761/eureka/
### 9. Spring Boot中使用`ConditionalOnProperty`读取不到配置
-`@ConditionalOnProperty`功能从0.10.0版本开始支持,具体可以参考 [Spring Boot集成方式](zh/usage/java-sdk-user-guide?id=_3213-spring-boot集成方式(推荐))
+`@ConditionalOnProperty`功能从0.10.0版本开始支持,具体可以参考 [Spring Boot集成方式](zh/client/java-sdk-user-guide?id=_3213-spring-boot集成方式(推荐))
### 10. 多机房如何实现A机房的客户端就近读取A机房的config service,B机房的客户端就近读取B机房的config service?
diff --git a/docs/zh/faq/faq.md b/docs/zh/faq/faq.md
index 7af148a13f5..df1e0e51207 100644
--- a/docs/zh/faq/faq.md
+++ b/docs/zh/faq/faq.md
@@ -11,13 +11,13 @@ Apollo(阿波罗)是一款可靠的分布式配置管理中心,诞生于
请参考[Apollo核心概念之“Namespace”](zh/design/apollo-core-concept-namespace)
## 4. 我想要接入Apollo,该如何操作?
-请参考[Apollo使用指南](zh/usage/apollo-user-guide)
+请参考[Apollo使用指南](zh/portal/apollo-user-guide)
## 5. 我的应用需要不同机房的配置不一样,Apollo是否能支持?
-Apollo是支持的。请参考[Apollo使用指南](zh/usage/apollo-user-guide)中的`三、集群独立配置说明`
+Apollo是支持的。请参考[Apollo使用指南](zh/portal/apollo-user-guide)中的`三、集群独立配置说明`
## 6. 我有多个应用需要使用同一份配置,Apollo是否能支持?
-Apollo是支持的。请参考[Apollo使用指南](zh/usage/apollo-user-guide)中的`四、多个AppId使用同一份配置`
+Apollo是支持的。请参考[Apollo使用指南](zh/portal/apollo-user-guide)中的`四、多个AppId使用同一份配置`
## 7. Apollo是否支持查看权限控制或者配置加密?
从1.1.0版本开始,apollo-portal增加了查看权限的支持,可以支持配置某个环境只允许项目成员查看私有Namespace的配置。
diff --git a/docs/zh/usage/apollo-open-api-platform.md b/docs/zh/portal/apollo-open-api-platform.md
similarity index 100%
rename from docs/zh/usage/apollo-open-api-platform.md
rename to docs/zh/portal/apollo-open-api-platform.md
diff --git a/docs/zh/usage/apollo-user-guide.md b/docs/zh/portal/apollo-user-guide.md
similarity index 98%
rename from docs/zh/usage/apollo-user-guide.md
rename to docs/zh/portal/apollo-user-guide.md
index 1a92bf2794a..28ec5cc0fbc 100644
--- a/docs/zh/usage/apollo-user-guide.md
+++ b/docs/zh/portal/apollo-user-guide.md
@@ -111,9 +111,9 @@ Apollo除了支持表格模式,逐个添加、修改配置外,还提供文
## 1.5 应用读取配置
配置发布成功后,应用就可以通过Apollo客户端读取到配置了。
-Apollo目前提供Java客户端,具体信息请点击[Java客户端使用文档](zh/usage/java-sdk-user-guide):
+Apollo目前提供Java客户端,具体信息请点击[Java客户端使用文档](zh/client/java-sdk-user-guide):
-如果应用使用了其它语言,也可以通过直接访问Http接口获取配置,具体可以参考[其它语言客户端接入指南](zh/usage/other-language-client-user-guide)
+如果应用使用了其它语言,也可以通过直接访问Http接口获取配置,具体可以参考[其它语言客户端接入指南](zh/client/other-language-client-user-guide)
## 1.6 回滚已发布配置
@@ -203,9 +203,9 @@ Apollo中的回滚也是类似的机制,点击回滚后是将发布到客户
配置发布成功后,应用就可以通过Apollo客户端读取到配置了。
-Apollo目前提供Java客户端,具体信息请点击[Java客户端使用文档](zh/usage/java-sdk-user-guide):
+Apollo目前提供Java客户端,具体信息请点击[Java客户端使用文档](zh/client/java-sdk-user-guide):
-如果应用使用了其它语言,也可以通过直接访问Http接口获取配置,具体可以参考[其它语言客户端接入指南](zh/usage/other-language-client-user-guide)
+如果应用使用了其它语言,也可以通过直接访问Http接口获取配置,具体可以参考[其它语言客户端接入指南](zh/client/other-language-client-user-guide)
对于公共组件的配置读取,可以参考上述文档中的“获取公共Namespace的配置”部分。
@@ -367,7 +367,7 @@ Apollo目前提供Java客户端,具体信息请点击[Java客户端使用文
上述规则配置后,灰度配置会对AppId为`100004458`,IP为`10.32.21.22`或者`Label`标记为`myLabel`或`appLabel`的实例生效。
-> 关于`Label`如何标记,可以参考[ApolloLabel](zh/usage/java-sdk-user-guide?id=_1247-apollolabel)的配置说明。
+> 关于`Label`如何标记,可以参考[ApolloLabel](zh/client/java-sdk-user-guide?id=_1247-apollolabel)的配置说明。
如果下拉框中没找到需要的IP,说明机器还没从Apollo取过配置,可以点击手动输入IP来输入,输入完后点击添加按钮
@@ -453,7 +453,7 @@ Apollo从1.6.0版本开始增加访问密钥机制,从而只有经过身份验
2. 为项目的每个环境生成访问密钥,注意默认是禁用的,建议在客户端都配置完成后再开启
![密钥配置页面](https://user-images.githubusercontent.com/837658/94990150-788dba00-05ac-11eb-9a12-727fdb872e42.png)
-3. 客户端侧[配置访问密钥](zh/usage/java-sdk-user-guide#_1244-配置访问密钥)
+3. 客户端侧[配置访问密钥](zh/client/java-sdk-user-guide#_1244-配置访问密钥)
# 七、最佳实践
@@ -463,7 +463,7 @@ Apollo从1.6.0版本开始增加访问密钥机制,从而只有经过身份验
### 7.1.1 认证
-建议接入公司统一的身份认证系统,如 SSO、LDAP 等,接入方式可以参考[Portal 实现用户登录功能](zh/development/portal-how-to-implement-user-login-function)
+建议接入公司统一的身份认证系统,如 SSO、LDAP 等,接入方式可以参考[Portal 实现用户登录功能](zh/extension/portal-how-to-implement-user-login-function)
> 如果使用Apollo提供的Spring Security简单认证,务必记得要修改超级管理员apollo的密码
diff --git a/docs/zh/usage/apollo-user-practices.md b/docs/zh/portal/apollo-user-practices.md
similarity index 100%
rename from docs/zh/usage/apollo-user-practices.md
rename to docs/zh/portal/apollo-user-practices.md
diff --git a/docs/zh/usage/third-party-sdks-user-guide.md b/docs/zh/usage/third-party-sdks-user-guide.md
deleted file mode 100644
index 6505a53108f..00000000000
--- a/docs/zh/usage/third-party-sdks-user-guide.md
+++ /dev/null
@@ -1,134 +0,0 @@
-## 1. Go
-### Apollo Go 客户端 1
-项目地址:[apolloconfig/agollo](https://github.com/apolloconfig/agollo)
-
-> 非常感谢[@zouyx](https://github.com/zouyx)提供Go Apollo客户端的支持
-
-### Apollo Go 客户端 2
-项目地址:[philchia/agollo](https://github.com/philchia/agollo)
-
-> 非常感谢[@philchia](https://github.com/philchia)提供Go Apollo客户端的支持
-
-### Apollo Go 客户端 3
-项目地址:[shima-park/agollo](https://github.com/shima-park/agollo)
-
-> 非常感谢[@shima-park](https://github.com/shima-park)提供Go Apollo客户端的支持
-
-### Apollo Go 客户端 4
-项目地址:[go-microservices/php_conf_agent](https://github.com/go-microservices/php_conf_agent)
-
-> 非常感谢[@GanymedeNil](https://github.com/GanymedeNil)提供Go Apollo客户端的支持
-
-### Apollo Go 客户端 5
-项目地址:[hyperjiang/lunar](https://github.com/hyperjiang/lunar)
-
-> 非常感谢[@hyperjiang](https://github.com/hyperjiang)提供Go Apollo客户端的支持
-
-### Apollo Go 客户端 6
-项目地址:[tagconfig/tagconfig](https://github.com/tagconfig/tagconfig)
-
-> 非常感谢[@n0trace](https://github.com/n0trace)提供Go Apollo客户端的支持
-
-### Apollo Go 客户端 7
-项目地址:[go-chassis/go-archaius](https://github.com/go-chassis/go-archaius/tree/master/examples/apollo)
-
-> 非常感谢[@tianxiaoliang](https://github.com/tianxiaoliang) 和 [@Shonminh](https://github.com/Shonminh)提供Go Apollo客户端的支持
-
-### Apollo Go 客户端 8
-项目地址:[xhrg-product/apollo-client-golang](https://github.com/xhrg-product/apollo-client-golang)
-
-> 非常感谢[@xhrg](https://github.com/xhrg)提供Go Apollo客户端的支持
-
-### Apollo Go 客户端 9
-项目地址:[xnzone/apollo-go](https://github.com/xnzone/apollo-go)
-
-> 非常感谢[@xnzone](https://github.com/xnzone)提供Go Apollo客户端的支持
-
-## 2. Python
-
-### Apollo Python 客户端 1
-项目地址:[pyapollo](https://github.com/filamoon/pyapollo)
-
-> 非常感谢[@filamoon](https://github.com/filamoon)提供Python Apollo客户端的支持
-
-### Apollo Python 客户端 2
-项目地址:[BruceWW-pyapollo](https://github.com/BruceWW/pyapollo)
-
-> 非常感谢[@BruceWW](https://github.com/BruceWW)提供Python Apollo客户端的支持
-
-### Apollo Python 客户端 3
-项目地址:[xhrg-product/apollo-client-python](https://github.com/xhrg-product/apollo-client-python)
-
-> 非常感谢[@xhrg-product](https://github.com/xhrg-product)提供Python Apollo客户端的支持
-
-## 3. NodeJS
-
-### Apollo NodeJS 客户端 1
-项目地址:[node-apollo](https://github.com/Quinton/node-apollo)
-
-> 非常感谢[@Quinton](https://github.com/Quinton)提供NodeJS Apollo客户端的支持
-
-### Apollo NodeJS 客户端 2
-项目地址:[ctrip-apollo](https://github.com/kaelzhang/ctrip-apollo)
-
-> 非常感谢[@kaelzhang](https://github.com/kaelzhang)提供NodeJS Apollo客户端的支持
-
-### Apollo NodeJS 客户端 3
-项目地址:[node-apollo-client](https://github.com/shinux/node-apollo-client)
-
-> 非常感谢[@shinux](https://github.com/shinux)提供NodeJS Apollo客户端的支持
-
-### Apollo NodeJS 客户端 4
-项目地址:[ctrip-apollo-client](https://github.com/lvgithub/ctrip-apollo-client)
-
-> 非常感谢[@lvgithub](https://github.com/lvgithub)提供NodeJS Apollo客户端的支持
-
-### Apollo NodeJS 客户端 5
-项目地址:[apollo-node](https://github.com/lengyuxuan/apollo-node)
-
-> 非常感谢[@lengyuxuan](https://github.com/lengyuxuan)提供NodeJS Apollo客户端的支持
-
-### Apollo NodeJS 客户端 6
-项目地址:[egg-apollo-client](https://github.com/xuezier/egg-apollo-client)
-
-> 非常感谢[@xuezier](https://github.com/xuezier)提供NodeJS Apollo客户端的支持
-
-### Apollo NodeJS 客户端 7
-
-项目地址:[apollo-node-client](https://github.com/zhangxh1023/apollo-node-client)
-
-> 非常感谢[@zhangxh1023](https://github.com/zhangxh1023)提供NodeJS Apollo客户端的支持
-
-### Apollo NodeJS 客户端 8
-
-项目地址:[@vodyani/apollo-client](https://github.com/vodyani/apollo-client)
-
-> 非常感谢[@ChoGathK](https://github.com/ChoGathK)提供NodeJS Apollo客户端的支持
-
-## 4. PHP
-
-### Apollo PHP 客户端 1
-项目地址:[apollo-php-client](https://github.com/multilinguals/apollo-php-client)
-
-> 非常感谢[@t04041143](https://github.com/t04041143)提供PHP Apollo客户端的支持
-
-### Apollo PHP 客户端 2
-项目地址:[apollo-sdk-config](https://github.com/fengzhibin/apollo-sdk-config)
-
-项目地址:[apollo-sdk-clientd](https://github.com/fengzhibin/apollo-sdk-clientd)
-
-> 非常感谢[@fengzhibin](https://github.com/fengzhibin)提供PHP Apollo客户端的支持
-
-## 5. C
-
-### Apollo C 客户端
-项目地址:[apollo-c-client](https://github.com/lzeqian/apollo)
-
-> 非常感谢[@lzeqian](https://github.com/lzeqian)提供C Apollo客户端的支持
-
-## 6. Rust
-
-### Apollo Rust 客户端
-项目地址:[apollo-rust-sdk](https://github.com/liushv0/apollo-rust-sdk)
-
-> 非常感谢[@liushv0](https://github.com/liushv0)提供Rust Apollo客户端的支持
diff --git a/scripts/openapi/bash/openapi-usage-example.sh b/scripts/openapi/bash/openapi-usage-example.sh
index 620b5491331..94fd78331ea 100644
--- a/scripts/openapi/bash/openapi-usage-example.sh
+++ b/scripts/openapi/bash/openapi-usage-example.sh
@@ -19,8 +19,8 @@
# description show how to use openapi.sh
# author wxq
# date 2021-09-12
-# Chinese reference website https://www.apolloconfig.com/#/zh/usage/apollo-open-api-platform
-# English reference website https://www.apolloconfig.com/#/en/usage/apollo-open-api-platform
+# Chinese reference website https://www.apolloconfig.com/#/zh/portal/apollo-open-api-platform
+# English reference website https://www.apolloconfig.com/#/en/portal/apollo-open-api-platform
# export global varialbes
export APOLLO_PORTAL_ADDRESS=http://106.54.227.205
diff --git a/scripts/openapi/bash/openapi.sh b/scripts/openapi/bash/openapi.sh
index 2b55412c3d2..0d6291b3446 100644
--- a/scripts/openapi/bash/openapi.sh
+++ b/scripts/openapi/bash/openapi.sh
@@ -19,8 +19,8 @@
# description functions to call openapi through http
# author wxq
# date 2021-09-12
-# Chinese reference website https://www.apolloconfig.com/#/zh/usage/apollo-open-api-platform
-# English reference website https://www.apolloconfig.com/#/en/usage/apollo-open-api-platform
+# Chinese reference website https://www.apolloconfig.com/#/zh/portal/apollo-open-api-platform
+# English reference website https://www.apolloconfig.com/#/en/portal/apollo-open-api-platform
####################################### Global variables #######################################
# portal's address, just support 1 address without suffix '/'