Compare commits

...
This repository has been archived on 2023-02-21. You can view files and clone it, but cannot push or open issues or pull requests.

23 Commits

Author SHA1 Message Date
Nicolas Demonté a00078b81d Add tmp folder mount necessary for document conversion 2022-11-15 13:41:08 +01:00
Nicolas Demonté e31bc8ab0e Fix .DOC file indexation 2022-11-15 11:16:09 +01:00
Nicolas Demonté c0a6a77bd4 Fix volumes for solr service 2022-06-27 12:27:49 +02:00
Nicolas Demonté 09c2814f65 Remove unnecessary volumes from dockerfile 2022-06-27 12:26:51 +02:00
Nicolas Demonté af657d7807 Use older java version for solr 3.6 compatibility 2022-06-27 12:26:24 +02:00
Nicolas Demonte 006f02d53e Add file package dependency 2022-06-22 13:49:18 +02:00
Nicolas Demonte 2b984f3ded Add documentviewer mount (production) 2022-06-22 11:06:43 +02:00
Nicolas Demonte 3d3509ec25 Add documentviewer mount 2022-06-22 10:40:53 +02:00
Martin Peeters b836c9a425
Fix traefik config 2022-06-22 00:16:08 +02:00
Martin Peeters 693edad1ae
Comment non working router 2022-06-16 14:53:36 +02:00
Martin Peeters 26e26e978c
Adapt traefik config to redirect on dashboard view 2022-06-16 13:54:48 +02:00
Nicolas Demonte a89c424179 Fix pfwbged vhost 2022-06-15 13:22:27 +02:00
Nicolas Demonte 82926f9ccf Increase instance replicas 2022-06-15 13:21:35 +02:00
Nicolas Demonte 3eeb0f253a Adapt staging domain 2022-06-15 11:53:23 +02:00
Nicolas Demonte 521ac5a455 Add package dependencies for Products.PortalTransforms 2022-06-15 11:48:43 +02:00
Nicolas Demonte 57a24af2f1 Fix entrouvert remote url 2022-06-10 14:31:29 +02:00
Nicolas Demonte 9d78df3156 Remove dist.affinitic.be dependency 2022-06-10 14:31:16 +02:00
Nicolas Demonte cbf6ee5296 Add docker compose configuration 2022-06-09 16:08:36 +02:00
Nicolas Demonte 4a2e537cdd Add docker image building parts 2022-06-09 16:08:36 +02:00
Nicolas Demonte 7fd9e8c2dd Use branch 32781 for pfwbged.collection 2022-06-09 16:08:36 +02:00
Nicolas Demonte 3f8d6b0ec6 Fix github remotes 2022-06-09 16:08:36 +02:00
Nicolas Demonte b1bd0694db Pin collective.recipe.solrinstance 2022-06-09 14:51:43 +02:00
Nicolas Demonte 8f8237e51a Add .dockerignore 2022-06-09 14:50:25 +02:00
8 changed files with 830 additions and 7 deletions

229
.dockerignore Normal file
View File

