[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-frameworks-devel
Subject:    Re: New framework: KCalCore
From:       Dominik Haumann <dhaumann () kde ! org>
Date:       2019-07-18 21:24:15
Message-ID: CALi_srDvEefHg=GHGPgvJzRH2Mo4dBByP__4K9NaewTF31AckQ () mail ! gmail ! com
[Download RAW message or body]

To me this sounds as if KCal is the best choice: KCal - a library with iCal
support. It's short, closest to iCal, and does not clash with calendar
systems.

Greetings
Dominik

Allen Winter <winter@kde.org> schrieb am Do., 18. Juli 2019, 18:40:

> On Thursday, July 18, 2019 12:18:36 PM EDT Volker Krause wrote:
> > On Wednesday, 17 July 2019 01:51:42 CEST Aleix Pol wrote:
> > > On Tue, Jul 16, 2019 at 6:10 PM Volker Krause <vkrause@kde.org> wrote:
> > > > On Monday, 15 July 2019 18:43:42 CEST Aleix Pol wrote:
> > > > > On Fri, Jul 12, 2019 at 9:03 PM Allen Winter <winter@kde.org>
> wrote:
> > > > > > On Friday, July 12, 2019 12:23:58 PM EDT Volker Krause wrote:
> > > > > > > With the 19.08 release approaching (and thus the deadline for
> > > > > > > incompatible
> > > > > > > changes if we go ahead with this plan), I'd like to raise this
> again
> > > > > > > for
> > > > > > > getting to a decision :)
> > > > > > >
> > > > > > > Summary of what happened in the past weeks:
> > > > > > > - the Person/Attendee slicing issue was fixed by making both
> > > > > > > independent
> > > > > > > types - several "leaf" types were turned into implicitly shared
> > > > > > > value
> > > > > > > types rather than being used heap-allocated inside shared
> pointers
> > > > > > > - the dependency on the Akonadi supertrait.h header file was
> removed
> > > > > > > - the virtual_hook usage in the incidence de/serialization
> code was
> > > > > > > replaced by new virtual methods
> > > > > > >
> > > > > > > Unless I missed something, the remaining unaddressed feedback
> is
> > > > > > > down
> > > > > > > to:
> > > > > > > - Rename KCalCore to something else. I'm ok with executing the
> > > > > > > rename,
> > > > > > > but
> > > > > > > somebody needs to tell me the new name :)
> > > > > >
> > > > > > I don't remember the reason for changing the name.
> > > > > > I vote for not changing the name. KCalCore is as good as any, imo
> > > > > >
> > > > > > > - Alexander P's fundamental objections to the current KCalCore
> API
> > > > > > >
> > > > > > > How do we proceed?
> > > > > > >
> > > > > > > Thanks,
> > > > > > > Volker
> > > > > > >
> > > > > > > On Sunday, 7 April 2019 14:45:09 CEST Volker Krause wrote:
> > > > > > > > Hi,
> > > > > > > >
> > > > > > > > I'd like to propose KCalCore for review to move from KDE PIM
> to
> > > > > > > > KF5.
> > > > > > > >
> > > > > > > > KCalCore is an implementation of the iCalendar standard
> based on
> > > > > > > > libical,
> > > > > > > > covering the data model, input/output and the rather complex
> > > > > > > > recurrence
> > > > > > > > algorithms defined in that standard. It's used outside of
> KDE PIM
> > > > > > > > as
> > > > > > > > well,
> > > > > > > > e.g. by Zanshin or the Plasma Mobile calendar app.
> > > > > > > >
> > > > > > > > KCalCore depends on Qt and libical only, making it a Tier 1
> > > > > > > > functional
> > > > > > > > framework.
> > > > > > > >
> > > > > > > > KCalCore used to be part of part of kdepimlibs in the KDE4
> era, so
> > > > > > > > it's well prepared for complying with the API and ABI
> guarantees.
> > > > > > > >
> > > > > > > > I'd suggest the same timeline as proposed for KContacts [1].
> > > > > > > > During
> > > > > > > > the PIM
> > > > > > > > sprint we did a number of fixes and cleanups as part of the
> review
> > > > > > > > for
> > > > > > > > KF5
> > > > > > > > that make 19.08 the earliest release after which we can
> switch as
> > > > > > > > well, so
> > > > > > > > we are looking at a switch in Sep/Oct this year.
> > > > >
> > > > > If you don't remember, just scroll up a bit. :P
> > > > >
> > > > > I went through the thread and that's what we said:
> > > > > - It's a framework to understand the ical format, this is not
> conveyed
> > > > > by the current name
> > > > > - The Core postfix doesn't add anything and we are already using it
> > > > > for differentiating different framework targets (e.g.
> KF5::ConfigCore
> > > > > and KF5::ConfigGui)
> > > >
> > > > "Core" had exactly the same meaning here when the widget parts were
> split
> > > > out during the Nokia times. Less relevant today probably.
> > > >
> > > > > I see KCal, KCalendar, KiCalendar, KiCal, KCalendarEvents,
> > > > > KCalendarIncidences being suggested. It's not going to be me who
> > > > > chooses one though.
> > > >
> > > > If those are the options I'd vote for KCal or KCalendar, KiCal is too
> > > > close to KiCad IMHO, and the rest is just unnecessarily long. Anyway,
> > > > let's please have a quick decision on this, it's going to be a large
> > > > change, so I'd like to get this in ASAP.
> > > >
> > > > Thanks,
> > > > Volker
> > >
> > > I tend to agree. If so I'd suggest KCalendar. Following KContacts
> > > (which should possibly be KVCards, but we assume vcards are the one
> > > and only format ever for contacts).
> >
> > It's not necessarily the one and only file format (and support for other
> file
> > formats is possible in those libraries, KCalCore e.g. can read some iCal
> > predecessor too), but both vcard and ical have effectively been the one
> > ubiquitous data model in the past two decades for this kind of data.
> That IMHO
> > justifies the very generic naming :)
> >
> > In the earlier discussion David Jarvie raised concerns about the
> KCalendar
> > name being misleading towards a calendar systems related library. Valid
> point,
> > but IMHO the topic of calendar systems is more specialized (and
> typically an
> > implementation detail of other libs), compared to the calendar conecpt
> > KCalCore is referring to, so KCalendar vs KCalendarSystems would IMHO be
> > acceptable.
> >
> > Other views/opinions on this?
> >
> There was once a KCalendarSystem class.
> We may need to resurrect it , but I forget why.  Maybe for holidays.
>
> I don't think KCalendar or KCalendarSystem is good.
>
> to make an analog of KContacts you'd have to call this KIncidences.
> I don't hate that.  The library is really about Incidences.  A calendar
> is basically a collection of incidences,
>
>
>
>
>
>

