Giter VIP home page Giter VIP logo

alchemy-fr / phraseanet Goto Github PK

View Code? Open in Web Editor NEW
237.0 24.0 97.0 330.14 MB

Digital Asset Management PHP app

Home Page: http://www.phraseanet.com

License: Other

JavaScript 11.45% Makefile 0.01% PHP 68.48% Pascal 0.03% Shell 0.40% CSS 0.21% HTML 2.09% Smarty 0.05% PureBasic 0.02% Batchfile 0.01% Rich Text Format 0.32% Dockerfile 0.04% SCSS 3.99% Twig 12.86% Jinja 0.02% Puppet 0.03%
php docker docker-compose dam mam digital-asset-management media-asset-management phraseanet single-page-applications kubernetes

phraseanet's Introduction

Phraseanet 4.1 - Digital Asset Management application

CI

Main Features :

  • Several GUI : Prod, Admin, Thesaurus, Lightbox, Report,
  • Metadata Management (includes Thesaurus and DublinCore Mapping)
  • RestFull APIS
  • Elasticsearch search engine
  • Multiple resolution assets generation
  • Advanced Rights Management
  • Duplicates management
  • SSO
  • Thesaurus
  • Publications
  • Collaborative editing and approval process
  • Video tools
  • Rich ecosystem: Plugins for Wordpress, Drupal and Adobe Creative Suite.

and much more

Phraseanet Prod

License :

Phraseanet is licensed under GPL-v3 license.

Documentation :

https://docs.phraseanet.com/

For development with Phraseanet API, see https://docs.phraseanet.com/4.1/en/Devel/index.html

Installation and Quick Launch:

You can download a packaged version here:

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.

See below for more information about Prerequisites and how to personalize the stack deployed.

But in fact, if you have Docker Prerequisites, Phraseanet can be deployed and installed with these 2 simple commands.

In a terminal from the Phraseanet repository launch

docker compose build
docker compose up -d 

After installation process, the default parameters allow you to reach the app on : http://localhost:8082 Default see Phraseanet credentials defined in .env file.

PHRASEANET_ADMIN_ACCOUNT_EMAIL

PHRASEANET_ADMIN_ACCOUNT_PASSWORD

Note : This install will be made with default password for all services. Except for a test, This is VERY important to customize .env file and define your own password.

For installation on your own mono-tenant or multi-tenant infrastructure (mysql, elasticsearch, redis, etc) stack, follow the install steps described at

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

We do not recommend using this method anymore.

Need help implementing Phraseanet?

Ask the community: https://groups.google.com/g/phrasea-install-en

Get official support : https://www.alchemy.fr/en/rubrique/services/

Phraseanet with Docker:

Prerequisites

  • 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. The SGBD is one of primary Datastore, running the container included in this stack in "Production" required some tuning regarding the volumes of your datas.

Filer service is provided by the hosts.

All port numbers are the default service given by the vendor and can be changed with ENV Variables except for the NFS.

For dev and testing, the stack include also some Tools containers and can be launched by compositing the stack.

eg :

  • Builder

  • Mailhog

  • Pma etc...

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

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

Phraseanet architectur

Note about elasticsearch container, check this link

https://www.elastic.co/guide/en/elasticsearch/reference/current/docker.html#docker-prod-prerequisites

What is docker? Read this:

https://www.docker.com/get-started

Host requirement:

Linux : https://hub.docker.com/search?q=&type=edition&offering=community&operating_system=linux

Macintosh : https://hub.docker.com/editions/community/docker-ce-desktop-mac

Windows : https://hub.docker.com/editions/community/docker-ce-desktop-windows

Note: All our images are Linux based, so with Macintosh and Windows hosts, the containers run in vm provided by Docker. For optimal performances, prefer a Linux host.

Stack description and customization

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.

By default COMPOSE_FILE and COMPOSE_PROFILES is set for deploying a test stack including containers.

phraseanet_db_1                 
phraseanet_elasticsearch_1                                                              
phraseanet_gateway_1                                                            
phraseanet_mailhog_1                                  
phraseanet_phraseanet_1                                                                       
phraseanet_rabbitmq_1
phraseanet_redis_1                                                                                    
phraseanet_worker_1 

At first launch of the stack, the Setup container plays install. It will restart until it can do this installation: waiting for readiness of all other containers. At each container starting , setup container reaplying also some PHRASEANET_* environement variable into Phraseanet configuration.yml file.

default configuration is

COMPOSE_FILE=docker-compose.yml:docker-compose.datastores.yml:docker-compose.tools.yml
COMPOSE_PROFILES=app,gateway-classic,db,pma,elasticsearch,redis,redis-session,rabbitmq,workers,mailhog,setup

You should review the default env variables defined in .env file. Use export method to override these values.

i.e:

export PHRASEANET_DOCKER_TAG=latest
export [email protected]
export INSTALL_ACCOUNT_PASSWORD=$3cr3t!
export PHRASEANET_APP_PORT=8082

If you are not interested in the development of Phraseanet, you can ignore everything in .env after the DEV Purpose part.

Using a env.local method for custom .env values

It may be easier to deal with a local file to manage our env variables.

You can add your env.local at the root of this project and define a command function in your ~/.bashrc or ~/.zshrc:

