[TYPO3-calendar] Current status of cal extension

Thomas Kowtsch thomas at kowtsch.de
Mon Sep 26 21:36:51 CEST 2011


Hi Nicolas,

On 26.09.2011 17:15, Nicolas de Haen wrote:
> I have several questions regarding the cal extension. I spent something
> like 2 days now in configuring and debugging the cal extension for a
> medium size project and have some general question:

Ahhh.... sounds like a "Where can I drop my patches?" to me ;-) I'm sure 
that other people also heard this :-p

> Can someone (Mario?) please tell me, what's the current status of that
> extension and the development.
> It is marked as stable but when I dig into the sources I find a lot of
> issues, like uninitialized (or unused) variables, parameters for methods
> that were not declared before, TODOs or comments like "I don't know why
> this is here..." etc.

In general, it's stable. But nonetheless, this does not mean that there 
is no orphaned or "historically grown" code. Several classes got 
refactored in the past to make life easier...

I know several installations that make use of cal (the biggest ones are 
internal intranet solutions), and looking out there in the web you'll 
find also several questions that are related to pre-v1.3 installs that 
seem outdated from development point of view, but the sites still run 
flawless.

> Here some examples:
> WHen I tried to invoke the scheduler I got a SQL error.
> UPDATE tx_cal_calendar SET
> tstamp='1317047396',md5='d41d8cd98f00b204e9800998ecf8427e' WHERE uid=
>
> obviously the uid is missing.
>
> When digging into the scheduler code I find this:
> $service->update($this->uid);
>
> but $this->uid is not set, since there are no fields defined in
> tx_scheduler_AdditionalFieldProvider
>
> So I wonder, how this could ever work?

Good question, I need to check. In general, I'm not sure how many people 
use the scheduler function (new introduced with v1.4 as "gabriel" 
replacement).

> In many classes there are undeclared parameters
> as an example: tx_cal_listview
>
> Line 81 $this->_init($master_array); // $master_array is not declared
> Line 156 if($lastEventDate) // which is not declared before
> Line 286 $hookObj->preInnerEventWrapper($this, $middle,... // $middle is
> not declared before
> Line 690 $this->local_cObj->setCurrentVal($sectionMenu); // $sectionMenu
> is not declared before

Do you have a hint for us how to find such code? I think that there a 
bit too many LoC to check each by hand...

> this doesn't look like stable code to me.

At least it's not the most beautiful code, but this does not tell 
something about stability.

> Maybe all that stuff is coming from phpical and is not yet migrated
> properly into the extension, but in my opinion it should be marked as
> beta then.
> Not to mention, that the code is far from TYPO3 CGL...

You're very welcome to help with cleanup :-)

> So to come to an end:
> Can you recommend to use this extension in real projects?

IMHO: Yes. That's why I'm contributing my time here.

> Is it maintainable and extendable?

Yes. But you need to spend some time into learning, not everything is 
completely intuitive.

> Does it make sense, to write patches for all these issues?

Of course!

> Sorry for the long mail, I didn't want to nag and I know that OpenSource
> is done by volunteers with few time, but I have to know, if I can rely
> on this extension in my project

I recommend it whereever someone needs "a calendar", but you need to 
check carefully all requirements b/c there are sometimes more than one 
way to achieve a goal by changing page/storage structure, ... esp. in 
terms of performance.

> PS: I saw a 1.5, 1.6, 2.0 target version in the issue tracker. But the
> roadmap has no dates, maybe because it just was imported to forge?

Yes, we did not finish everything yet - the most important task was to 
get a working infrastructure after the SVN crash.

These days, Mario is pretty busy in some other TYPO3-related tasks, so 
it's hard to finish all the "paperwork".

Regards,

Thomas


More information about the TYPO3-project-calendar mailing list