[Attachment #3 (text/html)]

<div dir="auto">To me this sounds as if KCal is the best choice: KCal - a library \
with iCal support. It&#39;s short, closest to iCal, and does not clash with calendar \
systems.<div dir="auto"><br></div><div dir="auto">Greetings</div><div \
dir="auto">Dominik</div></div><br><div class="gmail_quote"><div dir="ltr" \
class="gmail_attr">Allen Winter &lt;<a \
href="mailto:winter@kde.org">winter@kde.org</a>&gt; schrieb am Do., 18. Juli 2019, \
18:40:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 \
.8ex;border-left:1px #ccc solid;padding-left:1ex">On Thursday, July 18, 2019 12:18:36 \
PM EDT Volker Krause wrote:<br> &gt; On Wednesday, 17 July 2019 01:51:42 CEST Aleix \
Pol wrote:<br> &gt; &gt; On Tue, Jul 16, 2019 at 6:10 PM Volker Krause &lt;<a \
href="mailto:vkrause@kde.org" target="_blank" \
rel="noreferrer">vkrause@kde.org</a>&gt; wrote:<br> &gt; &gt; &gt; On Monday, 15 July \
2019 18:43:42 CEST Aleix Pol wrote:<br> &gt; &gt; &gt; &gt; On Fri, Jul 12, 2019 at \
9:03 PM Allen Winter &lt;<a href="mailto:winter@kde.org" target="_blank" \
rel="noreferrer">winter@kde.org</a>&gt; wrote:<br> &gt; &gt; &gt; &gt; &gt; On \
Friday, July 12, 2019 12:23:58 PM EDT Volker Krause wrote:<br> &gt; &gt; &gt; &gt; \
&gt; &gt; With the 19.08 release approaching (and thus the deadline for<br> &gt; &gt; \
&gt; &gt; &gt; &gt; incompatible<br> &gt; &gt; &gt; &gt; &gt; &gt; changes if we go \
ahead with this plan), I&#39;d like to raise this again<br> &gt; &gt; &gt; &gt; &gt; \
&gt; for<br> &gt; &gt; &gt; &gt; &gt; &gt; getting to a decision :)<br>
&gt; &gt; &gt; &gt; &gt; &gt; <br>
&gt; &gt; &gt; &gt; &gt; &gt; Summary of what happened in the past weeks:<br>
&gt; &gt; &gt; &gt; &gt; &gt; - the Person/Attendee slicing issue was fixed by making \
both<br> &gt; &gt; &gt; &gt; &gt; &gt; independent<br>
&gt; &gt; &gt; &gt; &gt; &gt; types - several &quot;leaf&quot; types were turned into \
implicitly shared<br> &gt; &gt; &gt; &gt; &gt; &gt; value<br>
&gt; &gt; &gt; &gt; &gt; &gt; types rather than being used heap-allocated inside \
shared pointers<br> &gt; &gt; &gt; &gt; &gt; &gt; - the dependency on the Akonadi \
supertrait.h header file was removed<br> &gt; &gt; &gt; &gt; &gt; &gt; - the \
virtual_hook usage in the incidence de/serialization code was<br> &gt; &gt; &gt; &gt; \
&gt; &gt; replaced by new virtual methods<br> &gt; &gt; &gt; &gt; &gt; &gt; <br>
&gt; &gt; &gt; &gt; &gt; &gt; Unless I missed something, the remaining unaddressed \
feedback is<br> &gt; &gt; &gt; &gt; &gt; &gt; down<br>
&gt; &gt; &gt; &gt; &gt; &gt; to:<br>
&gt; &gt; &gt; &gt; &gt; &gt; - Rename KCalCore to something else. I&#39;m ok with \
executing the<br> &gt; &gt; &gt; &gt; &gt; &gt; rename,<br>
&gt; &gt; &gt; &gt; &gt; &gt; but<br>
&gt; &gt; &gt; &gt; &gt; &gt; somebody needs to tell me the new name :)<br>
&gt; &gt; &gt; &gt; &gt; <br>
&gt; &gt; &gt; &gt; &gt; I don&#39;t remember the reason for changing the name.<br>
&gt; &gt; &gt; &gt; &gt; I vote for not changing the name. KCalCore is as good as \
any, imo<br> &gt; &gt; &gt; &gt; &gt; <br>
&gt; &gt; &gt; &gt; &gt; &gt; - Alexander P&#39;s fundamental objections to the \
current KCalCore API<br> &gt; &gt; &gt; &gt; &gt; &gt; <br>
&gt; &gt; &gt; &gt; &gt; &gt; How do we proceed?<br>
&gt; &gt; &gt; &gt; &gt; &gt; <br>
&gt; &gt; &gt; &gt; &gt; &gt; Thanks,<br>
&gt; &gt; &gt; &gt; &gt; &gt; Volker<br>
&gt; &gt; &gt; &gt; &gt; &gt; <br>
&gt; &gt; &gt; &gt; &gt; &gt; On Sunday, 7 April 2019 14:45:09 CEST Volker Krause \
wrote:<br> &gt; &gt; &gt; &gt; &gt; &gt; &gt; Hi,<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; <br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; I&#39;d like to propose KCalCore for review to \
move from KDE PIM to<br> &gt; &gt; &gt; &gt; &gt; &gt; &gt; KF5.<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; <br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; KCalCore is an implementation of the iCalendar \
standard based on<br> &gt; &gt; &gt; &gt; &gt; &gt; &gt; libical,<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; covering the data model, input/output and the \
rather complex<br> &gt; &gt; &gt; &gt; &gt; &gt; &gt; recurrence<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; algorithms defined in that standard. It&#39;s used \
outside of KDE PIM<br> &gt; &gt; &gt; &gt; &gt; &gt; &gt; as<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; well,<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; e.g. by Zanshin or the Plasma Mobile calendar \
app.<br> &gt; &gt; &gt; &gt; &gt; &gt; &gt; <br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; KCalCore depends on Qt and libical only, making it \
a Tier 1<br> &gt; &gt; &gt; &gt; &gt; &gt; &gt; functional<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; framework.<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; <br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; KCalCore used to be part of part of kdepimlibs in \
the KDE4 era, so<br> &gt; &gt; &gt; &gt; &gt; &gt; &gt; it&#39;s well prepared for \
complying with the API and ABI guarantees.<br> &gt; &gt; &gt; &gt; &gt; &gt; &gt; \
<br> &gt; &gt; &gt; &gt; &gt; &gt; &gt; I&#39;d suggest the same timeline as proposed \
for KContacts [1].<br> &gt; &gt; &gt; &gt; &gt; &gt; &gt; During<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; the PIM<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; sprint we did a number of fixes and cleanups as \
part of the review<br> &gt; &gt; &gt; &gt; &gt; &gt; &gt; for<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; KF5<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; that make 19.08 the earliest release after which \
we can switch as<br> &gt; &gt; &gt; &gt; &gt; &gt; &gt; well, so<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; we are looking at a switch in Sep/Oct this \
year.<br> &gt; &gt; &gt; &gt; <br>
&gt; &gt; &gt; &gt; If you don&#39;t remember, just scroll up a bit. :P<br>
&gt; &gt; &gt; &gt; <br>
&gt; &gt; &gt; &gt; I went through the thread and that&#39;s what we said:<br>
&gt; &gt; &gt; &gt; - It&#39;s a framework to understand the ical format, this is not \
conveyed<br> &gt; &gt; &gt; &gt; by the current name<br>
&gt; &gt; &gt; &gt; - The Core postfix doesn&#39;t add anything and we are already \
using it<br> &gt; &gt; &gt; &gt; for differentiating different framework targets \
(e.g. KF5::ConfigCore<br> &gt; &gt; &gt; &gt; and KF5::ConfigGui)<br>
&gt; &gt; &gt; <br>
&gt; &gt; &gt; &quot;Core&quot; had exactly the same meaning here when the widget \
parts were split<br> &gt; &gt; &gt; out during the Nokia times. Less relevant today \
probably.<br> &gt; &gt; &gt; <br>
&gt; &gt; &gt; &gt; I see KCal, KCalendar, KiCalendar, KiCal, KCalendarEvents,<br>
&gt; &gt; &gt; &gt; KCalendarIncidences being suggested. It&#39;s not going to be me \
who<br> &gt; &gt; &gt; &gt; chooses one though.<br>
&gt; &gt; &gt; <br>
&gt; &gt; &gt; If those are the options I&#39;d vote for KCal or KCalendar, KiCal is \
too<br> &gt; &gt; &gt; close to KiCad IMHO, and the rest is just unnecessarily long. \
Anyway,<br> &gt; &gt; &gt; let&#39;s please have a quick decision on this, it&#39;s \
going to be a large<br> &gt; &gt; &gt; change, so I&#39;d like to get this in \
ASAP.<br> &gt; &gt; &gt; <br>
&gt; &gt; &gt; Thanks,<br>
&gt; &gt; &gt; Volker<br>
&gt; &gt; <br>
&gt; &gt; I tend to agree. If so I&#39;d suggest KCalendar. Following KContacts<br>
&gt; &gt; (which should possibly be KVCards, but we assume vcards are the one<br>
&gt; &gt; and only format ever for contacts).<br>
&gt; <br>
&gt; It&#39;s not necessarily the one and only file format (and support for other \
file <br> &gt; formats is possible in those libraries, KCalCore e.g. can read some \
iCal <br> &gt; predecessor too), but both vcard and ical have effectively been the \
one <br> &gt; ubiquitous data model in the past two decades for this kind of data. \
That IMHO <br> &gt; justifies the very generic naming :)<br>
&gt; <br>
&gt; In the earlier discussion David Jarvie raised concerns about the KCalendar <br>
&gt; name being misleading towards a calendar systems related library. Valid point, \
<br> &gt; but IMHO the topic of calendar systems is more specialized (and typically \
an <br> &gt; implementation detail of other libs), compared to the calendar conecpt \
<br> &gt; KCalCore is referring to, so KCalendar vs KCalendarSystems would IMHO be \
<br> &gt; acceptable.<br>
&gt; <br>
&gt; Other views/opinions on this?<br>
&gt; <br>
There was once a KCalendarSystem class.<br>
We may need to resurrect it , but I forget why.   Maybe for holidays.<br>
<br>
I don&#39;t think KCalendar or KCalendarSystem is good.<br>
<br>
to make an analog of KContacts you&#39;d have to call this KIncidences.<br>
I don&#39;t hate that.   The library is really about Incidences.   A calendar<br>
is basically a collection of incidences,<br>
<br>
<br>
<br>
<br>
<br>
</blockquote></div>



[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic