- 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 <someone@example.com> -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 <someone@example.com> [-ownerlogin <DOMAIN\name>] [-ownername <display name>] [-secondaryemail <someone@example.com>] [-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 <someone@example.com> [-ownerlogin <DOMAIN\name>] [-ownername <display name>] [-secondaryemail <someone@example.com>] [-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 <someone@example.com> -replytoaddress <someone@example.com> -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 <someone@example.com> [-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 geturlzone -url <protocol://incoming.url.domain>
- 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 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>]
- 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 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 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>
The greatest test of courage on earth is to bear the defeat without losing heart..
Friday, December 30, 2011
STSADM commands
Menu WebPart Shows Sites and Sub-Sites
using
System;
using
System.ComponentModel;
using
System.Web;
using
System.Drawing;
using
System.Web.UI;
using
System.Web.UI.WebControls;
using
System.Web.UI.WebControls.WebParts;
using
Microsoft.SharePoint;
using
Microsoft.SharePoint.WebControls;
namespace
CustomWebParts.VisualWebPart1
{
[ToolboxItemAttribute(
false
)]
public
class
VisualWebPart1 : WebPart
{
// Visual Studio might automatically update this path when you change the Visual Web Part project item.
// private const string _ascxPath = @"~/_CONTROLTEMPLATES/CustomWebParts/TreeView/TreeViewUserControl.ascx";
System.Web.UI.WebControls.Menu menu =
null
;
protected
override
void
CreateChildControls()
{
//Control control = Page.LoadControl(_ascxPath);
//Controls.Add(control);
menu =
new
System.Web.UI.WebControls.Menu();
SPSite site = SPContext.Current.Site;
SPWeb web = SPContext.Current.Web;
menu.StaticDisplayLevels = 1;
menu.MaximumDynamicDisplayLevels = 200;
menu.Orientation = System.Web.UI.WebControls.Orientation.Horizontal;
menu.StaticEnableDefaultPopOutImage =
false
;
menu.StaticPopOutImageUrl =
"/_layouts/images/menudark.gif"
;
menu.SkipLinkText =
""
;
menu.DynamicHoverStyle.BackColor = System.Drawing.Color.FromName(
"#CBE3F0"
);
menu.CssClass =
"ms-topNavContainer"
;
menu.StaticMenuItemStyle.ItemSpacing = Unit.Pixel(0);
menu.StaticSelectedStyle.CssClass =
"ms-topnavselected"
;
menu.StaticHoverStyle.CssClass =
"ms-topNavHover"
;
menu.DynamicMenuStyle.BackColor = System.Drawing.Color.FromName(
"#F2F3F4"
);
menu.DynamicMenuStyle.BorderColor = System.Drawing.Color.FromName(
"#A7B4CE"
);
menu.DynamicMenuStyle.BorderWidth = Unit.Pixel(1);
menu.DynamicMenuItemStyle.CssClass =
"ms-topNavFlyOuts"
;
menu.DynamicHoverStyle.CssClass =
"ms-topNavFlyOutsHover"
;
menu.DynamicSelectedStyle.CssClass =
"ms-topNavFlyOutsSelected"
;
MenuItemStyle stMenuStyle = menu.StaticMenuItemStyle;
stMenuStyle.CssClass =
"ms-topnav"
;
stMenuStyle.HorizontalPadding = 0;
stMenuStyle.VerticalPadding = 0;
stMenuStyle.ItemSpacing = Unit.Pixel(0);
MenuItemStyle dyMenuStyle = menu.DynamicMenuItemStyle;
dyMenuStyle.CssClass =
"ms-topNavFlyOuts"
;
dyMenuStyle.HorizontalPadding = 0;
dyMenuStyle.VerticalPadding = 0;
System.Web.UI.WebControls.MenuItem mItem =
new
System.Web.UI.WebControls.MenuItem(web.Title);
mItem.NavigateUrl = web.Site.Url;
menu.Items.Add(mItem);
GenerateMenu(menu, Context);
menu.DataBind();
this
.Controls.Add(menu);
}
public
static
void
GenerateMenu(System.Web.UI.WebControls.Menu menu, HttpContext context)
{
SPSite site = SPContext.Current.Site;
SPWeb web = SPContext.Current.Web;
foreach
(SPWeb subsite
in
web.Webs)
{
System.Web.UI.WebControls.MenuItem mItem =
new
System.Web.UI.WebControls.MenuItem();
mItem.NavigateUrl = subsite.Url;
mItem.Text = subsite.Title;
mItem.ToolTip = subsite.Title;
menu.Items.Add(mItem);
BuildMenu(subsite, mItem, context);
}
}
private
static
void
BuildMenu(SPWeb subweb, System.Web.UI.WebControls.MenuItem mItem, HttpContext context)
{
SPSite site = SPContext.Current.Site;
SPWeb web = SPContext.Current.Web;
foreach
(SPWeb subsite
in
subweb.Webs)
{
System.Web.UI.WebControls.MenuItem mSubItem =
new
System.Web.UI.WebControls.MenuItem();
mSubItem.NavigateUrl = subsite.Url;
mSubItem.Text = subsite.Title;
mSubItem.ToolTip = subsite.Title;
mItem.ChildItems.Add(mSubItem);
}
}
}
}
Displaying Sharepoint Custom List items in SPGridView
- using System;
- using System.Runtime.InteropServices;
- using System.Web.UI;
- using System.Web.UI.WebControls;
- using System.Web.UI.WebControls.WebParts;
- using System.Xml.Serialization;
- using Microsoft.SharePoint;
- using Microsoft.SharePoint.WebControls;
- using Microsoft.SharePoint.WebPartPages;
- namespace FiveNumber
- {
- [Guid("e6a48f2e-8f31-4738-8ed6-6629f985956d")]
- public class DisplayListInSpGridView : System.Web.UI.WebControls.WebParts.WebPart
- {
- SPGridView myGridView;
- SPDataSource myDataSource = new SPDataSource();
- protected override void CreateChildControls()
- {
- myGridView = new SPGridView();
- myGridView.Enabled = true;
- myGridView.AutoGenerateColumns = false;
- myGridView.ID = "gv_MyGridView";
- myGridView.AllowGrouping = true;
- myGridView.AllowGroupCollapse = true;
- myGridView.GroupField = "Country";
- myGridView.GroupDescriptionField = "Country";
- //myGridView.GroupFieldDisplayName = "Country Name";
- BoundField colTitle = new BoundField();
- colTitle.DataField = "Country";
- colTitle.HeaderText = "Country";
- this.myGridView.Columns.Add(colTitle);
- BoundField colMission = new BoundField();
- colMission.DataField = "State";
- colMission.HeaderText = "State";
- this.myGridView.Columns.Add(colMission);
- this.Controls.Add(myGridView);
- }
- protected override void Render(HtmlTextWriter writer)
- {
- SPSite site = SPContext.Current.Site;
- SPWeb web = SPContext.Current.Web;
- SPList list = web.Lists["Countries"];
- myDataSource.List = list;
- myGridView.DataSource = myDataSource;
- myGridView.DataBind();
- myGridView.RenderControl(writer);
- }
- }
- }
Thursday, December 29, 2011
Creating a SharePoint List with a List Template Type
To create a new list, use one of the Add method overloads of the SPListCollection class.
The following example adds a new Generic, Events, or Announcements list, based on user input. A Switch clause is used to determine the type of list that the user specifies and sets the type of list template accordingly..,
SPWeb mySite = SPContext.Current.Web;
SPListCollection lists = mySite.Lists;
string listTitle = TextBox1.Text;
string listDescription = TextBox2.Text;
string listType = ListBox1.SelectedItem.Text;
SPListTemplateType listTemplateType = new SPListTemplateType();SPListCollection lists = mySite.Lists;
string listTitle = TextBox1.Text;
string listDescription = TextBox2.Text;
string listType = ListBox1.SelectedItem.Text;
switch(listType)
{
case "Generic List":
{
listTemplateType = SPListTemplateType.GenericList;
break;
}
case "Events":
{
listTemplateType = SPListTemplateType.Events;
break;
}
case "Announcements":
{
listTemplateType = SPListTemplateType.Announcements;
break;
}
}
lists.Add(listTitle, listDescription, listTemplateType);
The example instantiates an SPListTemplateType object in order to contain the type of list template that is specified by the user. This object must be passed as a parameter in the Add(String, String, SPListTemplateType) method. The example assumes the existence of two text boxes where the user can type a title and a description, as well as a drop-down list that displays the list types for the user to select from.
Creating a SharePoint List with a List Template
In addition to using the SPListTemplateType enumeration to create a list from atemplate type, you can also create a list from an SPListTemplate object,which represents either a specific list template that has been created inthe UI by saving an existing list as a template, or a list schema in %ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\TEMPLATE\FEATURESthat defines a list type. The ListTemplates property of the SPWeb class can be used to return a collection of list template objects and a name indexer can beused to specify the list template to use. This is shown in the following example, which assumes the existence of a Decision Meetings Workspace site.
SPWeb mySite = SPContext.Current.Web; SPListTemplate template = mySite.ListTemplates["Decisions"]; mySite.Lists.Add("My Decisions", "This is a list of decisions", template);
Using the GetCustomListTemplates method of the SPSite class, the next example returns the custom list templates for a specified site and creates a new list that is based on a specified list template.
SPSite siteCollection = SPContext.Current.Site; SPWeb mySite = SPContext.Current.Web; SPListTemplateCollection listTemplates = siteCollection.GetCustomListTemplates(mySite); SPListTemplate listTemplate = listTemplates["Custom List Template"]; mySite.Lists.Add("Custom List", "A list created from a custom list template in the list template catalog", listTemplate);
You can add a list to multiple Web sites across a site collection, as seen in the following example, which creates a generic list on every Web site, based on the title and description that is passed from two text boxes to the code. The AllWebs property of the SPSite class is used to return the collection of all Web sites that exist on the site.
The example assumes the existence of two text boxes on the .aspx page that contains a form.
string listTitle = TextBox1.Text.ToString(); string listDescription = TextBox2.Text.ToString(); SPSite mySite = SPContext.Current.Site; SPWebCollection allWebs = mySite.AllWebs; foreach (SPWeb web in allWebs){ SPListCollection allLists = web.Lists; allLists.Add(listTitle,listDescription, SPListTemplateType.GenericList); }
Deleting a SharePoint List:
To delete a list, you must specify the GUID of the list as the parameter for the Delete method. Use the ID property of the SPList class to find the GUID
SPWeb mySite = SPContext.Current.Web; SPListCollection lists = mySite.Lists; SPList list = lists[TextBox1.Text]; System.Guid listGuid = list.ID;The previous example assumes the existence of a text box in which the user specifies the name of the list.To delete a list from multiple Web sites, the following example uses nested loops to drill down to a list thathas a title matching the title specified in a text box.SPSite mySite = SPContext.Current.Site; SPWebCollection allWebs = mySite.AllWebs; foreach (SPWeb web in allWebs){ SPListCollection allLists = web.Lists; for (int i=0; i<allLists.Count; i++) { SPList list = allLists[i]; if (list.Title == TextBox1.Text) { Guid listGuid = list.ID; allLists.Delete(listGuid); } }}In the example the Title property of the SPList class is used to identify a list in the collection of lists for each Web site that matches the specified title. The ID property returns the globally unique identifier (GUID) of the list,which is passed as the parameter for the DeletemethodThe example assumes the existence of a text box on the .aspx page that contains a form lists.Delete(listGuid);
Creating a WCF Service to Revert List Items to Previous Versions
- To create a SharePoint Foundation project for the WCF service, open the ProjectTracker solution in Visual Studio. In Solution Explorer, click the solution. On the File menu, point to Add, and then click New Project. In the Installed Templates tab of the Add New Project dialog box, expand either the Visual Basic or Visual C# node, select SharePoint, select Empty SharePoint Project, and then type RevertService as the name of the project. Click OK.
- In the SharePoint Customization Wizard, verify that the correct local site is specified for debugging. Because sandboxed solutions do not support WCF services, select Deploy as a farm solution, and then click Finish.
- To create the external WCF project to obtain its IService1 and Service1 .cs or .vb files, click the ProjectTracker solution again, and follow the same procedure as in Step 1 to open the Add New Project dialog box. Expand either the Visual Basic or Visual C# node, select WCF, select WCF Service Library, type WcfService as the name, and then click OK.
- Copy the generated IService1 and Service1 files into the RevertService project. Because you no longer need the WCF Service Library project, you can remove it from the solution by right-clicking the WCF Service Library and clicking Remove.
- Add references in the RevertService project to the System.Runtime.Serialization and System.ServiceModel WCF assemblies, and to Microsoft.SharePoint, the main assembly of the server object model. Right-click the RevertService project, click Add Reference, and select each of these assemblies on the .NET tab.
- To add a reference to Microsoft.SharePoint.Client.ServerRuntime, which contains the service factories that are provided by SharePoint Foundation, use the Browse tab of the Add Reference box to navigate to the Microsoft.SharePoint.Client.ServerRuntime.dll file in %Windows%\assembly\GAC_MSIL\Microsoft.SharePoint.Client.ServerRuntime, select the DLL, and then click OK.
- To specify the contract of your custom WCF service in IService1.cs (or IService1.vb), replace the auto-generated service contract with the following interface definition, where the Revert method accepts the name of the list in which to revert changes and the ID of the item to revert.
- using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.Text;
namespace WcfService
{
[ServiceContract]
public interface IRevert
{
[OperationContract]
void Revert(string listName, int listItemId);
}
}
8.Specify the implementation of the service by replacing the auto-generated code of Service1.cs (Service1.vb) with the following code. The example uses the SharePoint Foundation object model to retrieve the list by its name, to retrieve the item to revert by ID, and to check for the presence of item versions and revert them back by one version
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.Text;
namespace WcfService
{
using Microsoft.SharePoint.Client.Services;
using System.ServiceModel.Activation;
using Microsoft.SharePoint;
[BasicHttpBindingServiceMetadataExchangeEndpointAttribute]
[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Required)]
public class RevertService : IRevert
{
public void Revert(string listName, int listItemId)
{
SPList oList = SPContext.Current.Web.Lists[listName];
SPListItem oItem = oList.GetItemById(listItemId);
if (oItem.Versions.Count > 1)
{
oItem.Versions.Restore(1);
}
}
}
}
9. In the previous example, the RevertService class has an attribute for binding, BasicHttpBindingServiceMetadataExchangeEndpointAttribute, which instructs the SharePoint Foundation service factory to automatically create a metadata exchange endpoint for the service.
- Now that the implementation of the service is ready, you can deploy the service to SharePoint Foundation. Right-click the RevertService project, point to Add, and click SharePoint Mapped Folder. In the Add SharePoint Mapped Folder dialog box, select ISAPI, and then click OK to map the ISAPI folder of the SharePoint Foundation hive to the RevertService project. If Visual Studio creates a RevertService subfolder in the ISAPI folder of the RevertService project, right-click the subfolder and click Remove to delete it.
- To create a registration file for your service in the ISAPI folder, click the ISAPI folder in your project, and on the Project menu, click Add New Item. Under Installed Templates, select General. Select Text File, name the file Revert.svc, and then click Add.
- Add the following service declaration to Revert.svc, which specifies the SharePoint Foundation factories and the namespace that contains them. In the example, MultipleBaseAddressBasicHttpBindingServiceHostFactory specifies the service factory for the SOAP type of web service. The service class declaration also specifies the name of the service class and uses a token to specify the strong name of the assembly.
<%@ServiceHost Language="C#" Debug="true" Service="WcfService.RevertService, $SharePoint.Project.AssemblyFullName$" Factory="Microsoft.SharePoint.Client.Services.MultipleBaseAddressBasicHttpBindingServiceHostFactory, Microsoft.SharePoint.Client.ServerRuntime, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>If you are creating the service in Visual Basic, specify VB instead of C# as the language, and in the Service attribute, include the name of your SharePoint Foundation project, as specified in step one, as follows
Because Visual Studio 2010 by default does not process the type of tokens used in the previous .svc file, you must add an additional instruction in the project file. Save all changes in your project, right-click the RevertService project, and then click Unload Project. Right-click the RevertService node again, click Edit RevertService.csproj or Edit RevertService.vbproj, and add a <TokenReplacementFileExtensions> tag as follows to the first property group in the .csproj or .vbproj file to enable processing of tokens in .svc file types.
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{F455078E-8836-403A-9E63-5E5F21B5F694}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>RevertService</RootNamespace>
<AssemblyName>RevertService</AssemblyName>
<TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<ProjectTypeGuids>{BB1F664B-9266-4fd6-B973-E1E44974B511};{14822709-B5A1-4724-98CA-57A101D1B079};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
<SandboxedSolution>False</SandboxedSolution>
<TokenReplacementFileExtensions>svc</TokenReplacementFileExtensions>
</PropertyGroup>
- After you add the previous tag, save the project and close the .csproj file. In Solution Explorer, right-click the RevertService project, and then click Reload Project.
- To deploy the custom web service to SharePoint Foundation, in Solution Explorer, right-click the RevertService project, and then click Deploy. Visual Studio compiles the project’s code, builds a WSP file, and deploys the file to the front-end web server.
- To use the custom web service from your ProjectTracker client application, right-click the Service References node of the application in Solution Explorer, and then click Add Service Reference. In the Add Service Reference dialog box, type the URL of your custom WCF service in the Address box, and specify MEX as the standard name for the metadata exchange endpoint, as follows: http://Server/sites/SiteCollection/MyWebSite/_vti_bin/Revert.svc. Click Go to download the service information, and then click OK to add the reference.
- To add a Revert button in Form1 that implements the custom service, right-click the form title bar next to the Save button, and then select Button in the drop-down list that appears.
- In the Properties window for the button, set DisplayStyle to Text, and type Revert as the value for the Text setting.
- Double-click the Revert button and add to its Click event the following standard WCF proxy setup code with a call to your custom WCF service. Resolve references to assemblies by right-clicking red underlined elements in the code, pointing to Resolve, and accepting recommended assembly references for the System.ServiceModel namespace and for the namespace of your custom WCF service (ProjectTracker.ServiceReference2).
private void toolStripButton2_Click(object sender, EventArgs e) { // Set up proxy. BasicHttpBinding binding = new BasicHttpBinding(); binding.Security.Mode = BasicHttpSecurityMode.TransportCredentialOnly; binding.Security.Transport.ClientCredentialType = HttpClientCredentialType.Ntlm; EndpointAddress endpoint = new EndpointAddress(websiteUrl + "/_vti_bin/Revert.svc"); RevertClient proxy = new RevertClient(binding, endpoint); proxy.ClientCredentials.Windows.AllowedImpersonationLevel = System.Security.Principal.TokenImpersonationLevel.Impersonation; // Call web service. proxy.Revert("Projects", ((ProjectsItem)projectsBindingSource.Current).Id); // Refresh the UI. context.MergeOption = System.Data.Services.Client.MergeOption.OverwriteChanges; context.Projects.ToList(); projectsBindingSource.ResetCurrentItem(); }
- Notice in the Revert method call of the previous example that the name of the SharePoint Foundation list is specified, and that the Current property is used to return the ID of the currently selected item in the Projects DataGridView control. After the web service call, the code refreshes the user interface (UI) and re-retrieves data from SharePoint Foundation.
- Press F5 to run the client application, and test the web service by changing an item in the Projects DataGridView and clicking the Revert button.
//Complete code:
============
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using SP = Microsoft.SharePoint.Client; namespace ProjTrack { using ServiceReference1; using System.Net; using System.ServiceModel; using ProjTrack.ServiceReference2; public partial class Form1 : Form { private static string websiteUrl= "http://YourServer/sites/YourSiteCollection/YourSite"; TestWebsDataContext context = new TestWebsDataContext( new Uri(websiteUrl + "/_vti_bin/listdata.svc")); SP.ClientContext clientContext = new SP.ClientContext("websiteUrl"); public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { context.Credentials = CredentialCache.DefaultCredentials; projectsBindingSource.DataSource = context.Projects; clientContext.Load(clientContext.Web); clientContext.ExecuteQuery(); this.Text = clientContext.Web.Title; } private void projectsBindingSource_CurrentChanged(object sender, EventArgs e) { employeesBindingSource.DataSource = from emp in context.Employees where emp.Project.Id == ((ProjectsItem)projectsBindingSource.Current).Id select emp; } private void projectsBindingNavigatorSaveItem_Click(object sender, EventArgs e) { context.SaveChanges(); } private void projectsBindingSource_CurrentItemChanged(object sender, EventArgs e) { context.UpdateObject(projectsBindingSource.Current); } private void toolStripButton1_Click(object sender, EventArgs e) { SP.List oList = clientContext.Web.Lists.GetByTitle("Projects"); oList.Description = string.Format("Star Project of the Week is {0}!!!", ((ProjectsItem)projectsBindingSource.Current).Title); oList.Update(); clientContext.ExecuteQuery(); } private void toolStripButton2_Click(object sender, EventArgs e) { // Set up proxy. BasicHttpBinding binding = new BasicHttpBinding(); binding.Security.Mode = BasicHttpSecurityMode.TransportCredentialOnly; binding.Security.Transport.ClientCredentialType = HttpClientCredentialType.Ntlm; EndpointAddress endpoint = new EndpointAddress(websiteUrl + "/_vti_bin/Revert.svc"); RevertClient proxy = new RevertClient(binding, endpoint); proxy.ClientCredentials.Windows.AllowedImpersonationLevel = System.Security.Principal.TokenImpersonationLevel.Impersonation; // Call web service. proxy.Revert("Projects", ((ProjectsItem)projectsBindingSource.Current).Id); // Refresh the UI. context.MergeOption = System.Data.Services.Client.MergeOption.OverwriteChanges; context.Projects.ToList(); projectsBindingSource.ResetCurrentItem(); } } }
Subscribe to:
Posts (Atom)