Wednesday, December 14, 2011

Little gotchas in Content Syndication

There are always little gotchas.  One of the ones that bugs me the most is default values.  I create a farm wide content type to be used across the entire farm, but on different sites, some columns will need default values but on those different sites (or even on entire site collections) those defaults will be different.  So, I can't set them at the hub.  But, I have had Site Collection Administrators mistakenly try to set them at the Site Collection or Library level, and in doing so, they break the umbilical cord from the syndication hub.

So, how exactly can one use a syndicated Content Type and still have different default values and NOT break the umbilicus? The answer lies in Library Settings.  If the Site Collection Administrator (or other person with proper permissions) can go to the library settings and in the first column on the left, there is a link that says Set Default Column Values.  THIS is the correct way to set default values for columns that are coming in from the Content Type Syndication Hub.  Setting the default value here does NOT break the umbilical connection to the hub.

However, clicking on the column name, and then clicking the "Edit Column" link, is the WRONG way to set the default value for a column that comes from the syndication hub.  Changing the value in this way will break the umbilical cord and a -content type changed in this way will no longer accept updates from the syndication hubs.  So, if you are interested in keeping the content types connected to the hub, remember to only set defaults using the link within the Library Settings list.

Saturday, November 12, 2011

Managed Metadata and the Term store

The Term Store is a big part of using the Content Syndication Hub.  By using columns made from managed metadata, we can really control the standardization of the Content Type across the farm.  With the Term Store, we can make adjustments to the values within the term store and have those adjustments be populated out across the farm, just as changed to the Syndication version of the content type are populated out across the farm.  Together, these are very powerful.

In order to use the Term Store, one needs access to Central Administration or access through Site Collection Features to the Term Store Administration link.  From there, the first steps is to upload the original Term Store information.  Initially, Term Groups need to be created.  Term Groups are the equivalent of site columns.  They are columns that have data in them, but that data may be further differentiated in a tree configuration.  So, if the Term Group is States, the first level would be the state names, but under each state name, there could be city names, under the city names, there could be county names, under the county names, there could be area names or neighborhood names.

Changes to the Term Store require a timer job that runs (typically) once per day in the middle of the night.  The timer job schedule can be change to run at a different time or on a different frequency, but it can also be run manually by going to Central Administration->Monitoring->Job Definitions and then going to Taxonomies which is on the second page of jobs. These jobs can also be run on request at any time by going to the Job definitions and choosing the Run Now button.

Friday, November 04, 2011

Content Syndication Hubs and SharePoint 2010

Ever create a great document library, have all the columns set exactly the way you wanted to have them, and then wished you had them across the entire farm? I could just template the library, you say! Sure you could! :) So you spend the afternoon making the template, and copying it to all the sites you need. As you finish the last one and push your chair back from the desk and reach for that Snicker's bar, your boss stops by and asks how much trouble it would be to change the Comment field to a Multiple Line text field from a Single Line text field, change the Start field from a Single Line text field to a Date and Time field, and add a new field called OriginationLocation that would be a Single Line text field?

"On all those sites? By close of business today? Sure, I can get them done", you think. As you chew your candy bar, you wish you these three columns had been defined before you made that list template. Each library will now need to be changed individually or deleted and recreated with a new template. Oh well, there goes the rest of the day. How could this have been avoided? By using the Content Syndication Hub and SharePoint 2010! Let me illustrate this by rolling back the clock, and replaying this scene at MY desk.

I wander out of the elevator, eyes barely open, coffee steaming from my mug. "Wonder what today will bring," I mumble as I drop my lunch off and hang my coat up. As I enter my cubicle, I see my mohawked cubemate sitting in front of his computer, load balancing the virtual servers. "Morning!" I call out as I put my purse in the drawer, slide my ID card into my computer and enter my PIN. "Anything?" "Nope," he replies, "All quiet." "Good, I think," as I settle down and open up my browser. I click open a few tabs. First, I hit Central Admin, then I hit my CSH - Content Syndication Hub.

New custom content type - I pull out the list of fields needed. There are 23 fields needed. No problem. On the Content Syndication Hub, I go to Site Actions->Site Settings->Site Columns. From here I look at the columns I need to make. Hmm. Six of these are going to be hidden columns used only for transferring data by a console app being written by one of our developers. No one by he and I will see them. I think I will cluster them together in a group called TFR Columns so that they are easy to find. I create each one as a custom site column and make sure that the column type is TFR_Column. I mark each one as Hidden. Okay, six down.

What else do I have? Ten are related to Finance and will likely be used again for other Finance libraries, better put them in a cluster too. I create each one of those and make sure that the column type is Finance. Sixteen down and seven left to go. Those are just generic custom columns. That'll do for them.

Now that I have created all the needed columns, it is time to make my content type. I go to Site Actions->Site Settings->Site Content Types. I give my new Content Types its name - MN Document, based on the regular Document content type. Then I "add from existing site columns" and add all of the columns that I just created. Then I Manage Publishing for my content type, and click the Publish so that my content type will be sent the next time content types are published. Great now to actually publish it.

Over to Central Administration, I go to Monitoring->Timer Jobs and I run the Content Hub and the Content Subscriber jobs. Now, all the sites that are on those web applications have access to my new Custom Content Type - MN Document!

I go to each of my site collections, go to advanced settings, enable content management, and add my new content type, add it to the libraries where it is needed (and delete the plain document content type if I want the new content type to be the only one in the library.) I am done.

As I push my chair back from the desk and reach for my tea bags, intent on a nice hot cup of cranberry-fennel tea, my boss stops by and asks how much trouble it would be to change the Comment field to a Multiple Line text field from a Single Line text field, change the Start field from a Single Line text field to a Date and Time field, and add a new field called OriginationLocation that would be a Single Line text field?

"On all those sites? By close of business today? Sure, I can get them done", I say, "No problem. I will have it done in 30 minutes. Just let me grab a cup of tea." I saunter into the kitchen and pour boiling water over my tea bag and honey. I watch as the bright red color swirls out of the bag and into the water. Mesmerized, I just stand there for a moment, then I remember that I have work to do. I walk back to my desk and put my ID card back into the computer and log my PIN back in, and switch back to the Content Syndication Hub. I click on my new custom content type, MN Document. I make the changes my boss mentioned. After checking them over, I click on the Manage Publishing for my content type, and click the Republish option.

I go back to Central Adminitration, and head back to the timer jobs. I rerun the Content Hub and the Content Subscriber jobs. Then I refresh the browser that has my first library. Sure enough, the changes to my content type are showing. I check each library on each site that is using my MN Document. Yep, all of them are now showing the change. Well, that was easy.

My tea has now fully steeped and the flavor is at its best. I lean back and take a big sip. My update is done; I should probably send my boss an email. You know, let him know I am done. Well, it can wait until I am done with my tea.

Repurposing this blog

I haven't written any blog posts in a while. I have been busy working on SharePoint 50+ hours a week for many weeks, months, etc. First it was on SharePoint 2007 and lately, SharePoint 2010.


I started in February or March with a project to create an archival solution for SharePoint 2007, and that will be detailed in another post, but that project eventually led to the realization that we needed a Records Management solution, not just an archival solution.


So, I am going to repurpose this blog from a blog about just random thoughts to a SharePoint centered blog, at least as long as I am a SharePoint engineer anyway. This will be the first post in a series (I hope) about Records Management solutions using SharePoint 2010. I may go back and also detail some of the solutions we developed in 2007, though, those are of less importance since we are quickly migrating away from 2007. I envision that if I do detail any of those, it will be in reference to how to move data from 2007 to 2010.


If you liked my old blog and you miss it, I am sorry. This will probably will be in the same style, just about different stuff. If you didn't like my old stuff, but like SharePoint, maybe it will have information you will like or need. If you didn't like my old stuff and you don't like SharePoint, why in the world are you still reading this?

Thursday, February 10, 2011

Strange

I got an email from this blog site, indicating that my blogsite is attached to a particular email account. Strange, I didn't ask which account it was associated with. Probably means someone else was trying to login to this account. Tough luck, whoever you were. :) This is still my blog, and only I can post here. Nanny nanny boo boo. :)

Okay, I am being childish, but I am feeling childish today. Yesterday, I found out that my employer, well, the base on which I am employed, it not only being disestablished (I knew that), but the # of contractors (I am a contractor) in my department (the IT deparment) is being reduced from 137 to 29. The entire base is being reduced by a ridiculous (as far as I am concerned) amount, but to reduce IT by the amount they are discussing is unbelievable, and to expect to be able to continue to provide the needed services with 1/5 the contractors in our specific department it ludacris. We have only contractors. There are no military or civilians in our particular department (other than the one project manager). If they reduce us by 1/5th, there is no way to complete the mission.

We will hear who the lucky 29 contractors are in about 6 weeks (the end of March). Will I be one of the lucky 29? Oh, I don't know. I work hard. I get my tasks done on time and usually as well or better than asked. But, I am not the top of my sub-department. So, if they can keep only one, I don't think it will be me. But, if they can keep more than one in my sub-department, I have a reasonable chance, I suppose.

Maybe it is time for me to rethink whether IT is my lifelong career path, or whether it is time to re-evaluate.