[TYPO3-50-general] Questions about FLOW3

Timo A. Hummel privat at timohummel.com
Tue Mar 17 02:09:07 CET 2009


Dear FLOW3-Developers,

while working for quite some time on Project "JerryMouse", a project
similar to FLOW3, I stumbled across the FLOW3 framework earlier today
and had a look at it. While it is pretty impressive, I'm uncertain if it
will fit my requirements. Beside the "general" problems like
persistence, object model etc which need to be solved by every
framework, I have some specific goals:

- Enable developers to write applications which run independent of the
used front end; that means, the base application should not be need to
rewritten if the user decides to switch from a web front end to an
AJAX/AJAJ front end. This is very important for new technologies like
Adobe AIR [1].
- Enable integration of business processes at virtually every point. For
example, an administrator could setup a business process which hooks
into the user management, and automatically performs specified tasks
when a new user is created.
- Enable applications based on the framework to be integrated together
into a solution. In case of FLOW3 and TYPO3, this would mean that a
solution provider can take TYPO3 and combine it with a FLOW3-based shop
and probably a FLOW3-based CRM solution and deploy that in a single
solution for a specific customer.
- Enable one front end to  fit all applications. One thing I really hate
is to switch from one front end to another, even if the solution is
integrated. For example, if I work in the content management, I should
be able to switch to the CRM inside the front end, and not to open
another front end somewhere else.
- Enable solutions to run distributed. Taking the solution example from
above, the FLOW3-based CRM solution runs at the company, along with
other FLOW3-based business tools like accounting. The FLOW3-based shop
and TYPO3 run at a web server (or multiple web servers).
- Enable remote data retrieval. This is important if the solution runs
distributed and/or in a homogeneous environment - a simple example is
the integration of TYPO3 into a company where user accounts are stored
in LDAP.
- Enable rapid application development for customer-specific projects.
This means that a developer should be able to create a new kind of
application in a very simple, efficient way and is aided by tools to
make development easier. While this is not a requirement for the initial
version, it is much more important once the framework is spread.

For some time, I worked on my netwatch24.com project, which aims to be a
network management and monitoring solution using ExtJS and a proprietary
PHP back end [2]. However, I quickly realized that there are many things
I would have to develop on my own. User management and accounting are
only some examples. While I was pretty satisfied with the front end part
[3], I consider the back end and the communication between the front end
and the back end as a hack, so I was looking for a generic solution
which enables it to write applications in PHP and where the frontend
connects to the application written in PHP. The idea is a little bit
like an SAP system, where the front end is the same for each and every
application.

I already had a look at Eclipse RAP [4] and their demos [5], but the
project didn't match my goals since it is JAVA-based, which is not
available at most webhosters, and it sends an AJAX request for almost
every action the user takes, which greatly decreases the user
experience. I believe that the user experience is the most important
point in user acceptance.

While writing this bunch of text, I realized that I was talking of a
framework, but I think "platform" matches it better. It is important not
to only have a framework, but also to have a platform to run
applications on - similar to the Eclipse project, which serves as
platform for a wide variety of applications. I've been working for 3
years on the Contenido WCMS [6], where our company basically took the
CMS as platform for many applications, and not only content management.
With that experience, I wanted to evolve Contenido to provide exactly
what I've written above, unfortunately, I was never given the chance to
start the project, but maybe there's another chance to do that using
FLOW3, and of course, it's better to join an existing project to make it
a standard instead of developing something on my own. And for the
curious, I already did some drafts  on how a generic client should look
like [7] (which is work-in-progress using JerryMouse). That client draft
is actually an evolution of an already-existing specific client from
netwatch24.com [8].

Since I believe that it's time to prove that PHP is enterprise-ready,
and PHP-based applications should be enterprise-ready, too, it's
exciting that you guys already did quite much work on the FLOW3 project
and I hope that my goals are compatible with the goals of FLOW3. I hope
you can give me some feedback!

Thanks and best regards,
Timo

PS: For those who wonder what my crazy vision is: I want to have a
full-fledged network management solution, CRM, shop, HR, CMS, SCM/etc
system available as OPEN SOURCE - yes, sounds a littebit fancy, but hey,
we already have open source operating systems, browsers, and alot more,
so after all, its maybe not that crazy? :)
--
References:

[1] http://www.adobe.com/products/air/
[2] http://www.netwatch24.com/
[3] http://www.netwatch24.com/blog/?p=41
[4] http://www.eclipse.org/rap/about.php
[5] http://www.eclipse.org/rap/demos.php
[6] http://www.contenido.org/
[7] http://www.timohummel.com/temp/GUIBig.gif
[8]
http://www.netwatch24.com/blog/wp-content/uploads/2009/01/netwatch24-device-editor.jpg


More information about the TYPO3-project-5_0-general mailing list