Reimagine SharePoint Development

by Marcel Medina12. May 2013 17:40

Hi folks,

This webcast seems interesting. Check it if you want to understand more about apps, to learn about the proven practices of architecting and developing apps and migrating SharePoint solutions to apps. These are the words from the SharePoint Developer Team.

Here it is the link: Webcast

The SharePoint Development Team is taking pretty serious when they say: "As a SharePoint developer, you should make http://www.reimaginespdev.com your first stop when planning and developing your next app or migrating your existing SharePoint solution."

I want to check this session, so if you are a developer, I invite you to do the same.

Cheers,

Marcel

Click here to read the same content in Portuguese.

Tags:

News

Rebranding branded SharePoint Publishing Sites - Dilemmas

by Marcel Medina29. April 2013 01:02

Hi folks,

Due to a recent project I worked on I have decided to write something about facing dilemmas, about to do or not to do? That is the question.

When you face situations that you don’t have an immediate answer for that, you need to put some thought on it.

dilemma

Rebranding branded sites

When a client comes to you telling they want to rebrand an existing SharePoint site, the first thing that comes to my mind... is this an upgrade?

It turns out that because I have always worked on the development of Custom Branded Sites, I used to think about that.

In general, rebranding a branded site comes after upgrading the environment, but this is not a rule.

To upgrade, or not to upgrade?

If you are going to Rebrand a branded SharePoint site, and if the budget allows you to go further, plan for an upgrade before rebranding. This will minimize rework and hence costs in the future.

But if the budget does not comprise an upgrade, it is up to you to tell the client that not upgrading the environment can lead to expensive costs in the future, especially if you need to jump platforms.  e.g. from MOSS 2007 to SP2013. These costs involve:

  • Infrastructure – New architecture, resources, hardware.
  • Solutions – Compatibility of customizations.

But it is up to the client to decide where to put the money. The client needs to be guided to what is best for its business.

In my case a client decided not to upgrade the environment, so my job was to rebrand branded sites in the same environment. Although it seems pretty straightforward, it is not, you need to consider:

  • Design / Look and Feel – Changes on site definitions, master pages and page layouts.
  • Content Types – New fields available in page layouts.
  • Web parts – Mapping existing x new.
  • Navigation – Top and left navigation changes.
  • Reusable content – Header and Footer sections.

To be, or not to be guided by mock-ups?

Before the mock-ups are created, talk to the business users about content, ask how the pages are going to display information created by content editors.

Don’t let yourself be driven by mock-ups, in general design agencies don’t have a clue about SharePoint, so the design they create probably will have some incompatibilities with SharePoint.

To update, or not to update site definitions?

Don’t ever touch the site definition schemas after site collections/sites were already provisioned. This is not supported! Here is the proof: http://support.microsoft.com/kb/898631

Instead use the object model to apply changes to the site definition. If you are provisioning the sub-sites add some code to the Feature Receiver (Activation or Deactivation) to modify the site definition.

Note: You could create a new site definition if you want a fresh start, but you would need to adapt existing code and migrate existing site collections that uses the old version of site definition. I personally don’t recommend this approach.

To create, or not to create a new master page?

It depends. I say yes if you need to keep the old version, but if you do that you will need to modify the feature receiver to assign the new master page programmatically when provisioning a site collection/site. Remember the old master page is bound to the site definition schema!

But if you don’t need to keep the master page I say no, update the existing master page. This is my recommended approach.

To create, or not to create new page layouts?

Probably there will be layout / field changes as a result of the new mock-ups provided.

You are free to modify or create new page layouts, what you cannot do is to delete existing page layouts. They can be referenced by the site definition schema, so in this case you need to keep them available.

I don’t mean available for users to select when creating pages (you can hide them), but just as part of the code as a legacy.

Note: Content types can be bound to page layouts, so when you create pages, fields from content types are displayed on pages.

To preserve, or not to preserve webparts?

Do whatever you want with them. You can delete a web part descriptor from the Web part gallery and still have a reference to a page, so it means you can modify or delete them.

It all depends on the look and feel / functionalities required by the Rebranding of the web site. If it fits to the purpose of the new Rebranding, keep them, otherwise remove them.

To create, or not to create custom navigations?

It is up to you to decide what goes on the top bar or quick launch. Obviously you don’t want users to see Lists/Libraries displayed on Custom Navigation. So you can modify it to not to display these objects by default.

There are best practices when creating custom navigations. You don’t want to iterate manually through sites and sub-sites for that.

Use the objects under the namespace Microsoft.SharePoint.Publishing.Navigation as they provide much better performance when handling navigation items.

In MOSS 2007 and SP2010 the PortalSiteMapProvider class should be used to iterate through nodes (that represent sites, pages, links), while in SP2013 the TaxonomySiteMapProvider class should be used as it comes from the Metadata Services Application.

To use, or not to use reusable content?

Of course you can use reusable content. This is totally recommended in publishing sites!

By using the Reusable Content List you can either create reusable HTML or reusable Text.

In most of sites you have the Header and Footer sections that are shared and displayed in all pages, so why not to use this feature?

To go, or not to go for it?

It is not rare to find yourself stuck with dilemmas when customizing SharePoint. Based on my experience, my recommendation is to stick to the SharePoint best practices and recommendations from the field.

Preferably look for Microsoft articles that show how to do it. If you don’t find anything specific, talk to other professionals about the problem you have.

I hope it helps. In case you have different point of view, please share it.

