Skip to content

Commit

Permalink
PHRAS-3838 Change log and readme update (#4311)
Browse files Browse the repository at this point in the history
* Change log and readme update

* docker compose readme update
  • Loading branch information
nmaillat authored May 11, 2023
1 parent 21c9747 commit 8638769
Show file tree
Hide file tree
Showing 2 changed files with 134 additions and 31 deletions.
107 changes: 107 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,112 @@
# CHANGELOG

# CHANGELOG

## 4.1.7

### Update instructions :

- If you come from a 4.1.6 version : Nothing special except for the primary datastore backup before performing an update.

- If you come from an earlier version : you need to manually perform a "drop", "create", "populate" of elasticsearch index.

### Version summary :
- General improvement for the report and introducing bin/report for report export automation
- Authentication improvement in supporting multiple IDPs.
- Adding log cleaning feature


# Release notes - Phraseanet - 4.1.7


### Stack (docker compose, helm)

we have bumped minimal version for docker and docker compose.
the dc helper functionality is now compliant with docker compose (see readme).

### New Features & Improvements

```
PHRAS-3297 Send an email to users once a year to get approval for accounts
PHRAS-2872 Phraseanet Authentication uses phrasea auth service as idp
PHRAS-2995 Add phraseanet-service as Oauth service provider for Phraseanet 4.1
PHRAS-3694 bin/maintenance clean:users, add more parameters
PHRAS-3779 Prod - expose-cli - IDP integration
PHRAS-3728 Multiple SAML Idp support
PHRAS-3812 Docker-compose RabbitMQ define hostname and database name
PHRAS-3783 Prod - Order manager - Adding Download Expiration date
PHRAS-3804 Home - Acceptio Cookies consent provider integration - GDPR
PHRAS-3823 Report - bin/report a command line report generator
PHRAS-3828 bin/report and GUI Export databox content
PHRAS-1718 Bump recaptcha version
PHRAS-1974 Autodelete inactive users after a given period
PHRAS-3813 bin/maintenance clean databox's logs table
PHRAS-3819 Bin/maintenance clean webhook's log - WebhookEvents
PHRAS-3152 Bin/maintenance Cleaner for table "LazaretSessions"
PHRAS-3462 Bin/maintenance clean:apilog and clean:WorkerRunningJob - applicationbox
PHRAS-473 Prod - Advanced search - display fields labels and other improvements
PHRAS-2759 Report - Adding a feature in Report to display all documents sent by email
PHRAS-3318 Authentication : Saml Authentication in docker and kubernetes context
PHRAS-3596 Prod - Expose client - Filtering Expose publications and other GUI improvements
PHRAS-3598 Webhook - Emit improvement - Count and Log errors - stop to notify endpoint in error.
PHRAS-3683 Docker Compose - dc functionality improvement - support space in env value
PHRAS-3794 Install - elasticsearch configuration - \`populate\_order\` became \`MODIFICATION\_DATE\` by default
PHRAS-3798 bin/setup - system:config set - filtering sensitive credentials on stdout
PHRAS-3738 Admin - worker - job tab - Adding filter on databox , date, record_id
PHRAS-3754 Admin - user detail - more tab Record ACL, publications and baskets
PHRAS-3761 Admin - worker manager - jobs - running process - computation of current duration
PHRAS-3793 Shared baskets - Update record_right when a share expires
PHRAS-3802 Home - forgotten password - change end user message
PHRAS-3807 Border manager - lazaret - more default file extension lib/conf.d/configuration.yml
PHRAS-3816 Improvement of db index on WorkerRunningJob table
PHRAS-3821 Docker - Faster start for fpm and worker container
PHRAS-3822 Prod : Improve Image Watermarking
PHRAS-3825 Admin - worker manager - queue - add filter "Hide empty queues"
PHRAS-3826 ci - ci refactoring - migrate to github action
PHRAS-3827 Admin - users list - keep selection and page when validate or back in users edit
PHRAS-3739 Add JQ (php extension) to the stack
PHRAS-3764 Missing string - Check spelling for the pop up "empty collection"
PHRAS-3778 Docker - logs output optim for fpm, workers, scheduler, gateway
PHRAS-3830 Prod - advanced search - operator for field type number
PHRAS-3832 Report - download record list - improvement
PHRAS-3833 Report - export databox action and others fixes
PHRAS-3838 Prod - Expose - v2 - flatten assets break
PHRAS-3765 Oauth2 : allow to pass client custom parameters into session
```

### Bugs


```
PHRAS-3702 Migration patch error 4.1.6-rc3 to 4.1.6-rc4 bin/setup system:upgrade always fail on basket table
PHRAS-2948 Quarantine checker - fix checker deactivation
PHRAS-3273 Prod - mapbox user pref - map\_zoom generates an error when is memorized by mapboxgl and read by mapboxJS
PHRAS-3569 Prod - video tools - sometimes an ERROR occurs about a record file type
PHRAS-3664 Prod - record moving between collections action : no retry on indexation failure
PHRAS-3757 Phraseanet - Phrasea Uploader - multivalued fields are merge in one value
PHRAS-3758 Prod - Baskets - Unable to start a feedback from the Action menu
PHRAS-3782 Preview "train" keyboard navigation crashes on page-1
PHRAS-3785 Stamp is KO, resulting err500 in download
PHRAS-3791 SAML AUTHENTICATION : Log out generates an 500 error
PHRAS-3795 Prod - fix 404 on GET assets/common/css/fonts/icomoon.woff
PHRAS-3800 Prod - xss injection with filename
PHRAS-3806 ps-auth : Flushing rights when changing group is not working
PHRAS-3808 Prod - video tools - Hiding "video tools" menu item when user doesn't have this right
PHRAS-3811 docker-compose fix typo in writeMetadatas service profiles
PHRAS-3814 Share basket fix migration patch
PHRAS-3815 Prod - share basket - wrong object in sent email
PHRAS-3818 Prod- Expose cli - several fix
PHRAS-3824 xss on preview
PHRAS-3829 Prod - basket content - Design is broken for screen "set order"
PHRAS-3831 Admin - submit xml setting return an 500 error
PHRAS-3836 Admin - status bits name - fix character encoding
PHRAS-3837 Docker - fix image build
PHRAS-3820 Migration - fix migration patch 4.0 to 4.1.7
PHRAS-3817 Webhook - created subdef - permalink is empty
PHRAS-3314 Prod - Expose - Publication with huge amount of assets - loading assets is very long - wrong UX
```


## 4.1.6

### Update instructions
Expand Down
58 changes: 27 additions & 31 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ https://www.phraseanet.com/en/download/
You can also ```git clone``` this repository for dev and/or test.


In each case, Phraseanet includes Dockerfile for building images and Docker-compose deployment.
In each case, Phraseanet includes Dockerfile for building images and ```Docker compose``` deployment.


See below for more information about Prerequisites and how to personalize the stack deployed.
Expand All @@ -57,8 +57,8 @@ In a terminal from the Phraseanet repository launch



docker-compose build
docker-compose up -d
docker compose build
docker compose up -d

After installation process, the default parameters allow you to reach the app on : `http://localhost:8082`
Expand Down Expand Up @@ -96,10 +96,10 @@ Get official support : https://www.alchemy.fr/en/rubrique/services/

## Prerequisites

- docker-compose >=v1.29.2
- docker >=v19.03.13

In the stack Docker, Docker-Compose included in this repo starts by default in test mode.
- docker >=v20.10.24

In the stack Docker, Docker Compose included in this repo starts by default in test mode.
All services are launched in a separate container and except "Phraseanet app" and "workers" containers,
it can be replaced by an external service.
This is especially recommended to use your SGBD (Mariadb or MySql) service for a production use.
Expand All @@ -120,7 +120,7 @@ eg :

- Pma etc...

Refer to .env file and docker-compose files or on documentation for stack compositing.
Refer to ```.env``` file and ```docker compose``` files or on documentation for stack compositing.

https://docs.phraseanet.com/4.1/en/Admin/EnvironnementVariables.html

Expand Down Expand Up @@ -154,7 +154,7 @@ Windows : https://hub.docker.com/editions/community/docker-ce-desktop-windows

## Stack description and customization

We provide a Dockerfile for build images and docker-compose for deployment
We provide a Dockerfile for build images and several ```docker-compose...``` for deployment.

Use ```COMPOSE_FILE``` and ```COMPOSE_PROFILES``` env variables for composing this deployment.

Expand Down Expand Up @@ -205,32 +205,28 @@ You can add your `env.local` at the root of this project and define a command fu

```bash
#######################################
# Docker-compose helper:
# Docker compose helper:
# Locate first defined environment
# file and inject variables found in
# docker-compose command.
# docker compose command.
# Arguments:
# command (string)
# Usage example:
# dc up -d
#######################################
dc()
{
local envFilesSearchList=(".env.local" "env.local")

for i in "${envFilesSearchList[@]}"; do
if [[ -f "$i" ]]; then
echo -e "\nEnvironment file: \e[107m\e[42m $i \e[0m\n"
eval env "$(cat < $i | grep -v '#' | sed -e 's/=\([^\x27"].*[^\x27"]\)/="\1"/g' | tr '\n' ' ' )" docker-compose "$@"
return 1

function dc() {
for envFile in {".env.local","env.local"}; do
if [ -f ${envFile} ]; then
docker compose --env-file=.env --env-file=${envFile} $@
return
fi
done

echo -e "\n\e[107m\e[41m No Environment file \e[0m\n"
docker-compose "$@"
docker compose $@
}
```
> Note that helper function only works with `"docker-compose"` (and not `"docker compose"`).
> Note that helper function only works with `"docker compose"` .
### Phraseanet Docker Images

Expand All @@ -248,7 +244,7 @@ PHRASEANET_DOCKER_REGISTRY=alchemyfr
```
and launch

```docker-compose pull```
```docker compose pull```

> Pulling images from Docker Hub takes ~ 3 minutes, depending on your bandwith
Expand All @@ -257,7 +253,7 @@ and launch

launch

```docker-compose build```
```docker compose build```


> The first build takes ~ 30 minutes on host without any Docker building cache, depending on your bandwith and the host capacity.
Expand All @@ -266,7 +262,7 @@ launch
### Running the application


docker-compose up -d
docker compose up -d


The default parameters allow you to reach the app with : `http://localhost:8082`
Expand Down Expand Up @@ -319,13 +315,13 @@ COMPOSE_PROFILES=app,gateway-classic,db,pma,elasticsearch,redis,rabbitmq,workers

You can run it with:

docker-compose up -d
docker compose up -d

The environment is not ready yet: you have to fetch all dependencies.

This can be made easily from the builder container:

docker-compose run --rm -u app builder make install install_composer_dev
docker compose run --rm -u app builder make install install_composer_dev

> Please note that the phraseanet image does not contain nor `composer` neither `node` tools. This allows the final image to be light.
> If you need to use dev tools, ensure you are running the `builder` image!
Expand All @@ -336,9 +332,9 @@ This can be made easily from the builder container:
You can also obtain a shell access in builder container:

```bash
docker-compose run --rm builder /bin/bash
docker compose run --rm builder /bin/bash
# or
docker-compose run --rm builder /bin/zsh
docker compose run --rm builder /bin/zsh
```

In this container you will have the same libraries (PHP, Node, composer, ...) that are used to build images.
Expand Down Expand Up @@ -370,7 +366,7 @@ You have to set the following env:
XDEBUG_REMOTE_HOST=host.docker.internal
```

> Don't forget to recreate your container (`docker-compose up -d phraseanet`)
> Don't forget to recreate your container (`docker compose up -d phraseanet`)
### Build images with plugins

Expand Down Expand Up @@ -400,7 +396,7 @@ export PHRASEANET_SSH_PRIVATE_KEY=$(openssl rsa -in ~/.ssh/id_rsa -out /tmp/id_r
#### Running workers

```bash
docker-compose -f docker-compose.yml run --rm worker <command>
docker compose -f docker-compose.yml run --rm worker <command>
```

Where `<command>` can be:
Expand Down

0 comments on commit 8638769

Please sign in to comment.