~azzar1/unity/add-show-desktop-key

1079 by William Grant
Merge setup-refactor branch. This completely breaks existing installations;
1
# IVLE Configuration File
2
# conf/apps.py
3
# Configuration of plugin applications for IVLE
4
# These should not need to be modified by admins unless new applications are
5
# plugged in.
6
7
enable_debuginfo = False
8
9
# Allow App objects
10
# Notes:
11
# desc is a full description for the front page. It isn't required
12
# unless this app is in apps_on_home_page.
13
# icon is a string of a file basename. The icon files are found in
14
# app_icon_dir, defined below.
15
class App:
16
    def __init__(self, dir, name, desc=None, icon = None,
17
        useconsole = False, requireauth = True, hashelp = False):
18
        self.dir = dir
19
        self.name = name
20
        self.desc = desc
21
        self.icon = icon
22
        self.useconsole = useconsole
23
        self.requireauth = requireauth
24
        self.hashelp = hashelp
25
    def __repr__(self):
26
        return ("App(dir=%s, name=%s, desc=%s, icon=%s, requireauth=%s, "
27
                "hashelp=%s)" % (repr(self.dir), repr(self.name),
28
                repr(self.desc), repr(self.icon), repr(self.requireauth),
29
                repr(self.hashelp)))
30
31
# Directory where app icons are stored, relative to the IVLE root.
32
app_icon_dir = "media/images/apps"
33
# Small version of icons (16x16, for favicon)
34
app_icon_dir_small = "media/images/apps/small"
35
36
# Which application to load by default (if the user navigates to the top level
37
# of the site). This is the app's URL name.
38
# Note that if this app requires authentication, the user will first be
39
# presented with the login screen.
40
default_app = "files"
41
# Which application to use for "public host" URLs.
42
# (See conf.py)
43
public_app = "serve"
44
45
# Application definitions
46
47
app_browser =   App(dir = "browser",
48
                    name = "Files",
49
                    desc = "Gives you access to all of your files and lets "
50
                           "you download, upload, edit and run them.",
51
                    icon = "browser.png",
52
                    useconsole = True,
53
                    requireauth = True,
54
                    hashelp = True)
55
56
app_fileservice = App(dir = "fileservice",
57
                    name = "File Service (AJAX server)",
58
                    requireauth = True,
59
                    hashelp = False)
60
61
app_console =     App(dir = "console",
62
                    name = "Console",
63
                    desc = "A Python console where you can try out code "
64
                           "without having to save and run it.",
65
                    icon = "console.png",
66
                    useconsole = False, # We use a full console in this app
67
                    requireauth = True,
68
                    hashelp = True)
69
70
app_consoleservice = App(dir = "consoleservice",
71
                    name = "Console Service",
72
                    requireauth = True,
73
                    hashelp = False)
74
75
app_tutorial =     App(dir = "tutorial",
76
                    name = "Worksheets",
77
                    desc = "Online tutorials and exercises for lab work.",
78
                    icon = "tutorial.png",
79
                    useconsole = True,
80
                    requireauth = True,
81
                    hashelp = True)
82
83
app_tutorialservice = App(dir = "tutorialservice",
84
                    name = "Tutorial Service",
85
                    requireauth = True,
86
                    hashelp = False)
87
88
app_server =    App(dir = "server",
89
                    name = "Server",
90
                    requireauth = True,
91
                    hashelp = False)
92
93
app_download =  App(dir = "download",
94
                    name = "Download",
95
                    requireauth = True,
96
                    hashelp = False)
97
98
app_help =      App(dir = "help",
99
                    name = "Help",
100
                    desc = "IVLE help pages",
101
                    icon = "help.png",
102
                    requireauth = True,
103
                    hashelp = False)
104
105
app_debuginfo = App(dir = "debuginfo",
106
                    name = "Debug Information",
107
                    requireauth = False,
108
                    hashelp = False)
109
110
app_forum = App(dir = "forum",
111
                    name = "Forum",
112
                    desc = "Discussion boards for material relating to "
113
                           "Informatics, IVLE and Python.",
114
                    icon = "forum.png",
115
                    requireauth = True,
116
                    hashelp = False)
117
118
app_tos = App(dir = "tos",
119
                    name = "Terms of Service",
120
                    requireauth = False,
121
                    hashelp = False)
122
123
app_settings = App(dir = "settings",
124
                    name = "Account Settings",
125
                    icon = "settings.png",
126
                    requireauth = True,
127
                    hashelp = True)
128
129
app_groups = App(dir = "groups",
130
                    name = "Group Management",
131
                    icon = "groups.png",
132
                    requireauth = True,
133
                    hashelp = True)
134
135
app_userservice = App(dir = "userservice",
136
                    name = "User Management Service",
137
                    requireauth = False,
138
                    hashelp = False)
139
140
app_diff = App(dir = "diff",
141
                    name = "Diff",
142
                    #icon = "forum.png",
143
                    requireauth = True,
144
                    hashelp = False)
145
146
app_svnlog = App(dir = "svnlog",
147
                    name = "Subversion Log",
148
                    requireauth = True,
149
                    hashelp = False)
150
151
app_subjects = App(dir = "subjects",
152
                    name = "Subjects",
153
                    desc = "Announcements and information about the subjects "
154
                           "you are enrolled in.",
155
                    icon = "subjects.png",
156
                    requireauth = False,
157
                    hashelp = False)
158
159
app_home = App(dir = "home",
160
                    name = "Home",
161
                    desc = "IVLE home page",
162
                    icon = "home.png",
163
                    requireauth = True,
164
                    hashelp = False)
165
166
# Mapping URL names to apps
167
168
app_url = {
169
    "files" : app_browser,
170
    "fileservice" : app_fileservice,
171
    "console" : app_console,
172
    "consoleservice" : app_consoleservice,
173
    "tutorial" : app_tutorial,
174
    "tutorialservice" : app_tutorialservice,
175
    "serve" : app_server,
176
    "download" : app_download,
177
    "help" : app_help,
178
    "forum" : app_forum,
179
    "tos" : app_tos,
180
    "settings" : app_settings,
181
    "groups" : app_groups,
182
    "userservice" : app_userservice,
183
    "diff" : app_diff,
184
    "svnlog" : app_svnlog,
185
    "subjects" : app_subjects,
186
    "home" : app_home,
187
}
188
if enable_debuginfo:
189
    app_url["debuginfo"] = app_debuginfo
190
191
# List of apps that go in the tabs at the top
192
# (The others are hidden unless they are linked to)
193
# Note: The values in this list are the URL names as seen in app_url.
194
195
apps_in_tabs = ["files", "tutorial", "console",
196
                "forum", "subjects", "help"]
197
198
# List of apps that go in the list on the home page
199
apps_on_home_page = ["subjects", "files", "tutorial", "console", "forum"]