Archive for October 19th, 2009
Lists as Native SQL Tables in SharePoint 2010? #spc09
I expected it to be one of the big announcements, but heard nothing about it. I also have seen nothing to indicate that it got added as I have played around with the Technical Preview version that we have had and were under NDA until today.
Why was I expecting this to be one of the big announcements? Only because at the SharePoint Conference in 2008 in Seattle it was promised at the keynote by Bill Gates and Tom Rizzo (the Director of SharePoint at Microsoft).
Why am I so anxious about this feature being included? The reason is that the guts of SharePoint (including document libraries) is built 100% on SharePoint List technology. And, it is the limitations of SharePoint List technology that has held back the possibility of porting thousands of applications around the world to SharePoint. What Gates and Rizzo talked about in 2008 seemed to open the door for the possibility for the bread-and-butter line of business (or vertical market) applications that are prevalent in industry after industry, to be ported to SharePoint.
Why would anyone want this to happen? Well, from a user perspective, in many organizations SharePoint and the Office client applications have been slowly but surely becoming the business application operating system - the way that Windows became the business application operating system many years ago. A big chunk of daily tasks now get done by rank and file users that are primarily using Office and SharePoint to get them done. Isn't the next logical step to port the line-of-business applications that they use to be native SharePoint applications in order to provide the best user experience?
The problem to-date is that there is not a one-to-one relationship between a SharePoint List and a native SQL Server table. Instead, there is a single (as in one) native SQL Server table that contains all of the list data for all lists in a SharePoint site collection. (In organizations that have SharePoint implemented in a single site collection, that means all field, row and list data is contained in a single SQL Server table.)
Most database-oriented people that have worked with SharePoint for a few years know that this is the case, but it is not something that is widely discussed and many newcomers to SharePoint don't know about this fact. So, just to drive this home, if you are in an relatively small organization that has say 75 sites in a site collection and an average of 6 lists in each site (task lists, announcement lists, links lists, etc, etc.) and an average of 60 rows in each list, that means that all of this data, a total of 27,000 records are all stored in a single SQL server table. Therefore if you assumed that the 450 lists in your site collection represent 450 SQL Server tables, you would have assumed wrong. All the rows for all 450 of these lists are stored in a single SQL Server table that just continues to grow and grow as you add more lists and rows.
Imagine what this SQL Server table looks like at a large multi-national corporation for one of their site collections? There might be millions and millions of records in this SQL Server table.
The bottom line to all of this is that SharePoint Lists are abstracted from the native SQL Server database. In other words, no matter how many lists you create and how many columns and records you add to them, all of that data is stored in a single SQL Server table that only SharePoint has the permission to write to directly.
Of course, this defies all of the rules of architecting fully normalized database structures. But, when SharePoint was conceived, Lists were not envisioned as being used just like relational database tables. The thought was that SharePoint Lists were just a better way to do everyday data tracking activities that users had previously relied on Excel spreadsheets for. Therefore a single table that is not normalized would be OK for SharePoint List data.
But now, the user interface of SharePoint has become so popular and the richness of the common SharePoint feature-set so powerful, that users are wanting more. Why shouldn't application developers be able to develop native relational database applications using SharePoint as the platform? Only one major reason that I can think of - SharePoint Lists are not available as native SQL Server tables that can support complex relationships, triggers and a host of other important functions that are needed to develop powerful database applications.
That gets me back to where I started. Is this feature (option to have native SQL Server table for a SharePoint List) really in SharePoint 2010 and I have just missed it? So far, I can't find it - and Bill Gates is now retired :( .
Important Update: New information related to this feature can be found in this new blog post. It definitely looks like the feature has been included in SharePoint 2010 - it just wasn't very apparent!
Some Say The World Will End With Robots
With apologies to Robert Frost.
Hollywood hasn’t painted a flattering picture for artificially intelligent robots.
Isaac Asimov and Will Smith showed us how three simple laws could go wrong in I, Robot.
And decades earlier we had HAL. HAL wasn’t very nice to Dave.
It was Skynet that really drove the point home. Artificially intelligent robots are more of a threat to the human race than carbon dioxide and swine flu put together.
Artificial Intelligence Isn’t The Intelligence We Have To Worry About
Geek dad John Baichtal has me thinking that humans with real intelligence and ingenuity wreak enough havoc all by themselves. John pointed to a research paper from the University of Washington that looks at the vulnerabilities of connected robots.
Vulnerability Example:
Usernames and passwords used to access and control the robots are not encrypted, except in the case of the Spykee, which only encrypts them when sent over the Internet. A malicious person could potentially intercept these to gain control of and access to the robots.
From the conclusions:
Household robots have different types of risks than traditional computers. With traditional computers, third-parties can try to get your financial information or destroy your files. With current and future household robots, third-parties can have eyes, ears, and “hands” in your home.
Currently you can buy a one day DDoS atttack for $30. In the future I could see the black market charging $30 to “terrorize a family of 4 in Yeehaw Junction, FL with their networked Roomba”.
htmLawed: PHP Code to Purify and Filter HTML
htmLawed is a highly customizable single-file PHP script to make text secure, standard and admin policy-compliant for use in the body of HTML 4, XHTML 1 or 1.1, or generic XML documents. It is thus a configurable input (X)HTML filter, processor, purifier, sanitizer, beautifier, etc., and an alternative to the HTMLTidy application.

