* CalDAV/CardDAV: allow up to 255 char UIDs to support OutlookCalDAVSynchronizer

This commit is contained in:
Ralf Becker 2018-12-04 10:48:59 +01:00
parent 87ea099f05
commit 63fa1e98db
9 changed files with 67 additions and 12 deletions

View File

@ -11,7 +11,7 @@
/* Basic information about this app */
$setup_info['api']['name'] = 'api';
$setup_info['api']['title'] = 'EGroupware API';
$setup_info['api']['version'] = '17.1.004';
$setup_info['api']['version'] = '17.1.005';
$setup_info['api']['versions']['current_header'] = '1.29';
// maintenance release in sync with changelog in doc/rpm-build/debian.changes
$setup_info['api']['versions']['maintenance_release'] = '17.1.20181018';
@ -130,3 +130,4 @@ $setup_info['groupdav']['author'] = $setup_info['groupdav']['maintainer'] = arra
$setup_info['groupdav']['license'] = 'GPL';
$setup_info['groupdav']['hooks']['preferences'] = 'EGroupware\\Api\\CalDAV\\Hooks::menus';
$setup_info['groupdav']['hooks']['settings'] = 'EGroupware\\Api\\CalDAV\\Hooks::settings';

View File

@ -255,10 +255,10 @@ $phpgw_baseline = array(
'contact_modifier' => array('type' => 'int','meta' => 'user','precision' => '4','comment' => 'account id of the last modified'),
'account_id' => array('type' => 'int','meta' => 'user','precision' => '4','comment' => 'account id'),
'contact_etag' => array('type' => 'int','precision' => '4','default' => '0','comment' => 'etag of the changes'),
'contact_uid' => array('type' => 'ascii','precision' => '128','comment' => 'unique id of the contact'),
'contact_uid' => array('type' => 'ascii','precision' => '255','comment' => 'unique id of the contact'),
'adr_one_countrycode' => array('type' => 'ascii','precision' => '2','comment' => 'countrycode (business)'),
'adr_two_countrycode' => array('type' => 'ascii','precision' => '2','comment' => 'countrycode (private)'),
'carddav_name' => array('type' => 'ascii','precision' => '128','comment' => 'name part of CardDAV URL, if specified by client'),
'carddav_name' => array('type' => 'ascii','precision' => '260','comment' => 'name part of CardDAV URL, if specified by client'),
'contact_files' => array('type' => 'int','precision' => '1','default' => '0','comment' => '&1: photo, &2: pgp, &4: smime')
),
'pk' => array('contact_id'),

View File

@ -499,3 +499,20 @@ function api_upgrade17_1_003()
return $GLOBALS['setup_info']['api']['currentver'] = '17.1.004';
}
function api_upgrade17_1_004()
{
$GLOBALS['egw_setup']->oProc->AlterColumn('egw_addressbook','contact_uid',array(
'type' => 'ascii',
'precision' => '255',
'comment' => 'unique id of the contact'
));
$GLOBALS['egw_setup']->oProc->AlterColumn('egw_addressbook','carddav_name',array(
'type' => 'ascii',
'precision' => '260',
'comment' => 'name part of CardDAV URL, if specified by client'
));
return $GLOBALS['setup_info']['api']['currentver'] = '17.1.005';
}

3
calendar/setup/setup.inc.php Executable file → Normal file
View File

@ -10,7 +10,7 @@
*/
$setup_info['calendar']['name'] = 'calendar';
$setup_info['calendar']['version'] = '17.1.002';
$setup_info['calendar']['version'] = '17.1.003';
$setup_info['calendar']['app_order'] = 3;
$setup_info['calendar']['enable'] = 1;
$setup_info['calendar']['index'] = 'calendar.calendar_uiviews.index&ajax=true';
@ -53,3 +53,4 @@ $setup_info['calendar']['depends'][] = array(
'appname' => 'api',
'versions' => Array('17.1')
);

View File

