Easy Edit Suite - Phase 3 - Known Issues

Hey People


Please let us know of any issues you may be experiencing with EES Phase 3 (build 1081 for Squiz Matrix 4.4.1+, released 5 Sept 2011) and if we are unable to provide an immediate solution or workaround we will add the issue(s) to our roadmap to be reviewed/addressed for future releases.



Regards



The EES Team

Before anyone brings it up, unfortunately EES still does not support Chrome (I know - we love it too!) we did all we could but it comes down to serious incompatibility issues on the Contents screen that forced our hand.


If you have implemented custom JS code that is hooked into the EES plugin system AND you are making direct calls to the EES JS API function you will need to update your code to make these calls using the new JS API enhanced mode functionality. For a super groovy intro to this see Nic's blog at http://www.zedsaid.com/blog/using-the-js-api-enhanced-mode-in-squiz-matrix or our manuals at http://manuals.matrix.squizsuite.net/web-services/chapters/javascript-api/ - examples marked 'enhanced'.



Also, if you are looking for some steps to follow to upgrade your existing install, here you go:



1 - Backup your old EES folder server side (just rename it)

2 - Upload the new ees folder from downloaded package (as per install guide online)

3 - Backup your EES config file (just create a local copy)

4 - Make a note of the JS API key that is in your old EES config file, also make a note of anything else you might still need from it for example you may have used the 'assetFinderLocations' array to populate the default panel

5 - Copy the contents of the new EES config file (located within the ees package at ees/Examples/EasyEditConfigSample.js) into your existing config file.

6 - Replace any variable values as noted at step 4

7 - Update the EES JS API asset by going to it's details screen and: changing 'Use Enhanced JS API', 'Allow Batching Requests to 'Yes'. Also make sure to enable the new 'getLineage' function by changing it to 'Yes', as per online guide it's best to just enable all core functions under sections Core, Linking, Permissions, Workflow, Traversing and Metadata.

8 - Update your design file to reference updated jQuery framework and new JS files. Just change jquery-1.4.2.min.js to jquery-1.6.2.min.js and add a new script tag to the bottom of the existing script tags to source /__data/ees/Libs/jquery/jquery.ba-bbq.min.js



We are championing a new design file approach to bring in EES code from a nested standard page so that editing of the Design files can be avoided when adding/changing/editing custom CSS/JS. This approach is entirely up to you, but we think it makes life a whole lot easier. We are also championing a new locked down permissions approach for the EES config file and the EES JS API assets. For more info and help with installing/implementing EES see http://manuals.matrix.squizsuite.net/ees/chapters/installation

We have provided a new minor release (1085) to cover a few bugs already, including:


– Workflow logs messages not being sent when approving/rejecting in EES.

– jQuery UI draggable items not working in IE9.

– Metadata multi text field not editable or sortable/draggable.



See http://matrix.squizsuite.net/patches/ees-1085 for more details.



This is a simple drop in replacement for anyone who may have already updated to EES 1081 for Squiz Matrix 4.4.1+.



You can download it here: http://matrix.squizsuite.net/patches/ees-1085



Cheers





Scotty

We have provided a new minor release (build 1087) to address a file upload issue.


See http://matrix.squizsuite.net/patches/ees-build-1087 for more details.



This is a simple drop in replacement for anyone who may have already updated to EES 1081 or 1085 for Squiz Matrix 4.4.1+.



You can download it here: http://matrix.squizsuite.net/features/ees



Cheers



Scotty

Hey People


We currently log our bugs within an internal product/system, I would like to summarise some of the bugs we have come across since build 1081 (does not include build 1085/1087) and of which will be addressed in the near future. Just in case you may be experiencing the same issues, here is what we have so far:


  • File remaps error overlay shows with success image and will not go away #947 (work around refresh page)
    When a remap already exists for a file asset the success overlay (as file still updates) is not handling the matrix admin error correctly.[*][b]Multiple WYSIWYG plugin errors in Safari #936 (Workaround use FF or IE)[/b]
    Plugins like 'add image', 'add link', 'search and replace', 'view source' may throw error overlay.[*][b]Error overlay appears for TypeError: 'null'. #935 (we're working to address very soon)[/b]
    Related to specific process/steps in changing status and interacting with the content screen.[*][b]Error overlay appears for 'bodycody popup'. #934 (we're working to address very soon)[/b]
    Related to specific process/steps in changing status and interacting with the content screen.[*][b]Asset parent linked in the trash sometimes cause issues getting primary lineage #889 (workaround purge trash or purge link in trash)[/b]
    Functionality that requires lineage like Asset Finder may experience errors due to one or more assets in the current lineage having a link within the Trash folder.

