A few modifications in the credits dsl and a minor doc enhancement
[aquarium] / logic / src / test / resources / credit-structure-greek-uni.yaml
1 # Definition of a client type (read: Company, Organization, …)
2
3 # This is not necessarily the organizational structure of the client.
4 # It may reflect the organizational structure but it actually is the credit structure of the particular client.
5 # The credit structure defines the ways that credits can be distributed among the participants.
6 #
7 # The idea is to provide the policy here and map it to our low-end, generic credit transfer/grouping
8 # mechanism(s).
9
10 # Also, these structures are kind of static and are considered integral part of the business case each client
11 # represents/is characterized by.
12
13 structure:
14   id: "gr.grnet.aquarium.credit.struct.GreekUniversityCreditStructure"
15   name: Greek University Structure
16   inherits: # TODO: Should we inherit an empty structure ?
17   credit-holders:
18     - University:
19       name: University # if omitted, taken as the credit-holders key (University in this case)
20       id: University   # if omitted, taken as the name (University in this case)
21       type: Composite  # if omitted, inferred by the presence of members
22       members:
23         - Department:      # Use the id here and not the name
24           credit-distribution:  # List of credit distribution types
25             - AliasFixed # only specific amounts are given from Universities to Departments
26         - Lab:
27           credit-distribution:
28             - AliasFixed # only specific amounts are given from Universities to Labs
29     - Department:
30       members:
31         - Professor:
32           credit-distribution:
33             - AliasAny # A Department has the ability to distribute credits to its Professors in the most flexible way
34         - Lab:
35           credit-distribution:
36             - AliasAny # A Department has the ability to distribute credits to its Labs in the most flexible way
37         - Course:
38           credit-distribution:
39             - AliasAny # A Department has the ability to distribute credits to its Courses in the most flexible way
40         - Student: # Is this a undergrad, a postgrad, a PhD?
41           credit-distribution:
42             - AliasFixed # only fixed amounts of credits are distributed to Students
43
44     - Lab:
45       members:
46         - Course:
47           credit-distribution:
48             - AliasFixed # Lab members get only fixed amounts
49     - Course:
50       members:
51         - Professor # If no credit distribution is defined, then AliasAny is assumed
52         - Exercise
53         - Student
54     - Professor
55     - Student
56     - Exercise
57
58   distribution: # describes the policy for the distribution of credits
59