Tuesday, January 20, 2015

How to Become a Data Scientist

http://www.slideshare.net/ryanorban/how-to-become-a-data-scientist

 

How to Become a Data Scientist 
SF Data Science Meetup, June 30, 2014 
Video of this talk is available here: https://www.youtube.com/watch?v=c52IOlnPw08 
More information at: http://www.zipfianacademy.com 

 

 

 

SharePoint CAML Query Testing App with Intellisense – Coming soon!

Found good news for developers, new CAML tool with intellisense  going to be available soon..

keep visiting at site: http://sharepointtaproom.com/

 

 

Good news for SharePoint developers! I'm pretty far along on developing a free, browser-basedCAML tool with intellisense and other cool features that lets you write and test CAML queries right from your browser. This is actually a tool I've been using myself for a while, but I'm adding a few things to it and releasing it to the larger community.

Here's a sneak preview that shows the code editor (with intellisense) and some of the options:

The tool is still a work-in-progress so the above screenshot may not reflect how the final version looks, but you get the general idea.

I know some of you will wonder why I'm creating this when there are other CAML tools out there, so here are my reasons:

  • The best intellisense for CAML. Honestly, the coolest feature of this tool is the intellisense! It's context-sensitive (aware of "where you are" in the query), and LIST FIELDS are included in the intellisense suggestions when you're typing an attribute that takes a field name! How cool is that?! The intellisense feature has you covered for most tag names and attribute values you're likely to run across.
  • View and page through results right in your browser. The results of your query are displayed in tabular form right in your browser for easy viewing. You can also copy results out in CSV format if you'd like to paste into Excel or another tool. In addition, paging of results is supported so you can keep your row limit (items per page) small to maximize query speed but still get the data you need.
  • Lots of query options. This tool gives you a pretty full set of query options (comparable to what you'd see in server-side code), including options like "Calendar Date" and "Expand Recurrence" (for querying and expanding recurring events). It's also smart enough to enable and disable certain options depending which client-side API it has to use to execute the query (see "APIs and Query Functionality" later in this post).
  • No desktop software to install. Some companies are strict about (a) who has admin rights to install software on their PC, and (b) what software is allowed to be installed on local PCs, including running periodic scans to ensure compliance. When I work with clients like that, I often turn to browser-based tools like this to avoid red tape and get work done faster.
  • This is a code-oriented tool. I'm a developer. I write code. And when I don't know the syntax for something, I rely on intellisense and other resources to help me learn the language I'm coding in so I can get more proficient at it. Why? Because once I'm proficient, I can just write code and test things quickly. I don't have to deal with cumbersome UIs or various layers of abstraction. This is a code-oriented tool. If you need help learning CAML or remembering syntax, you'll get it. But if you already know CAML, you can just write code and go.
  • No dependencies on other tools (besides SharePoint itself). Not much else to say on this one. There are a couple of JavaScript dependencies (see "Technologies and frameworks" later in this post), but I load those from a CDN so there's nothing to install or upload to use them.
  • It will teach you about CAML and the client-side APIs. If you mess up something in your CAML query, you'll find out quickly, can tweak it, and try again. (For example, did you know the order of your <FieldRef /> tags matters inside of a <DateRangesOverlap> tag? I found that out by using this tool!) And if you're curious about how I did anything in this tool, all you have to do is right-click the page and view the source. It's just JavaScript and HTML! Nothing is hidden.

What can this be used for? Well, here's how I've used it so far:

  • Finding internal names of list fields.  There are probably 100 ways to find internal names of list fields in SharePoint, but this tool makes it super simple and easy. I usually just pull it up and start typing like you see in the screenshot above, and bam, I've got my field names for using in XSL or client object model code or whatever.
  • Testing large list limits. I've built several solutions involving large lists, and testing the query throttling limits is always a pain. This tools makes it easy because I find out real quick what kinds of queries generate query throttling exceptions, and I can tweak them.
  • Plain old CAML query testing. Perhaps the most obvious use case, I use it to write and test CAML queries before inserting the queries into code elsewhere. In the past I'd use PowerShell, but this is even easier, and PowerShell isn't always an option depending on the environment and restrictions.
  • Ad-hoc reporting. Sometimes people ask me for random, one-time reports of data in SharePoint. I use this tool to grab what they want and export it to Excel. In some cases I'd make a SharePoint list view and use the "Export to Excel" button in the ribbon, but depending on the type of query I'm doing, list view don't always cut it. (And honestly, as someone proficient in CAML, this is even faster for me than creating list views most of the time.)

The name of the tool will be QuickCAML, which I think plainly describes its purpose: to write and test CAML queries QUICKLY.

Regarding distribution, I thought about the "app model" but am mostly convinced that's a bad idea for a variety of reasons. If you're wondering why, just read this post: http://blog.furuknap.net/sharepoint-2013-app-model-the-jury-is-back. Bjørn does a great job summarizing what I think about the app model.

Instead, I'll likely make this available as a download you can just "snap into SharePoint" by (a) uploading an ASPX file to a Site Pages library, or (b) copying-and-pasting code directly into Script Editor and Content Editor web parts. Again, the goal here is simplicity. I don't see a reason to mess with sandboxed solutions or apps for this as neither are necessary.

Technologies and frameworks: I built this tool using Knockout JS, jQuery, and the Ace Editor for JavaScript (the last of which I made a few enhancements to in order to support CAML syntax better).

APIs and Query Functionality: I used two client-side APIs to grab data from SharePoint: the JSOM (JavaScript Object Model) and the "Lists" web service. I didn't want to use the latter API at all but had no choice since not all query options supported by the web service are supported by the JSOM API. Oddly enough, the reverse is true too. JSOM supports some stuff the web service doesn't, so I had to use both to get as close as possible to the server-side API. Don't worry, though, you don't have to pick an API when using the tool. Just write your code, pick your options, and the tool will figure it out for you (and tell you on the results page which API was used to run your query).

Look for more updates soon.

 

Monday, January 19, 2015

SharePoint Search Results: Adding a link to the view properties page of a document

 

SharePoint Search Results: Adding a link to the view properties page of a document

The out-of-the-box SharePoint search results web part doesn't provide a way to get to the View Properties page for items in a document library. The search results provide a direct link to the document which will open a document in default editor registered within windows.

In the screen shot below notice that both the hyperlinked title (shown in the tool tip) and the url displayed both link to the actual document and not to the View Details page.

The goal is to generate a hyperlink that will allow the user to navigate to the properties display form for documents.

Refer msdn blog for more details: http://blogs.msdn.com/b/dougperkes/archive/2009/05/13/sharepoint-search-results-adding-a-link-to-the-view-properties-page-of-a-document.aspx?CommentPosted=true#commentmessage

 

A big thanks to Doug Perkes !!