Will keep you posted.

Cheers

Scotty

Missed one from the above listing:

  • Image files loose web path when archived #948 (work around update webpath in admin mode)
    When changing status from under const to archive and back again the web path is lost. Only occurs to image file assets.

Cheers

Scotty

New build (1089) available see http://matrix.squizsuite.net/patches/ees-build-1089 for details and EES release table at bottom of http://matrix.squizsuite.net/patches/ees-build-1089 for previous corrections.


This is a simple drop in replacement for matrix systems 4.4.1 and above. Backup old ‘ees’ folder in <matrix_root>/data/public and replace with folder available in new package download at http://matrix.squizsuite.net/features/ees



Cheers



Scotty

Hello, could you please help us resolve the following issue.


EES Build 1087



Browser: IE 7/8 [works fine in FF]



Problem: In EES editor mode, the issue occurs on Metadata screen, Content screen works fine. The WYSIWYG editor's toolbar does not render/format correctly on the page - appears as a tall column with each button being an image of 5 buttons.



Screenshot: http://postimage.org/image/a3t6ba4o9/

Hi Guys,


Loving the speed of the new EES, good work.



We have a few plugins that we built against the previous EES, and consequently are in the process of porting them to phase 3.



It is proving quite difficult, with some unexpected behaviour from some of the core EES functions.



I've come up with a simple test case which I'd appreciate an opinion on. Am I doing this correctly?



It loops through 3 asset ids and uses EasyEditAssetManager.getAsset() to fetch them. The results seem to be that the api calls for the first asset id get batched up 3 times, and the callback returns for the first id 3 times.



[edit: I should note, this works if I inspect with a breakpoint in firebug, pausing between each getAsset() call]



Initially I tried to start the work on DOMready, but this caused a few errors, so I've moved it into a click handler.



[php](function () {



/**

* playground plugin

*/

EasyEdit.plugins.playground = {



_domEl: null,



assets: [17625,79266,18581],



writeMsg: function (msg) {

this._domEl.append('<li>' + msg + '</li>');

},



init: function () {



var self = this;



//on body click (so we know initial EES stuff is out the way)

$('body').click(function () {



self._domEl = $("<ol>",{style:"color:black;"})

.insertAfter("#ees_infoBoxInner");



self.writeMsg('plugin initialising, asset order is:' + self.assets);



for (var i = 0; i < self.assets.length; i++) {



EasyEditDebug.log('using asset manager to get ' + self.assets[i]);



EasyEditAssetManager.getAsset(self.assets[i], function(asset) {



EasyEditDebug.log('asset manager has processed ' + asset.id);

self.writeMsg('asset manager has processed ' + asset.id);



});



}



});



}



};



}());[/php]

EES Build 1102 is now available for download at http://matrix.squizsuite.net/features/ees


Related pages updated:



