Wednesday, May 25, 2011

Multiple TargetPath under EcmDocumentRouterRule | EcmDocumentRouter , Content Organizer Rules , SharePoint 2010

In SharePoint 2010 with Content organizer  Feature, we can route a document to the target based on predefined rules.

If multiple rules condition satisfy for current document being put in drop off library, priority of rule decides which rule will run.

 

My requirement is :

Either

1. Run multiple rules for single document so that same document may be routed to multiple targets.

Or

2. Under single rule define multiple targetpath so that single document may be routed to multiple locations base don predefined rules.

 

Reference :

http://msdn.microsoft.com/en-us/library/microsoft.office.recordsmanagement.recordsrepository.ecmdocumentrouterrule_properties.aspx

Reply 1 By http://social.technet.microsoft.com/profile/kefang%20chen/?ws=usercard-mini

Hi,

If you want to implement the requirement you mentioned, it is not necessary to use the Content Organizer feature.

You can create an 'ItemAdded' event receiver for all the document libraries. After you uploaded document to library, you can call the method 'SPListItem.CopyTo()' to copy current document to destination.

For this topic you can see the following document.

http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.splistitem.copyto.aspx

Reply 1.1 By http://social.technet.microsoft.com/profile/mayur%20joshi/?ws=usercard-mini

Chen,

What if I want to avoid customization using Object Model. Can the content organizer then help in this. I have a similar requirement to this. I have location property which is multi value field. Based on the selections need to route the document to the appropriate folders. Can you please highlight how this can be achieved?

Thanks,

Mayur

Reply 1.1.1 By http://social.technet.microsoft.com/profile/hemantrhtk/?ws=usercard-mini

Mayur

In your case it is achivable out of box.

 

Define as much rules as much you have targets.

 

In the condition of each rule you can define, based on meta data field( which is your location ) route the document to desired target.

 Reply 1.1.1.1 by http://social.technet.microsoft.com/profile/mayur%20joshi/?ws=usercard-mini

Hemant,

Wish that was the case, i cant set as much rules because numerous permutation and combination that can happen with the countries (its a multi choice field).

I have raised another thread located here explaining the entire scenario. Any help will be highly appreciated.

Thanks,

Mayur Joshi

 

Monday, May 16, 2011

Two exactly same strings fail while comparison in c# .Net

I had an input field which had a space , some browsers were giving different hex for space in these input fields.

Finally I found , a space may not be a space there are as much as 25 different representations for space in Hex.

.Replace((char)0xA0, ' ') worked but better way is using .Normalize(System.Text.NormalizationForm.FormKC)

Reference : http://msdn.microsoft.com/en-us/library/ebza6ck1(v=vs.80).aspx
and http://msdn.microsoft.com/en-us/library/system.text.normalizationform(v=vs.80).aspx

Sunday, May 15, 2011

"Central Administration>General Application Settings>External Service Connections >Configure Send To Connections" code for this

This is the way we define a connection to a site where we would like to drop our documents.

 

Now in my case there could be hundreds of target sites created by code as and when required.

For each site created I want to write few lines of code which will do exactly what /_admin/OfficialFileAdmin.aspx  page does.

 

 

So i want code for what /_admin/OfficialFileAdmin.aspx ( Central Administration>General Application Settings>External Service Connections >Configure Send To Connections) does.

 

 

just try out like:
SPWebApplication app = SPWebApplication.Lookup(new Uri("http://hemant1236"));
SPOfficialFileHost host = new SPOfficialFileHost(true);
host.OfficialFileUrl = new Uri("http://hemant1236/testsite1/_vti_bin/officialfile.asmx");
host.OfficialFileName = "hemant1236Test1saurabh";
host.ShowOnSendToMenu = true;
host.Action = SPOfficialFileAction.Move;

host.Explanation = "created at Time" + DateTime.Now.ToString() + " by custom utility.";

app.OfficialFileHosts.Add(host);

app.Update();

Friday, May 13, 2011

Name cannot begin with the '\' character, hexadecimal value 0x5C

Hi

 

While extending a claim based web application I get the error :

Name cannot begin with the '\' character, hexadecimal value 0x5C. Line 858, position 42.

Troubleshoot issues with Microsoft SharePoint Foundation.

Correlation ID: b2bdf10b-33d2-4630-8bab-8054c6ce310c

Date and Time: 5/13/2011 3:16:10 AM

 

any idea why it happen so .

 

In the log:

 

 