@ -0,0 +1,229 @@
### JetBrains template
# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio, WebStorm and Rider
# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839
.idea/
# User-specific stuff
.idea/**/workspace.xml
.idea/**/tasks.xml
.idea/**/usage.statistics.xml
.idea/**/dictionaries
.idea/**/shelf
# Generated files
.idea/**/contentModel.xml
# Sensitive or high-churn files
.idea/**/dataSources/
.idea/**/dataSources.ids
.idea/**/dataSources.local.xml
.idea/**/sqlDataSources.xml
.idea/**/dynamic.xml
.idea/**/uiDesigner.xml
.idea/**/dbnavigator.xml
# Gradle
.idea/**/gradle.xml
.idea/**/libraries
# Gradle and Maven with auto-import
# When using Gradle or Maven with auto-import, you should exclude module files,
# since they will be recreated, and may cause churn. Uncomment if using
# auto-import.
# .idea/artifacts
# .idea/compiler.xml
# .idea/jarRepositories.xml
# .idea/modules.xml
# .idea/*.iml
# .idea/modules
# *.iml
# *.ipr
# CMake
cmake-build-*/
# Mongo Explorer plugin
.idea/**/mongoSettings.xml
# File-based project format
*.iws
# IntelliJ
out/
# mpeltonen/sbt-idea plugin
.idea_modules/
# JIRA plugin
atlassian-ide-plugin.xml
# Cursive Clojure plugin
.idea/replstate.xml
# Crashlytics plugin (for Android Studio and IntelliJ)
com_crashlytics_export_strings.xml
crashlytics.properties
crashlytics-build.properties
fabric.properties
# Editor-based Rest Client
.idea/httpRequests
# Android studio 3.1+ serialized cache file
.idea/caches/build_file_checksums.ser
### VirtualEnv template
# Virtualenv
# http://iamzed.com/2009/05/07/a-primer-on-virtualenv/
.Python
[Bb]in
[Ii]nclude
[Ll]ib
[Ll]ib64
[Ll]ocal
[Ss]cripts
pyvenv.cfg
.venv
pip-selfcheck.json
### Python template
# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
*$py.class
# C extensions
*.so
# Distribution / packaging
.Python
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
wheels/
share/python-wheels/
*.egg-info/
.installed.cfg
*.egg
MANIFEST
# PyInstaller
# Usually these files are written by a python script from a template
# before PyInstaller builds the exe, so as to inject date/other infos into it.
*.manifest
*.spec
# Installer logs
pip-log.txt
pip-delete-this-directory.txt
# Unit test / coverage reports
htmlcov/
.tox/
.nox/
.coverage
.coverage.*
.cache
nosetests.xml
coverage.xml
*.cover
*.py,cover
.hypothesis/
.pytest_cache/
cover/
# Translations
*.mo
*.pot
# Django stuff:
*.log
local_settings.py
db.sqlite3
db.sqlite3-journal
# Flask stuff:
instance/
.webassets-cache
# Scrapy stuff:
.scrapy
# Sphinx documentation
docs/_build/
# PyBuilder
.pybuilder/
target/
# Jupyter Notebook
.ipynb_checkpoints
# IPython
profile_default/
ipython_config.py
# pyenv
# For a library or package, you might want to ignore these files since the code is
# intended to run in multiple environments; otherwise, check them in:
# .python-version
# pipenv
# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
# However, in case of collaboration, if having platform-specific dependencies or dependencies
# having no cross-platform support, pipenv may install dependencies that don't work, or not
# install all needed dependencies.
#Pipfile.lock
# PEP 582; used by e.g. github.com/David-OConnor/pyflow
__pypackages__/
# Celery stuff
celerybeat-schedule
celerybeat.pid
# SageMath parsed files
*.sage.py
# Environments
.env
.venv
env/
venv/
ENV/
env.bak/
venv.bak/
# Spyder project settings
.spyderproject
.spyproject
# Rope project settings
.ropeproject
# mkdocs documentation
/site
# mypy
.mypy_cache/
.dmypy.json
dmypy.json
# Pyre type checker
.pyre/
# pytype static type analyzer
.pytype/
# Cython debug symbols
cython_debug/

106
Dockerfile Normal file
View File

