Skip to content

Commit 57285dd

Browse files
authored
"Public API" → "public PHP API": Doc 3.3 (#2169)
1 parent efa29cf commit 57285dd

12 files changed

+42
-42
lines changed

docs/api/field_type_api.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ On the top layer, the Field Type needs to provide conversion from and to a simpl
3535

3636
[[= include_file('docs/snippets/simple_hash_value_caution.md') =]]
3737

38-
Below that, the Field Type must support the **Public API** implementation regarding:
38+
Below that, the Field Type must support the **public PHP API** implementation regarding:
3939

4040
- Settings definition for `FieldDefinition`
4141
- Value creation and validation

docs/api/field_type_type_and_value.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ The Type class of a Field Type provides an implementation of the [`eZ\Publish\SP
2424

2525
A custom Field Type is used in a Field definition of a custom Content Type.
2626
You can additionally provide [settings for the Field Type](#field-type-settings) and a [validator configuration](field_type_validation.md).
27-
Since the Public API cannot know anything about these, their handling is delegated to the Field Type itself through the following methods:
27+
Since the public PHP API cannot know anything about these, their handling is delegated to the Field Type itself through the following methods:
2828

2929
#### `getFieldTypeIdentifier()`
3030

@@ -33,15 +33,15 @@ By convention it should be prefixed by a unique vendor shortcut (e.g. `ibexa` fo
3333

3434
#### `getSettingsSchema()`
3535

36-
This method retrieves via Public API a schema for the Field Type settings. A typical setting would be e.g. default value. The settings structure defined by this schema is stored in the `FieldDefinition`. Since it is not possible to define a generic format for such a schema, the Field Type is free to return any serializable data structure from this method.
36+
This method retrieves via public PHP API a schema for the Field Type settings. A typical setting would be e.g. default value. The settings structure defined by this schema is stored in the `FieldDefinition`. Since it is not possible to define a generic format for such a schema, the Field Type is free to return any serializable data structure from this method.
3737

3838
#### `getValidatorConfigurationSchema()`
3939

4040
In addition to normal settings, the Field Type should provide schema settings for its validation process. The schema describes what kind of validation can be performed by the Field Type and which settings the user can specify to these validation methods. For example, the `ezstring` type can validate minimum and maximum length of the string. It therefore provides a schema to indicate to the user that they might specify the corresponding restrictions, when creating a `FieldDefinition` with this type. The schema does not underlie any regulations, except for that it must be serializable.
4141

4242
#### `validateFieldSettings()`
4343

44-
The type is asked to validate the settings (provided by the user) before the Public API stores those settings for the Field Type in a `FieldDefinition`. As a result, the Field Type must return if the given settings comply to the schema defined by `getSettingsSchema()`.
44+
The type is asked to validate the settings (provided by the user) before the public PHP API stores those settings for the Field Type in a `FieldDefinition`. As a result, the Field Type must return if the given settings comply to the schema defined by `getSettingsSchema()`.
4545

4646
#### `validateValidatorConfiguration()`
4747

@@ -62,7 +62,7 @@ To generate Content item name or URL alias the Field Type name must be a part of
6262

6363
## Value handling
6464

65-
A Field Type needs to deal with the custom value format provided by it. In order for the public API to work properly, it delegates working with such custom Field values to the corresponding Field Type. The `ez\Publish\SPI\FieldType\FieldType` interface therefore provides the following methods:
65+
A Field Type needs to deal with the custom value format provided by it. In order for the public PHP API to work properly, it delegates working with such custom Field values to the corresponding Field Type. The `ez\Publish\SPI\FieldType\FieldType` interface therefore provides the following methods:
6666

6767
#### `acceptValue()`
6868

docs/api/public_php_api.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ while `Content` enables you to retrieve Fields, Content Type, or previous versio
6666

6767
!!! note
6868

69-
The Public API value objects should not be serialized.
69+
The public PHP API value objects should not be serialized.
7070

7171
Serialization of value objects, for example, `eZ\Publish\API\Repository\Values\Content\ContentInfo` / `eZ\Publish\API\Repository\Values\Content\VersionInfo`
7272
or `eZ\Publish\API\Repository\Values\Content\Location` results in memory limit exceeded error.

docs/guide/architecture.md

Lines changed: 21 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -7,29 +7,29 @@ description: Ibexa DXP architecture is structured in multiple layers connected b
77
[[= product_name =]] architecture is based on the philosophy to **use APIs** that will be maintained in the long term. This **makes upgrades easier and provides lossless couplings** between all parts of the architecture, at the same time improving the migration capabilities of the system.
88

99
The structure of an [[= product_name =]] app is based on the Symfony framework
10-
but content management functions rely on the Public API.
11-
Other applications integrate with [[= product_name =]] via REST API, which also relies on the Public API.
10+
but content management functions rely on the public PHP API.
11+
Other applications integrate with [[= product_name =]] via REST API, which also relies on the public PHP API.
1212

1313
![Architecture](img/architecture.png "Architecture")
1414

1515
The architecture of [[= product_name =]] is layered and uses clearly defined APIs between the layers.
1616

17-
|Layer|Description|
18-
|-----|-----------|
19-
|[Back Office](../extending/config_back_office.md)|Back Office contains all the necessary parts to run the [[= product_name =]] Back Office interface.|
20-
|[HTTP Cache](cache/http_cache.md))|Symfony HTTP cache is used to manage content "view" cache with an expiration model. In addition it is extended by using FOSHttpCache to add several advanced features.|
21-
|[Controllers](content_rendering/queries_and_controllers/controllers.md)|Controllers created by you to read information from a Request object, create and return a Response objects.|
22-
|[Twig templates](content_rendering/twig_function_reference/twig_functions_reference.md)|Set of custom and built-in Twig templates. User interfaces are developed with the Twig template engine and query the Public API directly.|
23-
|[REST API v2](../api/rest_api_usage.md)|The REST API v2 enables you to interact with an [[= product_name =]] installation using the HTTP protocol, following a REST interaction model.|
24-
|[GraphQL](../api/graphql.md)|GraphQL for [[= product_name =]] exposes the domain model using the Repository, based on Content Type groups, Content Types and Field definitions.|
25-
|[Public API](../api/public_php_api.md)|Public API exposes the Repository which enables you to create, read, update, manage and delete all objects available in [[= product_name =]].|
26-
|Business Logic|The business logic is defined in the kernel. This business logic is exposed to applications via an API. It is used to organize development of the user interface layer.|
27-
|[SPI](repository.md#spi)|Service Provider Interface which defines contracts for implementing various parts of the system, including persistence layer (`SPI\Persistence`), custom Field Types, custom Limitations, etc.|
28-
|[Persistence cache](persistence_cache.md)|The implementation of SPI\Persistence that decorates the main backend implementation.|
29-
|[Search](search/search.md)|Search API that allows both full-text search and querying the content.|
30-
|[SQL Storage Engine](search/search.md#legacy-search-engine)|Legacy search engine is SQL-based and uses Doctrine's database connection.|
31-
|[Solr Storage Engine](search/solr.md)|Transparent drop-in replacement for the SQL-based Legacy search engine.|
32-
|[IO](file_management/file_management.md#native-io-handler)|The IO API is organized around two types of handlers, both used by the IOService.|
33-
|[IO Handler](clustering.md#dfs-io-handler)|The IO Handler manipulates metadata, making up for the potential inconsistency of network-based filesystems.|
34-
|[Recommendation](personalization/recommendation_client.md#enabling-recommendations)|Recommendation API.|
35-
|[Recommendation Engine](personalization/recommendation_client.md#enabling-recommendations)|Recommendation Engine allows displaying recommendations on your website.|
17+
| Layer | Description |
18+
|--------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
19+
| [Back Office](../extending/config_back_office.md) | Back Office contains all the necessary parts to run the [[= product_name =]] Back Office interface. |
20+
| [HTTP Cache](cache/http_cache.md)) | Symfony HTTP cache is used to manage content "view" cache with an expiration model. In addition it is extended by using FOSHttpCache to add several advanced features. |
21+
| [Controllers](content_rendering/queries_and_controllers/controllers.md) | Controllers created by you to read information from a Request object, create and return a Response objects. |
22+
| [Twig templates](content_rendering/twig_function_reference/twig_functions_reference.md) | Set of custom and built-in Twig templates. User interfaces are developed with the Twig template engine and query the public PHP API directly. |
23+
| [REST API v2](../api/rest_api_usage.md) | The REST API v2 enables you to interact with an [[= product_name =]] installation using the HTTP protocol, following a REST interaction model. |
24+
| [GraphQL](../api/graphql.md) | GraphQL for [[= product_name =]] exposes the domain model using the Repository, based on Content Type groups, Content Types and Field definitions. |
25+
| [Public PHP API](../api/public_php_api.md) | Public PHP API exposes the Repository which enables you to create, read, update, manage and delete all objects available in [[= product_name =]]. |
26+
| Business Logic | The business logic is defined in the kernel. This business logic is exposed to applications via an API. It is used to organize development of the user interface layer. |
27+
| [SPI](repository.md#spi) | Service Provider Interface which defines contracts for implementing various parts of the system, including persistence layer (`SPI\Persistence`), custom Field Types, custom Limitations, etc. |
28+
| [Persistence cache](persistence_cache.md) | The implementation of SPI\Persistence that decorates the main backend implementation. |
29+
| [Search](search/search.md) | Search API that allows both full-text search and querying the content. |
30+
| [SQL Storage Engine](search/search.md#legacy-search-engine) | Legacy search engine is SQL-based and uses Doctrine's database connection. |
31+
| [Solr Storage Engine](search/solr.md) | Transparent drop-in replacement for the SQL-based Legacy search engine. |
32+
| [IO](file_management/file_management.md#native-io-handler) | The IO API is organized around two types of handlers, both used by the IOService. |
33+
| [IO Handler](clustering.md#dfs-io-handler) | The IO Handler manipulates metadata, making up for the potential inconsistency of network-based filesystems. |
34+
| [Recommendation](personalization/recommendation_client.md#enabling-recommendations) | Recommendation API. |
35+
| [Recommendation Engine](personalization/recommendation_client.md#enabling-recommendations) | Recommendation Engine allows displaying recommendations on your website. |

docs/guide/content_management.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -247,7 +247,7 @@ These Fields allow you to select one or more other Content items in the Field va
247247

248248
*Relations at Content item level* can be of three different types:
249249

250-
- *Common Relations* are created between two Content items using the Public API.
250+
- *Common Relations* are created between two Content items using the public PHP API.
251251
- *RichText linked Relations* are created using a Field of the RichText type.
252252
When an internal link (a link to another Location or Content item) is placed in a RichText Field,
253253
the system automatically creates a Relation.

docs/guide/file_management/binary_media_download.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,6 @@ Optional parameter `inLanguage` may be used to specify File content translation.
3232

3333
## REST API: `uri` property
3434

35-
The `uri` property of Binary Fields in REST contains a valid download URL, of the same format as the Public API, prefixed with the same host as the REST Request.
35+
The `uri` property of Binary Fields in REST contains a valid download URL, of the same format as the public PHP API, prefixed with the same host as the REST Request.
3636

3737
For [more information about REST API see the documentation](../../api/rest_api_guide).

docs/guide/file_management/handling_file_url.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ ibexa:
4242

4343
## `io.url_prefix`
4444

45-
Any BinaryFile returned by the public API is prefixed with the value of this setting, internally stored as `ibexa.site_access.config.<scope>.io.url_prefix`.
45+
Any BinaryFile returned by the public PHP API is prefixed with the value of this setting, internally stored as `ibexa.site_access.config.<scope>.io.url_prefix`.
4646

4747
### `io.url_prefix` dynamic service container setting
4848

docs/guide/limitation_reference.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -255,7 +255,7 @@ A Limitation to specify that only the owner of the Content item gets the selecte
255255
|Value|UI value|Description|
256256
|------|------|------|
257257
|`1`|"self"|Only the User who is the owner gets access|
258-
|`2`|"session"|Deprecated and works exactly like "self" in Public API since it has no knowledge of user Sessions|
258+
|`2`|"session"|Deprecated and works exactly like "self" in public PHP API since it has no knowledge of user Sessions|
259259

260260
## Owner of Parent Limitation
261261

@@ -274,7 +274,7 @@ A Limitation to specify that only the Users who own all parent Locations of a Co
274274
|Value|UI value|Description|
275275
|------|------|------|
276276
|`1`|"self"|Only the User who is the owner of all parent Locations gets access|
277-
|`2`|"session"|Deprecated and works exactly like "self" in Public API since it has no knowledge of user Sessions|
277+
|`2`|"session"|Deprecated and works exactly like "self" in public PHP API since it has no knowledge of user Sessions|
278278

279279
## Parent Depth Limitation
280280

@@ -350,7 +350,7 @@ A Limitation to specify to which SiteAccesses a certain permission applies, used
350350

351351
### Legacy compatibility notes
352352

353-
`SiteAccess` Limitation is deprecated and is not used actively in Public API, but is allowed for being able to read / create Limitations for legacy.
353+
`SiteAccess` Limitation is deprecated and is not used actively in public PHP API, but is allowed for being able to read / create Limitations for legacy.
354354

355355
## Subtree of Location Limitation
356356

docs/guide/repository.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,9 @@ description: Ibexa DXP's content Repository stores all content and its related i
66

77
The content Repository is where all your content is stored.
88

9-
## Services: Public API
9+
## Services: public PHP API
1010

11-
The Public API exposes Symfony services for all of its Repository services.
11+
The public PHP API exposes Symfony services for all of its Repository services.
1212

1313
| Service ID | Type |
1414
|----------------------------------------|--------------------------------------------------|
@@ -32,7 +32,7 @@ The Public API exposes Symfony services for all of its Repository services.
3232

3333
## API
3434

35-
Every Public API Service interface and value object defined in `eZ\Publish\API` namespace strictly follows [Semantic Versioning](https://semver.org/) backward compatibility (BC) promise for API consumers.
35+
Every public PHP API Service interface and value object defined in `eZ\Publish\API` namespace strictly follows [Semantic Versioning](https://semver.org/) backward compatibility (BC) promise for API consumers.
3636
It means that every usage of API (API call) is guaranteed to work between minor releases.
3737

3838
What can change between minor releases is the API method signature. Because of that, implementation of API interfaces by third party packages (except for the ones implemented with built-in bundles) is not directly supported.

docs/guide/url_management.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -231,7 +231,7 @@ Also, you can decide whether the user sees the content at the address that uses
231231
For example, a URL wildcard called `pictures/*/*` can use `media/images/{1}/{2}` as destination.
232232
In this case, accessing `<yourdomain>/pictures/home/photo/` loads `<yourdomain>/media/images/home/photo/`.
233233

234-
You can configure URL wildcards either in the Back Office, or with the Public API.
234+
You can configure URL wildcards either in the Back Office, or with the public PHP API.
235235

236236
Before you configure URL wildcards, you must enable the feature in configuration in the `config/packages/ezplatform.yaml` file:
237237

@@ -250,9 +250,9 @@ The URL wildcards tab contains all the information about each URL wildcard. You
250250
To be able to modify wildcard support settings in the user interface, you must have the `content/urltranslator` Policy. For more information about permissions, see [Permissions](permissions.md).
251251

252252

253-
### Configuring URL wildcards with the Public API
253+
### Configuring URL wildcards with the public PHP API
254254

255-
You can create URL wildcards with the Public API by using the `URLWildcardService` service:
255+
You can create URL wildcards with the public PHP API by using the `URLWildcardService` service:
256256

257257
``` php
258258
$source = 'pictures/*/*';

0 commit comments

Comments
 (0)