Merge branch 'master' into _31_interface_creation_parcours

This commit is contained in:
Mathieu Jaumotte 2021-04-19 19:19:19 +02:00
commit 69ea88a4d5
5 changed files with 19 additions and 182 deletions

View File

@ -14,7 +14,6 @@ As Chill rely on the `symfony <http://symfony.com>`_ framework, reading the fram
.. toctree:: .. toctree::
:maxdepth: 2 :maxdepth: 2
Install Chill for development <installation.rst>
Instructions to create a new bundle <create-a-new-bundle.rst> Instructions to create a new bundle <create-a-new-bundle.rst>
CRUD (Create - Update - Delete) for one entity <crud.rst> CRUD (Create - Update - Delete) for one entity <crud.rst>
Routing <routing.rst> Routing <routing.rst>

View File

@ -1,155 +0,0 @@
.. Copyright (C) 2014 Champs Libres Cooperative SCRLFS
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3
or any later version published by the Free Software Foundation;
with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
A copy of the license is included in the section entitled "GNU
Free Documentation License".
.. _installation-for-development :
Installation for development
****************************
Installation for development should allow:
- access to the source code,
- upload the code to our CVS (i.e. `git`_) and
- work with `composer`_.
As Chill is divided into bundles (the Symfony name for 'modules'), each bundle has his own repository.
Installation and big picture
----------------------------
First, you should install Chill as described in the :ref:`basic-installation` section.
Two things must be modified :
First, add the `--prefer-source` argument when you create project.
.. code-block:: bash
composer create-project chill-project/standard path/to/your/directory --stability=dev --prefer-source
Second, when composer ask you the following question : ::
Do you want to remove the existing VCS (.git, .svn..) history? [Y,n]?
**You should answer `n` (no).**
Once Chill is installed, all the downloaded bundles will be stored in the `/vendor` directories.
In those directories, you will have access to the git commands.
.. code-block:: bash
$ cd vendor/chill-project/main/
$ git remote -v
composer git://github.com/Chill-project/Standard.git (fetch)
composer git://github.com/Chill-project/Standard.git (push)
origin git://github.com/Chill-project/Standard.git (fetch)
origin git@github.com:Chill-project/Standard.git (push)
Files cleaning after installation
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Composer will delete unrequired files, and add some. This is perfectly normal and will appears in your git index.
But you should NOT delete those files.
This is the expected 'git status' result:
.. code-block:: bash
$git status
#(...)
Modifications qui ne seront pas validées :
(utilisez "git add/rm <fichier>..." pour mettre à jour ce qui sera validé)
(utilisez "git checkout -- <fichier>..." pour annuler les modifications dans la copie de travail)
modifié: app/SymfonyRequirements.php
supprimé: app/SymfonyStandard/Composer.php
supprimé: app/SymfonyStandard/RootPackageInstallSubscriber.php
modifié: app/check.php
You can ignore the local changes using the `git update-index --assume-unchanged` command.
.. code-block:: bash
$ git update-index --assume-unchanged app/check.php
$ git update-index --assume-unchanged app/SymfonyRequirements.php
$ git update-index --assume-unchanged app/SymfonyStandard/Composer.php
$ git update-index --assume-unchanged app/SymfonyStandard/RootPackageInstallSuscriber.php
Working with your own fork
^^^^^^^^^^^^^^^^^^^^^^^^^^
Ideally, you will work on a fork of the main github repository.
To ensure that composer will download the code from **your** repository, you will have to adapt the `composer.json` file accordingly, using your own repositories.
For each Chill module that you have forked, add an indexed array into the "repositories" key of the composer.json file
at the root of the chill installation directory if you want to force composer to download from your own forked repositories:
.. code-block:: json
"repositories": [
{
"type": "git",
"url": "git://github.com/your-github-username/ChillMain.git"
},
{
"type": "git",
"url": "git://github.com/your-github-username/Chill-Person.git"
}
]
Then run composer update to load your forked code.
If it does not happen, delete the content of the chill/vendor/chill-project/my_forked_bundle and relaunch composer update and the code will be downloaded from your fork.
.. code-block:: bash
composer update
You may also `use aliases <https://getcomposer.org/doc/articles/aliases.md>`_ to define versions.
.. _editing-code-and-commiting :
Editing the code and commiting
------------------------------
You may edit code in the `vendor/path/to/the/bundle` directory.
Once satisfied with your changes, you should commit as usually :
.. code-block:: bash
$ cd vendor/path/to/bundle
$ git status
Sur la branche master
Votre branche est à jour avec 'origin/master'.
rien à valider, la copie de travail est propre
.. warning
The git command must be run from you vendor bundle's path (`vendor/path/to/bundle`).
Tips
^^^^
The command `composer status` (`see composer documentation <https://getcomposer.org/doc/03-cli.md#status>`_) will give you and idea of which bundle has been edited :
.. code-block:: bash
$ cd ./../../ #back to the root project directory
$ composer status
You have changes in the following dependencies:
/path/to/your/project/install/vendor/chill-project/main
Use --verbose (-v) to see modified files
.. _git: http://git-scm.org
.. _composer: https://getcomposer.org

View File

