Saturday, 20 June 2015, 15:45 by devcap

As many others, I use Windows Live Writer (WLW) as my main tool for blogging. It has aged a bit over the years and sometimes crashes, but I think it is still the best tool around for this purpose. It will only get better if Scott Hanselman (@shanselman) succeeds in releasing it as open source! Winking smile

I would like to share with you some of my favorite tips for getting the best out of it.

  1. Change default style and template:

    Navigate to %ProgramFiles(x86)%\Windows Live\Writer\template and change the files defaultstyle.css and default.htm. New posts will inherit these.

  2. Change IE version used for rendering posts:

    Set the desired Internet Explorer version through the Registry: go to HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION and add key WindowsLiveWriter.exe with a value of (DWORD) 10000 (for IE10) or 11000 (IE11). Now you can preview HTML5 features right on WLW.

  3. Change posts location:

    This is useful if you use several machines and you want to keep all your posts (drafts, published) in the cloud (OneDrive, DropBox, Google Drive, etc). In Registry, go to HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows Live\Writer and add key Posts Directory. The value must be a full path!


  4. Export settings:

    Export all WLW settings by exporting this Registry key (and everything below): HKEY_CURRENT_USER\Software\Microsoft\Windows Live\Writer\Weblogs.

  5. Clearing cached themes:


    If you run into problems with a site’s theme, clear its local cache. Cached CSS and image files are stored at %AppData%\Windows Live Writer\blogtemplates.


  6. Disabling blog theme:

    If your theme misbehaves, and clearing the local cache doesn’t help, you can disable it in the ribbon:
    image

  7. Use the Windows Live Writer SDK:

    Create plugins for WLW in .NET. Download the SDK here and reference it from %ProgramFiles(x86)%\Windows Live\Writer. There are several examples out there, just check out this one.

  8. Log file:

    The log file and a couple of others are located here: %LOCALAPPDATA%\Windows Live Writer.

  9. Open old posts:

    If you need to open a post that you created a long time ago and it no longer shows in the recent posts list, what to do? Get the WLV Post Download plugin from http://aovestdipaperino.com/pages/wlw-post-download-plugin-instructions.aspx. After you have it, open a blog post in your browser with the WLW protocol. For example, to use it with an Orchard or WordPress blog (MetaWeblog API), use this format: wlw://blog?postid=id, where you first need to find out the post id; with other blogs, use the format: wlw://blog/page.aspx. This will open up WLW with the desired post, and you can now change it and publish it.

  10. Use Blog This for blogging over a web page:
    In Internet Explorer, WLW adds an option for adding a link to the current page in a new blog post. It is called Blog This in Windows Live Writer and is available in the Tools menu:
    image

  11. Use plugins:

    WLW has lots of plugins available on the Internet. My favorites are:

  12. Use the source:

    When you can’t easily format your text the way you want it using the designer (Edit) tab, you can switch to the Source tab and make your changes there. WLW will synchronize the designer.

  13. Post drafts to your blog:

    image

  14. After you save the draft, it won’t be visible to the World, you need to use your blog’s management console to actually publish it.

  15. Get to know other WLW options:

    In FileOptions, explore what WLW offers (save auto recovery information, show word count in real time, disable emoticons, remember to add tags, check spelling, etc):

    image

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

​In SharePoint 2013 we don't have "Sign in as Different User" option, that was available in SharePoint 2010.

image

image

It is simple to add the option on the user menu. By adding SharePoint: MenuItemTemplate tag in welcome.ascx available in control templates.​ Following are the steps to add sign in as different user option.

Go to SharePoint Server, browse C:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\TEMPLATE\CONTROLTEMPLATES, location.

image

Select Welcome.ascx file and open it any editor like notepad or Visual Studio.

Search for tag id  ID_RequestAcess , add following script on top of it.

<SharePoint:MenuItemTemplate runat="server" ID="ID_LoginAsDifferentUser"
Text="<%$Resources:wss,personalactions_loginasdifferentuser%>" Description="<%$Resources:wss,personalactions_loginasdifferentuserdescription%>"
MenuGroupId="100"
Sequence="100"
UseShortId="true"
/>

SNAGHTMLc4638db

Refresh the site, check user menu options. You can see the option "Sign in as different user" as shown in the image below.

image

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
RBS FILESTREAM Installation for Sharepoint 2013

