In-Portal Issue Tracker - In-Portal CMS
Viewing Issue Advanced Details
98 [In-Portal CMS] Optimization feature request always 2009-06-19 16:09 2009-10-03 07:56
Dmitry  
alex  
normal  
closed  
fixed  
 
none 5.0.1  
0
0000098: Redo Mod-Rewrite for Better Flexibility
There is a need to redo our Mod-Rewrite mechanism from the ground to add more flexibility. Currently URL parsing closely tied up to Module Root Categories so they can't be nested in each other. Additionally it can't easily accept and work with any other URL elements besides Catalog Items. All these leads to lack of flexibility in current setup.


Proposing the following:

1. Each "Unit Config" file will have a new option - PassPriority (we already might have it). If option was specified then that particular Prefix instead of "env" variable (now) will be added to URL in a special way.

There will be 2 types of values:

"number" - order if which current Prefix will be processed in case if there are multiple similar prefixes exist in current URL.
"true" - order is not important, no matter if there are multiple similar prefixes - we just going to process it differently (from reg. env. var).

In case if URL contains Prefixes with both "numerical" and "non-numerical" (as described above) priorities - system will process "numerical first and then the rest. Also "numerical" can priority can be negative value.

2. In the process of building URLs each prefix will call for event (ie. OnPrepareRewriteUrl ) which will do the job.

3. During the step of building Unit Configs Cache for Application - all prefixes with PassPriority will be added in priority order into new property of kApplication class so it can be used when kModRewriteHelper will be parsing and breaking URL apart.

4. During URL parsing current kModRewriteHelper will be taking "language" and "theme" parts while passing through the rest of URL (in correct order) to registered Prefixes calling an event (ie. OnParseRewriteUrl ) for local parsing.
parent of 0000459closed  (5.1.0)alex Improve Mod-rewrite Listener by separating into Parsing and Building methods 
parent of 0000445closed  (5.0.2)alex Enable Mod-rewrite for Front-end in Admin 
parent of 0000365closed  (5.0.2)alex Mod-rewrite erases page number given in "env" request parameter 
parent of 0000539closed  (5.0.3)alex Incorrect rewrite listener processing order 
parent of 0001026closed  (5.1.3)alex Impossible to get "404 Not Found" page with Rewrite Listeners 
parent of 0001288closed  (5.2.0)alex Improvements to rewrite listeners 
Issue History
2012-05-17 04:44 alex Relationship added parent of 0001288
2011-03-14 02:10 alex Relationship added parent of 0001026
2011-03-14 02:10 alex Relationship added parent of 0000539
2011-03-14 02:10 alex Relationship added parent of 0000365
2011-03-14 02:10 alex Relationship added parent of 0000445
2011-03-14 02:10 alex Relationship added parent of 0000459
2009-10-03 07:56 administrator Note Added: 0000735
2009-10-03 07:56 administrator Status resolved => closed
2009-09-18 05:54 alex Tag Attached: mod rewrite
2009-09-18 05:53 alex Changeset attached 1.0.x r12564
2009-08-22 05:20 alex Changeset attached 5.0.x r12357
2009-08-15 08:22 alex Fixed in Version => 5.0.1
2009-08-15 08:22 alex Target Version 5.1.0 => 5.0.1
2009-08-15 08:21 alex Changeset attached 5.0.x r12295
2009-08-15 08:14 alex Note Added: 0000319
2009-08-15 08:14 alex Status reviewed and tested => resolved
2009-08-15 08:14 alex Resolution open => fixed
2009-08-15 08:14 alex Changeset attached 5.0.x r12294
2009-08-15 08:05 alex Changeset attached 5.0.x r12293
2009-08-15 08:05 alex Changeset attached 5.0.x r12292
2009-08-15 08:04 alex Changeset attached 5.0.x r12291
2009-08-15 08:04 alex Changeset attached 5.0.x r12290
2009-08-15 08:02 alex Changeset attached 1.0.x r12289
2009-08-14 00:42 Dmitry Assigned To => alex
2009-08-14 00:42 Dmitry Status active => reviewed and tested
2009-08-14 00:42 Dmitry Target Version Icebox => 5.1.0
2009-06-19 16:20 Dmitry Description Updated bug_revision_view_page.php?rev_id=77#r77
2009-06-19 16:19 Dmitry Description Updated bug_revision_view_page.php?rev_id=76#r76
2009-06-19 16:19 Dmitry Description Updated bug_revision_view_page.php?rev_id=75#r75
2009-06-19 16:18 Dmitry Description Updated bug_revision_view_page.php?rev_id=73#r73
2009-06-19 16:18 Dmitry Additional Information Updated bug_revision_view_page.php?rev_id=74#r74
2009-06-19 16:18 Dmitry Additional Information Updated bug_revision_view_page.php?rev_id=71#r71
2009-06-19 16:17 Dmitry Additional Information Updated bug_revision_view_page.php?rev_id=70#r70
2009-06-19 16:17 Dmitry Additional Information Updated bug_revision_view_page.php?rev_id=69#r69
2009-06-19 16:17 Dmitry Additional Information Updated bug_revision_view_page.php?rev_id=68#r68
2009-06-19 16:15 Dmitry Additional Information Updated bug_revision_view_page.php?rev_id=67#r67
2009-06-19 16:09 Dmitry New Issue

Notes
(0000319)
alex   
2009-08-15 08:14   
Fix committed to 5.0.x branch. Commit Message:

1. Fixes 0000098: Redo Mod-Rewrite for Better Flexibility.
2. Fixes "kDBItem::Clear" method, so it's now really sets $id given to it.
(0000735)
administrator   
2009-10-03 07:56   
Closing issues from 5.0.1 version, because version was already released.