Releases: Esri/offline-editor-js
v2.7.1 - April 29, 2015
This release has enhancements and has no breaking changes.
Enhancements
- Added
OfflineFeaturesManager.getFeatureLayerJSONDataStore()
for use in full offline browser restarts. Seeappcache-features.html
sample for an example of how to use this functionality.
v2.7 - April 27, 2015
This release focused on improving the handling of attachments. Has breaking changes.
Enhancements
- Added a new sample attachments-editor-secure.html to demonstrate the pattern for working with secure feature services and attachments.
- Closes #286 - support for secure services (HTTPS) when working with attachments
- Closes #305 - Support both
ADD
andUPDATE
attachment. - Closes #306 - removes
createObjectURL
functionality from attachmentsStore. This allows for attachments to be used in full offline scenarios. - Closes #318 - added
OfflineFeaturesManager.ATTACHMENTS_DB_NAME
andATTACHMENTS_DB_OBJECSTORE_NAME
. - Closes #321 - switch offlineFeaturesManager unit test to a different feature service that's attachments enabled.
- Closes #322 - rewrite offlineAttachmentsSpec.
- Closes #324 -
attachmentsStore._readFile()
can indicate false positives. - Closes #325 - support DELETE an existing attachment.
- Closes #328 - add
layer.resestAttachmentsDatabase()
. - Closes #329 - add
layer.getAttachmentsUsage()
.
Breaking Changes
attachmentsStore.DB_NAME
has been renamed toattachmentsStore.dbName
to be consistent witheditStore
.attachmentsStore.OBJECTSTORE_NAME
has been renamed toattachmentsStore.objectStoreName
to be consistent witheditStore
.- Added use of the browser's FormData() API along with
FormData.append
. This may cause
attachment support to break in certain older browsers. This is a courtesy heads-up because as a rule this library only
supports the latest version of Chrome, Firefox and Safari.
v2.6 - April 9, 2015
Recommended update. No breaking changes.
Bug Fixes
- Closes #308 - resetLimitedPhantomGraphicsQueue failing. Could cause fatal errors.
Updates
- Closes #304 - preserve version number in minified builds
- Closes #307 - package.json updated devDependencies
- Updated editsStoreSpec2 to accommodate the fix for #308
- jshint updates:
- jshint now working for /edit directory. Initial step towards piping all files thru jshint!
- jshint fix to attachmentsStore.js - moved "use strict" into function
- jshint fix to OfflineEditNS.js - removed "use strict" & added jshint exception
- Many jshint fixes in offlineFeaturesManager.js
- jshint fix to .jshintrc
- Deleted editsStore_old.js
v2.5.1 - April 7, 2015
Patch release. No breaking changes.
Closes #301 - OfflineFeaturesManager failed on _validateFeature during an attachment ADD operation.
v2.5 - March 27, 2015
v2.5 focused on updating OfflineFeaturesManager from using localStorage to IndexedDB. Additional information is available in the API Doc. Feature edit storage capabilities have been increased from 5 MBs to approximately 50 - 100 MBs or more, and the changes made allow for additional functionality and capabilities to be implemented that weren't possible under the previous architecture.**
Closes #292, #289, #285, #281, #280, #275, #261
BREAKING CHANGES: In order to accomplish the v2.5 update the following breaking changes were made. All common EditStore
functionality was migrated to the FeatureLayer so that under most circumstances there is no need to use or access the EditStore
library directly anymore. In fact, as of v2.5 accessing it directly is discouraged.
OfflineFeatureManager.getReadableEdit()
deprecated. UsefeatureLayer.getAllEditsArray()
.editsStore.hasPendingEdits()
deprecated. UsefeatureLayer.pendingEdits()
.editsStore.retrieveEditsQueue()
deprecated. UsefeatureLayer.getAllEditsArray()
.editsStore.getEditsStoreSizeBytes()
deprecated. UsefeatureLayer.getUsage()
.editsStore.getLocalStorageSizeBytes()
deprecated. UsefeatureLayer.getUsage()
.
New Functionality in OfflineFeatureManager
OfflineFeaturesManager.DB_NAME
. Allows you to set the database name of the edits library.OfflineFeaturesManager.DB_OBJECTSTORE_NAME
. Set an internal object store within the database that allows access to a set of data.OfflineFeaturesManager.DB_UID
. IMPORTANT. This tells the database whichid
to use as a unique identifier for each feature service.OfflineFeaturesManager.events.EDITS_SENT
. Updated. Now this event is only triggered when an edit is synced with the server while online.OfflineFeaturesManager.events.EDITS_SENT_ERROR
. Indicates there was an error when syncing with the server. If there was an error, the edit will remain in the database.OfflineFeaturesManager.events.EDITS_ENQUEUED_ERROR
. Indicates an error occurred while trying to store an edit in offline mode.
New Functionality in FeatureLayer When you use OfflineFeatureManager.extend()
to extend a feature layer it will be enabled with the following new functionality:
featureLayer.resetDatabase()
. Full database reset.featureLayer.pendingEditsCount()
. Returns the number of pending edits.featureLayer.getUsage()
. Returns the approximate size of the database and number of edits.featureLayer.getPhantomGraphicsArray()
. Used with offline browser restarts. Returns an array of phantom graphics. Complimentary tofeatureLayer.getPhantomLayerGraphics()
.featureLayer.getAllEditsArray()
. Returns an array of all edits stored in the database.featureLayer.getFeatureLayerJSON()
. A helper function for retrieving a feature layers JSON using the RESTf=json
parameter. Note you can also retrieve feature layer JSON using the ArcGIS API for JavaScript'sfeatureLayer.toJson()
method.featureLayer.setFeatureLayerJSONDataStore()
. Sets or updates the optional feature layer storage object. You can also set the dataStore using theOfflineFeatureManager
constructor'sdataStore
property.featureLayer.getFeatureLayerJSONDataStore()
. Retrieves the optional feature layer storage object.featureLayer.convertFeatureGraphicsToJSON()
. Helper function that converts an array of graphics to a JSON string.
** Footnote on browser storage capabilities. The amount of storage varies from device to device. It depends on multiple factors related to the browser including how much memory space the browser has consumed, how large the browser cache has grown, how many other tabs may be open, and how much memory other applications are already consuming.
v2.4 - Nov 26, 2014
- Closes #274 phantom symbols not working correctly
- Updated offlineFeaturesManager.js
- Updated API docs to reflect new functionality.
- Updated appcache-features.html sample to incorporate new functionality.
- Updated modular-popup CSS media queries
New functionality:
- Added setPhantomLayerGraphics() - for use with offline browser restarts. Allows you to restore the phantom graphics layer. This layer is used to highlight any points that have been modified while offline.
- Added getPhantomLayerGraphics() - for use with offline browser restarts. Allows you to get a JSON copy of the current phantom graphics layers so that you can save it to a local database such as localStorage.
Breaking changes: none
v2.3 - Oct 13, 2014
- Closes #74 - Build sample with nice UX for editing
- Closes #257 - Build getting started pages for AGOL, editing and TPK. All samples show basic functionality and are responsive. Also integrated a new launch page for the API and How To Use docs.
- Closes #258 - Convert modal popup to widget
- The following samples were updated to be responsive:
- appcache-features.html
- appcache-tiles.html
- tpk-layer.html
New functionality:
- Closes #256 - Add getMaxZoom and getMinZoom to offlineTilesEnabler
- Added getMinMaxLOD() to offlineTilesEnabler and OfflineTilesEnablerLayer
Breaking Changes - None.
v2.2
Version 2.2 - Sep 30, 2014
- Closes #233 - Rename TPKLayer.isDBWriteable()
- Closes #238 - TPKLayer - load tiles from URL
- Closes #242 - Internal - replace certain constructor properties
- Closes #243 - Update vendor versions
- Closes #247 - TPKLayer - only init autoCenter when null
- Closes #248 - Remove resource-proxy sub-directory
- Closes #249 - Add a public proxyPath var to offlineFeaturesManager.js
New functionality:
- Rename TPKLayer.isDBWriteable() to setDBWriteable(boolean). (Issue #233)
- In TPKLayer - load tiles from URL creates a new method loadTilesFromURL(). (Issue #238)
- Adds a public proxyPath var to offlineFeaturesManager.js. (Issue #249)
Breaking change:
v2.1
Oops meant to create a release for v2.0. However, all releases between v2.0 and v2.1 are 99.9% documentation-related updates. So, v2.1 is as good as place as any to start marking and sharing releases and their associate source and dist. This release wraps 2.1, 2.0.3, 2.0.2 and 2.0.1.
Version 2.1 - Sep 18, 2014
- Closes #236 - Minor typo in How to use TPKLayer doc
- Closes #237 - Completely rebuilt gh-pages. Now we have an online demo app page.
Version 2.0.3 - Sep 15, 2014
- Closes issue #234 - Minor cleanup of samples. Removed unused dojoConfig pathnames.
Version 2.0.2 - Sep 9, 2014
- Documentation update only.
- More minor doc updates.
- Minor README update to include link to new migration tips doc.
Version 2.0.1 - Sep 8, 2014
- Minor updates to documentation
- Removed VERSION property from namespace (for now)
- Deleted OfflineMapsNS.js - not used (left over from v2 testing)