I am breaking down the RBS FILESTREAM Installation for SharePoint 2013 into 7 steps :

1. Enabling FILESTREAM on the database server

2. Provision a BLOB store for content database

3. Install the RBS client library on the on the first web server

4. Install the RBS client library on all additional web and application servers

5. Confirm the RBS client library installation

6. Enable RBS for the Content Database

7. Test the RBS Installation

1. Enabling FILESTREAM on the database server


Login to the SQL Server 2012 with the highest privileged account.

1. On the Start menu, point to All Programs, point to Microsoft SQL Server Code-Named 2012, point to Configuration Tools, and then click SQL Server Configuration Manager.
2. In the list of services, right-click SQL Server Services, and then click Open.
3. In the SQL Server Configuration Manager snap-in, locate the instance of SQL Server on which you want to enable FILESTREAM.
4. Right-click the instance, and then click Properties.
5. In the SQL Server Properties dialog box, click the FILESTREAM tab.
6. Select the Enable FILESTREAM for Transact-SQL access check box.
7. If you want to read and write FILESTREAM data from Windows, click Enable FILESTREAM for file I/O streaming access. Enter the name of the Windows share in the Windows Share Name box [In this case it was BLOBSTORE].
8. Uncheck the Allow remote client’s access to FILESTREAM data. Click Apply.
9. In SQL Server Management Studio, click New Query to display the Query Editor.

10. In Query Editor, enter the following Transact-SQL code:

EXEC sp_configure filestream_access_level,2

RECONFIGURE

11. Click Execute.

12. Restart the SQL Server service.

2. Provision a BLOB store for content database

Note

· The user account provisioning RBS stores must be a member of the db_owner fixed database role on each database that you are configuring RBS for.

· For best performance, simplified troubleshooting, and as a general best practice, we recommend that you create the BLOB store on a volume that does not contain the operating system, paging files, database data, log files, or the tempdb file.

1. Click Start, click All Programs, click Microsoft SQL Server 2012, and then click SQL Server Management Studio.

2. Connect to the instance of SQL Server that hosts the content database.

3. Expand Databases.

4. Click the content database[DB1_RBSExp] for which you want to create a BLOB store, and then click New Query.

5. Paste the following SQL queries in Query pane, and then execute them in the sequence listed.

use [DB1_RBSExp]

if not exists (select * from sys.symmetric_keys where name = N'##MS_DatabaseMasterKey##')

begin

create master key encryption by password = N'1zqa2xws!'

Select 1

end

use [DB1_RBSExp]

if not exists (select groupname from sysfilegroups where groupname=N'RBSFilestreamProvider')

alter database [DB1_RBSExp] add filegroup RBSFilestreamProvider contains filestream

use [DB1_RBSExp]

alter database [DB1_RBSExp]

add file (name = RBSFilestreamFile, filename = 'E:\BlobStore') to filegroup RBSFilestreamProvider

6. Blob folder was created in E:\BlobStore.

Note

