Recently I have setup a new machine and wanted to dig into some standard SharePoint scripts. The thing is that SharePoint has used all normal minimized scripts (sp.js, core.js) while I want it to run sp.debug.js and code.debug.js

In my previous post I have been discussing a web part that should create a new library.The next thing we were asked was to create a link that will open Sharepoint WorkSpace or SkydrivePro

I’ve recently been asked to do the following automation.

SharePoint 2013 & Office365 releases have no changes for InfoPath functionality, which might be a sign that InfoPath is going nowhere and will be replaced soon. At the same time there are a lot of changes in Access 2013 Web Apps, and this products looks as a good potential replacement for InfoPath apps.

By default, you can install application from the App Catalog programmatically only at SharePoint Development sites, and not on other sites. This behavior is managed by the "Application Sideload" feature that is enabled on development sites.

In the highly customized SharePoint solution, you might end up with a large number of WSP packages (10-15 for example) that are deployed as separate packages. There is nothing wrong with such approach for a production deployment, but deploying number of WSP again and again for debuging/testing in a development environment might be cumbersome (regardless if they are visible or hidden features).

"If you are deploying DLL through particular WSP, in that case it will be removed when you retract that solution. For this, you can directly deploy DLL into GAC/create separate WSP for deployment of this DLL. In that, whenever you retract other solution, it will not be removed from the GAC" by Amit.AK.Kumar

Some SharePoint solution might require creating custom ASMX Web Services that operates within the context of SharePoint 2010, and there is a good description of how to create and deploy ASMX Web Service for SharePoint

SharePoint Online supports all features of SharePoint 2010 Enterprise except the following:

 SharePoint 2010 introduced a new feature "Content Organizer" to organize your content automatically, based on custom-defined rules. However, these rules add new entity to the hierarchy of events that can be executed for the List items, and this execution order is not well documented. It's important to understand the sequence to process documents accordingly.

SharePoint 2010 provides new control to render the Lists - XsltListViewWebPart, that replaces previous controls, such as ListForm, ListView, DataFormViewPart

Never use the IQueryable<T>.Where extension method when querying ListItem objects.

The SPUtility.HandleAccessDenied method provides the functionality to redirect users to the standard "Access Denied Page" pragmatically, thus asking them to re-logon. One of the scenarios of such usage is the public sites, where access to the standard SharePoint specific pages still exists and you want to block those pages (source)

Developing SharePoint applications that use browser-enabled InfoPath forms requires a lot of interactions with the Web Services and it's usually done via DataSources properties of the InfoPath. You store all your connections to the Web Service into the DataSources and uses properties name to communicate.

As you know SharePoint 2010 provides you "sandboxed solutions" to run your code in the restricted environment (for testing or other purposes) that doesn't affect the production farm functionality.

 SharePoint Server 2010 adds a default OrderBy clause to SPQuery call that orders the result set by content type, which ensures that folders are returned before list items.

SPQuery object of SharePoint 2010 can fail or block results if we don't limit the result set.

Official Info:

The issue is that SharePoint doesn't have [Now] function, so, you can't easily set time you want from the time of the event.The solution is to use WebPart with jQuery, when you set the time directly in control.

Avoid using farm admin for testing - it does not benefit caching.

When you create public internet-faced SharePoint site you need to pay attention on how you secure Application pages (_layout folder), to avoid security breach.

SharePoint comes with the list of proprietary controls that you can use in your applications. Controls are splitted between:

SharePoint provides Auditing functionality to track what happening with sites, collections and farms via audit settings and policies . Unfortunately, there are no OOTB features, providing detailed item-level audit - how much times site items were viewed, copied, deleted and etc.

When a list or library has a large number of items, you must carefully plan its organization and how users need to access the data to help preventing adverse effects on performance. For best performance, do not exceed 2,000 items in a list level. For example, the root of the list or a single folder. In case if you must create and browse large lists, use the following best practices.

SharePoint provides you OOTB features to run something on regular basis using "timer jobs". You can create you own custom job and SharePoint will handle it using OWSTIMER.exe. There are several resources (1, 2, 3) describing how to create and deploy you custom timer jobs.

Sometimes you have a already created site but wanted to know the site definition of that site, or gets the name of the site definition from which the site template that was used to create the site is derived. There are several steps to get that template

But have you noted that for Publishing sites you don’t have “Save site as template option” option?! (located before “Reset to site definition”)

SharePoint provides OOTB support for document versioning, allowing user to check-in/check-out files, and keep history of changed documents. But unfortunately, versioning system doesn't provide inbuilt method to find these all check-out items made by users.

SharePoint provides you a nice ASP.NET model of Web Parts functionality. But there are several issues in accessibility of these WebParts.