seacms/docs/en/dev.md
2023-03-13 19:30:09 +01:00

3.4 KiB

Documentation for developpers

This package is the the main SeaCMS package.

Installation

  • install git
  • install composer
  • clone repository
    git clone https://git.defis.info/SeaCMS/seacms.git seacms
    
    _choose the folder name by replacing seacms in the command line by the wanted path or (equivalent to git clone)
    mkdir seacms
    cd seacms
    git init
    git remote add origin https://git.defis.info/SeaCMS/seacms.git
    git fetch --all
    git checkout master
    
  • then start composer install

If you want use one dependency in local

  • create the file main-config.json in root folder
  • keep on branch master
  • put this This will use symlink to these folders only if existing
{
    "local-repositories": {
        "composer-plugin": "seacms/composer-plugin",
        "pico-content-editor": "seacms/pico-content-editor",
        "pico": {
            "packageName": "picocms/pico",
            "version": "dev-fix-compatibility-php8"
        },
        "seacms-app": "seacms/seacms-app",
        "seacms-api": "seacms/seacms-api",
        "seacms-auth": "seacms/seacms-auth",
        "seacms-theme": "seacms/seacms-theme"
    }
}
  • type composer update in command line
  • be careful not to push composer.lock to main repo if you don't know what you are doing

If trouble during composer update, you can:

  1. clear cache composer cc
  2. delete folder vendor before composer update

TODO

  • set contact addresses into CODE_OF_CONDUCT.md files
  • update composer.json file as described below
  • create a SUPPORT.md file at the root
  • update content of .github/CONTRIBUTING.md
  • check content of .github/PULL_REQUEST_TEMPLATE.md
  • update docs (French + English) for installation

composer.json file

This files needs to be updated. Currently, it uses "minimum-stability": "dev", to allow usage of alpha revisions of packages.

TODO

add these fields :

    "name": "TODO To be defined",
    "description": "TODO to complete",
    "homepage": "TODO To set",
    "authors": [
        {
            "name": "xxx",
            "email": "TODO complete",
            "homepage": "TODO complete",
            "role": "Developer"
        },
        {
            "name": "xxx",
            "email": "TODO complete",
            "homepage": "TODO complete",
            "role": "Developer"
        },
    ],
    "support": {
        "email": "support@example.org",
        "issues": "url",
        "source": "url",
        "docs": "url",
        "chat": "url",
        "rss": "url",
    },
    "funding": [
        {
            "type": "patreon",
            "url": "https://www.patreon.com/phpdoctrine"
        },
        {
            "type": "tidelift",
            "url": "https://tidelift.com/subscription/pkg/packagist-doctrine_doctrine-bundle"
        },
        {
            "type": "other",
            "url": "https://www.doctrine-project.org/sponsorship.html"
        }
    ]

.github folder

It was choosen to name the folder as .github to allow compatibility for forks on GitHUb even if the folder could be named .gitea.

reserved folders' name

  • vendor for composer
  • node_modules for npm and yarn
  • archives for archives' creation
  • sites for subsites on a farm
  • public for assets public/img public/js public/css , ....
  • p for main content path