Change Log v6.2.0 (June 8, 2022)
/!\ Starting from this release, SharePoint 2013 is not tested anymore. Moving forward, only SharePoint Online will be tested.
- Added option
modifyto$SP().getManager() - Added
$SP().isSPO() - Changed
$SP().ajax()to better managed 401 error for the REST API calls - Changed
$SP().cleanResult()when dealing with a date ($SP().cleanResult("2022-01-19 00:00:00")will now return "2022-01-19" instead of "2022-01-19 00:00:00") - Changed
$SP().toDate()to ignore the timezone (e.g.$SP().toDate("2022-01-19")used to return different result based on the user's timezone, but now it returns the correct date at 00:00:00 in the current timezone) - Changed
$SP().getVersions(): only compatible with REST API, and it returns a different result/outcome than before - Changed
$SP().hasREST(): it will always return TRUE (it's possible to override the value) because REST API is around for a while now and I assume everyone is using at least SP2013 (see issue #180) - Fixed
$SP().isMember()for theurloption (see issue #175) - Removed support for IE10 in the bundle for browsers
Change Log v6.1.5 (March 5, 2021)
- Fixed
$SP().list().get()when usingjoinoption and when there is no data in the left-list - Fixed
$SP().list().setReadOnly()(see #166)
Change Log v6.1.4 (February 1, 2021)
- Added
$SP().list().removeAttachment() - Added
$SP().list().getVersions() - Added
$SP().list().restoreVersion() - Changed
$SP().list().stopWorkflow()to not useiframeand make it work with NodeJS Server Application - Fixed a Sharepoint bug: if a list has the versioning enabled, then add/remove an attachment will created an empty version which could reset the values for the "Multiple Lines of Text" fields with "Append" option –
$SP().list().addAttachment()and$SP().list().removeAttachment()will restore the previous version to avoid this buggy behavior - Fixed
$SP().list().get()with optionjson:trueto return an object for each item instead of an array of keys - Fixed
$SP().list().getWorkflowID()when there are more than 1 workflow for an item (see #162)
Change Log v6.1.3 (January 8, 2021)
- Added
$SP().getServerTime()to return the server time - Added option
overwriteto$SP().list().createfile()(see #160) - Changed a behavior: when
$SP().list().get()was called with someouterjoinand if there was awhere, then theouterjoinwas changed toinnerjoin… I don't recall why, but this behavior doesn't seem right so I removed it - Fixed
mergeoption withjoinoption for$SP().list().get() - Fixed
mergeoption withjsonoption for$SP().list().get() - Fixed
viewoption for$SP().list().get()when a WHERE clause is defined in the view's server - Optimized how
$SP().list().get()deals withonoption when the parameters are IDs - Updated
sharepointplus-loaderto support$SP().getServerTime()
Change Log v6.1.2 (June 2, 2020)
- Fixed
\\issue in$SP().parse()(see #136)
Change Log v6.1.1 (April 25, 2020)
- Fixed bundle size issue introduced with v6.1.0 (see #135)
Change Log v6.1.0 (April 10, 2020)
- Added support for short date format ("YYYY-MM-DD") for
$SP().toDate() - Added
$SP().list().hasPermission()to check the permissions of the current user with a list/library - Added support for configuration without transpiling (
const $SP = require('sharepointplus/dist/');) - Added option
viewCacheto$SP().list().get() - Added option to get FedAuth cookie using
$SP().auth()(see https://github.com/Aymkdn/SharepointPlus/wiki/Using-the-FedAuth-Cookie) - Changed behavior for
$SP().getRequestDigest()and lifetime from 24h to 1800secs - Fixed a bug in
$SP().parse()when too many embedded brackets - Fixed a bug in
$SP().ajax()when the request digest was incorrect
Change Log v6.0.4 (January 13, 2020)
- Fixed
$SP().list().get()when usingjson:true
Change Log v6.0.3 (December 30, 2019)
- Fixed
$SP().getRequestDigest()when using on Node server $SP().addressbook()was incorrectly named$SP().adressbook()
Change Log v6.0.2 (December 27, 2019)
- Additional fix to follow up v6.0.1 release
- Various tweaks and cleanup
Change Log v6.0.1 (December 27, 2019)
- Fixed object creation that shared data with other instances
Change Log v6.0 (December 26, 2019)
- Added function
$SP().getManager()to get details about an user's manager - Added function
$SP().toPeopleString()to convert {id, name, username, email} to a "people string" - Added function
$SP().setReadOnly()to change a READONLY column (like 'Created'/'Author'/'Modified'/'Editor') to an EDITABLE column - Added option
showListInAttributefor$SP().list().get() - Added option
aliasfor$SP().list().get() - Added option
jsonfor$SP().list().get()that returns an array of JSON - Added support for
~<>in$SP().parse() - Added parameter
folderOptions.rootFolderfor$SP.list().get()for when it's a document library with a different name - Added option
typefor$SP().checkin()('MinorCheckIn' (incremented as a minor version), 'MajorCheckIn' (incremented as a major version), or 'OverwriteCheckIn' (overwrite the file)) - Added option
breakOnFailurefor$SP().list().add(),$SP().list().remove()and$SP().list().update() - Added more unit tests
- Changed the way
$SP().notify()callssp.jsandcore.js - Changed the default
packetsizefrom 15 to 30 for$SP().list().add(),$SP().list().remove()and$SP().list().update() - Changed the call for
$SP().list().get()withwhereas an array from a succession of calls to calls in parallel - Changed changelog to auto-ignore modules that are meant for server-side use (see ##123) (based on https://github.com/defunctzombie/package-browser-field-spec)
- Fixed
viewutilized withwhereas an array in$SP().list().get() - Renamed
$SP().SPArrayBufferToBase64()to$SP().arrayBuffer() - Renamed
$SP().SPExtend()to$SP().cloneObject() - Renamed
$SP().SPArrayChunk()to$SP().arrayChunk() - Updated the documentation
Change Log v5.2 (March 25, 2019)
- Remove
argument.calleebecause it's deprecated and returns error with strict mode - Add option
mergefor$SP().list.get()that permits to merge several lists in the same dataset - Add support for
RecurrenceDatawhen adding a recurrent event with$SP().list().add() - Add option
eventand examples to update one occurrence of a recurrent event with$SP().list().update() - Add option
eventand examples to remove one occurrence of a recurrent event with$SP().list().remove() - Add function
$SP().parseRecurrencethat converts a RecurrenceData XML string to an object, and vice-versa - Add function
$SP().getTimeZoneInfothat returns the TimeZoneID, and other information used when setting recurrent event - Add support for download
onprogressfor$SP().ajax() - Add
$SP().list().stopWorkflow()to stop/terminate workflows 2010 - Add unit tests for calendar events and
$SP().parseRecurrence() - Change
$SP().showModalDialog()that now returns a Promise (we can use either the callback function or the promise) - Change
PeopleAheadplugin to be compatible with SharepointPlus 5.1+ - Fix
outerjoinwhen usingonLookupfor$SP().list.get() - Fix incorrect characters in filenames for
addAttachmentandcreateFile - Fix missing catch for
$SP().lists()(see #116)
Change Log v5.1 (August 21, 2018)
- Fix url issue in
$SP().getWorkflowID() - Fix url issue when SharepointPlus is called from the root (see #86)
- Fix
parse()(see #89) - Fix
getRequestDigest()when using it with NodeJS on a sub site collection - Fix
addressbook()(incorrect checks of arguments) - Fix
$SP().cleanResult()when the string was like "-1;#something" - Remove
$SP().toCurrency()(use [https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/NumberFormat](Inlt with NumberFormat instead) ... e.g.new Intl.NumberFormat('en-US', {style: 'currency', currency: 'USD'})) - Use method
GETby default when callingajax()with NodeJS - Change the default value returned by
$SP().view()forOrderBy(from[]to""when no orderby defined for the view) - Add new utility function called
$SP().getPeopleLookup() - Improve support for NodeJS
- Improve some errors handling
Change Log v5.0 (November 21, 2017)
- Remove all jQuery references
- Remove old IE support; support starts from IE11 (the user will have to verify compatibility for older versions)
- Remove
SPArrayIndexOf() - Remove
SPArrayForEach() - Remove
SPIsArray()(use Array.isArray instead) - Remove
Strim.prototype.trimpolyfill - Remove
$SP().encode_b64()and$SP().decode_b64()(the code can be retrieved here https://blog.kodono.info/wordpress/2011/07/27/midi-code-encoder-decoder-en-base64-pour-javascript-programmation/) - Remove alias
$SP().list().del()(use$SP().list().remove()instead) - Remove native support for
$SP().formfields()(you now need to call the related plugin) - Remove callbacks for all functions
- Add Promise for all functions
- Change
$SP().ajax()to integratenanoajax(no need to callnanoajaxfrom a seperate file) - Change options for
$SP().ajax()to fit withnanoajax - Change
$SP().getURL()to return a Promise (async requests are not supported by recent browsers anymore) - Change parameters for
$SP().list().createFile(), and it must now be called with$SP().list() - Change parameters for
$SP().list().createFolder(), and it must now be called with$SP().list() - Change encoding for
$SP().list().addAttachment()fromBase64toArrayBuffer - Change values returned by
$SP().list().view() - Change values returned by
$SP().list().views() - Change values returned by
$SP().list().add() - Change values returned by
$SP().list().update() - Change values returned by
$SP().list().remove() - Change values returned by
$SP().list().moderate() - Change behavior for
$SP().list().add()and$SP().list().update()when an empty array of values is passed as a column value to be added/updated (it will now return '' instead of ';#;#') - Add option
cachefor$SP().list().view() - Add option
cachefor$SP().lists() - Add option
packetsizefor$SP().list().moderate() - Add
$SP().getPageSize()that permits to get the size of the document/page - Add option
soapURLto$SP().webService()(see #51) - Add wiki pages for "Term/Taxonomy/Managed Metadata" (see https://github.com/Aymkdn/SharepointPlus/wiki/)
- Add wiki page for Discussion Board (see https://github.com/Aymkdn/SharepointPlus/wiki/Sharepoint-Discussion-Board)
- Add
Propertyproperty for aTaxonomyFieldTypereturned by$SP().list().info() - Add
._Listthat returns the details for the list for$SP().list().info() - Add
$SP().hasREST()to detect if REST API is supported - Add
progressfunction for$SP().createFile() - Add
getXHRfunction for$SP().createFile() - Add support for
ArrayBufferfor$SP().createFile() - Add
SPArrayBufferToBase64function() to transform an ArrayBuffer to a Base64 string - Add automatic JSON parsing for results from
$SP().ajax()which Content-Type that matchs json - Add option
soapActionfor$SP().webService() - Add support for multiple ids/values for
$SP().getLookup() - Add automatic support for digest token on
$SP().ajax() - Add
$SP().getRequestDigest() - Add option
rootFolderfor$SP().list().add()for support of Discussion Board - Add 30+ new QUnit tests
- Fix
$SP().formfields()when there is ampersand (&) into the field's name - Fix
$SP().toSPDate()when time is required (see issue #64) - Fix
SP().createFile()for big upload with REST API (see https://stackoverflow.com/questions/46297625/large-arraybuffer-crashes-with-xmlhttprequest-send/46299028#46299028) - Fix
$SP.ajax()to resolve when the status code returned by the server is 2xx and not 200 only - Improve catch error from
$SP().createFile - Optimize code for compression
Change Log v4.0 (May 4, 2017)
- Add NodeJS support: SharepointPlus can now be called as a node module and can be used on server side
- Add
$SP().auth()that must be used when using NodeJS (based on https://github.com/s-KaiNet/sp-request) - Add
$SP().proxy()that can be used with NodeJS - Add Promise support for
$SP().list().get() - Add Promise support for
$SP().list().add() - Add Promise support for
$SP().list().update() - Add Promise support for
$SP().list().remove() - Add Promise support for
$SP().list().createFolder() - Add Promise support for
$SP().list().createFile() - Add Promise support for
$SP().checkin() - Add
SPExtend()that permits to clone/extend an object - Add
$SP().webService()to send customized requests to the web services (instead of using SPServices) - Add qunit-test on
$SP().webService() - Add qunit-test on
$SP().checkin() - Add
packetsizeoption for$SP().list().update() - Rewrite the documentation using JSDoc 3 instead of JSDoc 2
- Reorganize the documentation to group the methods by category
- Use of eslint to clean up the code
- Change license from GPL 3.0 to LGLP 3.0 (see #48)
- Fix
$SP().checkin()(see #49)
Change Log v3.14 (March 6, 2017)
- Add a sanitize filter for the filename in
$SP().createFile()because Sharepoint doesn't like some special characters - Fix a bug with "Content Type" field in
SP().formfields() - Fix a bug with
SP().formfields().elem()when mixed fieldtypes where used - Handle
callbackeven whenshowClose:falsein$SP().showModalDialog() - Add more documentation for
$SP().showModalDialog() - Add option
idfor$SP().showModalDialog() - Add option
onloadfor$SP().showModalDialog() - Add function
$SP().getModalDialog() - Add function
$SP().resizeModalDialog() - Improve
$SP().parse()for theINoperator - Review the code for
joinandouterjoinoptions within$SP().list().get() - Add new option
join.onLookupfor$SP().list().get()
Change Log v3.13 (August 23, 2016)
- Fully compatible with Sharepoint 2013!
- jQuery is not required anymore!
- Rewrite
$SP().createFile()with new options (see issue #26 and pull #29) - Add operator "IN" for WHERE clause thru
$SP().parse()(e.g. 'Location IN ["Los Angeles","San Francisco","New York"]') - Add special words "TRUE" and "FALSE" for
$SP().parse()to use with the Yes/No columns - Full rewrite of
$SP().formfields()to be compatible with Sharepoint 2013 (a few things could be now different from previous versions) - Remove option
data-sp-ignorefrom$SP().formfields() - Set 160 qUnit tests for almost all the functions
- Add automatic qUnit test environment creation to make tests easier
- Add option
usejQueryto$SP().formfields().elem() - Add
$SP().encode_b64()and$SP().decode_b64() - Add
$SP().getURL()to return the current base url - Add
$SP().regionalSettings()to return the user regional settings - Add
$SP().regionalDateFormat()to return the date format based on the user regional settings (usefull for Date Picker fields manipulation) - Add
$SP().list().startWorkflow2013()to start Sharepoint 2013 workflows (the other function remains for Sharepoint 2010 workflows) - Add Site Workflow start for
$SP().list().startWorkflow() - Add
$SP().showModalDialog(),$SP().closeModalDialog()and$SP().waitModalDialog() - Add two parameters (passedItems, failedItems) to options
afterfor$SP().list().add(),$SP().list().update(), ... - Add
$SP().list().addAttachment()to attach a document to a list item
Change Log v3.12 (January 26, 2016)
- Fix problem with IE8 and Array.prototype.indexOf (issue #25)
- Change the versioning number, from 3.0.11 to 3.12
- Add qunit tests
Change Log v3.0.11 (January 11, 2016)
- Fix $SP().forms() for Sharepoint 2013
- Add $SP().formfields().isMandatory() to return the mandatory status of the field(s)
- Add $SP().formfields().name() to return the name of the field(s)
- Fix $SP().cleanResult() for "float;"
- Add $SP().list().getContentTypes() to return the content types for a list
- Add $SP().list().getContentTypeInfo() to return the content type info for a list
- Add support of the Enhanced Textarea field
- Fix $SP().formfields().each() that returns a jQuery object when calling this.elem() and this.row()
- Fix $SP()).formfields().val() returning an empty array when no value available, and it now returns an empty string
- Add more data returned by $SP().list().getWorkflowID()
- Add $SP().workflowStatusToText() to convert the workflow status code to the related message
- Add option "listItemCollectionPositionNext" to $SP().list().get() for paging
- Fix $SP().list().getWorkflowID() to use ClientContent when permissions are insufficient
Change Log v3.0.10 (February 24, 2015)
- Fix the $SP().list().get() to not change the original WHERE clause passed to the function when it's an array
- Fix a bug with the $SP().list().views() because of a cache issue, and add a "cache" option
- Fix the $SP().list().get() when we pass a ViewID
- New parameter for $SP().toDate() that permits to force the UTC date
- Fix a bug with $SP().list().add() and $SP().list().update() when an error is returned by the server
- Add additional option called
useIndexForOrderBy, for $SP().list().get(), based on this comment: https://spservices.codeplex.com/discussions/280642#post1323410 that permits to override the list view threshold - Add a
pageoption for $SP().list().get() - Add a code that runs automatically to change the Sharepoint complex dropdowns (when it's a lookup with more than 20 values) to a regular SELECT -- IE only
- Add
progressfunction with thepaging:trueoption for $SP().list().get() - Fix a bug with $SP().formfields() when setting a value for a MULTIPLE LINE OF TEXT
Change Log v3.0.9 (June 20, 2014)
- New option "cache" for $SP().groupMembers(),.distributionLists(),isMember(),.usergroups()
- New function $SP().getUserInfo()
- New options "calendar" and "calendarOptions" for $SP().list().get() to easily deal with the Calendar Lists / Events
- Bug fix with $SP().formfields() when we activate the Recurrence in a calendar form
- Add $SP().notify() and $SP().removeNotify() to deal more easily with SP.UI.Notify.addNotification
- Fix the doc for the DateInUTC option of $SP().list().get()
- Add "Node" as a new return for the $SP().list().views() function
- Fix the option "path" for "folderOptions" in $SP().list().get() that didn't work
Change Log v3.0.8 (March 28, 2014)
- Little bug fix and improvements
- The WHERE clause of $SP().list().get() now supports "[Today-X]" or "[Today+X]" that is equivalent to the CAML syntax
- New option
escapeChar(true by default) for $SP().list().get() that permits to escape special chars (&, < and >) in the WHERE clausse - New operator
~=for $SP().parse() (the function that parses the WHERE clause) that is used to query a large list with an indexed User column (you'll need to know the User ID) - ATTENTION : the WHERE clausse of $SP().list().get() is now sensitive to the TIME, so "2012-10-31" will compare only the DATE when "2012-10-31 10:28:19" will compate the DATE AND the TIME (CAML equivalent of "IncludeTimeValue='TRUE'")
- ATTENTION : $SP().toSPDate() now includes a second parameter -- by default this function will now return a date only (without the time), but if you pass "true" as second argument it will return a datetime (see the documentation)
Change Log v3.0.7 (December 14, 2013)
- Fix a bug with $SP().formfields().elem() when it's a boolean-checkbox field (it returned the INPUT and the BR)
- Add 'paging' option in $SP().formfields().get() that permits to get data from a very large list (that is useful when there is a list view threshold)
Change Log v3.0.6 (November 13, 2013)
- Change the default value of "dateInUTC" to false for $SP().list().get()
- Change $SP().toDate() to parse correctly the UTC dates
- Fix $SP().formfields().val() to select the values passed in the same order as provided for a "lookup multiple" type
- Add support for "LookupMulti" for $SP().list().info()
- Fix a bug with $SP().toXLSString() when a number is in the first word
- Fix a bug with $SP().formfields().val() when the field is a mutiple line of text and we're not on IE
- Fix a bug with $SP().formfields().val() when the field is a people picker
- Add the $SP().createFolder() function that permits to create a new folder into a Document Library
- Add more options to $SP().list().get() to deal with the Document Libraries (see 'folderOptions')
- Add another option to $SP().list().get() that permits to overwrite the "" part of the query
- Add $SP().list().history() to get the versioning content for a field (like the Multiple Lines of Text when versioning is on)
Change Log v3.0.5 (August 5, 2013)
- Add the $SP().list().startWorkflow() function to manually start a workflow
- Add the $SP().list().getWorkflowID() function (that is internally used)
- Fix $SP().formfields().val() for a people picker (Sharepoint 2010 compatibility)
- Fix $SP().cleanResult() when no separator was provided
- Add another parameter to the return function for $SP().list().get() that is the error message (in case the request to the webservice didn't work)
- Fix a bug with the argments mandatory for $SP().list().add()
- Fix a bug with $SP().parse() when there was a backslash with a single quote and a bracket for a string
- Change the behavior of $SP().list().add() when you provide an empty array (no more exception returned)
- Change the order of calling success/error for $SP().list().add/remove/update() -- now the "error" callback is called before the "sucess" callback
- Fix a bug with $SP().lists() (#2)
- Fix a wrong information in the documentation for $SP().list().get() and "progress"
Change Log v3.0.4 (March 18, 2013)
- Rewrite of the $SP.formfields function for better compatibility and performances
- Fix a bug with an internal function (that returns the current website URL)
- Rewrite the $SP().list().getAttachment() function
- Add $SP().whoami() function to get the current user's details
- $SP().people() returns the error ("string") when there was a problem
- $SP().list().remove() with the WHERE clause can now also directly delete the files from a document library
- Fix a bug for $SP().list().update() when using the function with 1 argument
- Add the $SP().registerPlugin() and $SP().plugin() (first plugin also done)
Change Log v3.0.3 (November 2, 2012)
- Better compatibility with Sharepoint 2010
- Because of the Sharepoint 2010 list view throttling (that limit a query to 5,000 items) you can now use the $SP().list().get() with an array for the WHERE clause (see the documentation)
- A "progress" option is now available for $SP().list().get() when using an array for the "where" option
- Add the $SP().cleanResult() function
- Change $SP().toDate() to work with SP2010 format
- Fix the fact we can use either $SP().list().remove() or $SP().list().del()
- Fix an issue with $SP().formfields() applied to a field with several radio buttons
- Add the $SP().noConflict() function that permits to use _$SP instead of $SP (undocumented)
- Fix: you can now get all the fields from a list with leaving "fields" empty or undefined (e.g. $SP().list("My List").get({where:"ID = 1"},function(data) {}))
- $SP().cleanResult(str) now returns "" when 'str' is null or undefined
- Change the license to GPL v2
- Change the Array.prototype.indexOf function
- Add the SharepointPlus version --> $SP().getVersion();
Change Log v3.0.2
- Add "encoded" option for $SP().createFile() when the content is already base64-encoded
- Add $SP().checkin() to Check In a file
- Change $SP().list().remove() to be able to delete a file into a shared document library
- NOTE: I'll probably soon change the API to have something like $SP().file().xxxx for all files related actions...
Change Log v3.0.1
- Add warning for when we want to use a field with a comma in formfields()
- Add support for Multiple Lookup Selection in formfields()
- Add "Lookup" result for $SP().list().info() -- with "Choices" you now have an object {list:"List from where the values are coming from",field:"Name of the field to retrieve"}
- Add "distributionLists" that returns the user's distribution lists
- Add "groupMembers" that returns the members of a group
- Add "isMember" that will say if an user is part of a Sharepoint group (we could do it with usegroups() however in some cases, like with the distribution lists, the usergroups() will be useless)
- NOTE: with all these new USER features I'm going to review the way to call them... something like $SP().user().xxx
Change Log v3.0
- MAJOR CHANGE: you must now call SharepointPlus with $SP() instead of $SP
- ATTENTION: the listID as parameter for the functions is deprecated... you have to use the $SP().list() to define the list
- ATTENTION: Change the $SP().list().view() function (the behavior is different, see the documentation)
- Improve the $SP().list() : only use the LIST NAME and not the LIST ID anymore
- Use view name or view ID in $SP.list().view()
- The URL parameter must now be configured in $SP.list(), and in most cases the URL will be automatically find (for the current website)
- Fix issue with Chrome and $SP().list().add() function
- Add the context for the callback functions : 'this' is now recognized like the current $SP() object in the returning functions
- Add JOIN and OUTERJOIN features to $SP().list().get() (in BETA and should be improved with the time... also it doesn't use -yet- the JOIN options available with Sharepoint 2010)
- Remove ".each()" for ".list()" because all the AJAX requests are now asynchronous
- Add $SP().usergroups() to retrieve of list of groups for an user
- Remove some jQuery dependencies ... still less jQuery code !
Change Log v2.5.2
- Add more properties from the $SP.list().info() function
- Better support for Date into a WHERE clause
- Fix issue with Chrome and $SP.list().get() function
- Fix issue with simple quote inside the WHERE clause (you now need to use \' when using ' inside '')
Change Log v2.5.1
- Add $SP.people() to find the user details based on a name
- Add $SP.addressbook() to find someone in the Active Directory based on a part of his name
- Check compatibility with jQuery 1.7.2
Change Log v2.5
- Add compatibility with Sharepoint 2010
- Function "progress" added to $SP.list().add()
Change Log v2.4
- First public release