Wiki
Clone wikiBibSonomy / documentation / releases / 2021 / 4.0.0
4.0.0
Date: 2021/08/?? (dzo/mho/kch)
https://bitbucket.org/bibsonomy/bibsonomy/issues?milestone=4.0.0
released
- CRIS features:
- projects
- organizations (special groups)
- group hierarchy
- links between persons, projects
- person linking fixes
- person are now linked with the community post
- new search indices for
- people
- community posts (contains the community post or a normal post)
- groups
- CRIS system only:
- new people overview page
- new publications overview page
- new community page layout
- RIS snippet on /postPublication
- sorting full publication lists using fulltext search (for title, author)
- removed piwik stats option
- Group Explore Feature
- new overview layouts for groups, organizations, persons, projects
- preset tags for group
- group settings to add preset tags for the group, that will shown upon using the sentTo system tag
- option to only allow preset tags for the sent post
- updated sentTo and relevantFor UI, when creating/editing post
Necessary Changes
Person <-> Community Posts Migration
People are now linked with the community post and not with any publication of a user. To create the community posts, the person-community-migrator must be executed. See the project for more details.
The migrator must be executed after the release, because the migrator requires some changes that can be used.
Person no names Fix
Some people in the database do not have a name. Please execute the script in the person-name-fix project to add a main name "Unknown" to these people.
The fix must be executed after the release, because the fix requires new API endpoints.
database
Please note the 3.8.15 and 3.8.16 releases where special cris pre-releases.
-- 3.8.15 ALTER TABLE pub_person MODIFY person_index INT; ALTER TABLE log_pub_person MODIFY person_index INT; -- 3.8.16 ALTER TABLE `log_person` DROP PRIMARY KEY; ALTER TABLE `log_person` DROP KEY `person_change_id`; ALTER TABLE `log_person` ADD COLUMN `id` int(10) unsigned NOT NULL AUTO_INCREMENT PRIMARY KEY FIRST; -- 4.0.0 -- add_person_posts_fields.sql ALTER TABLE `user` ADD COLUMN `person_posts_style` tinyint(4) NOT NULL DEFAULT '0' AFTER `useExternalPicture`; ALTER TABLE `user` ADD COLUMN `person_posts_layout` varchar(255) NOT NULL DEFAULT '' AFTER `person_posts_style`; ALTER TABLE `pendingUser` ADD COLUMN `person_posts_style` tinyint(4) NOT NULL DEFAULT '0' AFTER `useExternalPicture`; ALTER TABLE `pendingUser` ADD COLUMN `person_posts_layout` varchar(255) NOT NULL DEFAULT '' AFTER `person_posts_style`; -- add_organizations_to_groups.sql ALTER TABLE `groupids` ADD COLUMN `organization` BOOLEAN DEFAULT FALSE; ALTER TABLE `pending_groupids` ADD COLUMN `organization` BOOLEAN DEFAULT FALSE; -- add_person_researcherid.sql ALTER TABLE `person` ADD `researcherid` char(16) DEFAULT NULL; ALTER TABLE `log_person` ADD `researcherid` char(16) DEFAULT NULL; -- add_db_projects.sql DROP TABLE IF EXISTS `projects`; SET @saved_cs_client = @@character_set_client; SET character_set_client = utf8; CREATE TABLE `projects` ( `id` int(11) unsigned NOT NULL, `internal_id` varchar(255) DEFAULT NULL, `project_id` varchar(255) DEFAULT NULL, `title` varchar(255) DEFAULT NULL, `subtitle` varchar(255) DEFAULT NULL, `description` text, `start_date` timestamp NULL DEFAULT NULL, `end_date` timestamp NULL DEFAULT NULL, `type` varchar(255) DEFAULT NULL, `sponsor` varchar(255) DEFAULT NULL, `budget` double DEFAULT NULL, `parent_id` int(11) DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, `updated_by` varchar(30) DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `project_id` (`project_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; DROP TABLE IF EXISTS `log_projects`; SET @saved_cs_client = @@character_set_client; SET character_set_client = utf8; CREATE TABLE `log_projects` ( `id` int(11) unsigned NOT NULL, `internal_id` varchar(255) DEFAULT NULL, `project_id` varchar(255) DEFAULT NULL, `title` varchar(255) DEFAULT NULL, `subtitle` varchar(255) DEFAULT NULL, `description` text, `start_date` timestamp NULL DEFAULT NULL, `end_date` timestamp NULL DEFAULT NULL, `type` varchar(255) DEFAULT NULL, `sponsor` varchar(255) DEFAULT NULL, `budget` double DEFAULT NULL, `parent_id` int(11) DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, `updated_by` varchar(30) DEFAULT NULL, `new_id` int(11) NOT NULL, `log_date` timestamp NULL DEFAULT NULL, `log_user` varchar(30) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- insert the new id into the database INSERT INTO `ids` VALUES (18, 0, 'project_id'); -- add_person_additional_keys.sql CREATE TABLE `person_additional_keys` ( `person_id` varchar(64) NOT NULL, `key_name` varchar(64) NOT NULL, `key_value` varchar(64) NOT NULL, UNIQUE KEY (`person_id`, `key_value`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- add_group_internal_id.sql -- adds the external id to the group database table (used for syncing groups with organisation units) ALTER TABLE `groupids` ADD COLUMN `internal_id` VARCHAR(255) DEFAULT NULL; ALTER TABLE `pending_groupids` ADD COLUMN `internal_id` VARCHAR(255) DEFAULT NULL; -- add_group_logging.sql DROP TABLE IF EXISTS `log_groupids`; SET @saved_cs_client = @@character_set_client; SET character_set_client = utf8; CREATE TABLE `log_groupids` ( `group_name` varchar(30) NOT NULL default '', `group` int(10) NOT NULL default '0', `parent` int(10) DEFAULT NULL, `privlevel` tinyint(3) unsigned default '1', `sharedDocuments` tinyint(1) default '0', `allow_join` TINYINT(1) NULL DEFAULT '1', `shortDescription` TEXT NULL, `publ_reporting_mail` varchar(255) DEFAULT NULL, `publ_reporting_mail_template` text, `publ_reporting_external_url` varchar(255) DEFAULT NULL, `organization` BOOLEAN DEFAULT FALSE, `internal_id` VARCHAR(255) DEFAULT NULL, `log_reason` int(2) DEFAULT NULL, `log_date` timestamp NULL DEFAULT NULL, `log_user` varchar(30) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8; DROP TABLE IF EXISTS `log_group_memberships`; SET @saved_cs_client = @@character_set_client; SET character_set_client = utf8; CREATE TABLE `log_group_memberships` ( `user_name` varchar(30) NOT NULL default '', `group` int(10) default '0', `defaultgroup` int(10) default '0', `start_date` timestamp NOT NULL default CURRENT_TIMESTAMP, `group_role` int(10) NOT NULL default '2', `user_shared_documents` tinyint(1) default '0', `log_reason` int(2) DEFAULT NULL, `log_date` timestamp NULL DEFAULT NULL, `log_user` varchar(30) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- add_db_cris_links.sql DROP TABLE IF EXISTS `cris_links`; SET @saved_cs_client = @@character_set_client; SET character_set_client = utf8; CREATE TABLE `cris_links` ( `id` int(11) unsigned NOT NULL, `source_id` int(11) DEFAULT NULL, `source_type` int(2) DEFAULT NULL, `target_id` int(11) DEFAULT NULL, `target_type` int(2) DEFAULT NULL, `start_date` timestamp NULL DEFAULT NULL, `end_date` timestamp NULL DEFAULT NULL, `linktype_type` int(11) DEFAULT NULL, `linktype_value` varchar(30) DEFAULT NULL, `link_source` int(2) DEFAULT NULL, `updated_by` varchar(30) DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; DROP TABLE IF EXISTS `log_cris_links`; SET @saved_cs_client = @@character_set_client; SET character_set_client = utf8; CREATE TABLE `log_cris_links` ( `id` int(11) unsigned NOT NULL, `source_id` int(11) DEFAULT NULL, `source_type` int(2) DEFAULT NULL, `target_id` int(11) DEFAULT NULL, `target_type` int(2) DEFAULT NULL, `start_date` timestamp NULL DEFAULT NULL, `end_date` timestamp NULL DEFAULT NULL, `linktype_type` int(11) DEFAULT NULL, `linktype_value` varchar(30) DEFAULT NULL, `link_source` int(2) DEFAULT NULL, `updated_by` varchar(30) DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, `new_id` int(11) NOT NULL, `log_date` timestamp NULL DEFAULT NULL, `log_user` varchar(30) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- insert the new id into the database INSERT INTO `ids` VALUES (19, 0, 'cris_link_id'); -- add_group_hierarchies.sql ALTER TABLE `groupids` ADD `parent` int(10) DEFAULT NULL; ALTER TABLE `pending_groupids` ADD `parent` int(10) DEFAULT NULL; -- -- Table structure for table `group_hierarchy` -- DROP TABLE IF EXISTS `group_hierarchy`; SET @saved_cs_client = @@character_set_client; SET character_set_client = utf8; CREATE TABLE `group_hierarchy` ( `child_group_id` int(10) NOT NULL, `parent_group_id` int(10) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8; SET character_set_client = @saved_cs_client; INSERT INTO ids (`name`, `value`, `description`) VALUES (20, (SELECT max(`group`) + 1 FROM groupids), 'group_id');
Property files (webapp):
changes
project.defaultLocale
renamed tosystem.locales.default
new properties
system.cris
:true
orfalse
enables specific layouts andsystem.cris.college
: sets the college of the CRIS systemsystem.cris.project.links
:true
orfalse
enables display of project linkssystem.locales.supported
: supported locales as a comma-separated list, available:en, de, ru
system.nav.order
: navigation elements order as a comma-separated list, available:user, posts, groups, organizations, publications, persons, projects, explore, popular
system.nav.order.cris
: navigation elements order for CRIS system as a comma-separated list, available: see abovegoldstandard.service.mail
:true
orfalse
enables mailing service for gold standard publication updatesprofile.picture.default
:true
orfalse
enables the set default image to be displayedproject.theme.help
: theme name to add custom images or text for the help contentgroup.explore.nav.id
: ID of a group to be highlighted in the navigation (explore in order necessary!)group.presetTags.enabled
:true
orfalse
enables preset tags for groupsgroup.sentTo.merge.enabled
:true
orfalse
enables merge for sent group post, when duplicates exist. When enabled and a duplicate post is sent to the post, the entered tags of the duplicate will be merged into the exisiting tag.group.sentTo.userTags.enabled
:true
orfalse
enables user tags for the sent group post. When enabled and a user sents a post to a group, all entered tags including the selected preset tags will be copied to the group post.
removed properties
project.statistics.service.url
project.statisitics.siteid
Updated