Changes between Initial Version and Version 1 of FusionRfc1


Ignore:
Timestamp:
Mar 20, 2008, 12:45:02 PM (16 years ago)
Author:
pagameba
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • FusionRfc1

    v1 v1  
     1= Fusion RFC 1: Use !OpenLayers.Class and other prototype capabilities =
     2
     3This page contains a change request (RFC) for the Fusion project. 
     4More Fusion RFCs can be found on the [wiki:RFCs RFCs] page.
     5
     6
     7== Status ==
     8 
     9||Submission Date||(Date/Time submitted)||
     10||Last Modified||(your name here)||
     11||Author||Paul Spencer||
     12||RFC Status||draft||
     13||Implementation Status||pending||
     14||Proposed Milestone||1.1||
     15||Assigned PSC guide(s)||(when determined)||
     16||'''Voting History'''||(vote date)||
     17||+1||''tbd''||
     18||+0||''tbd''||
     19||-0||''tbd''||
     20||-1||''tbd''||
     21
     22== Overview ==
     23
     24This RFC proposes to change the core javascript framework that it uses for defining classes from Prototype to !OpenLayers.
     25
     26== Motivation ==
     27
     28One of the performance bottle necks that Fusion has is the size of the javascript code that gets downloaded to the client browser is pretty substantial.
     29
     30Fusion relies on Jx.  Jx is based on Prototype and Scriptaculous.  Prototype and Scriptaculous combine into a compressed file size of 185kb.  We would like to change these libraries in Jx to something lighter-weight and potentially snazzier.  The problem for Fusion is that Fusion uses some aspects of Prototype (Class, Function, Ajax, Event) extensively and it will be a substantial effort to change.  If we don't like the new library in Jx, we may want to try another library.  This could get painful.
     31
     32!OpenLayers has implemented many of the features of Prototype that we actually use in Fusion, including Class, Function.bind, and Ajax.
     33
     34== Proposed Solution ==
     35
     36Replace all existing uses of Prototype in Fusion with the equivalent functionality from !OpenLayers.
     37
     38== Implications ==
     39
     40This change should have no noticeable effect on existing applications.  There will be no functional change to any existing code.
     41
     42Applications that have been written to take advantage of Jx and some aspects of Prototype (for instance, the $() function) will still work because Jx will not change as part of this work.
     43
     44If we modify Jx to use a different library at a future time, then existing applications will need to be modified at that time to accommodate the change in underlying libraries.
     45
     46== Test Plan ==
     47
     48There is no set of automated tests for Fusion at this time.  Ad hoc testing will be conducted after the change using the existing !MapServer and !MapGuide application samples.
     49
     50== Funding/Resources ==
     51
     52DM Solutions Group will do all the work for this change.