MicMin Associates - Michael P. Antonovich

Database Consulting and Author

Home     SharePoint Scene     Blog     Thought for the Month     Site Map     Contact Us     About Us      
Michael P. Antonovich - Getting to the Core Blog

 
 
 
SharePoint, SQL Server, and Science Fiction
...can it get any better?

 
 
 

February 10

Do you have co-workers with 'no-clue'?
How many of you think you work for the same company as Dilbert, perhaps even have the same boss?  Whoa!  if you all raise your hands at once, I cannot count that fast.  Plus your raised hands are blocking all the people in the back from seeing the screen.
 
Just the other day, a friend of mine told me about the email he got back from a meeting appointment request with the head of marketing telling him that he was unavailable for that meeting because Outlook told him that he had another meething scheduled for the same time and could they do it at another time?  Sounds like a normal email response until you find out that the other meeting was the tentative appointment he already added to his calendar for the very same meeting.
 
Ok, perhaps that was just a fluke.  However, the other day another friend received a request to estimate the number of hours their team would require on a monthly basis for the next three years for a new project.  Normal request you say?  Well, when the friend asked what the project was about and what their team's involvement would be, they were told that it really doesn't matter because they just wanted to take a 'swag' at it.  To which the person respectfully responded, 'Why do you need an estimate of hours if you don't know what will be required of the group?'  He was then told with a very serious face, 'So we know who to blame when the project goes over budget.'
 
Of course the State of Florida is no better in its funding for our schools.  Recently, the state announced the schools that are over the class size limit (18 students per class in kindergarten through third grade, 22 students per class in fourth through eighth grade, and 25 students in high school classes).  Individual attention in the classroom sounds like a great idea until you try to reconcile those requirements with the cost of the added classrooms and the teachers to staff them. Besides, have any of these state legislators ever gone to college or at least looked in on any of the lecture rooms with hundreds of students per class?  What happened between high school and college to make the acceptable number of students in a class go from 25 to hundreds?  Also why did the paper make such a big deal about one elementary school in our district being slightly out of compliance when we had 165+ schools within compliance?
 
Anyway, my personal observation leads me to think that we really do live in Dilbert's world and that is why Dilbert seems so real to many of us.  Then again, we may just be living in a large hologram as suggested by a recent article in the magazine New Scientist.  Well,  maybe I'll go into that later if my programmer writes it in my code.
 
(Name and positions have been deleted or changed to protect the guilty.)
 


9:54 AM GMT  |  Read comments(0)

January 24

Tampa SQL Saturday

Yesterday I spent the day in Tampa, Florida. Ok, from Orlando I know that it is not much of a trip. However, I went there to attend the 2010 SQLSaturday event. The weather was great for the first time in weeks so the whole day promised to be very pleasant. My wife, Sue went along. Of course, she would just drop me off at K-Force where the event was held while she spent the day walking around some of Tampa's great malls.

 

I had the opportunity to be a speaker at the event. I feel fortunate that this was something like my 8th SQL Saturday event in the last two and a half years. However, having taught computer classes on the side since 1979 or so, it is something I truly like to do. While I do try to reuse a session a couple of times before retiring it with some minor changes each time as I go around the state to different SQL Saturday events, I prepared a new session to début at Tampa titled: Beginning XML for the SQL Developer. Originally, I had hoped to combine this session with one by Scott Klein who I met down at the South Florida SQL Saturday event last summer. Unfortunately, not only was he not able to present his portion, but I heard that he also was not able to attend because of pressures from his editor to finish a book he is working on. I can't wait to read it Scott!

 

Anyway, I got to the K-Force early because I had one of the opening sessions. However, when I went to find my room, I was surprised to find that it was not a typically class room. I guess I should have thought about the room name a bit more. The room was named, the Foyer Room and that should have been a clue. Of course this was not a training room as much as it was a reception/waiting area when candidates come to K-Force for interviews. However, there was a projector in the room (on the desk counter where the receptionist would sit) and a 2' by 3' board wrapped in white plastic stuck on a table in the corner to be used as a screen. Around the room they had about 25-30 chairs to face this 'white board'.

 

