Changes to the Midweek Editor from January 2018

January 2018 Workbook

January 2018 Workbook (click to enlarge)
The January 2018 workbook, available from the www.jw.org website has a few changes to the structure of the student assignments.

Changes need to be made to Meeting Schedule Assistant.

Student Assignment Types

Sample Drop List
We have added several new student items to the droplist. This includes three additional Video assignments.

These are not actually student assignments. Rather, they are Sample Conversation Videos which the Chairman (or possibly the Auxiliary Classroom Counsellor) discusses with the audience.

If you are using F6 to download the schedule data then you will have the right types of assignments specified by the volunteers.
Students (Click to enlarge)
I have changed the window to display a drop list for the assignment that is a sample video.

Now you can specify if the Chairman discusses the video with everyone or if the Auxiliary Classroom Counsellor will oversee the item in his classroom with a suitable mobile device.

The S-140 schedule scripts have been modified to display this new information. However, I still have to review the older Workbook scripts.

Duration / Sample Conversation Videos

Student Material (click to enlarge)
You will see that the times for each student item no longer follow a fixed pattern of 2, 4 and 6 minutes. It can vary from 2 to 6 minutes. As a result, we have introduced new time options on the Student Material window.

As previously mentioned, there are three types of sample conversation videos each month. These are discussed by the Chairman (or maybe the Auxiliary Classroom Counsellor).

S-89 Assignment Slip

S-89 (click to enlarge)
The S-89 has been revised to include the new student items.

A few languages have been implemented but I am still waiting for other languages to become available.

S-140 Workbook Script Adjustments

Who discusses sample videos (Click to enlarge)

If you look closely at the official workbook for January you will see that all sample conversation videos are for a fixed amount of time. They do not follow the rule xx min. or less. In addition, we have to indicate who is discussing the sample video with the audience (Chairman or Auxiliary Classroom Counsellor). In addition, we don’t need to display the Student/Assistant labels when we are discussing a sample conversation video. For this, changes are required in your script.

All these changes have been implemented on all default S-140 schedules and the good news is that no changes are required on your part. That is, unless you are using a customized S-140 script. In this situation you will need to replicate the new changes to your scripts:

The first change is to exclude the Student / Assistant labels:

 
<xsl:template match="StudentItem">
  <tr>
    <xsl:apply-templates select="Time" mode="End"/>
    <td class="cellTheme">
      <span class="bulletAYFM">•</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:choose>
        <xsl:when test="@IsSampleVideo=1">
          <!--We need an empty cell-->
          <xsl:text> </xsl:text>
        </xsl:when>
        <xsl:otherwise>
          <xsl:value-of select="//Labels/Student"/>
          <xsl:if test="@IsTalk=0">
            <br/>
            <xsl:value-of select="//Labels/Assistant"/>
          </xsl:if>
        </xsl:otherwise>
      </xsl:choose>
    </td>
    <xsl:apply-templates select="Students"/>
  </tr>
</xsl:template>

The second change is to display who is discussing the video with the audience:
 
<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"/>
		  </span>
		</xsl:when>
		<xsl:otherwise>
		  <xsl:value-of select="Student"/>
		</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>


Old style Workbook Script Adjustments

Please understand that it is not my intention to maintain support for the older workbook style scripts. I developed the original scripts whilst learning about the concept of XSL transformations. As a result, the script I ended up with was very complex. It got the job done, but in a very complicated manner. Thus, when I had to create the S-140 workbook scripts I rewrote it from scratch. I used the new concepts that I had now grasped and produced a much more efficient script that was easier to maintain.

