The greatest test of courage on earth is to bear the defeat without losing heart..
Friday, August 28, 2015
Response.End(); & Download file or Export File Problem – Solution
Case:
When we came to download a file or Export it ,we know that we write Response.End(); to end the response and save the file to our machine,but if you try any other button in the page after that you notice that it doesn’t work! unless you make Refresh to the page! so what’s the solutoin?
Solution:
<script type=”text/javascript” language=”javascript”>
function ButtonWorkAgain()
{ window.WebForm_OnSubmit = function () { return true; }; }
</script>
<asp:GridView ID=”gvFiles” runat=”server” AutoGenerateColumns=”False” EnableModelValidation=”True”>
<Columns>
<asp:TemplateField>
<asp:LinkButton ID=”hlbtnDownLoad” runat=”server” onclick=”hlbtnDownLoad_Click” OnClientClick=”ButtonWorkAgain();”></asp:LinkButton>
</asp:TemplateField>
</Columns>
</asp:GridView>
When we came to download a file or Export it ,we know that we write Response.End(); to end the response and save the file to our machine,but if you try any other button in the page after that you notice that it doesn’t work! unless you make Refresh to the page! so what’s the solutoin?
Solution:
<script type=”text/javascript” language=”javascript”>
function ButtonWorkAgain()
{ window.WebForm_OnSubmit = function () { return true; }; }
</script>
<asp:GridView ID=”gvFiles” runat=”server” AutoGenerateColumns=”False” EnableModelValidation=”True”>
<Columns>
<asp:TemplateField>
<asp:LinkButton ID=”hlbtnDownLoad” runat=”server” onclick=”hlbtnDownLoad_Click” OnClientClick=”ButtonWorkAgain();”></asp:LinkButton>
</asp:TemplateField>
</Columns>
</asp:GridView>
Character Counter for ASP.Net TextArea Using jQuery
<script type=“text/javascript” language=“javascript”>
var characterLimit = 150;
$(document).ready(function () {
$(‘#remainingCharacters’).html(characterLimit);
$(‘#<%=txtMessage.ClientID %>’).bind(‘keyup’, function () {
var charactersUsed = $(this).val().length;
if (charactersUsed > characterLimit) {
charactersUsed = characterLimit;
$(this).val($(this).val().substr(0, characterLimit));
$(this).scrollTop($(this)[0].scrollHeight);
}
var charactersRemaining = characterLimit – charactersUsed;
$(‘#remainingCharacters’).html(charactersRemaining);
});
});
</script>
<textarea id=“txtMessage” runat=“server” ></textarea>
<br />
<span><span id=“remainingCharacters”></span> characters remaining </span>
you can use it in comment sections or sending sms message Content
Using $.ajax to Build your SharePoint Portal Home Page
This article is a quick reference for me and my colleagues :)
1- add a Reference to Jquery
2 – Create handler in your webapp dll with this functions
private const string XML_START_TAG = “<?xml version=\”1.0\” encoding=\”utf-8\” ?>”;
public void ProcessRequest(HttpContext context)
{
if (context.Request[“op”] != null)
{
switch (context.Request[“op”])
{
case “LoadGeneralList”:
if (context.Request[“siteUrl”] != null && context.Request[“listName”] != null && context.Request[“viewName”] != null)
GetListItems(context.Request[“siteUrl”].ToString(), context.Server.UrlDecode(context.Request[“listName”].ToString()), context.Server.UrlDecode(context.Request[“viewName”].ToString()), context);
break;
}
}
}
/// <summary>
/// Get List Items from for displaying on home page
/// </summary>
/// <param name=”siteUrl”>the url of the site which main domain like news</param>
/// <param name=”listName”>list name of items</param>
/// <param name=”viewName”>view name</param>
/// <param name=”context”>current web context</param>
private void GetListItems(string siteUrl, string listName, string viewName, HttpContext context)
{
StringBuilder sbXml = new StringBuilder();
sbXml.Append(XML_START_TAG);
try
{
using (SPSite site = new SPSite(string.Format(“{0}{1}”, SPContext.Current.Web.Url, siteUrl)))
{
using (SPWeb web = site.OpenWeb())
{
DataTable dt = web.Lists[listName].GetItems(web.Lists[listName].Views[viewName]).GetDataTable();
if (dt != null)
{
// get data table as xml element
XElement xml = new XElement(“Items”, dt.AsEnumerable().Select(row =>
new XElement(“Item”, dt.Columns.Cast<DataColumn>().Select(col
new XAttribute(col.ColumnName, row[col])
))));
sbXml.Append(xml.ToString());
}
else
sbXml.Append(“<Empty></Empty>”);
}
}
}
catch (Exception ex)
{
sbXml.AppendFormat(“<Error>{0}</Error>”, ex.ToString());
}
finally
{
context.Response.ClearContent();
context.Response.ContentType = “text/xml”;
context.Response.Write(sbXml.ToString());
context.Response.End();
}
}
3 – Build your dll and put it in the GAC or project bin and put the handler file into your folder in _Layouts Folder
4- add id to the html section to use it in the script to inject the content
5- in your common script file for the project
// start ready event
$(document).ready(function () {
LoadLatestNews();
}
// load Latest new from news site
function LoadLatestNews() {
// word html
var word_html = ”;
var page_url = ‘#’;
$.ajax({
type: “GET”,
contentType: “text/xml”,
url: “/_LAYOUTS/MyProject/Scripts/MyHandler.ashx?op=LoadGeneralList&siteUrl=/news&listName=” + encodeURI(pagesFolderName) + “&viewName=” + encodeURI(LatestNewsViewName),
dataType: ‘xml’,
async: true,
success: function (xml) {
if (xml != null && $(xml).find(‘Items’).length > 0) {
var i = 0;
$(xml).find(‘Item’).each(function () {
word_html += ‘<li class=”cloned”>’;
word_html += $(this).attr(“PublishingRollupImage”);
word_html += ‘<div class=”news_title”>’ + $(this).attr(“Title”) + ‘</div><br >’;
word_html += ‘<a href=”/news/Pages/’ + $(this).attr(“FileLeafRef”) + ‘”>المزيد</a></div>’;
word_html += ‘<a href=”/news/” class=”more”>أرشيف الأخبار</a>’;
}
i++;
});
$(‘ul#latestNews’).html(word_html);
}
},
error: function (XMLHttpRequest, textStatus, errorThrown) {
if (raiseError)
alert(textStatus + “: (” + XMLHttpRequest.statusText + “)”);
}
});
}
6 – Save your script file add a reference to it
7- Refresh and enjoy it :)
1- add a Reference to Jquery
2 – Create handler in your webapp dll with this functions
private const string XML_START_TAG = “<?xml version=\”1.0\” encoding=\”utf-8\” ?>”;
public void ProcessRequest(HttpContext context)
{
if (context.Request[“op”] != null)
{
switch (context.Request[“op”])
{
case “LoadGeneralList”:
if (context.Request[“siteUrl”] != null && context.Request[“listName”] != null && context.Request[“viewName”] != null)
GetListItems(context.Request[“siteUrl”].ToString(), context.Server.UrlDecode(context.Request[“listName”].ToString()), context.Server.UrlDecode(context.Request[“viewName”].ToString()), context);
break;
}
}
}
/// <summary>
/// Get List Items from for displaying on home page
/// </summary>
/// <param name=”siteUrl”>the url of the site which main domain like news</param>
/// <param name=”listName”>list name of items</param>
/// <param name=”viewName”>view name</param>
/// <param name=”context”>current web context</param>
private void GetListItems(string siteUrl, string listName, string viewName, HttpContext context)
{
StringBuilder sbXml = new StringBuilder();
sbXml.Append(XML_START_TAG);
try
{
using (SPSite site = new SPSite(string.Format(“{0}{1}”, SPContext.Current.Web.Url, siteUrl)))
{
using (SPWeb web = site.OpenWeb())
{
DataTable dt = web.Lists[listName].GetItems(web.Lists[listName].Views[viewName]).GetDataTable();
if (dt != null)
{
// get data table as xml element
XElement xml = new XElement(“Items”, dt.AsEnumerable().Select(row =>
new XElement(“Item”, dt.Columns.Cast<DataColumn>().Select(col
new XAttribute(col.ColumnName, row[col])
))));
sbXml.Append(xml.ToString());
}
else
sbXml.Append(“<Empty></Empty>”);
}
}
}
catch (Exception ex)
{
sbXml.AppendFormat(“<Error>{0}</Error>”, ex.ToString());
}
finally
{
context.Response.ClearContent();
context.Response.ContentType = “text/xml”;
context.Response.Write(sbXml.ToString());
context.Response.End();
}
}
3 – Build your dll and put it in the GAC or project bin and put the handler file into your folder in _Layouts Folder
4- add id to the html section to use it in the script to inject the content
5- in your common script file for the project
// start ready event
$(document).ready(function () {
LoadLatestNews();
}
// load Latest new from news site
function LoadLatestNews() {
// word html
var word_html = ”;
var page_url = ‘#’;
$.ajax({
type: “GET”,
contentType: “text/xml”,
url: “/_LAYOUTS/MyProject/Scripts/MyHandler.ashx?op=LoadGeneralList&siteUrl=/news&listName=” + encodeURI(pagesFolderName) + “&viewName=” + encodeURI(LatestNewsViewName),
dataType: ‘xml’,
async: true,
success: function (xml) {
if (xml != null && $(xml).find(‘Items’).length > 0) {
var i = 0;
$(xml).find(‘Item’).each(function () {
word_html += ‘<li class=”cloned”>’;
word_html += $(this).attr(“PublishingRollupImage”);
word_html += ‘<div class=”news_title”>’ + $(this).attr(“Title”) + ‘</div><br >’;
word_html += ‘<a href=”/news/Pages/’ + $(this).attr(“FileLeafRef”) + ‘”>المزيد</a></div>’;
word_html += ‘<a href=”/news/” class=”more”>أرشيف الأخبار</a>’;
}
i++;
});
$(‘ul#latestNews’).html(word_html);
}
},
error: function (XMLHttpRequest, textStatus, errorThrown) {
if (raiseError)
alert(textStatus + “: (” + XMLHttpRequest.statusText + “)”);
}
});
}
6 – Save your script file add a reference to it
7- Refresh and enjoy it :)
All STSADM operations in MOSS 2007
STSADM operations
- stsadm -o activatefeature {-filename <relative path to Feature.xml> | -name <feature folder> | -id <feature Id>} [-url <url>] [-force]
- stsadm -o activateformtemplate -url <URL to the site collection> [-formid <form template ID>] [-filename <path to form template file>]
- stsadm -o addalternatedomain -url <protocol://existing.WebApplication.URLdomain> -incomingurl <protocol://incoming.url.domain> -urlzone <default, extranet, internet, intranet, custom> -resourcename <non-web application resource name>
- stsadm -o addcontentdb -url <url> -databasename <database name> [-databaseserver <database server name>] [-databaseuser <database username>] [-databasepassword <database password>] [-sitewarning <site warning count>] [-sitemax <site max count>]
- stsadm -o adddataconnectionfile -filename <path to file to add> [-webaccessible <bool>] [-overwrite <bool>] [-category <bool>]
- stsadm -o add-ecsfiletrustedlocation -Ssp <SSP name> -Location <URL|UNC> -LocationType SharePoint|Unc|Http -IncludeChildren True|False [-SessionTimeout <time in seconds>] [-ShortSessionTimeout <time in seconds>] [-MaxRequestDuration <time in seconds>] [-MaxWorkbookSize <file size in Mbytes>] [-MaxChartSize <size in Mbytes>] [-VolatileFunctionCacheLifetime <time in seconds>] [-DefaultWorkbookCalcMode File|Manual|Auto|AutoDataTables] [-AllowExternalData None|Dcl|DclAndEmbedded] [-WarnOnDataRefresh True|False] [-StopOpenOnRefreshFailure True|False] [-PeriodicCacheLifetime <time in seconds>] [-ManualCacheLifetime <time in seconds>] [-MaxConcurrentRequestsPerSession <number of requests>] [-AllowUdfs True|False] [-Description <descriptive text>]
- stsadm -o add-ecssafedataprovider -Ssp <SSP name> -ID <data provider id> -Type Oledb|Odbc|OdbcDsn [-Description <descriptive text>]
- stsadm -o add-ecstrusteddataconnectionlibrary -Ssp <SSP name> -Location <URL> [-Description <descriptive text>]
- stsadm -o add-ecsuserdefinedfunction -Ssp <SSP name> -Assembly <strong name|file path> -AssemblyLocation GAC|File [-Enable True|False] [-Description <descriptive text>]
- stsadm -o addexemptuseragent -name <user-agent to receive InfoPath files instead of a Web page>
- stsadm -o addpath -url <url> -type <explicitinclusion/wildcardinclusion>
- stsadm -o addpermissionpolicy -url <url> -userlogin <login name> -permissionlevel <permission policy level> [-zone <URL zone>] [-username <display name>]
- stsadm -o addsolution -filename <Solution filename> [-lcid <language>]
- stsadm -o addtemplate -filename <template filename> -title <template title> [-description <template description>]
- stsadm -o adduser -url <url> -userlogin <DOMAIN\user> -useremail <email address> -role <role name> / -group <group name> -username <display name> [-siteadmin]
- stsadm -o addwppack -filename <Web Part Package filename> [-lcid <language>] [-url <url>] [-globalinstall] [-force] [-nodeploy]
- stsadm -o addwppack -name <name of Web Part Package> [-lcid <language>] [-url <url>] [-globalinstall] [-force]
- stsadm -o addzoneurl -url <protocol://existing.WebApplication.URLdomain> -urlzone <default, extranet, internet, intranet, custom> -zonemappedurl <protocol://outgoing.url.domain> -resourcename <non-web application resource name>
- stsadm -o allowuserformwebserviceproxy -url <Url of the web application> -enable <true to enable, false to disable>
- stsadm -o allowwebserviceproxy -url <Url of the web application> -enable <true to enable, false to disable>
- stsadm -o associatewebapp -title <SSP name> [-default | -parent] -url <Web application 1 url,Web application 2 url> [-all]
- stsadm -o authentication -url <url> -type <windows/forms/websso> [-usebasic (valid only in windows authentication mode)] [-usewindowsintegrated (valid only in windows authentication mode)] [-exclusivelyusentlm (valid only in windows authentication mode)] [-membershipprovider <membership provider name>] [-rolemanager <role manager name>] [-enableclientintegration] [-allowanonymous]
- stsadm -o backup -url <url> -filename <filename> [-overwrite]
- stsadm -o backup -directory <UNC path> -backupmethod <full | differential> [-item <created path from tree>] [-percentage <integer between 1 and 100>] [-backupthreads <integer between 1 and 10>] [-showtree] [-quiet]
- stsadm -o backuphistory -directory <UNC path> [-backup] [-restore]
- stsadm -o binddrservice -servicename <data retrieval service name> -setting <data retrieval services setting>
- stsadm -o blockedfilelist -extension <extension> -add [-url <url>]
- stsadm -o blockedfilelist -extension <extension> -delete [-url <url>]
- stsadm -o canceldeployment -id <id>
- stsadm -o changepermissionpolicy -url <url> -userlogin <DOMAIN\name> [-zone <URL zone>] [-username <display name>] [{ -add | -delete } -permissionlevel <permission policy level>]
- stsadm -o copyappbincontent
- stsadm -o createadminvs [-admapidname <app pool name>] [-admapidtype <configurableid/NetworkService>] [-admapidlogin <DOMAIN\name>] [-admapidpwd <app pool password>]
- stsadm -o createcmsmigrationprofile -profilename <profile name> [-description <description>] [-connectionstring <connection string>] -databaseserver <server> -databasename <name> -databaseuser <username> [-databasepassword <password>] [-auth windowsauth|sqlauth] -destination <url> [-rootchannel <channelname>] [-destinationlocale <LCID>] [-migrateresources onlyused|all] [-migrateacls yes|no] [-emailto <address1;address2>] [-emailon success|failure|none|both] [-keeptemporaryfiles Never|Always|Failure] [-enableeventreceivers yes|no]
- stsadm -o creategroup -url <url> -name <group name> -description <description> -ownerlogin <DOMAIN\name or group name> [-type member|visitor|owner]
- stsadm -o createsite -url <url> -owneremail <email address> [-ownerlogin <DOMAIN\name>] [-ownername <display name>] [-secondaryemail <email address>] [-secondarylogin <DOMAIN\name>] [-secondaryname <display name>] [-lcid <language>] [-sitetemplate <site template>] [-title <site title>] [-description <site description>] [-hostheaderwebapplicationurl <web application url>] [-quota <quota template>]
- stsadm -o createsiteinnewdb -url <url> -owneremail <email address> [-ownerlogin <DOMAIN\name>] [-ownername <display name>] [-secondaryemail <email address>] [-secondarylogin <DOMAIN\name>] [-secondaryname <display name>] [-lcid <language>] [-sitetemplate <site template>] [-title <site title>] [-description <site description>] [-hostheaderwebapplicationurl <web application url>] [-quota <quota template>] [-databaseuser <database username>] [-databasepassword <database password>] [-databaseserver <database server name>] [-databasename <database name>]
- stsadm -o createssp -title <SSP name> -url <Web application url> -mysiteurl <MySite Web application url> -ssplogin <username> -indexserver <index server> -indexlocation <index file path> [-ssppassword <password>] [-sspdatabaseserver <SSP database server>] [-sspdatabasename <SSP database name>] [-sspsqlauthlogin <SQL username>] [-sspsqlauthpassword <SQL password>] [-searchdatabaseserver <search database server>] [-searchdatabasename <search database name>] [-searchsqlauthlogin <SQL username>] [-searchsqlauthpassword <SQL password>] [-ssl <yes|no>]
- stsadm -o createweb -url <url> [-lcid <language>] [-sitetemplate <site template>] [-title <site title>] [-description <site description>] [-convert] [-unique]
- stsadm -o databaserepair -url <url> -databasename <database name> [-deletecorruption]
- stsadm -o deactivatefeature {-filename <relative path to Feature.xml> | -name <feature folder> | -id <feature Id>} [-url <url>] [-force]
- stsadm -o deactivateformtemplate -url <URL to the site collection> [-formid <form template ID>] [-filename <path to form template file>]
- stsadm -o deleteadminvs
- stsadm -o deletealternatedomain -url <ignored> -incomingurl <protocol://incoming.url.domain>
- stsadm -o deletecmsmigrationprofile -profilename <profile name>
- stsadm -o deleteconfigdb
- stsadm -o deletecontentdb -url <url> -databasename <database name> [-databaseserver <database server name>]
- stsadm -o deletegroup -url <url> -name <group name>
- stsadm -o deletepath -url <url>
- stsadm -o deletepermissionpolicy -url <url> -userlogin <login name> [-zone <URL zone>]
- stsadm -o deletesite -url <url> -deleteadaccounts <true/false>
- stsadm -o deletesolution -name <Solution name> [-override] [-lcid <language>]
- stsadm -o deletessp -title <SSP name> [-deletedatabases]
- stsadm -o deletessptimerjob -title <SSP Name> -jobid <SSP Timer Job Id>
- stsadm -o deletetemplate -title <template title> [-lcid <language>]
- stsadm -o deleteuser -url <url> -userlogin <DOMAIN\name> [-group <group>]
- stsadm -o deleteweb -url <url>
- stsadm -o deletewppack -name <name of Web Part Package> [-lcid <language>] [-url <url>]
- stsadm -o deletezoneurl -url <protocol://existing.WebApplication.URLdomain> -urlzone <default, extranet, internet, intranet, custom> -resourcename <non-web application resource name>
- stsadm -o deploysolution -name <Solution name> [-url <virtual server url>] [-allcontenturls] [-time <time to deploy at>] [-immediate] [-local] [-allowgacdeployment] [-allowcaspolicies] [-lcid <language>] [-force]
- stsadm -o deploywppack -name <Web Part Package name> [-url <virtual server url>] [-time <time to deploy at>] [-immediate] [-local] [-lcid <language>] [-globalinstall] [-force]
- stsadm -o disablessc -url <url>
- stsadm -o displaysolution -name <Solution name>
- stsadm -o editcmsmigrationprofile -profilename <profile name> [-description <description>] [-connectionstring <connection string>] [-databaseserver <server>] [-databasename <name>] [-databaseuser <username>] [-databasepassword <password>] [-auth sqlauth|windowsauth] [-emailto <address1;address2>] [-emailon success|failure|none|both] [-excludeschema ] [-keeptemporaryfiles Never|Always|Failure] [-enableeventreceivers yes|no]
- stsadm -o editcontentdeploymentpath -pathname <path name> [-keeptemporaryfiles Never|Always|Failure] [-enableeventreceivers yes|no] [-enablecompression yes|no]
- stsadm -o editssp -title <SSP name> [-newtitle <new SSP name>] [-sspadminsite <administration site url>] [-ssplogin <username>] [-ssppassword <password>] [-indexserver <index server>] [-indexlocation <index file path>] [-setaccounts <process accounts (domain\username)>] [-ssl <yes|no>]
- stsadm -o email -outsmtpserver <SMTP server> -fromaddress <email address> -replytoaddress <email address> -codepage <codepage> [-url <url>]
- stsadm -o enablecmsurlredirect -profilename <profile name> -off
- stsadm -o enablessc -url <url> [-requiresecondarycontact]
- stsadm -o enumalternatedomains -url <protocol://existing.WebApplication.URLdomain> -resourcename <non-web application resource name>
- stsadm -o enumcontentdbs -url <url>
- stsadm -o enumdataconnectionfiledependants -filename <filename for which to enumerate dependants>
- stsadm -o enumdataconnectionfiles [-mode <a | u | all | unreferenced>]
- stsadm -o enumdeployments
- stsadm -o enumexemptuseragents
- stsadm -o enumformtemplates
- stsadm -o enumgroups -url <url>
- stsadm -o enumroles -url <url>
- stsadm -o enumservices
- stsadm -o enumsites -url <virtual server url> -showlocks -redirectedsites
- stsadm -o enumsolutions
- stsadm -o enumssp -title <SSP name> [-default | -parent | -all]
- stsadm -o enumssptimerjobs -title <SSP Name>
- stsadm -o enumsubwebs -url <url>
- stsadm -o enumtemplates [-lcid <language>]
- stsadm -o enumusers -url <url>
- stsadm -o enumwppacks [-name <name of Web Part Package>] [-url <virtual server url>] [-farm]
- stsadm -o enumzoneurls -url <protocol://existing.WebApplication.URLdomain> -resourcename <non-web application resource name>
- stsadm -o execadmsvcjobs
- stsadm -o export -url <URL to be exported> -filename <export file name> [-overwrite] [-includeusersecurity] [-haltonwarning] [-haltonfatalerror] [-nologfile] [-versions <1-4> 1= Last major version for files and list items (default), 2= The current version, either the last major or the last minor, 3= Last major and last minor version for files and list items, 4= All versions for files and list items] [-cabsize <integer from 1-1024 megabytes> (default: 25)] [-nofilecompression] [-quiet]
- stsadm -o extendvs -url <url> -ownerlogin <domain\name> -owneremail <email address> [-exclusivelyusentlm] [-ownername <display name>] [-databaseuser <database user>] [-databaseserver <database server>] [-databasename <database name>] [-databasepassword <database user password>] [-lcid <language>] [-sitetemplate <site template>] [-donotcreatesite] [-description <iis web site name>] [-sethostheader] [-apidname <app pool name>] [-apidtype <configurableid/NetworkService>] [-apidlogin <DOMAIN\name>] [-apidpwd <app pool password>] [-allowanonymous]
- stsadm -o extendvsinwebfarm -url <url> -vsname <web application name> [-exclusivelyusentlm] [-apidname <app pool name>] [-apidtype <configurableid/NetworkService>] [-apidlogin <DOMAIN\name>] [-apidpwd <app pool password>] [-allowanonymous]
- stsadm -o forcedeleteweb -url <url>
- stsadm -o formtemplatequiescestatus [-formid <form template ID>] [-filename <path to form template file>]
- stsadm -o getadminport
- stsadm -o getdataconnectionfileproperty -filename <filename of the data connection file> -pn <property name>
- stsadm -o getformsserviceproperty -pn <option name>
- stsadm -o getformtemplateproperty [-formid <form template ID>] [-filename <path to form template file>] -pn <property name>
- stsadm -o getproperty -propertyname <property name> [-url <url>] (SharePoint cluster properties: avallowdownload, avcleaningenabled, avdownloadscanenabled, avnumberofthreads, avtimeout, avuploadscanenabled, command-line-upgrade-running, database-command-timeout, database-connection-timeout, data-retrieval-services-enabled, data-retrieval-services-oledb-providers, data-retrieval-services-response-size, data-retrieval-services-timeout, data-retrieval-services-update, data-source-controls-enabled, dead-site-auto-delete, dead-site-notify-after, dead-site-num-notifications, defaultcontentdb-password, defaultcontentdb-server, defaultcontentdb-user, delete-web-send-email, irmaddinsenabled, irmrmscertserver, irmrmsenabled, irmrmsusead, job-ceip-datacollection, job-config-refresh, job-database-statistics, job-dead-site-delete, job-usage-analysis, job-watson-trigger, large-file-chunk-size, token-timeout, workflow-cpu-throttle, workflow-eventdelivery-batchsize, workflow-eventdelivery-throttle, workflow-eventdelivery-timeout, workflow-timerjob-cpu-throttle, workitem-eventdelivery-batchsize, workitem-eventdelivery-throttle; SharePoint virtual server properties: alerts-enabled, alerts-limited, alerts-maximum, change-log-expiration-enabled, change-log-retention-period, data-retrieval-services-enabled, data-retrieval-services-inherit, data-retrieval-services-oledb-providers, data-retrieval-services-response-size, data-retrieval-services-timeout, data-retrieval-services-update, data-source-controls-enabled, days-to-show-new-icon, dead-site-auto-delete, dead-site-notify-after, dead-site-num-notifications, defaultquotatemplate, defaulttimezone, delete-web-send-email, job-change-log-expiration, job-dead-site-delete, job-diskquota-warning, job-immediate-alerts, job-recycle-bin-cleanup, job-usage-analysis, job-workflow, job-workflow-autoclean, job-workflow-failover, max-file-post-size, peoplepicker-activedirectorysearchtimeout, peoplepicker-distributionlistsearchdomains, peoplepicker-nowindowsaccountsfornonwindowsauthenticationmode, peoplepicker-onlysearchwithinsitecollection, peoplepicker-searchadcustomquery, peoplepicker-searchadforests, presenceenabled, recycle-bin-cleanup-enabled, recycle-bin-enabled, recycle-bin-retention-period, second-stage-recycle-bin-quota, send-ad-email)
- stsadm -o getsitedirectoryscanschedule
- stsadm -o getsitelock -url <url>
- stsadm -o getsiteuseraccountdirectorypath -url <url>
- stsadm -o geturlzone -url <protocol://incoming.url.domain>
- stsadm -o grantiis7permission
- stsadm -o import -url <URL to import to> -filename <import file name> [-includeusersecurity] [-haltonwarning] [-haltonfatalerror] [-nologfile] [-updateversions <1-3> 1= Add new versions to the current file (default), 2= Overwrite the file and all its versions (delete then insert),3= Ignore the file if it exists on the destination] [-nofilecompression] [-quiet]
- stsadm -o installfeature {-filename <relative path to Feature.xml from system feature directory> | -name <feature folder>} [-force]
- stsadm -o listlogginglevels [-showhidden]
- stsadm -o listregisteredsecuritytrimmers -ssp <ssp name>
- stsadm -o localupgradestatus
- stsadm -o managepermissionpolicylevel -url <url> -name <permission policy level name> [{ -add | -delete }] [-description <description>] [-siteadmin <true | false>] [-siteauditor <true | false>] [-grantpermissions <comma-separated list of permissions>] [-denypermissions <comma-separated list of permissions>]
- stsadm -o mergecontentdbs -url <url> -sourcedatabasename <source database name> -destinationdatabasename <destination datbabase name> [-operation <1-3> 1 – Analyze (default) 2 – Full Database Merge 3 – Read from file] [-filename <file generated from stsadm -o enumsites>]
- stsadm -o migrateuser -oldlogin <DOMAIN\name> -newlogin <DOMAIN\name> [-ignoresidhistory]
- stsadm -o osearch [-action <list|start|stop>] required parameters for ‘start’ (if not already set): role, farmcontactemail, service credentials [-f (suppress prompts)] [-role <Index|Query|IndexQuery>] [-farmcontactemail <email>] [-farmperformancelevel <Reduced|PartlyReduced|Maximum>] [-farmserviceaccount <DOMAIN\name> (service credentials)] [-farmservicepassword <password>] [-defaultindexlocation <directory>] [-propagationlocation <directory>] [-cleansearchdatabase <true|false>] [-ssp <ssp name>] required parameter for ‘cleansearchdatabase’
- stsadm -o osearchdiacriticsensitive -ssp <ssp name> [-setstatus <True|False>] [-noreset] [-force]
- stsadm -o preparetomove {-ContentDB <DatabaseServer:DatabaseName> | -Site <URL>} [-OldContentDB <uniqueidentifier>] [-undo]
- stsadm -o profilechangelog -title <SSP Name> -daysofhistory <number of days> -generateanniversaries
- stsadm -o profiledeletehandler -type <Full Assembly Path>
- stsadm -o provisionservice -action <start/stop> -servicetype <servicetype (namespace or assembly qualified name if not SharePoint service)> [-servicename <servicename>]
- stsadm -o quiescefarm -maxduration <duration in minutes>
- stsadm -o quiescefarmstatus
- stsadm -o quiesceformtemplate [-formid <form template ID>] [-filename <path to form template file>] -maxduration <time in minutes>
- stsadm -o reconvertallformtemplates
- stsadm -o refreshdms -url <url>
- stsadm -o refreshsitedms -url <url>
- stsadm -o registersecuritytrimmer -ssp <ssp name> -id <0 – 2147483647> -typename <assembly qualified TypeName of ISecurityTrimmer implementation> -rulepath <crawl rule URL> [-configprops <name value pairs delimited by ‘~’>]
- stsadm -o registerwsswriter
- stsadm -o removedataconnectionfile -filename <filename to remove>
- stsadm -o removedrservice -servicename <data retrieval service name> -setting <data retrieval services setting>
- stsadm -o remove-ecsfiletrustedlocation -Ssp <SSP name> -Location <URL|UNC> -LocationType SharePoint|Unc|Http
- stsadm -o remove-ecssafedataprovider -Ssp <SSP name> -ID <data provider id> -Type Oledb|Odbc|OdbcDsn
- stsadm -o remove-ecstrusteddataconnectionlibrary -Ssp <SSP name> -Location <URL>
- stsadm -o remove-ecsuserdefinedfunction -Ssp <SSP name> -Assembly <strong name|file path> -AssemblyLocation GAC|File
- stsadm -o removeexemptuseragent -name <user-agent to receive InfoPath files instead of a Web page>
- stsadm -o removeformtemplate [-formid <form template ID>] [-filename <path to form template file>]
- stsadm -o removesolutiondeploymentlock [-server <server> [-allservers]
- stsadm -o renameserver -oldservername <oldServerName> -newservername <newServerName>
- stsadm -o renamesite -oldurl <oldUrl> -newurl <newUrl>
- stsadm -o renameweb -url <url> -newname <new subsite name>
- stsadm -o restore -url <url> -filename <filename> [-hostheaderwebapplicationurl <web application url>] [-overwrite]
- stsadm -o restore -directory <UNC path> -restoremethod <overwrite | new> [-backupid <Id from backuphistory, see stsadm -help backuphistory>] [-item <created path from tree>] [-percentage <integer between 1 and 100>] [-showtree] [-suppressprompt] [-username <username>] [-password <password>] [-newdatabaseserver <new database server name>] [-quiet]
- stsadm -o restoressp -title <SSP name> -url <Web application url> -ssplogin <username> -mysiteurl <MySite Web application url> -indexserver <index server> -indexlocation <index file path> [-keepindex] -sspdatabaseserver <SSP database server> -sspdatabasename <SSP database name> [-ssppassword <password>] [-sspsqlauthlogin <SQL username>] [-sspsqlauthpassword <SQL password>] [-searchdatabaseserver <search database server>] [-searchdatabasename <search database name>] [-searchsqlauthlogin <SQL username>] [-searchsqlauthpassword <SQL password>] [-ssl <yes|no>]
- stsadm -o retractsolution -name <Solution name> [-url <virtual server url>] [-allcontenturls] [-time <time to remove at>] [-immediate] [-local] [-lcid <language>]
- stsadm -o retractwppack -name <Web Part Package name> [-url <virtual server url>] [-time <time to retract at>] [-immediate] [-local] [-lcid <language>]
- stsadm -o runcmsmigrationprofile -profilename <profile name> [-skipanalyzer ] [-onlyanalyzer ] [-startover ] [-migratesincetime <DateTime string>] [-migrationfolder <path>] [-exportonly ] [-importonly ] [-htmldiff <path>]
- stsadm -o runcontentdeploymentjob -jobname <name> [-wait yes|no] [-deploysincetime <datetime>] (<datetime> as “MM/DD/YY HH:MM:SS”)
- stsadm -o scanforfeatures [-solutionid <Id of Solution>] [-displayonly]
- stsadm -o setadminport -port <port> [-ssl] [-admapcreatenew] [-admapidname <app pool name>]
- stsadm -o setapppassword -password <password>
- stsadm -o setbulkworkflowtaskprocessingschedule -schedule <recurrence string>
- stsadm -o setconfigdb [-connect] -databaseserver <database server> [-databaseuser <database user>] [-databasepassword <database user password>] [-databasename <database name>] [-exclusivelyusentlm] [-farmuser] [-farmpassword] [-adcreation] [-addomain <Active Directory domain>] [-adou <Active Directory OU>]
- stsadm -o setcontentdeploymentjobschedule -jobname <name> -schedule <schedule> (Schedule Parameter Examples: “every 5 minutes between 0 and 59”, “hourly between 0 and 59”, “daily at 15:00:00”, “weekly between Fri 22:00:00 and Sun 06:00:00”, “monthly at 15 15:00:00”, “yearly at Jan 1 15:00:00”)
- stsadm -o setdataconnectionfileproperty -filename <filename of the data connection file> -pn <property name> -pv <property value>
- stsadm -o setdefaultssp -title <SSP name>
- stsadm -o set-ecsexternaldata -Ssp <SSP name> [-ConnectionLifetime <time in seconds>] [-UnattendedServiceAccountName <account name>] [-UnattendedServiceAccountPassword <account password>]
- stsadm -o set-ecsloadbalancing -Ssp <SSP name> [-Scheme WorkbookUrl|RoundRobin|Local] [-RetryInterval <time in seconds>]
- stsadm -o set-ecsmemoryutilization -Ssp <SSP name> [-MaxPrivateBytes <memory in MBytes>] [-MemoryCacheThreshold <percentage>] [-MaxUnusedObjectAge <time in minutes>]
- stsadm -o set-ecssecurity -Ssp <SSP name> [-FileAccessMethod UseImpersonation|UseFileAccessAccount] [-AccessModel Delegation|TrustedSubsystem] [-RequireEncryptedUserConnection False|True] [-AllowCrossDomainAccess True|False]
- stsadm -o set-ecssessionmanagement -Ssp <SSP name> [-MaxSessionsPerUser <number of sessions>]
- stsadm -o set-ecsworkbookcache -Ssp <SSP name> [-Location <local or UNC path>] [-MaxCacheSize <storage in Mbytes>] [-EnableCachingOfUnusedFiles True|False]
- stsadm -o setformsserviceproperty -pn <option name> -pv <option value>
- stsadm -o setformtemplateproperty [-formid <form template ID>] [-filename <path to form template file>] -pn <property name> -pv <property value>
- stsadm -o setholdschedule -schedule <recurrence string>
- stsadm -o setlogginglevel [-category < [CategoryName | Manager:CategoryName [;…]] >] {-default | -tracelevel < None; Unexpected; Monitorable; High; Medium; Verbose> [-windowslogginglevel < None; ErrorServiceUnavailable; ErrorSecurityBreach; ErrorCritical; Error; Warning; FailureAudit; SuccessAudit; Information; Success>] }
- stsadm -o setpolicyschedule -schedule <recurrence string>
- stsadm -o setproperty -propertyname <property name> -propertyvalue <property value> [-url <url>] (SharePoint cluster properties:, avallowdownload, avcleaningenabled, avdownloadscanenabled, avnumberofthreads, avtimeout, avuploadscanenabled, command-line-upgrade-running, database-command-timeout, database-connection-timeout, data-retrieval-services-enabled, data-retrieval-services-oledb-providers, data-retrieval-services-response-size, data-retrieval-services-timeout, data-retrieval-services-update, data-source-controls-enabled, dead-site-auto-delete, dead-site-notify-after, dead-site-num-notifications, defaultcontentdb-password, defaultcontentdb-server, defaultcontentdb-user, delete-web-send-email, irmaddinsenabled, irmrmscertserver, irmrmsenabled, irmrmsusead, job-ceip-datacollection, job-config-refresh, job-database-statistics, job-dead-site-delete, job-usage-analysis, job-watson-trigger, large-file-chunk-size, token-timeout, workflow-cpu-throttle, workflow-eventdelivery-batchsize, workflow-eventdelivery-throttle, workflow-eventdelivery-timeout, workflow-timerjob-cpu-throttle, workitem-eventdelivery-batchsize, workitem-eventdelivery-throttle; SharePoint virtual server properties:, alerts-enabled, alerts-limited, alerts-maximum, change-log-expiration-enabled, change-log-retention-period, data-retrieval-services-enabled, data-retrieval-services-inherit, data-retrieval-services-oledb-providers, data-retrieval-services-response-size, data-retrieval-services-timeout, data-retrieval-services-update, data-source-controls-enabled, days-to-show-new-icon, dead-site-auto-delete, dead-site-notify-after, dead-site-num-notifications, defaultquotatemplate, defaulttimezone, delete-web-send-email, job-change-log-expiration, job-dead-site-delete, job-diskquota-warning, job-immediate-alerts, job-recycle-bin-cleanup, job-usage-analysis, job-workflow, job-workflow-autoclean, job-workflow-failover, max-file-post-size, peoplepicker-activedirectorysearchtimeout, peoplepicker-distributionlistsearchdomains, peoplepicker-nowindowsaccountsfornonwindowsauthenticationmode, peoplepicker-onlysearchwithinsitecollection, peoplepicker-searchadcustomquery, peoplepicker-searchadforests, presenceenabled, recycle-bin-cleanup-enabled, recycle-bin-enabled, recycle-bin-retention-period, second-stage-recycle-bin-quota, send-ad-email)
- stsadm -o setrecordsrepositoryschedule -schedule <recurrence string>
- stsadm -o setsearchandprocessschedule -schedule <recurrence string>
- stsadm -o setsharedwebserviceauthn -ntlm | -negotiate
- stsadm -o setsitedirectoryscanschedule -schedule <recurrence string> (Schedule parameter examples: “every 5 minutes between 0 and 59”, “hourly between 0 and 59”, “daily at 15:00:00”, “weekly between Fri 22:00:00 and Sun 06:00:00”, “monthly at 15 15:00:00”, “yearly at Jan 1 15:00:00”)
- stsadm -o setsitelock -url <url> -lock <none | noadditions | readonly | noaccess>
- stsadm -o setsiteuseraccountdirectorypath -url <url> [-path <path>]
- stsadm -o setsspport -httpport <HTTP port number> -httpsport <HTTPS port number>
- stsadm -o setworkflowconfig -url <url> {-emailtonopermissionparticipants <enable|disable> | -externalparticipants <enable|disable> | -userdefinedworkflows <enable|disable>}
- stsadm -o siteowner -url <url> [-ownerlogin <DOMAIN\name>] [-secondarylogin <DOMAIN\name>]
- stsadm -o spsearch [-action <list | start | stop | attachcontentdatabase | detachcontentdatabase | fullcrawlstart | fullcrawlstop>] [-f (suppress prompts)] [-farmperformancelevel <Reduced | PartlyReduced | Maximum>] [-farmserviceaccount <DOMAIN\name> (service credentials)] [-farmservicepassword <password>] [-farmcontentaccessaccount <DOMAIN\name>] [-farmcontentaccesspassword <password>] [-indexlocation <new index location>] [-databaseserver <server\instance> (default: josebda-moss)] [-databasename <database name> (default: SharePoint_WSS_Search)] [-sqlauthlogin <SQL authenticated database user>] [-sqlauthpassword <password>] -action list -action stop [-f (suppress prompts)] -action start -farmserviceaccount <DOMAIN\name> (service credentials) [-farmservicepassword <password>] -action attachcontentdatabase [-databaseserver <server\instance> (default: josebda-moss)] -databasename <content database name> [-searchserver <search server name> (default: josebda-moss)] -action detachcontentdatabase [-databaseserver <server\instance> (default: josebda-moss)] -databasename <content database name> [-f (suppress prompts)] -action fullcrawlstart -action fullcrawlstop
- stsadm -o spsearchdiacriticsensitive [-setstatus <True|False>] [-noreset] [-force]
- stsadm -o sync {-ExcludeWebApps <web applications> | -SyncTiming <schedule(M/H/D:value)> | -SweepTiming <schedule(M/H/D:value)> | -ListOldDatabases <days> | -DeleteOldDatabases <days>}
- stsadm -o syncsolution -name <Solution name>] [-lcid <language>] [-alllcids]
- stsadm -o syncsolution -allsolutions
- stsadm -o unextendvs -url <url> [-deletecontent] [-deleteiissites]
- stsadm -o uninstallfeature {-filename <relative path to Feature.xml> | -name <feature folder> | -id <feature Id>} [-force]
- stsadm -o unquiescefarm
- stsadm -o unquiesceformtemplate [-formid <form template ID>] [-filename <path to form template file>]
- stsadm -o unregistersecuritytrimmer -ssp <ssp name> -id <0 – 2147483647>
- stsadm -o unregisterwsswriter
- stsadm -o updateaccountpassword -userlogin <DOMAIN\name> -password <password> [-noadmin]
- stsadm -o updatealerttemplates -url <url> [-filename <filename>] [-lcid <language>
- stsadm -o updatefarmcredentials [-identitytype <configurableid/NetworkService>] [-userlogin <DOMAIN\name>] [-password <password>] [-local [-keyonly]]
- stsadm -o upgrade {-inplace | -sidebyside} [-url <url>] [-forceupgrade] [-quiet] [-farmuser <farm user>] [-farmpassword <farm user password>] [-reghost] [-sitelistpath <sites xml file>]
- stsadm -o upgradeformtemplate -filename <path to form template file> [-upgradetype <upgrade type>]
- stsadm -o upgradesolution -name <Solution name> -filename <upgrade filename> [-time <time to upgrade at>] [-immediate] [-local] [-allowgacdeployment] [-allowcaspolicies] [-lcid <language>]
- stsadm -o upgradetargetwebapplication -url <URL to upgrade> -relocationurl <new URL for non-upgraded content> -apidname <new app pool name> [-apidtype <configurableid/NetworkService>] [-apidlogin <DOMAIN\name>] [-apidpwd <app pool password>] [-exclusivelyusentlm]
- stsadm -o uploadformtemplate -filename <path to form template file>
- stsadm -o userrole -url <url> -userlogin <DOMAIN\name> -role <role name> [-add] [-delete]
- stsadm -o verifyformtemplate -filename <path to form template file>
Overwriting ghostable files in SharePoint 2013 libraries using feature elements (no code)
One of the cool new changes or
rather additions to the feature framework in SharePoint 2013 is
the ability to overwrite files in document libraries. Which was never
possible declaratively via file elements in modules. All we could do is set
the attribute IgnoreIfAlreadyExists="TRUE"
so SharePoint doesn’t freak out if the file already existed in the library but
it never allowed us to replace the file.
For example the following module
deploys sample.txt to a document library called Shared Documents:
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
<Module Name="FileDeployTest"
Url="Shared Documents" List="101"
>
<File Path="FileDeployTest\Sample.txt"
Url="Sample.txt" Type="GhostableInLibrary"
IgnoreIfAlreadyExists="TRUE" />
</Module>
</Elements>
|
If you have a copy of Sample.txt
in that library already, you will not be able to overwrite it. This is an
annoying issue especially if you have developed a feature that implements your
UI branding (masterpages, layout pages & style sheets). Unless you deploy
your feature using Visual Studio (which no body does that in production env.)
you will not be able to replace existing UI files.
Developers have gotten around this
through implementing a feature receiver that will do the job. A lot of these
solutions are now available on the web so I’m not going to expand further on
that.
The good news is that we have introduced
a new attribute to the file element (undocumented yet) that allows to overwrite
existing ghostable files in SharePoint libraries. The attribute is ReplaceContent="True". If you set that attribute to True SharePoint
will replace your file if it already exists. So your module should look like
this:
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
<Module Name="FileDeployTest"
Url="Shared Documents" List="101"
>
<File Path="FileDeployTest\Sample.txt"
Url="Sample.txt" Type="GhostableInLibrary"
ReplaceContent="True"/>
</Module>
</Elements>
|
One thing to be careful with
though, if the document or file you are trying to replace is checked out by
a different user, other than the user you are using to activate the
feature, the feature activation will fail with the following error:
The file is currently checked
out or locked for editing by another user.
So that’s something you need to watch
out for especially when dealing with master pages and layout pages
for example since the master page library requires checkout by default
and maybe some get checked out by others.
I also want to mention that if the
library requires check out or approval, SharePoint will take care of that for
you. So no worries on that end.
Subscribe to:
Posts (Atom)