forked from extern/egroupware
Web based groupware server written in PHP, forum at https://help.egroupware.org/
1259ae8d04
1. SO converts all timestamps to Api\DateTime objects using Api\DateTime::server2user($ts, 'object') - Api\Storage and Api\Storage\Base class do that automatic if using 'object' as $timestamp_type constructor parameter - if using just Api\Db you need to iterate over your selects manually and apply Api\DateTime::server2user($ts, 'object') - timestamps are store in DB in server timezone and above conversation honors that and additionally set the user TZ 2. Rest of the app should keep all timestamps as Api\DateTime objects - direct comparison works for Api\DateTime (and PHP \DateTime) as __toString() method automatic converts to UTC timestamps - do NOT convert them to timezone-less timestamps and no further timezone conversation needed for output with eTemplate 3. eTemplate2 converts automatic to user timezone for displaying dates and times - you need to use <date-time ... data_format="object"/> to get Api\DateTime objects back from eTemplate! 4. Api\Db converts automatic to server timezone when quoting DateTime objects for integer or timestamp columns 5. only output other then eTemplate might need to set a timezone different from the user TZ before calling $ts->format() |
||
---|---|---|
addressbook | ||
admin | ||
api | ||
calendar | ||
doc | ||
emailadmin | ||
filemanager | ||
files | ||
home | ||
importexport | ||
infolog | ||
notifications | ||
pixelegg | ||
preferences | ||
resources | ||
saml | ||
setup | ||
test | ||
timesheet | ||
ViewerJS | ||
.gitignore | ||
.htaccess | ||
.travis.yml | ||
about.php | ||
composer.json | ||
composer.lock | ||
groupdav.htaccess | ||
groupdav.php | ||
Gruntfile.js | ||
header.inc.php.template | ||
index.php | ||
install-cli.php | ||
json.php | ||
LICENSE.md | ||
login.php | ||
logout.php | ||
manifest.json | ||
package.json | ||
README.md | ||
redirect.php | ||
remote.php | ||
service-worker.js | ||
share.php | ||
status.php | ||
tsconfig.json | ||
updateGruntfile.php | ||
vfs-context-links.php | ||
vfs-context-share.php | ||
vfs-context-webdav.php | ||
vfs-context.php | ||
webdav.php |
EGroupware
Branch | Status | Tools | Usage |
---|---|---|---|
master | runs unit-tests after each commit | ||
20.1 | scrutinizer | runs static analysis on our codebase | |
19.1 | manual testing with unusual browser versions or platforms |
Default and prefered installation method for EGroupware is via your package manager:
https://software.opensuse.org/download.html?project=server%3AeGroupWare&package=egroupware-epl
Installing EGroupware 20.1 via Docker:
EGroupware 20.1 can be installed via Docker, in fact the DEB/RPM packages also does that. Instructions on how to run EGroupware in Docker are in doc/docker subdirectory.
Installing EGroupware 19.1 via Docker:
EGroupware 19.1 can be installed via Docker, in fact the DEB/RPM packages also does that. Instructions on how to run EGroupware in Docker are in doc/docker subdirectory.
Installing EGroupware development version:
- install composer.phar from https://getcomposer.org/download/
- optional: for minified JavaScript and CSS install nodejs and grunt
apt/yum/zypper install nodejs
npm install -g grunt-cli
- install EGroupware and dependencies
cd /path/to/your/docroot
git clone https://github.com/EGroupware/egroupware.git # or git@github.com:EGroupware/egroupware.git for ssh
cd egroupware
./install-cli.php
- install non-default EGroupware apps by cloning them into your egroupware directory eg.
cd /path/to/your/egroupware
git clone https://github.com/EGroupware/wiki.git
- continue installation at http://localhost/egroupware/setup/
Keeping EGroupware up to date or switch to release branch:
cd /path/to/your/egroupware
./install-cli.php [<change-channel>]
setup/setup-cli.php # will tell you if a schema-update is necessary
install-cli.php supports the following "channels":
- release: taged maintenance releases only eg. 19.1.20200701
- bugfix: release-branch incl. latest bugfixes eg. 20.1, if you are currently on 20.1.20200710
- <branch>: switch to given branch
- master: latest development for next release
To change the channel, call install-cli.php <channel-to-update-to>
.
For further instalation instructions see our wiki.