Coder Social home page Coder Social logo

docs-archive'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

Node.js

To build the assets, you need a Node.js version >= 18.12. Then run these commands:

npm ci
npm run build

End-to-end tests

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

npm install contao-e2e-tests --save-dev
npx 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-archive's People

Contributors

aschempp avatar bugbuster1701 avatar christianromeni avatar ciaobello avatar cliffparnitzky avatar dominikzogg avatar eknoes avatar es-it avatar falkoschumann avatar fenepedia avatar fiedsch avatar fritzmg avatar hanski avatar humandigital avatar icodr8 avatar koertho avatar leofeyer avatar lionel-m avatar loilo avatar magicsepp avatar psi-4ward avatar qzminski avatar srhinow avatar stefansl avatar taca avatar toflar avatar tristanlins avatar xchs avatar zeromax 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  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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

docs-archive's Issues

Contribution policy

Ich fände es hilfreich, wenn im Handbuch unter Contao-Entwicklungsprozess bzw. hier bei GitHub ein Hinweis auf die bevorzugte Sprache (Deutsch oder Englisch?) enthalten wäre. Ein Großteil der aktuellen Nutzer und Entwickler kommen zwar aus dem deutschsprachigen Raum, für die weitere Verbreitung des Systems und auch der »üblichen« Sprache auf GitHub folgend wäre Englisch allerdings konsequenter.
What do you guys think about this?

Generated API documentation

I have developed a first draft of a module that can read Contao core classes (and its docblocks) to generate a useful API documentation. The final result of the files currently looks pretty much the same as they are now, but the content is retrieved from within the classes.

https://github.com/aschempp/contao-apidocs

@leofeyer @qzminski

(currently only class files are generated, the methods are not there yet)

header_callback nicht in Referenz

Der header_callback für Sortierungsmodus 4 ist in der Referenz nicht beschrieben.
DCA -> table -> list -> sorting -> header_callback

Relative links to images

@leofeyer GitHub now supports relative links to the images. However, what if we deploy to contao.org? I assume we are currently linking to GitHub?

Chapter 7 - Customizing the system configuration

Make sure to store your changes above the INSTALL TOOL START line, otherwise they will be removed by the settings module. And never use the config.phpfile to store configuration parameters, because the file might be overridden on updates!

Is it still valid ?

Question about the last paragraph of Chapter 3

Chapter 3 -> Access rights

Each level can have different permissions. By default, the owner of a page is
allowed to edit the page itself as well as its articles, whereas a member of the
group that owns a page is only allowed to edit articles. Unprivileged users have
no writing permissions at all.

It is not a member but a user.

... whereas a member of the ... -> ... whereas a user of the ...

Correct ?

Description about "[nbsp]" and friends?

Hi.

AFAIR, there is no description about [nbsp] syntax and its friends: [&] [-] [lt] [gt] [{] [}].
They should be described in Chpater 4.

BTW, how can I display "[lt]" within Text content element?

I can display [&] with [[[&]]] but not sure for others.

Best regards.

Benutzer Zugriff auf Artikeleinstellungen

Hallo
Aus meiner Sicht ist folgendes Verhalten nicht ganz konsequent:

Ein Benutzer, der keinerlei Zugriff auf die Artikeleinstellungen (Felder von tl_article) hat erhält in der Hauptansicht der Artikel das entsprechende Icon ("Einstellungen des Artikels ID xy bearbeiten") ausgegraut dargestellt. Soweit so gut.
Jedoch wird in der Ansicht eines einzelnen Artikels das Symbol wieder als aktiv dargestellt:

artikeleinstellungen

Ein Klick darauf führt auf eine Seite ohne jegliche Einstellungsmöglichkeiten und ist für Redakteure eher verwirrend.
Konsequenterweise müsste dieses Symbol doch auch ausgegraut sein.
Gruss, Luminanz

TL_HOOK validateFormField 2.11 (3.x?)

Bei dem Hook wird der callback mit DREI Parameter aufgerufen: ($objWidget, $formId, $arrData). Ref: modules/frontend/Form.php:177. In der Doku sind nur zwei.

Add better hints for manual updates

As you can read here: contao/core#6484

Some people have interessting update ways, wich won't work at all or causes many problems wich we have to discuss every time again.

So the update Process should contain more details like:

  • Not delete the config files like localconfig.php -> copy them after the file updates into the right place
  • create a complete file and database backup
  • do not delete partial contao folders -> delete all contao Folders
  • copy the extension folders into system/modules
  • after finished copy all files call contao/install.php

Maybe we should describe updates from:

  • 2.11 to 3.2
  • 3.0 to 3.2
  • 3.1 to 3.2

Am I missing something?
So please share your opinions ;)

Default documentation version

Currently, URLs like

are redirected to the Contao 3.0 documentation. In case of the requirements page, this is very misleading, because the URL is referenced on the download page and thus people downloading Contao 3.3 might get the impression, MySQL 4.1 might be sufficient for Contao.

I guess the URLs should always link to the most current documentation. On the downloads page, the requirements should be referenced separately for each version (3.x and LTS) because these requirements can differ from each other.

Markdown parser on Contao.org

I wonder how i could easily include the Markdown file in a contao page. Witch Markdown parser is used:

Leo wrote the following in the readme.md of the manual:

// The code goes here  ```{.php}  ```

GitHub can handle this syntax as well but our Markdown parser cannot handle the GitHub syntax.

A small example would be appreciated. Everithing i tried was not showing ```{.php} correctly

Hook "prepareFormData" missing in docs

I fell over this very usefull hook by inspecting Form.php in detail and I could successfully solve my problem with it. After a short check I found that it is missing in the docs.

Move the documentation to readthedocs.org

For almost one year now, there has been a French translation of the Contao user manual lying around on GitHub. It has not made its way to contao.org, because there is no French version of the website. And we have not moved the Contao documentation to a separate platform, because we could not agree on the parameters.

This is a shame and therefore I propose to move the Contao documentation to Read the Docs now.

Read the Docs is an online service, which automatically builds documentation from a Git repository. It supports versioning and multiple languages and it creates PDFs and ePubs in addition to the HTML output. Over 11,000 projects are currently using Read the Docs to document their applications, including e.g. phpMyAdmin. Read the Docs is built upon Sphinx, one of the most popular and widely used documentation tools.

Pros

  • The documentation will be independent from the main website
  • We can add as many translations as we want, even if there is no matching translation on contao.org
  • Each translation is maintained in a separate Git repository
  • All Git features are available (collaboration, pull requests, versioning etc.)
  • Every time a change is pushed to the Git repository, the docs are rebuilt automatically
  • We are using a standard format, which everyone can process using Sphinx
  • We can move away from readthedocs.org at any time if we should decide to host by ourselves
  • Read the Docs provides free hosting and a responsive default template

Cons

  • The current documentation has to be converted from markdown to restructured text
  • Restructured text is slightly more complicated than markdown (click here for a comparison)

However, the conversion from markdown to restructured text can be automated with a tool like Pandoc. I have already tested it and set up a proof of concept:

Proof of concept

http://contao.readthedocs.org/en/3.3/

If we should decide to go for Read the Docs, I would take care of converting the existing documents.

So, what do you think? Any questions or concerns? Any better ideas or alternatives?

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.