|
Need to contact me?
Here's my info, but keep in mind that email is your best bet...
Eric Skaggs The Information Management Group 200 W. Monroe Suite 900 Chicago, IL 60606
312-255-7073 erics@imginc.com |
|
To answer your question: Yes, this is a custom master page I created in SharePoint Designer. While I don't have a step-by-step tutorial on creating a custom master page, I always love to refer people to Heather Solomon's blog: www.heathersolomon.com/blog since she's pretty amazing at creating custom master pages. If you've taken a class here at IMG, you should have access to a minimalistic master page within our Student Portal.
I've been working for IMG since October 2006 and have essentially been living and breathing SharePoint 2007. The majority of what I do with SharePoint 2007 is figure out ways to customize it without writing any (or very little) code. I am also currently working on a few consulting projects throughout Chicagoland and let me just say that each one is a learning experience on its own.
I've found that while SharePoint is fairly easy to customize in a general sense, it can also become quite a project if you have some pretty complex things that you're doing. One thing I suggest is to start off with a plan; know what you want. Then use SharePoint to get you there. Start off with WSS 3.0 or MOSS out of the box and customize it without code to see if you can get it to meet your needs. If not, then take a look at SharePoint Designer. In my opinion, it doesn't matter what level of expertise you have in site customization...SharePoint Designer is a must! It can ultimately save you a lot of time (in most cases) and prevent you from having to crack open Visual Studio.
I'm here as your SharePoint 2007 resource, so don't be afraid to use me. Email me anytime and I'll get back to you as soon as I can. As I said I've been working with SharePoint 2007 for almost two years now, so if you're stuck on something, there's a pretty good chance that I've already come across it and it doesn't hurt to ask.
For the record, here are the classes I teach here at IMG...and the list is growing:
- I3529 - SharePoint 2007 Essentials (end-user intro, WSS only)
- I3370 - Introduction to Microsoft Office SharePoint Server 2007 (end-user/admin intro, MOSS)
- I3530 - Customizing SharePoint 2007 Applications (site owners, admins, MOSS)
- I3606 - Developing Publishing Sites with SharePoint Server 2007 WCM (developers, IT, admins, MOSS)
Note: The following classes are soon going to be combined into a 4-day class with course number I3610:
- I3602 - Inside Windows SharePoint Services 3.0 (developers, IT, admins, WSS only)
- I3604 - Building and Implementing Enterprise Search Solutions in SharePoint Server 2007 (developers, IT, admins, MOSS)
- I3606 - Developing Publishing Sites with SharePoint Server 2007 WCM (developers, IT, admins, MOSS)
|
|
|
|
|
|
by Eric Skaggs -- SharePoint Instructor, Developer, Consultant |
Have you taken a SharePoint class at IMG? Click here to access IMG's SharePoint Student Portal
Last update: 08/31/2008 2:30 p.m. |
|
11/17/2008
I ran into this error message when working on deploying a solution that used Telerik's RadControls for ASP.NET AJAX. Let me first point out that this has nothing to do with Telerik's controls...Telerik's controls are wonderful. The scenario is described below.
I was working on a local Dev WSS 3.0 server and got a solution working where I had a custom application page exposing some RadControls that could expose data to a user and allow the user to update the data and push it back to a back-end SQL database (not the SharePoint content database). Of course, through this I had made several modifications to web.config to "Ajaxify" SharePoint, register controls as safe, etc. The next step was to deploy this solution out to the client's dev environment. I did this using WSPBuilder to create a nice solution package for me.
The solution package deployed successfully and I was able to get to my page, but was now getting errors when trying to add web parts to a standard site page! This was because Telerik's RadControls had not yet been installed on the client's Dev server and my web.config was referencing those non-existent assemblies. So I opened up web.config and removed every reference to a Telerik assembly (just in the SafeControls section), and that solved my problem. The errors went away and I could once again add web parts to a page.
UPDATE
It turns out that the real problem was the version number being referenced in web.config. I had the version number for each of the Telerik assemblies using the Q2 release, but I had installed the Q3 release. After I changed the version numbers on the assemblies in web.config to match that assembly that I was actually using, everything was working as expected. 11/6/2008
Can you do it? Yes.
Should you? Maybe...but I'm leaning pretty strongly towards no on this one.
Application.master is the master page used by all of your SharePoint environment's application pages. The application pages are .aspx files on the server here: C:\Program Files\Common Files\Microsoft shared\web server extensions\12\TEMPLATE\LAYOUTS. These .aspx files are used by every site in your SharePoint Farm and include things like List Settings, Site Settings, etc.
Also in this directory is the application.master file...the master page used by EVERY application page in your SharePoint Farm. So again I ask, should you modify application.master? And again I reply, I don't know. That's up to you, but do be aware that if you modify application.master that you're not affecting one page in one site, or one site in one site collection...nope, you're affecting the ENTIRE SharePoint Farm. Chances are you'll want to just leave application.master alone.
Here's an interesting scenario that kind of gets around that.
As a company, I have a SharePoint Farm and everything is great, but I want to add some custom pages that will be available throughout my SharePoint Farm and I also want them to all have the same look and feel. Coincidentally, I'd also like them to NOT look quite as "SharePointy" as the rest of my environment. Ok, so that means I need some custom application pages, no big deal. However, for the look and feel I now clearly need a custom master page, but I do not want to modify application.master as that will affect all my normal SharePoint application pages! What to do?
1. Create the following directories in the file structure of your SharePoint server:
a) C:\Program Files\Common Files\Microsoft shared\web server extensions\12\TEMPLATE\LAYOUTS\YourCompanyName b) C:\Program Files\Common Files\Microsoft shared\web server extensions\12\TEMPLATE\LAYOUTS\YourCompanyName\CustomMasterPages c) C:\Program Files\Common Files\Microsoft shared\web server extensions\12\TEMPLATE\LAYOUTS\YourCompanyName\CustomApplicationPages
2. You can store all your custom application pages in the CustomApplicationPages directory that you just created and store your custom master page (used ONLY by your custom application pages) in the CustomMasterPages directory.
Do you have to use those directory names? No, those are just an example. In doing this, you'll have a set of application pages customized for your organization that will not look like SharePoint (depending on your actual master page design), and you also avoided modifying application.master. 9/30/2008
Blogs are a useful part of SharePoint 2007 and it's nice that they come out of the box and are so easy to use. I recently created a custom master page for my blog, and I thought it would be nice to move the RSS Feed link to the top of the page so my readers could easily subscribe to the blog. This isn't too difficult to do, but it's not as easy as just doing a standard copy/paste operation with text. To keep it short, here's the code:
One thing that's a little cumbersome about this process is that the query string parameter List needs to point to the correct list GUID within the blog site. What list you ask? The Posts list. After all, that's what being rendered on the listfeed.aspx application page. Here are the steps you need to follow to find the Posts list's GUID.
1. Go to the blog site.
2. View all site content.
3. Click on the Posts list.
4. From the Settings menu, choose List Settings. This will take you to the settings page for the list and what you should be interested in at this point is the URL in the address bar of your browser. It will look something like the following:
What we need to do is unencode the List parameter...here's the translation of the different pieces...
%7B = {
%2D = -
%7D = }
So the original URL, once unencoded, looks like the following:
The only piece of that that we need is what the List parameter is set equal to, but without the curly braces, which is the following:
E931A6E7-BAD3-481A-85B0-BBB244F58C19
5. Take the original code at the top of this post and replace the string E931A6E7-BAD3-481A-85B0-BBB244F58C19 with your Posts list's GUID.
7. Place the code in a Content Editor Web Part (or directly on a page somewhere) and test it out. I prefer putting it in a Content Editor Web Part because you can then easily edit the code through the browser instead of having to open the page in SharePoint Designer. Keep in mind that you can strip away the HTML table tags that are involved in my sample code. I kept them in there just for kicks.
By default your blog site will have a RSS Feed link at the bottom of your blog's home page, but as you add more and more posts, the link keeps getting pushed down the page. As with any aspect of web design, I feel that scrolling is a worst-case scenario that should be avoided at all costs...hence my desire to move the link. 9/19/2008I had the privilege of being sent all the way over to Washington D.C. this week to teach a SharePoint customization class. The class was great, but I had a blast outside of class too. I was teaching just a couple blocks away from Lafayette Square, so after class I was able to walk past the White House, the Washington Monument, the WWII Memorial, the Lincoln Memorial, and the Vietnam War Memorial. All of it was amazing, but perhaps the most inspiring moment for me was at the Lincoln Memorial. Engraved in the south wall you'll find the Gettysburg address while engraved in the north wall is another speech of his that I feel ridiculous for not knowing the name of. The Lincoln Memorial is pretty much a hollow marble building aside from the statue of Lincoln and the support pillars. Of course, that means it's very "echoey" (is that a word?). Anyway, I just found it amazing that even though there were lots of people in the building, that it was pretty much dead silent. Different people from different cultures from all across the world were visiting and all were in such a state of awe as to be speechless. Simply incredible. If you haven't been to D.C. you should not pass up on an opportunity to go there if one should present itself. 9/4/2008The list could go on and on...and you'll become familiar with each of those as you grow your in-depth experience with SharePoint 2007. I'd like to introduce you to one of the greatest free resources I've been able to find...ever.
Basically, if you need help with something regarding a web language, there's a good chance you can find something about it on www.w3schools.com. It's helped me out quite a bit in the past, and I'm always referring folks to it, so I thought why not blog about it? 9/3/2008Aside from being in the hands of an irresponsible user, I can't think of one thing that I don't like about blogs...especially since you can subscribe to them. This keeps you from having to go to 100 different sites to catch up on all the blogs that you're interested in. Instead, you can simply sift through some emails, reading the ones you like and discarding those that do not apply. Let's not forget that subscribing to blogs is free. NOT subscribing to blogs doesn't make sense to me...unless for some reason there are no blogs out there that interest you. ;)
I haven't been blogging that long, but I've come to realize that some of the things I've blogged about in my professional experience have helped others...and they didn't have to worry about getting a hold of me! They subscribe to my blog, find that I've posted a solution to their issue, and are able to get it resolved. This is the day and age where it's not a matter of what you've memorized, but how resourceful you are. Thanks to Richard Harbridge for posting this...I'm right there with him when it comes to this kind of stuff. This is a very useful list if you ever get into the development side of SharePoint, but often hard to find and nearly impossible to remember. I'm re-posting it here so that when I need it, I can simply use SharePoint's search capabilities to search my blog posts and have it pulled up.
Here's a link to Richard's blog and his original post is below: http://sharepointkb.wordpress.com/
Begin Quote:"
I always lose track of these and have to sift through MSDN or my bookmarks to find it. Hoping that this will help someone else find this listing.
- 100 Generic list
- 101 Document library
- 102 Survey
- 103 Links list
- 104 Announcements list
- 105 Contacts list
- 106 Events list
- 107 Tasks list
- 108 Discussion board
- 109 Picture library
- 110 Data sources
- 111 Site template gallery
- 112 User Information list
- 113 Web Part gallery
- 114 List template gallery
- 115 XML Form library
- 116 Master pages gallery
- 117 No-Code Workflows
- 118 Custom Workflow Process
- 119 Wiki Page library
- 120 Custom grid for a list
- 130 Data Connection library
- 140 Workflow History
- 150 Gantt Tasks list
- 200 Meeting Series list
- 201 Meeting Agenda list
- 202 Meeting Attendees list
- 204 Meeting Decisions list
- 207 Meeting Objectives list
- 210 Meeting text box
- 211 Meeting Things To Bring list
- 212 Meeting Workspace Pages list
- 301 Blog Posts list
- 302 Blog Comments list
- 303 Blog Categories list
- 1100 Issue tracking
- 1200 Administrator tasks list
Reference: http://msdn.microsoft.com/en-us/library/ms431081.aspx
": End Quote Microsoft has designated a section of TechNet to SharePoint 2007 Best Practices. Here's the link...
8/28/2008I've gotten a few emails lately asking if I'm still maintaining my blog and available to answer SharePoint questions. The answers are yes and yes. Recently IMG has gone through quite a few changes and it's been a pretty busy time for myself and the rest of us here, so I haven't really had a good opportunity until...8:13pm on a Thursday night. Anyway, I just wanted to let you know that I'm still here with IMG and I'm still available for any questions that you have and email is still the best way to get a hold of me.
If you want to read up on the changes at IMG, click here. 7/31/2008Has anyone else run into any issues with SharePoint Designer workflows when they exist as part of a site template (not site definition)?
I created a site and it has three or four workflows in it that I created using SharePoint Designer. Nothing too complex, but necessary. I then exported that site template and saved off the .stp file. I created another site based on that template and it came with the workflows as expected, but my most complex workflow was not working. It simply kept throwing errors! I checked over permissions in the site and those were fine. There didn't seem to be any issues with the logic at all, the lists all had the same names and columns, etc. As a test, I created an new workflow that contained the exact same logic and operations, but with a different name. The new workflow works fine! I just deactivated the old workflow and am now using the new workflow.
The other two or three workflows that were included in the site template all work just fine; I didn't have to re-create those. It seems odd to me, but I have a feeling this is a bug in SharePoint Designer worflows. Who knows? Let me know if you have an idea.
| Edit in Browser | /_layouts/images/icxddoc.gif | /blogs/erics/_layouts/formserver.aspx?XsnLocation={ItemUrl}&OpenIn=Browser | 0x0 | 0x1 | FileType | xsn | 255 | | Edit in Browser | /_layouts/images/icxddoc.gif | /blogs/erics/_layouts/formserver.aspx?XmlLocation={ItemUrl}&OpenIn=Browser | 0x0 | 0x1 | ProgId | InfoPath.Document | 255 | | Edit in Browser | /_layouts/images/icxddoc.gif | /blogs/erics/_layouts/formserver.aspx?XmlLocation={ItemUrl}&OpenIn=Browser | 0x0 | 0x1 | ProgId | InfoPath.Document.2 | 255 | | Edit in Browser | /_layouts/images/icxddoc.gif | /blogs/erics/_layouts/formserver.aspx?XmlLocation={ItemUrl}&OpenIn=Browser | 0x0 | 0x1 | ProgId | InfoPath.Document.3 | 255 | | Edit in Browser | /_layouts/images/icxddoc.gif | /blogs/erics/_layouts/formserver.aspx?XmlLocation={ItemUrl}&OpenIn=Browser | 0x0 | 0x1 | ProgId | InfoPath.Document.4 | 255 | | View in Web Browser | /_layouts/images/ichtmxls.gif | /blogs/erics/_layouts/xlviewer.aspx?listguid={ListId}&itemid={ItemId}&DefaultItemOpen=1 | 0x0 | 0x1 | FileType | xlsx | 255 | | View in Web Browser | /_layouts/images/ichtmxls.gif | /blogs/erics/_layouts/xlviewer.aspx?listguid={ListId}&itemid={ItemId}&DefaultItemOpen=1 | 0x0 | 0x1 | FileType | xlsb | 255 | | Snapshot in Excel | /_layouts/images/ewr134.gif | /blogs/erics/_layouts/xlviewer.aspx?listguid={ListId}&itemid={ItemId}&Snapshot=1 | 0x0 | 0x1 | FileType | xlsx | 256 | | Snapshot in Excel | /_layouts/images/ewr134.gif | /blogs/erics/_layouts/xlviewer.aspx?listguid={ListId}&itemid={ItemId}&Snapshot=1 | 0x0 | 0x1 | FileType | xlsb | 256 |
|
|
|
| Edit in Browser | /_layouts/images/icxddoc.gif | /blogs/erics/_layouts/formserver.aspx?XsnLocation={ItemUrl}&OpenIn=Browser | 0x0 | 0x1 | FileType | xsn | 255 | | Edit in Browser | /_layouts/images/icxddoc.gif | /blogs/erics/_layouts/formserver.aspx?XmlLocation={ItemUrl}&OpenIn=Browser | 0x0 | 0x1 | ProgId | InfoPath.Document | 255 | | Edit in Browser | /_layouts/images/icxddoc.gif | /blogs/erics/_layouts/formserver.aspx?XmlLocation={ItemUrl}&OpenIn=Browser | 0x0 | 0x1 | ProgId | InfoPath.Document.2 | 255 | | Edit in Browser | /_layouts/images/icxddoc.gif | /blogs/erics/_layouts/formserver.aspx?XmlLocation={ItemUrl}&OpenIn=Browser | 0x0 | 0x1 | ProgId | InfoPath.Document.3 | 255 | | Edit in Browser | /_layouts/images/icxddoc.gif | /blogs/erics/_layouts/formserver.aspx?XmlLocation={ItemUrl}&OpenIn=Browser | 0x0 | 0x1 | ProgId | InfoPath.Document.4 | 255 | | View in Web Browser | /_layouts/images/ichtmxls.gif | /blogs/erics/_layouts/xlviewer.aspx?listguid={ListId}&itemid={ItemId}&DefaultItemOpen=1 | 0x0 | 0x1 | FileType | xlsx | 255 | | View in Web Browser | /_layouts/images/ichtmxls.gif | /blogs/erics/_layouts/xlviewer.aspx?listguid={ListId}&itemid={ItemId}&DefaultItemOpen=1 | 0x0 | 0x1 | FileType | xlsb | 255 | | Snapshot in Excel | /_layouts/images/ewr134.gif | /blogs/erics/_layouts/xlviewer.aspx?listguid={ListId}&itemid={ItemId}&Snapshot=1 | 0x0 | 0x1 | FileType | xlsx | 256 | | Snapshot in Excel | /_layouts/images/ewr134.gif | /blogs/erics/_layouts/xlviewer.aspx?listguid={ListId}&itemid={ItemId}&Snapshot=1 | 0x0 | 0x1 | FileType | xlsb | 256 |
|
|
|
Need skills on SharePoint 2007? Click here for your roadmap to the most comprehensive curriculum you'll find:

|
|
Here are some super SharePoint 2007 books |
|
|
|