File:  [LON-CAPA] / loncom / html / adm / helper / course.initialization.helper
Revision 1.2: download - view: text, annotated - select for diffs
Fri May 16 17:21:33 2003 UTC (21 years, 1 month ago) by bowersj2
Branches: MAIN
CVS tags: version_0_99_0, HEAD
Require the users of the parameter helper and course initialization helper
to have the 'opa' priviledge of setting parameters.

<helper title="Course Initialization Helper" requiredpriv='opa'>

  <exec>
    $helper->{DATA}->{DOM} = $ENV{'course.'.$ENV{'request.course.id'}.'.domain'};
    $helper->{DATA}->{CRS} = $ENV{'course.'.$ENV{'request.course.id'}.'.num'};

    $helper->{DATA}->{GETVAL} = sub {
        my @resultlist = &Apache::lonnet::get('environment', [shift()], 
                                              $helper->{DATA}->{DOM},
                                              $helper->{DATA}->{CRS}); 
        return $resultlist[1]; };
    $helper->{DATA}->{SETVAL} = sub {
        my $name = shift;
        my $val = shift;
        if (&{$helper->{DATA}->{GETVAL}}($name) ne $val) {
            &Apache::lonnet::put('environment', {$name=>$val}, 
                                 $helper->{DATA}->{DOM},
                                 $helper->{DATA}->{CRS}); 
            return 1;
        } else {
            return 0;
        }
    }
  </exec>

  <state name="START" title="Welcome to Your New LON-CAPA Course">
    <message nextstate="FORBID_DISCUSSION">
         This Helper will help you set up your new LON-CAPA course and choose
         which LON-CAPA features will be active in your course. You can 
         re-visit it later to change settings in your course.

      <p><b>FIXME:</b> Figure out some way to detect whether this has been
         run, and change that paragraph appropriatly.</p>

      <p>If you have previous experience with coordinating LON-CAPA courses and
         prefer not to use the Helper,
         <a href="/adm/navmaps">click here</a> to leave this Helper.</p>

      <p>All settings which you can change with this Helper can also be changed while the
         course is running by going to the PARM screen and clicking on the &quot;Set
         course environment&quot; button.</p>

      <p>If you do not have experience coordinating LON-CAPA courses, or if you
         prefer the Helper interface, please click <nobr><b>Next -&gt;</b></nobr>.</p>
      </message>
    </state>

  <state name="FORBID_DISCUSSION" title="Discussion Participation">
    <message nextstate="DISCUSSION_HTML">
         LON-CAPA hosts discussions on all resources in a course. By default,
         all users are allowed to participate in these discussions.

      <p>For more information about discussion and the abilities available
         to you as a course coordinator, such as banning abusive users or
         hiding discussion postings, please see <b>link</b>.</p>

      <p>If you do not wish certain classes of users to be able to use the 
         discussion features, select those classes below. Note your class
         may not have all of these roles; you may safely ignore roles you
         do not intend to use. (For instance, &quot;Exam Proctor&quot; is
         generally useful only for large courses.)</p>

      <p><b>Question: Does inability to use discussion mean they simply can't
            post, or that they can't see the discussion at all?</b></p>
      </message>
    <choices variable="BANNED_DISCUSSION_ROLES" multichoice="1" allowempty='1'>
      <choice computer="st"><b>Students</b> - students will not be able to participate in discussions</choice>
      <choice computer="ta"><b>Teaching Assistants</b> - teaching assistants will not be able to participate in discussions</choice>
      <choice computer="in"><b>Instructor</b> - instructors will not be able to participate in discussions</choice>
      <choice computer="ep"><b>Exam Proctor</b> - exam proctors will not be able to participate in discussions</choice>
      <defaultvalue>
        my $denied = &{$helper->{DATA}->{GETVAL}}('pch.roles.denied');
        $denied =~ s/,/\|\|\|/g;
        return $denied;
      </defaultvalue>
      <finalcode>
        my $denied = $element->getValue();
        $denied =~ s/\|\|\|/,/g;
        if (&{$helper->{DATA}->{SETVAL}}('pch.roles.denied', $denied)) {
            $denied =~ s/st/ students/;
            $denied =~ s/in/ instructors/;
            $denied =~ s/ta/ teaching assistants/;
            $denied =~ s/ep/ exam proctors/;
            if ($denied =~ /^[^,]*,[^,]*$/) { # only one comma
                $denied =~ s/,/ and/g;
            } else { # add "and" to last comma
                $denied =~ s/,([^,]*)$/, and\1/;
            }
            if ($denied) {
                $denied = substr($denied, 1) . ' not allowed to participate in discussion.';
                $denied = ucfirst($denied);
            } else {
                $denied = 'Everyone can participate in discussion.';
            }
            return $denied;
        } else {
            return '';
        }
      </finalcode>
      </choices>
    </state>

  <state name="DISCUSSION_HTML" title="HTML in Discussions">
    <message nextstate="FINAL">
      <p>If you like, limited HTML can be allowed in the course discussions.</p>
      </message>
    <choices variable="HTML_ALLOWED">
      <choice computer=""><b>HTML banned</b>: HTML will not be allowed in discussion postings.</choice>
      <choice computer="yes"><b>HTML allowed</b>: Discussion participants can use limited HTML in their postings.</choice>
      <finalcode>return 'Choices finalcode.';</finalcode>
      </choices>
    </state>

  

  <state name="FINAL" title="Completed">
    <message>Your course is now set up.</message>
    <final />
    </state>
  </helper>

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>