ajtruckle / meeting-schedule-assistant-support

Get support for Meeting Schedule Assistant.
https://www.publictalksoftware.co.uk/meeting-schedule-assistant/
5 stars 0 forks source link

Add Chairman's Worksheet Notes to Customize Lists #7

Closed stecchio66 closed 1 year ago

stecchio66 commented 1 year ago

I need to add notes for the chairman for all midweek meetings. So, I add this text for each week:

Announcements:<ul><li>Announcement 1</li><li>Announcement 2</li></ul>

The result is this:

Announcements:

Is it possible to add custom text for chairman notes to the Customize List window?

ajtruckle commented 1 year ago

@stecchio66 I am sure we can do something for you. Question: Do you need the ability to add announcements to both Opening / Closing Comments? This would make it as flexible as possible.

stecchio66 commented 1 year ago

@ajtruckle If you want you can add this for both comments. As you say it would be more flexible.

ajtruckle commented 1 year ago

@stecchio66 I have been thinking about implementation and this is my proposal:

  1. We add two new buttons to the Chairman's Worksheet window:
    • The button text will be Announcements.
  2. Clicking the Announcements button will display a new popup window. This window will have a checklist of all available announcements. These announcements will be saved in the MWB data files.
    • You can choose the ones you want to include on the worksheet.
    • There will be Add / Edit / Remove buttons to let you directly update the list of announcements.
    • Up / Down spinner will let you change the order of the announcements.
  3. We could possibly (not sure 🤔 ) have a multi-line tooltip that shows what the selected announcements are. The tooltip would display when you hover the mouse over the Announcements menu button.
  4. We could also have an icon on the Announcements button:
    • An icon to indicate that one or more announcements have been selected.
    • Another icon to indicate that no announcements have been selected.
  5. The editor will add the announcements into the XML data file. For example:
    <OpeningComments>
    <Theme>Opening Comments</Theme>
    <Time StartTime12="7:20" StartTime24="19:20" EndTime12="7:21" EndTime24="19:21" DurationShort="1 min.">1 min.</Time>
    <Announcements>
        <Announcement>Announcement 1.</Announcement>
        <Announcement>Announcement 2.</Announcement>
        <Announcement>Announcement 3.</Announcement>
    </Announcements>    
    </OpeningComments>
  6. Finally, the default Worksheet templates can be updated to display these announcements in a bulleted list.

Like this:

Announcements Popup Window

Thoughts? 🤔

stecchio66 commented 1 year ago

You always think bigger. You're too good. I would have content with much less but what your thought is exceptional.

ajtruckle commented 1 year ago

@stecchio66 Thanks for the kind words.😀 I have decided to simplify the popup window design:

I came to this decision because it would not be possible to maintain a custom sort order week by week. So keeping the announcements sorted in A to Z seems the simplest to implement.

ajtruckle commented 1 year ago

@stecchio66 I have made another change. When you edit the announcement list for a given week it now add any announcements that are not in the list back into the list and sets them checked. Does that make sense? 😖 Just in case you delete an announcement that you are still using for other weeks.

ajtruckle commented 1 year ago

@stecchio66 I have sent you a new beta (privately) to test. Two default templates have been updated:

Here is a snapshot of the new features in action:

Meeting Editor

The announcements are displayed on their own row on the schedule.

ajtruckle commented 1 year ago

@stecchio66 I have just sent you another beta to try. I have improved the logic of the XML and XSL data.

XML

<ChairmanNotes>
  <OpeningComments>
    <Comments>Opening Comments</Comments>
    <OpeningAnnouncements>
      <Announcement>Announcement 1</Announcement>
      <Announcement>Announcement 2</Announcement>
    </OpeningAnnouncements>
  </OpeningComments>
  <ClosingComments IncludeNextWeeksStudents="1">
    <Comments>Closing Comments</Comments>
    <ClosingAnnouncements>
      <Announcement>Announcement 3</Announcement>
    </ClosingAnnouncements>
  </ClosingComments>
</ChairmanNotes>

XSL

<xsl:template match ="OpeningComments | ClosingComments | Treasures1 | Treasures2 | Living1 | Living2 | Living3" mode="ChairmanNotes">
  <tr>
    <td colspan="4" class="cellChairmanNotes">
      <div class="textChairmanNotes">
        <xsl:choose>
          <xsl:when test="self::OpeningComments">
            <xsl:value-of select="Comments" disable-output-escaping="yes"/>
            <xsl:apply-templates select="OpeningAnnouncements"/>
          </xsl:when>
          <xsl:when test="self::ClosingComments">
            <xsl:value-of select="Comments" disable-output-escaping="yes"/>
            <xsl:apply-templates select="ClosingAnnouncements"/>
            <xsl:if test="@IncludeNextWeeksStudents='1'">
              <xsl:variable name="AssignHistoryPath">
                <xsl:choose>
                  <xsl:when test="//Settings/ForeignGroupMode=1">ForeignAssignHistory.xml</xsl:when>
                  <xsl:otherwise>AssignHistory.xml</xsl:otherwise>
                </xsl:choose>
              </xsl:variable>
              <xsl:variable name="AssignHistory" select="document($AssignHistoryPath)"/>
              <xsl:variable name="week" select="../../Date/@NextWeek"/>
              <div class="NextWeeksStudents-Container">
                <xsl:apply-templates select="$AssignHistory/AssignmentHistory/*[name()=$week]/StudentItems">
                  <xsl:with-param name="MainHall" select="//Labels/MainHall"/>
                  <xsl:with-param name="AuxClass1" select="//Labels/AuxClass1"/>
                  <xsl:with-param name="AuxClass2" select="//Labels/AuxClass2"/>
                </xsl:apply-templates>
              </div>
            </xsl:if>
          </xsl:when>
          <xsl:otherwise>
            <xsl:value-of select="." disable-output-escaping="yes"/>
          </xsl:otherwise>
        </xsl:choose>
      </div>
    </td>
  </tr>
</xsl:template>

This is closer to the original idea for implementation. 😊

Updated Example

fstouma commented 1 year ago

Announcements option is working fine for Arabic

stecchio66 commented 1 year ago

@ajtruckle the last beta work very well. This is some example of announcements:

ajtruckle commented 1 year ago

@stecchio66 @fstouma Thanks for doing the beta testing brothers! 🙏 I'll use those sample announcements in the help documentation.

I have decided to re-work the Chairman's Notes window:

Chairman's Notes window

Benefits:

ajtruckle commented 1 year ago

I have decided to remove the Reminders button. So now it is only possible to add announcements to the Concluding Comments section of the worksheet.

ajtruckle commented 1 year ago

This feature is now implemented and is available in version 24.1.2.

[!NOTE]
The online newsletter for version 24.1.2 is now available.