Therefore, it is not my intention to continue support the original style scripts. For the time being they will remain available, and for the benefit of existing users I have updated the scripts. No further changes are required on your part if you are using the installed scripts. But if you have made customizations then you need to update with the following code:

 
<!--Apply Yourself To The Field Ministry-->
<xsl:template name = "Display_AYTFM" >
<xsl:param name = "strThemeClass" />
<xsl:param name = "strColSpanAYTFMClass" />
<xsl:param name = "iColSpanAYTFMCell" />
<div class="containerAYFM">
  <table cellpadding="2" cellspacing="0"  class="tableOuter">
	<tr>
	  <td class="{$strColSpanAYTFMClass}" colspan="{$iColSpanAYTFMCell}">
		<div class="textAYFM">
		  <xsl:value-of select="//Labels/ApplyYourselfToTheFieldMinistry"/>
		</div>
	  </td>

	  <!--Class headings-->
	  <!--TODO: Rename these classes-->
	  <xsl:if test="FirstWeekOfMonth=0">
		<xsl:if test="NumberClasses>=2">
		  <td class="cellAYFMMainHall" >
			<xsl:value-of select="//Labels/MainHall"/>
		  </td>
		  <td class="cellAYFMAuxClass1" >
			<xsl:value-of select="//Labels/AuxClass1"/>
		  </td>
		  <xsl:if test="NumberClasses=3">
			<td class="cellAYFMAuxClass2" >
			  <xsl:value-of select="//Labels/AuxClass2"/>
			</td>
		  </xsl:if>
		</xsl:if>
	  </xsl:if>
	</tr>

	<!--Presentations-->
	<xsl:if test="FirstWeekOfMonth=1">
	  <tr>
		<td class="borderDotTime">
		  <xsl:value-of select="Presentations/Time"/>
		</td>
		<td class="borderDotTheme">
		  <xsl:value-of select="Presentations/Theme" disable-output-escaping="yes"/>
		  <br />
		  <span class="textMethod">
			[<xsl:value-of select="Presentations/Method" disable-output-escaping="yes"/>]
		  </span>
		</td>
		<td class="borderDotName">
		  <xsl:value-of select="Presentations/Name"/> 
		</td>
	  </tr>
	</xsl:if>

	<!--Student talks-->
	<xsl:if test="FirstWeekOfMonth=0">
	  <!--First student talk-->
	  <tr>
		<td class="borderDotTime">
		  <xsl:value-of select="StudentTalk1Time"/>
		</td>
		<td class="{$strThemeClass}">
		  <xsl:value-of select="StudentSourceMaterial/StudentTalk1Type"/>
		  <br />
		  <span class="textMaterial">
			[<xsl:value-of select="StudentSourceMaterial/StudentTalk1Material" disable-output-escaping="yes"/>]
		  </span>
		</td>
		<td class="borderDotName">
		  <xsl:choose>
			<xsl:when test="StudentSourceMaterial/StudentTalk1Type/@IsSampleVideo=1">
			  <xsl:choose>
				<xsl:when test="StudentTalk1M/@ChairmanHandleSampleVideo=0">
				  <xsl:value-of select="//Labels/Counsellor"/>
				</xsl:when>
				<xsl:otherwise>
				  <xsl:value-of select="//Labels/Chairman"/>
				</xsl:otherwise>
			  </xsl:choose>
			</xsl:when>
			<xsl:otherwise>
			  <xsl:value-of select="StudentTalk1M"/>
			  <br />
			  <xsl:value-of select="StudentTalk1MA"/>
			</xsl:otherwise>
		  </xsl:choose>
		</td>
		<xsl:if test="NumberClasses>=2">
		  <td class="borderDotName">
			<xsl:choose>
			  <xsl:when test="StudentSourceMaterial/StudentTalk1Type/@IsSampleVideo=1">
				<xsl:choose>
				  <xsl:when test="StudentTalk11/@ChairmanHandleSampleVideo=0">
					<xsl:value-of select="//Labels/Counsellor"/>
				  </xsl:when>
				  <xsl:otherwise>
					<xsl:value-of select="//Labels/Chairman"/>
				  </xsl:otherwise>
				</xsl:choose>
			  </xsl:when>
			  <xsl:otherwise>
				<xsl:value-of select="StudentTalk11"/>
				<br />
				<xsl:value-of select="StudentTalk11A"/>
			  </xsl:otherwise>
			</xsl:choose>
		  </td>
		  <xsl:if test="NumberClasses=3">
			<td class="borderDotName">
			  <xsl:choose>
				<xsl:when test="StudentSourceMaterial/StudentTalk1Type/@IsSampleVideo=1">
				  <xsl:choose>
					<xsl:when test="StudentTalk12/@ChairmanHandleSampleVideo=0">
					  <xsl:value-of select="//Labels/Counsellor"/>
					</xsl:when>
					<xsl:otherwise>
					  <xsl:value-of select="//Labels/Chairman"/>
					</xsl:otherwise>
				  </xsl:choose>
				</xsl:when>
				<xsl:otherwise>
				  <xsl:value-of select="StudentTalk12"/>
				  <br />
				  <xsl:value-of select="StudentTalk12A"/>
				</xsl:otherwise>
			  </xsl:choose>
			</td>
		  </xsl:if>
		</xsl:if>
	  </tr>

	  <!--Second student talk-->
	  <tr>
		<td class="borderDotTime">
		  <xsl:value-of select="StudentTalk2Time"/>
		</td>
		<td class="{$strThemeClass}">
		  <xsl:value-of select="StudentSourceMaterial/StudentTalk2Type"/>
		  <br />
		  <span class="textMaterial">
			[<xsl:value-of select="StudentSourceMaterial/StudentTalk2Material" disable-output-escaping="yes"/>]
		  </span>
		</td>
		<td class="borderDotName">
		  <xsl:choose>
			<xsl:when test="StudentSourceMaterial/StudentTalk2Type/@IsSampleVideo=1">
			  <xsl:choose>
				<xsl:when test="StudentTalk2M/@ChairmanHandleSampleVideo=0">
				  <xsl:value-of select="//Labels/Counsellor"/>
				</xsl:when>
				<xsl:otherwise>
				  <xsl:value-of select="//Labels/Chairman"/>
				</xsl:otherwise>
			  </xsl:choose>
			</xsl:when>
			<xsl:otherwise>
			  <xsl:value-of select="StudentTalk2M"/>
			  <br />
			  <xsl:value-of select="StudentTalk2MA"/>
			</xsl:otherwise>
		  </xsl:choose>
		</td>
		<xsl:if test="NumberClasses>=2">
		  <td class="borderDotName">
			<xsl:choose>
			  <xsl:when test="StudentSourceMaterial/StudentTalk2Type/@IsSampleVideo=1">
				<xsl:choose>
				  <xsl:when test="StudentTalk21/@ChairmanHandleSampleVideo=0">
					<xsl:value-of select="//Labels/Counsellor"/>
				  </xsl:when>
				  <xsl:otherwise>
					<xsl:value-of select="//Labels/Chairman"/>
				  </xsl:otherwise>
				</xsl:choose>
			  </xsl:when>
			  <xsl:otherwise>
				<xsl:value-of select="StudentTalk21"/>
				<br />
				<xsl:value-of select="StudentTalk21A"/>
			  </xsl:otherwise>
			</xsl:choose>
		  </td>
		  <xsl:if test="NumberClasses=3">
			<td class="borderDotName">
			  <xsl:choose>
				<xsl:when test="StudentSourceMaterial/StudentTalk2Type/@IsSampleVideo=1">
				  <xsl:choose>
					<xsl:when test="StudentTalk22/@ChairmanHandleSampleVideo=0">
					  <xsl:value-of select="//Labels/Counsellor"/>
					</xsl:when>
					<xsl:otherwise>
					  <xsl:value-of select="//Labels/Chairman"/>
					</xsl:otherwise>
				  </xsl:choose>
				</xsl:when>
				<xsl:otherwise>
				  <xsl:value-of select="StudentTalk22"/>
				  <br />
				  <xsl:value-of select="StudentTalk22A"/>
				</xsl:otherwise>
			  </xsl:choose>
			</td>
		  </xsl:if>
		</xsl:if>
	  </tr>

	  <!--Third student talk-->
	  <tr>
		<td class="borderDotTime">
		  <xsl:value-of select="StudentTalk3Time"/>
		</td>
		<td class="{$strThemeClass}">
		  <xsl:value-of select="StudentSourceMaterial/StudentTalk3Type"/>
		  <br />
		  <span class="textMaterial">
			[<xsl:value-of select="StudentSourceMaterial/StudentTalk3Material" disable-output-escaping="yes"/>]
		  </span>
		</td>
		<td class="borderDotName">
		  <xsl:choose>
			<xsl:when test="StudentSourceMaterial/StudentTalk3Type/@IsSampleVideo=1">
			  <xsl:choose>
				<xsl:when test="StudentTalk3M/@ChairmanHandleSampleVideo=0">
				  <xsl:value-of select="//Labels/Counsellor"/>
				</xsl:when>
				<xsl:otherwise>
				  <xsl:value-of select="//Labels/Chairman"/>
				</xsl:otherwise>
			  </xsl:choose>
			</xsl:when>
			<xsl:otherwise>
			  <xsl:value-of select="StudentTalk3M"/>
			  <xsl:if test="StudentSourceMaterial/StudentTalk3Type/@IsTalk=0">
				<br />
				<xsl:value-of select="StudentTalk3MA"/>
			  </xsl:if>
			</xsl:otherwise>
		  </xsl:choose>
		</td>
		<xsl:if test="NumberClasses>=2">
		  <td class="borderDotName">
			<xsl:choose>
			  <xsl:when test="StudentSourceMaterial/StudentTalk3Type/@IsSampleVideo=1">
				<xsl:choose>
				  <xsl:when test="StudentTalk31/@ChairmanHandleSampleVideo=0">
					<xsl:value-of select="//Labels/Counsellor"/>
				  </xsl:when>
				  <xsl:otherwise>
					<xsl:value-of select="//Labels/Chairman"/>
				  </xsl:otherwise>
				</xsl:choose>
			  </xsl:when>
			  <xsl:otherwise>
				<xsl:value-of select="StudentTalk31"/>
				<xsl:if test="StudentSourceMaterial/StudentTalk3Type/@IsTalk=0">
				  <br />
				  <xsl:value-of select="StudentTalk31A"/>
				</xsl:if>
			  </xsl:otherwise>
			</xsl:choose>
		  </td>
		  <xsl:if test="NumberClasses=3">
			<td class="borderDotName">
			  <xsl:choose>
				<xsl:when test="StudentSourceMaterial/StudentTalk3Type/@IsSampleVideo=1">
				  <xsl:choose>
					<xsl:when test="StudentTalk32/@ChairmanHandleSampleVideo=0">
					  <xsl:value-of select="//Labels/Counsellor"/>
					</xsl:when>
					<xsl:otherwise>
					  <xsl:value-of select="//Labels/Chairman"/>
					</xsl:otherwise>
				  </xsl:choose>
				</xsl:when>
				<xsl:otherwise>
				  <xsl:value-of select="StudentTalk32"/>
				  <xsl:if test="StudentSourceMaterial/StudentTalk3Type/@IsTalk=0">
					<br />
					<xsl:value-of select="StudentTalk32A"/>
				  </xsl:if>
				</xsl:otherwise>
			  </xsl:choose>
			</td>
		  </xsl:if>
		</xsl:if>
	  </tr>
	</xsl:if>
  </table>