[list=1]

  • Release schedule - http://matrix.squizsuite.net/features/ees[*]Release notes - http://matrix.squizsuite.net/features/ees

    Assuming you already have phase 3 (build 1081 or above) installed then this is a simple drop in replacement server side, otherwise please refer to install guide at http://matrix.squizsuite.net/features/ees



    We recognise that our online documentation may be a bit fuzzy regarding upgrading from phase 2 to phase 3 and hope to correct soon.







    NSS - sorry we were unable to capture you’re metadata screen WYSIWYG issue for this build but we will add this as a new bug for review in the next round.



    Mr Jordan - once we pop our heads out from under the current release and other work we’ll have a closer look at what you are trying to do there with your plugin.





    Cheers



    The EES Team
  • [quote]


    I've come up with a simple test case which I'd appreciate an opinion on. Am I doing this correctly?



    [/quote]



    Hey sjordan



    On a quick review of what you are trying to do in that chunk of code it looks like it could be having issues with the fact that this code was designed from a single serving perspective.



    Also (and I will get Anthony to jump in an clarify/confirm/correct) that the use of this core object to get multiple instances of asset data outside the scope of the current asset being edited may have dangerous side effects. The getAsset function does some handling of current asset caching and refreshing of data to ensure the save functions work as expected, the best approach may be to call the JS API directory (to getGeneral etc) as our core code is only a wrapper for what we need to do within EES. Only some of the core functions/objects can effectively be used/re-used for robust custom coding solutions and many of these will be current asset centric.



    Will ask Anthony to shed some light on this …



    Cheers



    Scotty

    [quote]
    It loops through 3 asset ids and uses EasyEditAssetManager.getAsset() to fetch them. The results seem to be that the api calls for the first asset id get batched up 3 times, and the callback returns for the first id 3 times.



    [edit: I should note, this works if I inspect with a breakpoint in firebug, pausing between each getAsset() call]

    [/quote]



    In the example you posted you are triggering multiple calls to EasyEditAssetManager.getAsset() before they've had a chance to complete the http request. What you can do instead is place your code inside a recursive function so you can trigger the next call after the first one finishes. Something like the following, although I haven't tested:



    [php]

    /**

    • playground plugin

      */

      EasyEdit.plugins.playground = {



      _domEl: null,



      assets: [17625,79266,18581],



      writeMsg: function (msg) {

      this._domEl.append('<li>' + msg + '</li>');

      },



      init: function () {



      var self = this;



      function processAsset(index) {

      EasyEditDebug.log('using asset manager to get ' + self.assets[index]);



      EasyEditAssetManager.getAsset(self.assets[index], function(asset) {



      EasyEditDebug.log('asset manager has processed ' + asset.id);

      self.writeMsg('asset manager has processed ' + asset.id);



      var nextIndex = index + 1;

      if (typeof(self.assets[nextIndex]) !== "undefined") {

      processAsset(nextIndex);

      }

      });

      }// End processAsset



      //on body click (so we know initial EES stuff is out the way)

      $('body').click(function () {



      self._domEl = $("<ol>",{style:"color:black;"})

      .insertAfter("#ees_infoBoxInner");



      self.writeMsg('plugin initialising, asset order is:' + self.assets);



      // Start the loop

      processAsset(0);



      });



      }



      };

      [/php]

    Another thing while I'm thinking about it. All the plugin init functions are called before the interface starts loading. If you want to wait to trigger your own code in EES after EES has loaded you can use the event system:


    [php]

    EasyEditEventManager.bind('EasyEditAfterLoad',function(){

    // Your code here

    });

    [/php]

    [quote]
    Also (and I will get Anthony to jump in an clarify/confirm/correct) that the use of this core object to get multiple instances of asset data outside the scope of the current asset being edited may have dangerous side effects. The getAsset function does some handling of current asset caching and refreshing of data to ensure the save functions work as expected, the best approach may be to call the JS API directory (to getGeneral etc) as our core code is only a wrapper for what we need to do within EES. Only some of the core functions/objects can effectively be used/re-used for robust custom coding solutions and many of these will be current asset centric.

    [/quote]



    And to clarify on this the getAsset() function isn't current asset specific, the getCurrentAsset() function handles all the caching and selection of the current asset. The getAsset() function does cache the returned asset information by default though, you'll have to look through the available functions for EasyEditAssetManager and EasyEditAsset for ways to refresh this information dynamically, or avoid caching when called (or you can turn caching off globally).

    [quote]
    Hello, could you please help us resolve the following issue.

    EES Build 1087

    Browser: IE 7/8 [works fine in FF]

    Problem: In EES editor mode, the issue occurs on Metadata screen, Content screen works fine. The WYSIWYG editor's toolbar does not render/format correctly on the page - appears as a tall column with each button being an image of 5 buttons.

    [/quote]



    Hey NSS



    Our related bug # for this is 1166. We have found a way to correct this via CSS and this will go into the next build.

    Until then please insert the following snippet before the closing HEAD tag where the EES CSS and JSS is sourced from your design file.


        
        
        
        
        /* Start workarounds for IE7 and 8 icon layout issues - remove when upgrading to any EES build number above 1102 */
        
        body.Explorer7 #ees_editMetadata #htmlarea .htmlarea-button,
        body.Explorer8 #ees_editMetadata #htmlarea .htmlarea-button {
        width: 17px;
        height: 19px;
        float: left;
        padding: 0px;
        font-size: 10px;
        margin: 1px 3px;
        border: 1px solid #5A5A5A;
        }
        
        body.Explorer7 #ees_editMetadata #htmlarea .htmlarea-indicator,
        body.Explorer8 #ees_editMetadata #htmlarea .htmlarea-indicator {
        width: 20px;
        height: 21px;
        text-align: center;
        cursor: default;
        border: 1px solid #A0A0A0;
        float: left;
        padding: 0 3px;
        }
        
        body.Explorer7 #ees_editMetadata #htmlarea .htmlarea-select-container,
        body.Explorer8 #ees_editMetadata #htmlarea .htmlarea-select-container {
        float: left;
        font-size: 9px;
        height: 23px;
        }
        
        body.Explorer7 #ees_editMetadata #htmlarea .htmlarea-separator,
        body.Explorer8 #ees_editMetadata #htmlarea .htmlarea-separator {
        height: 23px;
        width: 2px;
        padding: 0;
        margin: 0 3px;
        float: left;
        background: #666;
        overflow: hidden;
        }
        
        /* End workarounds for IE7 and 8 icon layout issues */
        
    

    [quote]
    Another thing while I’m thinking about it. All the plugin init functions are called before the interface starts loading…

    [/quote]



    Thanks for coming back, I’ve created a seperate topic to spin this off into, to leave space here for bug reports and the like. I’d appreciate it if you had some time to check over my update.



    Thanks.

    [quote]
    EES Build 1102 is now available for download.

    [/quote]



    We've updated our files to 1102 now. We are having an issue (with our plugins disabled) with the thumbnail functionality. Not sure if this was broken in previous (pre 1102) builds.



    If a thumbnail has been set on an asset, you can change it using the picker and it appears that it works, until you hit save. At which point the screen reloads with the previous thumbnail chosen, and a visit to the matrix backend shows the change hasn't taken.



    There are a couple of exceptions: setting the thumbnail to nothing saves fine, as does setting a thumbnail where none is currently set.

    [quote]
    If a thumbnail has been set on an asset, you can change it using the picker and it appears that it works, until you hit save. At which point the screen reloads with the previous thumbnail chosen, and a visit to the matrix backend shows the change hasn't taken.



    There are a couple of exceptions: setting the thumbnail to nothing saves fine, as does setting a thumbnail where none is currently set.

    [/quote]



    I get this problem on our dev system as well, it looks like something introduced by another fix. The workaround for now, like you said, is to remove the previous thumbnail and then add a new one. I'll log this to look at internally.

    Just installed EES but cannot upload any type of file.
    have updated to build 1102

    seems to be a permission error



    0: js_api_error_handler (/var/www/matrix442/packages/web_services/js_api/js_api_error_handler.inc line 31):

    ERROR: 172437 is not a valid asset id. Error Number:512

    [17-Nov-2011 16:43:27]

    1: js_api_error_handler (/var/www/matrix442/packages/web_services/js_api/js_api_error_handler.inc line 31):

    ERROR: [ASSERT EXCEPTION] [NULL] "" is not a valid asset ID [SYS0320]. Error Number:256

    [17-Nov-2011 16:43:39]

    0: js_api_error_handler (/var/www/matrix442/packages/web_services/js_api/js_api_error_handler.inc line 31):

    ERROR: You do not have permissions to access this asset. Error Number:512



    asset then appears in trash!



    any ideas?

    [ this issue now resolved, iframe in EES interface was referring to base domain which did not have EES applied to it.]

    Hi anyone seen this error?


    Deleting an asset from linking screen



    Asset is deleted but returns error





    results[0].data['linking-'] is undefined





    Url:https://ourdomain/__data/ees/easyedit.min.js

    Line: 920