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

Compare with Current View Page History

« Previous Version 12 Next »

This page will contain a list of issues/questions that need to be addressed before moving forward with any changes to the Turnin process. I will need the ARC folks to update the information below with information from the Faculty.

Assumptions

  • 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/netId/

    for each student's course use

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

    /archive/

    Old Semesters

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

    /archive/SemesterCode/netId/

    Previous course student area

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

  • 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.
  • ALL users of a repository will retain access to the repository for up to 3 semesters
  • Except for the Turnin managed access_file block, nothing else in the access_file is changed. The one exception to this, is that new (non-existing) permission blocks will will be added as new students are added to the repository.
  • No data outside of the Turnin managed access_file block is ever deleted automatically.
  • No user permission blocks in the access file or repository folders for a user are ever deleted by the automatic processing.
  • Several times a year the automatic process will update the Turnin managed access_file block, removing old groups and adding new ones. The dates that these changes occur need to be specified. Or it needs to be understood that this will happen when the new semester's groups are created.
  • The access file will be much more structured to allow for managed and unmanaged permissions. Breaking the functionality of turnin by corrupting the access file is possible. Fixing broken access files, is best effort or business hours.
  • Each permission block in the access_file must retain the block special tag. This means that when the turnin process writes out a new permission block [/turnin/netid] it will tag this block with ## Turnin User: netid ###, it expects to find this same tag in the access_file the next time it looks. If it doesn't, it will re-create the permission block. The contents of the permission block can be managed as the user sees fit. Only the tag is important to keep the automatic process from re-creating it.

  • Once a permission block has been written to the access_file it will no longer be managed. This means that you can change the permissions to anything you wish and they will carry forward.
  • These repositories will grow without bound.

Usage

  • Create a repository 'courseXXX'
  • Mark this as a turnin capable repository and assign it to a specific course by subject and course number, eg COMP 412.
  • The automatic turnin process will then use the members of the course as defined in Grouper to do the following:
    • Scan the access file for permission block tags, for any users that should exist in the repository but for which there is no tag
      • Create the user folder /turnin/netid within the repository
      • Create a permissions block in the access file for the user folder

Questions

  • How do they expect to handle instances where
    • A course repository was setup for a course and now two instructors are teaching two different sections of the course

Examples

Current access_file

[/]
evc1 = rw

[/rice_config]
evc1 = rw
* =

[/course]
@general.IT.ARC.custom.turnin_admin = rw
@auto.courses.COMP422.Sp10.001.instructor = rw
@auto.courses.COMP422.Sp10.001.TA = rw
@auto.courses.COMP422.Sp10.001.student = r
* = 

[/turnin]
@general.IT.ARC.custom.turnin_admin = rw
@auto.courses.COMP422.Sp10.001.instructor = rw
@auto.courses.COMP422.Sp10.001.TA = rw
@auto.courses.COMP422.Sp10.001.student = r
* = 

[/turnin/jmm8]
@general.IT.ARC.custom.turnin_admin = rw
@auto.courses.COMP422.Sp10.001.instructor = rw
@auto.courses.COMP422.Sp10.001.TA = rw
jmm8 = rw
* = 

[/turnin/kgs1]
@general.IT.ARC.custom.turnin_admin = rw
@auto.courses.COMP422.Sp10.001.instructor = rw
@auto.courses.COMP422.Sp10.001.TA = rw
kgs1 = rw
* = 

[/turnin/xl10]
@general.IT.ARC.custom.turnin_admin = rw
@auto.courses.COMP422.Sp10.001.instructor = rw
@auto.courses.COMP422.Sp10.001.TA = rw
xl10 = rw
* = 

[/turnin/cy6]
@general.IT.ARC.custom.turnin_admin = rw
@auto.courses.COMP422.Sp10.001.instructor = rw
@auto.courses.COMP422.Sp10.001.TA = rw
cy6 = rw
* = 

[/turnin/chase]
@general.IT.ARC.custom.turnin_admin = rw
@auto.courses.COMP422.Sp10.001.instructor = rw
@auto.courses.COMP422.Sp10.001.TA = rw
chase = rw
* = 

[/turnin/smi1]
@general.IT.ARC.custom.turnin_admin = rw
@auto.courses.COMP422.Sp10.001.instructor = rw
@auto.courses.COMP422.Sp10.001.TA = rw
smi1 = rw
* = 

[/turnin/yy9]
@general.IT.ARC.custom.turnin_admin = rw
@auto.courses.COMP422.Sp10.001.instructor = rw
@auto.courses.COMP422.Sp10.001.TA = rw
yy9 = rw
* = 