</div>
</xsl:template>


Worksheet Script Adjustments

Sadly, from my perspective, the worksheet scripts provided with the program are based on the legacy workbook scripts. As a result they too are somewhat over-complicated to maintain. I have made the required changes to all default worksheet scripts. If you have customized the script then you need to replicate these code changes:

 
<!--Apply Yourself To The Field Ministry-->
<xsl:template name = "Display_AYTFM" >
<xsl:param name = "Class" />
<div class="containerAYFM">
  <table cellpadding="2" cellspacing="0"  class="tableOuter">
	<tr>
	  <td class="textAYFM" colspan="4">
		<xsl:value-of select="//Labels/ApplyYourselfToTheFieldMinistry"/>
	  </td>
	</tr>

	<xsl:choose>
	  <!--Presentations-->
	  <xsl:when test="FirstWeekOfMonth=1">
		<tr>
		  <td class="borderDotTimeDuration">
			[<xsl:value-of select="Presentations/Time/@EndTime24"/>]
		  </td>
		  <td class="borderDotTime">
			<xsl:value-of select="Presentations/Time"/>
		  </td>
		  <td class="borderDotTheme">
			<xsl:value-of select="Presentations/Theme" disable-output-escaping="yes"/>
			<br />
			<span class="textMethod">
			  [<xsl:value-of select="Presentations/Method" disable-output-escaping="yes"/>]
			</span>
		  </td>
		  <td class="borderDotName">
			<xsl:value-of select="Presentations/Name"/> 
		  </td>
		</tr>
	  </xsl:when>
	  <!--Student talks-->
	  <xsl:otherwise>
		<tr>
		  <td class="borderDotTimeDuration">
			[<xsl:value-of select="StudentTalk1Time/@EndTime24"/>]
		  </td>
		  <td class="borderDotTime">
			<xsl:value-of select="StudentTalk1Time"/>
		  </td>
		  <td class="borderDotTheme">
			<xsl:value-of select="StudentSourceMaterial/StudentTalk1Type"/>
			<br />
			[<xsl:value-of select="StudentSourceMaterial/StudentTalk1Material" disable-output-escaping="yes"/>]
			<xsl:if test="StudentSourceMaterial/StudentTalk1Type/@IsSampleVideo != 1">
			  <br />
			  <xsl:value-of select="//Labels/CounselPoint"/> 
			  <xsl:choose>
				<xsl:when test="$Class='M'">
				  <xsl:value-of select="StudentTalk1M/@StudyPoint"/> 
				  <xsl:value-of select="StudentTalk1M/@StudyPointDescription"/>
				</xsl:when>
				<xsl:when test="$Class='1'">
				  <xsl:value-of select="StudentTalk11/@StudyPoint"/> 
				  <xsl:value-of select="StudentTalk11/@StudyPointDescription"/>
				</xsl:when>
				<xsl:when test="$Class='2'">
				  <xsl:value-of select="StudentTalk12/@StudyPoint"/> 
				  <xsl:value-of select="StudentTalk12/@StudyPointDescription"/>
				</xsl:when>
			  </xsl:choose>
			  <br />
			</xsl:if>
		  </td>
		  <td class="borderDotName">
			<xsl:choose>
			  <xsl:when test="StudentSourceMaterial/StudentTalk1Type/@IsSampleVideo = 1">
				<xsl:choose>
				  <xsl:when test="$Class='M'">
					<xsl:choose>
					  <xsl:when test="StudentTalk1M/@ChairmanHandleSampleVideo=0">
						<xsl:value-of select="//Labels/Counsellor"/>
					  </xsl:when>
					  <xsl:otherwise>
						<xsl:value-of select="//Labels/Chairman"/>
					  </xsl:otherwise>
					</xsl:choose>
				  </xsl:when>
				  <xsl:when test="$Class='1'">
					<xsl:choose>
					  <xsl:when test="StudentTalk11/@ChairmanHandleSampleVideo=0">
						<xsl:value-of select="//Labels/Counsellor"/>
					  </xsl:when>
					  <xsl:otherwise>
						<xsl:value-of select="//Labels/Chairman"/>
					  </xsl:otherwise>
					</xsl:choose>
				  </xsl:when>
				  <xsl:when test="$Class='2'">
					<xsl:choose>
					  <xsl:when test="StudentTalk12/@ChairmanHandleSampleVideo=0">
						<xsl:value-of select="//Labels/Counsellor"/>
					  </xsl:when>
					  <xsl:otherwise>
						<xsl:value-of select="//Labels/Chairman"/>
					  </xsl:otherwise>
					</xsl:choose>
				  </xsl:when>
				</xsl:choose>
			  </xsl:when>
			  <xsl:otherwise>
				<xsl:choose>
				  <xsl:when test="$Class='M'">
					<xsl:value-of select="StudentTalk1M"/> 
				  </xsl:when>
				  <xsl:when test="$Class='1'">
					<xsl:value-of select="StudentTalk11"/> 
				  </xsl:when>
				  <xsl:when test="$Class='2'">
					<xsl:value-of select="StudentTalk12"/> 
				  </xsl:when>
				</xsl:choose>
				<br />
				<br />
				<xsl:choose>
				  <xsl:when test="$Class='M'">
					<xsl:value-of select="StudentTalk1MA"/> 
				  </xsl:when>
				  <xsl:when test="$Class='1'">
					<xsl:value-of select="StudentTalk11A"/> 
				  </xsl:when>
				  <xsl:when test="$Class='2'">
					<xsl:value-of select="StudentTalk12A"/> 
				  </xsl:when>
				</xsl:choose>
			  </xsl:otherwise>
			</xsl:choose>
		  </td>
		</tr>
		<tr>
		  <td class="cellComments" colspan="4">
			<br />
			<br />
			<br />
		  </td>
		</tr>
		<tr>
		  <td class="borderDotTimeDuration">
			[<xsl:value-of select="StudentTalk2Time/@EndTime24"/>]
		  </td>
		  <td class="borderDotTime">
			<xsl:value-of select="StudentTalk2Time"/>
		  </td>
		  <td class="borderDotTheme">
			<xsl:value-of select="StudentSourceMaterial/StudentTalk2Type"/><br />
			[<xsl:value-of select="StudentSourceMaterial/StudentTalk2Material" disable-output-escaping="yes"/>]
			<xsl:if test="StudentSourceMaterial/StudentTalk2Type/@IsSampleVideo != 1">
			  <br />
			  <xsl:value-of select="//Labels/CounselPoint"/> 
			  <xsl:choose>
				<xsl:when test="$Class='M'">
				  <xsl:value-of select="StudentTalk2M/@StudyPoint"/> 
				  <xsl:value-of select="StudentTalk2M/@StudyPointDescription"/>
				</xsl:when>
				<xsl:when test="$Class='1'">
				  <xsl:value-of select="StudentTalk21/@StudyPoint"/> 
				  <xsl:value-of select="StudentTalk21/@StudyPointDescription"/>
				</xsl:when>
				<xsl:when test="$Class='2'">
				  <xsl:value-of select="StudentTalk22/@StudyPoint"/> 
				  <xsl:value-of select="StudentTalk22/@StudyPointDescription"/>
				</xsl:when>
			  </xsl:choose>
			  <br />
			</xsl:if>
			<br />
		  </td>
		  <td class="borderDotName">
			<xsl:choose>
			  <xsl:when test="StudentSourceMaterial/StudentTalk2Type/@IsSampleVideo = 1">
				<xsl:choose>
				  <xsl:when test="$Class='M'">
					<xsl:choose>
					  <xsl:when test="StudentTalk2M/@ChairmanHandleSampleVideo=0">
						<xsl:value-of select="//Labels/Counsellor"/>
					  </xsl:when>
					  <xsl:otherwise>
						<xsl:value-of select="//Labels/Chairman"/>
					  </xsl:otherwise>
					</xsl:choose>
				  </xsl:when>
				  <xsl:when test="$Class='1'">
					<xsl:choose>
					  <xsl:when test="StudentTalk21/@ChairmanHandleSampleVideo=0">
						<xsl:value-of select="//Labels/Counsellor"/>
					  </xsl:when>
					  <xsl:otherwise>
						<xsl:value-of select="//Labels/Chairman"/>
					  </xsl:otherwise>
					</xsl:choose>
				  </xsl:when>
				  <xsl:when test="$Class='2'">
					<xsl:choose>
					  <xsl:when test="StudentTalk22/@ChairmanHandleSampleVideo=0">
						<xsl:value-of select="//Labels/Counsellor"/>
					  </xsl:when>
					  <xsl:otherwise>
						<xsl:value-of select="//Labels/Chairman"/>
					  </xsl:otherwise>
					</xsl:choose>
				  </xsl:when>
				</xsl:choose>
			  </xsl:when>
			  <xsl:otherwise>
				<xsl:choose>
				  <xsl:when test="$Class='M'">
					<xsl:value-of select="StudentTalk2M"/> 
				  </xsl:when>
				  <xsl:when test="$Class='1'">
					<xsl:value-of select="StudentTalk21"/> 
				  </xsl:when>
				  <xsl:when test="$Class='2'">
					<xsl:value-of select="StudentTalk22"/> 
				  </xsl:when>
				</xsl:choose>
				<br />
				<br />
				<xsl:choose>
				  <xsl:when test="$Class='M'">
					<xsl:value-of select="StudentTalk2MA"/> 
				  </xsl:when>
				  <xsl:when test="$Class='1'">
					<xsl:value-of select="StudentTalk21A"/> 
				  </xsl:when>
				  <xsl:when test="$Class='2'">
					<xsl:value-of select="StudentTalk22A"/> 
				  </xsl:when>
				</xsl:choose>
			  </xsl:otherwise>
			</xsl:choose>
		  </td>
		</tr>
		<tr>
		  <td class="cellComments" colspan="4">
			<br />
			<br />
			<br />
		  </td>
		</tr>
		<tr>
		  <td class="borderDotTimeDuration">
			[<xsl:value-of select="StudentTalk3Time/@EndTime24"/>]
		  </td>
		  <td class="borderDotTime">
			<xsl:value-of select="StudentTalk3Time"/>
		  </td>
		  <td class="borderDotTheme">
			<xsl:value-of select="StudentSourceMaterial/StudentTalk3Type"/><br />
			[<xsl:value-of select="StudentSourceMaterial/StudentTalk3Material" disable-output-escaping="yes"/>]
			<xsl:if test="StudentSourceMaterial/StudentTalk3Type/@IsSampleVideo != 1">
			  <br/>
			  <xsl:value-of select="//Labels/CounselPoint"/> 
			  <xsl:choose>
				<xsl:when test="$Class='M'">
				  <xsl:value-of select="StudentTalk3M/@StudyPoint"/> 
				  <xsl:value-of select="StudentTalk3M/@StudyPointDescription"/>
				</xsl:when>
				<xsl:when test="$Class='1'">
				  <xsl:value-of select="StudentTalk31/@StudyPoint"/> 
				  <xsl:value-of select="StudentTalk31/@StudyPointDescription"/>
				</xsl:when>
				<xsl:when test="$Class='2'">
				  <xsl:value-of select="StudentTalk32/@StudyPoint"/> 
				  <xsl:value-of select="StudentTalk32/@StudyPointDescription"/>
				</xsl:when>
			  </xsl:choose>
			  <br />
			</xsl:if>
		  </td>
		  <td class="borderDotName">
			<xsl:choose>
			  <xsl:when test="StudentSourceMaterial/StudentTalk3Type/@IsSampleVideo = 1">
				<xsl:choose>
				  <xsl:when test="$Class='M'">
					<xsl:choose>
					  <xsl:when test="StudentTalk3M/@ChairmanHandleSampleVideo=0">
						<xsl:value-of select="//Labels/Counsellor"/>
					  </xsl:when>
					  <xsl:otherwise>
						<xsl:value-of select="//Labels/Chairman"/>
					  </xsl:otherwise>
					</xsl:choose>
				  </xsl:when>
				  <xsl:when test="$Class='1'">
					<xsl:choose>
					  <xsl:when test="StudentTalk31/@ChairmanHandleSampleVideo=0">
						<xsl:value-of select="//Labels/Counsellor"/>
					  </xsl:when>
					  <xsl:otherwise>
						<xsl:value-of select="//Labels/Chairman"/>
					  </xsl:otherwise>
					</xsl:choose>
				  </xsl:when>
				  <xsl:when test="$Class='2'">
					<xsl:choose>
					  <xsl:when test="StudentTalk32/@ChairmanHandleSampleVideo=0">
						<xsl:value-of select="//Labels/Counsellor"/>
					  </xsl:when>
					  <xsl:otherwise>
						<xsl:value-of select="//Labels/Chairman"/>
					  </xsl:otherwise>
					</xsl:choose>
				  </xsl:when>
				</xsl:choose>
			  </xsl:when>
			  <xsl:otherwise>
				<xsl:choose>
				  <xsl:when test="$Class='M'">
					<xsl:value-of select="StudentTalk3M"/> 
				  </xsl:when>
				  <xsl:when test="$Class='1'">
					<xsl:value-of select="StudentTalk31"/> 
				  </xsl:when>
				  <xsl:when test="$Class='2'">
					<xsl:value-of select="StudentTalk32"/> 
				  </xsl:when>
				</xsl:choose>
				<xsl:if test="StudentSourceMaterial/StudentTalk3Type/@IsTalk=0">
				  <br />
				  <br />
				  <xsl:choose>
					<xsl:when test="$Class='M'">
					  <xsl:value-of select="StudentTalk3MA"/> 
					</xsl:when>
					<xsl:when test="$Class='1'">
					  <xsl:value-of select="StudentTalk31A"/> 
					</xsl:when>
					<xsl:when test="$Class='2'">
					  <xsl:value-of select="StudentTalk32A"/> 
					</xsl:when>
				  </xsl:choose>
				</xsl:if>
			  </xsl:otherwise>
			</xsl:choose>
		  </td>
		</tr>
		<tr>
		  <td class="cellComments" colspan="4">
			<br />
			<br />
			<br />
		  </td>
		</tr>

	  </xsl:otherwise>
	</xsl:choose>
  </table>
