SPServices v0.7.1ALPHA7 Available for Testing

I posted a new alpha of SPServices v0.7.1 today.logo250x150

Even though I just released v0.7.0 in early December, I’ve been working steadily to get some great new functionality and performance improvements into v0.7.1 as well as to fix some rather obscure bugs.

You can see the details of what is included in this alpha on the download page, but perhaps what will be of widest interest are some significant performance improvements to SPCascadeDropdowns and SPDisplayRelatedInfo. If you use those functions, I’d really appreciate you trying the alpha out and letting me know whether the improvements are noticeable to you. The initial setup time in the form won’t be faster, but the cascading in the page ought to be. (The better tuned your SharePoint farm and the more horsepower you have, the less improvement you are likely to see.)

I’ve also added a new function called SPXmlToJson. With it, I hope to offer a generic XML to JSON conversion utility. The first focus is on the XML returned by GetListItems, but I plan to expand upon it as people request additional capabilities. If you’re into playing with JSON, please take a look and give me your thoughts and suggestions. Be kind and remember that this is just an alpha.

Image via Wikipedia

The main reason for getting v0.7.0 (the prior release) out there was to release a version which was compatible with jQuery 1.7.x. As goeth jQuery, so goeth SPServices; the jQuery team doesn’t sit still for long, so I can’t really, either. In fact, jQuery 1.7.1 has already been out for a while and we can see 1.8 on the horizon. As part of the new jQuery releases, there are always some significant performance improvements as well as new capabilities. As with most software, there are also capabilities which are deprecated, which may by removed in the future.

Because of all of these changes to jQuery itself, along with my accompanying changes to SPServices, I would strongly encourage you to try to keep up with the releases as best you can. I know that this can be difficult, especially in large enterprise environments where the release cycles can be complex and time consuming.

Given the constraints that many people probably have when it comes to upgrading SPServices, I’m wondering what a good release cycle would be. There have already been over 2000 downloads of v0.7.0, yet I’m getting near the time when I might want to put v0.7.1 out there. What would work best for you? Fewer releases with more changes or more releases with fewer changes? There are many considerations to this, I know. If nothing else, the documentation can only represent one point in time (I’m loathe to try to keep historical versions; maintenance would be a nightmare). If you are using an older version of SPServices, like say v0.5.8, then the docs are pretty far off for you, as will be my blog posts and articles elsewhere. Let me know what you think!

Enhanced by Zemanta


  1. The need exists to always start with: thank you for your continued devotion to this great library.

    These are indeed some great enhancements. Although I’m not currently on a fast deployment schedule, I will be working to get there and thus will prefer the smaller and more frequent versions. This may prove to still be a challange as I don’t currently have a comprehensive regression test suite that can be re-executed when new versions are deployed (although my selenium test cases continues to increase). Because in my case I consider SPServices a critical library (as is jQuery) any breakage is most likely to impact several areas, thus I try to reduce the times I upgrade it.

    Interesting to hear the limitations on the documentation. I’m assuming this is because of the hosting site (codeplex) and the fact that the documentation is not tied to the code versions. Have you thought about changing that? It would give you the ability to always package the documentation that goes with a version in the zip file. For example, you could keep it in a .sdoc (script documentation) file as javadocs notation and use one of several interpreters to generate html that you can include in the zip file (I recently saw a post that asked for the ability to have offline documentation). I’m not familiar with codeplex (I’m a sourceforge guy), but perhaps you could also make that your documentation pages, thus keeping them in sync.
    In my opinion, the documentation today leaves much to be desired. I would love to help make it better, so let me know if I can assist.

    Question: what editor/IDE do you use to develop?


    • Paul:

      You’re welcome, of course. You’ve been a great help over the last few months with your input and insights.

      Ouch. It pains me to hear that the documentation leaves much to be desired. I’ve tried pretty hard to improve it steadily, but it’s a lot of work. I’m absolutely interested in suggestions and help.

      Codeplex’s Documentation capability is just a Wiki. I can edit each page easily, and every page is versioned so that it’s easy for me to track back on my changes. There’s no way to bundle the Wiki pages, though. There’s also only one of each page at a time, e.g, one SPCascadeDropdowns page. I suppose that I could name the pages with version numbers, but that would get into the maintenance nightmare I want to avoid.

      Managing the docs outside of Codeplex in a separate document is certainlt possible, but I like the internal linking I can do on the site.

      Believe it or not, my IDE of choice is SharePoint Designer. I use it every day to build things for my clients and it works very well for me with SPServices as well. It’s more CSS and script aware than Visual Studio to me, but perhaps that’s just because I’m more used to it. When I use VS, I usually feel a bit crippled without having the Design Pane available. That’s the missing “visual” part for me with VS.


  2. Thanks Marc for the reply. Maybe I’ll start a test site on codeplex to see how it works and see if I can suggest how it can be improved.
    I currently use eclipse (aptana plugin) to develop JavaScript (among other languages) and keep documentation with code. I use a Ant build file to generate the documentation separate.

    You can see an example of the output for a jQuery plugin I released a few years ago here: http://pttimeselect.sourceforge.net/doc/files/jquery-ptTimeSelect-js.html
    It uses NaturalDocs, a perl program to read the .js file, parse the function documentation and output HTML. I have it plugged into a Ant build file in Eclipse so that when I ‘kick off a build’ the documentation is automatically created.

    I certainly don’t want to suggest anything that adds to the overhead of what you already do. Knowing what you use to develop does help in what I suggest or provide you with to consider.

    Question: I think you provide both a minified and a regular version of SPServices in the zip file. Do you create it manually, including the zip file? Or do you have a ‘build’ script that you kick off and build your distribution package?

    I do need to acknowledge that the documentation is getting better. I have seen more examples being Included in the method pages which helps tremendously. But there is also several that still dont describe the input parameters and how to use them.


    • Paul:

      Anything specific that you want to point to in the docs I’m happy to fix. I’ve tried to add pages for the individual operations that are used more frequently and where I also have a good, real example. One thing I have NOT tried to do is replicate the SDK documents for each operation and that’s why I simply have the links to them. Many of those pages at MSDN are really sparse and some are even wrong, and I’ve tried to capture those things as I validate my suspicions.

      The type of setup you describe probably would have been a better way to go, but when I started all of this I was a neophyte to the whole idea of building open source software. Codeplex seemed to offer all of the basics I thought I needed, and I [probably mistakenly] figured that using a Microsoft platform would somehow matter. I also had no idea that SPServices was going to turn out to be as useful for people as it has.

      As for the ZIP file with the regular and minified versions, I just do it manually. I use the JavaScript CompressorRater to minify the library, and it’s served me well.



Have a thought or opinion?