Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Where to start learning about Seaside internals?

I've become pretty enamored of the Seaside web framework lately. I'd like to start digging into the source to figure out how it works. Unfortunately, there are a lot of classes and I don't know where to start! Does anyone know what classes I should try to understand first? I assume that there's a routing class somewhere that I should start with...

like image 215
afkbowflexin Avatar asked Feb 21 '11 18:02

afkbowflexin


People also ask

What are seaside activities lesson packs?

This seaside activities lesson pack teaches children to describe what seaside locations are like, how to locate seaside resorts using maps and to research a chosen resort.

How to learn seaside vocabulary with flashcards?

The following activity is the famous vocabulary activity to teach English. You can learn seaside vocabulary with flashcards exercise easily. Guess the seaside object and then click on the card to see the answer. Click on a card to open it. Then you will see a word about seaside. Guess the meaning of the object in your own language.

How can I teach my child about the seaside?

This seaside activity pack is a brilliant way to teach your child a little more about the geography of the seaside and what they may find there. It asks children to consider which seasides they have visited and what was different and similar about each one.

What is the meaning of seaside?

Seaside is the coastal land along the sea. Seaside is usually an area by the sea where people come to have a holiday. Beach is the sandy coastal regions of a seaside. The following is the list of seaside vocabulary in English with pictures and pronunciation.


2 Answers

Stephan gives good suggestions. Basically, if you understand the Seaside-Core package in Seaside 3.x, you understand how everything fits together:

  • The Canvas stuff is all a specific implementation of WARenderer from the Seaside-Core-Rendering category
  • The Session/Application stuff is all a specific implementation of WARequestHandler from the Seaside-Core-RequestHandling category
  • The Component/Task stuff is all an implementation of WAPainter from the Seaside-Core-Presenters category

There are really two ways of approaching studying the framework. Either start with one of the specific things you are interested in (say WAComponent) and work your way up the superclasses. Then repeat with each of the other classes Stephan mentions.

I'd suggest the other way: starting with the three sets of abstract classes I mentioned in Session-Core. Looking at them together (combined with the HTTP and Document classes) will give you an idea of the generic concepts and how they plug together to form the framework. You can look at each of the specific implementations as needed to relate the generic concepts to the actual implementation.

Subclasses of WAServerAdaptor form the starting point of request handling in Seaside, where a request from a specific web framework is converted into a Seaside request and dispatched to an appropriate handler. Callbacks are also pretty important and are in Seaside-Core-Callbacks.

If you understand everything in Seaside-Core, you basically understand how the framework works at a high level. Once you have a broad understanding of the basic core concepts, you can then proceed to get a deep understanding of each area that interests you by examining the concrete implementations in more detail. But keep in mind that everything in Seaside-Core is intended to be subclasses and plugged together to extend the framework.

like image 73
Julian Avatar answered Sep 25 '22 20:09

Julian


I assume you have read the Seaside-Book?:

http://book.seaside.st/book

If you want to go deeper just look at the source, starting with the classes WAComponent and WARenderCanvas+WAHtmlCanvas. The routing class is WAAdmin in the sense as "this is the place where different Seaside-apps are registered".

like image 26
Bernd Elkemann Avatar answered Sep 23 '22 20:09

Bernd Elkemann