[/turnin/dbryant]
@general.IT.ARC.custom.turnin_admin = rw
@auto.courses.COMP422.Sp10.001.instructor = rw
@auto.courses.COMP422.Sp10.001.TA = rw
dbryant = rw
* = 

[/turnin/cja3]
@general.IT.ARC.custom.turnin_admin = rw
@auto.courses.COMP422.Sp10.001.instructor = rw
@auto.courses.COMP422.Sp10.001.TA = rw
cja3 = rw
* = 

[/turnin/ces2]
@general.IT.ARC.custom.turnin_admin = rw
@auto.courses.COMP422.Sp10.001.instructor = rw
@auto.courses.COMP422.Sp10.001.TA = rw
ces2 = rw
* = 

[/turnin/nbh1]
@general.IT.ARC.custom.turnin_admin = rw
@auto.courses.COMP422.Sp10.001.instructor = rw
@auto.courses.COMP422.Sp10.001.TA = rw
nbh1 = rw
* = 

[/turnin/xxxtuu1]
@general.IT.ARC.custom.turnin_admin = rw
@auto.courses.COMP422.Sp10.001.instructor = rw
@auto.courses.COMP422.Sp10.001.TA = rw
xxxtuu1 = rw
* = 

[/turnin/xxxtgu1]
@general.IT.ARC.custom.turnin_admin = rw
@auto.courses.COMP422.Sp10.001.instructor = rw
@auto.courses.COMP422.Sp10.001.TA = rw
xxxtgu1 = rw
* = 

[/turnin/xxxtuu2]
@general.IT.ARC.custom.turnin_admin = rw
@auto.courses.COMP422.Sp10.001.instructor = rw
@auto.courses.COMP422.Sp10.001.TA = rw
xxxtuu2 = rw
* = 

[/turnin/xxxtgu2]
@general.IT.ARC.custom.turnin_admin = rw
@auto.courses.COMP422.Sp10.001.instructor = rw
@auto.courses.COMP422.Sp10.001.TA = rw
xxxtgu2 = rw
* = 

New Proposed access_file

[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 MAINTAINED VALUES: END ###

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

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

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

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

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

## Turnin User: jmm8 ##
[/turnin/jmm8]
@admin = rw
@instructor = rw
@ta = rw
jmm8 = rw
* = 

## Turnin User: kgs1 ##
[/turnin/kgs1]
@admin = rw
@instructor = rw
@ta = rw
kgs1 = rw
* = 

## Turnin User: xl10 ##
[/turnin/xl10]
@admin = rw
@instructor = rw
@ta = rw
xl10 = rw
* = 

## Turnin User: cy6 ##
[/turnin/cy6]
@admin = rw
@instructor = rw
@ta = rw
cy6 = rw
* = 

## Turnin User: chase ##
[/turnin/chase]
@admin = rw
@instructor = rw
@ta = rw
chase = rw
* = 

## Turnin User: smi1 ##
[/turnin/smi1]
@admin = rw
@instructor = rw
@ta = rw
smi1 = rw
* = 

## Turnin User: yy9 ##
[/turnin/yy9]
@admin = rw
@instructor = rw
@ta = rw
yy9 = rw
* = 

## Turnin User: dbryant ##
[/turnin/dbryant]
@admin = rw
@instructor = rw
@ta = rw
dbryant = rw
* = 

## Turnin User: cja3 ##
[/turnin/cja3]
@admin = rw
@instructor = rw
@ta = rw
cja3 = rw
* = 

## Turnin User: ces2 ##
[/turnin/ces2]
@admin = rw
@instructor = rw
@ta = rw
ces2 = rw
* = 

## Turnin User: nbh1 ##
[/turnin/nbh1]
@admin = rw
@instructor = rw
@ta = rw
nbh1 = rw
* = 

## Turnin User: xxtuu1 ##
[/turnin/xxxtuu1]
@admin = rw
@instructor = rw
@ta = rw
xxxtuu1 = rw
* = 

## Turnin User: xxxtgu1 ##
[/turnin/xxxtgu1]
@admin = rw
@instructor = rw
@ta = rw
xxxtgu1 = rw
* = 

## Turnin User: xxxtuu2 ##
[/turnin/xxxtuu2]
@admin = rw
@instructor = rw
@ta = rw
xxxtuu2 = rw
* = 

## Turnin User: xxxtgu2 ##
[/turnin/xxxtgu2]
@admin = rw
@instructor = rw
@ta = rw
xxxtgu2 = rw
* = 

  • No labels