Hello trid users,
Some days ago i planed an event and tries to document this by calendar
program. I had some problems with calendar event files. So i look for
calendar files on my systems. According to documentation "many"
different extensions are listed. Some of my inspected samples have the
suffix ICSALARM. I found my examples on mac OS beneath
/Users/$USER/Library/Calendars. And i only found 2 filenames like:
EventAllDayAlarms.icsalarm
EventTimedAlarms.icsalarm
So i mention these facts inside the remark line. I thought Microsoft
is in-transparent but Apple is still topping this bad behavior. When
you search for iCalendar alarm on their web site, you get HDR photos
of their calendar application but no facts any more. Mac OS is like a
golden cage. Apple is setting somewhere limits or walls in
in-transparent and anti democratic way. When searching for iCalendar
alarm on the net it becomes obvious that on some Mac OS system there
exist no entry in the GUI application to change the trigger time of 9
o'clock. Luckily the iCalendar format is officially specified by RFC
5545. So when you know the file location you can easily fix this by
editing the trigger time in the iCalendar text files.
Do you remember the Apple 1984-video-spot, where a nice young colored
clothed woman smashed the wall occupied by gray colored clothed
men. That was against IBM behavior in computer business. But Apple now
has become the IBM of today. I would ask co-founder of Apple Steve
Wozniak if he is ashamed by Apple today behavior.
And where are political institutions like European Union or political
parties like German Free Democratic Party (FDP) proclaiming to fight
for the freedom of the market? If there exist only 1 company offering
a product that is a monopol and that is not good if all or many depend
on one offering member as people should have learned from corona virus
and Putin Ukraine war. So i can only recommend in the end consequence
to switch to systems like Linux.
So i run trid utility on such ICSALARM examples. All are described in
principal correct as "iCalendar - vCalendar" by vcs.trid.xml but with
wrong extension instead of proposed ICS/VCS (See appended
output/trid-v-old.txt).
For comparison reason i also run file command (newest version 5.44) on
such samples. Here these are described also generic correct as
"vCalendar calendar file" (See appended output/file-5.44.txt) and with
mime type text/calendar (See appended output/file-i-5.44.txt) and
wrong extension (see appended output/file-ext-5.44.txt) and wrong
apple type UNKNUNKN (see appended output/file-apple-5.44.txt).
For comparison reason i also run the file format identification
utility DROID ( See
https://sourceforge.net/projects/droid/). The
sample where suffix starts with ICS are described as "Internet
Calendar and Scheduling format" with mime type text/calendar by PUID
fmt/388. But only pure ICS suffix is accepted as correct and ICSALARM
suffix is considered as "bad". (See appended droid-icsalarm.csv).
Apparently ICSALARM samples are just be a variant of iCalendar format,
that is documented. i found page on file formats archive team web
site. So this is expressed by line like:
<RefURL>
http://fileformats.archiveteam.org/wiki/ICalendar</RefURL>
Apparently the ICSALARM examples are just a variant of ICS calendar
format. For that there exist an official registered mime type. This is
also shown by file command and DROID. So this is now expressed by
line like:
<Mime>text/calendar</Mime>
So i run tridscan on such ICSALARM samples to generate icsalarm.trid.xml.
According to calendar documentation the first line of a Calendar file
has BEGIN:VCALENDAR. That is expressed inside vcs.trid.xml by XML
construct like:
<Bytes>424547494E3A</Bytes>
<ASCII> B E G I N :</ASCII>
<Pos>0</Pos>
and in global strings section by lines like:
<String>VCALENDAR</String>
<String>BEGIN</String>
In my inspected examples this phrase is in up cased letters.
According to documentation iCalendar files contain a phrase like
VERSION:2.0 whereas for predecessor vCalendar file this contain phrase
like VERSION:1.0. In my inspected examples i found phrase VERSION:2.0
and this was always on second line. And according to documentation for
iCalendar Carriage Return Line Feed are used as line separators. So
these facts are expressed by first construct. This looks like:
<Bytes>424547494E3A5643414C454E4441520D0A56455253494F4E3A322E300D0A</Bytes>
<ASCII> B E G I N : V C A L E N D A R . . V E R S I O N : 2 . 0</ASCII>
<Pos>0</Pos>
So the specif items for ICSALARM must be expressed in side Global
Strings section. This is expressed for my examples by line like:
<String>X-WR-ALARMUID</String>
<String>GREGORIAN</String>
<String>VCALENDAR</String>
<String>CALSCALE</String>
<String>TRIGGER</String>
<String>VERSION</String>
<String>ACTION</String>
<String>VALARM</String>
<String>BEGIN</String>
<String>VALUE</String>
Apparently for ICSALARM specif seems to be the keyword X-WR-ALARMUID
and especially VALARM. But i do not know if this is always be
true. Maybe this becomes shorter if other users refine the definition
by more examples.
With the new trid definition now my ICSALARM examples are described
precisely ( correct suffix and mime type; see appended
output/trid-v-new.txt). TrID definition, some samples and output are
stored in archive icsalarm_.zip. I hope that my definition can be used
in future version of triddefs.
I will try to handle definition for iCalendar in future
session. According to documentation also other extension should exist
like:
.ifb, .iCal, .iFBf .icalendar
But on my systems i do not found such examples.
With best wishes
Jörg Jenderek