</div>
</xsl:template>


Current Development Status

I will try to keep this up to date for you. It indicates which languages that I am still awaiting translations / s-89 template information etc. for.

Progress-2018-v41

16 Comments

  1. Thanks, Bro Truckle, for such fast notice on the January changes.

    1. Author

      You are welcome. 🙂 I have made further simplifications now. I decided to remove the “Sample Conversation Video” check boxes. Now the choice on the left is enough to determine if the item is a sample conversation video.

  2. Very fast reaction, indeed! Thank you!
    Tha MSA still use the old slips in november and december?

    1. Author

      Thanks Peter. I think it is going to be too complicated to support both types of slips. One possibility is that brothers create the November/December slips before upgrading. Then upgrade for starting with January slips. But this approach is a bit clunky.

      The other idea, which I think is perfectly viable, is to simply use the new s-89 slips anyway. My reasoning:

      • Initial Call is on the new slip.
      • Return Visit would show up on Other now.
      • Bible Study is on the new slip.
      • Talk used to show up on Other but would now just show up on the check slip.

      So I don't see any problems with just using the new slips during November and December. That said, I am still waiting on translations and s-89 templates and need as many in as possible before I make it available. In additional, brothers will need to request the s-89 template files again.

      1. I agree with you, Andrew.
        New slips are ok also for November and December schedule.

      2. Thanks.
        You’re right. No problem to use.

  3. Where can I find the update to the S-140 schedule script?

    1. Author

      Good question. I have not released the new version yet. This is because I need several more slips.

      Also, I need to make a change to the S140 to display Chairman or Counsellor respectively. Then I can send you a beta.

      1. Sounds good to me

  4. Thank you,

    Till now nothing in Arabic was released. I think I need to see them first.

    1. Author

      Sure. Nothing will be implemented until the official workbook and S-89 slip is made available in each language.

  5. Hi Andrew,

    Just trying to update our scheduler in preparation for next year. I notice the Vietnamese S-89 slips still need testing, would that be something I could help out with?

    1. Author

      Hi Johnny!

      Yes, that would be great. I emailed the translator but he did not reply. Perhaps he is too busy. Please email me your S-89 slip and I will send you the templates to test. Thank you!

    2. Author

      Hi Johnny

      I see that the new song book is now out in Vietnamese too. 🙂

      https://www.jw.org/vi/an-pham/bai-hat/vui-mung-ca-hat/

      I have added the new song titles into the INI translation file but I need to know the official start date for the new songbook.

      I had a quick look at the meeting workbooks on http://www.jw.org and I think you will start using the new book from 1st January 2018. Can you confirm? Thanks.

  6. Hi Andrew,

    Yes we’re excited to have that in Vietnamese. The announcement stated that we would start using the new songbook starting 30 December 2017, so 1st of Jan 2018 will be the first week of use. Thanks for following this up. Was there anything else I can do to help? Regards,
    Johnny

    1. Author

      Great! I will send you a beta (version 18.0.7) via email to try. You can add your feedback here. Thanks.

Comments are closed.