#######################################
# Docker compose helper:
#   Locate first defined environment
#   file and inject variables found in
#   docker compose command.
# Arguments:
#   command (string)
# Usage example:
#   dc up -d
#######################################

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

  docker compose $@
}

Note that helper function only works with "docker compose" .

Phraseanet Docker Images

You have two choices

Use the prebuild image from dockerhub, see DockerHub section bellow for more information.

set env var
PHRASEANET_DOCKER_REGISTRY

i.e:

# Registry from where you pull Docker images
PHRASEANET_DOCKER_REGISTRY=alchemyfr

and launch

docker compose pull

Pulling images from Docker Hub takes ~ 3 minutes, depending on your bandwith

Build local images

launch

docker compose build

The first build takes ~ 30 minutes on host without any Docker building cache, depending on your bandwith and the host capacity.

Running the application

docker compose up -d

The default parameters allow you to reach the app with : http://localhost:8082

Phraseanet images from Docker Hub

Retrieve on Docker Hub prebuilt images for Phraseanet.

https://hub.docker.com/r/alchemyfr/phraseanet-fpm

https://hub.docker.com/r/alchemyfr/phraseanet-worker

https://hub.docker.com/r/alchemyfr/phraseanet-nginx

https://hub.docker.com/repository/docker/alchemyfr/phraseanet-db

https://hub.docker.com/repository/docker/alchemyfr/phraseanet-elasticsearch

Tag organization on Docker Hub

latest : latest stable version

4.1.2 : Phraseanet version 4.1.2

4.1.1 : Phraseanet version 4.1.1

Etc

nightly : Development version, the latest version with successful automated tests. Built and published every night

Development mode

The development mode uses the docker-compose-override.yml file, so you need to set COMPOSE_FILE and COMPOSE_PROFILE env

COMPOSE_FILE=docker-compose.yml:docker-compose.datastores.yml:docker-compose.tools.yml:docker-compose.override.yml
COMPOSE_PROFILES=app,gateway-classic,db,pma,elasticsearch,redis,rabbitmq,workers,mailhog,builder

You can run it with:

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

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!

Developer shell

You can also obtain a shell access in builder container:

docker compose run --rm builder /bin/bash
# or
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. Also you have utils for development like telnet, ping, ssh, git, ... Your $HOME/.ssh directory is also mounted to builder's home with your ssh agent.

Using Xdebug

Xdebug is enabled by default with the docker-compose.override.yml You can disable it by setting:

export XDEBUG_ENABLED=0

Remote host is fixed because of the subnet network from compose.

You need to configure file mapping in your IDE. For PhpStorm, you can follow this example:

PhpStorm mapping

Configure the Absolute path on the server to /var/alchemy/Phraseanet at the project root path (i.e. ~/projects/Phraseanet).

Xdebug on MacOS

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)

Build images with plugins

Plugins can be installed during build if you set the PHRASEANET_PLUGINS env var as follows:

PHRASEANET_PLUGINS="https://github.com/alchemy-fr/Phraseanet-plugin-expose.git"

# You can optionally precise the branch to install
# If not precised, the main branch will be pulled
PHRASEANET_PLUGINS="[email protected]:alchemy-fr/Phraseanet-plugin-webgallery.git(custom-branch)"

# Plugins are separated by semicolons
PHRASEANET_PLUGINS="[email protected]:foo/bar.git(branch-1);[email protected]:baz/42.git"

Prefer the HTTPS URL for public repositories, you will not be required to provide your SSH key.

If you install private plugins, make sure you export your SSH private key content in order to allow docker build to access the GIT repository: Also ensure you're using the SSH URL form (i.e: [email protected]:alchemy-fr/repo.git).

export PHRASEANET_SSH_PRIVATE_KEY=$(cat ~/.ssh/id_rsa)
# or if your private key is protected by a passphrase:
export PHRASEANET_SSH_PRIVATE_KEY=$(openssl rsa -in ~/.ssh/id_rsa -out /tmp/id_rsa_raw && cat /tmp/id_rsa_raw && rm /tmp/id_rsa_raw)

Running workers

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

Where <command> can be:

  • bin/console worker:execute -m 2 (default)
  • bin/console task-manager:scheduler:run
  • ...

Try Phraseanet with Pre installed VM (deprecated)

You can also download a testing pre installed Virtual Machine in OVA format here :

https://www.phraseanet.com/download/

phraseanet's People

Contributors

4rthem avatar alexandrebrach avatar anthonycabot avatar aynsix avatar aztech-dev avatar bartoua avatar bburnichon avatar bitdeli-chef avatar chammach avatar csaoh avatar damienalexandre avatar dependabot[bot] avatar filipx avatar gjacobjn avatar greenj avatar hravalomanana avatar jschne avatar jygaulier avatar kallooasan avatar kwemi avatar lostdalek avatar mdarse avatar mike-esokia avatar moctardiouf avatar nlegoff avatar nmaillat avatar romainneutron avatar scrutinizer-auto-fixer avatar weblate avatar xrousset78800 avatar

Stargazers

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

Watchers

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

phraseanet's Issues

Wrong item count in feed content

Hi,

When I try to retrieve feed content on /api/v1/feeds/content/ or /api/v1/feeds/<feed_id>/content/ with a per_page query parameter higher than 20, I only get returned 5 results.

M.

Pb d'affichage - module Lightbox

J'ai deux écran. Dans le module Lightbox, lorsque qu'ils sont tous les deux activés, le scrollbar disparait et il m'est impossible de "descendre" et de voir le bas des pages. Idem lorsque je suis dans un panier, je ne voit pas les "preview" du bas.
Lorsque je dé-active, un des deux écrans, tout apparait normalement.

Bigrhum.

Can't Compile

Hello,

I have SLES 11 SP1

I installed all the pre-requisites, below I've posted my log.
You will see the compile problems at the end


./configure

checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for a sed that does not truncate output... /usr/bin/sed
checking for cc... cc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether cc accepts -g... yes
checking for cc option to accept ISO C89... none needed
checking how to run the C preprocessor... cc -E
checking for icc... no
checking for suncc... no
checking whether cc understands -c and -o together... yes
checking for system library directory... lib
checking if compiler supports -R... no
checking if compiler supports -Wl,-rpath,... yes
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking target system type... x86_64-unknown-linux-gnu
checking for PHP prefix... /usr
checking for PHP includes... -I/usr/include/php5 -I/usr/include/php5/main -I/usr/include/php5/TSRM -I/usr/include/php5/Zend -I/usr/include/php5/ext -I/usr/include/php5/ext/date/lib
checking for PHP extension directory... /usr/lib/php5/extensions
checking for PHP installed headers prefix... /usr/include/php5
checking if debug is enabled... no
checking if zts is enabled... no
checking for re2c... no
configure: WARNING: You will need re2c 0.13.4 or later if you want to regenerate PHP parsers.
checking for gawk... gawk
checking whether to enable phrasea2 support... yes, shared
checking ================================================= phrasea extension version number... 1.16.5.4
checking MySQL includes dir... /usr/include/mysql
checking MySQL library... /usr/lib/mysql / mysqlclient
checking for g++... g++
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking how to run the C++ preprocessor... g++ -E
checking for a sed that does not truncate output... (cached) /usr/bin/sed
checking for fgrep... /usr/bin/grep -F
checking for ld used by g++... /usr/x86_64-suse-linux/bin/ld
checking if the linker (/usr/x86_64-suse-linux/bin/ld) is GNU ld... yes
checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B
checking the name lister (/usr/bin/nm -B) interface... BSD nm
checking whether ln -s works... yes
checking the maximum length of command line arguments... 1572864
checking whether the shell understands some XSI constructs... yes
checking whether the shell understands "+="... yes
checking for /usr/x86_64-suse-linux/bin/ld option to reload object files... -r
checking for objdump... objdump
checking how to recognize dependent libraries... pass_all
checking for ar... ar
checking for strip... strip
checking for ranlib... ranlib
checking command to parse /usr/bin/nm -B output from g++ object... ok
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking for dlfcn.h... yes
checking whether we are using the GNU C++ compiler... (cached) yes
checking whether g++ accepts -g... (cached) yes
checking how to run the C++ preprocessor... g++ -E
checking for objdir... .libs
checking if g++ supports -fno-rtti -fno-exceptions... yes
checking for g++ option to produce PIC... -fPIC -DPIC
checking if g++ PIC flag -fPIC -DPIC works... yes
checking if g++ static flag -static works... yes
checking if g++ supports -c -o file.o... yes
checking if g++ supports -c -o file.o... (cached) yes
checking whether the g++ linker (/usr/x86_64-suse-linux/bin/ld -m elf_x86_64) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... no
checking for ld used by g++... /usr/x86_64-suse-linux/bin/ld -m elf_x86_64
checking if the linker (/usr/x86_64-suse-linux/bin/ld -m elf_x86_64) is GNU ld... yes
checking whether the g++ linker (/usr/x86_64-suse-linux/bin/ld -m elf_x86_64) supports shared libraries... yes
checking for g++ option to produce PIC... -fPIC -DPIC
checking if g++ PIC flag -fPIC -DPIC works... yes
checking if g++ static flag -static works... yes
checking if g++ supports -c -o file.o... yes
checking if g++ supports -c -o file.o... (cached) yes
checking whether the g++ linker (/usr/x86_64-suse-linux/bin/ld -m elf_x86_64) supports shared libraries... yes
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
configure: creating ./config.status
config.status: creating config.h
config.status: executing libtool commands
PODSL14:/tmp/alchemy-fr-Phraseanet-facf652/bin/src/php_phrasea2 # make
/bin/sh /tmp/alchemy-fr-Phraseanet-facf652/bin/src/php_phrasea2/libtool --mode=compile g++ -DCOMPILE_DL_PHRASEA2 -DMYSQLENCODE=utf8 -I. -I/tmp/alchemy-fr-Phraseanet-facf652/bin/src/php_phrasea2 -DPHP_ATOM_INC -I/tmp/alchemy-fr-Phraseanet-facf652/bin/src/php_phrasea2/include -I/tmp/alchemy-fr-Phraseanet-facf652/bin/src/php_phrasea2/main -I/tmp/alchemy-fr-Phraseanet-facf652/bin/src/php_phrasea2 -I/usr/include/php5 -I/usr/include/php5/main -I/usr/include/php5/TSRM -I/usr/include/php5/Zend -I/usr/include/php5/ext -I/usr/include/php5/ext/date/lib -I/usr/include/mysql -Wno-write-strings -DHAVE_CONFIG_H -g -O2 -c /tmp/alchemy-fr-Phraseanet-facf652/bin/src/php_phrasea2/phrasea2.cpp -o phrasea2.lo
libtool: compile: g++ -DCOMPILE_DL_PHRASEA2 -DMYSQLENCODE=utf8 -I. -I/tmp/alchemy-fr-Phraseanet-facf652/bin/src/php_phrasea2 -DPHP_ATOM_INC -I/tmp/alchemy-fr-Phraseanet-facf652/bin/src/php_phrasea2/include -I/tmp/alchemy-fr-Phraseanet-facf652/bin/src/php_phrasea2/main -I/tmp/alchemy-fr-Phraseanet-facf652/bin/src/php_phrasea2 -I/usr/include/php5 -I/usr/include/php5/main -I/usr/include/php5/TSRM -I/usr/include/php5/Zend -I/usr/include/php5/ext -I/usr/include/php5/ext/date/lib -I/usr/include/mysql -Wno-write-strings -DHAVE_CONFIG_H -g -O2 -c /tmp/alchemy-fr-Phraseanet-facf652/bin/src/php_phrasea2/phrasea2.cpp -fPIC -DPIC -o .libs/phrasea2.o
In file included from /tmp/alchemy-fr-Phraseanet-facf652/bin/src/php_phrasea2/phrasea2.cpp:40:
/tmp/alchemy-fr-Phraseanet-facf652/bin/src/php_phrasea2/php_phrasea2.h:72:23: error: uuid/uuid.h: No such file or directory
/tmp/alchemy-fr-Phraseanet-facf652/bin/src/php_phrasea2/phrasea2.cpp: In function âint zm_startup_phrasea2(int, int)â:
/tmp/alchemy-fr-Phraseanet-facf652/bin/src/php_phrasea2/phrasea2.cpp:205: error: âUUID_TYPE_DCE_TIMEâ was not declared in this scope
/tmp/alchemy-fr-Phraseanet-facf652/bin/src/php_phrasea2/phrasea2.cpp:206: error: âUUID_TYPE_DCE_RANDOMâ was not declared in this scope
make: *** [phrasea2.lo] Error 1

Création bases -> error

Bonjour,

Je suis sur phrasea 3.1.4, lors de la création d'une base je ne peu pas choisir un modèle de structure fr-simple ou en-simple sans avoir une "error"
je peu juste créer une base du nom de "test" ou commençant par "test..."

Cordialement
Fred

Bug affichage mode Classique z-index

un bug d'affichage lors du passage en mode classic.

En effet lors de l'ouverture d'une image en grand et en cliquant sur le logo de téléchargement, la fenêtre de proposition des formats n'apparait pas ...
en faite si mais derrière les autres...
un problème de z-index sur la popup des formats (résolu chez moi ..)

Cordialement
Frédéric

Quarantaine cherche indéfiniment

Bonjour,

Lorsque nous cliquons sur l'onglet "quarantaine" dans le menu "Upload", ça cherche indéfiniment et rien ne s'affiche.
Nous avons testé sous Firefox, IE et Chrome et le soucis est le même.

Nous étions sous Phraseanet 3.8.8, et pour voir si une mise à jour pouvait débloquer la quarantaine, nous avons installer la nightly build 3.8.9. Mais pas d'amélioration concernant ce soucis.
L'OS est CentOS 7 installé sur une VM Hyper-V.

Merci.
Cdt

Server is slow !

Hi,

I'm installing phraseanet on a fresh debian jessie server, but I can see slowness on the admin interface : the system takes about 90 seconds to display the "Connected Users" page, event if I'm the only people connected.
When changing view, it takes many time too.
I'm the server admin, so I can perform some actions on it, to speed it up. The server is quite comfortable, with 8 Gio of RAM, and 2 procs.

Settings :

  • debian 8.3
  • maraidb 10.0
  • apache 2.4.10
  • php 5.6.17
  • phraseanet 3.8.8

Thanks for your help !

Prévisualisation des vidéos impossible

Bonjour,

Nous venons juste d'installer Phraseanet en version 3.6.5 et rencontrons des problèmes de prévisualisation au niveau des vidéos importés.(l'import et l'indexation sont opérationnelles)(lorsque l'on survole la vignette nous voyons aussi un défilement d'images de la vidéos)
Coté photos, documents, tout fonctionne correctement.

Qu'avons nous oublié dans la configuration ?

Auriez vous des pistes, idées pour nous aider ?

Merci d'avance
Bonne journée
Cordialement

Permissions Checkbox goes red and unfunctional

Using the Latest release version 3.8 from the homepage.

If i revoke the permission to "change status" on a user the Checkbox becomes a little red box that is not functional anymore.

In HTML it now is:
< div class="no_switch" >< /div >

The Admin has no possibility to grant "change status" permission back again after it is revoked once.

Impossible de changer le statut des images.

ubuntu server 11.10 phraseanet 3.5.3
Installation sans aucun souci, mais mes problemes de changements de statut reste identique a la version 3.5.
j ai refait une install d ubuntu parce que j etais en php 5.3.3 sur la ubuntu 10.10, mais le bug se reproduit.
Que cela soit en "edition/proprieté/ statut" ou en passant par le panier, impossible de changer le statut des fichiers.

Search only working on first collection

Clean install of 3.8 from homepage. Same issue with nightly built. No errors or warnings are reported.

  1. Upload some images to test collection
  2. in prod search for all
  3. in admin create second collection test2
  4. in prod move all images to collection test2
  5. select search to include test2
  6. search for all. => no results
  7. in admin test2 shows content but search does not show them.

everything us performed as admin user.

taches ne fonctionnant pas ds le Scheduler

Bonjour,
Après mise a jour de phraseanet (3.1.4), le Scheduler ne démarre pas automatiquement, la tache "upgrade to v3.1" ne fonctionne pas, les taches Archive dans la collection ne fonctionnent plus (passe à l'orange lorsque des fichiers sont ajoutés dans le dossier à observer) et la tache FTP redémarre périodiquement (mais fonctionne pour l'envoi du fichier).
Une autre observation, lorsque l'on survol les images, les preview n'apparaissait pluss, j'ai réglé ce pb en dé-activant le mode Apache xsendfile.
Merci d'avance pour votre réponse.

where the regular logs are?

I tried to tail -f the logs on apache2, tried to cat the logs under Phrasea/logs/ but those are specific to tasks

where are the regular symfony2 or 1.4 logs, if it is ocmponents hmm where i should look into permission problems?

i am at a loss please aux

Split Controller providers and controllers.

Very big PR to Split controller providers into proper ControllerProvider class and Controller class

  • Admin/Collection
  • Admin/ConnectedUsers
  • Admin/Dashboard
  • Admin/Databox
  • Admin/Databoxes
  • Admin/Fields
  • Admin/Publications
  • Admin/Root
  • Admin/SearchEngine
  • Admin/Setup
  • Admin/Subdefs
  • Admin/TaskManager
  • Admin/Users
  • Api/Oauth2
  • Api/V1
  • Client/Root
  • Datafiles
  • Lightbox
  • Minifier
  • Permalink
  • Prod/BasketController
  • Prod/Bridge
  • Prod/DoDownload
  • Prod/Download
  • Prod/Edit
  • Prod/Export
  • Prod/Feed
  • Prod/Language
  • Prod/Lazaret
  • Prod/MoveCollection
  • Prod/Order
  • Prod/Printer
  • Prod/Property
  • Prod/Push
  • Prod/Query
  • Prod/Records
  • Prod/Root
  • Prod/Share
  • Prod/Story
  • Prod/TOU
  • Prod/Tools
  • Prod/Tooltip
  • Prod/Upload
  • Prod/UsrLists
  • Prod/WorkZone
  • Report/Activity
  • Report/Informations
  • Report/Root
  • Root/Account
  • Root/Developers
  • Root/Login
  • Root/RSSFeeds
  • Root/Root
  • Root/Session
  • Setup
  • Thesaurus/Thesaurus
  • Thesaurus/Xmlhttp
  • User/Notifications
  • User/Preferences

Génération vignette

Bonjour,

J'ai récemment installé Phraseanet 3.8.8 sur une debian.

Tout est ok sauf lorsque j'envoie une image j'ai le message "Phraseanet n'a pas pu générer le vignette". J'ai creusé un peu et réussi à afficher le vrai message d'erreur qui est :

Unable to get exiftool binary

Alors que sur mon serveur :

# which exiftool
/usr/bin/exiftool

Au niveau des paquets installés j'ai

# dpkg --get-selections | grep exif
exif                        install
libexif12:amd64                    install
libimage-exiftool-perl                install

Est-ce qu'il y a autre chose à installer ?

Probleme de recherche avec le thesaurus

dans prod, en affichant le thesaurus dans le volet de gauche.

si je choisi ce mot clés
Transport fluvial et maritime (04015004).
// tel que je l ais tapé en utisant le champs réference

cette valeur s inscrit dans le formulaire
*:"Transport fluvial et maritime [04015004]"

mais la réponse a la requette est nulle???

par contre si je tape dans le formulaire : Transport fluvial et maritime (04015004)
j ai bien des reponses a ma requete.

J ai associé la racine de cette branche du thesaurus
au champs " mot clés " et le mot "Transport fluvial et maritime (04015004)"
se trouve bien importer dans les champs IPTC de l image.

Cache configuration

Hi,

I've installed memcached and apc on my server:

$ apt list --installed | grep memcached
memcached/stable,now 1.4.21-1.1 amd64  [installé]
$ apt list --installed | grep apc
php-apc/stable,now 4.0.7-1 all  [installé]
php5-apcu/stable,now 4.0.7-1 amd64  [installé]

Memcache is Up and Running:

$ netstat -lapute
...
tcp        0      0 localhost:11211         *:*                     LISTEN      memcache   11090       653/memcached
...

I'm experiencing an glitch in the cache configuration:

$ cat conf/configuration.yml
...
    cache:
        type: MemcacheCache
        options:
            host: localhost
            port: 11211
    opcodecache:
        type: ApcCache
        options: {  }
...

but when checking config:

$ ./bin/console check:config
...
Cache Server recommendations : 

 WARNING  A cache server extension such as Memcached, Memcache or Redis is recommended
          Install and enable a cache server extension.

 WARNING  ArrayCache should not be used in production
          Configure a Cache Server
....

I've compiled the config with:

$ ./bin/console compile:config && chown www-data ./tmp/configuration-compiled.php

Any ideas ?

