[Typo3-dev] Event System in the core / Ease the integration of3rd party apps
Martin Seebach
typo3lists at g-bach.dk
Thu Sep 2 23:38:02 CEST 2004
Hi Andy,
Andy Staudacher wrote:
>As I wrote at the end of my mail, the tikipro dev managed to integrate
>phpbb with very few changes. It's possible, given the right tools from
>the CMS.
>
>
I looked into the way phpBB integrates in tikipro - it simply imports
the 'frame' of the page (menus, layout etc), and lets the phpBB template
engine handle that as the page header and footer. Functional,
definately, yes, but from a technicians point of view, not very pretty.
There are serveral ways to handle these things, spanning from titkipros
very simple "i'll draw a menu for you" to Typo3s all-embracing
philosophy. The first is probably well fit for a large number of
purposes, but when you want to do caching, indexed search etc, it's just
not a good idea.
>As a sidenote: phpbb easymod automates modifications in phpbb.
>
>
I'd rather not edit third party sourcecode. It's just a nasty
workaround, even it it is done automatically.
>I'm asking to keep the tables in sync by calling events whenever they
>get out of sync, exactly in the moment when it happens. So, the moment
>they are out of sync is extremely short. As we talk of data as "language
>choice, address, real name, ...", I can't imagine a scenario this
>instant of loss of data integrity would do much harm.
>
Just because it can work doesn't make it a good idea. ;) I made phpBB
run, and quite well, too. I just fear the day something stops working.
If you try to keep heavily updated tables in sync, maybe even across
serveral mirroring database servers, something is bound to go wrong. A
users default language set wrong today, a credit card transaction run
twice tomorrow ..
>>The 'rewriting' could be very
>>simple, if the third party application was weel designed.
>>
>>
>How simple was it for phpbb?
>
Non-trivial at best. And there is considerable work put into lz_phpbb.
>And you'll have to do that for every 3rd
>party app and by far not all are well designed. Either you have to
>translate all queries that contain the user/group/map table or you
>translate the queries centralized in the database abstraction layer.
>Some 3rd party apps have modules themself (G2), or modifications (phpbb)
>and if you change the queries manually, you'll break all these
>modules/modifications. There are other problems, it's not as simple as
>you think.
>
>
I don't think it is simple at all. But I maintain my position that it is
the best (from a software-design POV) way.
If phpBB had a function hasAccess($user_id, $forum_id, $operation) , I
could implement my changes in a simple way, and be fairly sure that it'd
work right. Instead, I browsed through a 1000 lines long file with very
few comments and figure out what to change.
>But what you surely agree on is that method "B" needs a lot more changes
>to the 3rd party application and my goal is minimal changes, to profit
>from the ongoing support of the 3rd party developers (bugfixes, new
>versions).
>
>
If the thirdparty application is designed to be used as a module, then
no, it would need minimal changes. But obviously, yes, if there is a bug
in ie. the user authentication method, and I have overridden that to use
Typo3 authentication, then that is a, to me, irrelevant bugfix, as well
as any plugins regarding to that applcations authentication mechanism
will be useless. You give some and you take some.. ;)
>Do these features allow the events I was describing? Or can I register a
>function that is called whenever a user updates his account?
>
>
To get back to your original concern, yes, I am fairly sure that is
possible. However someone else will have to tell you how.
I better revise my previous statement that phpBB is bad design.. That is
not true. Given the design-decisions made, with which I disagree, phpBB
is properly designed - and phpBB is a great board..
Best regards,
Martin Seebach
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.typo3.org/pipermail/typo3-dev/attachments/20040902/45a465e6/attachment.htm>
More information about the TYPO3-dev
mailing list