Archive for the ‘SharePoint Designer’ Category

Hello everyone

After investigating for about a week on an issue, I’m here to summerize and give you information about it.

Our platfrom is SharePoint 2013 and using office 2013 client applications. We have a root site collection and couple of host named site collections also.

If you need to use people and group fields in Document Infomation Panel or as people picker in InfoPath forms, maybe you have seen that your InfoPath form or Word document stops working and it may hang or carsh.

By searching internet you will come up with some ideas that you should modify the web.config file and set attribute MultipleSiteBindingEnabled to True.

Something like this:


<system.serviceModel>
<serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true" />
</system.serviceModel>

However I found that this modification could have lots of annoying side effects and is not working properly. Although depends on your configuration. I recommend don’t do it!¬† It can cause the drag and drop functionality on document libraries stop working, it can cause the internal people and group fields (for example for lists) stop searching the directory and it can cause SharePoint designer to not be able to connect to your sites.

What I found instead was quite simple suprisingly. We had used manully binding into IIS which I found is not correct. To summerize and cut a long story short, I found:

  1. There is no need to modify the web.config file for adding multiple site bindings attribute
  2. And more importantly never ever manually add site binding into the IIS console

 

Just following this two instructions everything works like a charm in our farm.

Hope this helps.

Navid ūüôā

 

 

 

When you have your own custom master page in SharePoint 2010, maybe you’d come up with this issue when saving a simple wiki page in Site Pages or a Wiki library.

“you must specify a value for this required field”

new wiki page error
new wiki page error

 

I googled and found the reason is because of a missing folder which I had removed (better to say hided incorrectly). and it is this place holder:

<asp:ContentPlaceHolder id=‚ÄúPlaceHolderPageTitleInTitleArea‚ÄĚ runat=‚ÄĚserver‚ÄĚ></asp:ContentPlaceHolder>

What I had done was I had put this code inside an ASP Panel and set the visibility of the panle to hidden.
I found that I should do this with CSS like this.

<asp:Panel runat="server" CssClass="hidden" >
...
<asp:ContentPlaceHolder id="PlaceHolderPageTitleInTitleArea" runat="server" />
...
</asp:Panel>

I found these posts helpful :

http://alispasset.blogspot.co.uk/2011/11/you-must-specify-value-for-this.html
http://borderingdotnet.blogspot.co.uk/2010/09/you-must-specify-value-for-this.html

 

Sometimes because of some customizations or when you’ve worked with SharePoint designer, the page title is disappeared.

in these cases you can change the page title by using these tags. Add the follwing content place holder in the top of your code if not exist.

<asp:Content ContentPlaceHolderId=”PlaceHolderPageTitle” runat=”server”>

Add Title here

</asp:Content>

You can get title dynamic by add any of this tags into “PlaceHolderPageTitle”

<SharePoint:ListProperty Property=”Title” runat=”server”/>

<SharePoint:ListItemProperty Property=”Title” runat=”server”/>

<SharePoint:ProjectProperty Property=”Title” runat=”server”/>

<SharePoint:ListFormPageTitle runat=”server”/>

I found this solution here.

Today I was working on one of my custom data views. After I inserted the “Created by” field, I found that I can’t remove it’s hyperlink. ( so users can click on it and then they’ll redirect to the user display page)

I didn’t want that! So after a little searching I found a solution here.

in the code view find the people and group field. You should format it as Lable and then change te value of text property to: ( in my case it was Created by)

text=”{substring-after(substring-before(substring-after(@Author, ‘ID=’), ‘&lt;’), ‘&gt;’)}”

In my case it worked !

if you copy and paste the above code, don’t forget to change the quotes and double quotes.

Hi !

You now that you can use a Data view to create SharePoint Forms. You choose your columns and select insert as new item and …

But there is a problem here that some validation does not work in this mode. for example DropDown or radio button required fields buttons does not validate correctly. In the other hand the good thing is that you can use your custom form action and for example commit the changes and navigate to another page.

When you use a custom web part ( Inser -> SharePoint Controls -> Custom List Form ), the good thing is that all validations work fine but you can’t redirect to another page after submitting data. The RedirectUrl property of the button also didn’t work for me. I don’t know why.

So the question is how can we have a form with complete validation and redirecting after submit ?!

I searched a lot find some solutions. I solved my problem by combining a custom form web part with a custom action button and changing in it’s code like this :

  1. You use Custom List Form and Use NewItem form. Now your validation works fine and you do not need to use custom JavaScript validations.
  2. to navigate to another page after submitting data don’t use the RedirectURL property of the form button.
  3. Insert a Form Action button in the page and change the hide property of the previous submit button to True. Now we can use the “Navigate to page” action of the new form action button. BUT it does not validate the form correctly so you should do a little change in the code. you have access to it’s java script code.
  4. the original code is like this :
    onclick=”javascript: {ddwrt:GenFireServerEvent(‘__commit’)}”
    you should change it and add this code in the middle :
    onclick=”javascript: if (!Page_ClientValidate()) return false; {ddwrt:GenFireServerEvent(‘__commit’)}”
  5. for the “navigate to page” action if it didn’t work correctly. You should also change the URL in the code like this. in my case:
    onclick=”javascript: if (!Page_ClientValidate()) return false; {ddwrt:GenFireServerEvent(‘__commit;__redirect={/en/Documents/Forms/Upload.aspx}‘)}”

now save and preview your page. I did it and everything worked like a charm. GOOD LUCK !

Sometimes you copy the Page Layouts to another server or another web application. In these scenarios you may encounter some problems in cases that you want to modify the page in browser or SharePoint Designer. For example when you want to modify the page in browser you may encounter this problem ‚ÄúValue does not fall within the expected range‚ÄĚ. Or if you try to modify the page in the SharePoint Designer and you try to detach the Page from its Page Layout (To customize), the system gives you an error.

This is because the codes in the page are using the Page Layout with the old URL. So you should modify this URL in the page code.

You can do this by:

  1. Select the Page in SharePoint Designer and Export it (File > Export) to your hard drive.
  2. Open the exported file in an editor like Notepad.
  3. Search for ‚Äúmso:PublishingPageLayout‚ÄĚ. You will find that the URL inside this tag is invalid.
  4. So Change the URL and Import the file to the new server.

I found the solution in this blog and it was helpful to me. Thanks to ¥ong¥s .

Yesterday I was creating a simple gantt chart in a project task¬†list. The site master page was blueband,master. I found that you cann’t use gantt chart view in a site that uses a blueband as the master page. the gantt is bigger than the width of master page and it seems bad in the page .

Also I could not change my default master page. So the way I found to solve this problem was to directly change the master page of the view by using SharePoint Designer. I opened the list with SharePoint Designer, opened the gantt.aspx view, and with the use of Format menu and then Master Page Section, I changed the master page of this page.

I now however this page looks different from the other pages in the site , but I did not find any other way till now. This corrected the appearnce of the gantt chart.