Code Monkey home page Code Monkey logo

docs's Introduction

Contao Open Source CMS

About

Contao is a powerful open source CMS that allows you to create professional websites and scalable web applications. Visit the project website for more information.

Purpose

The purpose of this package is to develop the Contao bundles in a monorepo. Use it when you want to create a pull request or report an issue.

The monorepo is automatically split into separate packages:

Please do not use contao/contao in production! Use the split packages instead.

Platinum partners

Thanks to our platinum partners for helping us fund the development of Contao.

Development

To create a pull request and to test your changes within a running Contao application, it is the easiest to use the Contao Managed Edition. Start by installing it in your current directory:

composer create-project --no-install contao/managed-edition <directory> <branch>

Replace <directory> with the directory where you want to install the Managed Edition (use . for the current directory). Replace <branch> with 5.x-dev if you want to add a new feature, or with <lts-version>.x-dev (currently 4.13.x-dev) if you want to fix a bug.

Then adjust the require section in your composer.json file, so Composer loads the monorepo instead of the individual bundles:

"require": {
    "php": "^8.1",
    "contao/contao": "5.x-dev"
},

Again, use 5.x-dev if you want to add a new feature or <lts-version>.x-dev if you want to fix a bug.

Next, install the dependencies:

composer update

Composer automatically clones the Git repository into the vendor/contao/contao folder. You can complete the setup by running vendor/bin/contao-setup on the command line.

Any changes you make in vendor/contao/contao will be tracked via Git, so you can submit your pull request directly from your application.

Running scripts

First install the code quality tools:

composer bin all install

Then run the code quality scripts via Composer:

composer all

You can also run the scripts separately:

composer rector
composer ecs
composer service-linter
composer monorepo-tools
composer unit-tests
composer functional-tests
composer phpstan
composer depcheck

Use the -- argument to pass additional flags to the underlying commands:

composer unit-tests -- --filter CoreBundle
composer ecs -- --clear-cache

Functional tests

To set up the functional tests, create a database named contao_test:

mysql -e "CREATE DATABASE contao_test"

If your database uses credentials, copy the file core-bundle/phpunit.xml.dist to core-bundle/phpunit.xml and adjust the following line:

<php>
    <env name="DATABASE_URL" value="mysql://root@localhost:3306/contao_test" />
</php>

Then run the functional tests via Composer:

composer functional-tests

Yarn 4

To build the assets and to run the end-to-end tests (see below), you need to enable Corepack, a package manager that allows you to manage different Yarn package versions across multiple projects:

corepack enable

If Corepack is not bundled with your Node.js installation, you might have to install it as a separate package, e.g. using npm install -g corepack or brew install corepack.

End-to-end tests

The Contao end-to-end tests are availabe as an NPM package. You can install and run them via Yarn:

yarn add contao-e2e-tests --dev
yarn contao-e2e-tests

License

Contao is licensed under the terms of the LGPLv3.

Getting support

Visit the support page to learn about the available support options.

docs's People

Contributors

akroii avatar ameotoko avatar aschempp avatar ausi avatar berecont avatar bezin avatar bytehead avatar contaoacademy avatar dmolineus avatar ernestopheles avatar fiedsch avatar fkaminski avatar fritzmg avatar joehi avatar koertho avatar leofeyer avatar m-vo avatar mynyx avatar netzarbeiter avatar rabauss avatar rburch avatar richardhj avatar sheeep avatar srhinow avatar stefansl avatar tastaturberuf avatar toflar avatar xchs avatar zoglo avatar zonky2 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

docs's Issues

Documentation: RTE

The DCA reference explains how to define an rte for a textarea, typically ace or tinyMCE. We should also document how to customize the editor's configuration (be_tinyMCE.html5 template) and how to create and assign custom configurations (be_tinyCustom.html5 - if this still actually works, I am not sure).

The editor options do not need to be documented, we can link to the documentation of tinyMCE and ACE. Only Contao-specific options should be mentioned.

Print style

Das Learn theme hat keinen eigenen print style. Ich würde einen einfachen print style machen wo sidebar, topbar & nav buttons gehidden sind. Plus etwaige Anpassungen (Schriftgröße & Bilder evt.).

Link zur Doku im Manager