Well, being a 'guest' in Tampa to speak at their conference, I was not going to complain too much so I began to set up my computer. When I turned on the projector, I quickly realized that there was no way for the projected screen to fit on that tiny 'white board' and even if it did, people toward the back would never be able to see a thing. So I decided to re-point the projector toward the one blank wall between two doors. It was not the best of choices because the projected image really keystoned badly. Finally, about 10 minutes before the start, one of the event coordinators came by and noticed my 'choice' of projecting the image. We discussed options and decided that we would take down one of the pictures on the wall in front of the reception desk and project on it instead. He then ran out to get more of the white plastic wrap and quickly created a 'white screen' that I could project on. We rearranged the chairs to face the new direction and got done just in time to start.

 

People were still coming in even as we were to start, but that is pretty typical of first sessions. The real problem was that our room was just outside the registration line and we had to keep the door closed to keep the noise down. However, when we closed the door, the door would automatically lock and new people could not come in. So one of the attendees who was actually sitting behind the receptionist desk next to where I was standing found some tape on the desk that we could use to 'tape' the door latch so people could come in.

 

In any case, we had a very successful session with about 30 attendees in a very small area. I know we had some people look in and then leave when they saw how crowded it was. I hope they at least get a chance to see the session materials posted on the SQLSaturday site. Yes, it is posted already. The rest of the day I attended some great sessions by others including some on PowerShell and one by Kathy Malone on Access and SharePoint. In fact, it was hard to pick which sessions to go to because there were 7 simultaneous tracks. Two of the classrooms were actually in a different building down the street. I'm sure I will be able to catch a repeat of some of those sessions though at one of the future SQL Saturday events this year. While I did leave during the last session of the day because my wife and I wanted to get dinner before heading back to Orlando, it was definitely a very good day and I want to say that despite the minor issues, they put on a great SQL Saturday event and I hope to return next year.

 

BTW, SQL Saturday in Jacksonville is coming up on May 1, 2010 and Code Camp in Orlando is scheduled for March 27, 2010.

 

Update on my progress updating my SharePoint 2007 book – I'm about half done with the initial editing. YEAH!!!



5:18 PM GMT  |  Read comments(0)

December 27

Word 2010 handles multiple simultaneous editors for documents stored in SharePoint 2010 libraries

First, let me state that this ability only seems to work when editing a document previously saved to a SharePoint document library. Furthermore, the library cannot force a check out of the document when you begin to edit it. However, you can allow the library to track versions and indeed, allowing versions will allow you to use Word to compare the current version to previous versions so you can see each of the changes made to the document.

 

Concurrency problems as described in Chapter 1 were an inevitable consequence of the way Word 2007 handled multiple editors of a document. Basically, it was an all or nothing choice. Either you could lock the entire file by checking it out of SharePoint so that no one else could open it in edit mode, or you could allow multiple people to edit the document and then have to cope with having to compare two or more versions of the document, identify the differences between them, and accept which changes you wanted to keep from each. Because that was such a time consuming processing, most SharePoint administrators decided to make it easier on everyone by requiring document check out before you could edit the document.

 

Now Word 2010 comes out with a potentially game changing feature, at least in the word processing arena, that allows multiple simultaneous editors to a document when they are using documents stored in SharePoint. Rather than locking the entire file to protect the integrity of changes made to the document, Word 2010 now supports locking individual paragraphs of a document. However, while those individual paragraphs are locked, other editors can make changes to other parts of the document. Of course, as soon as you begin editing a different paragraph, Word and SharePoint lock that paragraph to any other users.

 

While editing a document that someone else also has open, SharePoint passes information between all users to identify which paragraphs others have edited. It places a bracket around the left side of the paragraph and adds a tag off to the left margin to identify the person performing the edit. However, it does not show the edit changes made by others, at least not in real time. These edited paragraphs remain locked until their individual editor saves their changes back to SharePoint.

 

You can periodically check to see if any updates to the current document have become available, in other words saved by other users. The display tag mentioned a few paragraphs back associated with each change also will let you know when updates become available by displaying a double arrow refresh icon. You can then update your copy of the document by saving your copy back to SharePoint but leaving it open. As part of the save, SharePoint downloads any updated text to your open version of the document. Now you can make changes to this changed text too.

 

So why would you choose to not require check out of documents before editing them? If you have a large document for which several people have edit responsibilities, you may want to allow multiple people to edit the document simultaneously because they seldom if ever need to edit the same portion of the document anyway. This allows the work from multiple people to occur simultaneously thus improving everyone's efficiency. On the other hand, small documents or documents in which multiple people typically will edit the same portions or all of the document probably would be better managed in a library that requires check out before editing to protect the edits of each individual.

 

I have illustrated this ability in my upcoming SharePoint book due out 2nd quarter of 2010 from Apress.



3:42 PM GMT  |  Read comments(0)

