Releases: EchoAppsTeam/js-sdk
v3.0.9 - June 20, 2013
-
JanrainAuth plugin for Echo Submit Control is added to employ Janrain Social Login Widget.
Now there is no need to include the "FormAuth" plugin and configure Janrain app URL, you can just include the "JanrainAuth" plugin instead of the "FormAuth" one and pass the Janrain app ID. The plugin takes care about the rest. It is based on the most current Janrain Login Widget implementation so it is recommended to use "JanrainAuth" plugin in case of integration with Janrain authentication provider. Note: the "FormAuth" plugin is still available as a part of the Echo JS SDK package for more complex integration cases. -
JanrainSharing plugin for Echo Submit Control is added to employ Janrain Social Sharing Widget.
As a part of the update we also added an ability to display the "Share this" checkbox near the "Post" button of the Submit form to let the user decide if the sharing popup should be opened or not. The visibility of the checkbox can be changed using the plugin configuration parameter. If the checkbox is not displayed, the sharing popup will appear automatically after a successful item submission. -
JanrainSharing plugin for Echo Stream Control is added to employ Janrain Social Sharing Widget.
Long awaited feature was added into the Stream control: using the "JanrainSharing" plugin for the Stream, the "Share" button can be added into the Stream Item UI to provide the ability for the users to share items with their friends. -
JanrainConnector plugin for Echo Auth Control is added to employ Janrain Social Login Widget.
This plugin provides the ability to enable the Janrain Social Login Widget functionality for the Echo Auth control. -
The error code was missing in the popup which appeared in case the server returned an error response after the item submission via Submit form. Now the error message received from the server side is properly displayed to provide additional information for the user about the reason for the failed submission attempt.
-
The maxBodyLines limits parameter was handled by the Stream Item class a bit incorrectly which produced JavaScript errors in case the parameter was specified in the config. The issue was fixed to handle this parameter and truncate the Item content properly.
-
The way Echo controls and plugins deal with certain fields was optimized to exclude parent widget configuration processing in every internal component. In addition to that the Stream Item config assembling was optimized to avoid unnecessary data structures copying before the Item instance initialization. This should improve the Stream performance especially for the cases when it's initialized from static data (via "data" config parameter).
-
The "shown" callback was added to the Echo.GUI.Tabs class. The callback is being executed after the tab has been shown. More information about the callback can be found in the Echo.GUI.Tabs documentation.
-
Twitter Bootstrap was upgraded from 2.3.1 to 2.3.2 version. More information about the Bootstrap updates is available here.
-
jQuery was upgraded from 1.9.1 to 1.10.1 version. The corresponding jQuery release notes are available here for version 1.10.0 and here for version 1.10.1.
-
The Item UI was improved in case the "PinboardVisualization" plugin is installed for the Stream control. We've fixed the problem with Items border rendering (the border was missing) and improved the Stream rendering on mobile devices.
-
The following guides were added into our Documentation Center:
- How to use template placeholders
- How to extend templates
- How to work with text labels
- Dependency management in JS SDK
- How to initialize Echo components
The complete list of guides can be found in our Documentation Center here.
v3.0.8 - May 16, 2013
- The "ready" callback was not executed in case an incorrect appkey was specified during the Echo.UserSession initialization. As a result, Control or App initialization was stopped on the user creation step. Now the Echo.UserSession initialized with an invalid appkey is considered as an anonymous user (the "ready" callback is being executed).
- Internal logic of the Echo.Control class was updated to prevent the "data" configuration parameter from being pointlessly processed by the Echo.Configuration class during Control or App initialization. This improves the performance of Controls/Apps in case the "data" parameter is passed in the config. This update also improves the Stream control performance due to the fact that the "data" parameter is used to initialize the Item instances (Stream passes the data to the Item class via the "data" config parameter).
- We added the "asyncItemsRendering" config option for the Stream control to trigger the asynchronous items rendering. The option is disabled by default, so the Stream control acts exactly the same. This option is highly recommended for the Streams with the amount of items (roots + children) over 50 on a single Stream page or in case the items contain the UGC content such as images, videos, etc. More information about this option is available in our Documentation Center here.
- The "Echo.Canvas.onError" event was added into the Echo.Canvas class to provide the ability to handle errors outside of the class if needed. More information about the error can be found in our Documentation Center here.
- The "Post" button HTML element was changed from to to avoid problems when the Submit control is installed into the target inside the element (for example, the button click triggers the submission in Firefox browser).
- Echo.API.Request class logic was updated to use secure (HTTPS) protocol for Echo API endpoint requests in case the "secure" config parameter is set to false or undefined. More information about the "secure" option can be found in our Documentation Center here.
- Stream and Counter controls logic which handles the pre-defined data case (passed via the "data" config parameter) was updated to execute live update requests as we normally do for the regular case when the initial data is being requested from the server side.
- The "getRelativeTime" function of the Echo.Control class was updated to display the "Just now" text instead of "N seconds" in case the time passed into the function differs from the current time by less than 10 seconds. More info about this function can be found in our Documentation Center here.
- The "Echo.StreamServer.Controls.Submit.onPostComplete" and "Echo.StreamServer.Controls.Submit.onPostError" event contracts were extended to include the server side API response as a part of the callback handler arguments. More information about the events can be found in our Documentation Center using the following links: onPostComplete event, onPostError event.
v3.0.7 - Apr 11, 2013
- Sometimes when the item was updated, the item timestamp field was missing in the UI. The problem was fixed and as a part of the fix we removed the “age” field (which was no longer used) from the Echo.StreamServer.Controls.Stream.Item class instance. Since the field existed for internal usage only, it should not affect the code written on top of the SDK. Anyway if you used the “age” field references in your code, make sure that the corresponding code is rewritten accordingly.
- The Echo.Canvas abstraction was added to work with the application deployments. The abstraction is used primarily in the Echo.Loader.initApplication function at this moment to init applications, but it will also be widely used later for other app deployment scenarios. The corresponding code of the Echo.Loader class was refactored to work with the Echo.Canvas abstraction. Note: we do not recommend the Echo.Canvas abstraction usage directly for now, please use the Echo.Loader.initApplication function instead. More information about the Echo.Loader.initApplication function can be found here.
- The Twitter Bootstrap UI framework was upgraded from 2.3.0 to 2.3.1 version. The framework changelog is available here.
- The "PinboardVisualization" plugin was handling the YouTube video URLs in the item content incorrectly, which prevented videos from appearing in the item UI. Now the URLs processing was updated and the videos should appear in the item UI properly.
- There was a mismatch between the “show user list” option names used in the "CommunityFlag" plugin code, the plugin default config object and docs. The config and docs are now synced.
- Incorrect detection of the current user id in the "Like" plugin caused invalid label in the Stream item UI for the likes submitted by the current user. The user id detection is now fixed.
- The "itemURIPattern" configuration parameter was ignored by the Submit control during the item submission. Now the Submit control is passing the "itemURIPattern" parameter value into the API machinery which takes care of sending the data to the server side. More information about the "itemURIPattern" can be found here.
- We introduced the new parameter called "useSecureAPI" to all classes based on the Echo.Control or Echo.App class. This parameter is designed to specify the API request scheme (HTTP or HTTPS). More information about the “useSecureAPI” parameter can be found here.
- The “tags” and “markers” parameter values defined in the Submit control config were ignored while building the UI for administrators/moderators. The issue was fixed and now the Submit control takes the config values into account.
- When the Echo.API.Request class was used directly (without any wrappers like Echo.StreamServer.API.Request, etc), the module was acting incorrectly in case of errors, since the part of the logic existed in the wrappers only. The necessary logic was moved into the base class now to handle the error responses better.
- Under a certain condition the “onShow” callback in the Echo.GUI.Modal class instance was called twice. The Echo.GUI.Modal logic was updated to suppress the excessive callback function execution.
- Sometimes the Echo.Loader.download function callback was executed before the resources downloading was complete (in case the next scripts chunk downloading had started before the previous chunk was loaded). The issue is originally coming from the YepNope loader we use for loading the resources (the corresponding ticket in their bugtracker). We added the logic to avoid the described situation.
- The HTTP protocol was used by the Echo.Loader class to download Echo environment scripts on HTTPS pages which caused security warnings in a browser. Now the Echo.Loader detects the page protocol and requests the dependencies using either HTTP or HTTPS.
- The “TwitterIntents” plugin was renamed to “TweetDisplay”. The “TwitterIntents” plugin is still available, but it was marked as deprecated and will be removed during the next (v3.0.8) SDK release. If you use this plugin, please update the plugin name in your installations. The tweets appearance was also updated to comply with the latest Twitter display requirements.
- The “select” event has been added into the Echo.GUI.Tabs class. The event is triggered when the user clicks on the non-disabled, but inactive (not selected) tab. More info about the “select” event can be found here.
v3.0.6 - Feb 20, 2013
- the quirks browser mode is no longer supported, more information is available here.
- several additional configuration parameters were added to Echo.GUI.Tabs component. More information about the Tabs library can be found in our documentation center.
- new setState method was added into Echo.GUI.Button component, more information is available here.
- a few bugs were fixed in the Echo.GUI.Modal component which caused malfunctioning in some cases.
- we have added the ability to set nested entries for Echo.GUI.Dropdown component. Separate icons can be specified for the dropdown itself as well as for each entry. For more information please visit our documentation center.
- the Bootstrap transitions plugin was included into the Echo.GUI package. More information about this plugin can be found here.
- Twitter Bootstrap was upgraded from 2.2.2 to 2.3.0 version. More information about the Bootstrap updates is available here.
- jQuery was upgraded from 1.9.0 to 1.9.1 version. The corresponding jQuery release notes are available here.
- the SDK code was updated to comply with the latest jQuery trends in terms of checking feature support in the browser vs checking the browser and its version.
- the Echo.Loader.download function is now checking the case when no resources for downloading have been passed. In this case the callback is now fired immediately.
- the input fields of the Submit form instantiated inside the Reply plugin were misaligned when used in conjunction with the PinboardVisualization plugin. We performed some CSS updates to fix the problem.
- the Stream control UI links such as item controls or the “Re” tag links changed their styles when the “gui.pack.css” was included into the page source. Extra CSS rules were added to prevent this.
- the logic of the static manifest declarations merging (in case of inheritance) was updated to check the situation when the function is defined in child manifest and undefined in parent manifest, which caused the problems while calling the parent function.
- the PinboardVisualization plugin is no longer available in quirks browser mode due to the fact that the Isotope library used for visualization mechanics doesn’t support the quirks mode at all. The plugin will automatically be disabled if the page works in quirks mode.
v3.0.5 - Jan 30, 2013
-
We’ve moved Echo Bootstrap plugin wrappers into the Echo.GUI scope. The
$.echoButton and $ .echoModal functions have been removed and you should use Echo.GUI.Button and Echo.GUI.Modal classes instead. In addition to the Button and Modal wrappers we also released a few other wrappers which should help you to work with Bootstrap components. The Echo.GUI classes description can be found in the documentation center: -
All the Twitter Bootstrap JS files with the Echo.GUI components are now packed into the “gui.pack.js” file. All the CSS rules (Bootstrap and Echo.GUI components) are packed into the “gui.pack.css”. Please make sure to include these files into dependencies if your plugins or apps use Bootstrap components.
-
jQuery was upgraded from 1.8.2 to 1.9.0 version. This jQuery upgrade is not fully backwards-compatible by itself. You can find the details about the jQuery 1.9 release with the list of the things which were changed or deprecated here:
-
The “PinboardVisualization” plugin was moved out of the main StreamServer JS package (streamserver.pack.js) in order to reduce the size of the package. Now the following plugin script should be included directly into the page source to load the “PinboardVisualization” Stream plugin:
http://cdn.echoenabled.com/sdk/v3/streamserver/plugins/pinboard-visualization.jsMore information about the “PinboardVisualization” plugin can be found in our docs center:
-
The events produced by the "Edit" plugin contained incomplete event names, the "Plugins.Edit" part was missing. The event names generation was fixed and now the proper events are being fired by the "Edit" plugin. If you use subscriptions to the “Edit” plugin events, please update the corresponding code to subscribe using the new event names. More information about the "Edit" plugin itself and the events produced can be found in our docs center:
http://echoappsteam.github.com/js-sdk/docs/#!/api/Echo.StreamServer.Controls.Submit.Plugins.Edit
-
The “appkey” validation was moved from the base Echo.Control to the specific controls which require “appkey” as a mandatory parameter. Now if your app or control doesn’t require an “appkey” (doesn’t interact with StreamServer or IdentityServer directly), the “appkey” can be omitted in the configuration. For you convenience if you need to check the “appkey”, we added the “checkAppKey” function into the Echo.Control class, so your control or application will have access to this function using the “this” property of the class instance. More information about the “checkAppKey” function can be found in our docs center:
http://echoappsteam.github.com/js-sdk/docs/#!/api/Echo.Control-method-checkAppKey
-
The internal logic of the base Echo.Control class was updated to consume less memory while creating a JS class from the manifest declaration. In addition to that the logic of the JS class generation was updated to allow multi-level inheritance based on the manifests overrides.
-
The Echo.Loader.initApplication function was added to provide the unified way of apps initialization on the page. The function performs initial preparations and initializes the app instance. More information about the function can be found in our docs center:
http://echoappsteam.github.com/js-sdk/docs/#!/api/Echo.Loader-static-method-initApplication
-
Twitter Bootstrap was upgraded from 2.2.1 to 2.2.2 version. Bootstrap release notes can be found here.
-
QUnit library was upgraded from 1.10.0 to 1.11.0 version. The QUnit lib changelog can be found here.
-
Isotope library (http://isotope.metafizzy.co) which is used to power the PinboardVisualization mechanics was upgraded from 1.5.21 to 1.5.25 version.
-
The dependencies definition was simplified. We’ve added an ability to specify the plugin/app/control name instead of the "loaded" function as a part of the dependency object. The “loaded” function was also preserved. You can see the examples here:
http://echoappsteam.github.com/js-sdk/docs/#!/guide/howtodevelop_app-section-7
-
The internal mechanics of the Echo.Utils.timestampFromW3CDTF method was slightly updated. Now this method can convert any string representation of a date supported by the browser. If the ISO representation is not supported (e.g. in IE8, in IE9 in quirks mode, in Safari on a date with reduced precision) then the Echo.Utils.timestampFromW3CDTF will parse that date string as it did before.
-
The child nodes rendering logic was updated (in case the PinboardVisualization plugin is enabled for the Stream). By design only root nodes can be the source of the media content, thus all HTML tags are stripped out from the child nodes. More details about the PinboardVisualization plugin can be found in our docs:
-
The Echo.Utils.htmlTextTruncate function behavior was changed. Now if the truncation hits the middle of the word, the word itself is preserved and truncation starts right after this word to improve the text readability.
-
The YepNope library (www.yepnopejs.com) which we use to download dependencies for controls, apps and plugins was moved under the local Echo scope to avoid conflicts in case another version of the loader exists on the page.
-
The Echo.Configuration class logic was updated to prevent incoming data damaging during the operations with the config instance. In some cases when you assign the data to the config field, the incoming object was also modified. Now the Echo.Configuration class instance works with the copy of the incoming data, thus leaving incoming data untouched.
-
The logic of the Echo.App class was updated in order to proxy the configuration parameters into the internal applications initialized using the "initComponent" function. Now the Echo.App class tries to populate the current instance configuration based on the default manifest config keys and the parent object config values.
-
The contract of the Echo.Plugin.isDefined function was updated. In addition to the plugin manifest definition, the function can also accept the full name of the plugin to check if the plugin was already defined. Now the Echo.App.isDefined, Echo.Plugin.isDefined and Echo.Control.isDefined has the same contract.
-
The Echo.Loader.initEnvironment function became public. The function helps to initialize Echo JS environment on the page by downloading the necessary scripts. More information about the function can be found in our docs center:
http://echoappsteam.github.com/js-sdk/docs/#!/api/Echo.Loader-static-method-initEnvironment
-
The internal logic of the Echo.Loader.download function was updated to handle the various cases of multiple resource loading, nested execution of the same function from the callback, same resource multiple loading, etc. More information about the Echo.Loader.download function can be found in our docs center:
http://echoappsteam.github.com/js-sdk/docs/#!/api/Echo.Loader-static-method-download
-
We’ve changed the avatars display rules in our components. Prior to this change we supported square avatars only and this could result in distortion of non-square images. This limitation is now removed and the avatar is shrinked proportionally, so the image is displayed without any deformation.
The Echo.Utils.loadImage and Echo.Control.placeImage methods were also modified. The Echo.Control.placeImage method now positions and shrinks the avatar correctly inside the given container. We recommend you to use that method when you need to insert images of different sizes and proportions into container with fixed dimensions.
A detailed description of these functions can be found in our documentation center:
http://echoappsteam.github.com/js-sdk/docs/#!/api/Echo.Utils-static-method-loadImage
http://echoappsteam.github.com/js-sdk/docs/#!/api/Echo.Control-method-placeImage -
The context generation machinery became a part of the Echo.Events library interface. You can call the Echo.Events.newContextId function to generate a new unique context ID string. The function also supports generation of the nested contexts (the parent context should be passed as a first argument). More information about the function can be found in our docs center:
[http://echoappsteam.github.com/js-sdk/docs/#!/api/Echo.Events-static-method-newContextId](http://echoappsteam.github.com/js-sdk/do...