@ -30,21 +30,14 @@ Contents of this documentation:
Let's talk together ! Let's talk together !
====================== ======================
Subscribe to the dev mailing-list to discuss your project and extend Chill with the feature you need! You may talk to developers using the matrix room: `https://app.element.io/#/room/#chill-social-admin:matrix.org`_
- `The dev mailing-list <https://lists.chill.social/listinfo/dev>`_
- `Read the archives of the mailing-list <https://lists.chill.social/pipermail/dev/>`_
Contribute Contribute
========== ==========
* `Issue tracker <https://git.framasoft.org/groups/Chill-project/issues>`_ You may want to dispatch the issue in the multiple projects. If you do not know in which project is located your bug / feature request, use the project Chill-Main. * `Issue tracker <https://gitlab.com/groups/Chill-project/issues>`_ You may want to dispatch the issue in the multiple projects. If you do not know in which project is located your bug / feature request, use the project Chill-Main.
* `The dev mailing-list <https://lists.chill.social/listinfo/dev>`_
Source code is dispatched in multiple bundle, to improve re-usability. Each bundle has dependencies with other chill bundle, but the developer take care that bundles may not be installed if the user do not need it.
User manual User manual
=========== ===========
@ -56,22 +49,22 @@ An user manual exists in French and currently focuses on describing the main con
Available bundles Available bundles
================= =================
* Chill-standard | https://git.framasoft.org/Chill-project/Chill-Standard This is the skeleton of the project. It does contains only few code, but information about configuration of your instance ; * Chill-app | https://gitlab.com/Chill-project/Chill-app This is the skeleton of the project. It does contains only few code, but information about configuration of your instance ;
* Chill-Main : https://git.framasoft.org/Chill-project/Chill-Main : the main, required bundle for all the subsequent chill bundles. It contains the framework to add features (like searching, timeline, ...). It also provides the user managements (authentification and authorization) ; * Chill-bundle: contains the main bundles, the most used in an instance. This means:
* Chill-Person : https://git.framasoft.org/Chill-project/Chill-Person This is the bundle which provides the possibility to create and add a person. * chill-main, the main framework,
* Chill-CustomFields : https://git.framasoft.org/Chill-project/Chill-CustomFields This bundle allows you to create custom fields on other bundles. It provides the framework for this features, and modify the schema according to this. It is required by Chill-Person and Chill-Report. * Chill Person, to deal with persons,
* Chill-Report: https://git.framasoft.org/Chill-project/Chill-Report This bundle allow to add report about People recorded in your database ; * chill custom fields, to add custom fields to some entities,
* Chill-Activity : https://git.framasoft.org/Chill-project/Chill-Activity This bundle allow to add activities about People recorded in your database ; * chill activity: to add activities to people,
* Chill-ICPC2 : https://git.framasoft.org/Chill-project/Chill-ICPC2 This bundle provides a custom fields for `ICPC code <https://en.wikipedia.org/wiki/International_Classification_of_Primary_Care>`_ (international classification for primary care) * chill report: to add report to people,
* Chill-Group: https://git.framasoft.org/Chill-project/Chill-Group This bundle provides a way to create link between accompanyed people * chill event: to gather people into events,
* Chill-Event: https://git.framasoft.org/Chill-project/Chill-Event This bundle provides a way to create event and associate people to event through a "participation" * chill docs store: to store documents to people, but also entities,
* Chill-Ldap: https://git.framasoft.org/Chill-project/Chill-Ldap Allow to synchronize the database with a ldap directory. * chill task: to register task with people,
* Chill-ONEStat : https://framagit.org/Chill-project/Chill-ONEStat Provide statistics for the Belgian one "Centre de vacances" and "Ecoles de devoir". * chill third party: to register third parties,
* chill family members: to register family members
You will also found the following projects : You will also found the following projects :
* The present documentation : https://git.framasoft.org/Chill-project/chill-documentation * The website https://chill.social : https://gitlab.com/Chill-project/chill.social
* The website https://chill.social : https://git.framasoft.org/Chill-project/chill.social
And various project to build docker containers with Chill. And various project to build docker containers with Chill.

View File

@ -27,13 +27,13 @@ Installation in development mode
1. Get the code 1. Get the code
=============== ===============
Clone or download the chill-standard project and `cd` into the main directory. Clone or download the chill-app project and `cd` into the main directory.
.. code-block:: bash .. code-block:: bash
git clone https://framagit.org/Chill-project/Chill-Standard.git git clone https://gitlab.com/Chill-Projet/chill-app.git
cd Chill-Standard cd chill-app
As a developer, the code will stay on your computer and will be executed in docker container. To avoid permission problem, the code should be run with the same uid/gid from your current user. This is why we get your current user id with the command ``id -u`` in each following scripts. As a developer, the code will stay on your computer and will be executed in docker container. To avoid permission problem, the code should be run with the same uid/gid from your current user. This is why we get your current user id with the command ``id -u`` in each following scripts.

View File

@ -1,6 +1,6 @@
<?php declare(strict_types=1); <?php declare(strict_types=1);
namespace Application\Migrations; namespace Chill\Migrations\Main;
use Doctrine\DBAL\Schema\Schema; use Doctrine\DBAL\Schema\Schema;
use Doctrine\Migrations\AbstractMigration; use Doctrine\Migrations\AbstractMigration;