December 21

A Little Bit of Everything

I have not written anything in the last three weeks because we as a family have been dealing with some personal issues affecting my wife's health. With God's help all things are possible and we will get through this.

 

Last Wednesday, our daughter finished her last exam for the fall semester and came home for holidays. It has been great having her home and we have spend the time doing 'fun' things. We have been doing a lot around town since then because she is only home for a short time.

 

Today, for example, we went to DeLeon State Park. They have a wonderful restaurant called the Sugar Mill which specializes in pancakes. But not just any pancakes. The tables have griddles built into them and they bring out pitchers of batter, plain and 5-grain, and you make the pancakes right at your table. Then we went for a walk along the park trails and found some friends swimming around, one of which is pictured below:

 

 

The spring in this park stays warm all year around and apparently, the manatees come into the area to stay warm on those cold Florida winter nights. Yes, we are expecting a freeze tonight.

 

From there, we continued on to Daytona Beach. We wanted to visit a chocolate factory we heard about named Angell & Phelps, and of course we could not leave without buying some to take home. Oh, by the way, they still let you drive on the beach during the day. The sand is so amazingly compact that car tires barely make a mark at all. We had a late lunch at the Charlie Horse Restaurant. They have very good and very inexpensive lunch specials. It is always good to look for a local restaurant when visiting a new city. It also helps to look for a restaurant that has a lot of cars around it.

 

So how is SharePoint doing? I've been working through revisions of my chapters and have made it through most of the first 4 chapters. One of the more interesting features is the way Word 2010 works with SharePoint 2010. If you do not check-out your Word documents, you can actually have two or more people editing the same document at the same time. When I first heard about this I thought, 'How can it keep things straight?' What it appears to do is communicate back through SharePoint which sentence/paragraph one person is editing and locks only that one sentence/paragraph until they save their changes back to SharePoint. Should you do this with every document? Which types of documents should you really have full exclusive access to? For smaller, single topic documents, I would say that exclusive check out and check in is still best. However for larger documents in which several people may be responsible for different portions of the document, the ability to have multiple people edit the portions of the document they are responsible for could be a great time saver.

 

Well, I wish you all a Merry Christmas and see you next week.



7:31 PM GMT  |  Read comments(0)

December 01

SharePoint 2010 Validation

SharePoint 2010 introduces validation settings to lists.  There are two types of validation settings, one for the list item that allows you to compare values from more than one column, and a second for column validation that, as you may guess, applies a validation check against the current column only. 

Item Validation

A validation expression at the list level is a formula that can include any of the columns in the list and resolves as either True or False.  In order for an item to be successfully added or modified in the list, this expression must resolve to True. 

For example, returning to our Task list, a very important validation might be that the Due Date for the task cannot occur before the Start Date.  Since this validation involves more than one column in the list, you cannot validate either field individually at the column level.  Rather you can only validate both fields together as you attempt to save the new or modified item.  To create an item level validation, follow these steps:

·         Navigate to the list where you want to add a validation (such as the Tasks list).

·         From the List ribbon, select List Settings.

·         In the List Settings page, select Validation Settings from the General Settings group.

·         Enter a formula that evaluates to True or False (See Figure 1 for an example)

·         Enter a message that SharePoint can display to the user when the validation fails (See Figure 2).

·         Finally click Save to set your validation.

 
 

Figure 1: Creating an item level validation.

 
 

Figure 2: Error displayed from an item level validation.

 

Column Validation

SharePoint 2007 had some simple column validations built into several of the column types.  The most common validation was the Required validation.  However, numeric values also supported a Range validation.

SharePoint 2010 expands on those validation options allowing you to define a formula to validate the column.  Note that this formula cannot reference other columns.

As with the item level validation, the formula for the column validation defines a Boolean expression that returns a True or False value.  Also, you can specify a user message when the validation fails telling the user why SharePoint rejected their item update or addition.

Using the Tasks list one more time, let’s add a column validation on the Start Date validation to check that start dates fall on or after the current date.  Figure 3 shows the required column validation expression and Figure 4 shows the result of attempting to enter an invalid date.  

 
 

Figure 3: Creating a column-level validation.

 
 

Figure 4: Error displayed from a column-level validation.

 

Note: At this time, documentation for how to define validation expressions has not been released, but my testing indicates that the validation is similar to validation in Excel cells

 

For more information about SharePoint 2010, watch for my book coming out mid-2010.



4:33 PM GMT  |  Read comments(0)