#
# Copyright (C) 2000 - 2024 Silverpeas
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
# published by the Free Software Foundation, either version 3 of the
# License, or (at your option) any later version.
#
# As a special exception to the terms and conditions of version 3.0 of
# the GPL, you may redistribute this Program in connection with Free/Libre
# Open Source Software ("FLOSS") applications as described in Silverpeas's
# FLOSS exception. You should have received a copy of the text describing
# the FLOSS exception, and it is also available here:
# "http://www.silverpeas.org/docs/core/legal/floss_exception.html"
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program.  If not, see <https://www.gnu.org/licenses/>.
#

# Cron to determine when synchronizations are done
# A cron like string ([*|NUM{,NUM}] [*|NUM{,NUM}] [*|NUM{,NUM}] [*|NUM{,NUM}] [*|NUM{,NUM}])
# The allowed ranges are:
#   minutes (0-59),
#   hours (0-23),
#   days of a month (1-31),
#   months (1-12; starts with 1 for January),
#   day of a week (0-6; starts with 0 for Sunday).
# The cron is read only at startup time. A change in the cron requires to restart Silverpeas.
#
# So the string '0 */2 * * *' starts the synchronization every two hours
calendar.synchronization.cron = 0 */2 * * *

# The number of synchronization processors to run in parallel. Each processor take in charge a
# different synchronized calendars. A value of 0 or no value means the number of processors is
# computed by the Silverpeas itself according to the number of available processors in the server.
# This value is read each time the synchronization mechanism is triggered by the cron above; it can
# then be updated by hand at runtime.
calendar.synchronization.processors = 0

# Some ics files could have some data errors such as wrong date format for example.
# By this parameter, it is possible to replace parts of file content by regexp rules.
# Rules are separated by ';' char.
# A rule is defined by the sequence (regexp) to match and the sequence to replace in both separated by "/"
# For example: CREATED:0000/CREATED:1970
# The synchronization process uses also this parameter.
calendar.import.ics.file.replace.before.process =

# Permits to define the set of potential CSS colors for calendars UI identification.
# This parameter is mandatory.
# Each colors must be separated by a comma.
calendar.ui.colors = #008cd6,#7cb63e,#eb9b0f,#f53333,#7d2a70,#458277,#dc776f,#7d5a5a,#144476,#777777,#000000,#cf1a4d

# Indicates the maximum number of events displayed on next event view.
calendar.nextEvents.limit=100

# Indicates the maximum number of events displayed on short next event view.
calendar.nextEvents.short.limit=20

# Indicates the time windows in months (separated by comma) into which will be requested next
# occurrences.
# For example: "1, 6, 12" will perform first a query on a month, if the number of occurrences is
# less than the one specified for parameter calendar.nextEvents.short.limit then a query on 6 months
# is performed, etc.
# The more calendar.nextEvents.short.limit is big, the more calendar.nextEvents.time.windows must be
# big, as default values are.
calendar.nextEvents.time.windows=6, 12

# Into different views, displaying or not end hours.
calendar.views.day.endHour=true
calendar.views.week.endHour=true
calendar.views.month.endHour=true
calendar.views.year.endHour=true

# Day header formatting for list views.
# Two zones can be filled in such views, the left one and the right one.
# For both of them, format patterns are those of MomentJS API:
# https://momentjscom.readthedocs.io/en/stable/moment/04-displaying/01-format/
# For left, by default it is a Localized format with month name, day of month and year.
# If no value, no label is displayed.
calendar.views.list.dayHeader.format.left = LL
# For right, by default it is day of week in letters.
# If no value, no label is displayed.
calendar.views.list.dayHeader.format.right = dddd