[Typo3-dev] Typo3 as Flash CMS

Andreas Borg borg at elevated.to
Wed Aug 25 21:37:20 CEST 2004


Hi all,
I wish to discuss some architectural issues involved
with using typo3 as a CMS for flash. Im doing this from
the point of view of a flash coder, but I know there is alot
of interest in this development out there, and I hope we can
get a discussion going.

Sorry if it is a long email.

There are at least 3 ways of mixing/matching flash and html.
1. put swfs in any html page as a content type but the menu control
is still a classic typo3 html menu
2. let flash be the menu controller utilising the xml output by
one of the menu xml extentions (I have had most success with Benjamins
and Ingmars great efforts), but load the content into either another normal
frame or into the top frame.
3. let flash take over the full window, and all content be loaded into
a movieclip container, ie. the main.swf will serve as the top frame
in a frameset. This technique might be the least considered from the
point of view of classical backend coders, and it was started (for better
or worse) by the classic www.2advanced.com site.

There is already support for the first 2 approaches, using for instance
Ingmars
extension (and adding some support for more content types), but it is the
3rd
approach I will focus on.

If you install and configure the following extensions
1. XML for Flash (bf_xml_for_flash)
2. XML contentrendering (xml_contentrendering)
3. XML Menu (ingmar_xmlmenu)

You will be able to get some xml like
<bf_xml_for_flash>
 <menu>
<section level="1" label="Home" name="6" link="index.php?id=6"
target="bf_xml_for_flash"  type="444" >
<subsection level="2" label="News" name="20" link="index.php?id=20"
target="bf_xml_for_flash"  type="444" />
</menu>
<tt_content uid="4">
  <header><![CDATA[Welcome to FC Bigfeets homepage]]></header>
  <bodytext><![CDATA[Et in ...]]></bodytext>
 </tt_content>
</bf_xml_for_flash>

That is a good start. But one soon realizes there are some info missing.
There is obviously the issue with other content types that needs to be added
to the xml (it is after all just an experimental extension still, good one
at that).
But there is also the issue about what part of flash should handle the
content data.
Normally, typo3 has all sorts of ways of rendering html content, via TS, or
TV
or what have you, and normal XML can also be rendered via an XSL stylesheet,
ie we have a display layer that knows what to expect and how to render that.

A general setup in flash could be, a main.swf that gets told somehow from
where
it should load the menu xml data (either via variables hardcoded in the swf
or
better yet via variables passed in through the embedding html), a set of
resource
files (such as graphical assets that needs to be preloaded), a display layer
and
various content. What I mean here by display layer is an xml literate swf
that can
interpret the loaded data, and in its turn load the content, be it text,
images, mp3 or
other swfs.

The menu xml data above is missing info about what swf or movieclip in flash
is supposed
to handle the content xml.

What I have decided to do is to separate out the menu rendering typeNum from
the
content rendering typeNum, so when I go index.php?id=home&type=444 I get
only
the menu xml, and when I go index.php?id=home&type=555 I get only the
content xml
of that page (including multimedia and images). Next Im trying to divide
what goes where (
after all a menu can be a content on a page also) and what info should be
where. This
is where I wish wise CMS builders like you lot could throw a helping hint.
Im thinking
that the menu xml needs to contain 3 things, a) descriptions (like title,
thumbnail and maybe
an abstract - which is available in an advanced menu), b) the link to where
the content
xml can be loaded from and c) the display layer that should handle it, ie in
this case probably a
swf file.

With that logic the main.swf can load and render a menu tree, and when you
click
on some option it would both load the display handler (an swf) and the xml
data
into that handler. All that remains then is to have the display handlers and
the data
correspond to eachother - but that is the same for all content types in
typo3.

First question...is this good logic?

Second..if it is, where should the display swfs be stored? Im thinking they
are
really page templates for flash and they could be stored (and be made
accesible quite
easily in xml) in the file list of an advanced page header. Only trouble is,
swfs arent
allowed file types there.

Where else could one store them? One could put the display swf as the first
content element in a page and simply assume that the first element will know
what
to do with the rest. Not so nice but it could work.

Else? One could maybe have another tree which corresponds to
the content pages, but which only contained these swfs that serve
as templates for displaying the content xml. I have no idea of how one
would do that, but it might be possible? (Like separating display templates
from data templates)

Is there any other development on xml content rendering going on out there?
Any other thoughts please.

Is xmlrpc an option? Have no experience with that.

Has anyone experimented with flash remoting and typo3
(http://www.amfphp.org/)?
I haven't but I guess that using that one could do away with the xml layer
between flash and a cms
altogether. Does anyone know what functions could be made available that
way?
Is it a feasible approach?

Best regards
/Borg

elevated.to






More information about the TYPO3-dev mailing list