Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
37 commits
Select commit Hold shift + click to select a range
943b84f
ref 2.1.小規模大量ファイルを含むフォルダアップロード性能改善にかかる開発: Commit code improve upload …
tma-hcphat Oct 3, 2025
4b81dd9
ref 2.1.小規模大量ファイルを含むフォルダアップロード性能改善にかかる開発: Update supported provider a…
tma-hcphat Oct 8, 2025
4540076
ref [Bug][NII Redmine#56752]ファイルアップロードによるクォータ超過時のエラーメッセージの表示位置誤り: Upd…
tma-hcphat Dec 11, 2025
44f3f15
ref [Bug][NII Redmine#56752]ファイルアップロードによるクォータ超過時のエラーメッセージの表示位置誤り: Fix…
tma-hcphat Dec 31, 2025
cd36814
ref: 2.3.グループ管理連携機能開発: commit source code and UT implement mapcore gr…
tma-hcphat Dec 16, 2025
c9f0d67
Merge branch 'develop' into feature/nii_grdm_202510_step2/2.3_mapcore…
ndnhat1 Feb 23, 2026
ff45faf
ref: 2.3.グループ管理連携機能開発: Resolve migrations conflict
ndnhat1 Feb 23, 2026
0eb0064
ref: 2.3.グループ管理連携機能開発: Update code handle groups addon
tma-hcphat Mar 18, 2026
7bdec03
Merge remote-tracking branch 'remotes/origin/develop' into feature/ni…
tma-hcphat Mar 25, 2026
7fd8a79
ref: 2.3.グループ管理連携機能開発: Resolve migrations conflict
tma-hcphat Mar 25, 2026
d07cb4d
ref: 2.3.グループ管理連携機能開発: Fix Webpack deploy error
tma-hcphat Mar 27, 2026
4ea0abf
ref: 2.3.グループ管理連携機能開発: Fix IT issue show project incorrect and add lo…
tma-hcphat Mar 30, 2026
65dac17
ref: 2.3.グループ管理連携機能開発: Update sort order by addon_full_name
tma-hcphat Apr 1, 2026
066fdbd
ref: 2.3.グループ管理連携機能開発: Update message, update URL to mygroups view UR…
tma-hcphat Apr 8, 2026
728c711
2.2.プロジェクト名に日本語を入力する際の改善: Commit code improve project name input
tma-hcphat May 21, 2026
ff85fcd
2.2.プロジェクト名に日本語を入力する際の改善: Commit code improve file/folder name input
tma-hcphat May 22, 2026
8890ee6
2.2.プロジェクト名に日本語を入力する際の改善: Rework review comment
tma-hcphat May 26, 2026
6153dd2
Ref 2.2.プロジェクト名に日本語を入力する際の改善: Rework review comment
tma-hcphat May 29, 2026
3a5500f
Merge remote-tracking branch 'remotes/origin/develop' into feature/ni…
ndnhat1 May 29, 2026
63b1b7a
Hotfix 58729
fujimotodaisuke Jun 2, 2026
fea1e4d
Fix test
fujimotodaisuke Jun 3, 2026
166114c
Fix test
fujimotodaisuke Jun 3, 2026
6c5314d
Merge remote-tracking branch 'remotes/origin/develop' into feature/ni…
tma-hcphat Jun 15, 2026
dbb48c1
ref: 2.3.グループ管理連携機能開発: Resolve conflict Migration
tma-hcphat Jun 15, 2026
f4ec8a6
Merge pull request #748 from RCOSDP/feature/nii_grdm_202510_step2/2.3…
hide24 Jun 16, 2026
ffd9356
Merge pull request #749 from RCOSDP/feature/nii_grdm_202603_step9/2.2…
hide24 Jun 16, 2026
7ef49ed
Merge pull request #750 from RCOSDP/hotfix/58729
hide24 Jun 16, 2026
fdcef7d
Add migration to remove obsolete grdm-file:metadata-access-rights fro…
yacchin1205 Jun 18, 2026
bafc764
Guard empty creators value to avoid JSONDecodeError in name-split mig…
yacchin1205 Jun 18, 2026
fe56ee8
Fixed bug in creating ro-crate without additional metadata files.
kahokago Jun 19, 2026
871b616
Merge pull request #755 from yacchin1205/fix/remove-metadata-access-r…
hide24 Jun 22, 2026
b6fc630
Merge pull request #754 from RCOSDP/enhancement/bugfix-creating-ro-crate
hide24 Jun 22, 2026
8c89b8e
add migration
hide24 Jun 22, 2026
295869a
Merge remote-tracking branch 'remotes/origin/develop' into hotfix/nii…
tma-hcphat Jun 24, 2026
558236d
ref 2.1.小規模大量ファイルを含むフォルダアップロード性能改善にかかる開発: Rework review comment
tma-hcphat Jun 9, 2026
30c6180
ref 2.1.小規模大量ファイルを含むフォルダアップロード性能改善にかかる開発: check large file threshold …
tma-hcphat Jun 29, 2026
bafab52
Merge branch 'develop-202607a' into hotfix/nii_grdm_202510_step2/2.1_…
hide24 Jul 9, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -180,6 +180,7 @@ COPY ./addons/binderhub/static/ ./addons/binderhub/static/
COPY ./addons/metadata/static/ ./addons/metadata/static/
COPY ./addons/onlyoffice/static/ ./addons/onlyoffice/static/
COPY ./addons/workflow/static/ ./addons/workflow/static/
COPY ./addons/groups/static/ ./addons/groups/static/
RUN \
# OSF
yarn install --frozen-lockfile \
Expand Down
9 changes: 6 additions & 3 deletions addons.json
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,8 @@
"onedrivebusiness",
"metadata",
"onlyoffice",
"workflow"
"workflow",
"groups"
],
"addons_default": [
"osfstorage",
Expand Down Expand Up @@ -144,7 +145,8 @@
"onedrivebusiness": "OneDrive for Office365 is a file storage add-on. Connect your Microsoft OneDrive account to a GakuNin RDM project to interact with files hosted on Microsoft OneDrive via the GakuNin RDM.",
"metadata": "The Metadata addon provides the functionality to register metadata to files and generate reports.",
"onlyoffice": "ONLYOFFICE document server.",
"workflow": "Workflow gateway integration that serves engine key material to trusted services."
"workflow": "Workflow gateway integration that serves engine key material to trusted services.",
"groups": "Groups is an add-on that allows users to create and manage groups of users within the GakuNin RDM."
},
"addons_url": {
"box": "http://www.box.com",
Expand Down Expand Up @@ -174,7 +176,8 @@
"onedrivebusiness": "https://onedrive.live.com",
"metadata": "https://rcos.nii.ac.jp/service/rdm/",
"onlyoffice": "https://onlyoffice.com/",
"workflow": "https://rcos.nii.ac.jp/service/rdm/"
"workflow": "https://rcos.nii.ac.jp/service/rdm/",
"groups": "https://rcos.nii.ac.jp/service/rdm/groups/"
},
"institutional_storage_add_on_method": [
"nextcloudinstitutions",
Expand Down
5 changes: 5 additions & 0 deletions addons/groups/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# RDM Groups Addon

## Feature

The RDM Groups Addon provides a way to enable/disable groups management in project
6 changes: 6 additions & 0 deletions addons/groups/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# -*- coding: utf-8 -*-

DISPLAY_NAME = 'Groups'
SHORT_NAME = 'groups'
FULL_NAME = 'addons.groups'
default_app_config = 'addons.{}.apps.AddonAppConfig'.format(SHORT_NAME)
55 changes: 55 additions & 0 deletions addons/groups/apps.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
# -*- coding: utf-8 -*-
import os
from addons.base.apps import BaseAddonAppConfig
from . import DISPLAY_NAME, SHORT_NAME


HERE = os.path.dirname(os.path.abspath(__file__))
TEMPLATE_PATH = os.path.join(
HERE,
'templates'
)


class AddonAppConfig(BaseAddonAppConfig):

short_name = SHORT_NAME
name = 'addons.{}'.format(SHORT_NAME)
label = 'addons_{}'.format(SHORT_NAME)

full_name = DISPLAY_NAME

owners = ['user', 'node']

views = ['page']
configs = ['node']

categories = ['other']

include_js = {}

include_css = {
'widget': [],
'page': [],
}

added_default = []

has_page_icon = False

node_settings_template = os.path.join(TEMPLATE_PATH, 'groups_node_settings.mako')

is_allowed_default = False

@property
def routes(self):
from . import routes
return [routes.api_routes, routes.page_routes]

@property
def user_settings(self):
return self.get_model('UserSettings')

@property
def node_settings(self):
return self.get_model('NodeSettings')
58 changes: 58 additions & 0 deletions addons/groups/migrations/0001_initial.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.11.28 on 2026-03-09 07:22
from __future__ import unicode_literals

from django.conf import settings
from django.db import migrations, models
import django.db.models.deletion
import django_extensions.db.fields
import osf.models.base
import osf.utils.fields


class Migration(migrations.Migration):

initial = True

dependencies = [
]

operations = [
migrations.CreateModel(
name='NodeSettings',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('created', django_extensions.db.fields.CreationDateTimeField(auto_now_add=True, verbose_name='created')),
('modified', django_extensions.db.fields.ModificationDateTimeField(auto_now=True, verbose_name='modified')),
('_id', models.CharField(db_index=True, default=osf.models.base.generate_object_id, max_length=24, unique=True)),
('is_deleted', models.BooleanField(default=False)),
('deleted', osf.utils.fields.NonNaiveDateTimeField(blank=True, null=True)),
('owner', models.OneToOneField(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='addons_groups_node_settings', to='osf.AbstractNode')),
],
options={
'abstract': False,
},
bases=(models.Model, osf.models.base.QuerySetExplainMixin),
),
migrations.CreateModel(
name='UserSettings',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('created', django_extensions.db.fields.CreationDateTimeField(auto_now_add=True, verbose_name='created')),
('modified', django_extensions.db.fields.ModificationDateTimeField(auto_now=True, verbose_name='modified')),
('_id', models.CharField(db_index=True, default=osf.models.base.generate_object_id, max_length=24, unique=True)),
('is_deleted', models.BooleanField(default=False)),
('deleted', osf.utils.fields.NonNaiveDateTimeField(blank=True, null=True)),
('owner', models.OneToOneField(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='addons_groups_user_settings', to=settings.AUTH_USER_MODEL)),
],
options={
'abstract': False,
},
bases=(models.Model, osf.models.base.QuerySetExplainMixin),
),
migrations.AddField(
model_name='nodesettings',
name='user_settings',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='addons_groups.UserSettings'),
),
]
Empty file.
10 changes: 10 additions & 0 deletions addons/groups/models.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
from addons.base.models import BaseUserSettings, BaseNodeSettings
from django.db import models


class UserSettings(BaseUserSettings):
pass


class NodeSettings(BaseNodeSettings):
user_settings = models.ForeignKey(UserSettings, null=True, blank=True, on_delete=models.CASCADE)
24 changes: 24 additions & 0 deletions addons/groups/routes.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
"""
Routes associated with the groups addon
"""

from framework.routing import Rule, json_renderer
from . import SHORT_NAME
from . import views


TEMPLATE_DIR = './addons/groups/templates/'

api_routes = {
'rules': [
Rule([
'/project/<pid>/{}/settings/'.format(SHORT_NAME),
'/project/<pid>/node/<nid>/{}/settings/'.format(SHORT_NAME),
], 'get', views.groups_get_config, json_renderer),
],
'prefix': '/api/v1',
}

page_routes = {
'rules': []
}
10 changes: 10 additions & 0 deletions addons/groups/settings/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
import logging
from .defaults import * # noqa


logger = logging.getLogger(__name__)

try:
from .local import * # noqa
except ImportError:
logger.warn('No local.py settings file found')
3 changes: 3 additions & 0 deletions addons/groups/settings/defaults.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
"""
Groups addon default settings
"""
Binary file added addons/groups/static/comicon.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Loading