Add a new route / permalink

Hi,

We had to patch sources in order to add a new route in Permalink controller.

When users import images (using InDesign) and want to save this file locally, the default file name is the token value.
So we added the following route that we can generate using default download URL :
/v1/{sbas_id}/{record_id}/{subdef}/{token}/{label}

Can we provide this route on a future milestone ?

Tnx
Fabien

Javascripts dev dependencies

There is actually no disctinction about 'dev' & 'no-dev' dependencies in grunt 'copy' task see Gruntfile.js file thus javascript files like sinon, mocha, sinonchai, qunit etc ... are packaged and this is not needed

Erreur d'installation de la v4

Bonjour,

J'essaye d'installer la v4 sur Debian 8, et le make install ne fonctionne pas, il butte sur l'installation du module npm node-sass :
`npm ERR! Linux 3.16.0-4-amd64
npm ERR! argv "/usr/bin/nodejs" "/usr/bin/npm" "install"
npm ERR! node v7.5.0
npm ERR! npm v4.1.2
npm ERR! code ELIFECYCLE

npm ERR! [email protected] install: node scripts/install.js
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] install script 'node scripts/install.js'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the node-sass package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR! node scripts/install.js
npm ERR! You can get information on how to open an issue for this project with:
npm ERR! npm bugs node-sass
npm ERR! Or if that isn't available, you can get their info via:
npm ERR! npm owner ls node-sass
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR! /root/Phraseanet-master/npm-debug.log
Makefile:11: recipe for target 'install_asset_dependencies' failed
make[1]: *** [install_asset_dependencies] Error 1
make[1]: Leaving directory '/root/Phraseanet-master'
Makefile:2: recipe for target 'install' failed
make: *** [install] Error 2`

Est-ce que d'autres ont le même soucis que moi ?

Substitution en quarantaine

J'upload un fichier une 1ere fois qui est validé, je l'upload à nouveau. Il m'est dit que le nouveau est mis en quarantaine.

Je vais voir effectivement il y est, je clic sur le bouton substituer mais rien ne se passe. Alors que si je clic sur Ajouter ou Supprimer l'action est ok.

Je test avec la VM mise à jour par update_phraseanet.sh ce matin.

cannot fill any form after 3.6.2 update

Hello,

After updating from 3.6.1 to 3.6.2 we cannot type in any input fields of any form, using safari or chrome browsers. only firefox browser seems unaffected.

Transform User_Adapter in a doctrine entity.

Task list to move user management from self to doctrine

Every point is related to a single PR with a single commit

  1. Create the User entity and User Repository + patch.
  2. Add UserQuery entity, move saveQuery() logic to use the new entity with a One-To-Many relationship + patch.
  3. Add UserSetting entity, move all user preferences stuff in User_Adapter to use the new entuty with a One-To-Many relationship + patch (do not migrate notifications settings).
  4. Add default UserSettings to User entity.
  5. Add UserNotificationSetting setting, use One-To-Many relationship + patch.
  6. The property model_of takes the form of a One-To-One, Self-referencing relationship as a template is also a user entity.
  7. ACL property is not removed from User entity. It is set as an unmapped property. ACL object needs an Alchemy\Phrasea\Application to be instantiated. So the ACL() methods take the Application object as argument and becomes ACL($app). $user->ACL($app)->getRights();
  8. The functions is_template(), is_special(), get_display_name() must be reported to the user entity as helpers.
  9. Move get_protected_rss_url() method to the random object.
  10. Remove get_usr_id_from_login() method and use a repository method instead.
  11. Remove get_usr_id_from_email() method and use a repository method instead.
  12. Remove get_wrong_email_users() method and use a repository method instead.
  13. Remove get_sys_admins() method and use a repository method instead.
  14. The code inside set_sys_admins() function should me moved to the appropriate controller.
  15. The function updateClientInfos() must be moved to the Session_Logger object.
  16. The logic inside the set_geonameid() function must be moved to a Doctrine event listener. On preUpdate event it would fill the proper country code only if the geonameid changed.
  17. The logic inside the set_template() function must be moved to a Doctrine event listener. On preUpdate event it would reset the user informations, settings, notifications settings and ftp credentials.
  18. The logic inside the delete() function must be moved to a doctrine event listener. On postRemove event it will remove all users relative stuff. Remove only toggles a boolean value
    • Remove singleton stuff, user must now be loaded using user repository to load non authenticated users.
    • Move all sql queries concerning user table to the user repository.
    • Replace old getter and setter by new ones, calls to old query by the repository methods.
    • Delete User_Adapter class.
    • Create all relation from previous created entities that involves user.
  19. Set cache mechanism. $userRepository->find($userId); method will now be called instead of old User_Adapter::getInstance($usrId);and we must keep a cache mechanism for this as it is called in many places. The problem is we can cache only some custom queries (useResultCache(true) on Query object) with Doctrine. This can be easily solve for user entity and keep similar cache mechanism as the previous implementation.

webkit browser issue still persists

Hello,

We just updated Phraseanet to 3.6.3 and it seems that the problem for webkit based browsers still persists, we cannot fill any forms using safari or chrome.

Thank you,

Error when try bin/console h264-pseudo-streaming:generate-mapping : Random classe missing

bin/console h264-pseudo-streaming:generate-mapping nginx -e -w