Cheers,

Marcel

References:
http://support.microsoft.com/kb/898631
http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.publishing.navigation.aspx
http://office.microsoft.com/en-nz/sharepoint-server-help/use-reusable-content-HA010163838.aspx

Click here to read the same content in Portuguese.

Tags:

Tips and Tricks

SharePoint 2013 Web Templates

by Marcel Medina9. February 2013 05:20

Hi folks,

If you need to know what the web templates supported in SharePoint 2013 are, have a look at this list:

ID

Name

Title

Compatibility Level

0

GLOBAL#0

Global template

14/15

1

STS#0Team Site14/15

1

STS#1Blank Site14/15

1

STS#2Document Workspace14/15

2

MPS#0Basic Meeting Workspace14/15

2

MPS#1Blank Meeting Workspace14/15

2

MPS#2Decision Meeting Workspace14/15

2

MPS#3Social Meeting Workspace14/15

2

MPS#4Multipage Meeting Workspace14/15

3

CENTRALADMIN#0Central Admin Site14/15

4

WIKI#0Wiki Site14/15

9

BLOG#0Blog14/15

15

SGS#0Group Work Site14/15

16

TENANTADMIN#0Tenant Admin Site14/15

17

APP#0App Template15

18

APPCATALOG#0App Catalog Site15

2764

ACCSRV#0Access Services Site14/15

N/A

ACCSRV#1Assets Web Database14

N/A

ACCSRV#3Charitable Contributions Web Database14

N/A

ACCSRV#4Contacts Web Database14

N/A

ACCSRV#5Projects Web Database14

N/A

ACCSRV#6Issues Web Database14

2757

ACCSVC#0Access Services Site Internal15

2757

ACCSVC#1Access Services Site15

7

BDR#0Document Center14/15

95

DEV#0Developer Site15

10000

DOCMARKETPLACESITE#0Academic Library15

3300

EDISC#0eDiscovery Center15

3300

EDISC#1eDiscovery Case15

14483

OFFILE#0(obsolete) Records Center14/15

14483

OFFILE#1Records Center14/15

40

OSRV#0Shared Services Administration Site14/15

3100

PPSMASite#0PerformancePoint14/15

3200

BICenterSite#0Business Intelligence Center14/15

20

SPS#0SharePoint Portal Server Site14/15

21

SPSPERS#0SharePoint Portal Server Personal Space14/15

21

SPSPERS#2Storage And Social SharePoint Portal Server Personal Space15

21

SPSPERS#3Storage Only SharePoint Portal Server Personal Space15

21

SPSPERS#4Social Only SharePoint Portal Server Personal Space15

21

SPSPERS#5Empty SharePoint Portal Server Personal Space15

22

SPSMSITE#0Personalization Site14/15

30

SPSTOC#0Contents area Template14/15

31

SPSTOPIC#0Topic area template14/15

32

SPSNEWS#0News Site14/15

39

CMSPUBLISHING#0Publishing Site14/15

53

BLANKINTERNET#0Publishing Site14/15

53

BLANKINTERNET#1Press Releases Site14/15

53

BLANKINTERNET#2Publishing Site with Workflow14/15

33

SPSNHOME#0News Site14/15

34

SPSSITES#0Site Directory14/15

36

SPSCOMMU#0Community area template14/15

38

SPSREPORTCENTER#0Report Center14/15

47

SPSPORTAL#0Collaboration Portal14/15

50

SRCHCEN#0Enterprise Search Center14/15

51

PROFILES#0Profiles14/15

52

BLANKINTERNETCONTAINER#0Publishing Portal14/15

54

SPSMSITEHOST#0My Site Host14/15

56

ENTERWIKI#0Enterprise Wiki14/15

6115

PROJECTSITE#0Project Site15

59

PRODUCTCATALOG#0Product Catalog15

62

COMMUNITY#0Community Site15

63

COMMUNITYPORTAL#0Community Portal15

90

SRCHCENTERLITE#0Basic Search Center14/15

90

SRCHCENTERLITE#1Basic Search Center14/15

N/A

SRCHCENTERFAST#0FAST Search Center14

61

visprus#0Visio Process Repository15

Where:

14 – SharePoint 2010

15 – SharePoint 2013

 

The list above can be obtained by merging the results from this Powershell script:

Code Snippet
  1. $site = Get-SPSite "http://yoursitecollection"
  2. $templateCol = $site.GetWebTemplates(1033)
  3. foreach($template in $templateCol)
  4. {
  5. Write-Host $template.ID,$template.Name,$template.Title
  6. }
  7.  
  8. $site.Dispose()

With the Commandlet:

Code Snippet
  1. Get-SPWebTemplate

 

If you are creating Custom Web Templates, you’re gonna need this reference.

I hope it helps.

Cheers,

Marcel Medina

Click here to read the same content in Portuguese.

Tags:

Tips and Tricks

Profile



Marcel Medina is a specialist in .NET/SharePoint development.

Currently working as Microsoft Consultant and Trainer in these technologies.

He has 12 years of experience in the IT area and the following certifications: MCP, MCDBA, MCAD, MCSD, MCTS (including WSS 3.0, MOSS 2007 & SharePoint 2010, Application Development), MCPD (Enterprise Application Developer 2.0/3.5 & SharePoint Developer 2010) and MCT.

Support this site

If you want to keep this site running, please donate:

 

Thanks!

 

 

 

 

Month List


Site Meter