This is some documentation from an old wiki. We should put this in the new site somewhere.
Why Sequences
Sequencing was created because we had a document creation process that required a user to follow a certain order of pages within one or more zones. There were multiple places that needed to lead to this process. So we made sequences that would order the pages, and then at the end of the process, send the user back to whatever page he had started on. In addition, we sometimes had pages in different orders based on where they came from.
As you might imagine, this led to some very complicated, bug-prone conditional navigation code. So to deal with this, we made an xml-based sequence engine. The idea is that you define how to make an url for a zone, any sequences of pages that a user might travel through for that zone, and then you specify sequences of zones that you will be using. Then inside the code for each zone, you can ignore navigation completely.
As an example, imagine you had something like a forum. You have a "register" process that takes a few page views to complete(because you require their SSN for some silly reason, and their address, and all kinds of things). You want to send them back to wherever they came from. Without sequences, this could be resolved by just saving the url where they clicked register, and returning to it when the register process is completed. However, in addition, you want to reuse the register pages so that registered users can edit their information. Without sequences, you now have to have some kind of logic that stores whether I'm registering or not, and then some logic at the end of each page that does different navigation.
The XML side
The XML used is better documented at SequenceXmlDoc.
With the sequence component, you can instead specify some xml:
<sequences>
<zone name="userInfo">
<param name="userId"/>
<url>
<link name="userInfo"/>
</url>
<pagesequence name="register">
<step name="basicInfo"/>
<step name="extendedInfo"/>
<step name="loginInfo"/>
</pagesequence>
<pagesequence name="edit">
<step name="viewInfo"/>
<action name="basic" page="basicInfo"/>
<action name="extended" page="extendedInfo"/>
<action name="login" page="loginInfo"/>
</step>
<freepage name="basicInfo">
<action name="back" page="viewInfo"/>
</freepage>
<freepage name="extendedInfo"/>
<action name="back" page="viewInfo"/>
</freepage>
<freepage name="loginInfo"/>
<action name="back" page="viewInfo"/>
</freepage>
</pagesequence>
</zone>
<zonesequence name="register">
<param name="userId" value="new"/>
<step zone="userInfo" pagesequence="register"/>
</zonesequence>
<zonesequence name="editUserInfo">
<param name="userId"/>
<step zone="userInfo" pagesequence="edit"/>
</zonesequence>
</sequences>The PHP side
When you want to jump into a sequence, you just create a ZoneSequence object, set the parameters for it, and then getUrl from the object, and it's all taken care of for you.
For the example above, you have some code to enter the sequence like:
$seq = &new ZoneSequence('register');
redirect($seq->getUrl());or
$seq = &new ZoneSequence('editUserInfo');
$seq->setParam('userId', $userId);
redirect($seq->getUrl());Now, in your post functions, you don't have any navigation code at all.
Performance
To address concerns about performance, you can rest assured that when you are not using sequences, it doesn't decrease performance at all. When you are, I can only say that the code is all really fast. No complex algorithms in it, and I have not found any human perceptible decreases in performance. It's in use on a heavy production site, without a significant increase in load.
Code Efficiency
As far as using 3 lines of code... If you can use 3 lines of code, I would suggest that you do that. Sequences is really only meant to help in more complex situations. If you think that sequences is too complex for your usage, it probably is. And I will also admit that there is some redundancy in simple situations in the xml. If I get time, I might make it more friendly to simple situations.
The faster the code, the better
The faster the code can run, the better the performance. I think programmers often get caught up using complex algorithms, and that often leads to a slower system. The end user is mainly concerned with reliable performance and a fast pace. If you can accomplish those two factors, then you've created a successful program.
Anthony
remodeling reviews
Add you for the owed airman.
Add you for the owed airman. This job is handwritten in a really righteous collection. It helps me in many projects to tally. Thanks alot for relation it.
ediscovery software
If you can write the SQL to
If you can write the SQL to extract the data you want to plot, Plotalot will use the Google Charts API to produce line graphs, scatter graphs, bar charts, or pie charts, with numerous formatting options.ice block making machines
sql
Can you tell me something about the compatibility with an exe file extension? That would surely help me very much because I need to setup a database which sorts out different file extensions based on a time log and user login time. Hope you can help me.
Thanks for sharing the
Thanks for sharing the healthy tutorial. I've got a great help from your article and will return soon. Bookmarked.
Book a villa for rent in Spain from my vacation directory and get ready for your beach holidays.
How-do-you-do, just needed
How-do-you-do, just needed you to know I have added your site to my Google bookmarks because of your extraordinary blog layout. But seriously, I think your site has one of the freshest theme I've came across. It really helps make reading your blog a lot easier.relatiegeschenken
I have not been able to find
I have not been able to find such kind of information throughout the search engines and internet. It's been fabelously informative to read your blog and i am going to suggest it to another fellow as well.
Cell Phone Spy
My dear god,I enjoy this
My dear god,I enjoy this great site and i will tell you have your time and energy when putting up this post. I'm a huge fan. Great Share I must say i love.Computerhulp
Agree with that
I agree with you,this website is pretty cool,I love it.I will visit it often,of course!
cooking games
Charts API
SQL to extract the data you want to plot, Plotalot will use the Google Charts API to produce line graphs, scatter graphs, bar charts, or pie charts, with numerous formatting options air conditioning repair los angeles
Nice Post
This is a very informative article.I was looking for these things and here I found it. I am doing a project and this information is very useful me. I always try to find information and hopefully I found more about what I am locking for.
clubmz reviews
sunny
spiral sand washing machine it must be put into our attention all the latest happenings for us not to experience any hassle again.
This is really interesting,
This is really interesting, You're a very skilled blogger. I've joined your feed and look forward to seeking more of your wonderful post.
Cell Spyware
thanks for the well defined
thanks for the well defined php framework coading. thanks
Indian Movies
I agree
My idea and you are the same, read on we have more of the same views and ideas.Jordans For sale
the database and registry pages
Two components that were not covered in the "brief overview" are a collection of templates that help build the database and registry pages.
jump manual
Nice post. It’s really
Nice post. It’s really very useful for all internet lover. Thank you so much..
Prepainted Steel
I finished my project in
I finished my project in less than 5 hours because of this site. I owe my life to you guys. be yourself quotes
It took less than a year
It took less than a year till this site is ruin and no SE traffic is coming in due to fact that there are so many links on comment section. Unlock iPhone 4S. I hope you don't mind that I made some small adjustments to it.
Oh, I see ...
... If a man does what he can and is truly Cell Phone Lookup penitent, however often he comes to Me for grace and pardon, "As I live, saith Outdoor Lighting the Lord God, I desire not the death of the wicked, but that the wicked turn from his way and live"; I will no longer remember his Pellet Stoves sins, but all will be forgiven him.
--Imitation of christ
This is such a great
This is such a great resource that you are providing and you give it away for free. I love seeing blog that understand the value. Im glad to have found this post as its such an interesting one! I am always on the lookout for quality posts and articles so i suppose im lucky to have found this! I hope you will be adding more in the future... free truck games
Absolutely fantastic
Absolutely fantastic posting! Lots of useful information and inspiration, both of which we all need!Relay appreciate your work. find hosting
I recently found many useful
I recently found many useful information in your website especially this blog page. Among the lots of comments on your articles. Thanks for sharing. Vintage Movie Posters
Very useful post. This is my
Very useful post. This is my first time i visit here. I found so many interesting stuff in your blog especially its discussion. Really its great article. Keep it up. custom tshirt
hello
My idea and you are the same, read on we have more of the same views and ideas.Real Jordans
i read a lot of stuff and i
i read a lot of stuff and i found that the way of writing to clearifing that exactly want to say was very good so i am impressed and ilike to come again in future. Orlando Web Design
Very useful post. This is my
Very useful post. This is my first time i visit here. I found so many interesting stuff in your blog especially its discussion. Really its great article. Keep it up. vpn service
Interesting post and thanks
Interesting post and thanks for sharing. Some things in here I have not thought about before.Thanks for making such a cool post which is really very well written.
pacquiao vs marquez | 2014 Brazil World Cup
This code is much better
This code is much better than the earlier ones. I know I could get this for sure.
car reviews
This is working in my pc.
This is working in my pc. The Sequence Component Documentation 2 is worth using with all the details mentioned very clearly. hiv symptoms
I rancor straightlaced
I rancor straightlaced enjoyed trait your wet posts.I am impressed.I was toil for determinative weakening on this somatesthesia. Salutary act Add for recounting !!channel management software
I vindicatory couldn't
I vindicatory couldn't variegated your website before noesis that I rale equilateral this ism. there's a guiltless transactions to bid a add intellection in your noesis. the windup compounding you act to your visitorspartner portal
Your more rapidly the actual
Your more rapidly the actual code can manage, better the overall performance. I do think programmers frequently get swept up using sophisticated calculations, and that usually results in a more slowly program. The final person is primarily on dependable efficiency along with a rapidly rate. When you can attain those two elements, then you need developed a profitable program. Personalized Wedding Favors
Thanks a lot for enjoying
Thanks a lot for enjoying this indicator add with me. I am appreciating it air untold! Aim forrad to inexplicit spay rapscallion inform recount rale interact locomote resilient tie. Contestant danger to the communicator! all the invitation!
Grass Seeds
dse
You want to reuse the register pages labatterie that registered users can edit their information...
I am overjoyed to
I am overjoyed to conceptualize so numerous wan method here in the act, we obligation amend communicator strategies in this inquietude, thanks for truism.
Pre Pack Administration
Ive read your stuff before
Ive read your stuff before and you're just too awesome. I love what you've got here, love what you're saying and the way you say it. You make it entertaining and you still manage to keep it smart. I cant wait to read more from you. This is really a great blog.actron cp9580
Great Post!
This post was very well written, and it also contains a lot of useful facts. I appreciated your professional manner of writing the post. You have made it easy for me to understand. religion essay
Sequence of events
The sequence of events are methodical in the practice of law as well. A Tampa car accident lawyer walks though each step they know they need to take to help their client win a lawsuit.
A very nice post, I will
A very nice post, I will gladly come to you and will you continue Bookmark babyforum
I wanted to say that it's
I wanted to say that it's nice to know that someone else also mentioned this as I had trouble finding the same info elsewhere. This was the first place that told me the answer aiou old papers 2010
hierarchical group of components
This feature is a hierarchical group of components can contain a number of component features and other features (features built into another feature called "subfeature"). Many software packages which involved only one feature. The installation program usually shows a more complex "custom setup" dialog box at run time, from which end users can select features to install or remove...
Office Furniture Melbourne
PHP Framework is stable
Zoop PHP Framework is stable, scalable and easy to carry. It is used for the production of the past 5 years and is used in many production environments. The Zoop PHP Framework is designed to be fast, efficient and clean. It is easily extendable and you choose to include only the functions you use.
Microdermabrasion Side Effects
applications quickly
Experienced programmers can make secure web applications quickly. A more experienced coder will really appreciate how flexible The Zoop PHP Framework. Both experienced and inexperienced coders alike will appreciate the automation that his / her disposal to handle mundane tasks.
how to rent to own
I was greatly impressed on
I was greatly impressed on the post you have written. This is exactly what I've been looking for. I learned so much about it. It's very creative and one of a kind. I'm so proud of you.Osakkeet
This is a great blog posting
This is a great blog posting and very useful. I really appreciate the research you put into it.
retail industry
best franchise in india
holidays to Dubai
I found your blog when I was looking for a different sort of information but I was very happy and glad to read through your blog. The information available here is great. holidays to Dubai
promo tools
USB memory pen trims are either blue, gunmetal grey or red. Capacity from 1 GB - 8GB (cost shown is based on 1 GB memory) Packed in a plastic box . promo tools
Great things from you, man.
Great things from you, man. I have read the data before and that are too large. I love what you've got here, love what you are saying and how he says. That was fun and managed to maintain elegance. I look forward to reading more from you. It's really a good blog.ugg boots
I will bookmark your website
I will bookmark your website and will be absolutely coming back. Again, I truly appreciate all your work furthermore providing plenty of worthwhile info for the audience.
camera canon