Du kannst nicht mehr als 25 Themen auswählen Themen müssen entweder mit einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.
 
 
 
 

1485 Zeilen
32 KiB

  1. {
  2. "version": 1,
  3. "scope": "ut_tran granular action permissions; no compatibility OR for deprecated broad codes",
  4. "defaultMigration": "For non-root roles expand only legacy permissions already held AND corresponding page held. Existing admin dynamic-all becomes explicit actual effective abilities: business page/manage abilities retained except content writes and learner-only actions. root stays dynamic all. teacher/student defaults listed are migration guidance, not additional grants to custom roles.",
  5. "selection": "FORMAL_EXAM uses teaching.exams actions; TRAINING uses assignment.channelCode. Always authorize persisted project/assignment type; editing assignment kind needs old and new kind update permissions.",
  6. "unchanged": [
  7. "teaching.virtual.execute",
  8. "teaching.physical.execute",
  9. "teaching.confrontation.execute",
  10. "teaching.immersive.execute",
  11. "teaching.physical.ingest",
  12. "teaching.confrontation.configure",
  13. "integration.knowledge.reindex",
  14. "integration.data-processing.ingest",
  15. "integration.ai-models.test",
  16. "integration.assistance.monitor",
  17. "integration.assistance.intervene"
  18. ],
  19. "deprecated": [
  20. "content.create",
  21. "content.update",
  22. "content.publish",
  23. "teaching.tasks.create",
  24. "teaching.tasks.publish",
  25. "teaching.tasks.withdraw",
  26. "teaching.tasks.review",
  27. "teaching.tasks.archive",
  28. "teaching.tasks.accept",
  29. "teaching.tasks.submit",
  30. "integration.resources.manage",
  31. "integration.knowledge.manage",
  32. "integration.data-processing.manage",
  33. "integration.ai-models.manage"
  34. ],
  35. "permissions": [
  36. {
  37. "code": "content.model.create",
  38. "pageCodes": [
  39. "content.model"
  40. ],
  41. "requires": [
  42. "content.model"
  43. ],
  44. "legacyCodes": [
  45. "content.create"
  46. ],
  47. "operation": "create,copy,create-from-template",
  48. "defaultRoles": [
  49. "teacher"
  50. ]
  51. },
  52. {
  53. "code": "content.model.update",
  54. "pageCodes": [
  55. "content.model"
  56. ],
  57. "requires": [
  58. "content.model"
  59. ],
  60. "legacyCodes": [
  61. "content.update"
  62. ],
  63. "operation": "edit,upload,cover,restore-version,revise,submit-review,withdraw-review",
  64. "defaultRoles": [
  65. "teacher"
  66. ]
  67. },
  68. {
  69. "code": "content.model.delete",
  70. "pageCodes": [
  71. "content.model"
  72. ],
  73. "requires": [
  74. "content.model"
  75. ],
  76. "legacyCodes": [
  77. "content.update"
  78. ],
  79. "operation": "delete-project",
  80. "defaultRoles": [
  81. "teacher"
  82. ]
  83. },
  84. {
  85. "code": "content.model.publish",
  86. "pageCodes": [
  87. "content.model"
  88. ],
  89. "requires": [
  90. "content.model"
  91. ],
  92. "legacyCodes": [
  93. "content.publish"
  94. ],
  95. "operation": "publish,revoke-publication,register-guide-template",
  96. "defaultRoles": [
  97. "teacher"
  98. ]
  99. },
  100. {
  101. "code": "content.scene.create",
  102. "pageCodes": [
  103. "content.scene"
  104. ],
  105. "requires": [
  106. "content.scene"
  107. ],
  108. "legacyCodes": [
  109. "content.create"
  110. ],
  111. "operation": "create,copy,create-from-template",
  112. "defaultRoles": [
  113. "teacher"
  114. ]
  115. },
  116. {
  117. "code": "content.scene.update",
  118. "pageCodes": [
  119. "content.scene"
  120. ],
  121. "requires": [
  122. "content.scene"
  123. ],
  124. "legacyCodes": [
  125. "content.update"
  126. ],
  127. "operation": "edit,upload,cover,restore-version,revise,submit-review,withdraw-review",
  128. "defaultRoles": [
  129. "teacher"
  130. ]
  131. },
  132. {
  133. "code": "content.scene.delete",
  134. "pageCodes": [
  135. "content.scene"
  136. ],
  137. "requires": [
  138. "content.scene"
  139. ],
  140. "legacyCodes": [
  141. "content.update"
  142. ],
  143. "operation": "delete-project",
  144. "defaultRoles": [
  145. "teacher"
  146. ]
  147. },
  148. {
  149. "code": "content.scene.publish",
  150. "pageCodes": [
  151. "content.scene"
  152. ],
  153. "requires": [
  154. "content.scene"
  155. ],
  156. "legacyCodes": [
  157. "content.publish"
  158. ],
  159. "operation": "publish,revoke-publication,register-guide-template",
  160. "defaultRoles": [
  161. "teacher"
  162. ]
  163. },
  164. {
  165. "code": "content.training.create",
  166. "pageCodes": [
  167. "content.training"
  168. ],
  169. "requires": [
  170. "content.training"
  171. ],
  172. "legacyCodes": [
  173. "content.create"
  174. ],
  175. "operation": "create,copy,create-from-template",
  176. "defaultRoles": [
  177. "teacher"
  178. ]
  179. },
  180. {
  181. "code": "content.training.update",
  182. "pageCodes": [
  183. "content.training"
  184. ],
  185. "requires": [
  186. "content.training"
  187. ],
  188. "legacyCodes": [
  189. "content.update"
  190. ],
  191. "operation": "edit,upload,cover,restore-version,revise,submit-review,withdraw-review",
  192. "defaultRoles": [
  193. "teacher"
  194. ]
  195. },
  196. {
  197. "code": "content.training.delete",
  198. "pageCodes": [
  199. "content.training"
  200. ],
  201. "requires": [
  202. "content.training"
  203. ],
  204. "legacyCodes": [
  205. "content.update"
  206. ],
  207. "operation": "delete-project",
  208. "defaultRoles": [
  209. "teacher"
  210. ]
  211. },
  212. {
  213. "code": "content.training.publish",
  214. "pageCodes": [
  215. "content.training"
  216. ],
  217. "requires": [
  218. "content.training"
  219. ],
  220. "legacyCodes": [
  221. "content.publish"
  222. ],
  223. "operation": "publish,revoke-publication,register-guide-template",
  224. "defaultRoles": [
  225. "teacher"
  226. ]
  227. },
  228. {
  229. "code": "content.ofd.create",
  230. "pageCodes": [
  231. "content.ofd"
  232. ],
  233. "requires": [
  234. "content.ofd"
  235. ],
  236. "legacyCodes": [
  237. "content.create"
  238. ],
  239. "operation": "create,copy,create-from-template",
  240. "defaultRoles": [
  241. "teacher"
  242. ]
  243. },
  244. {
  245. "code": "content.ofd.update",
  246. "pageCodes": [
  247. "content.ofd"
  248. ],
  249. "requires": [
  250. "content.ofd"
  251. ],
  252. "legacyCodes": [
  253. "content.update"
  254. ],
  255. "operation": "edit,upload,cover,restore-version,revise,submit-review,withdraw-review",
  256. "defaultRoles": [
  257. "teacher"
  258. ]
  259. },
  260. {
  261. "code": "content.ofd.delete",
  262. "pageCodes": [
  263. "content.ofd"
  264. ],
  265. "requires": [
  266. "content.ofd"
  267. ],
  268. "legacyCodes": [
  269. "content.update"
  270. ],
  271. "operation": "delete-project",
  272. "defaultRoles": [
  273. "teacher"
  274. ]
  275. },
  276. {
  277. "code": "content.ofd.publish",
  278. "pageCodes": [
  279. "content.ofd"
  280. ],
  281. "requires": [
  282. "content.ofd"
  283. ],
  284. "legacyCodes": [
  285. "content.publish"
  286. ],
  287. "operation": "publish,revoke-publication,register-guide-template",
  288. "defaultRoles": [
  289. "teacher"
  290. ]
  291. },
  292. {
  293. "code": "content.ofd.review",
  294. "pageCodes": [
  295. "content.ofd"
  296. ],
  297. "requires": [
  298. "content.ofd"
  299. ],
  300. "legacyCodes": [
  301. "content.update"
  302. ],
  303. "operation": "approve,reject",
  304. "defaultRoles": [
  305. "teacher"
  306. ]
  307. },
  308. {
  309. "code": "teaching.virtual.create",
  310. "pageCodes": [
  311. "teaching.virtual"
  312. ],
  313. "requires": [
  314. "teaching.virtual"
  315. ],
  316. "legacyCodes": [
  317. "teaching.tasks.create"
  318. ],
  319. "operation": "create-assignment",
  320. "defaultRoles": [
  321. "admin",
  322. "teacher"
  323. ]
  324. },
  325. {
  326. "code": "teaching.virtual.update",
  327. "pageCodes": [
  328. "teaching.virtual"
  329. ],
  330. "requires": [
  331. "teaching.virtual"
  332. ],
  333. "legacyCodes": [
  334. "teaching.tasks.create"
  335. ],
  336. "operation": "edit-assignment",
  337. "defaultRoles": [
  338. "admin",
  339. "teacher"
  340. ]
  341. },
  342. {
  343. "code": "teaching.virtual.publish",
  344. "pageCodes": [
  345. "teaching.virtual"
  346. ],
  347. "requires": [
  348. "teaching.virtual"
  349. ],
  350. "legacyCodes": [
  351. "teaching.tasks.publish"
  352. ],
  353. "operation": "publish-assignment",
  354. "defaultRoles": [
  355. "admin",
  356. "teacher"
  357. ]
  358. },
  359. {
  360. "code": "teaching.virtual.withdraw",
  361. "pageCodes": [
  362. "teaching.virtual"
  363. ],
  364. "requires": [
  365. "teaching.virtual"
  366. ],
  367. "legacyCodes": [
  368. "teaching.tasks.withdraw"
  369. ],
  370. "operation": "withdraw-assignment",
  371. "defaultRoles": [
  372. "admin",
  373. "teacher"
  374. ]
  375. },
  376. {
  377. "code": "teaching.virtual.archive",
  378. "pageCodes": [
  379. "teaching.virtual"
  380. ],
  381. "requires": [
  382. "teaching.virtual"
  383. ],
  384. "legacyCodes": [
  385. "teaching.tasks.archive"
  386. ],
  387. "operation": "archive-assignment,archive-run",
  388. "defaultRoles": [
  389. "admin",
  390. "teacher"
  391. ]
  392. },
  393. {
  394. "code": "teaching.virtual.review",
  395. "pageCodes": [
  396. "teaching.virtual"
  397. ],
  398. "requires": [
  399. "teaching.virtual"
  400. ],
  401. "legacyCodes": [
  402. "teaching.tasks.review"
  403. ],
  404. "operation": "review-run,timeout-run",
  405. "defaultRoles": [
  406. "admin",
  407. "teacher"
  408. ]
  409. },
  410. {
  411. "code": "teaching.virtual.terminate",
  412. "pageCodes": [
  413. "teaching.virtual"
  414. ],
  415. "requires": [
  416. "teaching.virtual"
  417. ],
  418. "legacyCodes": [
  419. "teaching.tasks.review"
  420. ],
  421. "operation": "terminate-run",
  422. "defaultRoles": [
  423. "admin",
  424. "teacher"
  425. ]
  426. },
  427. {
  428. "code": "teaching.virtual.accept",
  429. "pageCodes": [
  430. "teaching.virtual"
  431. ],
  432. "requires": [
  433. "teaching.virtual"
  434. ],
  435. "legacyCodes": [
  436. "teaching.tasks.accept"
  437. ],
  438. "operation": "accept-assignment",
  439. "defaultRoles": [
  440. "student"
  441. ]
  442. },
  443. {
  444. "code": "teaching.virtual.submit",
  445. "pageCodes": [
  446. "teaching.virtual"
  447. ],
  448. "requires": [
  449. "teaching.virtual"
  450. ],
  451. "legacyCodes": [
  452. "teaching.tasks.submit"
  453. ],
  454. "operation": "submit-run",
  455. "defaultRoles": [
  456. "student"
  457. ]
  458. },
  459. {
  460. "code": "teaching.physical.create",
  461. "pageCodes": [
  462. "teaching.physical"
  463. ],
  464. "requires": [
  465. "teaching.physical"
  466. ],
  467. "legacyCodes": [
  468. "teaching.tasks.create"
  469. ],
  470. "operation": "create-assignment",
  471. "defaultRoles": [
  472. "admin",
  473. "teacher"
  474. ]
  475. },
  476. {
  477. "code": "teaching.physical.update",
  478. "pageCodes": [
  479. "teaching.physical"
  480. ],
  481. "requires": [
  482. "teaching.physical"
  483. ],
  484. "legacyCodes": [
  485. "teaching.tasks.create"
  486. ],
  487. "operation": "edit-assignment",
  488. "defaultRoles": [
  489. "admin",
  490. "teacher"
  491. ]
  492. },
  493. {
  494. "code": "teaching.physical.publish",
  495. "pageCodes": [
  496. "teaching.physical"
  497. ],
  498. "requires": [
  499. "teaching.physical"
  500. ],
  501. "legacyCodes": [
  502. "teaching.tasks.publish"
  503. ],
  504. "operation": "publish-assignment",
  505. "defaultRoles": [
  506. "admin",
  507. "teacher"
  508. ]
  509. },
  510. {
  511. "code": "teaching.physical.withdraw",
  512. "pageCodes": [
  513. "teaching.physical"
  514. ],
  515. "requires": [
  516. "teaching.physical"
  517. ],
  518. "legacyCodes": [
  519. "teaching.tasks.withdraw"
  520. ],
  521. "operation": "withdraw-assignment",
  522. "defaultRoles": [
  523. "admin",
  524. "teacher"
  525. ]
  526. },
  527. {
  528. "code": "teaching.physical.archive",
  529. "pageCodes": [
  530. "teaching.physical"
  531. ],
  532. "requires": [
  533. "teaching.physical"
  534. ],
  535. "legacyCodes": [
  536. "teaching.tasks.archive"
  537. ],
  538. "operation": "archive-assignment,archive-run",
  539. "defaultRoles": [
  540. "admin",
  541. "teacher"
  542. ]
  543. },
  544. {
  545. "code": "teaching.physical.review",
  546. "pageCodes": [
  547. "teaching.physical"
  548. ],
  549. "requires": [
  550. "teaching.physical"
  551. ],
  552. "legacyCodes": [
  553. "teaching.tasks.review"
  554. ],
  555. "operation": "review-run,timeout-run",
  556. "defaultRoles": [
  557. "admin",
  558. "teacher"
  559. ]
  560. },
  561. {
  562. "code": "teaching.physical.terminate",
  563. "pageCodes": [
  564. "teaching.physical"
  565. ],
  566. "requires": [
  567. "teaching.physical"
  568. ],
  569. "legacyCodes": [
  570. "teaching.tasks.review"
  571. ],
  572. "operation": "terminate-run",
  573. "defaultRoles": [
  574. "admin",
  575. "teacher"
  576. ]
  577. },
  578. {
  579. "code": "teaching.physical.accept",
  580. "pageCodes": [
  581. "teaching.physical"
  582. ],
  583. "requires": [
  584. "teaching.physical"
  585. ],
  586. "legacyCodes": [
  587. "teaching.tasks.accept"
  588. ],
  589. "operation": "accept-assignment",
  590. "defaultRoles": [
  591. "student"
  592. ]
  593. },
  594. {
  595. "code": "teaching.physical.submit",
  596. "pageCodes": [
  597. "teaching.physical"
  598. ],
  599. "requires": [
  600. "teaching.physical"
  601. ],
  602. "legacyCodes": [
  603. "teaching.tasks.submit"
  604. ],
  605. "operation": "submit-run",
  606. "defaultRoles": [
  607. "student"
  608. ]
  609. },
  610. {
  611. "code": "teaching.confrontation.create",
  612. "pageCodes": [
  613. "teaching.confrontation"
  614. ],
  615. "requires": [
  616. "teaching.confrontation"
  617. ],
  618. "legacyCodes": [
  619. "teaching.tasks.create"
  620. ],
  621. "operation": "create-assignment",
  622. "defaultRoles": [
  623. "admin",
  624. "teacher"
  625. ]
  626. },
  627. {
  628. "code": "teaching.confrontation.update",
  629. "pageCodes": [
  630. "teaching.confrontation"
  631. ],
  632. "requires": [
  633. "teaching.confrontation"
  634. ],
  635. "legacyCodes": [
  636. "teaching.tasks.create"
  637. ],
  638. "operation": "edit-assignment",
  639. "defaultRoles": [
  640. "admin",
  641. "teacher"
  642. ]
  643. },
  644. {
  645. "code": "teaching.confrontation.publish",
  646. "pageCodes": [
  647. "teaching.confrontation"
  648. ],
  649. "requires": [
  650. "teaching.confrontation"
  651. ],
  652. "legacyCodes": [
  653. "teaching.tasks.publish"
  654. ],
  655. "operation": "publish-assignment",
  656. "defaultRoles": [
  657. "admin",
  658. "teacher"
  659. ]
  660. },
  661. {
  662. "code": "teaching.confrontation.withdraw",
  663. "pageCodes": [
  664. "teaching.confrontation"
  665. ],
  666. "requires": [
  667. "teaching.confrontation"
  668. ],
  669. "legacyCodes": [
  670. "teaching.tasks.withdraw"
  671. ],
  672. "operation": "withdraw-assignment",
  673. "defaultRoles": [
  674. "admin",
  675. "teacher"
  676. ]
  677. },
  678. {
  679. "code": "teaching.confrontation.archive",
  680. "pageCodes": [
  681. "teaching.confrontation"
  682. ],
  683. "requires": [
  684. "teaching.confrontation"
  685. ],
  686. "legacyCodes": [
  687. "teaching.tasks.archive"
  688. ],
  689. "operation": "archive-assignment,archive-run",
  690. "defaultRoles": [
  691. "admin",
  692. "teacher"
  693. ]
  694. },
  695. {
  696. "code": "teaching.confrontation.review",
  697. "pageCodes": [
  698. "teaching.confrontation"
  699. ],
  700. "requires": [
  701. "teaching.confrontation"
  702. ],
  703. "legacyCodes": [
  704. "teaching.tasks.review"
  705. ],
  706. "operation": "review-run,timeout-run",
  707. "defaultRoles": [
  708. "admin",
  709. "teacher"
  710. ]
  711. },
  712. {
  713. "code": "teaching.confrontation.terminate",
  714. "pageCodes": [
  715. "teaching.confrontation"
  716. ],
  717. "requires": [
  718. "teaching.confrontation"
  719. ],
  720. "legacyCodes": [
  721. "teaching.tasks.review"
  722. ],
  723. "operation": "terminate-run",
  724. "defaultRoles": [
  725. "admin",
  726. "teacher"
  727. ]
  728. },
  729. {
  730. "code": "teaching.confrontation.accept",
  731. "pageCodes": [
  732. "teaching.confrontation"
  733. ],
  734. "requires": [
  735. "teaching.confrontation"
  736. ],
  737. "legacyCodes": [
  738. "teaching.tasks.accept"
  739. ],
  740. "operation": "accept-assignment",
  741. "defaultRoles": [
  742. "student"
  743. ]
  744. },
  745. {
  746. "code": "teaching.confrontation.submit",
  747. "pageCodes": [
  748. "teaching.confrontation"
  749. ],
  750. "requires": [
  751. "teaching.confrontation"
  752. ],
  753. "legacyCodes": [
  754. "teaching.tasks.submit"
  755. ],
  756. "operation": "submit-run",
  757. "defaultRoles": [
  758. "student"
  759. ]
  760. },
  761. {
  762. "code": "teaching.exams.create",
  763. "pageCodes": [
  764. "teaching.exams"
  765. ],
  766. "requires": [
  767. "teaching.exams"
  768. ],
  769. "legacyCodes": [
  770. "teaching.tasks.create"
  771. ],
  772. "operation": "create-assignment",
  773. "defaultRoles": [
  774. "admin",
  775. "teacher"
  776. ]
  777. },
  778. {
  779. "code": "teaching.exams.update",
  780. "pageCodes": [
  781. "teaching.exams"
  782. ],
  783. "requires": [
  784. "teaching.exams"
  785. ],
  786. "legacyCodes": [
  787. "teaching.tasks.create"
  788. ],
  789. "operation": "edit-assignment",
  790. "defaultRoles": [
  791. "admin",
  792. "teacher"
  793. ]
  794. },
  795. {
  796. "code": "teaching.exams.publish",
  797. "pageCodes": [
  798. "teaching.exams"
  799. ],
  800. "requires": [
  801. "teaching.exams"
  802. ],
  803. "legacyCodes": [
  804. "teaching.tasks.publish"
  805. ],
  806. "operation": "publish-assignment",
  807. "defaultRoles": [
  808. "admin",
  809. "teacher"
  810. ]
  811. },
  812. {
  813. "code": "teaching.exams.withdraw",
  814. "pageCodes": [
  815. "teaching.exams"
  816. ],
  817. "requires": [
  818. "teaching.exams"
  819. ],
  820. "legacyCodes": [
  821. "teaching.tasks.withdraw"
  822. ],
  823. "operation": "withdraw-assignment",
  824. "defaultRoles": [
  825. "admin",
  826. "teacher"
  827. ]
  828. },
  829. {
  830. "code": "teaching.exams.archive",
  831. "pageCodes": [
  832. "teaching.exams"
  833. ],
  834. "requires": [
  835. "teaching.exams"
  836. ],
  837. "legacyCodes": [
  838. "teaching.tasks.archive"
  839. ],
  840. "operation": "archive-assignment,archive-run",
  841. "defaultRoles": [
  842. "admin",
  843. "teacher"
  844. ]
  845. },
  846. {
  847. "code": "teaching.exams.review",
  848. "pageCodes": [
  849. "teaching.exams"
  850. ],
  851. "requires": [
  852. "teaching.exams"
  853. ],
  854. "legacyCodes": [
  855. "teaching.tasks.review"
  856. ],
  857. "operation": "review-run,timeout-run",
  858. "defaultRoles": [
  859. "admin",
  860. "teacher"
  861. ]
  862. },
  863. {
  864. "code": "teaching.exams.terminate",
  865. "pageCodes": [
  866. "teaching.exams"
  867. ],
  868. "requires": [
  869. "teaching.exams"
  870. ],
  871. "legacyCodes": [
  872. "teaching.tasks.review"
  873. ],
  874. "operation": "terminate-run",
  875. "defaultRoles": [
  876. "admin",
  877. "teacher"
  878. ]
  879. },
  880. {
  881. "code": "teaching.exams.accept",
  882. "pageCodes": [
  883. "teaching.exams"
  884. ],
  885. "requires": [
  886. "teaching.exams"
  887. ],
  888. "legacyCodes": [
  889. "teaching.tasks.accept"
  890. ],
  891. "operation": "accept-assignment",
  892. "defaultRoles": [
  893. "student"
  894. ]
  895. },
  896. {
  897. "code": "teaching.exams.submit",
  898. "pageCodes": [
  899. "teaching.exams"
  900. ],
  901. "requires": [
  902. "teaching.exams"
  903. ],
  904. "legacyCodes": [
  905. "teaching.tasks.submit"
  906. ],
  907. "operation": "submit-run",
  908. "defaultRoles": [
  909. "student"
  910. ]
  911. },
  912. {
  913. "code": "teaching.exams.execute",
  914. "pageCodes": [
  915. "teaching.exams"
  916. ],
  917. "requires": [
  918. "teaching.exams"
  919. ],
  920. "legacyCodes": [
  921. "teaching.virtual.execute"
  922. ],
  923. "operation": "start,progress,execution for formal exams",
  924. "defaultRoles": [
  925. "student"
  926. ]
  927. },
  928. {
  929. "code": "teaching.confrontation.fault.create",
  930. "pageCodes": [
  931. "teaching.confrontation"
  932. ],
  933. "requires": [
  934. "teaching.confrontation"
  935. ],
  936. "legacyCodes": [
  937. "teaching.confrontation.configure"
  938. ],
  939. "operation": "create-fault",
  940. "defaultRoles": [
  941. "admin",
  942. "teacher"
  943. ]
  944. },
  945. {
  946. "code": "teaching.confrontation.fault.update",
  947. "pageCodes": [
  948. "teaching.confrontation"
  949. ],
  950. "requires": [
  951. "teaching.confrontation"
  952. ],
  953. "legacyCodes": [
  954. "teaching.confrontation.configure"
  955. ],
  956. "operation": "edit-fault",
  957. "defaultRoles": [
  958. "admin",
  959. "teacher"
  960. ]
  961. },
  962. {
  963. "code": "teaching.confrontation.fault.delete",
  964. "pageCodes": [
  965. "teaching.confrontation"
  966. ],
  967. "requires": [
  968. "teaching.confrontation"
  969. ],
  970. "legacyCodes": [
  971. "teaching.confrontation.configure"
  972. ],
  973. "operation": "delete-fault",
  974. "defaultRoles": [
  975. "admin",
  976. "teacher"
  977. ]
  978. },
  979. {
  980. "code": "teaching.confrontation.intervene",
  981. "pageCodes": [
  982. "teaching.confrontation"
  983. ],
  984. "requires": [
  985. "teaching.confrontation"
  986. ],
  987. "legacyCodes": [
  988. "teaching.confrontation.configure"
  989. ],
  990. "operation": "create,activate,revoke-intervention",
  991. "defaultRoles": [
  992. "admin",
  993. "teacher"
  994. ]
  995. },
  996. {
  997. "code": "teaching.guides.study",
  998. "pageCodes": [
  999. "teaching.guides"
  1000. ],
  1001. "requires": [
  1002. "teaching.guides"
  1003. ],
  1004. "legacyCodes": [
  1005. "teaching.guides"
  1006. ],
  1007. "operation": "start/complete own reading",
  1008. "defaultRoles": [
  1009. "student"
  1010. ]
  1011. },
  1012. {
  1013. "code": "teaching.guides.feedback",
  1014. "pageCodes": [
  1015. "teaching.guides"
  1016. ],
  1017. "requires": [
  1018. "teaching.guides"
  1019. ],
  1020. "legacyCodes": [
  1021. "teaching.guides"
  1022. ],
  1023. "operation": "submit own feedback",
  1024. "defaultRoles": [
  1025. "student"
  1026. ]
  1027. },
  1028. {
  1029. "code": "teaching.guides.feedback.review",
  1030. "pageCodes": [
  1031. "teaching.guides"
  1032. ],
  1033. "requires": [
  1034. "teaching.guides"
  1035. ],
  1036. "legacyCodes": [
  1037. "teaching.analytics"
  1038. ],
  1039. "operation": "manage feedback",
  1040. "defaultRoles": [
  1041. "admin",
  1042. "teacher"
  1043. ]
  1044. },
  1045. {
  1046. "code": "teaching.guides.statistics",
  1047. "pageCodes": [
  1048. "teaching.guides"
  1049. ],
  1050. "requires": [
  1051. "teaching.guides"
  1052. ],
  1053. "legacyCodes": [
  1054. "teaching.analytics"
  1055. ],
  1056. "operation": "guide statistics/all feedback",
  1057. "defaultRoles": [
  1058. "admin",
  1059. "teacher"
  1060. ]
  1061. },
  1062. {
  1063. "code": "integration.resources.create",
  1064. "pageCodes": [
  1065. "integration.resources"
  1066. ],
  1067. "requires": [
  1068. "integration.resources"
  1069. ],
  1070. "legacyCodes": [
  1071. "integration.resources.manage"
  1072. ],
  1073. "operation": "create",
  1074. "defaultRoles": [
  1075. "admin"
  1076. ]
  1077. },
  1078. {
  1079. "code": "integration.resources.update",
  1080. "pageCodes": [
  1081. "integration.resources"
  1082. ],
  1083. "requires": [
  1084. "integration.resources"
  1085. ],
  1086. "legacyCodes": [
  1087. "integration.resources.manage"
  1088. ],
  1089. "operation": "edit,restore",
  1090. "defaultRoles": [
  1091. "admin"
  1092. ]
  1093. },
  1094. {
  1095. "code": "integration.resources.delete",
  1096. "pageCodes": [
  1097. "integration.resources"
  1098. ],
  1099. "requires": [
  1100. "integration.resources"
  1101. ],
  1102. "legacyCodes": [
  1103. "integration.resources.manage"
  1104. ],
  1105. "operation": "recycle,batch-recycle,purge",
  1106. "defaultRoles": [
  1107. "admin"
  1108. ]
  1109. },
  1110. {
  1111. "code": "integration.resources.publish",
  1112. "pageCodes": [
  1113. "integration.resources"
  1114. ],
  1115. "requires": [
  1116. "integration.resources"
  1117. ],
  1118. "legacyCodes": [
  1119. "integration.resources.manage"
  1120. ],
  1121. "operation": "publish,shelve",
  1122. "defaultRoles": [
  1123. "admin"
  1124. ]
  1125. },
  1126. {
  1127. "code": "integration.resources.category.create",
  1128. "pageCodes": [
  1129. "integration.resources"
  1130. ],
  1131. "requires": [
  1132. "integration.resources"
  1133. ],
  1134. "legacyCodes": [
  1135. "integration.resources.manage"
  1136. ],
  1137. "operation": "category.create",
  1138. "defaultRoles": [
  1139. "admin"
  1140. ]
  1141. },
  1142. {
  1143. "code": "integration.resources.category.update",
  1144. "pageCodes": [
  1145. "integration.resources"
  1146. ],
  1147. "requires": [
  1148. "integration.resources"
  1149. ],
  1150. "legacyCodes": [
  1151. "integration.resources.manage"
  1152. ],
  1153. "operation": "category.update",
  1154. "defaultRoles": [
  1155. "admin"
  1156. ]
  1157. },
  1158. {
  1159. "code": "integration.resources.category.delete",
  1160. "pageCodes": [
  1161. "integration.resources"
  1162. ],
  1163. "requires": [
  1164. "integration.resources"
  1165. ],
  1166. "legacyCodes": [
  1167. "integration.resources.manage"
  1168. ],
  1169. "operation": "category.delete",
  1170. "defaultRoles": [
  1171. "admin"
  1172. ]
  1173. },
  1174. {
  1175. "code": "integration.knowledge.create",
  1176. "pageCodes": [
  1177. "integration.knowledge"
  1178. ],
  1179. "requires": [
  1180. "integration.knowledge"
  1181. ],
  1182. "legacyCodes": [
  1183. "integration.knowledge.manage"
  1184. ],
  1185. "operation": "import-document",
  1186. "defaultRoles": [
  1187. "admin"
  1188. ]
  1189. },
  1190. {
  1191. "code": "integration.knowledge.update",
  1192. "pageCodes": [
  1193. "integration.knowledge"
  1194. ],
  1195. "requires": [
  1196. "integration.knowledge"
  1197. ],
  1198. "legacyCodes": [
  1199. "integration.knowledge.manage"
  1200. ],
  1201. "operation": "edit,replace-source",
  1202. "defaultRoles": [
  1203. "admin"
  1204. ]
  1205. },
  1206. {
  1207. "code": "integration.knowledge.delete",
  1208. "pageCodes": [
  1209. "integration.knowledge"
  1210. ],
  1211. "requires": [
  1212. "integration.knowledge"
  1213. ],
  1214. "legacyCodes": [
  1215. "integration.knowledge.manage"
  1216. ],
  1217. "operation": "delete",
  1218. "defaultRoles": [
  1219. "admin"
  1220. ]
  1221. },
  1222. {
  1223. "code": "integration.knowledge.publish",
  1224. "pageCodes": [
  1225. "integration.knowledge"
  1226. ],
  1227. "requires": [
  1228. "integration.knowledge"
  1229. ],
  1230. "legacyCodes": [
  1231. "integration.knowledge.manage"
  1232. ],
  1233. "operation": "change-status",
  1234. "defaultRoles": [
  1235. "admin"
  1236. ]
  1237. },
  1238. {
  1239. "code": "integration.knowledge.category.create",
  1240. "pageCodes": [
  1241. "integration.knowledge"
  1242. ],
  1243. "requires": [
  1244. "integration.knowledge"
  1245. ],
  1246. "legacyCodes": [
  1247. "integration.knowledge.manage"
  1248. ],
  1249. "operation": "category.create",
  1250. "defaultRoles": [
  1251. "admin"
  1252. ]
  1253. },
  1254. {
  1255. "code": "integration.knowledge.category.update",
  1256. "pageCodes": [
  1257. "integration.knowledge"
  1258. ],
  1259. "requires": [
  1260. "integration.knowledge"
  1261. ],
  1262. "legacyCodes": [
  1263. "integration.knowledge.manage"
  1264. ],
  1265. "operation": "category.update",
  1266. "defaultRoles": [
  1267. "admin"
  1268. ]
  1269. },
  1270. {
  1271. "code": "integration.knowledge.category.delete",
  1272. "pageCodes": [
  1273. "integration.knowledge"
  1274. ],
  1275. "requires": [
  1276. "integration.knowledge"
  1277. ],
  1278. "legacyCodes": [
  1279. "integration.knowledge.manage"
  1280. ],
  1281. "operation": "category.delete",
  1282. "defaultRoles": [
  1283. "admin"
  1284. ]
  1285. },
  1286. {
  1287. "code": "integration.knowledge.category.merge",
  1288. "pageCodes": [
  1289. "integration.knowledge"
  1290. ],
  1291. "requires": [
  1292. "integration.knowledge"
  1293. ],
  1294. "legacyCodes": [
  1295. "integration.knowledge.manage"
  1296. ],
  1297. "operation": "category.merge",
  1298. "defaultRoles": [
  1299. "admin"
  1300. ]
  1301. },
  1302. {
  1303. "code": "integration.data-processing.create",
  1304. "pageCodes": [
  1305. "integration.data-processing"
  1306. ],
  1307. "requires": [
  1308. "integration.data-processing"
  1309. ],
  1310. "legacyCodes": [
  1311. "integration.data-processing.manage"
  1312. ],
  1313. "operation": "create source/model/rule",
  1314. "defaultRoles": [
  1315. "admin"
  1316. ]
  1317. },
  1318. {
  1319. "code": "integration.data-processing.update",
  1320. "pageCodes": [
  1321. "integration.data-processing"
  1322. ],
  1323. "requires": [
  1324. "integration.data-processing"
  1325. ],
  1326. "legacyCodes": [
  1327. "integration.data-processing.manage"
  1328. ],
  1329. "operation": "edit source/model/rule",
  1330. "defaultRoles": [
  1331. "admin"
  1332. ]
  1333. },
  1334. {
  1335. "code": "integration.data-processing.delete",
  1336. "pageCodes": [
  1337. "integration.data-processing"
  1338. ],
  1339. "requires": [
  1340. "integration.data-processing"
  1341. ],
  1342. "legacyCodes": [
  1343. "integration.data-processing.manage"
  1344. ],
  1345. "operation": "delete source/model/rule",
  1346. "defaultRoles": [
  1347. "admin"
  1348. ]
  1349. },
  1350. {
  1351. "code": "integration.data-processing.test",
  1352. "pageCodes": [
  1353. "integration.data-processing"
  1354. ],
  1355. "requires": [
  1356. "integration.data-processing"
  1357. ],
  1358. "legacyCodes": [
  1359. "integration.data-processing.manage"
  1360. ],
  1361. "operation": "test-source",
  1362. "defaultRoles": [
  1363. "admin"
  1364. ]
  1365. },
  1366. {
  1367. "code": "integration.data-processing.pipeline.control",
  1368. "pageCodes": [
  1369. "integration.data-processing"
  1370. ],
  1371. "requires": [
  1372. "integration.data-processing"
  1373. ],
  1374. "legacyCodes": [
  1375. "integration.data-processing.manage"
  1376. ],
  1377. "operation": "start/stop pipeline",
  1378. "defaultRoles": [
  1379. "admin"
  1380. ]
  1381. },
  1382. {
  1383. "code": "integration.data-processing.validate",
  1384. "pageCodes": [
  1385. "integration.data-processing"
  1386. ],
  1387. "requires": [
  1388. "integration.data-processing"
  1389. ],
  1390. "legacyCodes": [
  1391. "integration.data-processing.manage"
  1392. ],
  1393. "operation": "validate-latest",
  1394. "defaultRoles": [
  1395. "admin"
  1396. ]
  1397. },
  1398. {
  1399. "code": "integration.data-processing.resolve",
  1400. "pageCodes": [
  1401. "integration.data-processing"
  1402. ],
  1403. "requires": [
  1404. "integration.data-processing"
  1405. ],
  1406. "legacyCodes": [
  1407. "integration.data-processing.manage"
  1408. ],
  1409. "operation": "resolve-quality-issue",
  1410. "defaultRoles": [
  1411. "admin"
  1412. ]
  1413. },
  1414. {
  1415. "code": "integration.ai-models.create",
  1416. "pageCodes": [
  1417. "integration.ai-models"
  1418. ],
  1419. "requires": [
  1420. "integration.ai-models"
  1421. ],
  1422. "legacyCodes": [
  1423. "integration.ai-models.manage"
  1424. ],
  1425. "operation": "create model/skill/agent",
  1426. "defaultRoles": [
  1427. "admin"
  1428. ]
  1429. },
  1430. {
  1431. "code": "integration.ai-models.update",
  1432. "pageCodes": [
  1433. "integration.ai-models"
  1434. ],
  1435. "requires": [
  1436. "integration.ai-models"
  1437. ],
  1438. "legacyCodes": [
  1439. "integration.ai-models.manage"
  1440. ],
  1441. "operation": "edit model/skill/agent",
  1442. "defaultRoles": [
  1443. "admin"
  1444. ]
  1445. },
  1446. {
  1447. "code": "integration.ai-models.delete",
  1448. "pageCodes": [
  1449. "integration.ai-models"
  1450. ],
  1451. "requires": [
  1452. "integration.ai-models"
  1453. ],
  1454. "legacyCodes": [
  1455. "integration.ai-models.manage"
  1456. ],
  1457. "operation": "delete model/skill/agent",
  1458. "defaultRoles": [
  1459. "admin"
  1460. ]
  1461. }
  1462. ],
  1463. "auditColumns": [
  1464. {
  1465. "tables": [
  1466. "ut_content_audit_log",
  1467. "ut_integration_audit_log"
  1468. ],
  1469. "column": "visibility_scope",
  1470. "sqlType": "VARCHAR(16) NOT NULL DEFAULT 'BUSINESS'",
  1471. "values": [
  1472. "BUSINESS",
  1473. "INTERNAL"
  1474. ],
  1475. "internalCondition": "trusted /auth/me maintenanceAccount == true (independent of active role)",
  1476. "normalReadFilter": "visibility_scope='BUSINESS'"
  1477. }
  1478. ],
  1479. "notes": [
  1480. "teaching.confrontation.configure remains assignment fault binding and restricted fault-catalog visibility; writes split to fault CRUD/intervene.",
  1481. "No teaching task DELETE endpoint exists: do not seed nonfunctional delete action.",
  1482. "Reading study/own feedback retain learner participation policy; task/run member/team/exam safety remains server enforced.",
  1483. "No new action for analytics read-only endpoints. Existing integration ingest/test/reindex/monitor/intervene remain specific operations."
  1484. ]
  1485. }