Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
削除操作 しない させない ゆるさない
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Yuya.Nishida.
July 07, 2023
Technology
0
40
削除操作 しない させない ゆるさない
Yuya.Nishida.
July 07, 2023
Tweet
Share
More Decks by Yuya.Nishida.
See All by Yuya.Nishida.
git cococoとRailsアプリ開発
nishidayuya
0
490
meeting about memo
nishidayuya
0
810
Useful Chef cookbooks
nishidayuya
0
57
Other Decks in Technology
See All in Technology
ブロックテーマでサイトをリニューアルした話 / 2026-01-31 Kansai WordPress Meetup
torounit
0
480
Cosmos World Foundation Model Platform for Physical AI
takmin
0
980
Oracle AI Database移行・アップグレード勉強会 - RAT活用編
oracle4engineer
PRO
0
110
Webhook best practices for rock solid and resilient deployments
glaforge
2
310
AIエージェントを開発しよう!-AgentCore活用の勘所-
yukiogawa
0
190
こんなところでも(地味に)活躍するImage Modeさんを知ってるかい?- Image Mode for OpenShift -
tsukaman
1
170
Context Engineeringが企業で不可欠になる理由
hirosatogamo
PRO
3
680
OWASP Top 10:2025 リリースと 少しの日本語化にまつわる裏話
okdt
PRO
3
850
旅先で iPad + Neovim で iOS 開発・執筆した話
zozotech
PRO
0
100
10Xにおける品質保証活動の全体像と改善 #no_more_wait_for_test
nihonbuson
PRO
2
340
Tebiki Engineering Team Deck
tebiki
0
24k
プロダクト成長を支える開発基盤とスケールに伴う課題
yuu26
4
1.4k
Featured
See All Featured
WCS-LA-2024
lcolladotor
0
450
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
260
Ethics towards AI in product and experience design
skipperchong
2
200
Abbi's Birthday
coloredviolet
1
4.8k
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
58
50k
Producing Creativity
orderedlist
PRO
348
40k
The Mindset for Success: Future Career Progression
greggifford
PRO
0
240
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
1.7k
Balancing Empowerment & Direction
lara
5
900
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
0
160
Embracing the Ebb and Flow
colly
88
5k
Mind Mapping
helmedeiros
PRO
0
90
Transcript
削除操作 しない させない ゆるさない 西田雄也 ネットワーク応用通信研究所 2023-07-07 Powered by Rabbit
3.0.3
自己 紹介
自己紹介 西田雄也 ネットワーク応用通信研究所 Ruby City MATSUE(島根県)から参りました! GitHub: https://github.com/nishidayuya Twitter: https://twitter.com/nishidayuya
趣味ではなにかツールを作っています. dpu: Git作業ディレクトリ上のパスを指定するとタグあるいはコミット IDを用いたGitHub.com上で参照可能なURIを生成する. 2023-09-16の松江Ruby会議10でしゃべります. 2/34
削除操作 のお話
削除操作のお話 Redmineでの各種削除操作 ユーザーの削除 プロジェクトの削除 Issueの削除 Issueのコメントの削除 Issueのウォッチャーの削除 Wikiページの削除 フォーラムの削除 フォーラムのメッセージの削除
… 4/34
削除すると (あたりまえですが)削除したものは残らない 履歴にも残さない Redmine標準では復活させる機能はない ↓ 削除前に警告される. しかしながら,気がつくのは大抵削除した後… ↓ ではどうするか? 5/34
削除操作 しない!
削除操作 しない! いくつかは代わりの手段がある. ユーザー: 「ロック」すればいい.ログインできなくなる. プロジェクト: 「アーカイブ」すればいい. プロジェクト一覧やプロジェクト選択肢にあらわれなくなる. Issue: ステータスを「却下」のような
「終了したチケット」フラグがオンのものにすればいい. これらの手段なら画面上から簡単に復活できる. 7/34
削除はしなくていいけれど 「チケットを削除」見えると使いたくなってしまう. 疲れているときとか忘れて削除しちゃうかもしれない. 削除しなくていいことを共有してなかったメンバーは? ↓ ではどうするか? 8/34
削除操作 させない!
削除操作 させない! 4つの方法 ロールで削除の権限を落とす 1. ゴミ箱プラグインを使う 2. View customizeプラグインで非表示化する 3.
削除させないためのプラグイン 4. 10/34
1. ロールで削除の権限を落とす 11/34
2. ゴミ箱プラグインを使う アジャイルウェアさんのゴミ箱プラグイン https://github.com/agileware-jp/redmine_issue_trash Issueについてのみ扱う. 削除せずにゴミ箱に入ったように見える. Issueのbefore_destroyで削除しようとするIssueのコピーを別テーブル に保持する. 復活できる! 12/34
2. ゴミ箱プラグインを使う https://www.slideshare.net/agileware_jp/lychee- redminelychee より引用 13/34
3. View customizeプラグインで非 表示化する onozatyさんのView customizeプラグイン https://github.com/onozaty/redmine-view-customize ファーエンドテクノロジーさんの「View customizeプラグイ ンによるRedmineカスタマイズ集」の「システム管理者権限
ユーザーでログインした際にチケット削除ボタンを非表示にす る」が良さそう. 14/34
3. View customizeプラグイン https://github.com/farend/redmine-view-customize- examples/blob/ 3e7c90f744771d797bbcfb7485682f99be81076e/ customizes/27afbc24/customize.mdより引用 15/34
4. 削除させ ないための プラグイン
今日の ために
作ってき ました
全米が 泣いた (嘘)
そのプラグ インの名 は…
そのプラグインの名は… Redmine 21/34
そのプラグインの名は… Redmine 22/34
邦題
絶対削除さ せないマン
デモ
Redmine The NeverDeleting Story a.k.a. 絶対削除させないマン 削除させない プロジェクト ユーザー Issue
システム管理者であろうとも 26/34
絶対削除させないマン 一時的に削除を許す優しい一面もある 27/34
本気モード 絶対削除させないマン 環境変数 RTNDS_FULL_POWER=1 を設定する. ↓ destroyメソッドやdeleteメソッドなど, 削除に関連するメソッドをundef_method Rakeタスクやrails consoleによる実行でも削除させない
28/34
今後
絶対削除させないマン今後 (1) 急いで作ったので… :> ごく直近について README.md ちゃんと書こう i18n 日本語メッセージ 英語メッセージ
自動試験&CI 管理画面も削除リンク非表示 30/34
絶対削除させないマン今後 (2) さらに後ほど Rubyが目指している型宣言を書かずに 型の恩恵を享受する未来 Redmineプラグインでも活用できないだろうか. パイロットアプリケーションとして利用 既存のメソッド置換え モデルがある コントローラとビューがある
31/34
まとめ 削除操作 しない: 「ロック」「アーカイブ」「却下」でいいんです させない: 4つの方法 ロールで削除の権限を落とす ゴミ箱プラグインを使う View customizeプラグインで非表示化する
絶対削除させないマン ゆるさない: ... 32/34
まとめ 削除操作 しない: 「ロック」「アーカイブ」「却下」でいいんです させない: 4つの方法 ロールで削除の権限を落とす ゴミ箱プラグインを使う View customizeプラグインで非表示化する
絶対削除させないマン ゆるさない: 権限と絶対削除させないマンが403にします 33/34
ご静聴ありがとうございました Redmine a.k.a. 絶対削除させないマン プラグイン https://github.com/nishidayuya/ redmine_the_never_deleting_story Starはこちら↑ 34/34 Powered
by Rabbit 3.0.3