- NGSTACK-400: Enabled registering custom expression functions for Query Type configuration (#182)
- NGSTACK-442: implemented internal Content view route configuration for the frontend siteaccesses (#184)
Overridden default eZ Platform full view template to prevent it from extending configured Site API pagelayout (#183)
Fixed usage of $this
pseudo variable inside a static function in Children
and Siblings
query types (#181)
Fixed usage of $this
pseudo variable inside a static function in Children
and Siblings
query types (#181)
Version 4.0.0 is a major release that brings compatibility with eZ Platform 3.1. In this release all previous deprecations have been removed and several breaking changes have been introduced. For upgrade instructions see https://docs.netgen.io/projects/site-api/en/4.0.0/upgrades/upgrade_350_400.html.
- Autowired controllers by @MarioBlazek (#165)
- eZ Platform v3 compatibility by @emodric (#175)
- Siteaccess-configurable support for combined Content/Location visibility by @RandyCupic (#176)
- Added new visibility properties (#180)
- Removed deprecated loading of Content relations by ID (#178)
- Removed support for XmlText view rendering without a subrequest (https://github.com/netgen/ezplatform-site-api/commit/cb10955f58b707be27ffad6d9a9feed4b4af90a4)
- Removed deprecated event
RenderContentEvent
(https://github.com/netgen/ezplatform-site-api/commit/a29ed912cbccda0910c45bed1cd7883e7b857fe7)
- NGSTACK-411: using an unsupported Location child sort will now log a notice instead of causing a fatal crash by @RandyCupic (#170)
- NGSTACK-429:
RelationService
methodsloadFieldRelation
andloadFieldRelations
will now also accept Content instance as the first argument, in addition to the Content ID (#173)
- Fixed documentation code example by @leohajder (#166)
- NGSTACK-416: Rendering a full view through automatic view fallback will now correctly set
layout
variable (#172) - NGSTACK-429: Previewing a Content containing field relations will now correctly render draft relations instead of the published ones (#173)
- NGSTACK-423: Previewing a Content rendered through automatic view fallback will now correctly render the draft version instead of the published one (#174)
-
Content view renderer event implementation has been moved to bundle (#146)
Event
Netgen\EzPlatformSiteApi\Event\SiteApiEvents::SiteApiEvents
is deprecated and replaced byNetgen\Bundle\EzPlatformSiteApiBundle\Events::RENDER_VIEW
, event objectnamespace Netgen\EzPlatformSiteApi\Event\RenderContentEvent
is deprecated and replaced byNetgen\Bundle\EzPlatformSiteApiBundle\Event\RenderViewEvent
. Deprecated implementation will be removed in4.0
. -
Using
RelationService
methodsloadFieldRelation
andloadFieldRelations
with Content ID as the first argument is now deprecated in favor of using Content instance in its place (#173)Using Content ID as the first argument will be removed in
4.0
.
- Fix code example in documentation by @leohajder (#162)
- Handle UnauthorizedException when accessing named objects from Twig by @leohajder (#164)
- Copy button on documentation code and configuration examples
- Documentation fixes by @zulicek
- Documentation fixes by @leohajder (#160)
- NGSTACK-413: Fix checking if Relation value is empty by @RandyCupic (#161)
- Documentation fixes by @leohajder (#158)
- NGSTACK-410: fix extended config not overriding default values (#159)
- NGSTACK-377: variables in template identifier configuration (#156)
- NGSTACK-389: implement view configuration inheritance (#157)
- Use view type from the
app.request
(https://github.com/netgen/ezplatform-site-api/commit/86f3f73141d79a177eeade701ff7733fa6aa4dd2)
- Add
Location::getFirstChild()
method (#148) - Add
Content::getFirstNonEmptyField()
method (#150) - NGSTACK-371: implement fallback between eZ and Site API content views (#152)
- Implement Content View Location resolver (#153)
- eZ Platform v3 support: missing argument from EZP-30882 by @wizhippo (#154)
- NGSTACK-354: implement support for XmlText and RichText embed rendering (#155)
- Fix preview of the non-published Content (#149)
- Fix typo in configuration by @joezg (#151)
- Fix service ID for named object provider (https://github.com/netgen/ezplatform-site-api/commit/4ee25ebc26b801aececd55b198e7c1dad7ef2bce)
- Fix preview of the unpublished Content (#149)
- Make
TagsService
argument optional
- NGSTACK-347: enable redirects through content view configuration by @iherak (#147)
- Remove configuration for the default full view (#144)
- Content render events by @emodric (#141)
- Reset ezsettings parameters only if they do not exist by @emodric (#142)
- Use Twig notation for template paths by @emodric (#134)
- Fix deprecations on Symfony 3.4 and 4.0 by @emodric (#136)
- Kernel v3 compatibility (#137)
- Travis build is migrated to travis-ci.com by @emodric (#138)
- Allow eZ value objects when rendering content without subrequests by @emodric (#133)
- Dump fields by identifier (https://github.com/netgen/ezplatform-site-api/commit/c9b377b0c9e424333c3fcb1abc3c96478918de76)
- Add default view templates (#130)
- Implement ParamConverters for SiteAPI value objects by @MarioBlazek (#129)
- Add routers that generate links for Site API Content and Location by @emodric (#125)
- Add support for eZ Platform v3 by @emodric (#105, #123)
- Allow null value for is_field_empty option (#120)
- Allow defining publication date with explicit operators (#119)
- Query type condition
creation_date
, replacespublication_date
(#119) - Allow defining content type and section with explicit operators (#118)
- Add a way to render Content view without using a subrequest (#117)
- Refactor base Controller (#115)
- Implement hinted search result extraction methods (#112)
- Add default view matcher, configuring the view with fallback templates by @emodric (#109)
- Add missing logger to ImageRuntime (#106)
- Prevent site from crashing because of basic Content Field inconsistencies (#94)
- Introduce limit parameter to
loadFieldRelations()
method by @mivancic (#68)
- Minimum PHP version is raised to 7.1
- Minimum eZ Platform version is raised to 2.4
- Allow defining publication date with explicit operators (#119)
- Implement Twig runtimes and use Twig namespaces by @emodric (#60)
- Mark services as public/private as needed by @emodric (#59)
This is a major release where all previous deprecations are removed.
Methods:
Netgen\EzPlatformSiteApi\API\FilterService::filterContentInfo()
Netgen\EzPlatformSiteApi\API\FindService::findContentInfo()
Netgen\EzPlatformSiteApi\API\LoadService::loadContentInfo()
Netgen\EzPlatformSiteApi\API\LoadService::loadContentInfoByRemoteId()
Netgen\EzPlatformSiteApi\API\Values\ContentInfo::getLocations()
Netgen\EzPlatformSiteApi\API\Values\ContentInfo::filterLocations()
Netgen\EzPlatformSiteApi\API\FindService::findNodes()
Netgen\EzPlatformSiteApi\API\LoadService::loadNode()
Netgen\EzPlatformSiteApi\API\LoadService::loadNodeByRemoteId()
Traits:
Netgen\EzPlatformSiteApi\Core\Traits\PagerfantaFindTrait
Classes:
Netgen\EzPlatformSiteApi\API\Values\Node
Netgen\EzPlatformSiteApi\Core\Site\Pagination\Pagerfanta\BaseAdapter
Netgen\EzPlatformSiteApi\Core\Site\Pagination\Pagerfanta\ContentInfoSearchAdapter
Netgen\EzPlatformSiteApi\Core\Site\Pagination\Pagerfanta\ContentInfoSearchHitAdapter
Netgen\EzPlatformSiteApi\Core\Site\Pagination\Pagerfanta\ContentSearchAdapter
Netgen\EzPlatformSiteApi\Core\Site\Pagination\Pagerfanta\ContentSearchFilterAdapter
Netgen\EzPlatformSiteApi\Core\Site\Pagination\Pagerfanta\ContentSearchHitAdapter
Netgen\EzPlatformSiteApi\Core\Site\Pagination\Pagerfanta\LocationSearchAdapter
Netgen\EzPlatformSiteApi\Core\Site\Pagination\Pagerfanta\LocationSearchFilterAdapter
Netgen\EzPlatformSiteApi\Core\Site\Pagination\Pagerfanta\LocationSearchHitAdapter
Netgen\EzPlatformSiteApi\Core\Site\Pagination\Pagerfanta\NodeSearchAdapter
Netgen\EzPlatformSiteApi\Core\Site\Pagination\Pagerfanta\NodeSearchHitAdapter
Netgen\EzPlatformSiteApi\Core\Site\Pagination\Pagerfanta\Slice
Netgen\EzPlatformSiteApi\Core\Site\Pagination\Pagerfanta\SearchResultExtras
Other:
- Query type condition
publication_date
is removed,creation_date
should be used instead (#119) content_view
provider for Site API ContentView (#128)
- Fix draft preview (#131)
- Fix token not found exception in ContentViewBuilder when used to build own exception page by @emodric (#126)
- Load VersionInfo instead of a full Content (#127)
- Token not found exception in ContentViewBuilder by @emodric (#126)
- Add
creation_date
as an alias ofpublication_date
Query Type parameter (#119)
- Service
ezpublish.api.repository
should be public to avoid deprecation notice by @emodric (#108) - Allow defining
content_type
andsection
Query Type parameters with explicit operators (#118) - Allow defining
publication_date
Query Type parameter with explicit operators (#119) - Allow using
null
value foris_field_empty
Query Type parameter (#120)
publication_date
Query Type parameter is deprecated for removal in3.0
, new namecreation_date
should be used instead (#119)
-
Deprecates methods and properties from
ContentInfo
(#87):getLocations()
getLocations()
$content
ContentInfo
can be accessed throughContent
, loading it independently was deprecated since 2.2. These methods and properties can be obtained from theContent
object. -
Adds access to dynamic configuration from query type language expressions (#96)
-
Adds type-casting query string parameter getters to query type language expressions (#97)
-
Adds optional definition of allowed values for query string parameters to query type language expressions (#98)
-
Adds support for
IsEmptyField
criterion in Query Type configuration (#100) -
Deprecates from Pagerfanta pagination (#101):
BaseAdapter
Slice
SearchResultExtras
These have been moved to netgen/ezplatform-search-extra. Existing
FilterAdapter
andFindAdapter
will continue working as before.
- Fix generating Location targets when checking for read/view_embed permissions (#95)
- Use instance of Repository Location to check for read permissions by @MarioBlazek (#93)
- Use
sudo()
to lazy loadContent::$innerContent
in #90 - Support for eZ Platform
2.5
in #92
- refactored tests for easier maintenance
- new Read the Docs documentation site at https://docs.netgen.io/projects/site-api
- bumped
netgen/ezplatform-search-extra
to1.5
forLoading
implementation of the result extractor, which prevents edge-case errors when Solr index is not up to date (netgen/ezplatform-search-extra#15)
- added
getUserPreferenceService()
to aggregate repository by @emodric (7bd14c01d9192407e60085364de69dcec9dc6d8e)
- This release fixes a regression introduced in #80 (#82)
- Support for
Section
andObjectState
identifiers with QueryTypes (#78) - Fixed Pagerfanta adapters not correctly setting
nbResults
by @mivancic (#79) - Removed usage of deprecated Pagerfanta adapters by @mivancic (#80)
- Added
getNotificationService()
to aggregate repository by @emodric (41151c51de1379b774a0ca95445aa8872c93a26d)
- Added
getBookmarkService()
to aggregate repository by @emodric (#77)
- support for QueryTypes (#70)
- minor doc correction by @wizhippo (#71)
- improved test coverage (#73)
- exposed facets on Pagerfanta adapters by @wizhippo (#74)
- rewrite of Pagerfanta adapters (#76)
- deprecation of
PagerfantaFindTrait
and old Pagerfanta adapters:ContentSearchAdapter
ContentSearchFilterAdapter
ContentSearchHitAdapter
LocationSearchAdapter
LocationSearchFilterAdapter
LocationSearchHitAdapter
- Fix building repository after ezsystems/ezpublish-kernel#2253
- Fix using
ContentViewBuilder
when dealing with closure controllers
- Fix the method name in
ContentValueView
interface
- Implemented Pagerfanta trait (#52)
- Removed support for PHP 5.5 (#65)
- Enabled PHPUnit 6 for tests (#63)
- Improvements to docs (#62)
Content
,ContentInfo
,Field
andLocation
now implement__debugInfo()
method that controls which properties are shown when the object is dumped. Through it, recursion and tree traversal are avoided, which will provide cleaner output when dumping the objects for debugging purpose. (#50)- Content now implements
$owner
and$innerOwnerUser
lazy-loaded properties. (#51) - More tests by @MarioBlazek (#53)
- We now support eZ Platform Kernel 7.0 beta by @emodric (#54)
- Some regular expressions to ease migration by @MarioBlazek (#55)
- Adapters from eZ Platform Kernel
SearchService
interface toFindService
andFilterService
by @emodric (#57) - Support for simple forward relations with
RelationsService
and new methods onContent
object (#42)
-
Introduces lazy loading of
Content
fields, meaning that fields will be transparently loaded only if accessed -
Introduces lazy loading of
ContentInfo
when accessed fromContent
orLocation
-
Deprecates all methods to obtain
ContentInfo
object (to be removed in 3.0):LoadService::loadContentInfo()
LoadService::loadContentInfoByRemoteId()
FilterService::filterContentInfo()
FindService::findContentInfo()
The intention behind this is that, with lazy loading of
Content
fields,Content
takes over the role ofContentInfo
. It basically behaves the same until the fields are accessed, so you don't need to think about it.Note that
ContentInfo
itself is not deprecated, for the sole reason of keeping Site API in line with Repository API. With 3.0 the only way to accessContentInfo
object will be through aggregation inContent
andLocation
objects. -
Deprecates ContentInfo Pagerfanta search adapters (to be removed in 3.0):
ContentInfoSearchAdapter
ContentInfoSearchHitAdapter
-
Fixes netgen/ezplatform-site-api#48: Mapping a field takes the wrong ID
- Fix an issue where default value for
ezsettings.default.ngcontent_view
would overwrite any existing value on eZ kernel 6.11+
- Introduces
FilterService
, providing search on top of Legacy Search Engine (it doesn't depend on indexing for data to became available in search) - Introduces
Settings
, containing all user-defined settings used by the Site API - Adds new methods and (lazy-loaded) properties to API entities, enabling simple Content structure
traversal from both PHP and Twig without writing boilerplate code:
Location::$content
Location::$parent
Location::getChildren()
Location::filterChildren()
Location::getSiblings()
Location::filterSiblings()
Content::$mainLocation
Content::getLocations()
Content::filterLocations()
ContentInfo::$content
ContentInfo::$mainLocation
ContentInfo::getLocations()
ContentInfo::filterLocations()
- Deprecates
Node
object and corresponding methods and classes (to be removed in 3.0), sinceContent
is now available as lazy-loaded property ofLocation
:Node
LoadService::loadNode()
LoadService::loadNodeByRemoteId()
FindService::findNodes()
NodeSearchAdapter
NodeSearchHitAdapter
- Updates coding style
- Adds
SearchResultExtractorTrait
, providing a way to extract value objects from search result
- Fix EZP-27237: fixed wrong content loading logic in ContentViewBuilder
- Improvements to tests
- Remove unneeded ContentTrait
- It is now possible to use both
ez_content:viewAction
&ng_content:viewAction
controllers, side by side, by separating Site API specificcontent_view
rules to a separate config namedngcontent_view
- Allow eZ value objects to be transferred to
ng_content:viewAction
- Initial release