- Only allowed users can do certain changes to wiki content
- All users can update object and key labels and aliases, and documentation
- Only allowed users can associate & disassociate Testers and Implementations [functioneers] T299600
- Only allowed users can associate & disassociate Testers and Implementations from system-provided objects (ZID < 10k) [super-functioneers] T260314
- Only allowed users can edit Function definitions post-association(?) [super-functioneers] T299604
- Only allowed users can edit associated Testers and Implementations [functioneers] T299603
- Only allowed users can create Types [functioneers] T299601
- Only allowed users can edit Types [super-functioneers] T299602
>
Required user rights:
Create rights:
- wikilambda-create (general ZObjects)
- wikilambda-create-type (ZTypes)
- wikilambda-create-function (ZFunctions)
- wikilambda-create-implementation (ZImplementation)
- wikilambda-create-tester (ZTesters)
- wikilambda-create-predefined (ZID < 10k)
- wikilambda-create-language (ZNaturalLanguage)
- wikilambda-create-programming (ZLanguage)
+ equivalent for edits
+
- wikilambda-connect-implementation
- wikilambda-disconnect-implementation
- wikilambda-connect-tester
- wikilambda-disconnect-tester
Hardest code will be allowing general users to edit key labels of predefined/etc. items, as those we'll have to walk into the Z2K2's contents; we could skip this for launch, though it'd be a bit painful. Otherwise everything is just a check on the Z2K2's Z1K1 and the Z2K1 value, or the special code we already have for disconnect/connect code?.
- Create initial rights
- Wire up basic rights (ZID < 10K, etc.)
- Any create/edit
- ZID < 10K
- Types
- Functions
- Implementations
- Testers
- Natural languages
- Programming languages
- Wire up complex rights
- Dis/connecting Implementations and Testers
- Edits to Implementations / Testers which are currently connected
- Wire up special by-pass for adding/editing labels.