Git

You can anonymously read the source code, study it's features and documentation by going to the GitHub repository directoy:

https://github.com/ezecosystem/ezplatform-page-fieldtype

You can anonymously check out the source code released by this project from its Git repository:

git clone https://github.com/ezecosystem/ezplatform-page-fieldtype.git

You may be able to anonymously check out the source code released by this project from its expected composer package:

composer require ezecosystem/ezplatform-page-fieldtype

To be able to commit changes to the project's repository, you need to be a member of the project.

Latest log messages

  • 48c00c98e41513e51dc6a698df665ee11ee3b6e9 on 24/11/2015 1:03 am by André R <andre.romcke@gmail.com> [GitHub Diff]
    Message: Merge pull request #1 from ezsystems/impl-EZP-24924-extract-page-fieldtype

    EZP-24924: Extract Page field type out of kernel into separate repository
  • 529d58dbf6f568ea0d286625c6b9088c5e4b1604 on 06/11/2015 7:54 am by Petar Španja <petar.spanja@gmail.com> [GitHub Diff]
    Message: EZP-24924: adapt implementation post Git history rewrite
  • 56eb913d1cf5a702a5b50097da25ee59f3d2a88f on 28/10/2015 1:14 pm by Petar Španja <petar.spanja@gmail.com> [GitHub Diff]
    Message: EZP-24925: removed configuration for conversion of ezxml input
  • 48b6d5bd6c2278edf223b50ffa41258ebce92bf9 on 28/10/2015 1:14 pm by Petar Španja <petar.spanja@gmail.com> [GitHub Diff]
    Message: EZP-24925: removed XmlText field type
  • 5d2211acd03a8f63a6519e300427bf808b624a6d on 28/10/2015 1:14 pm by Jérôme Vieilledent <lolautruche@gmail.com> [GitHub Diff]
    Message: Fix EZP-25010: SiteAccessLimitationType should only accept values from existing SiteAccesses

    > https://jira.ez.no/browse/EZP-25010
  • 09b6edd6caba8c0415543106af12617261fcd524 on 28/10/2015 1:14 pm by Petar Španja <petar.spanja@gmail.com> [GitHub Diff]
    Message: EZP-24999: fixed tests
  • c7bd5ccaa8cca4d502bc7d9a8157a2f8dfe69dc9 on 28/10/2015 1:14 pm by Petar Španja <petar.spanja@gmail.com> [GitHub Diff]
    Message: EZP-24999: implemented handling of external default settings
  • 0d1fc243d1eaea7f609cf9d8e954a61987fad6c3 on 28/10/2015 1:14 pm by Petar Španja <petar.spanja@gmail.com> [GitHub Diff]
    Message: EZP-24999: implemented handling of external config parsers
  • 40555c78e31563d1903f328c93cca5fa1567e1bf on 28/10/2015 1:14 pm by Edi Modrić <edi@netgen.hr> [GitHub Diff]
    Message: Replace deprecated controllers with ez_page:viewAction if view does not use custom controller
  • 64a426c4888f2e40555bae2481adfca7b4eb342c on 28/10/2015 1:14 pm by Edi Modrić <edi@netgen.hr> [GitHub Diff]
    Message: Add ez_page:viewAction controller action
  • a534d47b68cee87531dc26d1b065417556c9a4cf on 28/10/2015 1:14 pm by Edi Modrić <edi@netgen.hr> [GitHub Diff]
    Message: Add response listener that handles block view cache
  • d296cf4ea2395b304d2327af6858ab5e538f58a3 on 28/10/2015 1:14 pm by Edi Modrić <edi@netgen.hr> [GitHub Diff]
    Message: Add event listeners that inject valid_items and valid_content_info_items into blockview
  • 7244a258d5d2d61451922d52933dbe4287323933 on 28/10/2015 1:14 pm by Edi Modrić <edi@netgen.hr> [GitHub Diff]
    Message: Enable view parameters injector and configurator in block view builder
  • 469dff016e35b64c766d5f03bf2b5c59f95bf6ed on 28/10/2015 1:14 pm by Bertrand Dunogier <bd@ez.no> [GitHub Diff]
    Message: Added CachableView interface

    Views that implement it will be handled by the CacheViewResponseListener.
    Cache can be disabled using setCacheEnabled().

    The BaseView abstract class implements the methods (but doesn't implement
    the interface, so that the abstract class can be used without implicitely
    make the view Cachable.
  • df593e2cda96a8b4bcfd9373b4411bb59a0f1ba3 on 28/10/2015 1:14 pm by Bertrand Dunogier <bd@ez.no> [GitHub Diff]
    Message: Added new ez_content:view action

    It replaces the existing `viewContent` and `viewLocation` actions.
    It is now used by the UrlAliasRouter instead of `viewContent` (previously `viewLocation`)
  • 260fdefa5e7a2f123c4cd247809aef222f8dc209 on 28/10/2015 1:14 pm by Bertrand Dunogier <bd@ez.no> [GitHub Diff]
    Message: Made services classes parameters
  • 6c2a351ac296fcfd7521bc9b7c1e1c6f92fb08bb on 28/10/2015 1:14 pm by Bertrand Dunogier <bd@ez.no> [GitHub Diff]
    Message: Moved the ViewConfigurator call to the ViewBuilder

    The ViewConfigurator::configure() call done by the ViewControllerListener
    is now done by each ViewBuilder.

    In most cases, injecting the view parameters
    and configuring the view don't really matter. But QueryType, for instance,
    requires that we can read the enable_pager setting before loading the search results.

    Story: EZP-24869
  • a100022a31a2d5cec9bd7f7ce011758bf970edd0 on 28/10/2015 1:14 pm by Bertrand Dunogier <bd@ez.no> [GitHub Diff]
    Message: Added transparent View Cache handling

    View responses (that have a view request attribute that is a valid View)
    will be added cache headers based on the view properties and system configuration.

    emodric: Only render the view and set X-Location-Id header if the response is modified
    emodric: Remove $response->notModified() checks on response content and X-Location-Id header
  • a30219a255c7b9555c8fe1e2187f57f4b97224cd on 28/10/2015 1:14 pm by Edi Modrić <edi@netgen.hr> [GitHub Diff]
    Message: Add injector to inject embed objectParameters variable into template
  • af528dc0272d115331488b7776def828f2a21d10 on 28/10/2015 1:14 pm by Edi Modrić <edi@netgen.hr> [GitHub Diff]
    Message: Dispatch PRE_CONTENT_VIEW event in template renderer
  • a3c61e215d8bc58df3e5630f3c353b72a60d84ce on 28/10/2015 1:14 pm by Bertrand Dunogier <bd@ez.no> [GitHub Diff]
    Message: Added view parameters injection extension point

    Parameters that are injected into Views are collected using the EventDispatcher.

    The `View\Events::FILTER_VIEW_PARAMETERS` can be listened to,
    and the listener can customize the view parameters.

    Default listeners include:
    - contents of the 'params' array (passed to `render(controller())`)
    - the `noLayout` boolean, based on the `layout` attribute
    - the ids of the value objects used by the view, for BC of controller actions
  • e277214f7a367b1b1f660d22dd466527476e2099 on 28/10/2015 1:14 pm by Bertrand Dunogier <bd@ez.no> [GitHub Diff]
    Message: Implemented View rendering

    View objects returned by controller actions are rendered into
    a Response by the ViewRendererListener. The listener uses
    a ViewRenderer, by default the TemplateRenderer, that renders
    the view into the Response's Content.

    Custom headers can be configured by setting a preconfigured
    Response object into the View using `setResponse()`.

    Story: EZP-24869
  • 8768695f72ed7b2d00c196532614af171930bfdd on 28/10/2015 1:14 pm by Bertrand Dunogier <bd@ez.no> [GitHub Diff]
    Message: Added event for viewbuilder parameter collection
  • fa5bc1b15b2f5f81d253805a485e01e45586812e on 28/10/2015 1:14 pm by Bertrand Dunogier <bd@ez.no> [GitHub Diff]
    Message: Deprecatd the Value View Provider interfaces
  • f1d02cf345ee5a2267d14161ac936c949391af32 on 28/10/2015 1:14 pm by Bertrand Dunogier <bd@ez.no> [GitHub Diff]
    Message: Deprecated the ViewManager passes

    The deprecated tag gets converted to the new one.
  • 793845fab2a292f4ce4eaef80cfaaace9c562d83 on 28/10/2015 1:14 pm by Bertrand Dunogier <bd@ez.no> [GitHub Diff]
    Message: Removed the ControllerManager
  • 38accea75a9b42f2e4933abc2b4b193fe43cd29d on 28/10/2015 1:14 pm by Bertrand Dunogier <bd@ez.no> [GitHub Diff]
    Message: Refactored the ViewControllerListener

    It is now unique for all View controllers.
    Each type of view controller (Content, Block) has its own ViewBuilder:
    ContentViewBuilder, BlockViewBuilder, registered with the ViewBuilderRegistry.

    The ViewControllerListener will match requests based on the controller,
    and use, if any, the matching ViewBuilder to build the View object.

    It will then set the request's properties so that the View can be processed.
  • fedfce9865d3f625580c799d46bbb5328b7482ad on 28/10/2015 1:14 pm by Bertrand Dunogier <bd@ez.no> [GitHub Diff]
    Message: Refactored the ViewManager

    It is kept for BC, as it has been documented as usable by custom controller actions.

    Based on the passed value object + view type + params, it will create the View object,
    configure it, and pass it for rendering.

    It uses the newly added viewConfigurator instead of being injected the viewProviders directly.
  • aa8425ecfaedbb69eb2612a33f833c51d9894eb1 on 28/10/2015 1:14 pm by Bertrand Dunogier <bd@ez.no> [GitHub Diff]
    Message: Refactored View controller listeners

    They're now responsible for creating the View object, and add it as a request
    attribute.

    They use the ViewConfigurator, instead of the controllerManager, to configure
    the view based on the view settings & providers.
  • 09f42fe94262c2a49bcef6983a7e96d365bccc5c on 28/10/2015 1:14 pm by Bertrand Dunogier <bd@ez.no> [GitHub Diff]
    Message: Implemented the ViewConfigurator

    A ViewConfigurator configures a View object it is given (template, controller...).

    A ViewProvider implementation is provided, that uses the registered ViewProviders,
    via the view_provider registry.
  • 05a05831b278bc1d83db26feb2842cf81e56564a on 28/10/2015 1:14 pm by Bertrand Dunogier <bd@ez.no> [GitHub Diff]
    Message: Added a ViewProvider Registry

    Gives access to list of ViewProviders per type of viewed item,
    depending on the ezpublish.view_provider service tag.
  • 19d3ee007c868b1ae14b3efc3d72dbd9946da822 on 28/10/2015 1:14 pm by Bertrand Dunogier <bd@ez.no> [GitHub Diff]
    Message: Updated Matchers to use View objects

    Matchers don't receive the value object + viewType anymore, but an instance of View.

    Each matcher is then free, depending on what is looking for, to get the
    relevant value object from the View, if the View implements the matching
    ValueView interface.
  • 0a93d7d925346745242370e610241e2de3361492 on 28/10/2015 1:14 pm by Bertrand Dunogier <bd@ez.no> [GitHub Diff]
    Message: Deprecated by-type ViewProvider classes

    Removed View\Provider\*Configured in both Core and CoreBundle.
    Since they have the same signatures, the by-type ViewProvider
    services can use the same class.

    Also added a common ViewProvider interface.
  • 7036685968a4ab4a8cda138688c8ec6a8ea5e84c on 28/10/2015 1:14 pm by Bertrand Dunogier <bd@ez.no> [GitHub Diff]
    Message: Refactored ContentView value object

    A common eZ\Publish\Core\MVC\Symfony\View interface is added.
    Each View gets its own concrete object, inheriting from an abstract BaseView.

    Additional interfaces exist for value objects contained within the view:
    LocationValueView, ContentValueView, BlockValueView. They expose getters
    that give access to those objects.

    Ex: ContentView contains both a Content and a Value.
    It implements View, LocationValueView and ContentValueView.
  • a65ca26515b20aa7a5617e31eaaa8f01749e218e on 28/10/2015 1:14 pm by Jérôme Vieilledent <lolautruche@gmail.com> [GitHub Diff]
    Message: Fix EZP-24955: Dynamically inject limitation map into RoleService

    > https://jira.ez.no/browse/EZP-24955

    This PR just injects policies that are being provided by policy providers into the Repository.
    Tests have been updated accordingly.
  • 2b0dcd8ae44eadc3e05cb59376e84385ccae6d18 on 28/10/2015 1:14 pm by Petar Španja <petar.spanja@gmail.com> [GitHub Diff]
    Message: EZP-23831: removed xhtml5edit format schema
  • 7344d7618ed996dc06eb239dbb1726db7b9f55ca on 28/10/2015 1:14 pm by Petar Španja <petar.spanja@gmail.com> [GitHub Diff]
    Message: EZP-24904: improve indexable for Country field type
  • 42ff3884e5bb9370a5de3d9f0f39189d8db3d138 on 28/10/2015 1:14 pm by Bertrand Dunogier <bd@ez.no> [GitHub Diff]
    Message: Made REST FieldTypeProcessor registry lazy

    It is used by many REST services, and some FieldTypeProcessors may depend on
    core repository services. Injecting those in a request listener, like
    the UserContentGateway from PlatformUIBundle, will initialize some settings
    (vardir) too early.

    It could materialize as invalid BinaryFileId exceptions.
  • 3c1dfa8aa15fe60bb73e44a9a1da44d9ee6cfe70 on 28/10/2015 1:14 pm by Bertrand Dunogier <bd@ez.no> [GitHub Diff]
    Message: Updated the PreviewController for location_view changes

    If an existing location_view rule uses a custom controller, we can't
    transform the rule to a content_view one (the viewLocation and viewContent
    method signatures differ).

    This uses the Location ViewProviders to verify if there is such a rule.
    If there is, it uses a viewLocation request instead of a viewContent one.

    Catch subrequest exceptions in PreviewController

    If an exception occurs during the rendering of the preview of a
    location that uses a custom controller, display a particular message
    explaining that this error case is probably cause by the usage of
    the deprecated location view.

    Also adds a CompilerPass for ezpublish.view_provider

    Added the tag to the existing view_providers.
    The existing, per type, tags are still parsed by their existing
    compiler passes.
  • 4f4fd2534174e46b94de65b63fcc6f681b81cd11 on 28/10/2015 1:14 pm by Bertrand Dunogier <bd@ez.no> [GitHub Diff]
    Message: Deprecated Location View

    The controller action and services around it will be removed.
    Routing is now done to ez_content:viewContent by default.

    The change should be transparent.

    Existing Location View usages that require a custom controller
    are not affected, and will have to be checked manually.
  • bacba8fd2dc992003460b9b3c3aa57cb3948dcaf on 28/10/2015 1:14 pm by Bertrand Dunogier <bd@ez.no> [GitHub Diff]
    Message: EZP-24623: Implemented QueryType API

    The namespace is eZ/Publish/Core/QueryType.

    Contains:
    - The QueryType interface,
    - OptionsResolverBasedQueryType abstract class,
    - The QueryTypeRegistry,
    - The compiler pass that registers services tagged as ezpublish.query_type with the Registry.
  • de8735c0fc9d2d297f7a431af743a0be67afa32e on 28/10/2015 1:14 pm by Petar Španja <petar.spanja@gmail.com> [GitHub Diff]
    Message: EZP-24423: make input validator dispatcher optional
  • a82f61c1c337e40be39e43b188caa9a0957a022d on 28/10/2015 1:14 pm by Petar Španja <petar.spanja@gmail.com> [GitHub Diff]
    Message: EZP-24423: implement validate() for internal format
  • 8a67961b7aa305c102bfd3991d1b0205dcfd38cb on 28/10/2015 1:14 pm by Jérôme Vieilledent <lolautruche@gmail.com> [GitHub Diff]
    Message: Fix EZP-24862: Expose available repository policies

    > https://jira.ez.no/browse/EZP-24862

    This patch makes it possible for any bundle to expose available policies checkable
    against repository with a user. It introduces the concept of `PolicyProvider` which can be
    added to EzPublishCoreBundle's DIC extension.

    A `PolicyProvider` is an object providing a hash containing declared modules, functions and limitations.
    * Each policy provider provides a collection of permission *modules*.
    * Each module can provide *functions* (e.g. "content/read": "content" is the module, "read" is the function)
    * Each function can provide a collection of limitations.

    Limitations need to be implemented as *limitation types* and declared as services (already in place).

    ```php
    namespace Acme\FooBundle\AcmeFooBundle\Security;

    use eZ\Bundle\EzPublishCoreBundle\DependencyInjection\Configuration\ConfigBuilderInterface;
    use eZ\Bundle\EzPublishCoreBundle\DependencyInjection\Security\PolicyProvider\PolicyProviderInterface;

    class MyPolicyProvider implements PolicyProviderInterface
    {
    public function addPolicies(ConfigBuilderInterface $configBuilder)
    {
    $configBuilder->addConfig([
    "custom_module" => [
    "custom_function_1" => null,
    "custom_function_2" => ["CustomLimitation"]
    ],
    ]);
    }
    }
    ```

    An abstract class based on YAML is provided: `eZ\Bundle\EzPublishCoreBundle\DependencyInjection\Security\PolicyProvider\YamlPolicyProvider`.
    It defines an abstract `getFiles()` method. Implement it to return absolute paths to your YAML files.

    A bundle just has to to retrieve CoreBundle's DIC extension and call `addPolicyProvider()`.
    This must be done in bundle's `build()` method.

    ```php
    namespace Acme\FooBundle\AcmeFooBundle;

    use Symfony\Component\HttpKernel\Bundle\Bundle;

    class AcmeFooBundle extends Bundle
    {
    public function build(ContainerBuilder $container)
    {
    parent::build($container);

    $eZExtension = $container->getExtension('ezpublish');
    $eZExtension->addPolicyProvider(new MyPolicyProvider());
    }
    }
    ```

    Policies used internally in repository services have been added and configured
    like they were in legacy.
  • 87b66b0c6d7a1c83bfa074579330fb5a7b9eed52 on 28/10/2015 1:14 pm by Petar Španja <petar.spanja@gmail.com> [GitHub Diff]
    Message: EZP-23247: implement indexables for XmlText and RichText