05/13/2011 04:03:37.57     w3wp.exe (0x0954)                           0x1A00    SharePoint Foundation             Runtime                           tkau    Unexpected    System.Xml.XmlException: Name cannot begin with the '\' character, hexadecimal value 0x5C. Line 858, position 42.    at System.Xml.XmlTextReaderImpl.Throw(Exception e)     at System.Xml.XmlTextReaderImpl.ParseAttributes()     at System.Xml.XmlTextReaderImpl.ParseElement()     at System.Xml.XmlTextReaderImpl.ParseElementContent()     at System.Xml.XmlLoader.LoadNode(Boolean skipOverWhitespace)     at System.Xml.XmlLoader.LoadDocSequence(XmlDocument parentDoc)     at System.Xml.XmlDocument.Load(XmlReader reader)     at System.Xml.XmlDocument.Load(String filename)     at Microsoft.SharePoint.Administration.SPAspConfigurationFile.ApplyZoneSettingsToWebConfig(Uri responseUri, SPIisSettings settings)     at Microsoft.SharePoint.Administration.SPWebApplication.Provision()     at Microsoft.SharePo...    16bc3d6e-05e4-45d0-984c-813ed7e0c515
05/13/2011 04:03:37.57*    w3wp.exe (0x0954)                           0x1A00    SharePoint Foundation             Runtime                           tkau    Unexpected    ...int.ApplicationPages.ExtendWebFarmPage.BtnSubmit_Click(Object sender, EventArgs e)     at System.Web.UI.WebControls.Button.OnClick(EventArgs e)     at System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument)     at System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument)     at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)    16bc3d6e-05e4-45d0-984c-813ed7e0c515

Reply 1


In the app keys for main web application which is being extended; there was a key which referred a shared location like : "\\hemant1236\dropOff". The characters \\ in this app keys were the culprit. When I commented out this key , the web application was able to extend successfully.

Tuesday, April 19, 2011

get last app pool recycle timings

c:\Windows\System32\inetsrv\appcmd list wp  gives you all the process IDs

and on powershell  go for :

(Get-Process -Id [processID]).StartTime

You may also like:

Analyse event logs for Service Control Manager activities from windows

Sunday, April 17, 2011

Search History in SharePoint 2010

Did anyone got a chance to work on Search History?

 

We are able to get top Search Queries  , but we need to maintain log of all search keywords entered by all the users.  Is there something out of box for this?

 

Reply 1

here are some default Search Reports, but i do not recall it does keep track ALL the search keywords entered by user, the closest

You may refer http://blogs.msdn.com/b/ecm/archive/2010/05/03/web-analytics-in-sharepoint-2010-insights-into-reports-and-metrics.aspx for more information about the default search report.

 

Reply 1,1 we have tried it dear but we need to track all.Please help.Track all search keywords entered to be very specific .

Reply 1.1.1 You can create a hidden web part, place the hidden web part in the Search Result page, and the web part will retrieve the HTTP GET parameter, q=keyword, store it to a search keyword table, and make a report out of that table.




Kiat Hau, Goh http://kiatsplayground.blogspot.com/

Reply 1.1.1.1 If there is nothing out of box in SharePoint 2010 for this  , we will go for omniture - its just similar to google analytic .

 

Friday, April 15, 2011

SharePoint 2010 with IE 9

Hi

 

In IE 8 we used to have a  load bar in the browser . But in IE 9 when the page is loading a circle keeps on moving in the address bar-tab area.

 

I have a question now for my SharePoint site.

 

 

after the circle in the address  bar – tab  has stopped rotating  and when the page actually comes to the screen , there is a difference of 7 seconds!!!!!

 

 

If you have concrete explanation for this  or something like a wild guess please reply down.

 

P.S. 1 The issue is with latest version of IE 9 also downloaded today

P.S.2 One of the comment I got offline:

http://support.microsoft.com/kb/2398082

This issue can also occur if Internet Explorer 9 is running in Software Rendering mode.

By default, Internet Explorer 9 uses GPU Rendering mode. However, some outdated video cards and video drivers do not support GPU hardware acceleration. If Internet Explorer 9 determines that your current video card or video driver does not support GPU hardware acceleration, Internet Explorer 9 uses Software Rendering mode.

To determine whether Internet Explorer 9 is using Software Rendering mode, follow these steps:

Start Internet Explorer 9.

Click Internet Options on the Tools menu.

On the Advanced tab, locate the Accelerated graphics section.

Verify that the Use software rendering instead of GPU rendering check box is selected.

If this option is selected, Internet Explorer 9 is running in Software Rendering mode. If the option is greyed out, your current video card or video driver does not support GPU hardware acceleration.

Reply 1 http://social.technet.microsoft.com/profile/smidha/?ws=usercard-mini

I've experienced the same in Mozilla as well.

For IE9, also checked IE Options-> advanced -> Accelerated graphics section -> Use software rendering instead of GPU rendering check box is selected.

But no luck. A quick solution will be helpful.