The lawing in of input text is needed to ensure that HTML code in the text is standard-compliant, does not introduce security vulnerabilities, and does not break the aesthetics, design or layout of web-pages. htmLawed tries to do this by, for example, making HTML well-formed with balanced and properly nested tags, neutralizing code that may be used for cross-site scripting (XSS) attacks, and allowing only specified HTML elements/tags and attributes.
Features
- Make HTML markup in text secure and standard-compliant
- Process text for use in HTML, XHTML or XML documents
- Restrict HTML elements, attributes or URL protocols using black- or white-lists
- Balance tags, check element nesting, transform deprecated attributes and tags, make relative URLs absolute, etc.
- Fast, highly customizable, well-documented
- Single, 47 kb file
- Simple HTML Tidy alternative
- Use to filter, secure & sanitize HTML in blog comments or forum posts, generate XML-compatible feed items from web-page excerpts, convert HTML to XHTML, pretty-print HTML, scrape web-pages, reduce spam, remove XSS code, etc.
Using htmLawed is as simple as it gets. You can either include() the htmLawed.php file or copy-paste the entire code. htmLawed should work with PHP 4.3 and higher.
htmLawed is free and open-source software licensed under GPL license version 3, and copyrighted by Santosh Patnaik. You can find further information, demo & download on htmLawed Websiter.
Similar Posts:
- Bluefish – Open Source Editor For Mac and Linux
- Create HTML Forms With pForm Free Form Builder
- Really Useful Tools For PHP Developers
- Best Mobile Applications To Manage Your WordPress Blog
- IxEdit – JavaScript Based Interaction Design Tool
You can also stay updated by following us on Twitter, becoming a fan on Facebook or by subscribing to our FriendFeed.
Visual Studio 2010 Beta 2 and updated Silverlight Toolkit available
Lot of news this week!
Visual Studio 2010 and .NET Framework 4 Beta 2 are now available for download here, Jeff Beehler has posted some useful info about this “go live” release.
The new Silverlight Toolkit October 2009 Release is also available on Codeplex featuring Visual Studio 2010 support and various improvements on existing components (like drag-and-drop for items controls).
Read these posts by Tim Heuer and Jeff Wilcox for more details and enjoy!
Goodbye Team System. We Hardly Knew Ye.
Visual Studio 2010 Beta 2 is available on MSDN this morning. It will be more widely available soon. With a new look and feel it is off an running. After working with it for awhile, I can honestly report that it is a pleasurable product to use. Much attention has been paid to aesthetic, and the customization story for products like ReSharper and Code Rush is even richer. This means that companies have a great platform upon which to make our favorite development environment dance.
One change we see as part of the Beta 2 drop is the exclusion of the term “Team System”.
That’s right! Team System is no longer going to be used as a product name going forward, even though all the favorite tools are still in the box. So, what’s going on here?
We’ve been struggling with the following product lineup for several years now:
- Visual Studio Professional 2008 with MSDN Premium
- Visual Studio Team System 2008 Development Edition with MSDN Premium
- Visual Studio Team System 2008 Architecture Edition with MSDN Premium
- Visual Studio Team System 2008 Test Edition with MSDN Premium
- Visual Studio Team System 2008 Database Edition with MSDN Premium
There’s a mouth full, eh? Not so funnily enough, the more frequent questions I get from customers investigating Team System has been around licensing. Frankly, it is confusing. MSFT heard this loud and clear and has taken steps to rectify the situation with this release. Instead of continuing with the Team System brand, we’ll now be talking about fewer and simpler options for purchasing Microsoft tools.
- Visual Studio 2010 Professional
- Visual Studio 2010 Premium
- Visual Studio 2010 Ultimate
OK, so fewer choices must be simpler, so what do I buy now? Well, this page shows the various tools available in the different versions. The truth is that there is still a decision process around what tools you want to pay for. Let’s take a look at just the testing tools available in Visual Studio.
VS 2010 Professional with MSDN |
VS 2010 Premium with MSDN |
VS 2010 Ultimate with MSDN |
|
| Unit Testing (MS Test) |
X |
X |
X |
| Code Coverage |
X |
X |
|
| Test Impact Analysis |
X |
X |
|
| Coded UI Test |
X |
X |
|
| Web Performance Testing |
X |
||
| Load Testing |
X |
If I want Code Coverage, I buy Premium. If I want Load Testing, I buy Ultimate.
Hopefully this packaging will actually be easier to understand and digest.
