W.I.P. collab editor: Create collab tables in DB

This commit is contained in:
Hadi Nategh 2016-08-09 15:47:52 +02:00
parent 281c6d8761
commit 4a5bfd260a
3 changed files with 125 additions and 2 deletions

View File

@ -10,11 +10,13 @@
$setup_info['filemanager']['name'] = 'filemanager';
$setup_info['filemanager']['title'] = 'Filemanager';
$setup_info['filemanager']['version'] = '16.1';
$setup_info['filemanager']['version'] = '16.2';
$setup_info['filemanager']['app_order'] = 6;
$setup_info['filemanager']['enable'] = 1;
$setup_info['filemanager']['index'] = 'filemanager.filemanager_ui.index&ajax=true';
$setup_info['filemanager']['tables'] = array('egw_collab_member', 'egw_collab_op', 'egw_collab_session');
$setup_info['filemanager']['author'] =
$setup_info['filemanager']['maintainer'] = array(
'name' => 'Ralf Becker',

View File

@ -0,0 +1,57 @@
<?php
/**
* EGroupware - Filemanager - Setup
*
* @link http://www.egroupware.org
* @author Hadi Nategh <hn-AT-stylite.de>
* @package filemanager
* @subpackage setup
* @copyright (c) 2016 by Stylite AG
* @license http://opensource.org/licenses/gpl-license.php GPL - GNU General Public License
* @version $Id$
*/
$phpgw_baseline = array(
'egw_collab_member' => array(
'fd' => array(
'collab_member_id' => array('type' => 'auto','nullable' => False, 'comment' => 'Unique per user and session'),
'collab_es_id' => array('type' => 'varchar','precision' => '64','nullable' => False, 'comment' => 'Related editing session id'),
'collab_uid' => array('type' => 'varchar','precision' => '64'),
'collab_color' => array('type' => 'varchar','precision' => '32'),
'collab_last_activity' => array('type' => 'int','precision' => '4'),
'collab_is_guest' => array('type' => 'int','precision' => '2','default' => '0','nullable' => False),
'collab_token' => array('type' => 'varchar','precision' => '32'),
'collab_status' => array('type' => 'int','precision' => '2','default' => '1','nullable' => False)
),
'pk' => array('collab_member_id'),
'fk' => array(),
'ix' => array(),
'uc' => array()
),
'egw_collab_op' => array(
'fd' => array(
'collab_seq' => array('type' => 'auto','nullable' => False, 'comment' => 'Sequence number'),
'collab_es_id' => array('type' => 'varchar','precision' => '64','nullable' => False, 'comment' => 'Editing session id'),
'collab_member' => array('type' => 'int','precision' => '4','default' => '1','nullable' => False, 'comment' => 'User and time specific'),
'collab_optype' => array('type' => 'varchar','precision' => '64', 'comment' => 'Operation type'),
'collab_opspec' => array('type' => 'longtext', 'comment' => 'json-string')
),
'pk' => array('collab_seq'),
'fk' => array(),
'ix' => array(),
'uc' => array()
),
'egw_collab_session' => array(
'fd' => array(
'collab_es_id' => array('type' => 'varchar','precision' => '64','nullable' => False, 'comment' => 'Editing session id'),
'collab_genesis_url' => array('type' => 'varchar','precision' => '512', 'comment' => 'Relative to owner documents storage /template.odt'),
'collab_genesis_hash' => array('type' => 'varchar','precision' => '128','nullable' => False, 'comment' => 'To be sure the genesis did not change'),
'collab_file_id' => array('type' => 'varchar','precision' => '512', 'comment' => 'Relative to storage e.g. /template.odt'),
'account_id' => array('type' => 'int','meta' => 'user','precision' => '4','nullable' => False, 'comment' => 'user who created the session')
),
'pk' => array('collab_es_id'),
'fk' => array(),
'ix' => array(),
'uc' => array()
)
);

View File

@ -0,0 +1,64 @@
<?php
/**
* EGroupware - Filemanager - setup
*
* @link http://www.egroupware.org
* @package filemanager
* @license http://opensource.org/licenses/gpl-license.php GPL - GNU General Public License
* @version $Id$
*/
/**
* Creating colaboration tables
*
* @return string
*/
function filemanager_upgrade16_1()
{
$GLOBALS['egw_setup']->oProc->CreateTable('egw_collab_member', array(
'fd' => array(
'collab_member_id' => array('type' => 'auto','nullable' => False, 'comment' => 'Unique per user and session'),
'collab_es_id' => array('type' => 'varchar','precision' => '64','nullable' => False, 'comment' => 'Related editing session id'),
'collab_uid' => array('type' => 'varchar','precision' => '64'),
'collab_color' => array('type' => 'varchar','precision' => '32'),
'collab_last_activity' => array('type' => 'int','precision' => '4'),
'collab_is_guest' => array('type' => 'int','precision' => '2','default' => '0','nullable' => False),
'collab_token' => array('type' => 'varchar','precision' => '32'),
'collab_status' => array('type' => 'int','precision' => '2','default' => '1','nullable' => False)
),
'pk' => array('collab_member_id'),
'fk' => array(),
'ix' => array(),
'uc' => array()
));
$GLOBALS['egw_setup']->oProc->CreateTable('egw_collab_op', array(
'fd' => array(
'collab_seq' => array('type' => 'auto','nullable' => False, 'comment' => 'Sequence number'),
'collab_es_id' => array('type' => 'varchar','precision' => '64','nullable' => False, 'comment' => 'Editing session id'),
'collab_member' => array('type' => 'int','precision' => '4','default' => '1','nullable' => False, 'comment' => 'User and time specific'),
'collab_optype' => array('type' => 'varchar','precision' => '64', 'comment' => 'Operation type'),
'collab_opspec' => array('type' => 'longtext', 'comment' => 'json-string')
),
'pk' => array('collab_seq'),
'fk' => array(),
'ix' => array(),
'uc' => array()
));
$GLOBALS['egw_setup']->oProc->CreateTable('egw_collab_session', array(
'fd' => array(
'collab_es_id' => array('type' => 'varchar','precision' => '64','nullable' => False, 'comment' => 'Editing session id'),
'collab_genesis_url' => array('type' => 'varchar','precision' => '512', 'comment' => 'Relative to owner documents storage /template.odt'),
'collab_genesis_hash' => array('type' => 'varchar','precision' => '128','nullable' => False, 'comment' => 'To be sure the genesis did not change'),
'collab_file_id' => array('type' => 'varchar','precision' => '512', 'comment' => 'Relative to storage e.g. /template.odt'),
'account_id' => array('type' => 'int','meta' => 'user','precision' => '4','nullable' => False, 'comment' => 'user who created the session')
),
'pk' => array('collab_es_id'),
'fk' => array(),
'ix' => array(),
'uc' => array()
));
return $GLOBALS['setup_info']['activesync']['currentver'] = '16.2';
}