<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-4095265900882936349</id><updated>2011-11-27T18:55:21.068-06:00</updated><category term='recruiter'/><category term='Hillier'/><category term='Twitter'/><category term='Connell'/><category term='My Sites'/><category term='solution'/><category term='Powershell'/><category term='List Items'/><category term='DataFormWebPart'/><category term='development'/><category term='SQL Server'/><category term='IT'/><category term='ItemAdded'/><category term='SharePointBlogs'/><category term='FullTextSqlQuery'/><category term='DotNetRocks'/><category term='STSADM'/><category term='Holliday'/><category term='Microsoft Tech Support'/><category term='Visual Studio 2010'/><category term='Critical Path Training'/><category term='VMWare Server'/><category term='VPN'/><category term='Central Admin'/><category term='V3Comments'/><category term='MSDN'/><category term='Virtual machines'/><category term='Flash'/><category term='VM'/><category term='developers'/><category term='Harbar.net'/><category term='Web Application'/><category term='Wildcard Search'/><category term='Events'/><category term='AppendOnlyHistory'/><category term='Information Technology'/><category term='Carl Franklin'/><category term='Visual Upgrade'/><category term='DataForm'/><category term='Windows 7'/><category term='School'/><category term='candidates'/><category term='Sites'/><category term='Site Collection'/><category term='Metadata'/><category term='Lindenwood University'/><category term='Lindenwood'/><category term='SharePoint'/><category term='Migration'/><category term='SPItemEventReceiver'/><category term='SharePoint Conference 2011; Dave Coleman; SharePointEduTech'/><category term='Richard Campbell'/><category term='WSP'/><category term='Virt'/><category term='SharePoint 2010'/><category term='SharePoint 2010; New Horizons; Branding; Migration'/><category term='Blogger'/><category term='Search'/><category term='Captain N'/><category term='hiring'/><category term='Refinement Panel'/><category term='interview'/><category term='jobs'/><category term='feature'/><category term='.wsp'/><category term='Database'/><category term='Vienna Sausages'/><category term='Load Testing'/><category term='ItemUpdating'/><category term='synchronous events'/><category term='Lenovo'/><category term='MSDN Forums'/><category term='interviews'/><category term='ShrewSoft'/><category term='Masters'/><category term='Property Mapping'/><category term='SharePointWebControls'/><category term='management'/><category term='Silverlight'/><category term='.NET'/><category term='Mondays'/><title type='text'>SharePoint Therapy</title><subtitle type='html'>As a SharePoint developer, I've banged my head against a few walls.  Some are self-created, others are courtesy of the various dev teams in Redmond.  I love SharePoint and it pays the bills, but it still has the tendency to induce a mental breakdown.

