You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 19 Next »

Since I've not gotten any response to the information presented on this page, I'm rewriting it to what I believe Turnin will be. If anyone has issues, let me know.

How to get a turnin enabled repository

First a user will need to visit Apply and create a subversion repository. After the repository has been created, the user can revisit Apply and tie the repository to one or more courses. This will turnin enable the subversion repository and a nightly process will automatically update the repository access_file and turnin folder structure.

Turnin Repository Layout

Folder

Use

Managed Permissions

/course/

course specific instructor provided material

Admin=(rw),Instructor=(rw),TA=(rw),Students=(r)

/staff/

Instructor only area

Admin=(rw),Instructor(rw),TA=(rw)

/rice_config/

configuration and permission management

Admin=(rw),Instructor=(rw),TA=(rw)

/turnin/

 

Admin=(rw),Instructor=(rw),TA=(rw),Student=(r)

/turnin/SemesterCode/netId/

for each student's course use per semester

Admin=(rw),Instructor=(rw),TA=(rw),netId=(rw)

  • SemesterCode is F, S, Su plus the last two digits of the year by default; When initially configuring the repository for turnin the owner can state that they wish for each section to be placed in its own folder. If this flag is set, then the SemesterCode will have a letter appended based on course section. For example COMP221 for Fall 2010 would result in the following semester codes (F10a, F10b) since it has two sections. A course with only one section would still have the section letter appended if the turnin repository is configured to split sections.

Constraints

  • Repositories ARE tied to a full course (eg COMP412). This means ALL sections of a course are included for access to the repository.
  • Repositories ARE NOT tied to specific sections of a course. There will be no support for having two sections of the same course with different turnin repositories.
  • ALL users of a repository will retain access to the repository for up to a minimum of 3 semesters; Currently implemented as three active semesters that the course is taught. If the course is only taught in the Fall of each year, then the full repository would be accessible by a user for 3 years. If the course is taught every semester, then the repository would be fully accessible for a year. On the 4th active semester, the oldest semester will be dropped from general access to the repository. This means that students will no longer be able to access any repository folders protected by the student group. However, until the student data is removed or they lose access to their netId, they will retain read/write access to their specific turnin folder.
  • Except for the one small controlled section of the access_file, all other user changes to the access_file should be carried forward.
  • The one exception to user changes being carried forward is that user permission blocks for active users can not be deleted by the user without them coming back automatically the next time the automatic process run.

Data changes controlled by the automatic turnin process

  • Repository data will never be deleted
  • General access to the repository will be controlled by updating the access_file turnin group list. The section of the access_file that is rewritten will be surrounded by comments and user changes are not allowed.
  • As new semesters (and students) are cycled into the turnin group list, the permission blocks for these new semesters and students will be added to the access_file.
  • As new semesters (and students) are cycled into the turnin group list, new repository folders will be added for the semesters and students.
  • The access_file turnin group list will be updated when new course groups are automatically created within Grouper. This means that a new semester may force an old semester out of the turnin group list before any new students have been added to the new course group.

Enhancements

  • I'm thinking about adding a special comment to the access file that will allow the owner of the repository to turn OFF the automatic processing of the access_file and repository. When the automatic process sees this comment, it will abort any changes to this repository and will move to the next repository.
Unknown macro: {blockquote}
# TURNIN AUTOMATIC PROCESSING: OFF

access_file format

[groups]

### TURNIN MAINTAINED VALUES: BEGIN ###
### DO NOT CHANGE ANYTHING BETWEEN THESE TAGS ###
turnin_admin =      @general.IT.ARC.custom.turnin_admin
turnin_instructor = @auto.courses.COMP422.Fa10.instructor, \
                    @auto.courses.COMP422.Sp10.instructor, \
                    @auto.courses.COMP422.Fa11.instructor
turnin_ta =         @auto.courses.COMP422.Fa10.TA, \
                    @auto.courses.COMP422.Sp10.TA, \
                    @auto.courses.COMP422.Fa11.TA
turnin_student =    @auto.courses.COMP422.Sp10.student, \
                    @auto.courses.COMP422.Sp10.student, \
                    @auto.courses.COMP422.Sp10.student
turnin_test_student = xxxtuu1,xxxtgu1,xxxtuu2,xxxtgu2
### TURNIN MAINTAINED VALUES: END ###

admin =      @turnin_admin
instructor = @turnin_instructor
ta =         @turnin_ta
student =    @turnin_student,@turnin_test_student

[/]
@admin = rw
@instructor = rw
@ta = rw
@student = r

[/rice_config]
@admin = rw
@instructor = rw
@ta = rw
* =

[/staff]
@admin = rw
@instructor = rw
@ta = tw
* = 

[/course]
@admin = rw
@instructor = rw
@ta = rw
@student = r
* = 

[/turnin]
@admin = rw
@instructor = rw
@ta = rw
@student = r
* = 

[/turnin/F10]
@admin = rw
@instructor = rw
@ta = rw
@student = r
* = 

[/turnin/F10/netId1]
@admin = rw
@instructor = rw
@ta = rw
netId1 = r
* = 

[/turnin/F10/netId2]
@admin = rw
@instructor = rw
@ta = rw
netId2 = r
* = 

[/turnin/S10]
@admin = rw
@instructor = rw
@ta = rw
@student = r
* = 

[/turnin/S10/netId1]
@admin = rw
@instructor = rw
@ta = rw
netId1 = r
* = 

[/turnin/S10/netId2]
@admin = rw
@instructor = rw
@ta = rw
netId2 = r
* = 

[/turnin/F11]
@admin = rw
@instructor = rw
@ta = rw
@student = r
* = 

[/turnin/F11/netId1]
@admin = rw
@instructor = rw
@ta = rw
netId1 = r
* = 

[/turnin/F11/netId2]
@admin = rw
@instructor = rw
@ta = rw
netId2 = r
* = 

[/turnin/test]
@admin = rw
@instructor = rw
@ta = rw
@student = r
* =

[/turnin/test/xxxtuu1]
@admin = rw
@instructor = rw
@ta = rw
xxxtuu1 = rw
* = 

[/turnin/test/xxxtgu1]
@admin = rw
@instructor = rw
@ta = rw
xxxtgu1 = rw
* = 

[/turnin/test/xxxtuu2]
@admin = rw
@instructor = rw
@ta = rw
xxxtuu2 = rw
* = 

[/turnin/test/xxxtgu2]
@admin = rw
@instructor = rw
@ta = rw
xxxtgu2 = rw
* = 

  • No labels