ibexa / core
Ibexa DXP and Open Source core. Provides the Content Repository, its APIs, and the application's Symfony framework integration.
Requires
- php: ^7.4 || ^8.0
- ext-ctype: *
- ext-curl: *
- ext-dom: *
- ext-fileinfo: *
- ext-intl: *
- ext-json: *
- ext-mbstring: *
- ext-pdo: *
- ext-spl: *
- ext-xsl: *
- composer/package-versions-deprecated: ^1.11
- doctrine/dbal: ^2.13.0
- doctrine/doctrine-bundle: ^2.0
- doctrine/orm: ^2.7
- friendsofphp/proxy-manager-lts: ^1.0
- friendsofsymfony/http-cache-bundle: ^2.8
- friendsofsymfony/jsrouting-bundle: ^2.5
- guzzlehttp/guzzle: ^6.5
- ibexa/doctrine-schema: ~4.6.0
- jms/translation-bundle: ^1.5
- league/flysystem-memory: ^2.0.6
- liip/imagine-bundle: ^2.3
- nelmio/cors-bundle: ^2.0
- oneup/flysystem-bundle: ^4.4.2
- pagerfanta/pagerfanta: ^2.1
- php-http/guzzle6-adapter: ^2.0
- psr/event-dispatcher: ^1.0
- sensio/framework-extra-bundle: ^6.1
- symfony-cmf/routing: ^2.3
- symfony/cache: ^5.3.0
- symfony/console: ^5.3.0
- symfony/dependency-injection: ^5.3.0
- symfony/event-dispatcher: ^5.3.0
- symfony/expression-language: ^5.3.0
- symfony/framework-bundle: ^5.3.0
- symfony/http-client: ^5.3.0
- symfony/http-foundation: ^5.3.0
- symfony/http-kernel: ^5.3.0
- symfony/mime: ^5.3.0
- symfony/polyfill-php80: ^1.27
- symfony/process: ^5.3.0
- symfony/security-bundle: ^5.3.0
- symfony/security-core: ^5.3.0
- symfony/security-http: ^5.3.0
- symfony/serializer: ^5.3.0
- symfony/templating: ^5.3.0
- symfony/translation: ^5.3.0
- symfony/validator: ^5.3.0
- symfony/var-dumper: ^5.3.0
- symfony/yaml: ^5.3.0
- twig/extra-bundle: ^3.0
- twig/twig: ^3.0
Requires (Dev)
- behat/behat: ^3.6.1
- friends-of-behat/mink-extension: ^2.4
- ibexa/ci-scripts: ^0.2
- ibexa/code-style: ^1.0
- jenner/simple_fork: ^1.2
- matthiasnoback/symfony-dependency-injection-test: ^4.1
- phpstan/phpstan: ^1.2
- phpstan/phpstan-phpunit: ^1.3
- phpstan/phpstan-symfony: ^1.3
- phpunit/phpunit: ^8.2
- symfony/phpunit-bridge: ^5.4
- symfony/proxy-manager-bridge: ^5.3
- symfony/runtime: ^5.3.0
Suggests
- php-64bit: For support of more than 30 languages, a 64bit php installation on all involved prod/dev machines is required
Conflicts
- doctrine/dbal: 2.7.0
- ezsystems/ezpublish-legacy: *
- friendsofphp/php-cs-fixer: 3.5.0
- phpunit/phpunit: 8.4.0
- symfony/dependency-injection: 5.3.7
- symfony/security-core: 5.3.0
Replaces
- dev-main / 5.0.x-dev
- 4.6.x-dev
- v4.6.13
- v4.6.12
- v4.6.11
- v4.6.10
- v4.6.9
- v4.6.8
- v4.6.7
- v4.6.6
- v4.6.5
- v4.6.4
- v4.6.3
- v4.6.2
- v4.6.1
- v4.6.0
- v4.6.0-rc1
- v4.6.0-beta5
- v4.6.0-beta4
- v4.6.0-beta3
- v4.6.0-beta2
- v4.6.0-beta1
- 4.5.x-dev
- v4.5.7
- v4.5.6
- v4.5.5
- v4.5.4
- v4.5.3
- v4.5.2
- v4.5.1
- v4.5.0
- v4.5.0-rc1
- v4.5.0-beta2
- v4.5.0-beta1
- 4.4.x-dev
- v4.4.4
- v4.4.3
- v4.4.2
- v4.4.1
- v4.4.0
- v4.4.0-rc1
- v4.4.0-beta1
- 4.3.x-dev
- v4.3.5
- v4.3.4
- v4.3.3
- v4.3.2
- v4.3.1
- v4.3.0
- v4.3.0-rc1
- v4.3.0-beta1
- v4.2.4
- v4.2.3
- v4.2.2
- v4.2.1
- v4.2.0
- v4.2.0-rc1
- v4.2.0-beta1
- 4.1.x-dev
- v4.1.5
- v4.1.4
- v4.1.3
- v4.1.2
- v4.1.1
- v4.1.0
- v4.1.0-rc1
- v4.1.0-beta1
- v4.0.8
- v4.0.7
- v4.0.6
- v4.0.5
- v4.0.4
- v4.0.3
- v4.0.2
- v4.0.1
- v4.0.0
- v4.0.0-rc5
- v4.0.0-rc4
- v4.0.0-rc3
- v4.0.0-rc2
- v4.0.0-rc1
- v4.0.0-beta5
- v4.0.0-beta4
- v4.0.0-beta3
- v4.0.0-beta2
- v4.0.0-beta1
- dev-ibx-8534-core-v5-p2
- dev-ibx-6312_view_matcher_ParentContentType_when_parent_is_not_available_4.6
- dev-ibx-8566_fixed-postgres-language-limit
- dev-validator
- dev-fix-twig-upstream
- dev-phpstan
- dev-ibx-8470-symfony-6
- dev-improved_event_phpdoc
- dev-ibx-9169-content-name-trash-criterion-handler
- dev-ibx-8897-name-schema-service-parenthesis-fix
- dev-ibx-8138/tests-dry-refactoring
- dev-temp_1.3_to_4.6_merged
- dev-IBX-5905_content_type_identifier_in_contentInfo
- dev-ibx-8492-field-replace
- dev-shared-workflow
- dev-gha-generic-reactor-workflow
- dev-bump-phpunit
- dev-fix-property-doc-tags
- dev-dbal
- dev-add-job-cache
- dev-next-major-5.0
- dev-ibx-5388-temporary-port
- dev-docker-solr-followup
- dev-bugfix/IBX-6257-fixed-specific-pattern-extraction
- dev-feature/IBX-5630-ref
- dev-flavor-upgrade
- dev-token_service
- dev-refactor-generic-and-psh-setup
- dev-url_alias_tran_issue
- dev-ibx-3051-criterions
- dev-wip-corporate-accounts
- dev-encore-configuration-paths
- dev-expose-schema-fixtures-4.x
This package is auto-updated.
Last update: 2024-11-21 16:54:53 UTC
README
This package is part of Ibexa DXP.
To use this package, install Ibexa DXP.
This package contains an advanced Content Model, allowing to structure any kind of content or content-like data in a future-proof Content Repository. Ibexa Kernel also aims to provide additional features for the MVC layer (Symfony) to increase your productivity Ibexa DXP.
Current Organization
MVC layer:
- src/bundle - the bundles that are important to expose the functionality of the Backend and MVC layer to Symfony.
- src/lib/MVC - the parts that make up the different components extending Symfony.
- src/lib/Pagination - a component extending PagerFanta for pagination of Ibexa search queries.
Backend:
- src/contracts - the definition of stable interfaces for the PHP Public API, mainly Content Repository API.
- src/contracts/Persistence - a layer which is not frozen yet, meaning it might change in between releases. Those are persistence interfaces for Storage Engine.
- src/lib - implementations of API Contracts; the naming aims to map to name of the interface they implement. For example,
Ibexa\Core\Persistence\Legacy
being implementation ofIbexa\Contracts\Core\Persistence
.
Testing Locally
This kernel contains a comprehensive set of unit, functional, and integration tests. At the time of writing, 9k unit tests, 8k integration tests, and several functional tests.
Dependencies
- PHP 7 Modules: php7_intl php7_xsl php7_gd php7_sqlite (aka
pdo\_sqlite
) - Database: sqlite3, optionally: mysql/postgres if so make sure to have relevant pdo modules installed
For Contributing to this Bundle, you should make sure to run both unit and integration tests.
-
Set up this repository locally:
# Note: Change the line below to the ssh format of your fork to create topic branches to propose as pull requests git clone https://github.com/ibexa/core.git cd core composer install
-
Run unit tests:
At this point you should be able to run unit tests:
composer unit
-
Run integration tests:
# If you want to test against mysql or postgres instead of sqlite, define one of these with reference to an empty test db: # export DATABASE="mysql://root@localhost/$DB_NAME" # export DATABASE="pgsql://postgres@localhost/$DB_NAME" composer integration
To run integration tests against Solr, see Solr Search Engine Bundle for Ibexa DXP.
COPYRIGHT
Copyright (C) 1999-2021 Ibexa AS (formerly eZ Systems AS). All rights reserved.
LICENSE
This source code is available separately under the following licenses:
A - Ibexa Business Use License Agreement (Ibexa BUL), version 2.4 or later versions (as license terms may be updated from time to time) Ibexa BUL is granted by having a valid Ibexa DXP (formerly eZ Platform Enterprise) subscription, as described at: https://www.ibexa.co/product For the full Ibexa BUL license text, please see: https://www.ibexa.co/software-information/licenses-and-agreements (latest version applies)
AND
B - GNU General Public License, version 2 Grants an copyleft open source license with ABSOLUTELY NO WARRANTY. For the full GPL license text, please see: https://www.gnu.org/licenses/old-licenses/gpl-2.0.html