joomla / framework.joomla.org

Application powering the internet home of the Joomla! Framework
https://framework.joomla.org
GNU General Public License v2.0
37 stars 30 forks source link
application joomla php

Joomla! Framework Site

This application is the code powering the Joomla! Framework website.

Requirements

Installation

  1. Clone this repo on your web server
  2. Run the composer install command to install all dependencies
  3. Copy etc/config.dist.json to etc/config.json and configure your environment (see below for full details on the configuration)
  4. Run vendor/bin/phinx migrate to set up the database

Seeding Database

To seed the database with the Framework package data, the following steps should be taken:

  1. Run the bin/framework package:sync command, this will load the packages table based on the contents of the packages.yml file at the repository root
  2. Run the bin/framework packagist:sync:releases command, this will load the releases table with all stable releases that have been tagged based on the Packagist API response
  3. Run the bin/framework packagist:sync:downloads command, this will load the download counts for all packages into the database
  4. (NOT REQUIRED SINCE PAGE IS DISABLED) Run the bin/framework github:contributors command, this will query the GitHub API to get all code contributors for each package

Modifying Web Assets

The web assets (CSS, JavaScript, and images) are compiled and processed with Laravel Mix which is a wrapper around webpack. The primary source for all assets is the assets directory, running Mix will place production assets into the www/media directory.

The use of Mix requires NPM as hinted at in the Installation section. NPM 5+ and Node 8+ are required. Three scripts are available:

This site makes use of Subresource Integrity (SRI), therefore the integrity hashes must be regenerated after compiling assets. This can be done by running the bin/framework template:generate-sri command.

Database Schema

The database schema is managed through Phinx. The phinx.php file at the root of this repo configures the Phinx environment. Please see their documentation for more information.

Application Configuration

The application's configuration is defined as follows: