MOSS 2007 brings to you the ability to retain information about business documents so they can be tracked and recorded. Many businesses require or have policies that pertain to company documents. The MOSS Record Center gives us a repository that allows for custom policies to delete and archive documents. It also lets us audit things like who viewed, deleted, or updated the document. All in all, it is a perfect way to make sure historical content is maintained and not lost over years. The following scenario is an example of how a business could set up a record repository for their company documents.
For simplicity lets start out with a site called Purchases that is a site where the company stores all their Purchase Orders in a Sales document library, and all their receipts in a PO Receipts document library.
One thing to think about when you are going to manage documents is what is going to be the best way to track these documents. This would be to assign metadata to them. Therefore, I created a content type called Purchase Orders, which I applied to the Sales Documents library. Included in this content type are two default document columns, Name and Title, and three custom columns, Cost Center, Fiscal Year, and Product. These columns will allow for better search results and records management. It will also give more meaning to your documents. You will also be able to use these metadata field values in your Information Rights Management Policies, which I will explain later.
I also created a content type called Receipts, which has the default column Title, and a custom column PO Number so it can be tied to a PO. I added this content type to the PO Receipts document library.
For these Sales documents, we want to be able to retain historical information and audit activity. For this we will create a records repository for these documents and any others we would like to retain information for. It is recommended that you create a new web application for your record repository, and the reason for this is so you have a totally separate site to manage documents for your company. Also, it would make sense to have this site in its own content database because with all the documents and all the versions for these documents, the record repositories can tend to grow fairly large. For simplicity of this demo, we will just create a sub site under our Purchases site called Records Repository. Do this by creating a new site and choosing the Record Center Template.
After the site has been created, it will look like this:
(Note: I have a different theme. That is why the color is different)
After we have created our site, we will need to create a document library to store our Purchase Order documents that we want to store in the the repository. This is not something you have to do, but if you don't, the documents will go into the Unclassified Records library. Therefore, I created a document library called Purchase Orders.
Now, to keep this document library consistent with the library it will be getting documents from, which is the Sales Documents library in the Purchases site, we will want to add the Purchase Orders content type to this document library as well. Now if you didn't add the content type, the documents will still get routed, but you will not see the metadata in the document library list. You would have to look in the XML file that gets associated with the routed document. It is located in a properties folder stored with the document. Now since my repository is located in the same site collection as my Purchases site, I will be able to easily add the Purchase Orders content type, if it was not in the same site collection, I would have to recreate the content type for this site.
Now that we have added our content type to our Purchase Orders document library, we are ready to create a record in the Record Routing list. This will route our purchase orders to the correct document library. If we do not create a record, all the documents will get routed to the Unclassified Records document library.
Routing items works off of content types. In the item I created below, you will see that I give the item a name, a description (optional), a location (document library the documents will be routed to), and an alias. The way I have it set up now will route two types of documents. Documents with the Purchase Order content type, and documents with the Receipts content type. So how does this know if the document content type being routed matches those two types. Well, since the Purchase Orders document library has the content type purchase orders associated with it, all purchase order content type documents will be routed to there. Now, if you are routing documents of another content type, such as receipts, which is not associated with the Purchase Orders document library, you have to add that content type name to the alias section of the routing item so it knows where to put documents with the receipts content type.
Now that we have our document libraries and our routing item configured, we want to set up an Information Management Policy because we want to get useful information out of our stored documents. We do this by going to the Purchase Orders document library settings and click on Information management policy settings.
You will now come to a list that has the content types associated with this list. You will need to click on a content type to set up a policy for those documents.
Choose to Define a policy.
Lets begin to define our policy. The name will be automatically populated since we chose to define a policy for the Purchase Orders. The description is just for administrative use (Not Required). The policy statement will be displayed to users when they open the document. You can also enable labels. These labels will be printed when you print the document. Earlier I mentioned that we would be using the metadata to perform special tasks with the documents. In my label, you will see {Product}. This will automatically pull the information in the Product metadata for the document and print it on the label. It is a pretty neat feature!
You can also style the output of your label and preview it.
Lastly we can configure auditing, expiration, and barcodes. The auditing feature generates reports to give us statistics on the actions listed below. It works similar to the site collections auditing feature. The expiration allows you to either delete a document after a specific time, or set up a workflow to perform a certain action after a specific time, such as moving it to an archive. Lastly, barcodes can be added to documents. This will give documents a unique identifier that will allow documents to be easily identified when they are uploaded or printed.
Ok, we have finally finished configuring our record repository. There is only one last thing to do before we can start routing documents. We have to go into Central Administration and set the URL of our record repository to create the linkage so we can send documents from our sites to the repository. To do this, go into SharePoint Central Administration > Application Management > Record Center (Under External Service Connections). You cannot see it in this image, but the URL you need to use to connect to the records repository is your http://sitename/_vti_bin/officialfile.asmx. So in this demo, my URL is http://pit-moss01v/sites/RecordsDemo/RecordsRepository/_vti_bin/officialfile.asmx. Lastly, add the name that will show up when you go to send a document to the repository.
Now that everything has been configured, we can test sending a document. To send a document to the repository, hover over a document the Sales document library and click the down arrow. Next, hover over Send To, and click on Record Center.
You will get this message if the document was sent successfully.
Once you send the document, look in the Purchase Orders document library in the records repository. You will see a folder. These folders are set by which month and year you sent the document. All of the documents I send during December of 2008 will go into this folder. This is done to avoid the SharePoint limit that only allows for 2000 documents in a folder. It also allows for better performance when opening the library.
At this level, you will see all the documents for the that month.
If you click into the properties folder, you will see corresponding xml documents that list all the properties for the routed documents.
Finally, after all is said and done, and users start using the records repository, the site collection administrator can begin to monitor the activity by looking at the audit reports. At the top level of the site collection, go to Site Actions > Site Settings > (Under Site Collection Administration) Audit Log Reports.
There you go. This might have been a little lengthy, but if you took the time to try it out, you will see how powerful of a tool Records Management can be!
For just about every MOSS 2007 build-out I have performed, I've needed to connect remotely to the client's Windows 2003-based server. One thing that always tends to slip my mind is the Internet Explorer Enhanced Security (IEES). This is enabled by default on the server's installation of Internet Explorer (6.0+ I believe). Two issues sprung up recently which IEES directly affected:
1. The "Site Actions" menu does not work.
While working on the server, the "Site Actions" button was not highlighting or dropping down to reveal the "Site Settings" action I needed. I later found out that the site I was working on was not in my trusted sites list. Without the site being in my trusted sites, it had a higher security using IEES which disabled Javascript. Javascript is needed for the menu to function properly. After adding the site to my trusted sites list, the menu worked properly.
2. Trying to create a new My Site freezes while performing.
I was troubleshooting a new My Site host to confirm functionality while logged in as the System Account. Every time I clicked on the "My Site" link it loaded a new screen which simply said the site was being created for the first time. It kept freezing here for some reason. Similar to the previous problem, the My Site host was not a trusted site. Javascript or another disabled language through IEES was required to complete the action. Once I added the My Site host to the trusted sites, the My Site was created.
These are minor thorns which may hurt temporarily but after a little troubleshooting, they are easily resolved.
Recently, a client expressed a concern about what users could see when they use the People Picker web control in SharePoint. When the address book pops up, you can see all the users in Active Directory. This client is using SharePoint as an external collaboration tool with their own clients. Since these users are external to the company, they only want them to see users that are site collection specific. To allow this to happen, certain properties can be set on the People Picker using STSADM. Below is a TechNet article from Microsoft that explains what properties you can set and how to set them.
The peoplepicker properties are part of the setproperty and getproperty operations. The syntax for the setproperty operation is:
stsadm -o setproperty
-propertyname <property name>
-propertyvalue <property value>
[-url] <URL>
The syntax for the getproperty operation is:
stsadm -o getproperty
-propertyname <property name>
[-url] <URL>
Note:
You can substitute -pn for -propertyname and -pv for -propertyvalue.
The following table describes the peoplepicker properties.
Properties
Peoplepicker-activedirectorysearchtimeout
Configures the timeout when a query is issued to Active Directory.
Peoplepicker-distributionlistsearchdomains
Restricts the search of a distribution list to a specific subset of domains.
Peoplepicker-nowindowsaccountsfornonwindowsauthenticationmode
Specifies not to search Active Directory when the current port is using forms-based authentication.
Peoplepicker-onlysearchwithinsitecollection
Displays only users that are members of the site collection.
Peoplepicker-searchadcustomquery
Permits the administrator to set the custom query that is sent to Active Directory.
Peoplepicker-searchadforests
Permits a user to search from a second one-way trusted forest or domain.
You can find the article here:
http://technet.microsoft.com/en-us/library/cc263318.aspx