Pages
▼
31 Dec 2013
27 Dec 2013
Get all Items from a list avoiding treshold
Code:
private static List<SPListItem> GetAllListItems(SPWeb web, SPList list) { List<SPListItem> listItems = new List<SPListItem>(); SPQuery query = new SPQuery(); SPListItemCollection spListItems; string lastItemIdOnPage = null; int itemCount = 2000; while (itemCount == 2000) { query.ViewFieldsOnly = false; query.RowLimit = 2000; if (lastItemIdOnPage != null) { SPListItemCollectionPosition pos = new SPListItemCollectionPosition(lastItemIdOnPage); query.ListItemCollectionPosition = pos; } spListItems = list.GetItems(query); if (spListItems.ListItemCollectionPosition == null) { listItems.AddRange(spListItems.Cast<SPListItem>()); break; } lastItemIdOnPage = spListItems.ListItemCollectionPosition.PagingInfo; itemCount = spListItems.Count; listItems.AddRange(spListItems.Cast<SPListItem>()); } return listItems; }
19 Dec 2013
List of Useful SharePoint CSS Classes
When developing custom SharePoint solutions you can save a lot of time by taking advantage of the built-in CSS classes inside corev4.css or corev15.css files.
For instance: you can use ms-error class in order to make your label red.
You can also use these:
.s4-floatleft
.s4-hide
.s4-clust - hides the element for the print view.
Here is a good list of ready-to-use CSS classes:
http://sharepointexperience.com/csschart/csschart.html
Unfortunately, this link does not contain the whole list of useful classes, but it's a good start anyway.
For instance: you can use ms-error class in order to make your label red.
You can also use these:
.s4-floatleft
.s4-hide
.s4-clust - hides the element for the print view.
Here is a good list of ready-to-use CSS classes:
http://sharepointexperience.com/csschart/csschart.html
Unfortunately, this link does not contain the whole list of useful classes, but it's a good start anyway.
13 Dec 2013
Change "SharePoint" in ms-core-brandingtext
In case you were wondering how to change "SharePoint" text in the top left corner:
In SharePoint Management PowerShell:
$app = get-spwebApplication "http://mysite"
$app.SuiteBarBrandingElementHtml = "<div class='ms-core-brandingText'>Custom Brand</div>"
$app.Update()
Done!
6 Dec 2013
Setting up Exchange 2013 for SharePoint 2013 Development Environment. Outbound email
Begin with setting up Exchange Server Receive Connector:
If this script returns #True - it worked just fine.
If it returned "#False" - you will need to check SharePoint ULS in order to find what happened exactly.
- Open Exchange admin center (https://localhost/ecp) site;
- Mail flow --> receive connectors:
- Select Default Frontend Connector and edit it
- In security section, make sure "Anonymous users" are allowed:
You can test outgoing email via PowerShell with the following script:
Add-PSSnapin Microsoft.sharePoint.powershell
$Dictionary = new-object System.collections.specialized.stringdictionary
$Dictionary.add("to","TestUser@denis")
$Dictionary.add("from","TestUser@denis")
$Dictionary.add("Subject","Testing email")
$Web = get-spweb "http://localhost"
$Body = "Sending it from PowerShell"
[Microsoft.SharePoint.Utilities.SPUtility]::SendEmail($Web,$Dictionary,$Body)
If this script returns #True - it worked just fine.
If it returned "#False" - you will need to check SharePoint ULS in order to find what happened exactly.
Possible problem with while testing outgoing email: 451 4.7.0 Temporary server error. Please try again later. PRX2":
Solution: make sure you've got only one DNS for your network adapter on your Exchange Server. Make sure you are using address of your DNS server of your local domain. Do not include any other external DNS servers.
Solution: make sure you've got only one DNS for your network adapter on your Exchange Server. Make sure you are using address of your DNS server of your local domain. Do not include any other external DNS servers.
- Make sure that IPv6 is enabled on Exchange server. This is important when you are trying to connect Outlook to Exchange Server:
- Add host file entries on your SharePoint server that target Exchange server you receive "could not resolve domain name" error:
After all pain - success!