This is cheaper than a therapist that speaks "techie."</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://sharepointtherapy.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4095265900882936349/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://sharepointtherapy.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Sam</name><uri>http://www.blogger.com/profile/11704370531507605440</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>22</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-4095265900882936349.post-7910426511557949521</id><published>2011-08-28T12:48:00.001-05:00</published><updated>2011-08-28T13:11:45.277-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SharePoint Conference 2011; Dave Coleman; SharePointEduTech'/><title type='text'>Guest blogging during SharePoint Conference 2011</title><content type='html'>&lt;div&gt;&lt;p&gt;Dave Coleman at &lt;a href="http://www.sharepointedutech.com"&gt;SharePointEduTech.com&lt;/a&gt; recently asked for guest bloggers to live blog throughout SharePoint Conference 2011.&amp;#160; I thought I'd offer my less-than-expertise for the week.&amp;#160; I'll be joining the ranks of far more experienced SharePoint professionals as:&lt;/p&gt;&lt;p&gt;&lt;a href="http://twitter.com/#!/VeroniquePalmer"&gt;Veronique Palmer&lt;/a&gt;&lt;br&gt;&lt;a href="http://twitter.com/#!/joeloleson"&gt;Joel Oleson&lt;/a&gt;&lt;br&gt;&lt;a href="http://twitter.com/#!/EricaToelle"&gt;Erica Toelle&lt;/a&gt;&lt;br&gt;among others.&lt;/p&gt;&lt;p&gt;So make sure you check out Dave's blog and the guest bloggers Oct 1-Oct 8!&lt;/p&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4095265900882936349-7910426511557949521?l=sharepointtherapy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sharepointtherapy.blogspot.com/feeds/7910426511557949521/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sharepointtherapy.blogspot.com/2011/08/guest-blogging-during-sharepoint.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4095265900882936349/posts/default/7910426511557949521'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4095265900882936349/posts/default/7910426511557949521'/><link rel='alternate' type='text/html' href='http://sharepointtherapy.blogspot.com/2011/08/guest-blogging-during-sharepoint.html' title='Guest blogging during SharePoint Conference 2011'/><author><name>Sam</name><uri>http://www.blogger.com/profile/11704370531507605440</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4095265900882936349.post-998621738239174381</id><published>2011-08-05T23:19:00.000-05:00</published><updated>2011-08-05T23:19:13.202-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='hiring'/><category scheme='http://www.blogger.com/atom/ns#' term='interviews'/><category scheme='http://www.blogger.com/atom/ns#' term='developers'/><category scheme='http://www.blogger.com/atom/ns#' term='management'/><category scheme='http://www.blogger.com/atom/ns#' term='recruiter'/><title type='text'>Tips for Recruiting Firms</title><content type='html'>&lt;div&gt;&lt;p&gt;Following with my hiring theme the last two days, I thought I'd address recruiters.&amp;nbsp; I've found a few over the years that I'll actually talk to when they call.&amp;nbsp; Then, there are the others.&amp;nbsp; The "others" come in a few styles, all of them annoying.&amp;nbsp; Here are the various types of recruiters:&lt;/p&gt;&lt;p&gt;1. Spam-cruiter:&amp;nbsp; You know these kind.&amp;nbsp; These are the ones that email you for jobs that don't make sense.&amp;nbsp; The jobs could be 3-month contracts half a country away or for some technology that's nowhere on your resume.&amp;nbsp; Thankfully, GMail has a great spam filter.&lt;/p&gt;&lt;p&gt;2. The Uniformed: These are the ones who just don't care enough to learn what they're trying to hire.&amp;nbsp; I've literally received a call for a "C pound" job.&amp;nbsp; No, I didn't just spell out "#," the guy actually thought that is the name of the language.&amp;nbsp; There's nothing wrong with admitting that you're not well-informed about a certain technology, but don't act like you know.&amp;nbsp; However, do some research.&amp;nbsp; No candidate expects a recruiter to be able to write the code, but he/she does expect to not be represented by a lazy idiot.&lt;/p&gt;&lt;p&gt;3. The Sleaze: Oh, this one is probably the worst of the bunch.&amp;nbsp; One of the tell-tale signs of this waste of oxygen is modifying your resume.&amp;nbsp; I'm not talking about branding it like everyone does, but will re-write part or all of your resume to really sell you.&amp;nbsp; Now, you may think that sounds like a deal, but odds are you'll be exposed in the interview.&amp;nbsp; This also happened to me early in my career.&amp;nbsp; Thankfully, I had a copy of my resume with me (the one I wrote).&amp;nbsp; I didn't get the job anyway, but I did find out that the company stopped using that recruiting firm.&amp;nbsp; &lt;/p&gt;&lt;p&gt;4. Means well, but overworked: This recruiter is not in the top three and would be a Class A recruiter, but they have a hard time returning calls.&amp;nbsp; Typically, these wind up as my Class B.&amp;nbsp; My B's are who I call after a couple of weeks without any leads from my A's.&lt;/p&gt;&lt;p&gt;5. Grade A's: These are good all around.&amp;nbsp; They know you, either because they've met with you (probably a free lunch) or at least talked to you on the phone long enough to get know you.&amp;nbsp; They usually have something that would interest you or will try to sell you proactively.&amp;nbsp; When you call and leave a message, odds are you get a call back within 24 hours.&amp;nbsp; Hold on to these recruiters as they'll take care of you at least once.&lt;/p&gt;&lt;p&gt;If you're a St. Louis technologist looking for a job and want a contact from my Grade A's, I'll share.&amp;nbsp; Just post with an email and I'll send them to you.&lt;/p&gt;&lt;p&gt;Recruiters, check yourself against this list.&amp;nbsp; If you fit into 1-3, fix it!&amp;nbsp; You won't be successful as one of those.&amp;nbsp; If you're a 4, you're almost there, find a little more time to call your current contacts back and you'll become a Grade A. &lt;/p&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4095265900882936349-998621738239174381?l=sharepointtherapy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sharepointtherapy.blogspot.com/feeds/998621738239174381/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sharepointtherapy.blogspot.com/2011/08/tips-for-recruiting-firms.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4095265900882936349/posts/default/998621738239174381'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4095265900882936349/posts/default/998621738239174381'/><link rel='alternate' type='text/html' href='http://sharepointtherapy.blogspot.com/2011/08/tips-for-recruiting-firms.html' title='Tips for Recruiting Firms'/><author><name>Sam</name><uri>http://www.blogger.com/profile/11704370531507605440</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4095265900882936349.post-5519192879500161854</id><published>2011-08-05T19:00:00.002-05:00</published><updated>2011-08-05T19:00:01.190-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='developers'/><category scheme='http://www.blogger.com/atom/ns#' term='interview'/><category scheme='http://www.blogger.com/atom/ns#' term='management'/><category scheme='http://www.blogger.com/atom/ns#' term='candidates'/><title type='text'>Interview Tips from, and to, both sides of the table</title><content type='html'>I've learned a few things over the years through all the interviews where I was the candidate.  Now, I'm on the other side of the table and am quickly learning a few more "do"'s and "don't"'s. I'm going to start a list of them here.  These will apply for candidates and interviewers as there are thing that the hiring manager/team should do as well.&lt;br /&gt;&lt;br /&gt;1. &lt;b&gt;Candidate:&lt;/b&gt; Show up dressed properly.&lt;br /&gt;You would think this would be fairly straight forward, but some people still think that jeans are appropriate.  This isn't even ok for an interview at McDonald's, much less a development position.  For the McDonald's job, at least put khakis and a polo on when you hand in the resume.  The developer position is a suit.&lt;br /&gt;&lt;br /&gt;2. &lt;b&gt;Candidate:&lt;/b&gt; Bring extra resumes&lt;br /&gt;This was one of the things I remember being taught when prepping for interviews.  Odds are, the interviewers will have copies, but don't play the odds.  The house always wins.  You should always have a pad of paper, pen, and resumes with you at an interiew.&lt;br /&gt;&lt;br /&gt;3. &lt;b&gt;Candidate:&lt;/b&gt; Bring Show and Tell&lt;br /&gt;This isn't required, but talk about scoring bonus points.  I recently had a candidate bring just screenshots into an interview.  It definitely left an impression with the team.  It doesn't take long to print off something you've done that won't compromise your current employer.  Walking the interviewer through the code is far better than code puzzles.  Plus, then you're in control and can gauge the knowledge of your potential employer.&lt;br /&gt;&lt;br /&gt;4. &lt;b&gt;Interviewer:&lt;/b&gt; Avoid definition questions&lt;br /&gt;I ranted a bit about this in my last &lt;a href="http://sharepointtherapy.blogspot.com/2011/08/management-newbie-hiring-developers.html"&gt;post&lt;/a&gt;, but I'll recap here.  It barely, if at all, gives you an understanding of the candidate's technical ability.  At best, you learn that they have great memorization skills.&lt;br /&gt;&lt;br /&gt;5. &lt;b&gt;Candidate:&lt;/b&gt; Be prepared for definition questions.&lt;br /&gt;Despite #4, odds are it's probably going to happen.  Make use of those memorization skills and brush up on things like: Encapsulation, Inheritance, Polymorphism, delegates, Response.Redirect vs. Server.Transfer, etc.&lt;br /&gt;&lt;br /&gt;6. &lt;b&gt;Interviewer:&lt;/b&gt; Don't ask questions you can't answer yourself.&lt;br /&gt;This probably doesn't happen a lot, but I've still heard of it enough to list it.  If you're not experienced in the role that your hiring, that's fine, but don't try to pull some obscure question off the internet and expect a verbatim response to what you read.  It's not fair to the candidate and you'll likely lose at least one good one because of the false negative response.&lt;br /&gt;&lt;br /&gt;7. &lt;b&gt;Interviewer:&lt;/b&gt; Provide an IDE for technical questions.&lt;br /&gt;If you want them to code, spin up a virtual machine with Visual Studio, Eclipse, etc. and allow the candidate to have tools at their disposal.  If all you supply is a whiteboard, you'll make the candidate look worse.  Intellisense is a huge tool for many developers and can replace Google in many cases, but dot operators don't expand an option box on the whiteboard.  I get that you want someone who knows what they're doing, but odds are, you probably rely on your IDE's features, too.&lt;br /&gt;&lt;br /&gt;8. &lt;b&gt;Candidate:&lt;/b&gt; Eye contact is good.&lt;br /&gt;This is harder than it seems.  When you need to think, people tend to look up, down, anywhere else except the person they're addressing.  I get that and it doesn't really bother me.  However, there's two catches.  &lt;br /&gt;&lt;br /&gt;First, this is only ok when you're thinking or formulating an answer.  When you give the answer, make eye contact.  &lt;br /&gt;&lt;br /&gt;Second, eyes are two, little, typically horizontally-aligned round-ish orbs on the northern-most section of a person's body.  I say this because, while the stereotype for software developers are pimply, overweight, socially-inept men, that's not the case.  If you're looking/staring/leering at other parts of your prospective employer, they'll know.  Be respectful...not a creeper.&lt;br /&gt;&lt;br /&gt;9. &lt;b&gt;Interviewer:&lt;/b&gt; Introduce the team and their roles&lt;br /&gt;I don't know how many times I've been the candidate and all I get are the interviewers' names.  Remember, this is a mutual agreement.  If the candidate doesn't know enough about you, they may not accept.  I find that doing this up front not only takes care of this, but also can serve as a bit of an ice breaker for the applicant, as well.&lt;br /&gt;&lt;br /&gt;10. &lt;b&gt;Candidate:&lt;/b&gt; Be honest, but not self-deprecating&lt;br /&gt;If you're not a jQuery expert, that's fine.  Be honest about it.  In many languages/technologies, rating yourself any higher than 8 out of 10 is going to draw a "Yeah, right!" face from the interviewer.  Some will even be sadistic enough to prove your inability as humiliatingly as possible.  Typically, this will probably mean the interviewer isn't following rule #6 above, but that's not the point if you can't even get close.&lt;br /&gt;&lt;br /&gt;That being said, saying that you're not strong on multiple things can hurt you.  Especially if their absolute must-have's for the position.  This doesn't have to be languages/technologies either.  Even though you may be joking to relax, by saying that "Writing isn't my strong suit" or "Typing isn't my strong suit" repeatedly throughout the interview will probably hurt your chances of landing the job.&lt;br /&gt;&lt;br /&gt;11. &lt;b&gt;Candidate:&lt;/b&gt; Have a life but don't focus on it&lt;br /&gt;If you're asked about what you do to relieve stress or do for fun, it's perfectly acceptable to say that your hobbies include blindfolded, underwater basket-weaving and writing a Swahili-to-Huttese dictionary, but don't explain them in detail if the interviewer doesn't ask.&lt;br /&gt;&lt;br /&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt; &lt;th&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;Bad&lt;/span&gt;&lt;/th&gt; &lt;th&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: #38761d;"&gt;Good&lt;/span&gt;&lt;/th&gt; &lt;/tr&gt;&lt;tr&gt; &lt;td valign="top"&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;While I don't speak Swahili or Huttese, I'm a huge fan of Star Wars, as you can see from my light-saber tattoos for eyebrows.  I figured that I'd be doing the Swahili speaking world a huge favor if Jabba ever comes to Earth trying to find his kidnapped relative.  While he obviously understands English, it would be nice if John Q. Swahili Speaker could understand that Jabba's about to drop him into the Rancor pit.&lt;/span&gt;&lt;/td&gt; &lt;td&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: #38761d;"&gt;&lt;b&gt;Interviewer:&lt;/b&gt; Swahili-to-Huttese dictionary?  Do you speak either language? Why would you want to write that?&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: #38761d;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: #38761d;"&gt;&lt;b&gt;Candidate:&lt;/b&gt; I'm not fluent in either, but I figure if I can master Javascript (&lt;i&gt;AUTHOR'S NOTE: I hate Javascript.  I know it can be useful, but I just can't stand writing it.&lt;/i&gt;), then both of these languages should be a walk in the park.  I'm doing just because I can.  It has nothing to do with the time Greedo kidnapped me (&lt;i&gt;AUTHOR'S NOTE: Ok, maybe avoid the part about a fictional alien abducting you.&lt;/i&gt;).&lt;/span&gt;&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;12. &lt;b&gt;Interviewer:&lt;/b&gt; Sell your company&lt;br /&gt;Explain to the candidate why they would want to work with/for you.  Why is XYZ Co. THE place to work at?  That's what the candidate should know and shouldn't need to ask.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4095265900882936349-5519192879500161854?l=sharepointtherapy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sharepointtherapy.blogspot.com/feeds/5519192879500161854/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sharepointtherapy.blogspot.com/2011/08/interview-tips-from-and-to-both-sides.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4095265900882936349/posts/default/5519192879500161854'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4095265900882936349/posts/default/5519192879500161854'/><link rel='alternate' type='text/html' href='http://sharepointtherapy.blogspot.com/2011/08/interview-tips-from-and-to-both-sides.html' title='Interview Tips from, and to, both sides of the table'/><author><name>Sam</name><uri>http://www.blogger.com/profile/11704370531507605440</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4095265900882936349.post-2611265129642944700</id><published>2011-08-04T19:00:00.001-05:00</published><updated>2011-08-04T19:00:01.566-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='developers'/><category scheme='http://www.blogger.com/atom/ns#' term='interview'/><category scheme='http://www.blogger.com/atom/ns#' term='jobs'/><category scheme='http://www.blogger.com/atom/ns#' term='management'/><category scheme='http://www.blogger.com/atom/ns#' term='candidates'/><title type='text'>Management Newbie: Hiring Developers</title><content type='html'>Uh oh!  Two blog posts in 30 days? I'm on a roll!&lt;br /&gt;&lt;br /&gt;I've now been in my job for a little more than two months.  It's been pretty eventful as I try to absorb the custom code-base for our SharePoint environment and do some additional development work all while becoming a manager for the first time.  The first manager reality I had to deal with was my lone developer resigning.  There was no animosity, thankfully.  He just found a position that he felt was better.  While it's tough trying to do all the in-house SharePoint development as well as be PM and corporate manager, it could have gone worse (at least I didn't have to fire him.  I'm not really looking forward to having to do that). &lt;br /&gt;&lt;br /&gt;Before this "wrinkle," we had a Junior Developer role available that was open but we weren't actively looking.  Now, we are actively trying to find two developers and are open to anyone (Junior, Mid, or Senior).  We've had four candidates thus far as, apparently, the St. Louis area is a hotbed of SharePoint development.  There's plenty of work to be done and not enough people to do it.&lt;br /&gt;&lt;br /&gt;Somehow, I've never been on the "Interviewer" side of the table in my 6 professional years.  Now, I'm not only on that side, but I'm hiring people that will report to me so I have to care even more than if they'd just be a peer.  At first, I think I was more nervous than the candidates, but I'm finding a comfort zone now.&lt;br /&gt;&lt;br /&gt;To give you an idea of how the process goes, we're now scheduling a 2-hour first interview where the candidate meets with the team (4 of us) as a group.  The first hour is fairly non-technical and covers the cultural fit-type questions.  The second hour is hands-on development testing.  Other than FizzBuzz, I designed the other questions myself.  I know there are other FizzBuzz-esque problems out there (ie Cash Register, bubble sort, recursion, etc.), but I figure remembering the modulus operator is about as academic as I need to be (I'll plan another post about my feelings of some CIS/MIS/CS degree programs and their value, or lack thereof).  Well, except for a ByRef vs. ByVal snippet I ask for that I'll primarily use with the Junior candidates.  I figure that should be something definitely in their heads (it should be in everyone's even if it isn't used much).&lt;br /&gt;&lt;br /&gt;Assuming the team approves of the candidate, my boss, the CIO, will meet with him/her.&lt;br /&gt;&lt;br /&gt;One thing I'm trying to avoid is asking for definitions.  As a candidate, I loathed interviewers who would ask me to define terminology.  There's so many terms that people should know as a .Net/SharePoint developer and I just don't see it as a way to gauge a candidate's ability to write code.  Now, I know some of you would argue that if you can't define it, then you can't write it.  I've done plenty of OO programming, but I always struggle to remember the definitions of &lt;a href="http://www.csharp-station.com/Tutorials/lesson19.aspx"&gt;Encapsulation&lt;/a&gt; and &lt;a href="http://www.csharp-station.com/Tutorials/lesson09.aspx"&gt;Polymorphism&lt;/a&gt;.  Just because I can't define them, doesn't mean that I can't properly implement them.&lt;br /&gt;&lt;br /&gt;The only thing close to a definition I look for is &lt;a href="http://msdn.microsoft.com/en-us/library/system.idisposable.aspx"&gt;IDisposable&lt;/a&gt;.  Developers as a whole should know about this interface, but SharePoint developers better worship it.  I almost learned that lesson the hard way when I first started with SharePoint (looping through a Farm without disposing SPWebs and SPSites is WAY bad for performance).  However, I don't phrase it as "What does the IDisposable interface do?".  Rather, I ask one of two things:&lt;br /&gt;&lt;br /&gt;If the candidate has SharePoint experience, I ask them to write a code block (not a whole method) that, given no context (SPContext), modify the title of a site at a given location.&lt;br /&gt;&lt;br /&gt;If the candidate hasn't developed for SharePoint, I pose a similar question but using a SQLConnection.&lt;br /&gt;&lt;br /&gt;As far as other questions, I took some ideas from some other blogs that I really liked.  Here's a list of those resources:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.seomoz.org/blog/interviewing-web-developers-20-good-questions-to-ask"&gt;Interviewing Developers - 20 Good Questions to Ask&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.codecapers.com/post/interviewing-net-developers.aspx"&gt;How to Interview a Developer&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I came up with another one that has a chance to provide some insight, but doesn't seem to be getting much traction yet.  I ask the candidate to tell me the "Most recent/coolest/useful code hack/trick that you've learned."  These don't have to be new ideas, just something he/she likes to use when it makes sense.  I've had a few over the years that definitely weren't new to everyone, but were insanely useful to me (ie using blocks for SPWeb/SPSite, Source QueryString parameter, XML comments).  I guess I've been wording it wrong, though, because the answers are more about products that people can't live without.  That's not a bad thing as solutions like &lt;a href="http://devexpress.com/Products/Visual_Studio_Add-in/Coding_Assistance/"&gt;CodeRush&lt;/a&gt;, &lt;a href="http://spm.codeplex.com/"&gt;SharePoint Manager&lt;/a&gt;, and &lt;a href="http://www.altova.com/xml-editor/"&gt;XML Spy&lt;/a&gt; are great tools, but it's not what I'm looking for.&lt;br /&gt;&lt;br /&gt;I think that wraps up this post.  I have another post that'll probably come soon that will focus on interview tips from, and to, both sides of the table.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4095265900882936349-2611265129642944700?l=sharepointtherapy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sharepointtherapy.blogspot.com/feeds/2611265129642944700/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sharepointtherapy.blogspot.com/2011/08/management-newbie-hiring-developers.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4095265900882936349/posts/default/2611265129642944700'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4095265900882936349/posts/default/2611265129642944700'/><link rel='alternate' type='text/html' href='http://sharepointtherapy.blogspot.com/2011/08/management-newbie-hiring-developers.html' title='Management Newbie: Hiring Developers'/><author><name>Sam</name><uri>http://www.blogger.com/profile/11704370531507605440</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4095265900882936349.post-5775423733922937229</id><published>2011-07-12T21:00:00.001-05:00</published><updated>2011-07-12T21:00:00.460-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Search'/><category scheme='http://www.blogger.com/atom/ns#' term='Refinement Panel'/><category scheme='http://www.blogger.com/atom/ns#' term='Metadata'/><category scheme='http://www.blogger.com/atom/ns#' term='SharePoint 2010'/><category scheme='http://www.blogger.com/atom/ns#' term='Property Mapping'/><title type='text'>New Job and Fun with Search Customization</title><content type='html'>I left the hospital and moved to a prominent PR firm about a month ago.  I'm now heading up a team of developers and picking up the rest of the architecture rather quickly that will basically turn me into an architect/project manager.  It's a pretty cool environment that is truly an enterprise implementation.  It looks like we'll actually get to play around with a lot of the buzzwords surrounding SharePoint (ie. ECM, WCM, mobile, intra-/inter-/extra-net, multi-tenancy, etc.).&lt;br /&gt;&lt;br /&gt;I'm hoping this experience will give me enough knowledge to start giving back to the SharePoint community by the way of presenting at SharePoint Saturdays or other conferences.  I'd also like to get enough out of it to help me get the MCM certification.  First, I need to do the other 4 MCTS certs, but that'll come over the next 12 to 18 months, I think.  I'm a little wary of certifications when looking at job candidates because of test bank sites, but the MCM sounds like it's cheat-proof.&lt;br /&gt;&lt;br /&gt;Now, for the technical part of this session.&lt;br /&gt;&lt;br /&gt;I've only toyed with SharePoint Search (on 2007, no less) in the past and never very deeply.  One of the requests we had was to add blog search functionality to our intranet.  There's about a dozen blogs currently and I expect it to grow substantially in the next 6 months (NOTE: We're a PR firm so we do social and web 2.0 ALL the time...might as well do it internally, too).  &lt;br /&gt;&lt;br /&gt;Our blogs all derive from a tree of Content Types that derive from Post.  &lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-pOQpgUeTfeQ/ThxJg06ejaI/AAAAAAAAAHQ/ZqjAsuvaQTc/s1600/Content%2BTypes.png" imageanchor="1" style=""&gt;&lt;img border="0" height="244" width="320" src="http://4.bp.blogspot.com/-pOQpgUeTfeQ/ThxJg06ejaI/AAAAAAAAAHQ/ZqjAsuvaQTc/s320/Content%2BTypes.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;My plan was to create a search scope that pulled only on the lowest (highest?) common denominator CT, Company-Post.  I figured since the 3 below it all inherited from it, the scope would pull them.&lt;br /&gt;&lt;br /&gt;That is not the case.&lt;br /&gt;&lt;br /&gt;Well, at least not the way I was doing it.  What I ended up doing was adding rules for each CT as "include."  Not that big of an issue, but I'll just have to remember to add new rules if additional post CTs are created.&lt;br /&gt;&lt;br /&gt;Once I created the scope and kicked off a full crawl, I built a few more pieces.&lt;br /&gt;&lt;br /&gt;First, a page in Search Center with an OotB Search Core Results web part configured to pull just from that scope.  Also, I tweaked the XSL to remove the default link at the end of every result (I think it's ugly) and added Blog Name - Author - Publish Date - Comment Count.&lt;br /&gt;&lt;br /&gt;I also customized the refinement panel to show the Blog Title instead of the URL.  &lt;a href="http://twitter.com/#!/michalpisarek"&gt;Michal Pisarek&lt;/a&gt; has a few blog posts on the refinement panel that got me moving (&lt;a href="http://www.sharepointanalysthq.com/2010/06/adding-search-refiners-in-sharepoint-2010/"&gt;Post 1&lt;/a&gt;, &lt;a href="http://www.sharepointanalysthq.com/2010/06/sharepoint-2010-search-refinement-panel-options/"&gt;Post 2&lt;/a&gt;, &lt;a href="http://www.sharepointanalysthq.com/2010/06/refinement-panel-metadatathreshold-configuration/"&gt;Post 3&lt;/a&gt;).  Add his blog to your RSS reader of choice.&lt;br /&gt;&lt;br /&gt;These are the 2 metadata property mappings I added (one for comment count and the other for Site/Blog Title).  Cropped pictures show Property Name and Mapping from Search Service Metadata Property Mappings page:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-EenHOhTu6fM/Thxbt4XAp3I/AAAAAAAAAHw/EOCIlk0at-8/s1600/BlogCommentCount.png" imageanchor="1" style=""&gt;&lt;img border="0" height="24" width="320" src="http://2.bp.blogspot.com/-EenHOhTu6fM/Thxbt4XAp3I/AAAAAAAAAHw/EOCIlk0at-8/s320/BlogCommentCount.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-CbzULfE-JDU/ThxbxowS3OI/AAAAAAAAAH4/jmibuyI2hpo/s1600/SiteTitle.png" imageanchor="1" style=""&gt;&lt;img border="0" height="25" width="267" src="http://3.bp.blogspot.com/-CbzULfE-JDU/ThxbxowS3OI/AAAAAAAAAH4/jmibuyI2hpo/s320/SiteTitle.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;After mapping those, it does require a crawl.  I did a couple of full crawls while doing this, but that's in a test/dev environment.  When I push to production, I'll wait until everything is in place.&lt;br /&gt;&lt;br /&gt;The other piece I added was a simple search box to the post.aspx and default.aspx of each blog with a target results page of the Search Center page above and the scope set to the custom scope.&lt;br /&gt;&lt;br /&gt;That's it!  Very simple implementation.  No custom code or even SharePoint Designer required!  I did use Visual Studio to edit the XSL, but that's just because I have it and am comfortable with it's XML/XSL editing functionality.  I'm sure there are several equally useful free tools out there as well.&lt;br /&gt;&lt;br /&gt;One neat trick with the search results web parts.  If you can't remember the XML structure of the results query, drop this into the XSL:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-Dz16XFN1tzU/ThxYCVWv8eI/AAAAAAAAAHo/bvxSDyz_ndk/s1600/xmp.png" imageanchor="1" style=""&gt;&lt;img border="0" height="80" width="320" src="http://3.bp.blogspot.com/-Dz16XFN1tzU/ThxYCVWv8eI/AAAAAAAAAHo/bvxSDyz_ndk/s320/xmp.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4095265900882936349-5775423733922937229?l=sharepointtherapy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sharepointtherapy.blogspot.com/feeds/5775423733922937229/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sharepointtherapy.blogspot.com/2011/07/new-job-and-fun-with-search.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4095265900882936349/posts/default/5775423733922937229'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4095265900882936349/posts/default/5775423733922937229'/><link rel='alternate' type='text/html' href='http://sharepointtherapy.blogspot.com/2011/07/new-job-and-fun-with-search.html' title='New Job and Fun with Search Customization'/><author><name>Sam</name><uri>http://www.blogger.com/profile/11704370531507605440</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-pOQpgUeTfeQ/ThxJg06ejaI/AAAAAAAAAHQ/ZqjAsuvaQTc/s72-c/Content%2BTypes.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4095265900882936349.post-5114771517168361354</id><published>2011-01-03T15:25:00.000-06:00</published><updated>2011-01-03T15:25:34.956-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Visual Upgrade'/><category scheme='http://www.blogger.com/atom/ns#' term='SharePoint 2010'/><category scheme='http://www.blogger.com/atom/ns#' term='feature'/><category scheme='http://www.blogger.com/atom/ns#' term='Database'/><category scheme='http://www.blogger.com/atom/ns#' term='Powershell'/><category scheme='http://www.blogger.com/atom/ns#' term='Microsoft Tech Support'/><title type='text'>SharePoint 2010 Migration Hell - Part 2</title><content type='html'>Now that I've flogged Microsoft Tech Support for their inability to resolve my issue, let's actually fix this thing.&lt;br /&gt;&lt;br /&gt;I was still stumped as I had exhausted Google.  We called in the consultant again and gave him some of the information found during the tech support debacle.&lt;br /&gt;&lt;br /&gt;1.  Database upgrade status was "database is up to date, but some sites are not completely upgraded."&lt;br /&gt;2.  A feature was not properly removed from the 2007 farm before upgrade.  It was a custom InfoPath template.&lt;br /&gt;&lt;br /&gt;He plugged away at this issue with a backup of the database in his development environment.  He found an answer after about a week (this was the week before Christmas so the Microsoft ticket had been open for about a month).&lt;br /&gt;&lt;br /&gt;Here's the Plan of Action:&lt;br /&gt;&lt;br /&gt;-Mark the Database as read-only&lt;br /&gt;-backup and copy to "Fix-up" environment (a clean 2010 farm).&lt;br /&gt;-Delete site that had the bad feature issue.&lt;br /&gt;-Apply August CU's to farm.&lt;br /&gt;-Run Upgrade Powershell command.&lt;br /&gt;-Confirm database reads "No action required."&lt;br /&gt;-Reattach to production&lt;br /&gt;-Test&lt;br /&gt;&lt;br /&gt;6 hour scheduled downtime and we were done in 6 hours.  Plus, the site stayed up in read-only mode during the whole thing.  No "real" downtime.&lt;br /&gt;&lt;br /&gt;The root cause comes down to a feature that wasn't removed properly before the migration not allowing the primary site collection to upgrade.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4095265900882936349-5114771517168361354?l=sharepointtherapy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sharepointtherapy.blogspot.com/feeds/5114771517168361354/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sharepointtherapy.blogspot.com/2011/01/sharepoint-2010-migration-hell-part-2.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4095265900882936349/posts/default/5114771517168361354'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4095265900882936349/posts/default/5114771517168361354'/><link rel='alternate' type='text/html' href='http://sharepointtherapy.blogspot.com/2011/01/sharepoint-2010-migration-hell-part-2.html' title='SharePoint 2010 Migration Hell - Part 2'/><author><name>Sam</name><uri>http://www.blogger.com/profile/11704370531507605440</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4095265900882936349.post-7146426394772981803</id><published>2011-01-03T14:59:00.000-06:00</published><updated>2011-01-03T14:59:11.054-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Visual Upgrade'/><category scheme='http://www.blogger.com/atom/ns#' term='SharePoint 2010'/><category scheme='http://www.blogger.com/atom/ns#' term='Sites'/><category scheme='http://www.blogger.com/atom/ns#' term='Microsoft Tech Support'/><title type='text'>SharePoint 2010 Migration Hell - Part 1</title><content type='html'>I started the upgrade from MOSS to SharePoint Server 2010 back in October.  It was a database attach migration and the visual upgrade was not to be applied until 3 or 4 weeks later (time needed to train contributors).  Everything seemed to go just fine after a couple of test runs on the new farm, so we proceeded with the migration. Other than typical User Profile Service stuff, everything seemed successful.&lt;br /&gt;&lt;br /&gt;NOTE: This is all done in production as there isn't a test environment.  Yes, I know, I NEED one, but there just hasn't been any time for my team of me, myself, and I to get to that project.&lt;br /&gt;&lt;br /&gt;However, when I went to prepare for the visual upgrade, demons from Hell exploded from my farm.  Seeing as I was short a Golden Child (apparently, Eddie Murphy didn't protect him after his return to Tibet), I had to actually address the issues (no, I can't make Pepsi can dancers).&lt;br /&gt;&lt;br /&gt;The issue that first arose after trying to apply the visual upgrade was: "One or more field types are not installed properly. Go to the list settings page to delete these fields."  This happened on any page I tried to edit.  I followed it back to the Relationships List (&lt;a href="http://social.technet.microsoft.com/Forums/en/sharepoint2010setup/thread/a30f0ffd-782f-4d4a-9c22-b92bac0fad4f"&gt;http://social.technet.microsoft.com/Forums/en/sharepoint2010setup/thread/a30f0ffd-782f-4d4a-9c22-b92bac0fad4f&lt;/a&gt;).  I tried the changes as stated, but that only seemed to fix a small part of the problem as the pages continued to display errors.  At this point, I rolled back to v3.&lt;br /&gt;&lt;br /&gt;After that process that would cause most people to start drinking, or at least quit, I pulled out my shovel and started digging through the log files and event viewer.  Eventually, I hit a wall (at the time, I was wishing that was a literal statement) and after having baffled our consultant, I called Microsoft Tech Support.  &lt;br /&gt;&lt;br /&gt;Well, this was about as useful as asking my 3-year-old for help.  After playing phone tag for a week I finally got to talk to someone.  At this point it was the day before Thanksgiving.  After having a look at the log files, the tech, Mukesh, wanted to perform some steps in a short downtime.  Management approved a 30-minute window in the middle of the day as that's all Mukesh said would be needed.  All he wanted to do was detach the content databases from the main web app and reconnect them to a test web app that was created after the migration.&lt;br /&gt;&lt;br /&gt;*SNAP* goes the Error Demon's whip.  &lt;br /&gt;&lt;br /&gt;The attach fails (I think it was due to the fact that our master page has a custom web part built in it and we didn't tweak the web.config, but Mukesh wasn't listening).  Ok, so reattach to main and we'll be back up.&lt;br /&gt;&lt;br /&gt;*SNAP*  At this point the Error Demon is laughing maniacally. &lt;br /&gt;&lt;br /&gt;The reattach didn't bring the site back up.  This is around the 45-minute mark of the 30-minute downtime.  So Mukesh has me try many other things over the next few hours (AAM's, IIS host headers, host files, web.configs, etc.).  Around 4:45pm (3.75 hours into the .5 hour window), he decides that it's a Network issue and sends it into the Network team's queue.  His lead told me that the Network team would contact me within the hour.&lt;br /&gt;&lt;br /&gt;5:45 - I call the operator line.  It was assigned to Network and I should receive a call "soon."&lt;br /&gt;&lt;br /&gt;6:30 - Status is still "soon."  Mukesh's lead was wrong about 1 hour callback.  That's only for Premier customers, not standard Enterprise Agreement customers.&lt;br /&gt;&lt;br /&gt;7:15 - Operator can't see that there is an assigned tech.  Calls Mukesh's team, but gets no answer.  While on hold, I get a call from Sameer with the Network team.  Operator transfers me at 7:45.&lt;br /&gt;&lt;br /&gt;7:45 - Sameer wants to see load balancing info.  After telling him that we don't use Windows Load Balancing, he says he can't help because it's not supported.  He says the SharePoint team will have to work on it (you know, that same team from before that was of so much help).  He leaves a message for the SharePoint team lead.&lt;br /&gt;&lt;br /&gt;8:50 - Sameer calls back asking if I had heard from the SP team.  After telling him I hadn’t, he said I would need to call the operator to get in contact with them.&lt;br /&gt;&lt;br /&gt;9:05 - Operator Camille emails manager on duty and is notifying her supervisor of the issues and trying to expedite the call back.  Said she will contact me when she gets more info.&lt;br /&gt;&lt;br /&gt;9:24 - Camille says the manager is assigning the ticket and that I should receive a call “soon.”&lt;br /&gt;&lt;br /&gt;10:38 - was told that the SharePoint manager put me next in line, but does not know when the next tech will be available.&lt;br /&gt;&lt;br /&gt;10:55 - call from tech support (Bharat).  Finally figured out, after reading the logs (same logs sent to Mukesh), that the Office Web Cache Creation job was failing.  Did a remove via Powershell and it started functioning again.&lt;br /&gt;&lt;br /&gt;1:30am Thursday - walk out with a site back up, but no closer to a resolution on the original issue.&lt;br /&gt;&lt;br /&gt;There was another run-in with tech support the next Wednesday.  Basically, same process and similar resolution (had to run the upgrade to get the site collection to respond).&lt;br /&gt;&lt;br /&gt;This turned a bit longer than expected, but I wanted people to know about the whole experience including the chaos that was tech support.  Up to this point the tech support stats finished at:&lt;br /&gt;&lt;br /&gt;Planned time down: 1.5 hours&lt;br /&gt;Total time down: 15 hours&lt;br /&gt;Tickets opened: 2&lt;br /&gt;Tickets closed: 0&lt;br /&gt;Tickets refunded: 1 (but will try to get #2 refunded)&lt;br /&gt;Migraines: numerous&lt;br /&gt;Understanding of where THE postal worker was coming from (you know the guy who went "postal"): YES&lt;br /&gt;&lt;br /&gt;The next entry will actually resolve the issue.  I swear.  No three-part blog.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4095265900882936349-7146426394772981803?l=sharepointtherapy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sharepointtherapy.blogspot.com/feeds/7146426394772981803/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sharepointtherapy.blogspot.com/2011/01/sharepoint-2010-migration-hell-part-1.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4095265900882936349/posts/default/7146426394772981803'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4095265900882936349/posts/default/7146426394772981803'/><link rel='alternate' type='text/html' href='http://sharepointtherapy.blogspot.com/2011/01/sharepoint-2010-migration-hell-part-1.html' title='SharePoint 2010 Migration Hell - Part 1'/><author><name>Sam</name><uri>http://www.blogger.com/profile/11704370531507605440</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4095265900882936349.post-4436822375512564197</id><published>2010-11-11T09:46:00.000-06:00</published><updated>2010-11-11T10:43:06.718-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Visual Upgrade'/><category scheme='http://www.blogger.com/atom/ns#' term='.wsp'/><category scheme='http://www.blogger.com/atom/ns#' term='SharePoint 2010'/><category scheme='http://www.blogger.com/atom/ns#' term='solution'/><category scheme='http://www.blogger.com/atom/ns#' term='Migration'/><category scheme='http://www.blogger.com/atom/ns#' term='Harbar.net'/><title type='text'>SharePoint 2010 Tidbits</title><content type='html'>I wasn't lying before, I'm really going to start posting more.  Here's a few things I've learned with the recent migration from 2007 to 2010.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Right-click to Add Solution&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;This is all thanks to &lt;a href="http://twitter.com/harbars"&gt;Spencer Harbar's&lt;/a&gt; post on a Registry edit called: &lt;a href="http://www.harbar.net/archive/2007/04/25/Rightclick-a-.WSP-to-Add-Solution.aspx"&gt;Right-click a .WSP to Add Solution&lt;/a&gt;.  &lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;open notepad&lt;/li&gt;&lt;li&gt;copy the code from Spencer's blog post (linked above). Change the 12 in the [HKEY_CLASSES_ROOT\wspfile\shell\Add Solution\command] to 14.&lt;/li&gt;&lt;li&gt;save as a .reg file&lt;/li&gt;&lt;li&gt;open regedit&lt;/li&gt;&lt;li&gt;import the file&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;14-Hive Environment Variable&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Create a Windows Environment Variable for the 14 folder.  I've been doing this since SharePoint 2003, but it makes things much easier.  Instructions...&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Right-click Computer &gt; Properties &gt; Advanced System Settings &gt; Environment Variables&lt;/li&gt;&lt;li&gt;Click New&lt;/li&gt;&lt;li&gt;Set Name to "14" and Value to "C:\Program Files\Common Files\Microsoft Shared\web server extensions\14"&lt;/li&gt;&lt;li&gt;Click all the Ok buttons.&lt;/li&gt;&lt;li&gt;Open Windows Explorer and navigate to %14%&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;b&gt;Visually Upgrading Publishing Sites&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Ran into an issue where I was getting a "One or more field types are not installed properly" error.  Come to find out (in my case) that the hidden list "Relationship List" has a different field than in 2007 and it isn't added on migration or visual upgrade.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://social.technet.microsoft.com/Forums/en/sharepoint2010setup/thread/a30f0ffd-782f-4d4a-9c22-b92bac0fad4f"&gt;TechNet found the answer&lt;/a&gt;.  I'm 95% tested on it, but looks like the answer.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Rollback Visual upgrade&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Found out there is a way through code or PowerShell to do a visual upgrade rollback.  Thankfully it exists because my dev environment had hard-coded links to production, so I accidentally upgraded there.  Thanks to &lt;a href="http://twitter.com/SharePointMedic"&gt;Dirk Van den Berghe&lt;/a&gt; for the &lt;a href="http://dirkvandenberghe.com/archive/2009/12/04/revert-a-sharepoint-2010-site-to-the-wss3-0-moss2007-look-after-visual-upgrade.aspx"&gt;post&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4095265900882936349-4436822375512564197?l=sharepointtherapy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sharepointtherapy.blogspot.com/feeds/4436822375512564197/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sharepointtherapy.blogspot.com/2010/11/sharepoint-2010-tidbits.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4095265900882936349/posts/default/4436822375512564197'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4095265900882936349/posts/default/4436822375512564197'/><link rel='alternate' type='text/html' href='http://sharepointtherapy.blogspot.com/2010/11/sharepoint-2010-tidbits.html' title='SharePoint 2010 Tidbits'/><author><name>Sam</name><uri>http://www.blogger.com/profile/11704370531507605440</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4095265900882936349.post-3720545314299809810</id><published>2010-09-24T13:34:00.000-05:00</published><updated>2010-09-24T13:34:17.382-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SharePoint 2010; New Horizons; Branding; Migration'/><title type='text'>Blog is back</title><content type='html'>Sorry, loyal readers (all 2 of you), that I've been away since May. Between work and family, there just hasn't been time or, more importantly, drive. &lt;br /&gt;&lt;br /&gt;In late June my wife and I greeted baby #2. He's doing well, but is obviously a handful. Big sister is happy, but at three, is a different type of handful.&lt;br /&gt;&lt;br /&gt;On the professional side, I've been working on several small projects that really didn't warrant any knowledge sharing. However, I'm now looking down the barrel of two big projects. The first is migrating to SharePoint 2010, and the other is a full site redesign with branding. Expect to see something from me about these projects as I'm sure I'll find a few useful things to share. At the very least, I'll post pictures of the clumps of hair I pulled out during the projects.&lt;br /&gt;&lt;br /&gt;I'm currently in a SharePoint 2010 Administration training course at &lt;a href="http://www.newhorizons.com/localweb/default.aspx?groupid=419"&gt;New Horizons&lt;/a&gt; (literally, in it. Waiting for my scripted farm backup to finish right now). It's been pretty informative. I hope I can get management to pony up for the exams that relate. I'd like to work my way to a &lt;a href="http://www.microsoft.com/learning/en/us/certification/master.aspx"&gt;Microsoft Certified Master&lt;/a&gt; certification.&lt;br /&gt;&lt;br /&gt;I look forward to being more active in the near future. Maybe I'll actually get 4-6 more posts up by the end of the year.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4095265900882936349-3720545314299809810?l=sharepointtherapy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sharepointtherapy.blogspot.com/feeds/3720545314299809810/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sharepointtherapy.blogspot.com/2010/09/blog-is-back.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4095265900882936349/posts/default/3720545314299809810'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4095265900882936349/posts/default/3720545314299809810'/><link rel='alternate' type='text/html' href='http://sharepointtherapy.blogspot.com/2010/09/blog-is-back.html' title='Blog is back'/><author><name>Sam</name><uri>http://www.blogger.com/profile/11704370531507605440</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4095265900882936349.post-398671849518928836</id><published>2010-05-11T14:57:00.000-05:00</published><updated>2010-05-11T14:57:46.738-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='VPN'/><category scheme='http://www.blogger.com/atom/ns#' term='VM'/><category scheme='http://www.blogger.com/atom/ns#' term='Virtual machines'/><category scheme='http://www.blogger.com/atom/ns#' term='ShrewSoft'/><category scheme='http://www.blogger.com/atom/ns#' term='Lenovo'/><category scheme='http://www.blogger.com/atom/ns#' term='Virt'/><category scheme='http://www.blogger.com/atom/ns#' term='SharePoint'/><category scheme='http://www.blogger.com/atom/ns#' term='Windows 7'/><category scheme='http://www.blogger.com/atom/ns#' term='VMWare Server'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL Server'/><title type='text'>Issue with Windows 7 hosting VMWare Server</title><content type='html'>Well, I reformatted the Lenovo w500 a couple of weeks ago.  I installed Windows 7 Ultimate x64 and loaded all the important client applications: Office 2010, Google Chrome, TweetDeck, Office Communicator, Windows Live Messenger, etc.  I intentionally didn't join it to the domain because of some oddities with group policies (ie. I can't access office clients offline because there are some folders on network shares).&lt;br /&gt;&lt;br /&gt;I installed VMWare Server 2.0 so I could host Windows Server development environments for SharePoint 2007 and SharePoint 2010.  I ran into an issue with my first virt where it couldn't be joined to the domain.  We checked a bunch of networking stuff that I just don't know much about and realized that the virt couldn't resolve DNS.  I could ping IP addresses, but the DNS entries would fail.  I was suggested to make sure that Windows 7 was a supported host OS.  I started crawling the site and employed Google to find an answer.  Here's the link to the solution (in my case): &lt;br /&gt;&lt;br /&gt;http://communities.vmware.com/thread/253458;jsessionid=9B5D43619406858AAE2542EC8BE99919?tstart=0&lt;br /&gt;&lt;br /&gt;Turns out that the VPN client I use, ShrewSoft, has a service running for DNS Proxy that was messing up DNS resolution.  I disabled the ShrewSoft DNS Proxy Daemon and it works just fine.  Now my virt is part of the domain, my host isn't, and I'm currently installing SQL Server 2008 Enterprise on my SharePoint 2010 virt.&lt;br /&gt;&lt;br /&gt;Thanks VMWare Communities!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4095265900882936349-398671849518928836?l=sharepointtherapy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sharepointtherapy.blogspot.com/feeds/398671849518928836/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sharepointtherapy.blogspot.com/2010/05/issue-with-windows-7-hosting-vmware.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4095265900882936349/posts/default/398671849518928836'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4095265900882936349/posts/default/398671849518928836'/><link rel='alternate' type='text/html' href='http://sharepointtherapy.blogspot.com/2010/05/issue-with-windows-7-hosting-vmware.html' title='Issue with Windows 7 hosting VMWare Server'/><author><name>Sam</name><uri>http://www.blogger.com/profile/11704370531507605440</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4095265900882936349.post-8647841555442194245</id><published>2010-05-03T10:04:00.000-05:00</published><updated>2010-05-11T14:37:33.154-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Carl Franklin'/><category scheme='http://www.blogger.com/atom/ns#' term='.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='Visual Studio 2010'/><category scheme='http://www.blogger.com/atom/ns#' term='Mondays'/><category scheme='http://www.blogger.com/atom/ns#' term='Silverlight'/><category scheme='http://www.blogger.com/atom/ns#' term='Load Testing'/><category scheme='http://www.blogger.com/atom/ns#' term='Flash'/><category scheme='http://www.blogger.com/atom/ns#' term='DotNetRocks'/><category scheme='http://www.blogger.com/atom/ns#' term='Richard Campbell'/><title type='text'>DotNetRocks Roadtrip</title><content type='html'>Last Thursday (4/29/2010), Carl Franklin and Richard Campbell rolled into town for one of several stops across the country to talk .NET. &amp;nbsp;They were highlighting new features in Visual Studio 2010. &amp;nbsp;Richard talked load-testing. &amp;nbsp;I'm sure I should probably be doing more organized testing than "well, it hasn't broke after 48 hours in production" methods, but I was still intrigued. &amp;nbsp;Maybe one day I'll find time to incorporate REAL testing into the development schedule.&lt;br /&gt;&lt;br /&gt;Carl discussed Silverlight. &amp;nbsp;For those of you who are unfamiliar with it, I liken it to Adobe's Flash. &amp;nbsp;I'm sure both Adobe and Microsoft are now penning cease-and-desist orders for making that comparison for differing reasons, but tough. &amp;nbsp;That's how I see it. &amp;nbsp;They both require a client download and they both are used to make things "prettier." &amp;nbsp;That being said, I've had an interest in Silverlight because it uses .NET for its code as opposed to ActionScript (like I have any time to learn a new language). &amp;nbsp;Apparently, version 4 is making things insanely easy to do cool things. &amp;nbsp;Adding a timer on a video is a matter of a single tag. &amp;nbsp;That was awesome because adding status bars or something similar seemed to take several lines of code to make it work before.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;They also did a live episode of DotNetRocks with Kate Gregory. &amp;nbsp;If you haven't figured it out yet, DotNetRocks is a podcast about Microsoft technology development which is based on the .NET framework. &amp;nbsp;Kate discussed Windows programming and while C++ is a language I always thought I'd pay to forget, I might be having a change of heart. &amp;nbsp;The ability to customize the Windows 7 jump lists is worth investigating. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Overall, the show was awesome. &amp;nbsp;I didn't win any of the free stuff, but that's no big deal. &amp;nbsp;I would love to see someone do a similar event with SharePoint (HINT, HINT Andrew Connell, John Holliday, etc.)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Admittedly, I'm not an avid listener of DotNetRocks, but I'm going to start&amp;nbsp;queuing&amp;nbsp;up some episodes. &amp;nbsp;I knew of Carl and Richard from their other podcast, Mondays. &amp;nbsp;A show that used to be weekly but is now about twice a year, unfortunately.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4095265900882936349-8647841555442194245?l=sharepointtherapy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sharepointtherapy.blogspot.com/feeds/8647841555442194245/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sharepointtherapy.blogspot.com/2010/05/dotnetrocks-roadtrip.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4095265900882936349/posts/default/8647841555442194245'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4095265900882936349/posts/default/8647841555442194245'/><link rel='alternate' type='text/html' href='http://sharepointtherapy.blogspot.com/2010/05/dotnetrocks-roadtrip.html' title='DotNetRocks Roadtrip'/><author><name>Sam</name><uri>http://www.blogger.com/profile/11704370531507605440</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4095265900882936349.post-3438188494066705225</id><published>2010-04-21T13:22:00.000-05:00</published><updated>2010-04-21T13:22:19.489-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='List Items'/><category scheme='http://www.blogger.com/atom/ns#' term='School'/><category scheme='http://www.blogger.com/atom/ns#' term='Holliday'/><category scheme='http://www.blogger.com/atom/ns#' term='development'/><category scheme='http://www.blogger.com/atom/ns#' term='Hillier'/><category scheme='http://www.blogger.com/atom/ns#' term='Lindenwood'/><category scheme='http://www.blogger.com/atom/ns#' term='Masters'/><category scheme='http://www.blogger.com/atom/ns#' term='SharePoint'/><category scheme='http://www.blogger.com/atom/ns#' term='Lindenwood University'/><category scheme='http://www.blogger.com/atom/ns#' term='Critical Path Training'/><category scheme='http://www.blogger.com/atom/ns#' term='Connell'/><category scheme='http://www.blogger.com/atom/ns#' term='Site Collection'/><category scheme='http://www.blogger.com/atom/ns#' term='Sites'/><title type='text'>Final School Update and some SharePoint Thoughts</title><content type='html'>Well, I was going to continue this quarter with a Project Management cluster, but I have 3 major projects that are ramping up at work and baby #2 is due right after the quarter would end. &amp;nbsp;The workload the teacher was assigning was just too much to keep up with around all of that so I dropped it.&lt;br /&gt;&lt;br /&gt;I'm thinking it will be a while before I start back up again. &amp;nbsp;The wife and I were talking about it and there's just so much work involved that I'll lose out on family time. &amp;nbsp;My daughter is turning 3 so we'll have 2 under 4 years. &amp;nbsp;There's a bunch of fun stuff that I don't want to miss out on so odds are I'll wait until later. &amp;nbsp;I'm thinking to start up again when they're teenagers and are going through that "I hate my parents" stage.&lt;br /&gt;&lt;br /&gt;To recap last quarter, I finished with 2 A's and a B. &amp;nbsp;I missed a class because I was sick and that probably did in the third A. &amp;nbsp;That's quite unfortunate, but I'll take what I got.&lt;br /&gt;&lt;br /&gt;Some quick hits that are SharePoint related:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Security-trimmed columns should have been available in MOSS. &amp;nbsp;The only answer I found was to hide the few from crawling that are deemed high security and then remove from view and edit forms.&lt;/li&gt;&lt;li&gt;The company bought me a bunch of SharePoint tech manuals. &amp;nbsp;I'm hoping to do some detailed skimming over the next several weeks and try to provide some reviews. &amp;nbsp;Here's a list of the books (&lt;b&gt;Title&lt;/b&gt; - Authors - Publisher):&lt;/li&gt;&lt;ul&gt;&lt;li&gt;&lt;b&gt;SharePoint 2007 Web Content Management Development&lt;/b&gt; - Connell - Wrox&lt;/li&gt;&lt;li&gt;&lt;b&gt;SharePoint 2007 Design&lt;/b&gt; - Sanford, Drisgill, Drinkwine, Cavusoglu - Wrox&lt;/li&gt;&lt;li&gt;&lt;b&gt;Real World SharePoint 2007&lt;/b&gt; - Hillier - Wrox&lt;/li&gt;&lt;li&gt;&lt;b&gt;SharePoint 2007 Development&lt;/b&gt; - Holliday, Alexander, Julian, Robilard, Schwartz, Ranlett, Attis, Buenz, Rizzo - Wrox&lt;/li&gt;&lt;li&gt;&lt;b&gt;Inside the Index and Search Engines: Office SharePoint Server 2007&lt;/b&gt; - Tisseghem, Fastrup - Microsoft&lt;/li&gt;&lt;li&gt;&lt;b&gt;Microsoft SharePoint 2007 Unleashed&lt;/b&gt; - Noel, Spence - SAMS&lt;/li&gt;&lt;li&gt;&lt;b&gt;Beginning SharePoint 2007 Administration&lt;/b&gt; - Husman - Wrox&lt;/li&gt;&lt;li&gt;&lt;b&gt;Workflow in the 2007 Microsoft Office System&lt;/b&gt; - Mann - APress&lt;/li&gt;&lt;li&gt;&lt;b&gt;Professional Windows PowerShell&lt;/b&gt; - Watt - Wrox&lt;/li&gt;&lt;li&gt;&lt;b&gt;Building the SharePoint User Experience&lt;/b&gt; - Furuknap - APress&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;If you're interested in SharePoint 2010 and aren't watching the free webcasts by&amp;nbsp;&lt;a href="http://www.criticalpathtraining.com/Pages/default.aspx"&gt;Critical Path Training&lt;/a&gt;, then your really missing out. &amp;nbsp;I've watched chunks of the 3 that have released. &amp;nbsp;These are quality presenters. &amp;nbsp;Actually, many of the names are on the list of authors above or have written other SharePoint books. &amp;nbsp;There's 7 more scheduled (series of 10 for those of you not wanting to do the math). &amp;nbsp;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4095265900882936349-3438188494066705225?l=sharepointtherapy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sharepointtherapy.blogspot.com/feeds/3438188494066705225/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sharepointtherapy.blogspot.com/2010/04/final-school-update-and-some-sharepoint.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4095265900882936349/posts/default/3438188494066705225'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4095265900882936349/posts/default/3438188494066705225'/><link rel='alternate' type='text/html' href='http://sharepointtherapy.blogspot.com/2010/04/final-school-update-and-some-sharepoint.html' title='Final School Update and some SharePoint Thoughts'/><author><name>Sam</name><uri>http://www.blogger.com/profile/11704370531507605440</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4095265900882936349.post-7137078994557307874</id><published>2010-03-23T07:50:00.000-05:00</published><updated>2010-04-17T21:03:11.288-05:00</updated><title type='text'>Plagiarism is Bad</title><content type='html'>So, there's a guy out there plagiarizing other developers' work. &amp;nbsp;Whitepapers, articles, etc. &amp;nbsp;Brent Ozar has had some work stolen by this guy. &amp;nbsp;Here's a link to Brent's blog post on Captain Lowlife, as I'll call him. &amp;nbsp;&lt;a href="http://www.brentozar.com/archive/2010/03/plagiarism-inspiration-and-john-dunleavy/"&gt;http://www.brentozar.com/archive/2010/03/plagiarism-inspiration-and-john-dunleavy/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.brentozar.com/archive/2010/03/plagiarism-inspiration-and-john-dunleavy/"&gt;&lt;/a&gt;&lt;s&gt;I'm not using his name or his company name (which he is the owner of) because I don't want to help his search results, but I would suggest staying away from a company that uses other peoples' work in their blog. &amp;nbsp;Sounds like he might have a hard time doing the actual work himself.&lt;/s&gt;&lt;br /&gt;&lt;br /&gt;UPDATE: I decided to post his name and company after all. &amp;nbsp;Might as well associate them with plagiarism. &amp;nbsp;His name is John Dunleavy, owner of SQLTech Consulting.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4095265900882936349-7137078994557307874?l=sharepointtherapy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sharepointtherapy.blogspot.com/feeds/7137078994557307874/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sharepointtherapy.blogspot.com/2010/03/plagiarism-is-bad.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4095265900882936349/posts/default/7137078994557307874'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4095265900882936349/posts/default/7137078994557307874'/><link rel='alternate' type='text/html' href='http://sharepointtherapy.blogspot.com/2010/03/plagiarism-is-bad.html' title='Plagiarism is Bad'/><author><name>Sam</name><uri>http://www.blogger.com/profile/11704370531507605440</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4095265900882936349.post-7692186627138053332</id><published>2010-03-17T15:28:00.000-05:00</published><updated>2010-03-17T15:28:51.745-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Captain N'/><category scheme='http://www.blogger.com/atom/ns#' term='Vienna Sausages'/><category scheme='http://www.blogger.com/atom/ns#' term='My Sites'/><category scheme='http://www.blogger.com/atom/ns#' term='SharePoint'/><category scheme='http://www.blogger.com/atom/ns#' term='Site Collection'/><category scheme='http://www.blogger.com/atom/ns#' term='Central Admin'/><category scheme='http://www.blogger.com/atom/ns#' term='Web Application'/><category scheme='http://www.blogger.com/atom/ns#' term='Sites'/><title type='text'>How to Re-Create My Sites</title><content type='html'>I'm sure this is a "Duh!" moment to many, but I was worried I wasn't ever going to have a functioning My Sites. &amp;nbsp;When the new server farm was built, I was working on another project so I didn't have any, or very little, say in how it was built out by the consultant. &amp;nbsp;He built it out with My Sites pointing to http://mysites:80. &amp;nbsp;That would be all fine and good, but that isn't a valid URL. &amp;nbsp;We don't have a server named mysites and the alias (I forget the real term) is not in DNS or Alternate Access Mappings (which don't matter because DNS doesn't recognize it). &amp;nbsp;It didn't seem that there was even a Web Application for it, either.&lt;br /&gt;&lt;br /&gt;So, I thought, how do I remedy this? &amp;nbsp;I poked around Central Admin hoping for something to jump out of my monitor and slap me in the face. &amp;nbsp;Well, after a while I realized that my monitor isn't even 3-D ready, much less capable of &lt;a href="http://en.wikipedia.org/wiki/Captain_N:_The_Game_Master"&gt;Captain N&lt;/a&gt; moment. TANGENT: This was one of my favorite cartoons when I was younger. &amp;nbsp;I watched it again thanks to YouTube and Netflix...not so impressed. &amp;nbsp;Isn't that the case with childhood enjoyment? &amp;nbsp;Same thing with &lt;a href="http://en.wikipedia.org/wiki/Vienna_sausage"&gt;Vienna&amp;nbsp;Sausages&lt;/a&gt;. &amp;nbsp;I couldn't imagine eating them now.&lt;br /&gt;&lt;br /&gt;Back on topic...&lt;br /&gt;&lt;br /&gt;So I started playing on my development machine with the various Site Templates that are available. &amp;nbsp;Come to find out (here's the "Duh!") that My Sites has an Enterprise Template. &amp;nbsp;I created a new Web Application, created a Site Collection and used the My Sites template for the root site, and I was good to go. &amp;nbsp;One thing to note, check Shared Services to make sure the Preferred Search Center URL is set to what you want and Personal Site Services URL is the new Site URL.&lt;br /&gt;&lt;br /&gt;Well, that rounds up this session. &amp;nbsp;I don't know when the next one will be scheduled. &amp;nbsp;I'm playing with a new design, so that should provide ample hair pulling as I absolutely despise CSS. &amp;nbsp;I know it's useful and all, but CSS and SharePoint 2007 mix like oil and water.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4095265900882936349-7692186627138053332?l=sharepointtherapy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sharepointtherapy.blogspot.com/feeds/7692186627138053332/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sharepointtherapy.blogspot.com/2010/03/how-to-re-create-my-sites.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4095265900882936349/posts/default/7692186627138053332'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4095265900882936349/posts/default/7692186627138053332'/><link rel='alternate' type='text/html' href='http://sharepointtherapy.blogspot.com/2010/03/how-to-re-create-my-sites.html' title='How to Re-Create My Sites'/><author><name>Sam</name><uri>http://www.blogger.com/profile/11704370531507605440</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4095265900882936349.post-2403985644428361443</id><published>2010-03-09T16:01:00.000-06:00</published><updated>2010-03-09T16:01:38.545-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='School'/><category scheme='http://www.blogger.com/atom/ns#' term='Lindenwood'/><category scheme='http://www.blogger.com/atom/ns#' term='Lindenwood University'/><title type='text'>The fire's not as hot as expected (update on graduate degree classes)</title><content type='html'>Well, this quarter hasn't been as hard as expected. &amp;nbsp;It HAS cut into some family time, but that's been limited to primarily time with my wife as I typically wait until after 8pm, when my daughter goes to bed, to start working on projects. &amp;nbsp;The wife is cool with it, though, as she understands the long-term benefit.&lt;br /&gt;&lt;br /&gt;So far, there have been 2 papers, 1 3-5 page, 1 7-10, and another 7-10 page paper is due Thursday. &amp;nbsp;I've also given 2 of 3 12-23 minute presentations and have taken 2 of 3 quizzes. &amp;nbsp;I still intend to share the papers and presentations, but I haven't figured out how and when. &amp;nbsp;NOTE: If you intend to plagiarize any of them, the school submits them to an online system. &amp;nbsp;That system is used by several schools to validate students' papers against. &amp;nbsp;Also, while I know I'm a procrastinator, I'd still like to think that my effort is worth a simple reference on your Works Cited page, so, if you're going to use my work, please use it the right way.&lt;br /&gt;&lt;br /&gt;Alright, I'll get off my soapbox. &amp;nbsp;So the papers, including the one due this week, have these topics:&lt;br /&gt;&lt;br /&gt;Paper #1: Benefits and Constraints of Internet Marketing&lt;br /&gt;Paper #2: History of Social Networking&lt;br /&gt;Paper #3: Creating and Maintaining a Corporate Intranet Built on Microsoft SharePoint&lt;br /&gt;&lt;br /&gt;The "History of Social Networking" paper was really interesting. &amp;nbsp;Interesting tidbits from my research include:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Facebook was based off of a drunken Mark Zuckerberg prank (sourced in the paper...not my assumption/claim...Facebook/Zuckerberg, I'm not looking for a libel suit if this, in fact, inaccurate. &amp;nbsp;I'll sell out my source in a heartbeat.)&lt;/li&gt;&lt;li&gt;Do you remember a site called SixDegrees.com? I don't, but it was apparently the first social network that resembled the current powerhouses of the genre.&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;The 2 presentations have been about:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Presentation #1: Contemporary Issues in Intranet Administration&lt;/div&gt;&lt;div&gt;Presentation #2: Review of NewEgg's Web Presence&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Both were interesting to work on, but I never realized that NewEgg was more than just NewEgg.com. &amp;nbsp;They own NewEggBusiness (tech products and office supplies geared toward, you guessed it, businesses), EggXpert (blogs, forums, chat, etc. &amp;nbsp;Read: free tech support), and NewEggMall (think Ebay Stores minus the listing fee). &amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;It's been a pretty informative class. &amp;nbsp;In fact, it's the first time that I can remember where I actually pay attention the entire class! &amp;nbsp;That might be the reason I was only a 3.3 student in high school and less than that during my undergrad.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I've already registered for next quarter. &amp;nbsp;It's a Project Management cluster. &amp;nbsp;My other option was Data Warehouses and Data Mining. &amp;nbsp;I'm just not sure that's something I care enough about to sign up for. &amp;nbsp;I probably should, but I just don't. &amp;nbsp;Plus, the Project Management block is one of the three required blocks, so I figured I should just knock those out when I can.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Here's a quick point check on the assignments, if you really care:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Paper #1: 145/150&lt;/div&gt;&lt;div&gt;Paper #2: 149/150&lt;/div&gt;&lt;div&gt;Presentation #1: 123/150 (I can't remember if it was 123 or 128, so I'm playing it conservative)&lt;/div&gt;&lt;div&gt;Presentation #2: 145/150&lt;/div&gt;&lt;div&gt;Quiz #1: 70/70&lt;/div&gt;&lt;div&gt;Quiz #2: 70/70&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Paper #3: TBD/150&lt;/div&gt;&lt;div&gt;Presentation #3: TBD/150&lt;/div&gt;&lt;div&gt;Quiz #3: TBD/150&lt;/div&gt;&lt;div&gt;Class Participation: TBD/390&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;That'll round up this session. &amp;nbsp;Another session will start soon on SharePoint My Sites.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4095265900882936349-2403985644428361443?l=sharepointtherapy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sharepointtherapy.blogspot.com/feeds/2403985644428361443/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sharepointtherapy.blogspot.com/2010/03/fires-not-as-hot-as-expected-update-on.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4095265900882936349/posts/default/2403985644428361443'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4095265900882936349/posts/default/2403985644428361443'/><link rel='alternate' type='text/html' href='http://sharepointtherapy.blogspot.com/2010/03/fires-not-as-hot-as-expected-update-on.html' title='The fire&apos;s not as hot as expected (update on graduate degree classes)'/><author><name>Sam</name><uri>http://www.blogger.com/profile/11704370531507605440</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4095265900882936349.post-539706081063464330</id><published>2010-01-12T08:48:00.000-06:00</published><updated>2010-01-12T08:48:03.194-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='School'/><category scheme='http://www.blogger.com/atom/ns#' term='Masters'/><category scheme='http://www.blogger.com/atom/ns#' term='Lindenwood'/><category scheme='http://www.blogger.com/atom/ns#' term='IT'/><category scheme='http://www.blogger.com/atom/ns#' term='Lindenwood University'/><category scheme='http://www.blogger.com/atom/ns#' term='Information Technology'/><title type='text'>A little more fuel for the insanity fire</title><content type='html'>I'm the SharePoint Architect at a hospital and have a second child on the way, but I decided that's not enough chaos in my life. &amp;nbsp;So, I've started back to school to earn my Masters. &amp;nbsp;I'm working through&amp;nbsp;&lt;a href="http://www.lindenwood.edu/"&gt;Lindenwood University's&lt;/a&gt;&amp;nbsp;LCIE program to get my Masters in Information Technology. &amp;nbsp;The main reason behind this is so I can hopefully teach college courses in IT. &amp;nbsp;My programming classes were severely lacking in my undergraduate programs, so I'd like to teach a much more thorough (and probably way more intensive) block of programming courses so students hopefully have something to start with after graduating. &amp;nbsp;If it wasn't for the jobs I worked while still in school, I would be so far behind where I'm at right now.&lt;br /&gt;&lt;br /&gt;I'm hoping to post about the experience and maybe even make the assignments available after the clusters are finished. &amp;nbsp;It's a writing-intensive program as it's all theory, so there will be lots of papers.&lt;br /&gt;&lt;br /&gt;The PDF of the program can be found&amp;nbsp;&lt;a href="http://www.lindenwood.edu/lcie/docs/grad/informationtechnology.pdf"&gt;here&lt;/a&gt;. &amp;nbsp;There's 5 clusters and 1 capstone course. &amp;nbsp;Each cluster is 9 hours (3 classes) and about 12-13 weeks long. &amp;nbsp;My general plan is to do this for free as I have a really good tuition reimbursement benefit from work, so I'm only going to take 2 clusters per year. &amp;nbsp;I'm thinking that graduation will be after the Spring cluster of 2012. &lt;br /&gt;&lt;br /&gt;My first cluster is Internet Culture. &amp;nbsp;It's one of the elective blocks, but I thought I should start with something that I hopefully understood since I live in a web world at work. &amp;nbsp;It's centered around web marketing and administration. &amp;nbsp;I had a paper due for the first class this past Saturday on the benefits and constraints of internet marketing. &amp;nbsp;It didn't get turned in, though, because the professor we were supposed to have dropped himself from the class. &amp;nbsp;He was&amp;nbsp;over-committed and needed to lighten his workload.&amp;nbsp;&amp;nbsp;I'll get to meet the new professor Thursday.&lt;br /&gt;&lt;br /&gt;Well, if you don't hear back from me, it's either because I'm completely swamped in work/school/family stuff or I've been committed.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4095265900882936349-539706081063464330?l=sharepointtherapy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sharepointtherapy.blogspot.com/feeds/539706081063464330/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sharepointtherapy.blogspot.com/2010/01/little-more-fuel-for-insanity-fire.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4095265900882936349/posts/default/539706081063464330'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4095265900882936349/posts/default/539706081063464330'/><link rel='alternate' type='text/html' href='http://sharepointtherapy.blogspot.com/2010/01/little-more-fuel-for-insanity-fire.html' title='A little more fuel for the insanity fire'/><author><name>Sam</name><uri>http://www.blogger.com/profile/11704370531507605440</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4095265900882936349.post-8616289240419707050</id><published>2009-11-23T10:09:00.000-06:00</published><updated>2009-11-23T10:09:51.358-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SharePointWebControls'/><category scheme='http://www.blogger.com/atom/ns#' term='MSDN Forums'/><category scheme='http://www.blogger.com/atom/ns#' term='AppendOnlyHistory'/><category scheme='http://www.blogger.com/atom/ns#' term='DataForm'/><category scheme='http://www.blogger.com/atom/ns#' term='SharePoint'/><category scheme='http://www.blogger.com/atom/ns#' term='V3Comments'/><category scheme='http://www.blogger.com/atom/ns#' term='MSDN'/><category scheme='http://www.blogger.com/atom/ns#' term='DataFormWebPart'/><title type='text'>Showing Append-Only Note Field values in DataFormWebPart</title><content type='html'>So, it seemed pretty straight forward, there's an object in the Microsoft.SharePoint.WebControls library called AppendOnlyHistory to get the whole list of comments from item versioning.&amp;nbsp; All you had to do was throw this line into the XSL and it worked:&lt;br /&gt;&lt;blockquote&gt;&lt;appendonlyhistory controlmode="Display" fieldname="V3Comments" itemid="{@ID}" runat="server"&gt;&lt;/appendonlyhistory&gt;&lt;br /&gt;&lt;/blockquote&gt;Well, here's the rub I found.&amp;nbsp; My reference to that library had the prefix tag of "SharePointWebControls."&amp;nbsp; That's probably because it's in a Publishing site and so it give it a more descriptive name.&amp;nbsp; Anyway, I was using that prefix and kept getting errors.&amp;nbsp; Namely the "Object reference not set to the instance of an object" error.&lt;br /&gt;&lt;br /&gt;I don't really see why changing the prefix from "SharePointWebControls" to "SharePoint" fixed it, but it did.&amp;nbsp; &lt;br /&gt;&lt;br /&gt;NOTE: You'll have to change everything with that prefix, so do a "replace all" or many things will break.&lt;br /&gt;&lt;br /&gt;TANGENT: I don't know why I continue to post to MSDN Forums.&amp;nbsp; I almost always answer my own questions when I do.&amp;nbsp; I just keep going back in hopes something will change.&amp;nbsp; I really need to stop.&amp;nbsp; Is there some type of 12 step program to quit bad forums (BFA: Bad Forums Anonymous)?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4095265900882936349-8616289240419707050?l=sharepointtherapy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sharepointtherapy.blogspot.com/feeds/8616289240419707050/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sharepointtherapy.blogspot.com/2009/11/showing-append-only-note-field-values.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4095265900882936349/posts/default/8616289240419707050'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4095265900882936349/posts/default/8616289240419707050'/><link rel='alternate' type='text/html' href='http://sharepointtherapy.blogspot.com/2009/11/showing-append-only-note-field-values.html' title='Showing Append-Only Note Field values in DataFormWebPart'/><author><name>Sam</name><uri>http://www.blogger.com/profile/11704370531507605440</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4095265900882936349.post-9195153548722143352</id><published>2009-11-18T08:59:00.000-06:00</published><updated>2009-11-18T08:59:11.963-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ItemUpdating'/><category scheme='http://www.blogger.com/atom/ns#' term='List Items'/><category scheme='http://www.blogger.com/atom/ns#' term='Events'/><category scheme='http://www.blogger.com/atom/ns#' term='SharePoint'/><category scheme='http://www.blogger.com/atom/ns#' term='synchronous events'/><category scheme='http://www.blogger.com/atom/ns#' term='Twitter'/><category scheme='http://www.blogger.com/atom/ns#' term='ItemAdded'/><category scheme='http://www.blogger.com/atom/ns#' term='SPItemEventReceiver'/><title type='text'>Updating Fields in Current ListItem from SPItemEventReceiver.ItemUpdating</title><content type='html'>First, a thanks to &lt;a href="http://www.twitter.com/hafthor"&gt;@hafthor&lt;/a&gt;&amp;nbsp;for the help.&amp;nbsp; If you're on Twitter, follow him.&amp;nbsp; He's full of all kinds of development knowledge, not just .NET/SharePoint.&lt;br /&gt;&lt;br /&gt;I remember doing this quite a bit...once upon a time.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;The project&lt;/strong&gt;: IS Service Request Form (SRF) System based in a Custom List.&lt;br /&gt;&lt;strong&gt;The task&lt;/strong&gt;: Send notification emails and update SRF Status field.&lt;br /&gt;&lt;strong&gt;The problem&lt;/strong&gt;: Changing the Status field from the ItemUpdating event.&lt;br /&gt;&lt;br /&gt;Setting the status in the ItemAdded event is easy because it's asynchronous.&amp;nbsp; The synchronous events (ending in -ing), require a different approach.&lt;br /&gt;&lt;br /&gt;I had found a couple of blogs that suggested:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;this.DisableEventFiring();&lt;br /&gt;properties.ListItem.SystemUpdate(false);&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;That didn't work.&amp;nbsp; There was a variation that replaced the ".SystemUpdate(false)" with ".Update()" as well.&amp;nbsp; That was also incorrect.&lt;br /&gt;&lt;br /&gt;So after flailing around for way longer than I should have, I turned to Twitter to save me.&lt;br /&gt;&lt;blockquote&gt;#SharePoint folks, I think I left my brain at #spconn09. I need to change a field value from an ItemUpdating event. How do I do it?&lt;br /&gt;&lt;/blockquote&gt;Hafthor replied after a while with the correct answer:&lt;br /&gt;&lt;blockquote&gt;@SamLarko properties.AfterProperties("fieldname")=value&lt;br /&gt;&lt;/blockquote&gt;So, to sum it all up, set the field's AfterProperties value to whatever you want it to be, and that will be committed to the database at the end of the procedure.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4095265900882936349-9195153548722143352?l=sharepointtherapy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sharepointtherapy.blogspot.com/feeds/9195153548722143352/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sharepointtherapy.blogspot.com/2009/11/updating-fields-in-current-listitem.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4095265900882936349/posts/default/9195153548722143352'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4095265900882936349/posts/default/9195153548722143352'/><link rel='alternate' type='text/html' href='http://sharepointtherapy.blogspot.com/2009/11/updating-fields-in-current-listitem.html' title='Updating Fields in Current ListItem from SPItemEventReceiver.ItemUpdating'/><author><name>Sam</name><uri>http://www.blogger.com/profile/11704370531507605440</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4095265900882936349.post-383609710587323071</id><published>2009-09-28T16:21:00.000-05:00</published><updated>2009-09-28T16:21:34.877-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='STSADM'/><category scheme='http://www.blogger.com/atom/ns#' term='development'/><category scheme='http://www.blogger.com/atom/ns#' term='SharePoint'/><category scheme='http://www.blogger.com/atom/ns#' term='WSP'/><category scheme='http://www.blogger.com/atom/ns#' term='Harbar.net'/><title type='text'>Right-click to Add a SharePoint Solution</title><content type='html'>I'm not huge on linking other blogs, but I love this registry hack so it gets to be an exception to the rule.&lt;br /&gt;&lt;br /&gt;Tired of running the STSADM command to add a solution on your dev box?&amp;nbsp; Follow this link to create a .REG file that lets you right-click a WSP file to add the solution.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://harbar.net/archive/2007/04/25/Rightclick-a-.WSP-to-Add-Solution.aspx"&gt;http://harbar.net/archive/2007/04/25/Rightclick-a-.WSP-to-Add-Solution.aspx&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I don't have a name other than Harbar.net, but thanks!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4095265900882936349-383609710587323071?l=sharepointtherapy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sharepointtherapy.blogspot.com/feeds/383609710587323071/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sharepointtherapy.blogspot.com/2009/09/right-click-to-add-sharepoint-solution.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4095265900882936349/posts/default/383609710587323071'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4095265900882936349/posts/default/383609710587323071'/><link rel='alternate' type='text/html' href='http://sharepointtherapy.blogspot.com/2009/09/right-click-to-add-sharepoint-solution.html' title='Right-click to Add a SharePoint Solution'/><author><name>Sam</name><uri>http://www.blogger.com/profile/11704370531507605440</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4095265900882936349.post-3773778888991128164</id><published>2009-09-28T16:14:00.000-05:00</published><updated>2009-09-28T16:14:17.600-05:00</updated><title type='text'>The Joys of InfoPath &amp; InfoPath Form Services – Part 1</title><content type='html'>For the last month or so, I've been working with InfoPath Forms in SharePoint. This has been such a frustrating experience. My main task was to get forms stored in a Form Library to "talk" to each other and share data. I have a collection of templates that have loads of redundant data. Instead of making the end user continually fill out the same field across multiple forms, we decided to sync the forms based off of information stored in a list.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&amp;nbsp;&lt;/div&gt;The Story &lt;br /&gt;&lt;br /&gt;&lt;div&gt;&amp;nbsp;&lt;/div&gt;The v1.0 forms contained alot of redundant code. Each form was doing pretty much the same thing in the Submit and Load functions. My first thing was to consolidate all of this code into a single assembly so we didn't have each form functioning slightly differently (because the code wasn't quite the same). This proved interesting because I had difficulties referencing the class. I came to find out that you need to sign the forms with a code signing certificate. Thankfully, my situation allows me to generate the certificate instead of paying Verisign or some other CA a load of money.&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&amp;nbsp;&lt;/div&gt;Next, I had to find a way to manipulate the forms on load and submit. I found out that you can't access the SharePoint object model from a form. &lt;br /&gt;&lt;br /&gt;&lt;div&gt;&amp;nbsp;&lt;/div&gt;Why not use the SharePoint Web Services, you ask? I have a hang-up about using them. I don't know why and I realize that doesn't make me 1337, but I really don't care. The OM is so much easier to use.&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&amp;nbsp;&lt;/div&gt;Anyway, I found an answer that works for me. I have a custom Web Service (yes, I see the irony) that handles the Form_Load and a List Item Event that handles the Submit. The code is about 98% the same, so both of those call into a class. The reason for the Web Service, if you haven't already figured it out, is that it breaks the call stack (that's what I've been calling it…If you know what it's really called, feel free to inform me). My Web Service can now use the SPOM (it's way better tasting than SPAM) and makes my life much easier.&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&amp;nbsp;&lt;/div&gt;Why have 2 events to do the same thing?&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Web Service: Pulls data from other forms into current form on load.&lt;/li&gt;&lt;li&gt;List Item Event: Pushes "this" form's data to other forms for updates on submit.&lt;/li&gt;&lt;/ul&gt;Ok, so far, so good. We have an Item Event, Web Service, a class that contains the "real" code for both of those, and a class that contains the "real" code for the forms. What's left? Oh, how about data that says which forms sync with each other and what data they sync? That's where a root web List comes in. I built a list with the following fields:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Enabled: Should this rule be used in the process?&lt;/li&gt;&lt;li&gt;SourceForm: Content Type name of the form template from where the data originates.&lt;/li&gt;&lt;li&gt;SourceXPath: XPath, from form root, to the field that will be sent to the target form.&lt;/li&gt;&lt;li&gt;TargetForm: Content Type name of the form template where the data will be sent.&lt;/li&gt;&lt;li&gt;TargetXPath: XPath, from form root, to the field that will receive the data.&lt;/li&gt;&lt;li&gt;XSLT: A blob of XSL that will format the source data to look like the field(s) that receive the data in the Target form.&lt;/li&gt;&lt;/ul&gt;I used a list because it makes the rules somewhat customizable. It's much easier to add a rule for some installations through a list instead of having to fix something embedded in the SP Solution (code, xml file, etc).&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&amp;nbsp;&lt;/div&gt;Finally, I have a Site Column Feature that basically gives easy-to-reference names to promoted fields in the forms.&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&amp;nbsp;&lt;/div&gt;Ok, well, that rounds out the high-level look on the project. I'll try to provide something more useful in a while.&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&amp;nbsp;&lt;/div&gt;Let me know what you think and feel free to ask questions. I know I had almost no luck in finding an answer, so I'm more than happy to do what I can to keep others from having their projects go well over deadline.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4095265900882936349-3773778888991128164?l=sharepointtherapy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sharepointtherapy.blogspot.com/feeds/3773778888991128164/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sharepointtherapy.blogspot.com/2009/09/joys-of-infopath-infopath-form-services.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4095265900882936349/posts/default/3773778888991128164'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4095265900882936349/posts/default/3773778888991128164'/><link rel='alternate' type='text/html' href='http://sharepointtherapy.blogspot.com/2009/09/joys-of-infopath-infopath-form-services.html' title='The Joys of InfoPath &amp; InfoPath Form Services – Part 1'/><author><name>Sam</name><uri>http://www.blogger.com/profile/11704370531507605440</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4095265900882936349.post-4712812756400624756</id><published>2009-09-28T16:09:00.000-05:00</published><updated>2009-09-28T16:11:45.022-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Wildcard Search'/><category scheme='http://www.blogger.com/atom/ns#' term='Search'/><category scheme='http://www.blogger.com/atom/ns#' term='FullTextSqlQuery'/><category scheme='http://www.blogger.com/atom/ns#' term='SharePoint'/><title type='text'>Tired of the restricted CoreSearchResults Web Part? Write your own!!!</title><content type='html'>Ok, I need to rant a little bit before being useful.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;I'm quite the Microsoft fan. SharePoint and the .NET Framework(s) pays the bills. HOWEVER…the official documentation is beyond sub-par. This project has reintroduced me to, what I've come to call, The Microsoft Masochists' Gauntlet. I haven't made this trip more than when I'm working with advanced SharePoint functionality. Let's just say I have plenty of scars and bruises from this activity. I just wish I knew what the safe word was every time I had to face it. &lt;br /&gt;&lt;br /&gt;"ORCAS!"&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;*whack*&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;"LONGHORN!!"&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;*kick*&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;"What could it be?…DOCUMENTATION!!!"&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;*pow* *smack*&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;"MSDN!!"&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;*bam* (unconsciousness consumes me here.)&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;Ok, back on topic.&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;This project was to replace the current search functionality provided by Ontolica (not a bad solution, just wasn't doing the job anymore) and replace it with an Advanced People Search (I'll call it APS from here on out) page that includes 7 search fields and wildcard functionality.&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;I started with the MOSS Wildcard Search Web Part created by cdog at CodePlex. It inherits from the CoreResultsWebPart class. It's a great part for simple wildcard search. I tweaked it to handle multiple search parameters with little difficulty.&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;There were two features that were lacking. First, I couldn't find a way of getting the total number of results returned. With most search results, you want to know the size of the dataset. Second, since it inherits from CoreResultsWebPart, the items per page were limited to a max of 50. This hindered large datasets that needed to be exported to Excel.&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;Well, the Excel issue I'm still dealing with, but I found a solution to the actual problems. While cdog's project uses the CRWP and FixedFullTextSqlQuery, I created a SharePoint WP (MS.SP.WebPartPages.WebPart…probably would have been fine to use an ASP.NET WP, too) that used the FullTextSqlQuery. &lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;The FullTextSqlQuery has a few useful properties:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;RowLimit: Sets a limit of rows per page. I created a webpart property where this could be set.&lt;/li&gt;&lt;li&gt;QueryText: SQL query. I built this with another function that parsed my querystring search parameters into the query.&lt;/li&gt;&lt;li&gt;ResultTypes: Enum that filters different result types. ResultType.RelevantResults was what I used. There are others for Best Bets and High Confidence among others.&lt;/li&gt;&lt;/ul&gt;When you execute the FTSQ, it returns a ResultTableCollection object. The tables in the collection are the ResultType enum values. From there, I did a bunch of XML stuff to attach XSL to it to "make it pretty."&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;So, that averted the paging max of 50. However, the total number of results returned still isn't accurate. I assume I could get the full recordset and do a count, but that just seems like extra work. The RTC object has a totalRows property, but it's just an estimate. With small sets, it's pretty accurate. I don't remember where it started missing the actual count, though. Oh well, a simple "Estimated total results: ###" worked just fine. :p&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;Code will be available shortly.&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;Mistress SharePoint left me battered and bruised from this experience, but it was a good outcome.&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;PS. These words are also not safe words: Apple, Mac, iTunes, iPhone, iPod. Ha!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4095265900882936349-4712812756400624756?l=sharepointtherapy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sharepointtherapy.blogspot.com/feeds/4712812756400624756/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sharepointtherapy.blogspot.com/2009/09/ok-i-need-to-rant-little-bit-before.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4095265900882936349/posts/default/4712812756400624756'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4095265900882936349/posts/default/4712812756400624756'/><link rel='alternate' type='text/html' href='http://sharepointtherapy.blogspot.com/2009/09/ok-i-need-to-rant-little-bit-before.html' title='Tired of the restricted CoreSearchResults Web Part? Write your own!!!'/><author><name>Sam</name><uri>http://www.blogger.com/profile/11704370531507605440</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4095265900882936349.post-7533176291819856224</id><published>2009-09-28T16:03:00.000-05:00</published><updated>2009-09-28T16:03:00.417-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Blogger'/><category scheme='http://www.blogger.com/atom/ns#' term='SharePointBlogs'/><category scheme='http://www.blogger.com/atom/ns#' term='SharePoint'/><title type='text'>Now posting on Blogger!</title><content type='html'>Well, I have no idea what happened to SharePointBlogs.com, so I moved to Blogger.&amp;nbsp; Unfortunately, I didn't have backups of my old posts.&amp;nbsp; Hopefully I can remember them and repost at some point.&lt;br /&gt;&lt;br /&gt;I will post on various things, but since SharePoint is my main focus, the majority of my posts will probably be on that.&lt;br /&gt;&lt;br /&gt;I'm also on CodePlex (can't remember the ID...not like I have anything there yet anyway) and Twitter (@samlarko) if you'd like to follow me in other places.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4095265900882936349-7533176291819856224?l=sharepointtherapy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sharepointtherapy.blogspot.com/feeds/7533176291819856224/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sharepointtherapy.blogspot.com/2009/09/now-posting-on-blogger.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4095265900882936349/posts/default/7533176291819856224'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4095265900882936349/posts/default/7533176291819856224'/><link rel='alternate' type='text/html' href='http://sharepointtherapy.blogspot.com/2009/09/now-posting-on-blogger.html' title='Now posting on Blogger!'/><author><name>Sam</name><uri>http://www.blogger.com/profile/11704370531507605440</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
