Skip to content
This repository has been archived by the owner on Jan 6, 2023. It is now read-only.

v8.0.0 #1516

Merged
merged 232 commits into from
Dec 4, 2019
Merged

v8.0.0 #1516

Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
232 commits
Select commit Hold shift + click to select a range
92b32ed
Issue Fix #1180 (#1183)
binal-7span Aug 8, 2019
d76604a
Issue fix #1191 (#1192)
binal-7span Aug 12, 2019
2c54210
Issue fix #1196 (#1197)
urvashi-7span Aug 13, 2019
8bfd3f3
Add 2fa authentication (#1031)
OscBacon Aug 13, 2019
7785140
Issue Fix #1194 (#1195)
binal-7span Aug 14, 2019
3650a2c
Valildation issue of O2M/M2O at insertion (#1198)
binal-7span Aug 14, 2019
a8ad383
Fox #1201 (#1202)
binal-7span Aug 19, 2019
6064072
Fix #1203 (#1204)
binal-7span Aug 19, 2019
777dae2
Update collections() method in types.php (#1184)
yarick2000 Aug 19, 2019
ca81131
Improve YouTube Embed Provider (#1210)
VincentDatrier Aug 26, 2019
09db18d
Add check for environment on bootstrap (#1215)
WoLfulus Aug 26, 2019
89c146c
Fix #1186 [Create new error code for invalid login entity] (#1218)
binal-7span Aug 27, 2019
e7d9b2f
Fix #1217 (Changing password over the CLI doesn't work) (#1220)
binal-7span Aug 27, 2019
da97928
Feature/audio video upload (#1214)
shartley76 Aug 27, 2019
7ee2157
Fix #1207 [Permission denied issue when using translation interface]…
urvashi-7span Aug 27, 2019
3ae9ac4
Merge branch 'master' into develop
rijkvanzanten Aug 27, 2019
2186d40
Fix for smtp send mail issue #1205 (#1223)
verbman Aug 29, 2019
3909826
Fix 1232[Auth token is not refreshed] (#1233)
binal-7span Aug 29, 2019
423da57
Change Authencation Error code to 114 from 109 (#1231)
binal-7span Aug 29, 2019
db22ae5
Fix issue while update item. (#1224)
hemratna Aug 30, 2019
efa8410
#1227 : Ignore all the alias fields except file interface (#1240)
itsmerhp Sep 2, 2019
3102972
Fix #1224 [Deletion of m2o/o2m field error for enabled cache] (#1241)
binal-7span Sep 2, 2019
fc04577
Fix 845 (#1244)
hemratna Sep 3, 2019
b6766a3
Fix #1238 [PDF support for Embedded URL] (#1245)
binal-7span Sep 3, 2019
d01f9ed
Fix #1243[Dynamic charset for DB] (#1246)
binal-7span Sep 3, 2019
78d3bb4
Fix #1249[saveData: height is set to width] (#1251)
binal-7span Sep 4, 2019
7fe9056
Fix #2017[Renaming `Public` role gives `unauthorized` error on API ca…
binal-7span Sep 4, 2019
960fdd4
Revert "Fix #2017[Renaming `Public` role gives `unauthorized` error o…
binal-7span Sep 4, 2019
644039f
FIX/core/Directus/Files.php: return $height instead of $width (#1250)
guidoschmidt Sep 4, 2019
763f68a
Fix #1255 [Add support of batch Create/Update/Delete for user] (#1257)
binal-7span Sep 4, 2019
81f6e7c
Fix directus/app#2017 (#1256)
binal-7span Sep 4, 2019
a148699
Fix #729 [Can't properly query nested fields on Files field] (#1260)
binal-7span Sep 5, 2019
802b877
#1216 : Solved issue in O2M relationship of table itself (#1259)
itsmerhp Sep 5, 2019
1e30669
Fix #1209 [M2M relation with directus_collections cant be saved] (#1261)
binal-7span Sep 6, 2019
99fc5a0
🙆🏻‍♂️
rijkvanzanten Sep 6, 2019
39a5086
Fix #1266 (#1267)
binal-7span Sep 9, 2019
d1411db
Fix Warning: Cannot use a scalar value as an array in /src/core/Dire…
jbalatero Sep 10, 2019
3e24335
Fix Notice: Undefined variable: filterFields in src/core/Directus/Dat…
jbalatero Sep 10, 2019
1425812
Fix #1237 (#1265)
binal-7span Sep 10, 2019
1cf6440
Project name fix (#1272)
WoLfulus Sep 11, 2019
a4edb27
Adds support for environment variables in CLI (#1276)
WoLfulus Sep 12, 2019
bf34888
Cleans up some unused/deprecated files in the repository (#1277)
WoLfulus Sep 12, 2019
3741d8d
Fix #1248 [API cannot go into deeper on user data] (#1282)
binal-7span Sep 13, 2019
393a6f9
Add proper exit codes for CLI (#1281)
WoLfulus Sep 13, 2019
8980182
Fix cache.enabled not respected in cache service (#1273)
jbalatero Sep 13, 2019
ea3ee26
Add CLI cache:clear (#1274)
jbalatero Sep 13, 2019
e3c7eb3
Fix #1284[Broken user related fields] (#1287)
binal-7span Sep 16, 2019
55bb876
Fix #1279 [wysiwyg-full - add image - Call to a member function isOne…
binal-7span Sep 16, 2019
8a1187f
fixed bug with incorrect height (#1293)
shartley76 Sep 17, 2019
8d61b85
Merge branch 'master' into develop
rijkvanzanten Sep 24, 2019
3cf153a
Execute migrations automatically (#1296)
binal-7span Sep 24, 2019
767bd1d
Fix #1302 - Internal server error when selecting/checking a Checkbox …
jbalatero Sep 25, 2019
c327061
Fix #1308 - Checkbox-relational field issue when unchecking value (#1…
jbalatero Sep 25, 2019
f19b018
Add Aliyun OSS settings to config schema (#1299)
putrasattvika Sep 25, 2019
8bb9842
Extend config schema to support PDO options. (#1295)
scottmckenzie Sep 25, 2019
31b6edc
Replcae with getQueryParams method of slim (#1313)
binal-7span Sep 25, 2019
5e662f7
Fix Undefined Variable - /src/core/Directus/Console/Common/Setting.ph…
jbalatero Sep 25, 2019
1c56c0c
Replace with getQueryParams method of slim (#1317)
binal-7span Sep 26, 2019
d2763af
Fix response data contains json object instead of array (#1318)
jbalatero Sep 26, 2019
6dbf808
Fix #1310[Resolve issue with updatingNestd m2o/o2m/m2m] (#1320)
binal-7span Sep 26, 2019
1a6a4d8
Fix #1321 [Resolve bug with system date and system user validation] (…
binal-7span Sep 27, 2019
335fb9f
Resolve Authentication token issue after upgrade to 2.6.0 (#1326)
binal-7span Sep 30, 2019
18c2b09
Fix #1329 [Add new fields to / endpoint] (#1332)
binal-7span Oct 1, 2019
e6b1491
fix issue #1330 (#1331)
markus-mnm Oct 1, 2019
fe0fe66
Rename color with project_color key (#1334)
binal-7span Oct 2, 2019
c2c7fa1
Fix #1333 [Return Unauthorised when public role not have the respecte…
binal-7span Oct 3, 2019
9e3ba06
Session-based auth flow along with kill functionality (#1280)
binal-7span Oct 6, 2019
1478487
Fix empty FK - do not continue if FK is empty, otherwise, it will not…
jbalatero Oct 7, 2019
6a28db1
Fix #1343 [Update directus_files field type] (#1346)
binal-7span Oct 9, 2019
8a7154d
fix parsing env variables (#1347)
nachogarcia Oct 14, 2019
b8f32c1
Fix CORS issue for system endpoint (#1352)
binal-7span Oct 15, 2019
f329df3
Fix #1348 (#1353)
binal-7span Oct 15, 2019
82e06ab
Fix wrong chache naming. (#1354)
Oct 17, 2019
37ef295
Fix issue when deleting a file and saving the item (#1360)
jbalatero Oct 21, 2019
681e588
Fix #1359 [Pagination not working] (#1362)
binal-7span Oct 21, 2019
3ddd4c7
fix readme ( branch to submit PRs "master" -> "develop") (#1365)
PostPollux Oct 21, 2019
27ed2d1
Ignore ddev config folder
rijkvanzanten Oct 22, 2019
864308a
Fix unaccessible public endpoints (#1367)
binal-7span Oct 22, 2019
50ac257
Fix CORS origin * for public preflight endpoints (#1369)
binal-7span Oct 23, 2019
23a8de4
add gitpod.io support (#1356)
PostPollux Oct 23, 2019
ee8671d
Add requires2FA flag at / endpoint (#1370)
binal-7span Oct 24, 2019
77ae215
Set default value if the value is not set (#1373)
binal-7span Oct 25, 2019
324762c
CORS issue for public endpoint (#1374)
binal-7span Oct 26, 2019
2d3f002
Fix Warning: Illegal string offset 'field' in src/endpoints/Settings…
jbalatero Oct 26, 2019
cdd37c6
Fetch single sign on providers
rijkvanzanten Oct 28, 2019
851ae73
style updates (#1382)
benhaynes Oct 29, 2019
72afacc
Update withHeaders + add note
rijkvanzanten Oct 31, 2019
c0051e1
Fix #1384 [Remove entries from directus_relations on delete the colle…
binal-7span Nov 4, 2019
315ba66
Fix #1381 [Throwing 500 response code on mail sending fail] (#1387)
binal-7span Nov 5, 2019
8c83b79
Fix #1329 [Update the name of variable from settings table] (#1389)
binal-7span Nov 5, 2019
483e065
Fix the general settings schema upgrade - consider the new installati…
arboehme Nov 6, 2019
952cbeb
New project flow (#1399)
binal-7span Nov 7, 2019
2f3b620
Check requirement endpoint (#1398)
binal-7span Nov 7, 2019
d85e015
Update ProjectService.php
binal-7span Nov 7, 2019
d240020
Don't verify super admin with hashing
rijkvanzanten Nov 7, 2019
0eaef90
Remove warning of non static method 'createJsonFileContent' for proje…
binal-7span Nov 8, 2019
42a75a2
Remove _ as private flas (#1403)
binal-7span Nov 8, 2019
23cfac4
Remove password_verfiy and add equals operator
binal-7span Nov 8, 2019
6420b0e
Fix integrity constraint (#1400)
binal-7span Nov 8, 2019
cfe939e
Update 2FA flow to work with cookies
rijkvanzanten Nov 8, 2019
2e82a8c
clearer existing install response
benhaynes Nov 9, 2019
861f29b
update error message
benhaynes Nov 9, 2019
8ac377b
Fix #1380 [Set default requires2FA flag] (#1388)
binal-7span Nov 11, 2019
35b5299
Redirect the users to /admin in sso (#1407)
binal-7span Nov 11, 2019
14c2eec
Default to UTC timezone on new project installs (when there's no config)
rijkvanzanten Nov 11, 2019
9c82bd4
update sso icon colors
benhaynes Nov 11, 2019
c5abb02
Update the size of token field
binal-7span Nov 11, 2019
c7383c3
Update the size of token field
binal-7span Nov 11, 2019
d5cb2f3
Update the size of static token
binal-7span Nov 11, 2019
30aa1e6
Resolve redirection to /admin?
binal-7span Nov 11, 2019
7b0e959
Add missing 2fa secret column in seeds
rijkvanzanten Nov 11, 2019
6b0c6fd
Merge branches 'develop' and 'develop' of github.com:directus/api int…
rijkvanzanten Nov 11, 2019
5f73465
Throw exception for SSO (#1411)
binal-7span Nov 11, 2019
f99e96f
Throw the exception when 2FA enforced or enabled
binal-7span Nov 11, 2019
ab1241a
Fix 2fa column
rijkvanzanten Nov 11, 2019
5a50ca5
Fix 2fa column
rijkvanzanten Nov 11, 2019
a6e48ee
Ignore the files which start with _
binal-7span Nov 11, 2019
334c90b
Restrict private and _ project from listing (#1415)
binal-7span Nov 12, 2019
379457d
Add a validation of boolean to private flag.
binal-7span Nov 12, 2019
0491f6a
Fix #1395[/server/ping should ignore project] (#1416)
binal-7span Nov 12, 2019
41fd0b6
Update error code for unknown project exception
binal-7span Nov 12, 2019
19cdc49
Update FieldsConfig.php (#1413)
yarick2000 Nov 12, 2019
bfdfa49
Remove unwanted files (#1421)
binal-7span Nov 12, 2019
e0630e8
V8.0.0 (#1414)
rijkvanzanten Nov 12, 2019
2269c5d
directus settings seeder updates
benhaynes Nov 12, 2019
9e68275
Add support for webhooks
rijkvanzanten Nov 12, 2019
4e0e765
directus users seeds
benhaynes Nov 12, 2019
26318b3
Merge branch 'develop' of https://github.com/directus/api into develop
benhaynes Nov 12, 2019
cf99ccb
remove unused seeder data
benhaynes Nov 12, 2019
91474ab
missing comma
benhaynes Nov 12, 2019
d940133
Added missing comma
binal-7span Nov 12, 2019
4d4431e
settings defaults
benhaynes Nov 12, 2019
25ef1c3
setup telemetry and default locale
benhaynes Nov 12, 2019
9d15783
Remove directus activity seen table (#1422)
binal-7span Nov 12, 2019
c4b5d34
webhooks seeds
benhaynes Nov 12, 2019
8efe413
webhooks update
benhaynes Nov 12, 2019
d6d447b
Rename webhook draft->inactive published->active + delete deleted
rijkvanzanten Nov 12, 2019
9ce20d4
update webhooks schema migrations
benhaynes Nov 12, 2019
3d13c0b
Merge branch 'develop' of github.com:directus/api into develop
rijkvanzanten Nov 12, 2019
c4b1602
webhooks url placeholder
benhaynes Nov 12, 2019
2a29c16
Merge branch 'develop' of https://github.com/directus/api into develop
benhaynes Nov 12, 2019
7ba07f4
Use collections interface for collection chooser on webhooks
rijkvanzanten Nov 12, 2019
ce58cb5
webhooks info
benhaynes Nov 12, 2019
2d612d4
Don't enforce user.locale to be set
rijkvanzanten Nov 12, 2019
80f323f
Bump version
rijkvanzanten Nov 12, 2019
2560280
hide dividers on browse
benhaynes Nov 12, 2019
498122c
nice defaults for webhooks layout
benhaynes Nov 12, 2019
c1efb13
better webhooks layout
benhaynes Nov 12, 2019
0f2ca5b
Revert "Fix issue when deleting a file and saving the item (#1360)" (…
binal-7span Nov 13, 2019
8066f99
Revert "Fix the general settings schema upgrade - consider the new in…
binal-7span Nov 13, 2019
d102543
Update the current migrations for remove unwanted code and update the…
binal-7span Nov 13, 2019
268efac
Merge branch 'master' into develop
rijkvanzanten Nov 13, 2019
1583dcf
Fix #1429 [Activity datetime is incorrect] (#1430)
binal-7span Nov 14, 2019
9147bac
add directus user theme field
benhaynes Nov 15, 2019
267f2b8
Update migration files to check if column exist then pnly drop (#1436)
binal-7span Nov 15, 2019
d97b8b8
Add DB condition in migration to check whether column exists.
binal-7span Nov 15, 2019
c3692ed
Fix Constant Imagick::ALPHACHANNEL_REMOVE is undefined (#1438)
jbalatero Nov 18, 2019
1709d10
Add Migration for theme (#1444)
binal-7span Nov 18, 2019
0c1cb8b
Fix #1442 [Reset password throws email error on inactive user] (#1445)
binal-7span Nov 18, 2019
4e41a43
Update syntax for insert
binal-7span Nov 18, 2019
ab64dac
User role m2m to o2m (#1435)
binal-7span Nov 18, 2019
25a1af5
Fix #1434 [Clean up /projects /server/projects setup] (#1439)
binal-7span Nov 18, 2019
aa9f396
Fix #1429 [Convert current timezone to UTC timezone] (#1447)
binal-7span Nov 19, 2019
68e1717
Fix #1450 (#1451)
urvashi-7span Nov 20, 2019
868cd52
Fix #1417 [Resolve edit permission is required to create a file] (#1452)
binal-7span Nov 20, 2019
68822e0
Revert " Fix #1450 (#1451)" (#1454)
rijkvanzanten Nov 20, 2019
b3102e9
Fix project install
rijkvanzanten Nov 20, 2019
5f8abf4
Stop migrations execution for server endpoints (#1453)
binal-7span Nov 20, 2019
3664613
Fix #1449 [Support _ for projectname] (#1455)
binal-7span Nov 21, 2019
3bc38d5
Support for redis cluster (#1441)
hufon Nov 21, 2019
3ee5eb3
Bump version
rijkvanzanten Nov 21, 2019
5f61f05
Merge branch 'master' into develop
rijkvanzanten Nov 21, 2019
cac7ed1
Use -1 for undefined error code
rijkvanzanten Nov 22, 2019
205688a
Log errors to file on failed sso
rijkvanzanten Nov 22, 2019
b014371
Add migrations for using repeater for collection translations
rijkvanzanten Nov 22, 2019
94eaf1a
Make the api endpoint /server/projects works with docker environments…
hufon Nov 25, 2019
ecd1499
Fix #1450 [Installer creates format issues in config file] (#1472)
binal-7span Nov 25, 2019
6f411be
Fix #1427 (#1469)
binal-7span Nov 25, 2019
ae2d697
Adding command line support for new project flow (#1464)
binal-7span Nov 25, 2019
f8e0fd3
Make the use if the telemetry service configurable (#1420)
arboehme Nov 26, 2019
af04f1d
Fixed primary key fields Graphql definition (#1418)
boris-burgos Nov 26, 2019
18c0673
Migration changes (#1466)
binal-7span Nov 26, 2019
f26b8ab
Remove check for libapache2_mod_php (#1479)
rijkvanzanten Nov 26, 2019
46ef865
Rename page->module (#1485)
rijkvanzanten Nov 26, 2019
60eb656
Don't raise the required error if the field has a default value (#1487)
rijkvanzanten Nov 26, 2019
df37e85
Replace nav_override with collection / module listing
rijkvanzanten Nov 26, 2019
8fd805c
Fix #1488 (#1489)
binal-7span Nov 27, 2019
6517386
Fix #1462 [Authentication API return user object] (#1490)
binal-7span Nov 27, 2019
39fee53
Fix #1483 [activity_skip doesnt work on delete file] (#1491)
binal-7span Nov 27, 2019
ae6ca87
Fix width on wrong value
rijkvanzanten Nov 27, 2019
1f9444b
Fix collection listing not using right options
rijkvanzanten Nov 27, 2019
ab48e0e
Update the options based on seeder
binal-7span Nov 27, 2019
cada95f
Rework the thumbnailer (#1467)
urvashi-7span Nov 27, 2019
cbd1475
MIgration changes (#1495)
binal-7span Nov 27, 2019
e65d3f7
Render original path as full_url
binal-7span Nov 27, 2019
32f44ff
Use color interface for project color
rijkvanzanten Nov 27, 2019
37ea57d
Update migrations for setings
rijkvanzanten Nov 27, 2019
04305e1
Fix thumbnailer enabled check + * generation
rijkvanzanten Nov 27, 2019
fb60857
Cleanup settings migrations
rijkvanzanten Nov 27, 2019
104feaa
Rename thumbnail_whitelist to asset_whitelist
rijkvanzanten Nov 27, 2019
7b81728
Fix non-key whitelisted asset
rijkvanzanten Nov 27, 2019
1a3a39f
Update migrations
rijkvanzanten Nov 28, 2019
588f71e
Add contain constraint
rijkvanzanten Nov 28, 2019
a8657f6
Remove hardcoded settings validation
rijkvanzanten Nov 28, 2019
c3b985a
Remove default project based empty folders
rijkvanzanten Nov 28, 2019
6ec1c37
Use generated as default thumbnail location
rijkvanzanten Nov 28, 2019
96f5d19
Config updates (#1484)
rijkvanzanten Nov 28, 2019
bdb5a69
Ignore _ prefixed config files everywhere
rijkvanzanten Nov 28, 2019
a8312a1
Make durations readonly
rijkvanzanten Nov 28, 2019
fddd940
Use tags for ip whitelist
rijkvanzanten Nov 28, 2019
e0df2aa
Clear whitespace + set duration to readonly
rijkvanzanten Nov 28, 2019
3f62a49
Fix #1497 [V8 fresh install is broken]
binal-7span Nov 28, 2019
b318910
Add migration for migrating advanced wysiwyg to wysiwyg
rijkvanzanten Nov 29, 2019
c2ba085
Fix deleting file type fields from collection
rijkvanzanten Nov 29, 2019
2f317c4
Update the thumbnailer (#1506)
rijkvanzanten Dec 2, 2019
fa2f57b
Don't return thumbnail info for svgs
rijkvanzanten Dec 2, 2019
a405ba5
update example config comments
benhaynes Dec 2, 2019
915bd53
remove leading slash from example
benhaynes Dec 2, 2019
d3cdb83
Have migrations (#1509)
rijkvanzanten Dec 3, 2019
9909e74
Use system collections in directus activity main view
rijkvanzanten Dec 3, 2019
0bfa16f
Handle error : Use of undefined constant ERROR_MESSAGE
binal-7span Dec 3, 2019
8a361fd
Rebuild the 2FA query (#1510)
binal-7span Dec 3, 2019
21277ab
Fix #1508 [Deleting a file attached to an item deletes the item] (#1512)
binal-7span Dec 3, 2019
94b5feb
Update type of enforce_2fa from array to boolean
binal-7span Dec 3, 2019
e1301dc
Update type of enforce_2fa from array to boolean
binal-7span Dec 3, 2019
ecc5578
Fix #1473 [Remove cookie if token is invalid] (#1513)
binal-7span Dec 3, 2019
953c19b
Update README.md
rijkvanzanten Dec 3, 2019
3c72e56
Update README.md
rijkvanzanten Dec 3, 2019
bfd8aa2
Add uploads folder to base structure
rijkvanzanten Dec 3, 2019
6dc59d4
Fix _.php config name + remove duplicate code
rijkvanzanten Dec 4, 2019
6364a0c
Also migrate wysiwyg_full
rijkvanzanten Dec 4, 2019
982e6ad
Bump version
rijkvanzanten Dec 4, 2019
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ deploy.*

# Ignore configuration files
/config/*
!/config/api_sample.php
!/config/_example.php

# PHPUnit
/phpunit.xml
Expand Down
178 changes: 16 additions & 162 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,173 +1,27 @@
<p align="center">
<a href="https://directus.io" target="_blank" rel="noopener noreferrer">
<img src="https://user-images.githubusercontent.com/522079/43096167-3a1b1118-8e86-11e8-9fb2-7b4e3b1368bc.png" width="140" alt="Directus Logo"/>
</a>
</p>
<h1>
<img src="https://user-images.githubusercontent.com/522079/43096167-3a1b1118-8e86-11e8-9fb2-7b4e3b1368bc.png" width="40" alt="Directus Logo"/>&nbsp;&nbsp;Directus API</h1>

<p>&nbsp;</p>
> Looking for the full Directus suite? Checkout [the `directus/directus` repo](https://github.com/directus/directus)!

<h1 align="center">
The All-New Directus 7<br>Future-Proof Headless CMS
</h1>
## Description

<h3 align="center">
<a href="https://directus.io">Website</a> •
<a href="https://docs.directus.io">Docs</a> •
<a href="https://docs.directus.io/api/reference.html">API Reference</a> •
<a href="https://docs.directus.io/guides/user-guide.html">User Guide</a> •
<a href="https://directus.app">Demo</a> •
<a href="https://docs.directus.io/getting-started/supporting-directus.html">Contribute</a> •
<a href="https://twitter.com/directus">Twitter</a>
</h3>
The Directus API is a PHP powered REST / GraphQL API that acts as a layer on top of a relational database.

<p>&nbsp;</p>
## Installation / Usage

> _The Directus 7 App has been rebuilt from the ground-up in Vue.js and decoupled from our new "versionless" API. Both can easily be customized and extended to suit your project's needs._
**NOTE**: Unless you're contributing to the project, you shouldn't build the API from source. Use [`directus/directus`](/directus/directus) instead.

<p>&nbsp;</p>
1. Clone the repo
2. Install the depencencies using `composer`: `composer install`
3. Run the application using any local server, like MAMP, DDEV, Docker, or any other (preferably) Apache installation.

## 🐰 Introduction
## Core Team

Directus is an open-source suite of software that provides an instant API wrapper for SQL databases and an intuitive Admin App for non-technical users to manage that content. It's like a safe, friendly, and super-powered "database client" (eg: _PHP-my-Admin_ or _Sequel Pro_). Created in 2004, our premium platform powers hundreds-of-thousands of data-driven applications around the world. With our JSON API, webhooks, and complete control over where and how your content is used — what will you build with Directus?
* [Ben Haynes](https://github.com/benhaynes) _(Project Lead)_
* [Rijk van Zanten](https://github.com/rijkvanzanten) _(Tech Lead)_

* **[Directus API](https://github.com/directus/api)** — Wraps any new or existing SQL database with RESTful JSON endpoints for connecting content anywhere: websites, native apps, wearables, IoT devices, kiosks, or anything else!
* **[Directus Admin App](https://github.com/directus/app)** — A friendly admin interface built with Vue.js that works in conjunction with our API to allow non-technical users to manage database content and digital assets.
* **[Directus Suite](https://github.com/directus/directus)** A package that combines our API, Admin App, and all dependencies for quick and easy installation on most servers.
[Advisors, Sponsors, Partners, and Key Contributors](https://directus.io/organization.html#the-team)

<p>&nbsp;</p>
## License

## ✨ Key Concepts

### Database-First

Directus follows a database-first approach, storing all of your data _unaltered_ in pure SQL databases with that can be completely customized.

#### Access and Optimization

Directus mirrors _your_ actual database so it will automatically stay in sync with any changes made directly to the database! With the full power of SQL unlocked, you can:

1. Architect your actual database with meaningful table and column names
2. Infinitely optimize with indexing, datatypes, lengths, defaults, keys, encoding, etc
3. Update your database schema at any point and Directus will instantly reflect changes
4. Create, update, and delete content directly from the database

#### Direct Access

This database-first approach means that you have the option to completely bypass Directus if needed. Connecting your application _directly_ to the database means Directus is completely bypassed, removing even the slightest possiblility of a bottleneck, and giving you the unbridled power of complex SQL queries.

#### Portability and Transparency

Directus is _not_ a black-box system. There is nothing proprietary or opinionated about how Directus stores your content so you're never locked-in or locked out. Import existing SQL to get started quickly, and rest assured that you can also export your unaltered content as vanilla SQL at any point. You can also self-host the entire suite on your own servers if needed or use our hosted Cloud service.

#### Complex Relationships

Whether you need many-to-one, one-to-many, many-to-many, or something completely different... Directus has you covered. You can interrelate database fields, then fetch deeply nested data using our robust dot-notation parameters.

### Simple, Modular and Extensible

We've intentionally kept our codebase as simple and lightweight as possible. Every aspect of Directus has been modularized, with many options for extending, overriding, or even bypassing the core system. Choose your auth providers, storage adapters, content interfaces, data presentation, and more. We also have webhooks, event hooks, API response filters, custom endpoints, CSS/JS override files, and much more.

Furthermore, because the codebase has been internally decoupled, Directus supports full multitenancy. You can use a single Directus App to manage multiple Directus API instances, and each API instance can manage multiple databases (projects or environments).

### Internationalization and Accessibility

Directus allows you to manage multilingual content in as many languages as your project needs. And no matter what language(s) your organization requires, our Admin App supports a growing number of locales. We've also paid close attention to our Admin App's interface to ensure it is as clear and accessible as possible for all users.

<p>&nbsp;</p>

## 📖 Documentation

* [What is Directus?](https://docs.directus.io/getting-started/introduction.html#what-is-directus)
* [Installing the Directus Suite](https://docs.directus.io/getting-started/installation.html)
* [Extending Directus](https://docs.directus.io/extensions/)
* Directus App
* [App Docs](https://docs.directus.io/advanced/app/standalone.html)
* [User Guide](https://docs.directus.io/guides/user-guide.html)
* [Install the App](https://docs.directus.io/advanced/app/standalone.html#installation)
* Directus API
* [API Docs](https://docs.directus.io/advanced/api/standalone.html)
* [API Reference](https://docs.directus.io/api/reference.html)
* [Install the API](https://docs.directus.io/advanced/api/standalone.html#installation)
* Tutorials
* [Tutorials](https://medium.com/directus)
* [Videos](https://www.youtube.com/playlist?list=PLD--x9rY3ZL31stRPkA4FdGC4idIM-8-d)

<p>&nbsp;</p>

## 🤲 Help & Resources

### Technical Support

* **Community Support** — For help with open-source instances please post questions with the `directus` tag on [Stack Overflow](https://stackoverflow.com/questions/tagged/directus) or chat with members of our online community.
* **Premium Support** — Directus Cloud customers, Patreon Sponsors, and those paying for hourly support all have access to our Live support over our [Live Chat](https://directus.io) or [Email](mailto:support@directus.io).

### Community

* **[Slack](https://directus.chat)** — Come join over a thousand members discussing the future of Directus. Our helpful members are also quick to offer advice for simple questions you may have while getting started.
* **[Twitter](https://twitter.com/directus)** — Follow us on Twitter to be the first to hear about product updates, see sneak peeks of new features, and vote on polls regarding the future of our platform.

### GitHub Tickets

* **Reporting Bugs** — If you believe you've found a bug in the Directus Core codebase, please submit new tickets to either the [App](https://github.com/directus/app/issues/new?template=Bug_report.md) or the [API](https://github.com/directus/api/issues/new?template=Bug_report.md). **For all security related issues, please chat with us directly through [directus.io](https://directus.io/).**
* **Requesting Features** — Feature requests are managed as GitHub issues within the appropriate Directus repository. Before making a new submission, first [browse existing feature requests](https://github.com/directus/app/issues?q=is%3Aissue+is%3Aopen+sort%3Areactions-%2B1-desc+label%3Aenhancement) using the `enhancement` label. If you find a similar request, simply vote for it using the :+1: or :-1: reactions and add any additional context in the comments. If _not_, [add a new feature request](https://github.com/directus/app/issues/new?template=Feature_request.md) by completing the provided template.

### Online Demos

We have two online demos available so you can easily check out Directus in action. These demos are public and is therefore susceptible to trolls who think it's funny to write offensive things or change the master user password. The entire database is reset each hour to mitigate this. The login credentials for both demos: `admin@example.com` and `password`

* **[Stable](https://directus.app)** — This demo showcases the [latest release](https://github.com/directus/directus/releases/latest) of the Directus suite.
* **[Nightly](https://nightly.directus.app)** — This demo uses the [latest commits](https://github.com/directus/directus/commits/master) from the `master` branch.

<p>&nbsp;</p>

## ❤️ Supporting Directus

Directus is a GPLv3-licensed open source project with development made possible by support from our core team, contributors, and sponsors. It's not easy building premium open-source software; if you would like to help ensure Directus stays free, please consider becoming a sponsor.

* [Become a backer or sponsor through Patreon](https://www.patreon.com/directus)
* [One-time donation through PayPal](https://www.paypal.me/supportdirectus)
* [Other ways to help](https://docs.directus.io/getting-started/supporting-directus.html)


### Contributing

We love pull-requests! To work on Directus you'll need to install it locally from source by following the instructions below. Submit all pull-requests to the `develop` branch of our `api` and `app` repositories.

* [Setup API Development Environment](https://docs.directus.io/advanced/source.html#api-source)
* [Setup App Development Environment](https://docs.directus.io/advanced/source.html#application-source)

If you want to dive right into the code and skip the manual setup of your development environment you can also spin up fully functional browser based development environments with a single click:

* [Start API Gitpod Workspace](https://gitpod.io/#https://github.com/directus/api)
* [Start APP Gitpod Workspace](https://gitpod.io/#https://github.com/directus/app)

### Sponsors

[RANGER Studio](http://rangerstudio.com), Bas Jansen

### Core Team

<table>
<tr>
<td>
<a href="https://github.com/benhaynes"><img width="160px" src="https://user-images.githubusercontent.com/522079/42234532-dfa61084-7ec2-11e8-96df-23aa48c6d450.jpg"><br>
Ben Haynes</a><br>
<i>Project Lead</i>
</td>
<td>
<a href="https://github.com/rijkvanzanten"><img width="160px" src="https://github.com/rijkvanzanten.png"><br>
Rijk van Zanten</a><br>
<i>App Lead</i>
</td>
</tr>
</table>

**[Advisors, Sponsors, Partners, and Key Contributors](https://directus.io/organization.html#the-team)**

<p>&nbsp;</p>

----

<p align="center">
Directus is released under the <a href="http://www.gnu.org/copyleft/gpl.html">GPLv3</a> license. <a href="http://rangerstudio.com">RANGER Studio LLC</a> owns all Directus trademarks and logos on behalf of our project's community. Copyright © 2006-2018, <a href="http://rangerstudio.com">RANGER Studio LLC</a>.
</p>
Directus is released under the [GPLv3](http://www.gnu.org/copyleft/gpl.html) license. [RANGER Studio LLC](https://rangerstudio.com) owns all Directus trademarks and logos on behalf of our project's community. Copyright © 2006-2019, [RANGER Studio LLC](https://rangerstudio.com).
170 changes: 170 additions & 0 deletions config/_example.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,170 @@
<?php

// Directus Project Config Example

// Directus config files control everything that the API needs to know in order to run a project.
// This includes database credentials, where to save files, and what social providers to allow

return [
'database' => [
'type' => 'mysql', // Only mysql is supported
'host' => 'localhost',
'port' => 3306,
'name' => 'directus',
'username' => 'root',
'password' => 'root',
'engine' => 'InnoDB',
'charset' => 'utf8mb4',
// 'socket' => '', // Path to socket. Remove the `host` key above when using sockets
// 'driver_options' => [ // Other MYSQL_PDO options. Can be used to connect to the database
// // over an encrypted connection. For more information, see
// // https://www.php.net/manual/en/ref.pdo-mysql.php#pdo-mysql.constants
// PDO::MYSQL_ATTR_SSL_CAPATH => '/etc/ssl/certs',
// ]
],

'cors' => [
'enabled' => true, // Enable or disable all CORS headers
'origin' => ['*'], // Access-Control-Allow-Origin
'methods' => [ // Access-Control-Allow-Methods
'GET',
'POST',
'PUT',
'PATCH',
'DELETE',
'HEAD',
],
'headers' => [], // Access-Control-Allow-Headers
'exposed_headers' => [], // Access-Control-Expose-Headers
'max_age' => null, // Access-Control-Allow-Max-Age
'credentials' => false, // Access-Control-Allow-Credentials
],

'rate_limit' => [
'enabled' => false, // Enable or disable all rate limiting
'limit' => 100, // Number of requests allowed...
'interval' => 60, // ...during this interval (in seconds)
'adapter' => 'redis', // Where to save the rate limit tmp data
'host' => '127.0.0.1',
'port' => 6379,
'timeout' => 10 // Timeout from API to rate limit storage adapter
],

'storage' => [
'adapter' => 'local', // What storage adapter to use for files
// Defaults to the local filesystem. Other natively supported
// options include: Amazon S3, Aliyun OSS
// You'll need to require the correct flysystem adapters through Composer
// See https://docs.directus.io/extensions/storage-adapters.html#using-aws-s3

'root' => 'public/uploads/project-name/originals', // Where files are stored on disk
'thumb_root' => 'public/uploads/project-name/thumbnails', // Where thumbnails are stored on disk
'root_url' => '/uploads/project-name/originals', // Where files are accessed over the web

'proxy_downloads' => false, // Use an internal proxy for downloading all files

// S3
////////////////////////////////////////
// 'key' => 's3-key',
// 'secret' => 's3-secret',
// 'region' => 's3-region',
// 'version' => 's3-version',
// 'bucket' => 's3-bucket',
// 'options' => [
// 'ACL' => 'public-read',
// 'Cache-Control' => 'max-age=604800'
// ],
// 'endpoint' => 's3-endpoint',

// Aliyun OSS
////////////////////////////////////////
// 'OSS_ACCESS_ID' => 'aliyun-oss-id',
// 'OSS_ACCESS_KEY' => 'aliyun-oss-key',
// 'OSS_ENDPOINT' => 'aliyun-oss-endpoint',
// 'OSS_BUCKET' => 'aliyun-oss-bucket',
],

'mail' => [
'default' => [
'transport' => 'smtp', // How to send emails. Supports `smtp` and `sendmail`
'from' => 'no-reply@example.com', // The sender of the email

// SMTP
////////////////////////////////////////
'host' => 'smtp.example.com',
'port' => 25,
'username' => 'smtp-user',
'password' => 'd1r3ctu5',
'encryption' => 'tls'
],
],

'cache' => [
'enabled' => false, // Cache all API responses
'response_ttl' => 3600, // Keep the cache for n seconds
'pool' => [
'adapter' => 'apc', // What adapter to use to store the cache in
// Supports: apc, apcu, filesystem, memcached,
// memcache, redis

// Filesystem
////////////////////////////////////////
// 'path' => '../cache/',

// memcached, memcache, redis
////////////////////////////////////////
// 'host' => 'localhost',
// 'port' => 11211,
],
],

'auth' => [
'secret_key' => '1234', // Used in the oAuth flow
'public_key' => '9876',
'social_providers' => [
// 'okta' => [
// 'client_id' => '',
// 'client_secret' => '',
// 'base_url' => 'https://dev-000000.oktapreview.com/oauth2/default'
// ],
// 'github' => [
// 'client_id' => '',
// 'client_secret' => ''
// ],
// 'facebook' => [
// 'client_id' => '',
// 'client_secret' => '',
// 'graph_api_version' => 'v2.8',
// ],
// 'google' => [
// 'client_id' => '',
// 'client_secret' => '',
// 'hosted_domain' => '*',
// 'use_oidc_mode' => true,
// ],
// 'twitter' => [
// 'identifier' => '',
// 'secret' => ''
// ]
]
],

'hooks' => [ // https://docs.directus.io/extensions/hooks.html#creating-hooks
'actions' => [],
'filters' => [],
],

'tableBlacklist' => [], // What tables to globally ignore within Directus

'env' => 'production', // production, development, or staging
// Production silences stack traces and error details in API output

'logger' => [
'path' => '../logs', // Where to save warning and error logs for the API
],

'feedback' => [
'token' => '123', // Not currently used
'login' => true // Not currently used
],
];
Loading