Displaying Study Points on the S-140 Schedule

Is there a way to display the counsel number of the item on the Workbook page as the Worksheet page ?Abel

This is a good question. The S-38 instructions state:

7. Counsel: Following each of the four student assignments, the Life and Ministry Meeting chairman has approximately one minute to provide commendation and counsel based on the Ministry School book. When the chairman introduces a student’s assignment, he will not announce the point of counsel that the student is working on.

As a result the software does not show the counsel numbers on the schedule by default since it is my understanding that this information should not be public. However, if you have a valid reason for including this information then it can be done by making a modification to the S-140 template.

Getting Started

Please look through the Video Tutorials where you will see several that explain what is involved with customizing scripts and how to do it. The following summary is based on the S-140 Workbook template:

Summary
[icon name=”hand-o-right” class=”” unprefixed_class=””] Use the File Explorer and navigate to the %appdata%\Meeting Schedule Assistant folder.

[icon name=”hand-o-right” class=”” unprefixed_class=””] Locate the S-140 Workbook.XSL document and copy it. Call the new file something like S-140 Workbook – Counsel Numbers.XSL.

(Don’t edit the original file as it will be replaced if you upgrade the program. Also, please make sure your file name begins with “S-140 Workbook”)

[icon name=”hand-o-right” class=”” unprefixed_class=””] Right-click the copied file, select Properties and untick Read-only.

Understanding The Schedule Data

The underlaying schedule data is in XML format. Here is an example from the schedule for the student items:

<AYFM NumberClasses="1">
    <StudentItem IsTalk="0" IsSampleVideo="1">
        <Type>Initial Call Video</Type>
        <Material>Play and discuss the video</Material>
        <Time StartTime12="7:47" StartTime24="19:47" EndTime12="7:51" EndTime24="19:51">4 min.</Time>
        <Students ChairmanHandleSampleVideo="1" Class="1"/>
    </StudentItem>
    <StudentItem IsTalk="0" IsSampleVideo="0">
        <Type>First Return Visit</Type>
        <Material>Use the sample conversation</Material>
        <Time StartTime12="7:51" StartTime24="19:51" EndTime12="7:54" EndTime24="19:54">3 min. or less</Time>
        <Students Class="1">
            <Student StudyPoint="39" StudyPointDescription="Effective Conclusion">Sister 1</Student>
            <Assistant>Sister 2</Assistant>
        </Students>
    </StudentItem>
    <StudentItem IsTalk="0" IsSampleVideo="0">
        <Type>Bible Study</Type>
        <Material>bhs 197-198 ¶4-5</Material>
        <Time StartTime12="7:55" StartTime24="19:55" EndTime12="8:01" EndTime24="20:01">6 min. or less</Time>
        <Students Class="1">
            <Student StudyPoint="27" StudyPointDescription="Extemporaneous Delivery" Duplicate="1">Brother 1</Student>
            <Assistant>Brother 2</Assistant>
        </Students>
    </StudentItem>
</AYFM>

Customizing the XSL Template

There is not much room available on the S-140 Schedule for showing extra details. Let us assume that you want to show the counsel number after the students name. Then you would change this bit in the script by using a text editor. I suggest NotePad++.

<!--Displays the student and assistant for the current student item-->
<xsl:template match="Students">
  <td class="cellName">
    <xsl:choose>
      <xsl:when test="../@IsSampleVideo=1">
        <xsl:choose>
          <xsl:when test="@ChairmanHandleSampleVideo=0">
            <xsl:value-of select="//Labels/Counsellor"/>
          </xsl:when>
          <xsl:otherwise>
            <!--Trims the " :" from the end of the chairman label-->
            <xsl:value-of select="normalize-space(translate(//Labels/Chairman,':',''))"/>
          </xsl:otherwise>
        </xsl:choose>
      </xsl:when>
      <xsl:otherwise>
        <xsl:choose>
          <xsl:when test="Student/@Duplicate=1">
            <span class="textDuplicate">
              <xsl:value-of select="Student"/>
              <xsl:text> (#</xsl:text>
              <xsl:value-of select="Student/@StudyPoint"/>
              <xsl:text>)</xsl:text>
            </span>
          </xsl:when>
          <xsl:otherwise>
            <xsl:value-of select="Student"/>
            <xsl:text> (#</xsl:text>
            <xsl:value-of select="Student/@StudyPoint"/>
            <xsl:text>)</xsl:text>
          </xsl:otherwise>
        </xsl:choose>
        <xsl:if test="../@IsTalk=0">
          <br/>
          <xsl:choose>
            <xsl:when test="Assistant/@Duplicate=1">
              <span class="textDuplicate">
                <xsl:value-of select="Assistant"/>
              </span>
            </xsl:when>
            <xsl:otherwise>
              <xsl:value-of select="Assistant"/>
            </xsl:otherwise>
          </xsl:choose>
        </xsl:if>
      </xsl:otherwise>
    </xsl:choose>
  </td>
</xsl:template>

Now try to use this modified schedule in the Midweek Editor and you will see the counsel numbers after the students names.

Bible Reading Assignments

As per the request made in the comments, here is the changes required to display the study point for each Bible Reading assignment. The line numbers shown here assume that you have already made the changes described above to your script:

<!--Displays all of the bible reading students for each class-->
<xsl:template match="BibleReadingItem">
  <tr>
    <xsl:apply-templates select="Time" mode="End"/>
    <td class="cellTheme">
      <span class="bulletTFGW">•</span>
      <span class="textTheme">
        <xsl:value-of select="Type"/>
      </span>
      <xsl:apply-templates select="Time" mode="Duration"/>
      <xsl:apply-templates select="Material"/>
    </td>
    <td class="cellPosition">
      <xsl:value-of select="//Labels/Student"/>
    </td>
    <xsl:for-each select="Readers/Reader">
      <td class="cellName">
        <xsl:choose>
          <xsl:when test="@Duplicate=1">
            <span class="textDuplicate">
              <xsl:value-of select="."/>
              <xsl:text> (#</xsl:text>
              <xsl:value-of select="@StudyPoint"/>
              <xsl:text>)</xsl:text>              
            </span>
          </xsl:when>
          <xsl:otherwise>
            <xsl:value-of select="."/>
            <xsl:text> (#</xsl:text>
            <xsl:value-of select="@StudyPoint"/>
            <xsl:text>)</xsl:text>
          </xsl:otherwise>
        </xsl:choose>
      </td>
    </xsl:for-each>
  </tr>
</xsl:template>

2 Comments

  1. Hi brother,
    It is very nice to see the counsel number after the student names. I have one problem with the Bible Reader student. I don’t know how to configure it. For the rest, very nice. The body of elders are very proud for it.
    Please, let me know how to introduce counsel point for the reader student.
    Thanks for your help.

    Kind regards,

    Abraham NANA

  2. Author

    Hi Abraham

    Thanks for your comments. I have updated the article to include the changes needed for Bible Reading assignments.

    Your brother

    Andrew

Comments are closed.