Closed ajtruckle closed 1 month ago
Yes, switching to an XML-based system can provide significant benefits in terms of interoperability, maintainability, and flexibility. It can make MSA more adaptable and easier to integrate with other systems.
@cengizu I agree with your reasoning. 😊👍
@ajtruckle
Seem to be working fine. A new XML (MSA_SpecialEventsDatabase.xml) file is created and here are the contents:
<?xml version="1.0" encoding="utf-8"?>
<SpecialEvents Version="1.0" LegacyImported="true" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.publictalksoftware.co.uk/msa">
<SpecialEvent Week="W20240129" FLGMode="false">
<Event>Circuit Assembly</Event>
<Location>Arrakeen Palace</Location>
<SRREventType>SRRSpecialEvent</SRREventType>
<MWBEventType>MWBSpecialEvent</MWBEventType>
<DateTime AllDayEvent="true">
<Date Day="4" DayPadded="04" DayShort="Sun" DayFull="Sunday" Month="2" MonthPadded="02" MonthShort="Feb" MonthFull="February" Year="2024">4.02.2024</Date>
</DateTime>
<Reminder SetReminder="false"/>
</SpecialEvent>
<SpecialEvent Week="W20240318" FLGMode="false">
<Event>Memorial</Event>
<Location>Grand Fenwick</Location>
<SRREventType>SRRSpecialEvent</SRREventType>
<MWBEventType>MWBMemorial</MWBEventType>
<DateTime AllDayEvent="false">
<Date Day="24" DayPadded="24" DayShort="Sun" DayFull="Sunday" Month="3" MonthPadded="03" MonthShort="Mar" MonthFull="March" Year="2024">24.03.2024</Date>
<Time StartHour="19" StartMinute="0" EndHour="20" EndMinute="45">
<StartTime12>7:00</StartTime12>
<StartTime24>19:00</StartTime24>
<EndTime12>8:45</EndTime12>
<EndTime24>20:45</EndTime24>
</Time>
</DateTime>
<Talk>
<Speaker>Vladimir Harkonnen</Speaker>
<Theme>Appreciate What God and Christ Have Done for You!</Theme>
</Talk>
<Songs>
<SongOpen Number="6">The Heavens Declare God’s Glory</SongOpen>
<SongEnd Number="3">Our Strength, Our Hope, Our Confidence</SongEnd>
</Songs>
<Duties>
<Video>Selim Wormrider</Video>
<Audio>Raquella Berto-Anirul</Audio>
<Zoom>Piter De Vries</Zoom>
</Duties>
<Assignments>
<Chairman>Paul Atreides</Chairman>
<PrayerOpen>Paul Atreides</PrayerOpen>
<PrayerClose>Quentin (Vigar) Butler</PrayerClose>
</Assignments>
<Media>
<ImagePath>G:\Downloads\Memorial2024.jpg</ImagePath>
<ImageWidthPercent>80</ImageWidthPercent>
<TextBeforeImage>Some text before</TextBeforeImage>
<TextAfterImage>Some text after</TextAfterImage>
</Media>
<Reminder SetReminder="true">
<ReminderInterval Units="Days">1</ReminderInterval>
</Reminder>
</SpecialEvent>
<SpecialEvent Week="W20240429" FLGMode="false">
<Event>SKE Graduation</Event>
<Location>Krypton</Location>
<SRREventType>SRRSpecialEvent</SRREventType>
<MWBEventType>MWBBethelSpeakerServiceTalk</MWBEventType>
<DateTime AllDayEvent="false">
<Date Day="3" DayPadded="03" DayShort="Fri" DayFull="Friday" Month="5" MonthPadded="05" MonthShort="May" MonthFull="May" Year="2024">3.05.2024</Date>
<Time StartHour="19" StartMinute="0" EndHour="20" EndMinute="45">
<StartTime12>7:00</StartTime12>
<StartTime24>19:00</StartTime24>
<EndTime12>8:45</EndTime12>
<EndTime24>20:45</EndTime24>
</Time>
</DateTime>
<Talk>
<Speaker>Jean-Baptiste Emanuel Zorg</Speaker>
<Theme>Beyond Fear... Destiny Awaits</Theme>
</Talk>
<Songs>
<SongOpen Number="2">Jehovah Is Your Name</SongOpen>
<SongEnd Number="3">Our Strength, Our Hope, Our Confidence</SongEnd>
</Songs>
<Duties>
<Video>Zufa Cenva</Video>
<Audio>Tylwyth Waff</Audio>
</Duties>
<Assignments>
<Chairman>Paul Atreides</Chairman>
<PrayerOpen>Paul Atreides</PrayerOpen>
</Assignments>
<Info>
<ImagePath></ImagePath>
<ImageWidthPercent>80</ImageWidthPercent>
<TextBeforeImage></TextBeforeImage>
<TextAfterImage></TextAfterImage>
</Info>
<Reminder SetReminder="true">
<ReminderInterval Units="Days">1</ReminderInterval>
</Reminder>
</SpecialEvent>
<SpecialEvent Week="W20240527" FLGMode="false">
<Event>Circuit Assembly</Event>
<Location>Grand Fenwick</Location>
<SRREventType>SRRSpecialEvent</SRREventType>
<MWBEventType>MWBSpecialEvent</MWBEventType>
<DateTime AllDayEvent="true">
<Date Day="31" DayPadded="31" DayShort="Fri" DayFull="Friday" Month="5" MonthPadded="05" MonthShort="May" MonthFull="May" Year="2024">31.05.2024</Date>
</DateTime>
<Reminder SetReminder="true">
<ReminderInterval Units="Days">1</ReminderInterval>
</Reminder>
</SpecialEvent>
</SpecialEvents>
@cengizu I am sending you a new beta to try. I have completed the changes needed to support the new events database.
[!Note] Do not create any events with the FLG Mode set as I have not adapted the XSL template yet.
Here is the new template: Workbook-S-140-Events.zip
Things to do:
SpecialEvent
entriesLegacyImported
to false
.Workbook-S-140-Events
template.See how it behaves. Thank you. 🙏
@cengizu I am sending you a new beta with the following template revisions:
@cengizu I have made several other improvements now, including:
@cengizu I have been examining the Foreign Language Group mode.
<xsl:variable name="event"
select="$EventsDatabase/msa:SpecialEvents/msa:SpecialEvent[@Week = current()/Date/@ThisWeek]"/>
<xsl:variable name="flgMenuId" select="//Settings/ForeignGroupMenuId"/>
<xsl:variable name="event"
select="$EventsDatabase/msa:SpecialEvents/msa:SpecialEvent[@Week = current()/Date/@ThisWeek
and @FLGMode='true'
and @FLGMenuId = $flgMenuId]"/>
[!Note] I have to change the software to include
ForeignGroupMenuId
in the XML file.
I would suggest that the user creates a duplicate of the template and modifies the logic accordingly, or alternatively, we could provide a sample on GitHub. In my opinion, it appears overly complex to accommodate both event types within a single template.
OpenAI's ChatGPT offers several suggestions, but I have found that they are not effective.
Is your feature request related to a problem? Please describe. The Special Events database is a binary file. So only Meeting Schedule Assistant can read / save it. This means that the software has to transfer any special event information into the XML data for display on a given schedule.
Describe the solution you'd like Change things so that all Special Event data is held in a XML database. All the meeting editor has to do is indicate that there is an event and how it affects the meeting(s) that week.
There are other benefits: