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

« back to all changes in this revision

Viewing changes to doc/man/faq.rst

  • Committer: Matt Giuca
  • Date: 2009-12-15 01:33:12 UTC
  • Revision ID: matt.giuca@gmail.com-20091215013312-bqlhpwh769zg9dwx
doc/man/architecture: Added section on auth and pulldown modules.

Show diffs side-by-side

added added

removed removed

Lines of Context:
34
34
 
35
35
You should customize the ToS notice at :file:`/var/lib/ivle/notices/tos.html`.
36
36
 
37
 
... delete a user from IVLE?
38
 
----------------------------
39
 
 
40
 
This is usually a bad idea since it requires all the references to that user 
41
 
to be removed from IVLE. This may have unintended consequences particularly 
42
 
with groups or projects but might be required in installations where an 
43
 
existing login conflict with a new login (typically encountered when usernames 
44
 
are recycled).
45
 
 
46
 
The steps to completely remove a user would be:
47
 
 
48
 
1. Disable the users account
49
 
2. Unmount the users jailmount directory (typically 
50
 
   :file:`/var/lib/ivle/jailmounts/LOGIN`)
51
 
3. Backup the user's files (typically :file:`/var/lib/ivle/jails/LOGIN`) and 
52
 
   remove this directory.
53
 
4. Backup the user's repository (typically 
54
 
   :file:`/var/lib/ivle/svn/repositories/users/LOGIN` on the subversion 
55
 
   server) and remove this directory.
56
 
5. Make a backup of the IVLE database (``sudo -u postgres pg_dump ivle > 
57
 
   backup.sql``)
58
 
6. Either change the users login (``UPDATE login SET login='NEWLOGIN' WHERE 
59
 
   login='LOGIN'``) or remove all references to this login in the database
60
 
 
61
 
The following lines of SQL should remove all traces of a user ``LOGIN`` from 
62
 
the database::
63
 
 
64
 
    BEGIN TRANSACTION;
65
 
    DELETE FROM exercise_save USING login WHERE
66
 
        exercise_save.loginid = login.loginid AND login.login = 'LOGIN';
67
 
    DELETE FROM exercise_attempt USING login WHERE
68
 
        exercise_attempt.loginid = login.loginid AND login.login = 'LOGIN';
69
 
    DELETE FROM project_mark USING login WHERE marker = login.loginid AND
70
 
        login.login = 'LOGIN';
71
 
    DELETE FROM project_submission USING login WHERE
72
 
        submitter = login.loginid AND login.login = 'LOGIN';
73
 
    DELETE FROM project_extension USING login WHERE
74
 
        approver = login.loginid AND login.login = 'LOGIN';
75
 
    DELETE FROM assessed USING login WHERE
76
 
        assessed.loginid = login.loginid AND login.login = 'LOGIN';
77
 
    DELETE FROM enrolment USING login WHERE
78
 
        enrolment.loginid = login.loginid AND login.login = 'LOGIN';
79
 
    DELETE FROM group_member USING login WHERE
80
 
        group_member.loginid = login.loginid AND login.login = 'LOGIN';
81
 
    DELETE FROM group_invitation USING login WHERE
82
 
        (group_invitation.loginid = login.loginid OR
83
 
        inviter = login.loginid) AND login.login = 'LOGIN';
84
 
    DELETE FROM project_group USING login WHERE createdby = login.loginid AND
85
 
        login.login = 'LOGIN';
86
 
    DELETE FROM login WHERE login='LOGIN';
87
 
    COMMIT;
88
 
 
89
 
If you do not want to lose group data, a better option may be to reassign the 
90
 
user ``LOGIN``'s groups to ``NEWLOGIN`` (one possible option would be to 
91
 
create and use a 'nobody' account)::
92
 
 
93
 
    BEGIN TRANSACTION;
94
 
    DELETE FROM exercise_save USING login WHERE
95
 
        exercise_save.loginid = login.loginid AND login.login = 'LOGIN';
96
 
    DELETE FROM exercise_attempt USING login WHERE
97
 
        exercise_attempt.loginid = login.loginid AND login.login = 'LOGIN';
98
 
    UPDATE project_mark SET marker = l2.loginid FROM login AS l1, login AS l2
99
 
        WHERE marker = l1.loginid AND l1.login = 'LOGIN' AND l2.login = 
100
 
        'NEWLOGIN'
101
 
    DELETE FROM project_submission USING login WHERE
102
 
        submitter = login.loginid AND login.login = 'LOGIN';
103
 
    UPDATE project_extension SET approver = l2.loginid FROM
104
 
        login AS l1, login AS l2 WHERE approver = l1.loginid AND
105
 
        l1.login = 'LOGIN' AND l2.login='NEWLOGIN';
106
 
    DELETE FROM assessed USING login WHERE
107
 
        assessed.loginid = login.loginid AND login.login = 'LOGIN';
108
 
    DELETE FROM enrolment USING login WHERE
109
 
        enrolment.loginid = login.loginid AND login.login = 'LOGIN';
110
 
    DELETE FROM group_member USING login WHERE
111
 
        group_member.loginid = login.loginid AND login.login = 'LOGIN';
112
 
    DELETE FROM group_invitation USING login WHERE
113
 
        group_invitation.loginid = login.loginid AND login.login = 'LOGIN';
114
 
    UPDATE group_invitation SET inviter = l2.loginid FROM
115
 
        login AS l1, login AS l2 WHERE inviter = l1.loginid AND
116
 
        l1.login = 'LOGIN' AND l2.login='NEWLOGIN';
117
 
    UPDATE project_group SET createdby = l2.loginid FROM
118
 
        login AS l1, login AS l2 WHERE createdby = l1.loginid AND
119
 
        l1.login = 'LOGIN' AND l2.login = 'NEWLOGIN';
120
 
    DELETE FROM login WHERE login='LOGIN';
121
 
    COMMIT;
122
 
 
123
37
 
124
38
.. _ref-faq-why:
125
39
 
144
58
 
145
59
Look for ``PythonOption mod_python.file_session.database_directory``. Make
146
60
sure it is set to the place you want. Then, you need to manually make sure
147
 
that directory exists. If you have multiple slaves, this directory will
148
 
need to be shared between them all.
 
61
that directory exists.
149
62
 
150
63
The default is :file:`/var/lib/ivle/sessions`.
151
64