PHP Fatal error: Call to undefined method random::generatePassword() in /var/www/alpha/pv3/lib/Alchemy/Phrasea/Command/Setup/H264MappingGenerator.php on line 95
PHP Fatal error: Uncaught exception 'Symfony\Component\Debug\Exception\FatalErrorException' with message 'Error: Call to undefined method random::generatePassword() in alpha/pv3/lib/Alchemy/Phrasea/Command/Setup/H264MappingGenerator.php line 95' in /var/www/alpha/pv3/lib/Alchemy/Phrasea/Command/Setup/H264MappingGenerator.php:95
Stack trace:
#0 /var/www/alpha/pv3/vendor/symfony/symfony/src/Symfony/Component/Debug/ErrorHandler.php(219): Symfony\Component\Debug\ErrorHandler->handleFatalError(Object(Alchemy\Phrasea\Core\PhraseaCLIExceptionHandler), Array)
#1 [internal function]: Symfony\Component\Debug\ErrorHandler->handleFatal()
#2 {main}

thrown in /var/www/alpha/pv3/lib/Alchemy/Phrasea/Command/Setup/H
bin/console h264-pseudo-streaming:generate-mapping nginx
PHP Fatal error: Call to undefined method random::generatePassword() in /var/www/alpha/pv3/lib/Alchemy/Phrasea/Command/Setup/H264MappingGenerator.php on line 95
PHP Fatal error: Uncaught exception 'Symfony\Component\Debug\Exception\FatalErrorException' with message 'Error: Call to undefined method random::generatePassword() in /var/www/alpha/pv3/lib/Alchemy/Phrasea/Command/Setup/H264MappingGenerator.php line 95' in /var/www/alpha/pv3/lib/Alchemy/Phrasea/Command/Setup/H264MappingGenerator.php:95
Stack trace:
#0 /var/www/alpha/pv3/vendor/symfony/symfony/src/Symfony/Component/Debug/ErrorHandler.php(219): Symfony\Component\Debug\ErrorHandler->handleFatalError(Object(Alchemy\Phrasea\Core\PhraseaCLIExceptionHandler), Array)
#1 [internal function]: Symfony\Component\Debug\ErrorHandler->handleFatal()
#2 {main}

thrown in /var/www/alpha/pv3/lib/Alchemy/Phrasea/Command/Setup/H264MappingGenerator.php on line 95

la page preview s affiche mais ne charge rien

Version 3.5.7. Toujours rien sur la page preview, ni affichage photo, ni données... pourtant l image s affiche bien lors du survol de la petite loupe en bas a droite de la vignette.

Erreur 500 après compilation config

Avec la VM de la 4.0 preview mise à jour le 25/10/2016 à 16h40.

Tout est ok après update. Je modifie le fichier config/configuration.yml, je change les paramètres

            type: Checker\Sha256
            enabled: false

            type: Checker\UUID
            enabled: false

            type: Checker\Filename
            enabled: true
            options:
                sensitive: false

je compile la configuration

bin/console compile:configuration

J'obtiens une erreur 500 dans mon navigateur pour accéder à la page prod/. La page admin/ reste accessible.

Je rétablie la configuration par défaut, je re-compile, ça marche à nouveau. Je tente cette config

            type: Checker\Sha256
            enabled: true

            type: Checker\UUID
            enabled: true

            type: Checker\Filename
            enabled: true
            options:
                sensitive: false

Je compile est c'est ok plus d'erreur 500.

Donc c'est lorsque le Checker\Filenameest activé seul alors l'erreur 500 apparait.

J'ai réalisé le même test avec la version 388 et tout est ok.

Preprod ES | Impossible d'ajouter un utilisateur pour le Push/ Validation

ContextErrorException: Catchable Fatal Error: Argument 1 passed to Alchemy\Phrasea\Controller\Prod\Push::Alchemy\Phrasea\Controller\Prod{closure}() must be an instance of Alchemy\Phrasea\Model\Entities\User, null given, called in /home/sites_web/elastic/pv3/lib/Alchemy/Phrasea/Controller/Prod/Push.php on line 517 and defined in /home/sites_web/elastic/pv3/lib/Alchemy/Phrasea/Controller/Prod/Push.php line 37
in /home/sites_web/elastic/pv3/lib/Alchemy/Phrasea/Controller/Prod/Push.php line 37
at ErrorHandler->handle('4096', 'Argument 1 passed to Alchemy\Phrasea\Controller\Prod\Push::Alchemy\Phrasea\Controller\Prod{closure}() must be an instance of Alchemy\Phrasea\Model\Entities\User, null given, called in /home/sites_web/elastic/pv3/lib/Alchemy/Phrasea/Controller/Prod/Push.php on line 517 and defined', '/home/sites_web/elastic/pv3/lib/Alchemy/Phrasea/Controller/Prod/Push.php', '37', array()) in /home/sites_web/elastic/pv3/lib/Alchemy/Phrasea/Controller/Prod/Push.php line 37
at Push->Alchemy\Phrasea\Controller\Prod{closure}(null) in /home/sites_web/elastic/pv3/lib/Alchemy/Phrasea/Controller/Prod/Push.php line 517
at Push->Alchemy\Phrasea\Controller\Prod{closure}(object(Application), object(Request))
at call_user_func_array(object(Closure), array(object(Application), object(Request))) in /home/sites_web/elastic/pv3/vendor/symfony/symfony/src/Symfony/Component/HttpKernel/HttpKernel.php line 126
at HttpKernel->handleRaw(object(Request), '1') in /home/sites_web/elastic/pv3/vendor/symfony/symfony/src/Symfony/Component/HttpKernel/HttpKernel.php line 66
at HttpKernel->handle(object(Request), '1', true) in /home/sites_web/elastic/pv3/vendor/silex/silex/src/Silex/Application.php line 516
at Application->handle(object(Request)) in /home/sites_web/elastic/pv3/vendor/silex/silex/src/Silex/Application.php line 493
at Application->run() in /home/sites_web/elastic/pv3/www/index_dev.php line 24

