diff --git a/docs/book/v4/transition-from-api-tools/api-tools-vs-dotkernel-api.md b/docs/book/v4/transition-from-api-tools/api-tools-vs-dotkernel-api.md index baf4064d..5b14319c 100644 --- a/docs/book/v4/transition-from-api-tools/api-tools-vs-dotkernel-api.md +++ b/docs/book/v4/transition-from-api-tools/api-tools-vs-dotkernel-api.md @@ -1,26 +1,24 @@ # Laminas API Tools compared to Dotkernel API -| | API Tools (formerly Apigility) | Dotkernel API | -|---------------------|------------------------------------------------|---------------------------------------------------------------------------------------| -| URL | [api-tools](https://api-tools.getlaminas.org/) | [Dotkernel API](https://www.dotkernel.org) | -| First Release | 2012 | 2018 | -| PHP Version | <= 8.2 | >= 8.1 | -| Architecture | MVC, Event Driven | Middleware | -| OSS Lifecycle | Archived | ![OSS Lifecycle](https://img.shields.io/osslifecycle/dotkernel/api?style=flat&label=) | -| Style | REST, RPC | REST | -| Versioning | Yes | Deprecations * | -| Documentation | Swagger (Automated) | Postman (Manual) * | -| Content-Negotiation | Custom | Custom | -| License | BSD-3 | MIT | -| Default DB Layer | laminas-db | doctrine-orm | -| Authorization | ACL | RBAC-guard | -| Authentication | HTTP Basic/Digest OAuth2.0 | OAuth2.0 | -| CI/CD | Yes | Yes | -| Unit Tests | Yes | Yes | -| Endpoint Generator | Yes | Under development | -| PSR | PSR-7 | PSR-7, PSR-15 | +| | API Tools (formerly Apigility) | Dotkernel API | +|---------------------|------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------| +| URL | [api-tools](https://api-tools.getlaminas.org/) | [Dotkernel API](https://www.dotkernel.org) | +| First Release | 2012 | 2018 | +| PHP Version | <= 8.2 | >= 8.2 | +| Architecture | MVC, Event Driven | Middleware | +| OSS Lifecycle | Archived | ![OSS Lifecycle](https://img.shields.io/osslifecycle?style=flat&label=&file_url=https%3A%2F%2Fgithub.com%2Fdotkernel%2Fapi%2Fblob%2F4.0%2FOSSMETADATA) | +| Style | REST, RPC | REST | +| Versioning | Yes | Deprecations * | +| Documentation | Swagger (Automated) | Postman (Manual) * | +| Content-Negotiation | Custom | Custom | +| License | BSD-3 | MIT | +| Default DB Layer | laminas-db | doctrine-orm | +| Authorization | ACL | RBAC-guard | +| Authentication | HTTP Basic/Digest OAuth2.0 | OAuth2.0 | +| CI/CD | Yes | Yes | +| Unit Tests | Yes | Yes | +| Endpoint Generator | Yes | Under development | +| PSR | PSR-7 | PSR-7, PSR-15 | -## Note - -> * Versioning is replaced by Deprecations, using evolution strategy -> * Version 5 ([Roadmap](https://github.com/orgs/dotkernel/projects/15/views/1)) will implement OpenAPi 3.0 +> \* Versioning will be replaced by Deprecations, using evolution strategy +> \* Version 5 will implement OpenAPI 3.0 diff --git a/docs/book/v4/transition-from-api-tools/discovery-phase.md b/docs/book/v4/transition-from-api-tools/discovery-phase.md deleted file mode 100644 index 6a9aa0f4..00000000 --- a/docs/book/v4/transition-from-api-tools/discovery-phase.md +++ /dev/null @@ -1,40 +0,0 @@ -# Discovery phase for a current system built using API Tools [WIP] - -In order to transition a system built using api-tools to Dotkernel API , we need to analyze the core components -of it. - -## Database - -- there is a database in the current API ? -- which is the connection to database -- which library is used for database interaction ( laminas-db, doctrine 2, eloquent, or else ) - -### Note - -> Dotkernel API is tested only with MariaDB version 10.6 and 10.11 LTS - -## Authentication and Authorization - -- how authentication is done ? (basic, digest, oauth2, etc.) -- how authorization is done ? (acl, rbac) - -## Modules - -- analyze configuration files of the modules (what needs to be configured in order to use a module) -- analyze routes (which are the routes, protection rules, which one need auth, etc.) -- analyze response format (content negotiation and validation, which ones are json, hal, views, etc.) -- analyze input field validations - -## Custom functionalities - -Analyze the custom code (code that cannot be generated through Admin UI and require manual implementation) - -For instance: - -- caching -- events -- services -- extra installed packages and libraries -- jobs and queues -- third-parties -- tests diff --git a/docs/book/v4/transition-from-api-tools/transition-approach.md b/docs/book/v4/transition-from-api-tools/transition-approach.md deleted file mode 100644 index a55fb0a9..00000000 --- a/docs/book/v4/transition-from-api-tools/transition-approach.md +++ /dev/null @@ -1,21 +0,0 @@ -# Transition approach [WIP] - -Dotkernel API is not a one-to-one replacement of api-tools ( former Apigility), but is only a potential solution to -migrate to. - -Functionalities, components and architecture are different. - -See -the [Comparison between Dotkernel APi and api-tools](https://docs.dotkernel.org/api-documentation/v4/transition-from-api-tools/api-tools-vs-dotkernel-api/) - -## Business cases - -There are at least 2 approaches for this transition: - -### Clone 1:1 - -and recreate all endpoints and entities - -### Build a new version of the current API using Dotkernel API - -and keep it running as separate platforms until the sunset of the current version of api-tools diff --git a/docs/book/v5/transition-from-api-tools/api-tools-vs-dotkernel-api.md b/docs/book/v5/transition-from-api-tools/api-tools-vs-dotkernel-api.md index 74e448b0..a41474ba 100644 --- a/docs/book/v5/transition-from-api-tools/api-tools-vs-dotkernel-api.md +++ b/docs/book/v5/transition-from-api-tools/api-tools-vs-dotkernel-api.md @@ -1,26 +1,24 @@ # Laminas API Tools compared to Dotkernel API -| | API Tools (formerly Apigility) | Dotkernel API | -|---------------------|------------------------------------------------|---------------------------------------------------------------------------------------| -| URL | [api-tools](https://api-tools.getlaminas.org/) | [Dotkernel API](https://www.dotkernel.org) | -| First Release | 2012 | 2018 | -| PHP Version | <= 8.2 | >= 8.1 | -| Architecture | MVC, Event Driven | Middleware | -| OSS Lifecycle | Archived | ![OSS Lifecycle](https://img.shields.io/osslifecycle/dotkernel/api?style=flat&label=) | -| Style | REST, RPC | REST | -| Versioning | Yes | [Deprecations *](https://docs.dotkernel.org/api-documentation/v5/tutorials/api-evolution/)| -| Documentation | Swagger (Automated) | Postman (Manual) * | -| Content-Negotiation | Custom | Custom | -| License | BSD-3 | MIT | -| Default DB Layer | laminas-db | doctrine-orm | -| Authorization | ACL | RBAC-guard | -| Authentication | HTTP Basic/Digest OAuth2.0 | OAuth2.0 | -| CI/CD | Yes | Yes | -| Unit Tests | Yes | Yes | -| Endpoint Generator | Yes | Under development | -| PSR | PSR-7 | PSR-7, PSR-15 | +| | API Tools (formerly Apigility) | Dotkernel API | +|---------------------|------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------| +| URL | [api-tools](https://api-tools.getlaminas.org/) | [Dotkernel API](https://www.dotkernel.org) | +| First Release | 2012 | 2018 | +| PHP Version | <= 8.2 | >= 8.2 | +| Architecture | MVC, Event Driven | Middleware | +| OSS Lifecycle | Archived | ![OSS Lifecycle](https://img.shields.io/osslifecycle?style=flat&label=&file_url=https%3A%2F%2Fgithub.com%2Fdotkernel%2Fapi%2Fblob%2F5.0%2FOSSMETADATA) | +| Style | REST, RPC | REST | +| Versioning | Yes | [Deprecations *](https://docs.dotkernel.org/api-documentation/v5/tutorials/api-evolution/) | +| Documentation | Swagger (Automated) | OpenAPI (Swagger) / Postman (Manual) * | +| Content-Negotiation | Custom | Custom | +| License | BSD-3 | MIT | +| Default DB Layer | laminas-db | doctrine-orm | +| Authorization | ACL | RBAC-guard | +| Authentication | HTTP Basic/Digest OAuth2.0 | OAuth2.0 | +| CI/CD | Yes | Yes | +| Unit Tests | Yes | Yes | +| Endpoint Generator | Yes | Under development | +| PSR | PSR-7 | PSR-7, PSR-15 | -## Note - -> * Versioning is replaced by Deprecations, using evolution strategy -> * Version 5 ([Roadmap](https://github.com/orgs/dotkernel/projects/15/views/1)) will implement OpenAPi 3.0 +> \* Versioning was replaced by Deprecations, using evolution strategy +> \* Version 5 implemented OpenAPI 3.0 diff --git a/docs/book/v5/transition-from-api-tools/discovery-phase.md b/docs/book/v5/transition-from-api-tools/discovery-phase.md deleted file mode 100644 index 6a9aa0f4..00000000 --- a/docs/book/v5/transition-from-api-tools/discovery-phase.md +++ /dev/null @@ -1,40 +0,0 @@ -# Discovery phase for a current system built using API Tools [WIP] - -In order to transition a system built using api-tools to Dotkernel API , we need to analyze the core components -of it. - -## Database - -- there is a database in the current API ? -- which is the connection to database -- which library is used for database interaction ( laminas-db, doctrine 2, eloquent, or else ) - -### Note - -> Dotkernel API is tested only with MariaDB version 10.6 and 10.11 LTS - -## Authentication and Authorization - -- how authentication is done ? (basic, digest, oauth2, etc.) -- how authorization is done ? (acl, rbac) - -## Modules - -- analyze configuration files of the modules (what needs to be configured in order to use a module) -- analyze routes (which are the routes, protection rules, which one need auth, etc.) -- analyze response format (content negotiation and validation, which ones are json, hal, views, etc.) -- analyze input field validations - -## Custom functionalities - -Analyze the custom code (code that cannot be generated through Admin UI and require manual implementation) - -For instance: - -- caching -- events -- services -- extra installed packages and libraries -- jobs and queues -- third-parties -- tests diff --git a/docs/book/v5/transition-from-api-tools/transition-approach.md b/docs/book/v5/transition-from-api-tools/transition-approach.md deleted file mode 100644 index a55fb0a9..00000000 --- a/docs/book/v5/transition-from-api-tools/transition-approach.md +++ /dev/null @@ -1,21 +0,0 @@ -# Transition approach [WIP] - -Dotkernel API is not a one-to-one replacement of api-tools ( former Apigility), but is only a potential solution to -migrate to. - -Functionalities, components and architecture are different. - -See -the [Comparison between Dotkernel APi and api-tools](https://docs.dotkernel.org/api-documentation/v4/transition-from-api-tools/api-tools-vs-dotkernel-api/) - -## Business cases - -There are at least 2 approaches for this transition: - -### Clone 1:1 - -and recreate all endpoints and entities - -### Build a new version of the current API using Dotkernel API - -and keep it running as separate platforms until the sunset of the current version of api-tools diff --git a/docs/book/v5/tutorials/api-evolution.md b/docs/book/v5/tutorials/api-evolution.md index 2fd0c00c..5bff606d 100644 --- a/docs/book/v5/tutorials/api-evolution.md +++ b/docs/book/v5/tutorials/api-evolution.md @@ -23,7 +23,7 @@ When you want to mark an entire resource as deprecated you have to use the `Reso ... #[ResourceDeprecation( sunset: '2038-01-01', - link: 'https://docs.dotkernel.org/api-documentation/v5/core-features/versioning', + link: 'https://docs.dotkernel.org/api-documentation/v5/tutorials/api-evolution/', deprecationReason: 'Resource deprecation example.', rel: 'sunset', type: 'text/html' @@ -50,7 +50,7 @@ X-Powered-By: PHP/6.4.20 Content-Type: application/json Permissions-Policy: interest-cohort=() Sunset: 2038-01-01 -Link: https://docs.dotkernel.org/api-documentation/v5/core-features/versioning;rel="sunset";type="text/html" +Link: https://docs.dotkernel.org/api-documentation/v5/tutorials/api-evolution/;rel="sunset";type="text/html" Vary: Origin ``` @@ -67,7 +67,7 @@ class HomeHandler implements RequestHandlerInterface #[MethodDeprecation( sunset: '2038-01-01', - link: 'https://docs.dotkernel.org/api-documentation/v5/core-features/versioning', + link: 'https://docs.dotkernel.org/api-documentation/v5/tutorials/api-evolution/', deprecationReason: 'Method deprecation example.', rel: 'sunset', type: 'text/html' @@ -98,7 +98,7 @@ X-Powered-By: PHP/6.4.20 Content-Type: application/json Permissions-Policy: interest-cohort=() Sunset: 2038-01-01 -Link: https://docs.dotkernel.org/api-documentation/v5/core-features/versioning;rel="sunset";type="text/html" +Link: https://docs.dotkernel.org/api-documentation/v5/tutorials/api-evolution/;rel="sunset";type="text/html" Vary: Origin ``` diff --git a/docs/book/v6/extended-features/problem-details.md b/docs/book/v6/extended-features/problem-details.md index 6d19d96a..97a55170 100644 --- a/docs/book/v6/extended-features/problem-details.md +++ b/docs/book/v6/extended-features/problem-details.md @@ -7,7 +7,7 @@ Example of a response with details: ```json { "title": "Unauthorized", - "type": "https://docs.dotkernel.org/api-documentation/v5/core-features/error-reporting/", + "type": "https://docs.dotkernel.org/api-documentation/v6/core-features/error-reporting/", "status": 401, "detail": "You are not allowed to report errors." } diff --git a/docs/book/v6/transition-from-api-tools/api-tools-vs-dotkernel-api.md b/docs/book/v6/transition-from-api-tools/api-tools-vs-dotkernel-api.md index 74e448b0..6e60da18 100644 --- a/docs/book/v6/transition-from-api-tools/api-tools-vs-dotkernel-api.md +++ b/docs/book/v6/transition-from-api-tools/api-tools-vs-dotkernel-api.md @@ -1,26 +1,21 @@ # Laminas API Tools compared to Dotkernel API -| | API Tools (formerly Apigility) | Dotkernel API | -|---------------------|------------------------------------------------|---------------------------------------------------------------------------------------| -| URL | [api-tools](https://api-tools.getlaminas.org/) | [Dotkernel API](https://www.dotkernel.org) | -| First Release | 2012 | 2018 | -| PHP Version | <= 8.2 | >= 8.1 | -| Architecture | MVC, Event Driven | Middleware | -| OSS Lifecycle | Archived | ![OSS Lifecycle](https://img.shields.io/osslifecycle/dotkernel/api?style=flat&label=) | -| Style | REST, RPC | REST | -| Versioning | Yes | [Deprecations *](https://docs.dotkernel.org/api-documentation/v5/tutorials/api-evolution/)| -| Documentation | Swagger (Automated) | Postman (Manual) * | -| Content-Negotiation | Custom | Custom | -| License | BSD-3 | MIT | -| Default DB Layer | laminas-db | doctrine-orm | -| Authorization | ACL | RBAC-guard | -| Authentication | HTTP Basic/Digest OAuth2.0 | OAuth2.0 | -| CI/CD | Yes | Yes | -| Unit Tests | Yes | Yes | -| Endpoint Generator | Yes | Under development | -| PSR | PSR-7 | PSR-7, PSR-15 | - -## Note - -> * Versioning is replaced by Deprecations, using evolution strategy -> * Version 5 ([Roadmap](https://github.com/orgs/dotkernel/projects/15/views/1)) will implement OpenAPi 3.0 +| | API Tools (formerly Apigility) | Dotkernel API | +|---------------------|------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------| +| URL | [api-tools](https://api-tools.getlaminas.org/) | [Dotkernel API](https://www.dotkernel.org) | +| First Release | 2012 | 2018 | +| PHP Version | <= 8.2 | >= 8.2 | +| Architecture | MVC, Event Driven | Middleware | +| OSS Lifecycle | Archived | ![OSS Lifecycle](https://img.shields.io/osslifecycle?style=flat&label=&file_url=https%3A%2F%2Fgithub.com%2Fdotkernel%2Fapi%2Fblob%2F6.0%2FOSSMETADATA) | +| Style | REST, RPC | REST | +| Versioning | Yes | [Deprecations](https://docs.dotkernel.org/api-documentation/v6/tutorials/api-evolution/) | +| Documentation | Swagger (Automated) | OpenAPI (Swagger) / Postman (Manual) | +| Content-Negotiation | Custom | Custom | +| License | BSD-3 | MIT | +| Default DB Layer | laminas-db | doctrine-orm | +| Authorization | ACL | RBAC-guard | +| Authentication | HTTP Basic/Digest OAuth2.0 | OAuth2.0 | +| CI/CD | Yes | Yes | +| Unit Tests | Yes | Yes | +| Endpoint Generator | Yes | Under development | +| PSR | PSR-7 | PSR-7, PSR-15 | diff --git a/docs/book/v6/transition-from-api-tools/discovery-phase.md b/docs/book/v6/transition-from-api-tools/discovery-phase.md index 6a9aa0f4..0d03ae89 100644 --- a/docs/book/v6/transition-from-api-tools/discovery-phase.md +++ b/docs/book/v6/transition-from-api-tools/discovery-phase.md @@ -1,33 +1,30 @@ # Discovery phase for a current system built using API Tools [WIP] -In order to transition a system built using api-tools to Dotkernel API , we need to analyze the core components -of it. +To transition a system built using api-tools to Dotkernel API, we need to analyze the core components of it. ## Database -- there is a database in the current API ? -- which is the connection to database -- which library is used for database interaction ( laminas-db, doctrine 2, eloquent, or else ) +- is there a database in the current API? +- which is the connection to a database +- which library is used for database interaction (laminas-db, doctrine 2, eloquent, or else)? -### Note - -> Dotkernel API is tested only with MariaDB version 10.6 and 10.11 LTS +> Dotkernel API is tested only with MariaDB version 10.6, 10.11 LTS, 11.4 LTS, and 11.8 LTS ## Authentication and Authorization -- how authentication is done ? (basic, digest, oauth2, etc.) -- how authorization is done ? (acl, rbac) +- how is authentication done? (basic, digest, oauth2, etc.) +- how is authorization done? (acl, rbac) ## Modules -- analyze configuration files of the modules (what needs to be configured in order to use a module) -- analyze routes (which are the routes, protection rules, which one need auth, etc.) -- analyze response format (content negotiation and validation, which ones are json, hal, views, etc.) +- analyze configuration files of the modules (what needs to be configured to use a module) +- analyze routes (which are the routes, protection rules, which one needs auth, etc.) +- analyze a response format (content negotiation and validation, which ones are JSON, hal, views, etc.) - analyze input field validations ## Custom functionalities -Analyze the custom code (code that cannot be generated through Admin UI and require manual implementation) +Analyze the custom code (code that cannot be generated through Admin UI and requires manual implementation) For instance: diff --git a/docs/book/v6/transition-from-api-tools/transition-approach.md b/docs/book/v6/transition-from-api-tools/transition-approach.md index a55fb0a9..f93842a0 100644 --- a/docs/book/v6/transition-from-api-tools/transition-approach.md +++ b/docs/book/v6/transition-from-api-tools/transition-approach.md @@ -1,21 +1,14 @@ # Transition approach [WIP] -Dotkernel API is not a one-to-one replacement of api-tools ( former Apigility), but is only a potential solution to -migrate to. +Dotkernel API is not a one-to-one replacement of api-tools (former Apigility), but is only a potential solution to migrate to. Functionalities, components and architecture are different. -See -the [Comparison between Dotkernel APi and api-tools](https://docs.dotkernel.org/api-documentation/v4/transition-from-api-tools/api-tools-vs-dotkernel-api/) +See the [Comparison between Dotkernel APi and api-tools](https://docs.dotkernel.org/api-documentation/v4/transition-from-api-tools/api-tools-vs-dotkernel-api/). ## Business cases -There are at least 2 approaches for this transition: +There are at least two approaches for this transition: -### Clone 1:1 - -and recreate all endpoints and entities - -### Build a new version of the current API using Dotkernel API - -and keep it running as separate platforms until the sunset of the current version of api-tools +- Clone 1:1 and recreate all endpoints and entities +- Build a new version of the current API using Dotkernel API and keep it running as separate platforms until the sunset of the current version of api-tools diff --git a/docs/book/v6/tutorials/api-evolution.md b/docs/book/v6/tutorials/api-evolution.md index 2fd0c00c..5247da2b 100644 --- a/docs/book/v6/tutorials/api-evolution.md +++ b/docs/book/v6/tutorials/api-evolution.md @@ -23,7 +23,7 @@ When you want to mark an entire resource as deprecated you have to use the `Reso ... #[ResourceDeprecation( sunset: '2038-01-01', - link: 'https://docs.dotkernel.org/api-documentation/v5/core-features/versioning', + link: 'https://docs.dotkernel.org/api-documentation/v6/tutorials/api-evolution/', deprecationReason: 'Resource deprecation example.', rel: 'sunset', type: 'text/html' @@ -50,7 +50,7 @@ X-Powered-By: PHP/6.4.20 Content-Type: application/json Permissions-Policy: interest-cohort=() Sunset: 2038-01-01 -Link: https://docs.dotkernel.org/api-documentation/v5/core-features/versioning;rel="sunset";type="text/html" +Link: https://docs.dotkernel.org/api-documentation/v6/tutorials/api-evolution/;rel="sunset";type="text/html" Vary: Origin ``` @@ -67,7 +67,7 @@ class HomeHandler implements RequestHandlerInterface #[MethodDeprecation( sunset: '2038-01-01', - link: 'https://docs.dotkernel.org/api-documentation/v5/core-features/versioning', + link: 'https://docs.dotkernel.org/api-documentation/v6/tutorials/api-evolution/', deprecationReason: 'Method deprecation example.', rel: 'sunset', type: 'text/html' @@ -98,7 +98,7 @@ X-Powered-By: PHP/6.4.20 Content-Type: application/json Permissions-Policy: interest-cohort=() Sunset: 2038-01-01 -Link: https://docs.dotkernel.org/api-documentation/v5/core-features/versioning;rel="sunset";type="text/html" +Link: https://docs.dotkernel.org/api-documentation/v6/tutorials/api-evolution/;rel="sunset";type="text/html" Vary: Origin ``` diff --git a/mkdocs.yml b/mkdocs.yml index 39f73546..c7124f96 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -114,8 +114,6 @@ nav: - "Find user by identity": v5/tutorials/find-user-by-identity.md - Transition from API Tools: - "Laminas API Tools vs Dotkernel API": v5/transition-from-api-tools/api-tools-vs-dotkernel-api.md - - "Transition Approach": v5/transition-from-api-tools/transition-approach.md - - "Discovery Phase": v5/transition-from-api-tools/discovery-phase.md - OpenAPI: - "Introduction": v5/openapi/introduction.md - "Initialized Components": v5/openapi/initialized-components.md @@ -159,8 +157,6 @@ nav: - "Token authentication": v4/tutorials/token-authentication.md - Transition from API Tools: - "Laminas API Tools vs Dotkernel API": v4/transition-from-api-tools/api-tools-vs-dotkernel-api.md - - "Transition Approach": v4/transition-from-api-tools/transition-approach.md - - "Discovery Phase": v4/transition-from-api-tools/discovery-phase.md site_name: api site_description: "Dotkernel API" repo_url: "https://github.com/dotkernel/api"