<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>WallOfScribbles &#187; SharePoint 2007</title>
	<atom:link href="http://wallofscribbles.com/tag/sharepoint-2007/feed/" rel="self" type="application/rss+xml" />
	<link>http://wallofscribbles.com</link>
	<description>The ramblings of a man</description>
	<lastBuildDate>Sat, 07 Jan 2012 01:14:20 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>SharePoint 2007: What the hell, man?</title>
		<link>http://wallofscribbles.com/2008/sharepoint-2007-what-the-hell-man/</link>
		<comments>http://wallofscribbles.com/2008/sharepoint-2007-what-the-hell-man/#comments</comments>
		<pubDate>Thu, 31 Jan 2008 05:15:53 +0000</pubDate>
		<dc:creator>Corey Dutson</dc:creator>
				<category><![CDATA[Bad bad bad]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[Features]]></category>
		<category><![CDATA[SharePoint 2007]]></category>

		<guid isPermaLink="false">http://www.wallofscribbles.com/2008/01/31/sharepoint-2007-what-the-hell-man/</guid>
		<description><![CDATA[So I just spent four hours of my life fighting with <a href="http://office.microsoft.com/en-us/sharepointserver/FX100492001033.aspx" title="Microsoft SharePoint 2007" target="_blank">SharePoint 2007</a>. I can't explain all the details because my employer pays me, which in turn pays the bills and they frown upon my telling of company secrets. I can, however, bitch about some things that have been irritating me over the past while. As it turns out everything I hate converged on me today.

Let the story begin!]]></description>
			<content:encoded><![CDATA[<p>So I&#8217;ve been charged with expanding on the functionality of a <a href="http://www.microsoft.com/technet/technetmag/issues/2007/01/Wiki/default.aspx" title="Microsoft TechNet" target="_blank">Wiki Library</a>. For those not in the know, a Wiki Library is part of SharePoint 2007 (not WSS) and allows for some nifty features such as version viewing, article linking, and&#8230; yeah that&#8217;s pretty much it. It does all of this pretty well in and of itself. Woe be upon the person (me) who tries to crack open this walnut of misery.</p>
<p>As it turns out, customizing a Wiki Library to do anything isn&#8217;t just difficult, it&#8217;s not even a chore. It&#8217;s a goddamn mission of epically frustrating scale. Let&#8217;s start off with some over-all items:</p>
<ol>
<li>I needed to create custom columns, some of which looked at lists.</li>
<li>I needed to create a content type that was based off of the Wiki content type.</li>
<li>I needed to customize the Wiki library to have said content type.</li>
<li>I needed to add custom-made web parts to the various views of the Wiki Library (History, Edit, etc)</li>
<li>I needed all of this to work through a feature</li>
</ol>
<p>Where to start? Lets start from the bottom of the list, because as it turns out this was the easiest and where I started.</p>
<p>You want to edit those page layouts eh? Well have fun because as it turns out all of those files are system files, which means they&#8217;re on the hard-drive of the server and therefor shared. That means you can&#8217;t mess with one without causing a server-wide change. The solution? Copy those layout pages and rename them. Now add them to your feature. I&#8217;m not going to explain how to get the feature to deploy, that&#8217;s a different story all together.</p>
<p>
<a href="http://wallofscribbles.com/gallery/Misc. Images/SharePoint Markup.jpg" title="" class="thickbox" rel="singlepic533" >
	<img class="ngg-singlepic" src="http://wallofscribbles.com/gallery/cache/533__200x200_SharePoint Markup.jpg" alt="SharePoint Markup.jpg" title="SharePoint Markup.jpg" />
</a>
 That&#8217;s sweet! Now how do you make <em>anything </em>use those pages? Well in terms of all the little widgets (Versions tool, History Link, Incoming Link) You will have to build your own versions of those controls. Why? Well the URL of the pages that they point to are <em>hard-coded</em>. Simple enough to get around, though annoying as hell. Just to demonstrate, to the left is a screen shot of what SharePoints&#8217; markup looks like just to recreate some of the controls in HTML. Seriously, that&#8217;s messed up. In the end <em>each link</em> was surrounded by <em>two more tables</em>. What the hell man?</p>
<p>Okay so you got all of the default pages redirected. What about when you edit an entry or make a new one? Those pages are tailored specifically for Wiki Pages (CreateWebPage.aspx) and so you&#8217;ll have to copy that one. As for redirecting it? Well you <em>should </em>be able to do it via an Event Receiver attached to the Feature that Installs the custom content type that this is all based from. please note my use of the word &#8216;should&#8217; because I&#8217;m still stuck there.</p>
<p></p>
<p>Let&#8217;s move onto the library for a moment. Now I have not been able to replicate the Wiki library properly, without making my list type use the basetype of &#8217;119&#8242;. As it turns out, this comes with a whole bunch of strings attached, like having hidden name columns and a lot of red-tape. I dare you to try and rename the &#8220;Name&#8221; column to anything with any sort of graceful code. I&#8217;ll leave that one there. For those that are wondering, the default Feature for Wiki Libraries is called &#8220;WebPageLib&#8221; or something of that nature. Try searching the 12 directory for the content type of Wikis. To find that, go looking for the ctypes Feature and look in there.</p>
<p>Creating the feature to house all of this turned out to be the easiest portion of it all, though all of the problems stemmed from it in some shape, way or form. I can&#8217;t bitch too much about the feature markup itself, because all it really lacks is some functionality that should&#8230; well really should just be there. I&#8217;ve had to rig extra code together just to get what I wanted, but read on and I&#8217;ll explain.</p>
<p>I managed to create the content type with little issues, though I had to add Remove references to the WikiPage content type (that does exist by the way, it&#8217;s just stored in the &#8216;_Hidden&#8217; group which is why you can&#8217;t touch it via the site). Adding the new content type to the list template was fun too, because you have to do it via the feature, since Wiki libraries do not allow you to edit the Content Types of the list at all. Like I said, Wikis are sealed, and don&#8217;t like to play with the other kids.</p>
<p>The problems really started when I created the site columns. Just a note to everyone: if you ever feel like creating columns or content types, then using them, and <em>then</em> trying to remove them via a feature, good luck. SharePoint will not remove anything if it&#8217;s being used. Just a helpful tip there. This could be fixed via some EventReceiver code, but I won&#8217;t get into that.</p>
<p>Anyways, I had a column. It was a lookup column. It wanted to look at a specific list, so I gave it the list id (though to be honest this is a bad way to do it because what happens when you want to deploy this feature somewhere else?). I deployed the column, and it worked! Then I tried to use that column in a sub-site, which ended up failing miserably. Took me forever to find out that you cannot specify a web property in the feature. webid and scopeid, yes, but nothing generic (refer to my listId comment here). The solution to this was to add more custom EventReceiver code that would do this work for me. Which worked great until I moved the feature to another site.</p>
<p>This is where my night went bollocks.</p>
<p>I installed the feature onto another dev-site and activated it (all through stsadm). Worked fine. Then I tried to deactivate said feature, and it would just sit there. I could uninstall it fine, but when I deactivated it the process would just hang there and I&#8217;d be forced to end it via Task Manager. It took me 6 ruined dev-sites to realize that I was missing the lists that my lookups were pointing to. Apparently if you tie a lookup column to a list that doesn&#8217;t exist via code, it will cripple the server when you try and remove that column from any content types that it was attached to. When I say cripple, I&#8217;m not kidding. stsadm.exe ran up 50 Mb of resident memory, and 100% of the CPU. The best part was that no error would be logged, it would just hang there forever. I admit I toyed with the idea of letting it run all night and going home.</p>
<p>I kid you not, I laughed like a madman when I finally figured it out. I cannot explain why, but that&#8217;s just how it is. The lesson I learned from this really was that I shouldn&#8217;t have expected SharePoint to have any sort of intelligence sitting behind it, and code for stupidity. Anything you think SharePoint should probably just do probably doesn&#8217;t actually happen, or it happens with a hope and some duct tape.</p>
<p>Oh and for the record, I&#8217;m still stuck on how to change the Edit/New pages properly.</p>
]]></content:encoded>
			<wfw:commentRss>http://wallofscribbles.com/2008/sharepoint-2007-what-the-hell-man/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>SharePoint 2007: Thoughts on Branding</title>
		<link>http://wallofscribbles.com/2007/sharepoint-2007-thoughts-on-branding/</link>
		<comments>http://wallofscribbles.com/2007/sharepoint-2007-thoughts-on-branding/#comments</comments>
		<pubDate>Fri, 09 Nov 2007 05:29:48 +0000</pubDate>
		<dc:creator>Corey Dutson</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[branding]]></category>
		<category><![CDATA[Cameron Molls]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[customization]]></category>
		<category><![CDATA[designing]]></category>
		<category><![CDATA[job]]></category>
		<category><![CDATA[MOSS 2007]]></category>
		<category><![CDATA[SharePoint 2007]]></category>

		<guid isPermaLink="false">http://www.wallofscribbles.com/2007/11/09/an-interesting-read-if-youre-into-this-sort-of-thing/</guid>
		<description><![CDATA[I've started to read RSS feeds related to art and design. Considering it's the field I wish to get into, I figured it to be a good move. Our designer at work has about 50 more then I do (I've only started so this is a given) and he linked me to a <a href="http://cameronmoll.com/archives/2007/10/sharepoint_2007_pointedly_unskinnable/" title="SharePoint 2007: Pointedly Unskinnable" target="_blank">post</a> on <a href="http://cameronmoll.com/" title="Cameron Moll" target="_blank">Cameron Molls</a> website. I've read through it at least twice now, and to be honest: it's pretty true. Now I'm going to make my own comments on the subject as best I can given my job, the work I do, and the firing I would receive if I gave away anything. Thankfully, I think I can do so here. If not... well if anyone knows a good programmer/designer job... well you get the idea.

Fingers Crossed!]]></description>
			<content:encoded><![CDATA[<p>In any case, my work specializes in <a href="http://office.microsoft.com/en-us/sharepointserver/FX100492001033.aspx" title="SharePoint 2007">SharePoint 2007</a> customization. Some of our stuff can currently be seen on the net, though for safety-sake I will not mention where. (I&#8217;m knew to this job-related posting thing, cut me some slack.) <a href="http://cameronmoll.com/archives/2007/10/sharepoint_2007_pointedly_unskinnable/" title="Cameron Moll">Cameron </a>states that SharePoint is good for CMS or collaboration, but using it for both is basically a masochistic task branding-wise. This is basically my job. I do other things too, but for the most part I turn our <a href="http://plantt.ca/" title="Richard Plantt" target="_blank">very talented designer&#8217;s</a> visions into realities. As I stated previously, I manipulate the crap out of <a href="http://office.microsoft.com/en-us/sharepointserver/FX100492001033.aspx" title="SharePoint 2007">SharePoint</a>. It is my domain (or so I keep telling myself) and I turn the sad excuse for a vanilla theme into something worth looking at.</p>
<p>To be honest: it&#8217;s a pain. There is no way around that. I&#8217;ve had moments in my still-new career where I&#8217;ve wanted to put my fist through the screen in frustration from applying a brand to the system. Now all that aside &#8211; I&#8217;m getting worked up here &#8211;  It doesn&#8217;t have to be a nightmare. There are ways to cascade changes throughout a site without sacrificing a lamb. This is of course assuming you don&#8217;t have to <em>also </em>brand the administrative side of the whole deal. The reason for this is fairly simple: <a href="http://office.microsoft.com/en-us/sharepointserver/FX100492001033.aspx" title="SharePoint 2007">SharePoint&#8217;s</a> administrative templates are powered from the file system, and not through their ghosting system.</p>
<p>I&#8217;m going to take a moment to clarify &#8220;Ghosting&#8221;. <a href="http://office.microsoft.com/en-us/sharepointserver/FX100492001033.aspx" title="SharePoint 2007">SharePoint</a> operates on a template basis. That means that when you use what is given by <a href="http://office.microsoft.com/en-us/sharepointserver/FX100492001033.aspx" title="SharePoint 2007">SharePoint</a>, it all points to the same file. The second you go and customize that file, a new copy is created in the database, and so the original is left in tact. This is called ghosting. Whenever you customize a page, you are effectively &#8220;unghosting&#8221; the page. That is to say that you are no longer living from the predefined, but making your own file in the database. This is a great idea which can help save on server memory (Hard disk-wise) and I totally agree with it.</p>
<p>So why the hell did Microsoft decide that all the administrative pages be fueled by a totally different system? They do indeed say it was purposely designed that way, but I call bull on that. What it sounds like to me is that they either ran out of time, or had the front-end team and the back-end team kept in different buildings, and told never to talk to one another under pain of death. As a result, when you decide you want to brand anything in the back end, you have three options:</p>
<ol>
<li>Stick to manipulating the CSS. I wont get into the agony of explaining this in detail simply because it would take too long. The short of it is that the CORE.CSS that SharePoint uses is over 4000 lines by itself. Never mind the other eight they have for special instances. On top of that, you are limited to all the elements that are on the page. This is severely limiting and at the very least, painful. Finding what classes do what can be akin to pulling teeth out with a 9 iron.</li>
<li>Make a theme. I hate themes with a passion. They were obviously tacked on as an afterthought and it shows. Who&#8217;s the genius that figured that resetting the server in order for any changes you made to the core theme folder to appear in your applications. further more, why in Gods name would you copy the files to the local site instead of referencing them? That means that if there was a critical error in your theme and you&#8217;ve already applied it to 60 sites, you now have to go into each of those sites and apply the default again and <em>then</em> apply the now-fixed theme. I hope whoever did that was fired.</li>
<li>Change the file-system items. The short of this: Don&#8217;t. You <em>can </em>do that, you really can but I will guarantee that this will eventually end in heartbreak. What happens when the updates roll out &#8211; and you know they will- and overwrite your hard work? Now you have to go back and re-work everything on the page. God only knows what&#8217;s changed. This is the minor half of the problem though.</li>
</ol>
<p>The only viable option is the first one. It sucks on levels all unto itself, however since the second sucks when your site has more then one sub-site is even worse, and the third option generally leads to tears and wasted hours (been there, done that) it&#8217;s still the best option in the end.<br />
<br />
&#8220;<em>But Corey! Surely editing the system files allows for the most customization and look/feel!</em>&#8221; Absolutely right, and I won&#8217;t argue that point. I will argue that I&#8217;ll advocate against it whenever possible though. Here&#8217;s why:</p>
<p>The big problem is that since you are editing file-system items, they&#8217;re shared. That&#8217;s right. If you have two totally unique site hosted on the same box, you&#8217;re going to notice that one of them is going to the administrative look of the other site. This could be manageable if only administrators saw it. The odds of this are that at some point you are going to go into a list. the master page for viewing <em>all </em>lists is one of those shared items. It&#8217;s the same one used for branding administrative panels.  See where I&#8217;m going with this? Heck, even if its just a collaboration site, that will still come up.</p>
<p><a href="http://cameronmoll.com/archives/2007/10/sharepoint_2007_pointedly_unskinnable/" title="Cameron Moll">Cameron</a> shows off the website &#8220;<a href="http://www.hawaiianair.com/Pages/Index.aspx" title="Hawaiian Airlines">Hawaiian Airlines</a>&#8221; which is a pretty nice site. Simple, to the point, and gets the job done. It&#8217;s also had every page customized (it appears to be that way to me, I could be wrong), and custom parts have obviously played a rather large part of the site. I&#8217;m not bashing it in any way here, so please don&#8217;t misunderstand. What I&#8217;m saying is there was a <em>lot </em>of care put into making that site look the way it does, and I can only pray that they didn&#8217;t brand the back-end with the same zeal as they did the front. If they did, i weep at their commitment.</p>
<p>What I&#8217;m getting at here is that though there are many ways to brand <a href="http://office.microsoft.com/en-us/sharepointserver/FX100492001033.aspx" title="SharePoint 2007">SharePoint</a>, none of them are painless. The best route is trying to convince your client/boss/whoever is paying for the endeavor not to bother branding the back-end. This is a rare treat and you really shouldn&#8217;t go expecting it. Failing that, I suggest going with option 1. It&#8217;s a pain in the ass but it&#8217;s the easiest in the long run. You can also ease the pain by using tools like <a href="http://www.getfirebug.com/" title="Firebug" target="_blank">Firebug</a> and the <a href="http://www.microsoft.com/downloads/details.aspx?familyid=e59c3964-672d-4511-bb3e-2d5e1db91038&amp;displaylang=en" title="Internet Explorer Developer Toolbar" target="_blank">IE Development Toolbar</a>. If you have to go beyond that (which I have had to do in the past, and I am certain I will be doing so in the future as well) then I wish you luck. You&#8217;ll need it.</p>
<p>The last point I&#8217;ll touch on is something <a href="http://cameronmoll.com/archives/2007/10/sharepoint_2007_pointedly_unskinnable/" target="_blank" title="Cameron Moll">Mr. Moll</a> covers in the last paragraph. The user experience in Vanilla <a href="http://office.microsoft.com/en-us/sharepointserver/FX100492001033.aspx" title="SharePoint 2007">MOSS 2007</a> is depressing sometimes. Limitations for no real reason, way too much user effort for minimal gain, and don&#8217;t get me started on the many, <em>many</em> useless steps to achieve certain things. Welcome to the other half of my job. I won&#8217;t get into this part too much, but despite my boss wanting us to stay away from customization wherever possible, I&#8217;ve noticed that to really take advantage of what <a href="http://office.microsoft.com/en-us/sharepointserver/FX100492001033.aspx" title="SharePoint 2007" target="_blank">SharePoint&#8217;s</a> core ability <em>can </em>do&#8230; well you need to be there to customize a solution to access the power. Don&#8217;t get me wrong, SharePoint can do a lot of things, but as I have experienced in the past it generally makes the development team work- and work hard- for it.</p>
<p>And that&#8217;s my two cents on it.I like my job, I really do. I&#8217;ve learned what I deem to be &#8216;snoot loads&#8217; but it&#8217;s been a hard way getting here. I&#8217;m glad for it, but seriously: fist through the screen frustrated sometimes. Good luck people.</p>
]]></content:encoded>
			<wfw:commentRss>http://wallofscribbles.com/2007/sharepoint-2007-thoughts-on-branding/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

