Skip to content

Commit

Permalink
Merge pull request #1360 from gggeek/betterreadme
Browse files Browse the repository at this point in the history
Improve readme by rewording some phrases, fixing some english
  • Loading branch information
yannickroger committed Jul 31, 2015
2 parents fbbf998 + 9cf207f commit b66e4fb
Showing 1 changed file with 23 additions and 19 deletions.
42 changes: 23 additions & 19 deletions Readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,35 +3,37 @@

[![SensioLabsInsight](https://insight.sensiolabs.com/projects/0885c0ce-4b9f-4b89-aa9c-e8f9f7a315e0/big.png)](https://insight.sensiolabs.com/projects/0885c0ce-4b9f-4b89-aa9c-e8f9f7a315e0)

Welcome to the *eZ Platform Kernel* (also known as *eZ Publish 5.x Platform Kernel*), the hearth of eZ Platform, a modern
CMS built on top of Symfony (Full Stack) Framework. Containing an advance Content Model it allows you to structure any
kind of content, or content like data in a future proof Content Repository. It furthermore aims to provide additional
features for the MVC layer (Symfony), to increase your productivity.
Welcome to the *eZ Platform Kernel* (also known as *eZ Publish 5.x Platform Kernel*), the hearth of *eZ Platform*, a modern
CMS built on top of Symfony (Full Stack) Framework.
Containing an advance Content Model it allows you to structure any kind of content, or content-like data in a future-proof Content Repository.
It furthermore aims to provide additional features for the MVC layer (Symfony), to increase your productivity.

This code repository contains several layers of API's and implementation of them. *Kernel* refers to this being the core,
and not the *Full Stack* with bundles, user interfaces and installers all configured to make the full application.
and not the *Full Stack* with bundles, user interfaces and installers all configured to make a complete application.

*In other words this repo is for core development, for fixes, features and documentation of the Platform kernel itself.*


## eZ Platform?

eZ Platform is a bottom up rewrite of eZ Publish, so a conservative approach where taken on backwards compatibility
by first introducing it in 2012 in *eZ Publish Platform 5.0* by bundling both *Legacy* ("4.x") Stack & *Platform* (formerly 5.x, or "new")
eZ Platform is a bottom up rewrite of eZ Publish, so a conservative approach was taken on backwards compatibility
by first introducing it in 2012 as *eZ Publish Platform 5.0*, which bundled a *Legacy* ("4.x") Stack & a *Platform* (formerly 5.x, or "new")
Stack together. Starting 2015 with *eZ Platform* this is no longer the case, the *Platform* has matured to become its own
fully modern CMS/CMF, and can be used to solve your needs without having to also learn *Legacy*.
modern, self sufficient CMS/CMF, and can be used to solve your needs without having to also deal with *Legacy*.

### Getting a full install (*Full Stack*)

Reflecting what is said above there is several options to get a full install of this Kernel, see:
Reflecting what is described above there are several options to get a full install of this Kernel, see:

- [eZ Platform](https://github.com/ezsystems/ezplatform): For the new eZ Platform install.
- eZ Studio: *Coming soon* A commercial product extending eZ Platform to provide features and services aimed as Editors, Editorial teams and larger organizations.
- eZ Studio: *Coming soon* A commercial product extending eZ Platform to provide features and services aimed at Editors, Editorial teams and larger organizations.
- [eZ Publish 5.x](https://github.com/ezsystems/ezpublish-community): If you are upgrading from eZ Publish 4.x or 5.x and still require *legacy* functionality.


## Overview of the Kernel

eZ Platform is aimed at being a set of reusable components, and mix of decoupled and specific bundles putting it all together.
From a high level it contains a Front End / UI Layer, Mid/MVC layer and a Backend, all layers containing further
eZ Platform is aimed at being a set of reusable components, with a mix of decoupled and specific bundles putting it all together.
From a high level point of view, it contains a Front End / UI Layer, Mid/MVC layer and a Backend, all layers containing further
sub-layers consisting of smaller components.

This repository contains the main parts of the MVC and Backend layers, with underlying components planned to be provided
Expand All @@ -40,7 +42,7 @@ as separate *(sub-tree split)* packages for re-usability.

### Current organization

In doc folder you'll find for instance [Specifications](doc/specifications/) for most features, including REST API.
In the doc folder you'll find [Specifications](doc/specifications/) for most features, including the REST API.

MVC layer:
- [eZ/Bundle](eZ/Bundle/) is where you'll find bundles are that are important to expose the functionality of the Backend and MVC layer to Symfony.
Expand All @@ -49,9 +51,10 @@ MVC layer:
- [eZ/Publish/Core/REST](eZ/Publish/Core/REST/) component providing REST server and *prototype* of a REST Client.

Backend:
- [eZ/Publish/API](eZ/Publish/API/) is where you'll find the stable interfaces for the PHP *Public* API, mainly Content *Repository API*.
- [eZ/Publish/SPI](eZ/Publish/SPI/) SPI's are *Service provider interfaces*, *not yet frozen*.
- [eZ/Publish/Core](eZ/Publish/Core/) is where you'll find implementations of API and SPI's, naming aims to map to name of interface they implement, example Search/<implementation>.
- [eZ/Publish/API](eZ/Publish/API/) is where you'll find the definition of the stable interfaces for the PHP *Public* API, mainly Content *Repository API*.
- [eZ/Publish/SPI](eZ/Publish/SPI/) SPI's are *Service Provider Interfaces*, *not yet frozen*.
- [eZ/Publish/Core](eZ/Publish/Core/) is where you'll find implementations of both API and SPI's; the naming aims to map to name of interface they implement, example Search/<implementation>.


## How to run tests

Expand All @@ -73,15 +76,16 @@ You can also run tests (slower) on mysql or postgres, see [.travis.yml](.travis.
This should produce similar result as [travis](https://travis-ci.org/ezsystems/ezpublish-kernel).
If it doesn't, double check [.travis.yml](.travis.yml) for up-to-date info on how travis is setup.


## Issue tracker
Submitting bugs, improvements and stories is possible on https://jira.ez.no/browse/EZP.
If you discover a security issue, please see how to responsibly report such issues on https://doc.ez.no/Security.

## Contributing
eZ Publish 5.x is a fully open source, community-driven project, and code contributions are simply done via github pull requests.

Short:
* Remember to first create a issue in our issue tracker and refer to it in commits and pull requests headers, example:
Good manners:
* Remember to first create an issue in our issue tracker and refer to it in commits and pull requests headers, example:
"Fix EZP-20104: ContentController should return error status when content is not found"
or
"Implement EZP-201xx: Add support for X in Y"
Expand All @@ -91,7 +95,7 @@ Short:
* A commit should not contain code changes at the same time as doing coding standards/whitespace/typo fixes.
* TDD: Write/Change the test(s) for the change you do and commit it before you do the actual code change.
* If a bug affects Public API, write or enhance a integration test to make sure the bug is covered.
* Unit tests should only use mocks/stubs and never test the full stack like integrations tests does.
* Unit tests should only use mocks/stubs and never test the full stack like integrations tests do.
* Please test/check your commits before pushing even if we have automated checks in place on pull requests:
* Run unit tests and integration test before commits
* Make sure you follow our [coding standards](https://github.com/ezsystems/ezcs)
Expand Down

0 comments on commit b66e4fb

Please sign in to comment.