GithubHelp home page GithubHelp logo

intermesh / groupoffice Goto Github PK

View Code? Open in Web Editor NEW
178.0 21.0 46.0 116.42 MB

Group Office groupware and CRM

Home Page: https://www.group-office.com

License: Other

Shell 0.04% PHP 60.90% JavaScript 36.86% CSS 0.57% HTML 0.06% Perl 0.08% Smarty 0.04% Hack 0.01% SCSS 1.39% Makefile 0.01% TypeScript 0.06%
groupware crm collaboration email calendar address-book file-sharing

groupoffice's Introduction

Group Office groupware and CRM

Group-Office is an enterprise CRM and groupware tool. Share projects, calendars, files and e-mail online with co-workers and clients. Easy to use and fully customizable.

Install

If you're not a developer and you wish to use Group-Office please visit:

https://www.group-office.com/documentation.html

Developers

Docker

Production

Our Docker image can be found here:

https://github.com/Intermesh/docker-groupoffice

Development

If you'd like to get started with Group-Office development please have a look at our docker-compose project. You can get started in minutes with just a few commands:

https://github.com/Intermesh/docker-groupoffice-development

Manual from source

  1. Install regularly like on https://groupoffice.readthedocs.io/en/latest/install/install.html
  2. If using the Debian packages then disable the APT repository to avoid overwritten source on update.
  3. Clone this repository
  4. Change into the "www" directory.
  5. Create subdirectories for the GOUI Framework and the GroupOffice Core libraries:
mkdir -p views/goui/goui
mkdir -p views/goui/groupoffice-core
  1. Clone the GOUI and GroupOffice Core libraries in the newly created directories. Please note that these are to be git submodules:
git submodule add [email protected]:Intermesh/goui.git www/views/goui/goui/
git submodule add [email protected]:Intermesh/groupoffice-core.git www/views/goui/groupoffice-core/
  1. Initialize the submodules:
git submodule init
git submodule update
  1. Follow the instructions in the README.md file for the GOUI library. This will install dependencies and compile the typescript code.

  2. Do the same for the GroupOffice Core library. As this library depends on the GOUI library.

  3. Install composer libraries:

"composer install"
  1. Compile sass:
sass views/Extjs3/themes/Paper/src/style.scss views/Extjs3/themes/Paper/style.css
sass views/Extjs3/themes/Paper/src/style-mobile.scss views/Extjs3/themes/Paper/style-mobile.css
  1. Symlink the original source directory to your development files. For example:

Move Debian package folder away:

mv /usr/share/groupoffice /usr/share/groupofficebak

Create symlink to master clone:

ln -s ~/Projects/groupoffice/master/www /usr/share/groupoffice
  1. Launch it in the web browser and follow the installer's instructions.

Happy coding!

groupoffice's People

Contributors

akshaydewnarain avatar computersalat avatar dehart avatar dependabot[bot] avatar derjoachim avatar fischli avatar frodoschering avatar ganeshkandu avatar gtech99 avatar jodlidev avatar liedekef avatar michalcharvat avatar mschering avatar polarismail avatar pvdvendjc avatar rvdartel avatar sirdemoncze 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

groupoffice's Issues

PHP 7.2 Issue

'Object' is reserved in PHP 7.2

Fatal error: Cannot use 'Object' as class name as it is reserved in /usr/share/groupoffice/go/base/Object.php on line 36
[2018-03-13T08:51:20-04:00] ErrorException in /usr/share/groupoffice/go/base/Object.php at line 36: Cannot use 'Object' as class name as it is reserved ErrorException: Cannot use 'Object' as class name as it is reserved in /usr/share/groupoffice/go/base/Object.php:36 Stack trace: #0 [internal function]: go\core\ErrorHandler->shutdown() #1 {main} Debug dump: array(0) { }

Installer bug in go/core/Installer.php

It claims the DB is not empty, even though it is empty. Fails on this line:

line 40:

            if (count($database->getTables())) {
                    throw new Exception("Database is not empty");
            }

each() function is deprecated in 7.2

In go/base/util/StringHelper.php like 1363, you are using the each() function which is deprecated.

Consider changing code to:

            foreach (array_keys($array_allow) as $key) {
                    $array_allow_tmp[$new_key] = $array_allow[$key];
                    $new_key ++;
            }

Collected

new modules aren't visible until db check

module "settings" after install without any function

After installing "calendar export" -> Blue Window -> after reinstall DB -> Exception in /var/www/html/go63/go/base/db/ActiveRecord.php at line 1696: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'go63.fav_addressbook' doesn't exist -> after DBCheck -> OK

"demo data" recalls installation question loop after every login

"manual site" doesn't install -> ErrorException in /var/www/html/go63/go/base/db/ActiveRecord.php at line 3122: Undefined index: type

