Giter VIP home page Giter VIP logo

thelia.github.io's Introduction

Readme

Warning

This is the development repository of Thelia. If you want to create a project, please take a look at thelia/thelia-project

If you want to download a packaged, ready-to-use distribution of the most recent version of Thelia please download thelia.zip

Thelia

Actions Status: test Scrutinizer Quality Score Discord Shield

Thelia is an open source tool for creating e-business websites and managing online content. This software is published under GNU General Public License v3.0.

A repository containing all thelia modules is available at this address : https://github.com/thelia-modules

Compatibility

Thelia 2.3 Thelia 2.4 Thelia 2.5
PHP 5.5 5.6 7.0 7.1 7.0 7.1 7.2 7.3 8.0.2 8.1 8.2
MySQL 5.5 5.6 5.5 5.6 5.7 5.6 5.7 8.0
Symfony 2.8 2.8 6.0 6.3

Requirements

  • PHP
    • Required extensions :
      • PDO_Mysql
      • openssl
      • intl
      • gd
      • curl
      • dom
    • safe_mode off
    • memory_limit at least 128M, preferably 256.
    • post_max_size 20M
    • upload_max_filesize 2M
    • date.timezone must be defined
  • Web Server Apache 2 or Nginx

MySQL 5.6

As of MySQL 5.6, default configuration sets the sql_mode value to

STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION

This 'STRICT_TRANS_TABLES' configuration results in SQL errors when no default value is defined on NOT NULL columns and the value is empty or invalid.

You can edit this default config in /etc/my.cnf and change the sql_mode to remove the STRICT_TRANS_TABLES part

[mysqld]
sql_mode=NO_ENGINE_SUBSTITUTION

Assuming your sql_mode is the default one, you can change the value directly on the run by running the following SQL Command

SET @@GLOBAL.sql_mode='NO_ENGINE_SUBSTITUTION', @@SESSION.sql_mode='NO_ENGINE_SUBSTITUTION'

For more information on sql_mode you can consult the MySQL doc

Archive builders

Thelia's archive builder's needs external libraries. For zip archives, you need PECL zip. See PHP Doc

For tar archives, you need PECL phar. Moreover, you need to deactivate php.ini option "phar.readonly":

phar.readonly = Off

For tar.bz2 archives, you need tar's dependencies and the extension "bzip2". See PHP Doc

For tar.gz archives, you need tar's dependencies and the extension "zlib". See PHP Doc

Download Thelia 2 and install its dependencies

You can get the sources from git and then let composer install dependencies, or use composer to install the whole thelia project into a specific directory

Using git for download and composer for dependencies

$ git clone --recursive https://github.com/thelia/thelia path
$ cd path
$ git checkout 2.5.4
$ curl -sS https://getcomposer.org/installer | php
$ php composer.phar install

Using composer for both download and dependencies

$ curl -sS https://getcomposer.org/installer | php
$ php composer.phar create-project thelia/thelia path/ 2.5.4

If something goes wrong during the install process, you can restart Thelia install wizard with the following command : php composer.phar run-script post-create-project-cmd

Install it

You can install Thelia by different way

Using install wizard

Installing thelia with the web install wizard allow to create an administrator, add some informations about your shop, etc

First of all, you have to configure a vhost as describe in configuration section.

The install wizard in accessible with your favorite browser :

https://yourdomain.tld/[/subdomain_if_needed]/install

For example, I have thelia downloaded at https://thelia.net and my vhost is correctly configured, I have to reach this address :

https://thelia.net/install

Using cli tools

$ php Thelia thelia:install

You just have to follow all instructions.

Docker and docker compose

This repo contains all the configuration needed to run Thelia with docker and docker-compose. Warning, this docker configuration is not ready for production.

It requires obviously docker and docker-compose

To install Thelia within Docker, run :

./start-docker.sh

It will ask you for a template name (usually your project name) if you don't have a .env file but you can create the .env by yourself, take a look at .env.docker to make your own.

If your folder template does not exist it will copy the "modern" template.

Next just go to http://localhost:8080 and you should see your Thelia installed !

And run the same command everytime you want launch your Thelia.

If you want add some sample data just add the option -demo

./start-docker.sh -demo

If you want to access your database from your computer (with DBeaver, Sequel Pro or anything else) by default the host is localhost and the port is 8086

Using Makefile

To install Thelia, run :

make install

If you have been missing ACTIVE_FRONT_TEMPLATE and/or ACTIVE_ADMIN_TEMPLATE, you should set them up in .env.local and launch :

make install-front
make build

If you need an example of thelia database, you can run:

make import-demo-db

Documentation

Thelia documentation is available at https://doc.thelia.net

Contribute

See the documentation : https://doc.thelia.net/docs/contribute

If you submit modifications that adds new data or change the structure of the database, take a look to https://doc.thelia.net/docs/contribute#sql-scripts-modification

Community

Join the conversation and help the community :

Twitter Discord StackOverflow Forum

thelia.github.io's People

Contributors

acobster avatar anthonymeedle avatar asenar avatar bcbrr avatar benoitmariaux avatar bibich avatar bilhackmac avatar cgarnier avatar driou avatar enurit avatar etienneroudeix avatar gillesbourgeat avatar gmichard avatar gmorel avatar informatiqueprog avatar kadmelia avatar kevinseebach avatar lopes-vincent avatar lovenunu avatar lucanis avatar lunika avatar mespeche avatar nicolasleon avatar roadster31 avatar simplon-benjaminb avatar vigourouxjulien avatar zzuutt avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

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

thelia.github.io's Issues

Confusing documentation for submitting API requets

This sentence is confusing :

If you want to create a something, you have to send the following fields with the POST method.

The request is POSTed, but the data should be sent in the request body as JSON data, and not as request parameters, as the sentence suggests.

Same remark about updating, with PUT.

FeatureValue loop documentation is wrong

$FREE_TEXT_VALUE is 1 or NULL, and duplicates $IS_FREE_TEXT (this is a BC break !)

The feature text is always returned in $TITLE.

$CHAPO, $DESCRIPTION, $POSTSCRIPTUM, $POSITION are not valued if $IS_FREE_TEXT is 1 (in fact, they're never valued, as the BO does not provide a way to input them).

warning after composer install

Generating autoload files
Warning: Ambiguous class resolution, "lessc" was found in both mypath/thelia/vendor/oyejorge/less.php/lessc.inc.php" and "mypath\thelia\vendor\leafo\lessphp\lessc.inc.php", the first will be used.

Wrong help in Admin hook

"You can discover all available hooks if you put SHOW_INCLUDE=1 in your query string"

you have to put SHOW_HOOK=1 to discover all hooks

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.