SegFault when indexing

Hi,

I'm trying to import a bunch of 1200 photos in 300 items batch into a phraseanet instance, using the import tool.

The indexer faile to index thos picture, due toa segfault when executing:
# /usr/local/bin/phraseanet_indexer -h=localhost -P=3306 -b=phraseanet -u=phraseanet -p=XXXXXXXXX --socket=25200 --default-character-set=utf8 -o -c=fr --stem=fr,en -d=2 -n [LOGL_ERR].[LOGC_SQLERR] : You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '150,149,148,147,146,145,144,143,142,141,140,139,138,137,136,135,134,133,132,131,' at line 1 Erreur de segmentation

This issue appears every time I import images through the inner import interface...
Config: phraseanet 3.8.8 / debian jessie / mariadb / apache2

Thanks for your help !

Upload doesn't work

It Seems like everything else is working fine but when i try to upload an image there happens nothing. In the Flash-Uploader i get Completed without any error but there is no new image on the system.

This happened after updating to 3.1.4 (from 3.1.3).

Should there again be a Updating process like last time, cause there was none this time here

Bug URL dans mails envoyés par phraseanet

Les mails envoyés par Phraseanet et qui contiennent un lien (vers un panier ou autre) ne tiennent pas compte du servername de config.yml.

Phraseanet tourne chez nous en HTTPS only et tous les liens dans les mails sont en HTTP alors que le servername de la config est en HTTPS.

J'ai fait un rewrite en attendant un patch.

Version installée : 3.7.1 (mais c'était aussi le cas en 3.7).

Merci

Baptiste

Méthode de substitution

Actuellement la détection de doublons (images, doc...) est réalisé par un checksum du fichier je suppose ?

Est-ce qu'il est possible de choisir le mode de détection des doublons : par checksum ou simplement par nom de fichier ?

Un exemple de notre utilisation : Nous gérons un fond d'environs 5000 médias (tout formats), chaque fichiers est nommés par la référence produit (x-xxxxx_+1.xxx). Les fichiers sont réparties par catégories produits, régulièrement nous mettons à jour les fichiers sans changer les noms des fichiers et nous mettons à jour notre base.

Actuellement via le checksum comme le fichier a été modifié pour Phraseanet c'est un nouveau fichier du coups tout est dupliqué ce qui n'est pas pratique pour nos opérateurs PAO.

minimum php version

Is there any real reason that php 5.3.4 is the minimum required? I am running phrasea on ubuntu 10.04 LTS, and the version available is 5.3.2-1ubuntu4.14.
Since I don't see any functionality issue so far, and since most of the production servers on ubuntu are running 10.04 LTS now, will there be any problems on running phrasea on 5.3.2-1ubuntu4.14 ?
If not, a validation exception can be added on php version?

Corrupt filename after download

Hello,

When a file is exported for download, the extension doubles.

For example, if we have filename.jpg, after downloading it you'll receive filenamejpg.jpg

This behaviour is on the latest version, 3.6.1, updated last saturday.

Split Controller providers and controllers.

Very big PR to Split controller providers into proper ControllerProvider class and Controller class

PHRAS-529

  • Admin/Collection
  • Admin/ConnectedUsers
  • Admin/Dashboard
  • Admin/Databox
  • Admin/Databoxes
  • Admin/Fields
  • Admin/Publications
  • Admin/Root
  • Admin/SearchEngine
  • Admin/Setup
  • Admin/Subdefs
  • Admin/TaskManager
  • Admin/Users
  • Api/Oauth2
  • Api/V1
  • Client/Root
  • Datafiles
  • Lightbox
  • Minifier
  • Permalink
  • Prod/BasketController
  • Prod/Bridge
  • Prod/DoDownload
  • Prod/Download
  • Prod/Edit
  • Prod/Export
  • Prod/Feed
  • Prod/Language
  • Prod/Lazaret
  • Prod/MoveCollection
  • Prod/Order
  • Prod/Printer
  • Prod/Property
  • Prod/Push
  • Prod/Query
  • Prod/Records
  • Prod/Root
  • Prod/Share
  • Prod/Story
  • Prod/TOU
  • Prod/Tools
  • Prod/Tooltip
  • Prod/Upload
  • Prod/UsrLists
  • Prod/WorkZone
  • Report/Activity
  • Report/Informations
  • Report/Root
  • Root/Account
  • Root/Developers
  • Root/Login
  • Root/RSSFeeds
  • Root/Root
  • Root/Session
  • Setup
  • Thesaurus/Thesaurus
  • Thesaurus/Xmlhttp
  • User/Notifications
  • User/Preferences

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.