summaryrefslogtreecommitdiff
path: root/kpov_judge/DEVELOPMENT-FAQ.txt
blob: 11a312194c8534bbcd05edd4cf9343dcbd5f76d7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
Question:
  - I want to write a new task. Where do I start?

Answer:
  - You can start by looking at tasks/set_ip_static_dhcp. For instructions, see the file README.txt under Preparing tasks. After preparing the task, make sure to update the howtos.
  

Vprašanje:
  - Kaj, če ne znam postaviti vprašanja v angleščini?
  Odgovor:
    - Postavi vprašanje v slovenščini in asistent ga bo prevedel.

Vprašanje (06-isc_live_boot):
  - lahko prosim razložite bolj potrobno prvi del navodil (ne razumemo kaj naj bi bila ta datoteka A, ter kako so mišljeni ti IP-ji pri parametru IP_DHCP ter IP_GW).

Question:
  - What is the difference between simpleArbiter, simpleArbiterDhcp, simpleArbiter-base?

Answer:
  - The image simpleArbiter-base is a base image which should not be altered. simpleArbiter is derived from simpleArbiter-base
     and is the minimal system that should be used for testing. simpleArbiterDhcp is the same as simpleArbiter, but includes a DHCP server.
     simpleArbiterGW includes a DHCP server and is configured to act as a router using NAT.

Question:
  - How do I add a translation of the instructions?

Answer:
  - Add a key, value pair into the instructions dictionary. For example (orig):
    instructions = {'en':'Do the locomotion'}
    corrected:
    instructions = {'en':'Do the locomotion', 'si':'Izvedi gibanje'}

Question:
  - How do I add a parameter to params_meta / what is the meaning of each field?

Answer:
  - params_meta is a simple dictionary. If, for example, the parameters are SOME_IP, SOME_MAC and SOME_FNAME and
    if the student is supposed to be shown SOME_IP and SOME_MAC but is supposed to find SOME_FNAME by inspecting the
    filesystem of their computer, params_meta might look like this:

params_meta = {
    'SOME_IP': {
        'descriptions': {'en': 'THE IP of the server'}, # this will be shown in the dialog when test_task.py is run
        'w': False, # the student is not allowed to change the value of SOME_IP
        'public': True, # the student should be shown the value of SOME_IP if they run test_task.py
        'type':'IP', # this can be used to pick the right function to generate the random value
                     # Look at kpov_random_helpers.default_generators and kpov_random_helpers.IPv4_addr_gen 
                     # for more info.
        'generated': True # this parameter should be generated by gen_params
    },
    'SOME_MAC': {
        'descriptions': {'en': 'The MAC of the server', 'si': u'MAC naslov strežnika'},
        'w': True, # the student can change this value
        'public': True, # the student should see this parameter when they run test_task.py
        'type':'MAC', # if 'MAC' were a key in kpov_random_helpers.default_generators, the value
                      # in that dictionary should be a random function for generating MAC addresses.
                      # Also, in the future, the 'type' field could be used for validation.
        'generated': False # the student should enter this value his or herself.
    },
    'SOME_FNAME': {
        'descriptions': {'en': 'The name of the file to find'}, # this won't be shown anywhere
        'w': False, # the student is not allowed to change this
        'public': False, # the student will not be shown this parameter when they run test_task.py
        'type': 'filename', # this can be used by gen_params or kpov_random_helpers for generation
        'generated': True # the value should be generated in gen_params
    },
}