@ -13,7 +13,7 @@ $phpgw_baseline = array(
'egw_cal' => array(
'fd' => array(
'cal_id' => array('type' => 'auto','nullable' => False,'comment' => 'calendar id'),
'cal_uid' => array('type' => 'ascii','precision' => '128','nullable' => False,'comment' => 'unique id of event(-series)'),
'cal_uid' => array('type' => 'ascii','precision' => '255','nullable' => False,'comment' => 'unique id of event(-series)'),
'cal_owner' => array('type' => 'int','meta' => 'user','precision' => '4','nullable' => False,'comment' => 'event owner / calendar'),
'cal_category' => array('type' => 'ascii','meta' => 'category','precision' => '64','comment' => 'category id(s)'),
'cal_modified' => array('type' => 'int','meta' => 'timestamp','precision' => '8','comment' => 'ts of last modification'),
@ -31,8 +31,8 @@ $phpgw_baseline = array(
'cal_created' => array('type' => 'int','meta' => 'timestamp','precision' => '8','nullable' => False,'comment' => 'creation time of event'),
'cal_recurrence' => array('type' => 'int','meta' => 'timestamp','precision' => '8','nullable' => False,'default' => '0','comment' => 'cal_start of original recurrence for exception'),
'tz_id' => array('type' => 'int','precision' => '4','comment' => 'key into egw_cal_timezones'),
'cal_deleted' => array('type' => 'int','precision' => '8','meta' => 'timestamp','comment' => 'ts when event was deleted'),
'caldav_name' => array('type' => 'ascii','precision' => '128','comment' => 'name part of CalDAV URL, if specified by client'),
'cal_deleted' => array('type' => 'int','meta' => 'timestamp','precision' => '8','comment' => 'ts when event was deleted'),
'caldav_name' => array('type' => 'ascii','precision' => '260','comment' => 'name part of CalDAV URL, if specified by client'),
'range_start' => array('type' => 'int','meta' => 'timestamp','precision' => '8','nullable' => False,'comment' => 'startdate (of range)'),
'range_end' => array('type' => 'int','meta' => 'timestamp','precision' => '8','comment' => 'enddate (of range, UNTIL of RRULE)')
),

View File

@ -2771,4 +2771,22 @@ function calendar_upgrade17_1_001()
// Update resources preference
Api\Preferences::change_preference('calendar', 'defaultresource_sel', 'resources_conflict', 'resources');
return $GLOBALS['setup_info']['calendar']['currentver'] = '17.1.002';
}
}
function calendar_upgrade17_1_002()
{
$GLOBALS['egw_setup']->oProc->AlterColumn('egw_cal','cal_uid',array(
'type' => 'ascii',
'precision' => '255',
'nullable' => False,
'comment' => 'unique id of event(-series)'
));
$GLOBALS['egw_setup']->oProc->AlterColumn('egw_cal','caldav_name',array(
'type' => 'ascii',
'precision' => '260',
'comment' => 'name part of CalDAV URL, if specified by client'
));
return $GLOBALS['setup_info']['calendar']['currentver'] = '17.1.003';
}

View File

@ -11,7 +11,7 @@
*/
$setup_info['infolog']['name'] = 'infolog';
$setup_info['infolog']['version'] = '17.1';
$setup_info['infolog']['version'] = '17.1.001';
$setup_info['infolog']['app_order'] = 5;
$setup_info['infolog']['tables'] = array('egw_infolog','egw_infolog_extra','egw_infolog_users');
$setup_info['infolog']['enable'] = 1;
@ -64,3 +64,4 @@ $setup_info['infolog']['depends'][] = array(
'appname' => 'api',
'versions' => Array('17.1')
);

View File

@ -39,15 +39,15 @@ $phpgw_baseline = array(
'info_datecompleted' => array('type' => 'int','meta' => 'timestamp','precision' => '8','comment' => 'timestamp of completion'),
'info_location' => array('type' => 'varchar','precision' => '255','comment' => 'textfield location'),
'info_custom_from' => array('type' => 'int','precision' => '1','comment' => 'tick-box to show infolog_from'),
'info_uid' => array('type' => 'ascii','precision' => '128','comment' => 'unique id of the infolog-entry'),
'caldav_name' => array('type' => 'ascii','precision' => '128','comment' => 'name part of CalDAV URL, if specified by client'),
'info_uid' => array('type' => 'ascii','precision' => '255','comment' => 'unique id of the infolog-entry'),
'caldav_name' => array('type' => 'ascii','precision' => '260','comment' => 'name part of CalDAV URL, if specified by client'),
'info_etag' => array('type' => 'int','precision' => '4','default' => '0','comment' => 'etag, not yet used'),
'info_created' => array('type' => 'int','meta' => 'timestamp','precision' => '8','comment' => 'timestamp of the creation date'),
'info_creator' => array('type' => 'int','meta' => 'user','precision' => '4','comment' => 'account id of the creator')
),
'pk' => array('info_id'),
'fk' => array(),
'ix' => array('caldav_name','info_owner','info_datemodified','info_id_parent'),
'ix' => array('info_owner','info_datemodified','info_id_parent','caldav_name'),
'uc' => array()
),
'egw_infolog_extra' => array(

View File

@ -1084,3 +1084,20 @@ function infolog_upgrade16_1_004()
return $GLOBALS['setup_info']['infolog']['currentver'] = '17.1';
}
function infolog_upgrade17_1()
{
$GLOBALS['egw_setup']->oProc->AlterColumn('egw_infolog','info_uid',array(
'type' => 'ascii',
'precision' => '255',
'comment' => 'unique id of the infolog-entry'
));
$GLOBALS['egw_setup']->oProc->AlterColumn('egw_infolog','caldav_name',array(
'type' => 'ascii',
'precision' => '260',
'comment' => 'name part of CalDAV URL, if specified by client'
));
return $GLOBALS['setup_info']['infolog']['currentver'] = '17.1.001';
}