@ -0,0 +1,106 @@
FROM ubuntu:18.04
RUN apt-get -qy update && apt-get -o APT::Install-Recommends=false -qy install bash-completion curl htop less locales make ncurses-term software-properties-common telnet tzdata vim
RUN ln -sf /usr/share/zoneinfo/Europe/Brussels /etc/localtime
RUN echo "Europe/Brussels" > /etc/timezone; dpkg-reconfigure -f noninteractive tzdata
ENV PIP=9.0.3 \
ZC_BUILDOUT=2.11.5 \
SETUPTOOLS=38.7.0 \
WHEEL=0.33.1 \
PLONE_MAJOR=4 \
PLONE_MINOR=4.3 \
PLONE_VERSION=4.3.2
LABEL plone=$PLONE_VERSION \
os="ubuntu" \
os.version="18.04" \
name="Buildout GED Parlement de la Fédération Wallonie-Bruxelles" \
description="Plone image for PFWB GED" \
maintainer="Affinitic"
RUN groupadd -g 209 plone \
&& useradd --system -m -d /plone -u 913 -g 209 plone \
&& mkdir -p /plone/ /data/filestorage /data/blobstorage /data/log /buildout-cache/download /buildout-cache/eggs
RUN apt-get update \
&& apt full-upgrade -y \
&& apt-get install -y --no-install-recommends \
build-essential \
cabextract \
openjdk-8-jre \
dpkg-dev \
file \
gcc \
ghostscript \
git \
gosu \
graphicsmagick \
libc6-dev \
libjpeg-dev \
libldap-2.4-2 \
libldap2-dev \
libmagic1 \
libmemcached-dev \
libmemcached11 \
libpq-dev \
libreadline-dev \
libreoffice \
libreoffice-java-common \
libreoffice-script-provider-python \
libsasl2-dev \
libtiff5 \
libtiff5-dev \
libxml2 \
libxml2-dev \
libxslt1.1 \
libxslt1-dev \
links \
lynx \
multitail \
netcat \
openssh-client \
poppler-utils \
python \
python-dev \
python-pip \
rsync \
ruby \
tidy \
unrtf \
wv \
&& curl -O http://archive.ubuntu.com/ubuntu/pool/universe/x/xlhtml/xlhtml_0.5.1-6ubuntu1_amd64.deb \
&& curl -O http://archive.ubuntu.com/ubuntu/pool/universe/x/xlhtml/ppthtml_0.5.1-6ubuntu1_amd64.deb \
&& dpkg -i xlhtml_0.5.1-6ubuntu1_amd64.deb ppthtml_0.5.1-6ubuntu1_amd64.deb \
&& rm xlhtml_0.5.1-6ubuntu1_amd64.deb ppthtml_0.5.1-6ubuntu1_amd64.deb
COPY *.cfg /plone/
WORKDIR /plone
RUN pip install setuptools==$SETUPTOOLS zc.buildout==$ZC_BUILDOUT wheel==$WHEEL \
&& buildout -c docker.cfg \
&& find /data -not -user plone -exec chown plone:plone {} \+ \
&& find /plone -not -user plone -exec chown plone:plone {} \+ \
&& find /buildout-cache -not -user plone -exec chown plone:plone {} \+ \
&& rm -rf /Plone* \
&& rm -rf /var/lib/apt/lists/* \
&& rm -rf /buildout-cache/download/* \
&& rm -f /plone/.installed.cfg
RUN gem install docsplit \
&& ln -sf /usr/bin/virtualenv /usr/local/bin/virtualenv-2.7
USER plone
WORKDIR /plone
VOLUME /data/blobstorage
VOLUME /data/log
HEALTHCHECK --interval=1m --timeout=5s --start-period=1m \
CMD nc -z -w5 127.0.0.1 8080 || exit 1
COPY docker-entrypoint.sh /
ENTRYPOINT ["/docker-entrypoint.sh"]
CMD ["start"]

123
docker-compose-prod.yml Normal file
View File

@ -0,0 +1,123 @@
---
version: '3.4'
services:
zeo:
image: ged.pfwb.be/pfwb-ged:${BUILD_ID}
volumes:
- blobstorage:/data/blobstorage
- filestorage:/data/filestorage
- log:/data/log
- type: tmpfs
target: /var/tmp
command: zeoserver
healthcheck:
disable: true
deploy:
replicas: 1
placement:
constraints:
- node.hostname == pfwb-ubuged5
environment:
- HTTP_PORT=8080
- HOSTNAME_HOST=local
- PROJECT_ID=plone
instance:
image: ged.pfwb.be/pfwb-ged:${BUILD_ID}
volumes:
- blobstorage:/data/blobstorage
- documentviewer:/data/documentviewer
- log:/data/log
- type: tmpfs
target: /plone/tmp
deploy:
replicas: 15
placement:
constraints:
- node.hostname == pfwb-ubuged5
labels:
- "traefik.enable=true"
- "traefik.http.routers.pfwb-ged-prod-login.rule=Host(`ged.pfwb.be`) && Method(`GET`) && Path (`/`)"
- "traefik.http.routers.pfwb-ged-prod-login.priority=2"
- "traefik.http.routers.pfwb-ged-prod-login.entrypoints=web"
- "traefik.http.routers.pfwb-ged-prod-login.service=pfwb-ged-prod-login"
- "traefik.http.services.pfwb-ged-prod-login.loadbalancer.server.port=8080"
- "traefik.http.routers.pfwb-ged-prod-login.middlewares=add-pfwb-ged-prod-login-vhost"
- "traefik.http.middlewares.add-pfwb-ged-prod-login-vhost.addprefix.prefix=/VirtualHostBase/https/ged.pfwb.be:443/pfwbged/VirtualHostRoot/dashboard"
- "traefik.http.routers.pfwb-ged-prod.rule=Host(`ged.pfwb.be`)"
- "traefik.http.routers.pfwb-ged-prod.priority=1"
- "traefik.http.routers.pfwb-ged-prod.entrypoints=web"
- "traefik.http.routers.pfwb-ged-prod.service=pfwb-ged-prod"
- "traefik.http.services.pfwb-ged-prod.loadbalancer.server.port=8080"
- "traefik.http.routers.pfwb-ged-prod.middlewares=add-pfwb-ged-prod-vhost"
- "traefik.http.middlewares.add-pfwb-ged-prod-vhost.addprefix.prefix=/VirtualHostBase/https/ged.pfwb.be:443/pfwbged/VirtualHostRoot"
ports:
- 8080
networks:
- default
- traefik
environment:
- HTTP_PORT=8080
- ZEO_ADDRESS=zeo:8100
- HOSTNAME_HOST=local
- PROJECT_ID=plone
- ROOT_URL=https://ged.pfwb.be
worker:
image: ged.pfwb.be/pfwb-ged:${BUILD_ID}
volumes:
- blobstorage:/data/blobstorage
- documentviewer:/data/documentviewer
- log:/data/log
- type: tmpfs
target: /plone/tmp
command: worker
deploy:
replicas: 1
placement:
constraints:
- node.hostname == pfwb-ubuged5
networks:
- default
environment:
- HTTP_PORT=8080
- ZEO_ADDRESS=zeo:8100
- HOSTNAME_HOST=local
- PROJECT_ID=plone
- ROOT_URL=https://ged.pfwb.be
redis:
image: redis
deploy:
replicas: 1
placement:
constraints:
- node.hostname == pfwb-ubuged5
networks:
- default
solr:
image: ged.pfwb.be/pfwb-ged:${BUILD_ID}
deploy:
replicas: 1
placement:
constraints:
- node.hostname == pfwb-ubuged5
volumes:
- solr:/data/solr
- blobstorage:/data/blobstorage
- documentviewer:/data/documentviewer
- log:/data/log
command: solr-instance
networks:
- default
healthcheck:
disable: true
networks:
traefik:
external:
name: traefik
volumes:
blobstorage:
filestorage:
documentviewer:
solr:
log:

123
docker-compose-staging.yml Normal file
View File

@ -0,0 +1,123 @@
---
version: '3.4'
services:
zeo:
image: ged.pfwb.be/pfwb-ged:${BUILD_ID}
volumes:
- blobstorage:/data/blobstorage
- filestorage:/data/filestorage
- log:/data/log
- type: tmpfs
target: /var/tmp
command: zeoserver
healthcheck:
disable: true
deploy:
replicas: 1
placement:
constraints:
- node.hostname == pfwb-ubuged6
environment:
- HTTP_PORT=8080
- HOSTNAME_HOST=local
- PROJECT_ID=plone
instance:
image: ged.pfwb.be/pfwb-ged:${BUILD_ID}
volumes:
- blobstorage:/data/blobstorage
- documentviewer:/data/documentviewer
- log:/data/log
- type: tmpfs
target: /plone/tmp
deploy:
replicas: 8
placement:
constraints:
- node.hostname == pfwb-ubuged6
labels:
- "traefik.enable=true"
- "traefik.http.routers.pfwb-ged-staging-login.rule=Host(`ged-staging.pfwb.be`) && Method(`GET`) && Path (`/`)"
- "traefik.http.routers.pfwb-ged-staging-login.priority=2"
- "traefik.http.routers.pfwb-ged-staging-login.entrypoints=web"
- "traefik.http.routers.pfwb-ged-staging-login.service=pfwb-ged-staging-login"
- "traefik.http.services.pfwb-ged-staging-login.loadbalancer.server.port=8080"
- "traefik.http.routers.pfwb-ged-staging-login.middlewares=add-pfwb-ged-staging-login-vhost"
- "traefik.http.middlewares.add-pfwb-ged-staging-login-vhost.addprefix.prefix=/VirtualHostBase/https/ged-staging.pfwb.be:443/pfwbged/VirtualHostRoot/dashboard"
- "traefik.http.routers.pfwb-ged-staging.rule=Host(`ged-staging.pfwb.be`)"
- "traefik.http.routers.pfwb-ged-staging.priority=1"
- "traefik.http.routers.pfwb-ged-staging.entrypoints=web"
- "traefik.http.routers.pfwb-ged-staging.service=pfwb-ged-staging"
- "traefik.http.services.pfwb-ged-staging.loadbalancer.server.port=8080"
- "traefik.http.routers.pfwb-ged-staging.middlewares=add-pfwb-ged-staging-vhost"
- "traefik.http.middlewares.add-pfwb-ged-staging-vhost.addprefix.prefix=/VirtualHostBase/https/ged-staging.pfwb.be:443/pfwbged/VirtualHostRoot"
ports:
- 8080
networks:
- default
- traefik
environment:
- HTTP_PORT=8080
- ZEO_ADDRESS=zeo:8100
- HOSTNAME_HOST=local
- PROJECT_ID=plone
- ROOT_URL=https://ged-staging.pfwb.be
worker:
image: ged.pfwb.be/pfwb-ged:${BUILD_ID}
volumes:
- blobstorage:/data/blobstorage
- log:/data/log
- documentviewer:/data/documentviewer
- type: tmpfs
target: /plone/tmp
command: worker
deploy:
replicas: 1
placement:
constraints:
- node.hostname == pfwb-ubuged6
networks:
- default
environment:
- HTTP_PORT=8080
- ZEO_ADDRESS=zeo:8100
- HOSTNAME_HOST=local
- PROJECT_ID=plone
- ROOT_URL=https://ged-staging.pfwb.be
redis:
image: redis
deploy:
replicas: 1
placement:
constraints:
- node.hostname == pfwb-ubuged6
networks:
- default
solr:
image: ged.pfwb.be/pfwb-ged:${BUILD_ID}
deploy:
replicas: 1
placement:
constraints:
- node.hostname == pfwb-ubuged6
volumes:
- solr:/data/solr
- blobstorage:/data/blobstorage
- documentviewer:/data/documentviewer
- log:/data/log
command: solr-instance
networks:
- default
healthcheck:
disable: true
networks:
traefik:
external:
name: traefik
volumes:
blobstorage:
filestorage:
solr:
log:
documentviewer:

37
docker-entrypoint.sh Executable file
View File

@ -0,0 +1,37 @@
#!/bin/bash
set -e
# ZConfig 2.9.1 is too old to do environment variable substitution on its own.
sed -i "s/\$(HOSTNAME)/$HOSTNAME/g" /plone/parts/instance/etc/zope.conf
sed -i "s/\$(HOSTNAME)/$HOSTNAME/g" /plone/parts/worker/etc/zope.conf
COMMANDS="adduser debug fg foreground help kill logreopen logtail reopen_transcript run show status stop wait"
START="console start restart"
# zeo
if [[ "$1" == "zeo"* ]]; then
exec bin/$1 fg
fi
# worker
if [[ "$1" == "worker"* ]]; then
exec bin/$1 fg
fi
# solr-instance
if [[ "$1" == "solr-instance"* ]]; then
exec bin/$1 fg
fi
# Plone instance start
if [[ $START == *"$1"* ]]; then
exec bin/instance console
fi
# Plone instance helpers
if [[ $COMMANDS == *"$1"* ]]; then
exec bin/instance "$@"
fi
# Custom
exec "$@"

200
docker.cfg Normal file
View File

@ -0,0 +1,200 @@
[buildout]
extends =
http://dist.plone.org/release/4.3.2/versions.cfg
sources.cfg
checkouts.cfg
versions.cfg
parts =
solr
zeoserver
instance
worker
extensions =
mr.developer
versions = versions
allow-picked-versions = false
allow-hosts =
pypi.org
pypi.python.org
effbot.org
robotframework.googlecode.com
robotframework-ride.googlecode.com
code.google.com
files.pythonhosted.org
index = https://pypi.org/simple
download-cache = /buildout-cache/download
eggs-directory = /buildout-cache/eggs
eggs =
Pillow
collective.wfcomment
collective.contact.facetednav
show-picked-versions = true
[zeoserver]
recipe = plone.recipe.zeoserver
zeo-address = 8100
file-storage = /data/filestorage/Data.fs
blob-storage = /data/blobstorage
pack-days = 28
pack-keep-old = false
[instance]
recipe = plone.recipe.zope2instance
user = admin:admin
blob-storage = /data/blobstorage
shared-blob = on
zeo-client = true
zeo-address = zeo:8100
effective-user = plone
http-address = 8080
debug-mode = off
verbose-security = off
eggs =
${buildout:eggs}
pfwbged.policy
collective.contact.core
collective.contact.widget
collective.dms.batchimport
collective.dms.thesaurus
collective.solr
pfwbged.basecontent
pfwbged.mockups
pfwbged.collection
pfwbged.folder
pfwbged.theme
eea.facetednavigation
plone.app.async
plone.app.ldap
zcml =
pfwbged.policy
zcml-additional =
<include package="plone.app.async" file="single_db_instance.zcml" />
zope-conf-additional =
%import collective.taskqueue
<taskqueue>
type redis
host redis
port 6379
</taskqueue>
zeo-client-cache-size = 256MB
zodb-cache-size = 60000
environment-vars =
PYTHON_EGG_CACHE ${buildout:directory}/tmp
TMPDIR ${buildout:directory}/tmp
zope_i18n_compile_mo_files true
event-log-custom =
<logfile>
level info
path /data/log/instance-$(HOSTNAME).log
max-size 1MB
old-files 720
</logfile>
<logfile>
level error
path /data/log/error.log
max-size 1MB
old-files 720
</logfile>
access-log-custom =
<logfile>
path /data/log/z2-$(HOSTNAME).log
max-size 1MB
old-files 720
</logfile>
[worker]
<= instance
environment-vars =
${instance:environment-vars}
ZC_ASYNC_UUID ${buildout:directory}/var/worker-uuid.txt
zcml-additional =
<include package="plone.app.async" file="single_db_worker.zcml" />
zope-conf-additional =
%import collective.taskqueue
<taskqueue>
type redis
host redis
port 6379
</taskqueue>
<taskqueue-server>
name ${:_buildout_section_name_}
</taskqueue-server>
[solr]
recipe = collective.recipe.solrinstance
host = 0.0.0.0
port = 8983
management-port = 8094
min-ram = 256M
max-ram = 1024M
basepath = /solr
logdir = /data/log
vardir = /data/solr
pidpath = /data/solr
solr-version = 3
default-search-field = default
java-opts =
-Dcom.sun.management.jmxremote
-Djava.rmi.server.hostname=${solr:host}
-Dcom.sun.management.jmxremote.port=${:management-port}
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false
-server
-Xms${solr:min-ram}
-Xmx${solr:max-ram}
default-operator = AND
maxWarmingSearchers = 1
unique-key = UID
index =
name:allowedRolesAndUsers type:string stored:false multivalued:true
name:created type:date stored:true
name:Creator type:string stored:true
name:Date type:date stored:true
name:default type:text indexed:true stored:false multivalued:true
name:Description type:text copyfield:default stored:true
name:effective type:date stored:true
name:exclude_from_nav type:boolean indexed:false stored:true
name:expires type:date stored:true
name:getIcon type:string indexed:false stored:true
name:getId type:string indexed:false stored:true
name:getRemoteUrl type:string indexed:false stored:true
name:is_folderish type:boolean stored:true
name:Language type:string stored:true
name:modified type:date stored:true
name:object_provides type:string stored:false multivalued:true
name:path_depth type:integer indexed:true stored:false
name:path_parents type:string indexed:true stored:false multivalued:true
name:path_string type:string indexed:false stored:true
name:portal_type type:string stored:true
name:review_state type:string stored:true
name:SearchableText type:text copyfield:default stored:false
name:searchwords type:string stored:false multivalued:true
name:showinsearch type:boolean stored:false
name:Subject type:string copyfield:default stored:true multivalued:true
name:Title type:text copyfield:default stored:true
name:Type type:string stored:true
name:UID type:string stored:true required:true
name:get_full_title type:string stored:true
name:has_final_unsigned_version type:boolean stored:true
name:can_last_version_validate type:boolean stored:true
name:has_last_version_accept type:boolean stored:true
name:has_last_version_refuse type:boolean stored:true
name:sender_as_text type:text stored:true
name:recipients_as_text type:text stored:true
name:object_folders type:string stored:false multivalued:true
name:object_direct_folders type:string stored:false multivalued:true
name:thesaurus_keywords type:string stored:false multivalued:true
name:reception_date type:date stored:true
name:mail_date type:date stored:true
name:meeting_date type:date stored:true
name:sortable_title type:string stored:true
name:internal_reference_number type:string stored:true

View File

@ -3,14 +3,16 @@ extends =
https://raw.github.com/plone/buildout.coredev/4.3/sources.cfg
[remotes]
tdesvenain = git://github.com/tdesvenain
tdesvenain = https://github.com/tdesvenain
tdesvenain_push = git@github.com:tdesvenain
vincentfretin = git://github.com/vincentfretin
vincentfretin = https://github.com/vincentfretin
vincentfretin_push = git@github.com:vincentfretin
cedricmessiant = git://github.com/cedricmessiant
cedricmessiant = https://github.com/cedricmessiant
cedricmessiant_push = git@github.com:cedricmessiant
entrouvert = git://repos.entrouvert.org
entrouvert_push = git+ssh://git@repos.entrouvert.org
entrouvert = https://git.entrouvert.org
entrouvert_push = git+ssh://git@git.entrouvert.org
collective = https://github.com/collective
collective_push = git@github.com:collective
[sources]
collective.contact.core = git ${remotes:entrouvert}/collective.contact.core.git pushurl=${remotes:entrouvert_push}/collective.contact.core.git
@ -23,13 +25,13 @@ collective.dms.batchimport = git ${remotes:entrouvert}/collective.dms.batchimpor
collective.dms.mailcontent = git ${remotes:entrouvert}/collective.dms.mailcontent.git pushurl=${remotes:entrouvert_push}/collective.dms.mailcontent.git
collective.dms.thesaurus = git ${remotes:entrouvert}/collective.dms.thesaurus.git pushurl=${remotes:entrouvert_push}/collective.dms.thesaurus.git
collective.task = git ${remotes:entrouvert}/collective.task.git pushurl=${remotes:entrouvert_push}/collective.task.git
collective.z3cform.chosen = git git://github.com/kiorky/collective.z3cform.chosen.git pushurl=git+ssh://git@github.com/kiorky/collective.z3cform.chosen.git
collective.z3cform.chosen = git https://github.com/kiorky/collective.z3cform.chosen.git pushurl=git+ssh://git@github.com/kiorky/collective.z3cform.chosen.git
collective.z3cform.rolefield = git ${remotes:entrouvert}/collective.z3cform.rolefield.git pushurl=${remotes:entrouvert_push}/collective.z3cform.rolefield.git
eea.facetednavigation = git ${remotes:collective}/eea.facetednavigation.git pushurl=${remotes:collective_push}/eea.facetednavigation.git
ecreall.helpers.testing = git ${remotes:tdesvenain}/ecreall.helpers.testing.git pushurl=${remotes:tdesvenain_push}/ecreall.helpers.testing.git
ecreall.helpers.upgrade = git ${remotes:tdesvenain}/ecreall.helpers.upgrade.git pushurl=${remotes:tdesvenain_push}/ecreall.helpers.upgrade.git
pfwbged.basecontent = git ${remotes:entrouvert}/pfwbged.basecontent.git pushurl=${remotes:entrouvert_push}/pfwbged.basecontent.git
pfwbged.collection = git ${remotes:entrouvert}/pfwbged.collection.git pushurl=${remotes:entrouvert_push}/pfwbged.collection.git branch=ged1.6
pfwbged.collection = git ${remotes:entrouvert}/pfwbged.collection.git pushurl=${remotes:entrouvert_push}/pfwbged.collection.git branch=32781
pfwbged.folder = git ${remotes:entrouvert}/pfwbged.folder.git pushurl=${remotes:entrouvert_push}/pfwbged.folder.git
pfwbged.contact = git ${remotes:entrouvert}/pfwbged.contact.git pushurl=${remotes:entrouvert_push}/pfwbged.contact.git
pfwbged.policy = git ${remotes:entrouvert}/pfwbged.policy.git pushurl=${remotes:entrouvert_push}/pfwbged.policy.git branch=ged1.6

View File

@ -144,3 +144,6 @@ PyYAML = 5.3
argh = 0.26.2
pathtools = 0.1.2
watchdog = 0.9.0
collective.recipe.solrinstance = 6.0.0b3
Genshi = 0.7.7