For downloading RBS.msi (http://www.microsoft.com/en-us/download/details.aspx?id=35580)

Download the file: ENU\x64\RBS.msi

  • RBS client library should be installed on all servers in the SharePoint farm. The RBS client library is installed only one time per web server, but RBS is configured separately for each associated content database. The client library consists of a client-side dynamic link library (DLL) that is linked into a user application, and a set of stored procedures that are installed on SQL Server.
  • Do not install the RBS client library by running the RBS.msi file and starting the Install SQL Remote BLOB Storage wizard. The wizard sets certain default values that are not recommended for SharePoint 2013.

3. Install the RBS client library on the on the first web server


1. Login to WebServer1 as domain\sp_setup

2. Copy the RBS executable to C:\RBSClient\

3. Click Start, click Run, type cmd into the Run text box, and then click OK. Browse to C:\RBSClient\.

4. Run the below command

msiexec /qn /lvx* rbs_install_log.txt /i RBS.msi TRUSTSERVERCERTIFICATE=true FILEGROUP=PRIMARY DBNAME=" DB1_RBSExp" DBINSTANCE="DBSERVERNAME" FILESTREAMFILEGROUP=RBSFilestreamProvider FILESTREAMSTORENAME=FilestreamProvider_1

5. After this step verify that the RBS component is installed on the server by going to Control Panel.

4. Install the RBS client library on all additional web and application servers


Note - Confirm that the user account performing these steps is a member of the Administrators group on the computer where you are installing the library. [domain\sp_setup]

1. Login to the other servers (WebServers and AppServers) in the farm servers as domain\sp_setup .

2. Copy the RBS executable to C:\RBSClient\

3. Click Start, click Run, type cmd into the Run text box, and then click OK.

4. Run the below command

msiexec /qn /lvx* rbs_install_log.txt /i RBS.msi DBNAME=" DB1_RBSExp" DBINSTANCE="DBSERVERNAME" ADDLOCAL=Client,Docs,Maintainer,ServerScript,FilestreamClient,FilestreamServer

5. Confirm the RBS client library installation

1. The rbs_install_log.txt log file is created in the same location as the RBS.msi file. Open the rbs_install_log.txt log file by using a text editor and scroll toward the bottom of the file. Within the last 20 lines of the end of the file, an entry should read as follows:

Product: SQL Remote Blob Storage – Installation completed successfully.

2. On the computer that is running SQL Server 2012, verify that the RBS tables were created in the content database. Several tables should be listed under the content database[DB1_RBSExp] that have names that are preceded by the letters "mssqlrbs".

6. Enable RBS for the Content Database


1. Login to WebServer1 as domain\sp_setup


Note - The user account enabling RBS must have sufficient permissions to run Windows PowerShell.

2. Open SharePoint 2013 Management Shell as Administrator and perform the steps below:

$cdb = Get-SPContentDatabase DB1_RBSExp

$rbss = $cdb.RemoteBlobStorageSettings

$rbss.Installed()  [returns true]

$rbss.Enable()

$rbss.SetActiveProviderName($rbss.GetProviderNames()[0])

Executing $rbss.Installed() should return true, if false this may be due to the reason that RBS is not installed properly or RBS is not installed on other Web servers.

3. Type $rbss and verify that ActiveProviderName is not Null. See below.

7. Test the RBS Installation


1. Open the Site Collection where blob store is enabled.

2. Open a library or list where we can upload documents. Upload a document whose size limit is more than 100 KB.

3. Browse to Blob Store Folder on the SQL server and verify the latest modified folder. The document should be present in it.

Note


· The SharePoint Set up account (domain\sp_setup) was made as sysadmin before running the RBS.msi.

· Added SharePoint Set up account (domain\sp_setup) as dbowner for RBS content database

· There were issues to upload the file to site after RBS Installation. To fix this issue, the Web Applications’ Application Pool Account (domain\sp_web) was made the dbowner for the content database where RBS was activated

· The SharePoint Setup account (domain\sp_setup) was added to the local administrator group on the SQL DB Server

· Average size of a BLOB is between 60-65 KB

After uploading the first document to your RBS Enabled Site collection, this is what you see in your content database tables.

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Put this after your base SharePoint URL:

/_vti_pvt/service.cnf

and find out the version number of SharePoint very quickly e.g.

vti_encoding:SR|utf8-nl vti_extenderversion:SR|15.0.0.4420

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
Friday, 12 July 2013, 20:25 by devcap

Just a quick note for myself…Licensing Microsoft SharePoint Server 2013.  Spells out common licensing scenarios.  Also: http://technet.microsoft.com/en-us/library/jj219627.aspx for managing license assignments by user/group.

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

This is the first post of a multipart series on customizing the CQWP. Part one includes the steps to use customized XSL style sheets.

XSL Style Sheets

There are 3 XSL style sheets used for the CQWP which include the following:

File
Location
Purpose

ContentQueryMain.xsl
\Style Library\XSL Style Sheets\ContentQueryMain.xsl
Contains the logic that generates the calls to the Header and Item templates for each item.

ItemStyle.xsl
\Style Library\XSL Style Sheets\ItemStyle.xsl
Templates that define how to display the items returned by the query.

Header.xsl
\Style Library\XSL Style Sheets\Header.xsl
Templates that define how to display the headers (group by).

Create Custom XSL Style Sheets

It is best practice to create your own custom XSL style sheets and link them to the CQWP instead of modifying the OOTB ones.

  1. Open your site in SharePoint Designer 2013.
  2. Navigate to All Files > Style Library > XSL Style Sheets.
  3. Create 3 XSL files:
    • CustomContentQueryMain.xsl
    • CustomItemStyle.xsl
    • CustomHeader.xsl 
      image
  4. Copy the source from each original file to the corresponding file.
  5. Save and publish.
  6. Open the site in the browser and add a CQWP to the page.

    image
  7. Edit the Web Part properties and change the Title to Custom Content Query.
  8. Export the Web Part and save it locally.
    image
  9. Open the Web Part in a text editor.
  10. Modify the MainXslLink, ItemXslLink, and HeaderXslLink properties setting it to the location of your custom XSL files.
    	<property name="MainXslLink" type="string">/Style Library/XSL Style Sheets/CustomContentQueryMain.xsl</property>
    	<property name="ItemXslLink" type="string">/Style Library/XSL Style Sheets/CustomItemStyle.xsl</property>
    	<property name="HeaderXslLink" type="string">/Style Library/XSL Style Sheets/CustomHeader.xsl</property>
    	
    	 
    	
    	image 
    	
  11. Save the .webpart file.
  12. Go back to your site and navigate to the Web Part Gallery. Site Actions > Site Settings > Web parts (Web Designer Galleries).
  13. Upload your customized .webpart file.
    image

  14. image
  15. Now you can add your custom CQWP to a page.
    image
  16. The Web Part is linked to your custom XSL files and any changes needed would be made to the custom XSL files (CustomContentQuery.xsl, CustomItemStyle.xsl, and CustomHeader.xsl)  instead of the OOTB files.

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
Saturday, 16 March 2013, 21:14 by devcap

Useful Windows Shortcut Keys –

  1. WINDOWS key – to switch between desktop and modern(metro) interface
  2. ALT+TAB – to switch between apps recently opened
  3. WINDOWS+C – open the Windows 8 charms
  4. WINDOWS+Q – see all apps
  5. WINDOWS+X – very handy to see the control panel
  6. WINDOWS+Z- to see app bar properties down
  7. WINDOWS+Q- search the apps
  8. WINDOWS+D – to get desktop interface
  9. WINDOWS+F – to search a file
  10. WINDOWS+TAB – modern taskbar
  11. WINDOWS+I – to get settings
  12. WINDOWS+R – run dialog
  13. WINDOWS+L – to lock the computer
  14. WINDOWS+P – switch to presentation
  15. Hold WINDOWS & plus – Zoom in
  16. Hold WINDOWS & minus – Zoom out

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

http://blogs.technet.com/b/sykhad-msft/archive/2012/02/25/sharepoint-2010-nailing-the-error-quot-the-security-token-service-is-unavailable-quot.aspx

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
Wednesday, 21 March 2012, 17:39 by devcap

SharePoint Transport Protocols

All traffic within SharePoint occurs over one of three transport protocols, they are:

  • SQL Server Tabular Data Stream (TDS). This is the protocol that handles all traffic in and out of SQL. By default this occurs on port TCP:1443 but named instances of SQL will have a random port assigned.
  • Server Message Block (SMB). Rather surprisingly, this ancient file-sharing protocol is used extensively for search and query operations with SharePoint. This occurs on port TCP:445 or TCP:137,138,139 (over NetBIOS).
  • Hyper Text Transfer Protocol (HTTP). No big surprise here, HTTP handles all incoming traffic and inter-farm web service calls. This normally incoming traffic occurs over ports TCP:80 or TCP:443 (SSL) but this depends on how your Web Applications have been configured. Shared Service Provider web service calls occur on ports 56737 and 56738 (SSL).

In addition to the above, SharePoint obviously has to communicate with other servers such as Active Directory, DNS etc which require other ports, they are as follows:

  • AD Authentication: Occurs on TCP:445 or TCP:88 (Kerberos)
  • LDAP: Occurs on LDAP:389 and LDAPS:636
  • DNS: occurs on TCP:53
  • SMTP: Occurs on TCP:25

Inter-Server Communication

The term ‘Inter-Server' is used to describe traffic which occurs between servers inside the SharePoint farm. This includes the SQL server. The vast majority of traffic in this area is traffic to and from SQL server, which is why people always say that the SQL is the most important server in the SharePoint farm. This diagram describes the inter-server traffic. A large version of this image can be found here


Extra-Server Communication

The term ‘Extra-Server' is used to describe traffic that occurs between the SharePoint farm and other servers. This would typically include AD, DNSD etc but you must also consider any external Indexing and BDC connections. This diagram describes the extra-server traffic, a larger version can be found here.

 

 

Client-Server Communication

Client server communication refers to all traffic between the SharePoint farm and clients which may include Office, Browsers, and SharePoint Designer etc. All of this traffic occurs over HTTP and only ever interfaces with the Web Front End server. None of the other servers in the SharePoint farm handle client-server traffic. This diagram describes Client-Server communications, a larger version can be found here.

 

SharePoint Protocols

The actual communications that occur within SharePoint happen using a wide range of SharePoint-specific protocols. These protocols are documented in great detail here; additionally there are similar documents for Office protocols here.

The documents contained in the above links include a massive amount of detail on how specific operations within SharePoint occur. For example, if you want to know which servers, stored procedures and other protocols are involved when you interact with the recycle bin, check out ‘[MS-WSSCADM]: Windows SharePoint Services Content Database Administrative Communications Protocol Specification‘.

These documents are a great resource for really understanding the low-level details of what your SharePoint servers are doing.

Search Specifics

One of the main type of Inter-Server communication is based around Search and Indexing. Interestingly, the communications channels used are primarily SMB which means that SMB must be allowed through firewalls if different servers are on different network segments.

Search & Index has 3 main types of activity, they are as follows:

  • Search Administration. This is simple HTTP traffic to the Office SharePoint Server Web Services which occurs on ports TCP:56737 and TCP:56738 (SSL). This is used to administer the Search service.
  • Search Crawling: This is the process of eth Index server crawling SharePoint and external content. During a crawl there is heavy traffic both between eth Index server and the content and the Index Server and SQL
  • Search Index Propagation: During an crawl, the Index Server will propagate the indexes to the Query server. This occurs throughout the indexing process (it does not wait until indexing has complete to propagate). This communication occurs over SMB which means that an SMB channel must be open between eth Index and Query servers.
  • Search Query Execution: This is the process of a user executing a query on eth Web Front End Server and it being passed to the Query server for execution. This also occurs over SMB which means that an SMB channel must be open between you Web Front End and Query Servers.

Tools

In terms of troubleshooting, there are three tools that are invaluable in terms of understanding network communications, they are:

  • SQL profiler. This is a tool that has been package with SQL for many years now. Profiler essentially allows you to view exactly what is happening inside SQL. If you use this in conjunction with teh SharePoint protocol documents you will be able to see specific stored procedures being executed when certain activities happen.
  • WireShark. This is a physical packet sniffer that can be used to examine all network packets. You can download WireShark here.
  • Fiddler. This is a HTTP debugging application that can be used to examine HTTP traffic. This is simpler than WireShark but will not cover TDS or SMB (which WireShark will). You can download Fiddler here.

Currently rated 1.1 by 246 people

  • Currently 1.113824/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
Thursday, 26 January 2012, 13:15 by capdev

A couple of days ago, a colleague of mine asked me if I knew the difference between 'Ems' (em) and pixels (px). Honestly, I was not sure, so did some investigation....

  1. Ems (em):  The “em” is a scalable unit that is used in web document media.  An em is equal to the current font-size, for instance, if the font-size of the document is 12pt, 1em is equal to 12pt.  Ems are scalable in nature, so 2em would equal 24pt, .5em would equal 6pt, etc.  Ems are becoming increasingly popular in web documents due to scalability and their mobile-device-friendly nature.
  2. Percent (%):  The percent unit is much like the “em” unit, save for a few fundamental differences.  First and foremost, the current font-size is equal to 100% (i.e. 12pt = 100%).  While using the percent unit, your text remains fully scalable for mobile devices and for accessibility.  
  3. Pixels (px):  Pixels are fixed-size units that are used in screen media (i.e. to be read on the computer screen).  One pixel is equal to one dot on the computer screen (the smallest division of your screen’s resolution).  Many web designers use pixel units in web documents in order to produce a pixel-perfect representation of their site as it is rendered in the browser.  One problem with the pixel unit is that it does not scale upward for visually-impaired readers or downward to fit mobile devices.
  4. Points (pt):  Points are traditionally used in print media (anything that is to be printed on paper, etc.).  One point is equal to 1/72 of an inch.  Points are much like pixels, in that they are fixed-size units and cannot scale in size.

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5