Im Manager gibt es aktuell einen Link zur GitHub bzw. der Doku wie man das Passwort zurücksetzen kann. Gibt es da in der neuen Doku was neues, das wir im Manager einbauen könnten?

Explain the security components

As we have additional helper services such as the TokenChecker, I think we should have a chapter about when to use which service to fetch the front end member or back end user, to check if the FE preview is enabled etc.

Manual: step-by-step guide

@netzarbeiter darüber haben wir ja schon mal geredet - also dass es Sinn machen würde eine Art Step-by-Step guide in das Handbuch zu integrieren, wo man durch das Grundsetup von Contao geführt wird, da das bisher eigentlich noch nirgends so erklärt war. Neuankömmlinge in Contao wissen oft nicht, dass zumindest folgende Schritte notwendig sind, um erste Inhalte auf seiner Contao Webseite sehen zu können:

  1. Theme anlegen
  2. Seitenlayout im Theme anlegen
  3. Webseiten Startpunkt anlegen
  4. Seitenlayout im Webseiten Startpunkt auswählen
  5. Startseite mit Alias index anlegen
  6. Startseite mit Inhalt befüllen

Siehe dazu auch contao/contao#601

Startseite über Hugo erzeugen

Zusätzliches Environment für die Startseite. Wir könnten da auch einfach das bestehende index.html Template statisch einbinden, denke ich, mit zwei verschiedenen Sprachversionen.

Insert Tags aktualisieren

Today I noticed, that for example not all Insert Tag flags that are documented in the old documentation do not exist anymore (see contao/contao#585).

I'll look over it and update everything accordingly (just as I did with hooks and callbacks) :)

{{% expand %}} Formatierung in Callbacks

params

Ist die Formatierung bei den Parametern so gewollt oder fehlt mir eine Erweiterung damit das Markdown im Expand greift?

Falls nicht, würde ich das gerne anders formatieren, z.B. als Tabelle.

Link callbacks in Caching section

The caching.md contains something along the lines of

Moreover, you don't have to register to all the different callbacks such as onsubmit_callback or ondelete_callback.
You can simply register to the oninvalidate_cache_tags_callback and add your own tags.

I think it would be great if that was directly cross linked to the respective callbacks once they are documented.

Cookbook: Extending Contao

May be use an example where the following tasks are shown:

  • adding a field to an existing DCA (includes the PaletteManipulator)
  • using a DCA callback
  • using a Hook
  • using the new field in a template

Though may be that is too much at once.

Reference: Back end modules

Die Möglichkeiten des $GOBALS['BE_MOD'] arrays, also was

$GLOBALS['BE_MOD']['...']['...'] = [
    'tables' => ...,
    'table' => ...,
    'list' => ...,
    'option' => ...,
    'callback' => ...,
    ...
];

genau jeweils macht - bzw. alle möglichen Optionen die es gibt (Liste ist vermutlich nicht vollständig).

Reference: inputType url

Apparently there is an inputType called url? Need to confirm this first and then add to the documenation.

Contao Image Processing

Damit meine ich jetzt nicht die Erklärung der Responsive Image Funktion etc. (die gehört natürlich auch in das Handbuch) sondern ich finde man sollte im Handbuch ein wenig auf die unterstützten Image Libraries und deren Unterschiede eingehen. Also GD, Imagick & Gmagick. Unterschiede & Vorteile. Und wie man im Zweifelfall per Konsole überprüfen kann, was nun von Contao tatsächlich automatisch verwendet wird (via debug:container).

Absender: Name + E-Mail Adresse Notation

Bei der E-Mail Adresse des System Administrators in den System Einstellungen und den Einstellungen des Website Roots kann man auch folgende Notation schreiben:

Max Mustermann <[email protected]>

oder

Max Mustermann [[email protected]]

Contao macht daraus automatisch Name + E-Mail Adresse für den Admin:

https://github.com/contao/contao/blob/f93d72df61bf57316bb9f3555092f9c204007e89/core-bundle/src/Resources/contao/controllers/FrontendIndex.php#L228-L236

Und das wird dann auch so im Formulargenerator für den Absender benutzt:

https://github.com/contao/contao/blob/f93d72df61bf57316bb9f3555092f9c204007e89/core-bundle/src/Resources/contao/forms/Form.php#L373-L375

Ich glaube das war bisher noch nirgends dokumentiert.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.