UPDATE: SharePoint 2010, IE 7, and JQuery Issues

This is an update to an earlier post about issues with the style library, IE 7, javascript, REST interface, and anonymous access (yea, it was a lot of stuff). Here is what we have learned:

  • If you have publishing turned on, you have to make double triple dog sure that your files are PUBLISHED when you push to test, uat, prod, whatever. If anything is in draft mode and you have anonymous access turned on user will get a login screen. We thought there was an issue with the Style Library and anonymous access but it was just files in draft mode causing the problem. You can check for draft files and publish them by using Site Actions > Manage Content and Structure
  • If you are using the REST interface with javascript it won’t work once you turn on anonymous access. You will have to redo your code or find a different solution-our programmer is busy right this second redoing all the beautiful code he wrote because we had no idea it didn’t flippin work when anonymous access was turned on 😦 We tried everything we could to make it work-we reached out to all the SharePoint pros at our company, on the web, even called SharePoint 911 (why is it whenever I call SharePoint 911 I have an issue that is impossible to fix??). So, in short, wanna use the REST interface? Don’t use javascript to query your lists, write a custom service instead.
  • I think the last issue was IE7 not liking Jquery. Our programmer had to rewrite his code a bit to make it play nice iwth IE 7-I’ll get him to tell me exactly what he did so I can let you guys know 😉

We are sooo close to launching the new ms.gov, just a few more days!!!! I designed this little guy over the New Years holiday (holiday? HA!).

Allowing users to add publishing pages

I have a subsite that I wanted to give over to our Documentation group to maintain. It is a publishing site with a custom page layout. I tested the security with a test user account. I gave the test account full control access to the subsite. When signed in as the test user, I could see the Site Actions button, see pages, security, etc. But when I would try to add a page, I got an Access Denied error. I tried it on a different subsite to just see if there was something wrong with that particular site, and I still got the error. After digging and poking around the web, I found a reference to give the user read access to the Master Page gallery. I gave the test user read access to the master page library and then signed back in and voila, it works!

Sometimes SharePoint just doesn’t make sense, with all the hoops you have to jump in to do seemingly simple things. Like add reusable content lists to a page layout. All i want to do is just add the references to two reusable content lists directly into a page layout so they are there when i make my pages. Apparently, to do this requires custom programming, still waiting on the estimate. In the old days, I’d simply add a library item into a Dreamweaver template and call it a day. Bah.

Practical SharePoint: Creating Manuals

One of the main content sources on my intranet is manuals and guides: policy guides, managers guides, SOP guides, etc. Sinces manuals /guides is such an important content source, I set out to find an ideal SharePoint solution for creating them. The current way that manuals/guides are implemented on our existing intranet is pretty simple: Dreamweaver template for overall structure, library items for navigation, and manually created content pages.

My first thought was to try to use the Sharepoint blog functionality. I liked how you can set up categories and then easily assign posts to those categories. A few problems came up: one, posts display in the order they are input-I needed to control the exact order; two, posts have comments that can be added-I needed that functionality removed. I was able to overcome issue one, partly, by creating a bit of a hack. I created a column that allowed me to insert a number that I could filter by. The big problem here is if I want to change the order of the posts in the future, i need to change the number for each post individually. Also, I tried using the CQWP to filter by the number and it wouldnt pull correctly in the quicklaunch. So, I abandoned the blog idea.

The solution I came up with that I am actually using is to create a publishing subsite for each manual. I created a custom content type, custom site columns, and several custom page layouts to accommodate the different types of page content that the manuals would have. Many of the manuals on the intranet have contextual navigation depending on what section you are in. I created those navigation areas with the reusable content lists, pulling them into the custom page layouts with a RichHtml field control.

In the page layouts, I wrapped the content areas in a div id that I then used to target all of the html and custom css, allowing me to override the built in css for the pages. I created custom styles for tables, quotes, and images.

It still isn’t an easy task to create a manual. i have many steps I have to go through to set one up, but I think the long-term benefits will be worth it. Content types, site columns and page layouts are the foundation of the publishing features in SharePoint and are essential skills to master.

One final tip-Document everything!!!! It takes a lot of time, but once I figure out a process for doing something in SharePoint, I create a bunch of screenshots and i document everything i did to create it. I also have a project management SharePoint site where I catalog every element created for a site (content types, columns, page layouts, master pages, lookup lists, etc.), every site created, and all documentation created. There is so much stuff, you really can’t depend on your memory, so write it down!

Well, I have to get back to figuring out to build my company intranet-I’ll post more as I figure more out ;0)