"smime" doesn't install -> ErrorException in /var/www/html/go63/go/base/db/ActiveRecord.php at line 3122: Undefined index: type

"core/test" -> don't know what this is about

Sieve

Sieve is enabled in em_accounts and config.php but can't be used.

Prof. modules, billing and documents

Installed testing licenses but can't activate neither any prof. module nor billing and documents. Error ->

ErrorException in /var/www/html/go63/go/base/db/ActiveRecord.php at line 3122: Undefined index: type

Installer bug in ValidationTrait.php

Not sure what's going on here but we get hit with this error while trying to install

ErrorException in /usr/share/groupoffice/go/core/validate/ValidationTrait.php at line 83: count(): Parameter must be an array or an object that implements Countable ErrorException: count(): Parameter must be an array or an object that implements Countable in /usr/share/groupoffice/go/core/validate/ValidationTrait.php:83

Stack trace: #0 [internal function]: go\core\ErrorHandler::errorHandler(2, 'count(): Parame...', '/usr/share/grou...', 83, Array) #1 /usr/share/groupoffice/go/core/validate/ValidationTrait.php(83): count(NULL) #2 /usr/share/groupoffice/go/core/validate/ValidationTrait.php(20): go\core\orm\Property->hasValidationErrors() #3 /usr/share/groupoffice/go/core/orm/Property.php(512): go\core\orm\Property->validate() #4 /usr/share/groupoffice/go/core/acl/model/Acl.php(90): go\core\orm\Property->internalSave() #5 /usr/share/groupoffice/go/core/acl/model/AclEntity.php(55): go\core\acl\model\Acl->internalSave() #6 /usr/share/groupoffice/go/core/acl/model/AclEntity.php(44): go\core\acl\model\AclEntity->createAcl() #7 /usr/share/groupoffice/go/core/orm/Entity.php(136): go\core\acl\model\AclEntity->internalSave() #8 /usr/share/groupoffice/go/core/Installer.php(53): go\core\orm\Entity->save() #9 /usr/share/groupoffice/install/install.php(31): go\core\Installer->install(Array, Array) #10 {main} Debug dump: array(0) { }

Default Template is hardcoded and hidden

In file:

modules/addressbook/AddressbookModule.php

it appears the 'Best regards' template is uploaded at install time and can't be overwritten. It's also not visible in the Templates list:

As a suggestion:

  • move templates to E-mail module, maybe merge with Signatures
  • default template should be blank

This is where the template gets added but is not visible after..

            $message = new \GO\Base\Mail\Message();
            $message->setHtmlAlternateBody('{salutation},<br />

{body}

'.\GO::t("Best regards", "addressbook").'


{user:name}
{usercompany:name}
');

Classes added to a namespace will not be found

If a class is added to a namespace (eg go\modules\vendor\module\Module.php (extended from go\core\module\Base)) and you will refresh your modules Grid then this module will never be found till you remove the file ns-classes-go-modules from the cache2 folder in your filepath.

I think there should be a way to avoid this (eg if in debug mode then don't look after cache, only save new ones, and clear cache with a cli-function) otherwise it will be hard to install new modules in an existing installation.

App.php syntax error

Also, in go/core/App.php at line 154 you use '??' which is not valid. Did you want to use ternary operator ?

"dataPath" => $config['file_storage_path'] ?? '/home/groupoffice',

count() in go/base/mail/Message.php

line 481.

Can't use count() anymore on null variables without warning

Possible solution:

    public function countRecipients(){
            return count($this->getTo() ?? []) + count($this->getCc() ?? []) + count($this->getBcc() ?? []);
    }

7.2 and Object use

Fatal error: Cannot use go\core\data\Object as Object because 'Object' is a special class name in /usr/share/groupoffice/go/core/data/Store.php on line 7

file module

Trying to call file module: ErrorException in /var/www/html/go63/go/base/db/ActiveRecord.php at line 3122: Undefined index: type

Trying to create a folder in file module:
Exception in /var/www/html/go63/go/base/db/ActiveRecord.php at line 938: Could not find ACL for GO\Files\Model\Folder with pk:

Trying to upload a file: nothing happens. After reload: ErrorException in /var/www/html/go63/go/base/db/ActiveRecord.php at line 3122: Undefined index: type

Language

Can't choose a different language. I selected German during installation and wanted to change to English in settings - nothing happens.

each() in go/base/mail/EmailRecipients.php

line 101
This one was a bit tough to replace, without fully understanding the code, but I came up with this. Not sure if it does the same action as the original intended. Please double/triple check

    public function getAddress(){
            $each['value']=reset($this->_addresses);
            $each['key']=key($this->_addresses);
            return $each ? array('email'=>$each['key'], 'personal'=>empty($each['value']) ? $each['key'] : $each['value']) : false;
    }

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.