diff --git a/.gitignore b/.gitignore index be42ec2747..529adef976 100644 --- a/.gitignore +++ b/.gitignore @@ -70,7 +70,7 @@ umbraco/presentation/packages/uComponents/MultiNodePicker/CustomTreeService.asmx src/Umbraco.Tests/config/applications.config src/Umbraco.Tests/config/trees.config src/Umbraco.Web.UI/web.config -src/Umbraco.Web.UI/Config/ClientDependency.config +src/Umbraco.Web.UI/[Cc]onfig/ClientDependency.config src/Umbraco.Tests/config/404handlers.config src/Umbraco.Web.UI/[Vv]iews/*.cshtml src/Umbraco.Web.UI/[Vv]iews/*.vbhtml @@ -87,18 +87,15 @@ lib-bower src/Umbraco.Web.UI/[Uu]mbraco/[Ll]ib/* src/Umbraco.Web.UI/[Uu]mbraco/[Jj]s/umbraco.* +src/Umbraco.Web.UI/[Uu]mbraco/[Jj]s/*.loader.js +src/Umbraco.Web.UI/[Uu]mbraco/[Jj]s/init.js src/Umbraco.Web.UI/[Uu]mbraco/[Jj]s/routes.js src/Umbraco.Web.UI/[Uu]mbraco/[Jj]s/app.dev.js src/Umbraco.Web.UI/[Uu]mbraco/[Jj]s/loader.js src/Umbraco.Web.UI/[Uu]mbraco/[Jj]s/loader.dev.js src/Umbraco.Web.UI/[Uu]mbraco/[Jj]s/main.js src/Umbraco.Web.UI/[Uu]mbraco/[Jj]s/app.js - -src/Umbraco.Web.UI/[Uu]mbraco/[Jj]s/tuning.panel.js -src/Umbraco.Web.UI/[Uu]mbraco/[Jj]s/tuning.palettes.js -src/Umbraco.Web.UI/[Uu]mbraco/[Jj]s/tuning.loader.js -src/Umbraco.Web.UI/[Uu]mbraco/[Jj]s/tuning.front.js -src/Umbraco.Web.UI/[Uu]mbraco/[Jj]s/tuning.config.js +src/Umbraco.Web.UI/[Uu]mbraco/[Jj]s/canvasdesigner.*.js src/Umbraco.Web.UI/[Uu]mbraco/[Vv]iews/ src/Umbraco.Web.UI/[Uu]mbraco/[Vv]iews/**/*.js @@ -114,24 +111,18 @@ src/Umbraco.Web.UI.Client/src/[Ll]ess/*.css src/Umbraco.Web.UI/App_Plugins/* src/*.psess src/*.vspx -src/Umbraco.Web.UI/[Uu]mbraco/[Jj]s/routes.js.* + NDependOut/* QueryResult.htm -src/Umbraco.Web.UI/[Uu]mbraco/[Aa]ssets/* -src/Umbraco.Web.UI/[Uu]mbraco/[Ll]ib/* -src/Umbraco.Web.UI/[Uu]mbraco/[Vv]iews/**/*.html -src/Umbraco.Web.UI/[Uu]mbraco/[Vv]iews/**/*.js - src/Umbraco.Web.UI/[Cc]onfig/appSettings.config src/Umbraco.Web.UI/[Cc]onfig/connectionStrings.config -src/Umbraco.Web.UI/umbraco/plugins/* -src/Umbraco.Web.UI/umbraco/js/init.js +src/Umbraco.Web.UI/[Uu]mbraco/plugins/* build/ApiDocs/* build/ApiDocs/Output/* src/Umbraco.Web.UI.Client/bower_components/* -/src/Umbraco.Web.UI/Umbraco/preview -/src/Umbraco.Web.UI/Umbraco/preview.old +/src/Umbraco.Web.UI/[Uu]mbraco/preview +/src/Umbraco.Web.UI/[Uu]mbraco/preview.old # ignore rule for clearing out Belle (avoid rebuilding all the time) preserve.belle @@ -139,16 +130,11 @@ preserve.belle #Ignore Rule for output of generated documentation files from Grunt docserve src/Umbraco.Web.UI.Client/docs/api src/*.boltdata/ -/src/Umbraco.Web.UI/Umbraco/Js/canvasdesigner.loader.js -/src/Umbraco.Web.UI/Umbraco/Js/canvasdesigner.palettes.js -/src/Umbraco.Web.UI/Umbraco/Js/canvasdesigner.panel.js -/src/Umbraco.Web.UI/Umbraco/Js/canvasdesigner.config.js -/src/Umbraco.Web.UI/Umbraco/Js/canvasdesigner.front.js src/umbraco.sln.ide/* src/.vs/ -src/Umbraco.Web.UI/umbraco/js/install.loader.js -src/Umbraco.Web.UI/js/* -src/Umbraco.Tests/media + +src/Umbraco.Web.UI/[Jj]s/* +src/Umbraco.Tests/[Mm]edia tools/docfx/* apidocs/_site/* src/*/project.lock.json diff --git a/build/InstallGit.cmd b/build/InstallGit.cmd deleted file mode 100644 index 4daa2f45d9..0000000000 --- a/build/InstallGit.cmd +++ /dev/null @@ -1,63 +0,0 @@ -@ECHO OFF -SETLOCAL -REM SETLOCAL is on, so changes to the path not persist to the actual user's path - -git.exe --version -IF %ERRORLEVEL%==9009 GOTO :trydefaultpath -REM OK, DONE -GOTO :EOF - -:trydefaultpath -PATH=C:\Program Files (x86)\Git\cmd;C:\Program Files\Git\cmd;%PATH% -git.exe --version -IF %ERRORLEVEL%==9009 GOTO :showerror -REM OK, DONE -GOTO :EOF - -:showerror -ECHO Git is not in your path and could not be found in C:\Program Files (x86)\Git\cmd nor in C:\Program Files\Git\cmd -SET /p install=" Do you want to install Git through Chocolatey [y/n]? " %=% -IF %install%==y ( - :: Create a temporary batch file to execute either after elevating to admin or as-is when the user is already admin - ECHO @ECHO OFF > "%temp%\ChocoInstallGit.cmd" - ECHO SETLOCAL >> "%temp%\ChocoInstallGit.cmd" - ECHO ECHO Installing Chocolatey first >> "%temp%\ChocoInstallGit.cmd" - ECHO @powershell -NoProfile -ExecutionPolicy Bypass -Command "iex ((new-object net.webclient).DownloadString('https://chocolatey.org/install.ps1'))" >> "%temp%\ChocoInstallGit.cmd" - ECHO SET PATH=%%PATH%%;%%ALLUSERSPROFILE%%\chocolatey\bin >> "%temp%\ChocoInstallGit.cmd" - ECHO choco install git -y >> "%temp%\ChocoInstallGit.cmd" - - GOTO :installgit -) ELSE ( - GOTO :cantcontinue -) - -:cantcontinue -ECHO Can't complete the build without Git being in the path. Please add it to be able to continue. -GOTO :EOF - -:installgit -pushd %~dp0 - :: Running prompt elevated - -:: --> Check for permissions ->nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system" - -:: --> If error flag set, we do not have admin. -IF '%errorlevel%' NEQ '0' ( - GOTO UACPrompt -) ELSE ( GOTO gotAdmin ) - -:UACPrompt - ECHO You're not currently running this with admin privileges, we'll now try to execute the install of Git through Chocolatey after elevating to admin privileges - ECHO Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs" - ECHO UAC.ShellExecute "%temp%\ChocoInstallGit.cmd", "", "", "runas", 1 >> "%temp%\getadmin.vbs" - - "%temp%\getadmin.vbs" - EXIT /B - -:gotAdmin - IF EXIST "%temp%\getadmin.vbs" ( DEL "%temp%\getadmin.vbs" ) - pushd "%CD%" - CD /D "%~dp0" - - CALL "%temp%\ChocoInstallGit.cmd" \ No newline at end of file diff --git a/build/NuSpecs/tools/Readme.txt b/build/NuSpecs/tools/Readme.txt index d89116775d..bcac64979d 100644 --- a/build/NuSpecs/tools/Readme.txt +++ b/build/NuSpecs/tools/Readme.txt @@ -20,7 +20,7 @@ Publish this won't affect you. The following items will now be automatically included when creating a deploy package or publishing to the file system: umbraco, umbraco_client, config\splashes and global.asax. -Please read the release notes on our.umbraco.org: -http://our.umbraco.org/contribute/releases +Please read the release notes on our.umbraco.com: +http://our.umbraco.com/contribute/releases - Umbraco \ No newline at end of file diff --git a/build/NuSpecs/tools/ReadmeUpgrade.txt b/build/NuSpecs/tools/ReadmeUpgrade.txt index 2b6da733a1..ff5c80b1c2 100644 --- a/build/NuSpecs/tools/ReadmeUpgrade.txt +++ b/build/NuSpecs/tools/ReadmeUpgrade.txt @@ -11,7 +11,7 @@ *** IMPORTANT NOTICE FOR UPGRADES FROM VERSIONS BELOW 7.7.0 *** Be sure to read the version specific upgrade information before proceeding: -https://our.umbraco.org/documentation/Getting-Started/Setup/Upgrading/version-specific#version-7-7-0 +https://our.umbraco.com/documentation/Getting-Started/Setup/Upgrading/version-specific#version-7-7-0 Depending on the version you are upgrading from, you may need to make some changes to your web.config and you will need to be aware of the breaking changes listed there to see if these affect your installation. @@ -33,7 +33,7 @@ Publish this won't affect you. The following items will now be automatically included when creating a deploy package or publishing to the file system: umbraco, umbraco_client, config\splashes and global.asax. -Please read the release notes on our.umbraco.org: -http://our.umbraco.org/contribute/releases +Please read the release notes on our.umbraco.com: +http://our.umbraco.com/contribute/releases - Umbraco \ No newline at end of file diff --git a/build/NuSpecs/tools/Views.Web.config.install.xdt b/build/NuSpecs/tools/Views.Web.config.install.xdt index a5797232b8..4d660301a8 100644 --- a/build/NuSpecs/tools/Views.Web.config.install.xdt +++ b/build/NuSpecs/tools/Views.Web.config.install.xdt @@ -1,42 +1,32 @@ - - -
-
- - - - - - - - - - - - - - - - - - - - - \ No newline at end of file + + +
+
+ + + + + + + + + + + + + + + + + + + + + diff --git a/build/RevertToCleanInstall.bat b/build/RevertToCleanInstall.bat deleted file mode 100644 index f8482156de..0000000000 --- a/build/RevertToCleanInstall.bat +++ /dev/null @@ -1,127 +0,0 @@ -@ECHO OFF - -:choice -set /P c=WARNING! Are you sure you want to continue, this will remove all package files, view files, sqlce database, etc... Press 'Y' to auto-remove all files/folders, 'N' to cancel or 'C' to prompt for each folder removal? -if /I "%c%" EQU "C" goto :prompt -if /I "%c%" EQU "Y" goto :auto -if /I "%c%" EQU "N" goto :exit -goto :choice - - -:prompt - -echo Current folder: %CD% - -echo Removing sqlce database -del ..\src\Umbraco.Web.UI\App_Data\Umbraco.sdf - -echo Resetting installedPackages.config -echo ^^^ >..\src\Umbraco.Web.UI\App_Data\packages\installed\installedPackages.config - -echo Removing plugin cache files -del ..\src\Umbraco.Web.UI\App_Data\TEMP\PluginCache\*.* - -echo Removing cache files and examine index -del ..\src\Umbraco.Web.UI\App_Data\TEMP\*.* - -echo Removing log files -del ..\src\Umbraco.Web.UI\App_Data\Logs\*.* - -echo Removing packages -del ..\src\Umbraco.Web.UI\App_Data\packages\*.* - -echo Removing previews -del ..\src\Umbraco.Web.UI\App_Data\preview\*.* - -echo Removing app code files (typically added by starterkits) -del ..\src\Umbraco.Web.UI\App_Code\*.* - -echo Removing xslt files -del ..\src\Umbraco.Web.UI\xslt\*.* - -echo Removing user control files -del ..\src\Umbraco.Web.UI\UserControls\*.* - -echo Removing masterpage files -del ..\src\Umbraco.Web.UI\masterpages\*.* - -echo Removing razor files -del ..\src\Umbraco.Web.UI\macroScripts\*.* - -echo Removing media files -del ..\src\Umbraco.Web.UI\media\*.* - -echo Removing script files -del ..\src\Umbraco.Web.UI\scripts\*.* - -echo Removing css files -del ..\src\Umbraco.Web.UI\css\*.* - -echo "Umbraco install reverted to clean install" -pause -exit - - - -:auto - -echo Current folder: %CD% - -echo Removing sqlce database -del ..\src\Umbraco.Web.UI\App_Data\Umbraco.sdf - -echo Resetting installedPackages.config -echo ^^^ >..\src\Umbraco.Web.UI\App_Data\packages\installed\installedPackages.config - -echo Removing plugin cache files -FOR %%A IN (..\src\Umbraco.Web.UI\App_Data\TEMP\PluginCache\*.*) DO DEL %%A - -echo Removing cache files and examine index -FOR %%A IN (..\src\Umbraco.Web.UI\App_Data\TEMP\*.*) DO DEL %%A - -echo Removing log files -FOR %%A IN (..\src\Umbraco.Web.UI\App_Data\Logs\*.*) DO DEL %%A - -echo Removing packages -FOR %%A IN (..\src\Umbraco.Web.UI\App_Data\packages\*.*) DO DEL %%A - -echo Removing previews -FOR %%A IN (..\src\Umbraco.Web.UI\App_Data\preview\*.*) DO DEL %%A - -echo Removing app code files (typically added by starterkits) -FOR %%A IN (..\src\Umbraco.Web.UI\App_Code\*.*) DO DEL %%A - -echo Removing xslt files -FOR %%A IN (..\src\Umbraco.Web.UI\xslt\*.*) DO DEL %%A - -echo Removing masterpage files -FOR %%A IN (..\src\Umbraco.Web.UI\masterpages\*.*) DO DEL %%A - -echo Removing user control files -FOR %%A IN (..\src\Umbraco.Web.UI\usercontrols\*.*) DO DEL %%A - -echo Removing view files -ATTRIB +H ..\src\Umbraco.Web.UI\Views\Partials\Grid\*.cshtml /S -FOR %%A IN (..\src\Umbraco.Web.UI\Views\) DO DEL /Q /S *.cshtml -H -ATTRIB -H ..\src\Umbraco.Web.UI\Views\Partials\Grid\*.cshtml /S - -echo Removing razor files -FOR %%A IN (..\src\Umbraco.Web.UI\macroScripts\*.*) DO DEL %%A - -echo Removing media files -FOR %%A IN (..\src\Umbraco.Web.UI\media\*.*) DO DEL %%A - -echo Removing script files -FOR %%A IN (..\src\Umbraco.Web.UI\scripts\*.*) DO DEL %%A - -echo Removing css files -FOR %%A IN (..\src\Umbraco.Web.UI\css\*.*) DO DEL %%A - -echo "Umbraco install reverted to clean install" -pause -exit - - - -:exit -exit \ No newline at end of file diff --git a/build/RevertToEmptyInstall.bat b/build/RevertToEmptyInstall.bat deleted file mode 100644 index c0c6817e58..0000000000 --- a/build/RevertToEmptyInstall.bat +++ /dev/null @@ -1,163 +0,0 @@ -@ECHO OFF - -:choice -set /P c=WARNING! Are you sure you want to continue, this will remove all package files, view files, sqlce database, etc... Press 'Y' to auto-remove all files/folders, 'N' to cancel or 'C' to prompt for each folder removal? -if /I "%c%" EQU "C" goto :prompt -if /I "%c%" EQU "Y" goto :auto -if /I "%c%" EQU "N" goto :exit -goto :choice - - -:prompt - -echo Current folder: %CD% - -echo Regenerating SQL CE database -SET buildfolder=%CD% -CD ..\tools\RegenerateUmbracoSQLCEDatabase\ -RegenerateUmbracoSQLCEDatabase.exe %CD%\..\..\src\Umbraco.Web.UI -CD %buildfolder% - -echo Removing bin files -del ..\src\Umbraco.Web.UI\bin\*.* - -echo Building solution -"%ProgramFiles(x86)%"\MSBuild\14.0\Bin\MSBuild.exe ..\src\umbraco.sln /t:Clean,Build - -echo Resetting installedPackages.config -echo ^^^ >..\src\Umbraco.Web.UI\App_Data\packages\installed\installedPackages.config - -echo Removing plugin cache files -del ..\src\Umbraco.Web.UI\App_Data\TEMP\PluginCache\*.* - -echo Removing cache files and examine index -del ..\src\Umbraco.Web.UI\App_Data\TEMP\*.* - -echo Removing log files -del ..\src\Umbraco.Web.UI\App_Data\Logs\*.* - -echo Removing packages -del ..\src\Umbraco.Web.UI\App_Data\packages\*.* - -echo Removing previews -del ..\src\Umbraco.Web.UI\App_Data\preview\*.* - -echo Removing app code files (typically added by starterkits) -del ..\src\Umbraco.Web.UI\App_Code\*.* - -echo Removing xslt files -del ..\src\Umbraco.Web.UI\xslt\*.* - -echo Removing user control files -del ..\src\Umbraco.Web.UI\UserControls\*.* - -echo Removing masterpage files -del ..\src\Umbraco.Web.UI\masterpages\*.* - -echo Removing razor files -del ..\src\Umbraco.Web.UI\macroScripts\*.* - -echo Removing media files -del ..\src\Umbraco.Web.UI\media\*.* - -echo Removing script files -del ..\src\Umbraco.Web.UI\scripts\*.* - -echo Removing css files -del ..\src\Umbraco.Web.UI\css\*.* - -echo "Umbraco install reverted to clean install" -pause -exit - - - -:auto - -echo Current folder: %CD% - -echo Regenerating SQL CE database -SET buildfolder=%CD% -CD ..\tools\RegenerateUmbracoSQLCEDatabase\ -RegenerateUmbracoSQLCEDatabase.exe %CD%\..\..\src\Umbraco.Web.UI -CD %buildfolder% - -echo Removing bin files - FOR %%A IN (..\src\Umbraco.Web.UI\bin\*.*) DO DEL %%A - -echo Building solution -"%ProgramFiles(x86)%"\MSBuild\14.0\Bin\MSBuild.exe ..\src\umbraco.sln /t:Clean,Build - -echo Resetting installedPackages.config -echo ^^^ >..\src\Umbraco.Web.UI\App_Data\packages\installed\installedPackages.config - -echo Removing plugin cache files -FOR %%A IN (..\src\Umbraco.Web.UI\App_Data\TEMP\PluginCache\*.*) DO DEL %%A - -echo Removing cache files and examine index -FOR %%A IN (..\src\Umbraco.Web.UI\App_Data\TEMP\*.*) DO DEL %%A - -echo Removing log files -FOR %%A IN (..\src\Umbraco.Web.UI\App_Data\Logs\*.*) DO DEL %%A - -echo Removing packages -FOR %%A IN (..\src\Umbraco.Web.UI\App_Data\packages\*.*) DO DEL %%A - -echo Removing previews -FOR %%A IN (..\src\Umbraco.Web.UI\App_Data\preview\*.*) DO DEL %%A - -echo Removing app code files (typically added by starterkits) -FOR %%A IN (..\src\Umbraco.Web.UI\App_Code\*.*) DO DEL %%A - -echo Removing xslt files -FOR %%A IN (..\src\Umbraco.Web.UI\xslt\*.*) DO DEL %%A - -echo Removing masterpage files -FOR %%A IN (..\src\Umbraco.Web.UI\masterpages\*.*) DO DEL %%A - -echo Removing user control files -FOR %%A IN (..\src\Umbraco.Web.UI\usercontrols\*.*) DO DEL %%A - -echo Removing view files -ATTRIB +H ..\src\Umbraco.Web.UI\Views\Partials\Grid\*.cshtml /S -FOR %%A IN (..\src\Umbraco.Web.UI\Views\) DO DEL /Q /S *.cshtml -H -ATTRIB -H ..\src\Umbraco.Web.UI\Views\Partials\Grid\*.cshtml /S - -echo Removing razor files -FOR %%A IN (..\src\Umbraco.Web.UI\macroScripts\*.*) DO DEL %%A - -echo Removing media files -FOR %%A IN (..\src\Umbraco.Web.UI\media\*.*) DO DEL %%A - -echo Removing script files -FOR %%A IN (..\src\Umbraco.Web.UI\scripts\*.*) DO DEL %%A - -echo Removing css files -FOR %%A IN (..\src\Umbraco.Web.UI\css\*.*) DO DEL %%A - -echo Removing Courier files -del ..\src\Umbraco.Web.UI\config\courier.config -del ..\src\Umbraco.Web.UI\umbraco\images\tray\courier.jpg -rmdir "..\src\Umbraco.Web.UI\umbraco\plugins\courier\" /S /Q - -echo Removing Contour files -del ..\src\Umbraco.Web.UI\umbraco\images\tray\contour.png -FOR %%A IN (..\src\Umbraco.Web.UI\umbraco\images\umbraco\icon_*.*) DO DEL %%A -rmdir "..\src\Umbraco.Web.UI\umbraco\plugins\umbracoContour\" /S /Q -del ..\src\Umbraco.Web.UI\umbraco\xslt\templates\UmbracoContour*.* /S /Q -rmdir "..\src\Umbraco.Web.UI\usercontrols\umbracoContour\" /S /Q - -echo Start with a clean web.config -copy ..\src\Umbraco.Web.UI\web.Template.config ..\src\Umbraco.Web.UI\web.config /Y - -echo Start with a clean web.config -copy ..\src\Umbraco.Web.UI\web.Template.config ..\src\Umbraco.Web.UI\web.config /Y - -echo "Umbraco install reverted to clean install" -pause -exit - - - -:exit -exit \ No newline at end of file diff --git a/build/build.ps1 b/build/build.ps1 index 3134dfedb2..5f85284431 100644 --- a/build/build.ps1 +++ b/build/build.ps1 @@ -62,6 +62,7 @@ $global:node_path = $env:path $nodePath = $this.BuildEnv.NodePath $gitExe = (Get-Command git).Source + if (-not $gitExe) { $gitExe = (Get-Command git).Path } $gitPath = [System.IO.Path]::GetDirectoryName($gitExe) $env:path = "$nodePath;$gitPath" diff --git a/docs/CLEAR.md b/docs/CLEAR.md new file mode 100644 index 0000000000..84dc0b46d7 --- /dev/null +++ b/docs/CLEAR.md @@ -0,0 +1,34 @@ +Umbraco Cms Clear +-- +---- + +Once the solution has been used to run a site, one may want to "reset" the solution in order to run a fresh new site again. + +## Fast + +At the very minimum, you want + + git clean -Xdf src/Umbraco.Web.UI/App_Data + rm src/Umbraco.Web.UI/web.config + +Then, a simple 'Rebuild All' in Visual Studio will recreate a fresh `web.config` but should be quite fast (since it does not really need to rebuild anything). + +The `clean` Git command force (`-f`) removes (`-X`, note the capital X) all files and directories (`-d`) that are ignored by Git. + +This will leave medias and views around, but in most cases, it will be enough. + +## More + +To perform a more complete clear, you will want to also delete the content of the media, views, masterpages, scripts... directories. + +## Full + +The following command will force remove all untracked files and directories, be they ignored by Git or not. Combined with `git reset` it can recreate a pristine working directory. + + git clean -xdf . + +## Docs + +See +* git [clean]() +* git [reset]() \ No newline at end of file diff --git a/docs/README.md b/docs/README.md index e7eebee6cd..5316ad0604 100644 --- a/docs/README.md +++ b/docs/README.md @@ -19,26 +19,26 @@ Umbraco is a free open source Content Management System built on the ASP.NET pla ## Umbraco - The Friendly CMS -For the first time on the Microsoft platform, there is a free user and developer friendly CMS that makes it quick and easy to create websites - or a breeze to build complex web applications. Umbraco has award-winning integration capabilities and supports ASP.NET MVC or Web Forms, including User and Custom Controls, out of the box. +For the first time on the Microsoft platform, there is a free user and developer friendly CMS that makes it quick and easy to create websites - or a breeze to build complex web applications. Umbraco has award-winning integration capabilities and supports ASP.NET MVC or Web Forms, including User and Custom Controls, out of the box. Umbraco is not only loved by developers, but is a content editors dream. Enjoy intuitive editing tools, media management, responsive views and approval workflows to send your content live. -Used by more than 443,000 active websites including Carlsberg, Segway, Amazon and Heinz and **The Official ASP.NET and IIS.NET website from Microsoft** ([https://asp.net](https://asp.net) / [https://iis.net](https://iis.net)), you can be sure that the technology is proven, stable and scales. Backed by the team at Umbraco HQ, and supported by a dedicated community of over 220,000 craftspeople globally, you can trust that Umbraco is a safe choice and is here to stay. +Used by more than 443,000 active websites including Carlsberg, Segway, Amazon and Heinz and **The Official ASP.NET and IIS.NET website from Microsoft** ([https://asp.net](https://asp.net) / [https://iis.net](https://iis.net)), you can be sure that the technology is proven, stable and scales. Backed by the team at Umbraco HQ, and supported by a dedicated community of over 220,000 craftspeople globally, you can trust that Umbraco is a safe choice and is here to stay. -To view more examples, please visit [https://umbraco.com/why-umbraco/#caseStudies](https://umbraco.com/why-umbraco/#caseStudies) +To view more examples, please visit [https://umbraco.com/case-studies-testimonials/](https://umbraco.com/case-studies-testimonials/) ## Why Open Source? As an Open Source platform, Umbraco is more than just a CMS. We are transparent with our roadmap for future versions, our incremental sprint planning notes are publicly accessible and community contributions and packages are available for all to use. ## Trying out Umbraco CMS -[Umbraco Cloud](https://umbraco.com) is the easiest and fastest way to use Umbraco yet with full support for all your custom .NET code and intergrations. You're up and running in less than a minute and your life will be made easier with automated upgrades and a built-in deployment engine. We offer a free 14 day trial, no credit card needed. +[Umbraco Cloud](https://umbraco.com/cloud) is the easiest and fastest way to use Umbraco yet with full support for all your custom .NET code and intergrations. You're up and running in less than a minute and your life will be made easier with automated upgrades and a built-in deployment engine. We offer a free 14 day trial, no credit card needed. -If you want to DIY you can [download Umbraco](https://our.umbraco.org/download) either as a ZIP file or via NuGet. It's the same version of Umbraco CMS that powers Umbraco Cloud, but you'll need to find a place to host yourself and handling deployments and upgrades is all down to you. +If you want to DIY you can [download Umbraco](https://our.umbraco.com/download) either as a ZIP file or via NuGet. It's the same version of Umbraco CMS that powers Umbraco Cloud, but you'll need to find a place to host yourself and handling deployments and upgrades is all down to you. ## Community -Our friendly community is available 24/7 at the community hub we call ["Our Umbraco"](https://our.umbraco.org). Our Umbraco feature forums for questions and answers, documentation, downloadable plugins for Umbraco and a rich collection of community resources. +Our friendly community is available 24/7 at the community hub we call ["Our Umbraco"](https://our.umbraco.com). Our Umbraco feature forums for questions and answers, documentation, downloadable plugins for Umbraco and a rich collection of community resources. ## Contribute to Umbraco @@ -46,6 +46,6 @@ Umbraco is contribution focused and community driven. If you want to contribute ## Found a bug? -Another way you can contribute to Umbraco is by providing issue reports. For information on how to submit an issue report refer to our [online guide for reporting issues](https://our.umbraco.org/contribute/report-an-issue-or-request-a-feature). +Another way you can contribute to Umbraco is by providing issue reports. For information on how to submit an issue report refer to our [online guide for reporting issues](CONTRIBUTING_DETAILED.md#reporting-bugs). To view existing issues, please visit [http://issues.umbraco.org](http://issues.umbraco.org). diff --git a/docs/V8_GETTING_STARTED.md b/docs/V8_GETTING_STARTED.md index c755e8c7d9..8cd792aa71 100644 --- a/docs/V8_GETTING_STARTED.md +++ b/docs/V8_GETTING_STARTED.md @@ -5,15 +5,15 @@ * [Visual Studio 2017 Community (Free)](https://www.visualstudio.com/vs/community/), or Professional, Enterprise, etc... _(**Minimum of Version 15.7** or higher, this is important, you WILL get issues with lesser versions)_ * .NET Framework 4.7.2 installed, get it here: https://www.microsoft.com/net/download/thank-you/net472?survey=false * .NET Framework 4.7.2 developer pack, get it here: https://www.microsoft.com/net/download/thank-you/net472-developer-pack _(be sure this is the ENU file which will be named `NDP472-DevPack-ENU.exe`)_ -* Clone the Umbraco repository and ensure you have the `temp8` branch checked out +* Clone the Umbraco repository using the `temp8` branch. If your git client doesn't support specifying the branch as you clone then use the command `git clone --single-branch -b temp8 `. _(If you clone the repo using the default v7 branch and then checkout the `temp8` branch you **might** get problems)_ ### Start the solution * Open the `/src/umbraco.sln` Visual Studio solution * Start the solution (easiest way is to use `ctrl + F5`) - * When the solution is first built this may take some time since it will restore all nuget, npm and bower packages, build the .net solution and also build the angular solution. +* When the solution is first built this may take some time since it will restore all nuget, npm and bower packages, build the .net solution and also build the angular solution * When the website starts you'll see the Umbraco installer and just follow the prompts -* Your all set! +* You're all set! ### Want to run from a zip instead? @@ -26,7 +26,8 @@ We recommend running the site with the Visual Studio since you'll be able to rem * _[The process for making code changes in v8 is the same as v7](https://github.com/umbraco/Umbraco-CMS/blob/dev-v7/docs/CONTRIBUTING.md)_ * Any .NET changes you make you just need to compile * Any Angular/JS changes you make you will need to make sure you are running the Gulp build. Easiest way to do this is from within Visual Studio in the `Task Runner Explorer`. You can find this window by pressing `ctrl + q` and typing in `Task Runner Explorer`. In this window you'll see all Gulp tasks, double click on the `dev` task, this will compile the angular solution and start a file watcher, then any html/js changes you make are automatically built. - * When making js changes, you should have the chrome developer tools open to ensure that cache is disabled +* When making js changes, you should have the chrome developer tools open to ensure that cache is disabled +* If you are only making C# changes and are not touching the UI code at all, you can significantly speed up the VS build by adding an empty file specifically called `~/src/preserve.belle`. The UI (Belle) build will then be skipped during a Rebuild. ### What to work on? diff --git a/src/ApiDocs/toc.yml b/src/ApiDocs/toc.yml index 6817825066..23e2f3b8e1 100644 --- a/src/ApiDocs/toc.yml +++ b/src/ApiDocs/toc.yml @@ -1,5 +1,5 @@ - name: Umbraco.Core Documentation - href: https://our.umbraco.org/apidocs/csharp/api/Umbraco.Core.html + href: https://our.umbraco.com/apidocs/csharp/api/Umbraco.Core.html - name: Umbraco.Web Documentation - href: https://our.umbraco.org/apidocs/csharp/api/Umbraco.Web.html \ No newline at end of file + href: https://our.umbraco.com/apidocs/csharp/api/Umbraco.Web.html \ No newline at end of file diff --git a/src/Umbraco.Core/Configuration/GlobalSettings.cs b/src/Umbraco.Core/Configuration/GlobalSettings.cs index 5f023b8dea..7c274089f7 100644 --- a/src/Umbraco.Core/Configuration/GlobalSettings.cs +++ b/src/Umbraco.Core/Configuration/GlobalSettings.cs @@ -215,10 +215,7 @@ namespace Umbraco.Core.Configuration ConfigurationManager.RefreshSection("appSettings"); } } - - [Obsolete("Use IOHelper.GetRootDirectorySafe() instead")] - public static string FullPathToRoot => IOHelper.GetRootDirectorySafe(); - + /// /// Gets a value indicating whether umbraco is running in [debug mode]. /// diff --git a/src/Umbraco.Core/Constants-Conventions.cs b/src/Umbraco.Core/Constants-Conventions.cs index 524ae580a3..cf46bff6d7 100644 --- a/src/Umbraco.Core/Constants-Conventions.cs +++ b/src/Umbraco.Core/Constants-Conventions.cs @@ -330,6 +330,16 @@ namespace Umbraco.Core /// ContentType alias for default relation type "Relate Parent Document On Delete". /// public const string RelateParentDocumentOnDeleteAlias = "relateParentDocumentOnDelete"; + + /// + /// ContentType name for default relation type "Relate Parent Media Folder On Delete". + /// + public const string RelateParentMediaFolderOnDeleteName = "Relate Parent Media Folder On Delete"; + + /// + /// ContentType alias for default relation type "Relate Parent Media Folder On Delete". + /// + public const string RelateParentMediaFolderOnDeleteAlias = "relateParentMediaFolderOnDelete"; } } } diff --git a/src/Umbraco.Core/Constants-PackageRepository.cs b/src/Umbraco.Core/Constants-PackageRepository.cs index bdcb86932b..59005b3e2c 100644 --- a/src/Umbraco.Core/Constants-PackageRepository.cs +++ b/src/Umbraco.Core/Constants-PackageRepository.cs @@ -7,7 +7,7 @@ /// public static class PackageRepository { - public const string RestApiBaseUrl = "https://our.umbraco.org/webapi/packages/v1"; + public const string RestApiBaseUrl = "https://our.umbraco.com/webapi/packages/v1"; public const string DefaultRepositoryName = "Umbraco package Repository"; public const string DefaultRepositoryId = "65194810-1f85-11dd-bd0b-0800200c9a66"; } diff --git a/src/Umbraco.Core/ContentVariationExtensions.cs b/src/Umbraco.Core/ContentVariationExtensions.cs index 092de4d6d6..d18fb4b091 100644 --- a/src/Umbraco.Core/ContentVariationExtensions.cs +++ b/src/Umbraco.Core/ContentVariationExtensions.cs @@ -75,6 +75,26 @@ namespace Umbraco.Core /// public static bool VariesByCultureAndSegment(this PublishedContentType contentType) => contentType.Variations.VariesByCultureAndSegment(); + /// + /// Determines whether the property type is invariant. + /// + public static bool VariesByNothing(this PublishedPropertyType propertyType) => propertyType.Variations.VariesByNothing(); + + /// + /// Determines whether the property type varies by culture. + /// + public static bool VariesByCulture(this PublishedPropertyType propertyType) => propertyType.Variations.VariesByCulture(); + + /// + /// Determines whether the property type varies by segment. + /// + public static bool VariesBySegment(this PublishedPropertyType propertyType) => propertyType.Variations.VariesBySegment(); + + /// + /// Determines whether the property type varies by culture and segment. + /// + public static bool VariesByCultureAndSegment(this PublishedPropertyType propertyType) => propertyType.Variations.VariesByCultureAndSegment(); + /// /// Determines whether a variation is invariant. /// diff --git a/src/Umbraco.Core/Logging/AsynchronousRollingFileAppender.cs b/src/Umbraco.Core/Logging/AsynchronousRollingFileAppender.cs deleted file mode 100644 index e14ef92451..0000000000 --- a/src/Umbraco.Core/Logging/AsynchronousRollingFileAppender.cs +++ /dev/null @@ -1,206 +0,0 @@ -using log4net.Core; -using log4net.Util; -using System; -using System.ComponentModel; -using System.Runtime.Remoting.Messaging; -using System.Security.Principal; -using System.Threading; -using System.Threading.Tasks; -using log4net.Appender; - -namespace Umbraco.Core.Logging -{ - /// - /// Based on https://github.com/cjbhaines/Log4Net.Async - /// which is based on code by Chris Haines http://cjbhaines.wordpress.com/2012/02/13/asynchronous-log4net-appenders/ - /// This is an old/deprecated logger and has been superceded by ParallelForwardingAppender which is included in Umbraco and - /// also by AsyncForwardingAppender in the Log4Net.Async library. - /// - [Obsolete("This is superceded by the ParallelForwardingAppender, this will be removed in v8, do not use this")] - [EditorBrowsable(EditorBrowsableState.Never)] - public class AsynchronousRollingFileAppender : RollingFileAppender - { - private RingBuffer pendingAppends; - private readonly ManualResetEvent manualResetEvent; - private bool shuttingDown; - private bool hasFinished; - private bool forceStop; - private bool logBufferOverflow; - private int bufferOverflowCounter; - private DateTime lastLoggedBufferOverflow; - private int queueSizeLimit = 1000; - public int QueueSizeLimit - { - get - { - return queueSizeLimit; - } - set - { - queueSizeLimit = value; - } - } - - public AsynchronousRollingFileAppender() - { - manualResetEvent = new ManualResetEvent(false); - } - - public override void ActivateOptions() - { - base.ActivateOptions(); - pendingAppends = new RingBuffer(QueueSizeLimit); - pendingAppends.BufferOverflow += OnBufferOverflow; - StartAppendTask(); - } - - protected override void Append(LoggingEvent[] loggingEvents) - { - Array.ForEach(loggingEvents, Append); - } - - protected override void Append(LoggingEvent loggingEvent) - { - if (FilterEvent(loggingEvent)) - { - pendingAppends.Enqueue(loggingEvent); - } - } - - protected override void OnClose() - { - shuttingDown = true; - manualResetEvent.WaitOne(TimeSpan.FromSeconds(5)); - - if (!hasFinished) - { - forceStop = true; - base.Append(new LoggingEvent(new LoggingEventData - { - Level = Level.Error, - Message = "Unable to clear out the AsyncRollingFileAppender buffer in the allotted time, forcing a shutdown", - TimeStamp = DateTime.UtcNow, - Identity = "", - ExceptionString = "", - UserName = WindowsIdentity.GetCurrent() != null ? WindowsIdentity.GetCurrent().Name : "", - Domain = AppDomain.CurrentDomain.FriendlyName, - ThreadName = Thread.CurrentThread.ManagedThreadId.ToString(), - LocationInfo = new LocationInfo(this.GetType().Name, "OnClose", "AsyncRollingFileAppender.cs", "75"), - LoggerName = this.GetType().FullName, - Properties = new PropertiesDictionary(), - }) - ); - } - - base.OnClose(); - } - - private void StartAppendTask() - { - if (!shuttingDown) - { - Task appendTask = new Task(AppendLoggingEvents, TaskCreationOptions.LongRunning); - appendTask.LogErrors(LogAppenderError).ContinueWith(x => StartAppendTask()).LogErrors(LogAppenderError); - appendTask.Start(); - } - } - - private void LogAppenderError(string logMessage, Exception exception) - { - base.Append(new LoggingEvent(new LoggingEventData - { - Level = Level.Error, - Message = "Appender exception: " + logMessage, - TimeStamp = DateTime.UtcNow, - Identity = "", - ExceptionString = exception.ToString(), - UserName = WindowsIdentity.GetCurrent() != null ? WindowsIdentity.GetCurrent().Name : "", - Domain = AppDomain.CurrentDomain.FriendlyName, - ThreadName = Thread.CurrentThread.ManagedThreadId.ToString(), - LocationInfo = new LocationInfo(this.GetType().Name, "LogAppenderError", "AsyncRollingFileAppender.cs", "152"), - LoggerName = this.GetType().FullName, - Properties = new PropertiesDictionary(), - })); - } - - private void AppendLoggingEvents() - { - LoggingEvent loggingEventToAppend; - while (!shuttingDown) - { - if (logBufferOverflow) - { - LogBufferOverflowError(); - logBufferOverflow = false; - bufferOverflowCounter = 0; - lastLoggedBufferOverflow = DateTime.UtcNow; - } - - while (!pendingAppends.TryDequeue(out loggingEventToAppend)) - { - Thread.Sleep(10); - if (shuttingDown) - { - break; - } - } - if (loggingEventToAppend == null) - { - continue; - } - - try - { - base.Append(loggingEventToAppend); - } - catch - { - } - } - - while (pendingAppends.TryDequeue(out loggingEventToAppend) && !forceStop) - { - try - { - base.Append(loggingEventToAppend); - } - catch - { - } - } - hasFinished = true; - manualResetEvent.Set(); - } - - private void LogBufferOverflowError() - { - base.Append(new LoggingEvent(new LoggingEventData - { - Level = Level.Error, - Message = string.Format("Buffer overflow. {0} logging events have been lost in the last 30 seconds. [QueueSizeLimit: {1}]", bufferOverflowCounter, QueueSizeLimit), - TimeStamp = DateTime.UtcNow, - Identity = "", - ExceptionString = "", - UserName = WindowsIdentity.GetCurrent() != null ? WindowsIdentity.GetCurrent().Name : "", - Domain = AppDomain.CurrentDomain.FriendlyName, - ThreadName = Thread.CurrentThread.ManagedThreadId.ToString(), - LocationInfo = new LocationInfo(this.GetType().Name, "LogBufferOverflowError", "AsyncRollingFileAppender.cs", "152"), - LoggerName = this.GetType().FullName, - Properties = new PropertiesDictionary(), - })); - } - - private void OnBufferOverflow(object sender, EventArgs eventArgs) - { - bufferOverflowCounter++; - if (logBufferOverflow == false) - { - if (lastLoggedBufferOverflow < DateTime.UtcNow.AddSeconds(-30)) - { - logBufferOverflow = true; - } - } - } - } - -} diff --git a/src/Umbraco.Core/Migrations/Install/DatabaseDataCreator.cs b/src/Umbraco.Core/Migrations/Install/DatabaseDataCreator.cs index 7c02f7ad75..13352b0af0 100644 --- a/src/Umbraco.Core/Migrations/Install/DatabaseDataCreator.cs +++ b/src/Umbraco.Core/Migrations/Install/DatabaseDataCreator.cs @@ -288,7 +288,8 @@ namespace Umbraco.Core.Migrations.Install _database.Insert(Constants.DatabaseSchema.Tables.DataType, "pk", false, new DataTypeDto { NodeId = -42, EditorAlias = Constants.PropertyEditors.Aliases.DropDownList, DbType = "Integer" }); _database.Insert(Constants.DatabaseSchema.Tables.DataType, "pk", false, new DataTypeDto { NodeId = -43, EditorAlias = Constants.PropertyEditors.Aliases.CheckBoxList, DbType = "Nvarchar" }); _database.Insert(Constants.DatabaseSchema.Tables.DataType, "pk", false, new DataTypeDto { NodeId = 1041, EditorAlias = Constants.PropertyEditors.Aliases.Tags, DbType = "Ntext", - Configuration = "{\"group\":\"default\"}" }); + Configuration = "{\"group\":\"default\", \"storageType\":\"Json\"}" + }); _database.Insert(Constants.DatabaseSchema.Tables.DataType, "pk", false, new DataTypeDto { NodeId = 1043, EditorAlias = Constants.PropertyEditors.Aliases.ImageCropper, DbType = "Ntext" }); _database.Insert(Constants.DatabaseSchema.Tables.DataType, "pk", false, new DataTypeDto { NodeId = Constants.DataTypes.DefaultContentListView, EditorAlias = Constants.PropertyEditors.Aliases.ListView, DbType = "Nvarchar", Configuration = "{\"pageSize\":100, \"orderBy\":\"updateDate\", \"orderDirection\":\"desc\", \"layouts\":" + layouts + ", \"includeProperties\":[{\"alias\":\"updateDate\",\"header\":\"Last edited\",\"isSystem\":1},{\"alias\":\"owner\",\"header\":\"Updated by\",\"isSystem\":1}]}" }); @@ -314,6 +315,9 @@ namespace Umbraco.Core.Migrations.Install relationType = new RelationTypeDto { Id = 2, Alias = Constants.Conventions.RelationTypes.RelateParentDocumentOnDeleteAlias, ChildObjectType = Constants.ObjectTypes.Document, ParentObjectType = Constants.ObjectTypes.Document, Dual = false, Name = Constants.Conventions.RelationTypes.RelateParentDocumentOnDeleteName }; relationType.UniqueId = (relationType.Alias + "____" + relationType.Name).ToGuid(); _database.Insert(Constants.DatabaseSchema.Tables.RelationType, "id", false, relationType); + relationType = new RelationTypeDto { Id = 3, Alias = Constants.Conventions.RelationTypes.RelateParentMediaFolderOnDeleteAlias, ChildObjectType = Constants.ObjectTypes.Media, ParentObjectType = Constants.ObjectTypes.Media, Dual = false, Name = Constants.Conventions.RelationTypes.RelateParentMediaFolderOnDeleteName }; + relationType.UniqueId = (relationType.Alias + "____" + relationType.Name).ToGuid(); + _database.Insert(Constants.DatabaseSchema.Tables.RelationType, "id", false, relationType); } private void CreateTaskTypeData() diff --git a/src/Umbraco.Core/Migrations/Upgrade/UmbracoPlan.cs b/src/Umbraco.Core/Migrations/Upgrade/UmbracoPlan.cs index 5313243958..d9433167c8 100644 --- a/src/Umbraco.Core/Migrations/Upgrade/UmbracoPlan.cs +++ b/src/Umbraco.Core/Migrations/Upgrade/UmbracoPlan.cs @@ -107,13 +107,22 @@ namespace Umbraco.Core.Migrations.Upgrade Chain("{3E44F712-E2E3-473A-AE49-5D7F8E67CE3F}"); // shannon added that one - let's keep it as the default path //Chain("{65D6B71C-BDD5-4A2E-8D35-8896325E9151}"); // stephan added that one = merge conflict, remove, - Chain("{4CACE351-C6B9-4F0C-A6BA-85A02BBD39E4}"); // but it after shannon's, with a new target state, + Chain("{4CACE351-C6B9-4F0C-A6BA-85A02BBD39E4}"); // but add it after shannon's, with a new target state, Add("{65D6B71C-BDD5-4A2E-8D35-8896325E9151}", "{4CACE351-C6B9-4F0C-A6BA-85A02BBD39E4}"); // and provide a path out of the conflict state // resume at {4CACE351-C6B9-4F0C-A6BA-85A02BBD39E4} ... Chain("{1350617A-4930-4D61-852F-E3AA9E692173}"); Chain("{39E5B1F7-A50B-437E-B768-1723AEC45B65}"); // from 7.12.0 - Chain("{CF51B39B-9B9A-4740-BB7C-EAF606A7BFBF}"); + //Chain("{CF51B39B-9B9A-4740-BB7C-EAF606A7BFBF}"); // andy added that one = merge conflict, remove + Chain("{0541A62B-EF87-4CA2-8225-F0EB98ECCC9F}"); // from 7.12.0 + Chain("{EB34B5DC-BB87-4005-985E-D983EA496C38}"); // from 7.12.0 + Chain("{517CE9EA-36D7-472A-BF4B-A0D6FB1B8F89}"); // from 7.12.0 + Chain("{BBD99901-1545-40E4-8A5A-D7A675C7D2F2}"); // from 7.12.0 + + Chain("{8B14CEBD-EE47-4AAD-A841-93551D917F11}"); // add andy's after others, with a new target state + From("{CF51B39B-9B9A-4740-BB7C-EAF606A7BFBF}") // and provide a path out of andy's + .CopyChain("{39E5B1F7-A50B-437E-B768-1723AEC45B65}", "{BBD99901-1545-40E4-8A5A-D7A675C7D2F2}", "{8B14CEBD-EE47-4AAD-A841-93551D917F11}"); // to final + // resume at {8B14CEBD-EE47-4AAD-A841-93551D917F11} ... //FINAL @@ -128,13 +137,13 @@ namespace Umbraco.Core.Migrations.Upgrade From("{init-7.11.0}").Chain("{init-7.10.0}"); // same as 7.10.0 From("{init-7.11.1}").Chain("{init-7.10.0}"); // same as 7.10.0 - // 7.12.0 has a migration, define a custom chain which copies the chain - // going from {init-7.10.0} to former final, and then goes straight to - // main chain, skipping the migration + // 7.12.0 has migrations, define a custom chain which copies the chain + // going from {init-7.10.0} to former final (1350617A) , and then goes straight to + // main chain, skipping the migrations // From("{init-7.12.0}"); // copy from copy to (former final) main chain - CopyChain("{init-7.10.0}", "{1350617A-4930-4D61-852F-E3AA9E692173}", "{39E5B1F7-A50B-437E-B768-1723AEC45B65}"); + CopyChain("{init-7.10.0}", "{1350617A-4930-4D61-852F-E3AA9E692173}", "{BBD99901-1545-40E4-8A5A-D7A675C7D2F2}"); } } } diff --git a/src/Umbraco.Core/Migrations/Upgrade/V_7_12_0/AddRelationTypeForMediaFolderOnDelete.cs b/src/Umbraco.Core/Migrations/Upgrade/V_7_12_0/AddRelationTypeForMediaFolderOnDelete.cs new file mode 100644 index 0000000000..baf4a9234e --- /dev/null +++ b/src/Umbraco.Core/Migrations/Upgrade/V_7_12_0/AddRelationTypeForMediaFolderOnDelete.cs @@ -0,0 +1,30 @@ +using System; +using Umbraco.Core.Persistence.Dtos; + +namespace Umbraco.Core.Migrations.Upgrade.V_7_12_0 +{ + public class AddRelationTypeForMediaFolderOnDelete : MigrationBase + { + + public AddRelationTypeForMediaFolderOnDelete(IMigrationContext context) : base(context) + { + } + + public override void Migrate() + { + var exists = Context.Database.FirstOrDefault("WHERE alias=@alias", new { alias = Constants.Conventions.RelationTypes.RelateParentMediaFolderOnDeleteAlias }); + if (exists == null) + { + Insert.IntoTable(Constants.DatabaseSchema.Tables.RelationType).Row(new + { + alias = Constants.Conventions.RelationTypes.RelateParentMediaFolderOnDeleteAlias, + name = Constants.Conventions.RelationTypes.RelateParentMediaFolderOnDeleteName, + childObjectType = Constants.ObjectTypes.MediaType, + parentObjectType = Constants.ObjectTypes.MediaType, + dual = false + }).Do(); + } + } + + } +} diff --git a/src/Umbraco.Core/Migrations/Upgrade/V_7_12_0/IncreaseLanguageIsoCodeColumnLength.cs b/src/Umbraco.Core/Migrations/Upgrade/V_7_12_0/IncreaseLanguageIsoCodeColumnLength.cs new file mode 100644 index 0000000000..400fc0bcdd --- /dev/null +++ b/src/Umbraco.Core/Migrations/Upgrade/V_7_12_0/IncreaseLanguageIsoCodeColumnLength.cs @@ -0,0 +1,26 @@ +namespace Umbraco.Core.Migrations.Upgrade.V_7_12_0 +{ + public class IncreaseLanguageIsoCodeColumnLength : MigrationBase + { + public IncreaseLanguageIsoCodeColumnLength(IMigrationContext context) + : base(context) + { } + + public override void Migrate() + { + Delete.Index("IX_umbracoLanguage_languageISOCode").OnTable("umbracoLanguage").Do(); + + Alter.Table("umbracoLanguage") + .AlterColumn("languageISOCode") + .AsString(14) + .Nullable() + .Do(); + + Create.Index("IX_umbracoLanguage_languageISOCode") + .OnTable("umbracoLanguage") + .OnColumn("languageISOCode") + .Unique() + .Do(); + } + } +} diff --git a/src/Umbraco.Core/Migrations/Upgrade/V_7_12_0/RenameTrueFalseField.cs b/src/Umbraco.Core/Migrations/Upgrade/V_7_12_0/RenameTrueFalseField.cs new file mode 100644 index 0000000000..4022739ece --- /dev/null +++ b/src/Umbraco.Core/Migrations/Upgrade/V_7_12_0/RenameTrueFalseField.cs @@ -0,0 +1,19 @@ +using Umbraco.Core.Logging; +using Umbraco.Core.Persistence.Dtos; +using Umbraco.Core.Persistence.SqlSyntax; + +namespace Umbraco.Core.Migrations.Upgrade.V_7_12_0 +{ + public class RenameTrueFalseField : MigrationBase + { + public RenameTrueFalseField(IMigrationContext context) : base(context) + { + } + + public override void Migrate() + { + //rename the existing true/false field + Update.Table(NodeDto.TableName).Set(new { text = "Checkbox" }).Where(new { id = Constants.DataTypes.Boolean }).Do(); + } + } +} diff --git a/src/Umbraco.Core/Migrations/Upgrade/V_7_12_0/SetDefaultTagsStorageType.cs b/src/Umbraco.Core/Migrations/Upgrade/V_7_12_0/SetDefaultTagsStorageType.cs new file mode 100644 index 0000000000..08598f1779 --- /dev/null +++ b/src/Umbraco.Core/Migrations/Upgrade/V_7_12_0/SetDefaultTagsStorageType.cs @@ -0,0 +1,47 @@ +using System; +using System.Linq; +using Newtonsoft.Json; +using Newtonsoft.Json.Linq; +using Umbraco.Core.Logging; +using Umbraco.Core.Persistence.Dtos; +using Umbraco.Core.Persistence.SqlSyntax; + +namespace Umbraco.Core.Migrations.Upgrade.V_7_12_0 +{ + /// + /// Set the default storageType for the tags datatype to "CSV" to ensure backwards compatibilty since the default is going to be JSON in new versions + /// + public class SetDefaultTagsStorageType : MigrationBase + { + public SetDefaultTagsStorageType(IMigrationContext context) : base(context) + { + } + + public override void Migrate() + { + if (Context?.Database == null) return; + + // We need to get all datatypes with an alias of "umbraco.tags" so we can loop over them and set the missing values if needed + var datatypes = Context.Database.Fetch("SELECT * FROM cmsDataType"); + var tagsDataTypes = datatypes.Where(x => string.Equals(x.EditorAlias, Constants.PropertyEditors.Aliases.Tags, StringComparison.InvariantCultureIgnoreCase)); + + foreach (var datatype in tagsDataTypes) + { + var dataTypePreValues = JsonConvert.DeserializeObject(datatype.Configuration); + + // We need to check if the node has a "storageType" set + if (!dataTypePreValues.ContainsKey("storageType")) + { + dataTypePreValues["storageType"] = "Csv"; + } + + Update.Table(Constants.DatabaseSchema.Tables.DataType) + .Set(new { config = JsonConvert.SerializeObject(dataTypePreValues) }) + .Where(new { nodeId = datatype.NodeId }) + .Do(); + } + } + + + } +} diff --git a/src/Umbraco.Core/Migrations/Upgrade/V_7_12_0/UpdateUmbracoConsent.cs b/src/Umbraco.Core/Migrations/Upgrade/V_7_12_0/UpdateUmbracoConsent.cs index d8c6e145b1..942d32f83d 100644 --- a/src/Umbraco.Core/Migrations/Upgrade/V_7_12_0/UpdateUmbracoConsent.cs +++ b/src/Umbraco.Core/Migrations/Upgrade/V_7_12_0/UpdateUmbracoConsent.cs @@ -10,6 +10,6 @@ namespace Umbraco.Core.Migrations.Upgrade.V_7_12_0 : base(context) { } - public override void Migrate() { Alter.Table("umbracoConsent").AlterColumn("comment").AsString().Nullable(); } + public override void Migrate() { Alter.Table("umbracoConsent").AlterColumn("comment").AsString().Nullable().Do(); } } } diff --git a/src/Umbraco.Core/Models/ContentType.cs b/src/Umbraco.Core/Models/ContentType.cs index 196c68b23c..ff647dc189 100644 --- a/src/Umbraco.Core/Models/ContentType.cs +++ b/src/Umbraco.Core/Models/ContentType.cs @@ -136,15 +136,5 @@ namespace Umbraco.Core.Models return result; } - - /// - /// Creates a deep clone of the current entity with its identity/alias and it's property identities reset - /// - /// - [Obsolete("Use DeepCloneWithResetIdentities instead")] - public IContentType Clone(string alias) - { - return DeepCloneWithResetIdentities(alias); - } } } diff --git a/src/Umbraco.Core/Models/Packaging/PackageAction.cs b/src/Umbraco.Core/Models/Packaging/PackageAction.cs index dd9a4fd1a5..e941c5729a 100644 --- a/src/Umbraco.Core/Models/Packaging/PackageAction.cs +++ b/src/Umbraco.Core/Models/Packaging/PackageAction.cs @@ -27,7 +27,7 @@ namespace Umbraco.Core.Models.Packaging set => _runAt = value; } - public bool Undo //NOTE: Should thid default to "False"? but the documentation says default "True" (http://our.umbraco.org/wiki/reference/packaging/package-actions) + public bool Undo { get => _undo ?? true; set => _undo = value; diff --git a/src/Umbraco.Core/Models/PropertyTagsExtensions.cs b/src/Umbraco.Core/Models/PropertyTagsExtensions.cs index 3121da85bd..b0e0d0bd9c 100644 --- a/src/Umbraco.Core/Models/PropertyTagsExtensions.cs +++ b/src/Umbraco.Core/Models/PropertyTagsExtensions.cs @@ -156,8 +156,16 @@ namespace Umbraco.Core.Models return value.Split(new[] { delimiter }, StringSplitOptions.RemoveEmptyEntries).Select(x => x.Trim()); case TagsStorageType.Json: - //fixme doesn't take into account variants - return JsonConvert.DeserializeObject(property.GetValue().ToString()).Select(x => x.ToString().Trim()); + try + { + //fixme doesn't take into account variants + return JsonConvert.DeserializeObject(value).Select(x => x.ToString().Trim()); + } + catch (JsonException) + { + //cannot parse, malformed + return Enumerable.Empty(); + } default: throw new NotSupportedException($"Value \"{storageType}\" is not a valid TagsStorageType."); diff --git a/src/Umbraco.Core/Persistence/Dtos/LanguageDto.cs b/src/Umbraco.Core/Persistence/Dtos/LanguageDto.cs index 35cb9c5717..5f3247bc49 100644 --- a/src/Umbraco.Core/Persistence/Dtos/LanguageDto.cs +++ b/src/Umbraco.Core/Persistence/Dtos/LanguageDto.cs @@ -23,7 +23,7 @@ namespace Umbraco.Core.Persistence.Dtos [Column("languageISOCode")] [Index(IndexTypes.UniqueNonClustered)] [NullSetting(NullSetting = NullSettings.Null)] - [Length(10)] + [Length(14)] public string IsoCode { get; set; } /// diff --git a/src/Umbraco.Core/Persistence/Dtos/RelationTypeDto.cs b/src/Umbraco.Core/Persistence/Dtos/RelationTypeDto.cs index 5ce408fc44..e972192844 100644 --- a/src/Umbraco.Core/Persistence/Dtos/RelationTypeDto.cs +++ b/src/Umbraco.Core/Persistence/Dtos/RelationTypeDto.cs @@ -9,7 +9,7 @@ namespace Umbraco.Core.Persistence.Dtos [ExplicitColumns] internal class RelationTypeDto { - public const int NodeIdSeed = 3; + public const int NodeIdSeed = 4; [Column("id")] [PrimaryKeyColumn(IdentitySeed = NodeIdSeed)] diff --git a/src/Umbraco.Core/Persistence/Repositories/Implement/MemberGroupRepository.cs b/src/Umbraco.Core/Persistence/Repositories/Implement/MemberGroupRepository.cs index 2ba2d5a956..e6783eaf6d 100644 --- a/src/Umbraco.Core/Persistence/Repositories/Implement/MemberGroupRepository.cs +++ b/src/Umbraco.Core/Persistence/Repositories/Implement/MemberGroupRepository.cs @@ -224,7 +224,7 @@ namespace Umbraco.Core.Persistence.Repositories.Implement .Where(dto => dto.NodeObjectType == NodeObjectTypeId) .Where("umbracoNode." + SqlSyntax.GetQuotedColumnName("text") + " in (@names)", new { names = roleNames }); var existingRoles = Database.Fetch(existingSql).Select(x => x.Text); - var missingRoles = roleNames.Except(existingRoles); + var missingRoles = roleNames.Except(existingRoles, StringComparer.CurrentCultureIgnoreCase); var missingGroups = missingRoles.Select(x => new MemberGroup {Name = x}).ToArray(); if (AmbientScope.Events.DispatchCancelable(SavingMemberGroup, this, new SaveEventArgs(missingGroups))) @@ -258,8 +258,8 @@ namespace Umbraco.Core.Persistence.Repositories.Implement //exist in the roleNames list, then determine which ones are not currently assigned. var mId = memberId; var found = currentlyAssigned.Where(x => x.MemberId == mId).ToArray(); - var assignedRoles = found.Where(x => roleNames.Contains(x.RoleName)).Select(x => x.RoleName); - var nonAssignedRoles = roleNames.Except(assignedRoles); + var assignedRoles = found.Where(x => roleNames.Contains(x.RoleName, StringComparer.CurrentCultureIgnoreCase)).Select(x => x.RoleName); + var nonAssignedRoles = roleNames.Except(assignedRoles, StringComparer.CurrentCultureIgnoreCase); foreach (var toAssign in nonAssignedRoles) { var groupId = rolesForNames.First(x => x.Text == toAssign).NodeId; diff --git a/src/Umbraco.Core/PropertyEditors/TagConfiguration.cs b/src/Umbraco.Core/PropertyEditors/TagConfiguration.cs index 4a0eeebc9b..28e2a2e3c8 100644 --- a/src/Umbraco.Core/PropertyEditors/TagConfiguration.cs +++ b/src/Umbraco.Core/PropertyEditors/TagConfiguration.cs @@ -12,8 +12,8 @@ namespace Umbraco.Core.PropertyEditors public string Group { get; set; } = "default"; [ConfigurationField("storageType", "Storage Type", "views/propertyeditors/tags/tags.prevalues.html", - Description = "Select whether to store the tags in cache as CSV (default) or as JSON. The only benefits of storage as JSON is that you are able to have commas in a tag value")] - public TagsStorageType StorageType { get; set; } = TagsStorageType.Csv; + Description = "Select whether to store the tags in cache as JSON (default) or as CSV. The only benefits of storage as JSON is that you are able to have commas in a tag value")] + public TagsStorageType StorageType { get; set; } = TagsStorageType.Json; // not a field public char Delimiter { get; set; } diff --git a/src/Umbraco.Core/PropertyEditors/TagsPropertyEditorAttribute.cs b/src/Umbraco.Core/PropertyEditors/TagsPropertyEditorAttribute.cs index a9bfd3e4ca..b3456dde84 100644 --- a/src/Umbraco.Core/PropertyEditors/TagsPropertyEditorAttribute.cs +++ b/src/Umbraco.Core/PropertyEditors/TagsPropertyEditorAttribute.cs @@ -26,7 +26,7 @@ namespace Umbraco.Core.PropertyEditors Delimiter = ','; ReplaceTags = true; TagGroup = "default"; - StorageType = TagsStorageType.Csv; + StorageType = TagsStorageType.Json; } /// diff --git a/src/Umbraco.Core/PropertyEditors/ValueConverters/MultipleTextStringValueConverter.cs b/src/Umbraco.Core/PropertyEditors/ValueConverters/MultipleTextStringValueConverter.cs index 2b5311da11..1d5f0b1ca3 100644 --- a/src/Umbraco.Core/PropertyEditors/ValueConverters/MultipleTextStringValueConverter.cs +++ b/src/Umbraco.Core/PropertyEditors/ValueConverters/MultipleTextStringValueConverter.cs @@ -40,7 +40,7 @@ namespace Umbraco.Core.PropertyEditors.ValueConverters // splitting by newline // // RS: SD/Stephan Please consider post before deciding to remove - //// https://our.umbraco.org/forum/contributing-to-umbraco-cms/76989-keep-the-xml-values-in-the-multipletextstringvalueconverter + //// https://our.umbraco.com/forum/contributing-to-umbraco-cms/76989-keep-the-xml-values-in-the-multipletextstringvalueconverter var values = new List(); var pos = sourceString.IndexOf("", StringComparison.Ordinal); while (pos >= 0) diff --git a/src/Umbraco.Core/PropertyEditors/ValueListConfiguration.cs b/src/Umbraco.Core/PropertyEditors/ValueListConfiguration.cs index 23ea4547df..c5b8b723bd 100644 --- a/src/Umbraco.Core/PropertyEditors/ValueListConfiguration.cs +++ b/src/Umbraco.Core/PropertyEditors/ValueListConfiguration.cs @@ -8,7 +8,7 @@ namespace Umbraco.Core.PropertyEditors /// public class ValueListConfiguration { - [ConfigurationField("items", "Configure", "multivalues", Description = "Add and remove values for the list.")] + [ConfigurationField("items", "Configure", "multivalues", Description = "Add, remove or sort values for the list.")] public List Items { get; set; } = new List(); public class ValueListItem diff --git a/src/Umbraco.Core/Services/IFileService.cs b/src/Umbraco.Core/Services/IFileService.cs index a61faa10c7..76e850beb2 100644 --- a/src/Umbraco.Core/Services/IFileService.cs +++ b/src/Umbraco.Core/Services/IFileService.cs @@ -169,21 +169,6 @@ namespace Umbraco.Core.Services /// IEnumerable GetTemplateChildren(int masterTemplateId); - /// - /// Returns a template as a template node which can be traversed (parent, children) - /// - /// - /// - TemplateNode GetTemplateNode(string alias); - - /// - /// Given a template node in a tree, this will find the template node with the given alias if it is found in the hierarchy, otherwise null - /// - /// - /// - /// - TemplateNode FindTemplateInTree(TemplateNode anyNode, string alias); - /// /// Saves a /// diff --git a/src/Umbraco.Core/Services/Implement/FileService.cs b/src/Umbraco.Core/Services/Implement/FileService.cs index 4b95a0c1c3..c3a8b790cc 100644 --- a/src/Umbraco.Core/Services/Implement/FileService.cs +++ b/src/Umbraco.Core/Services/Implement/FileService.cs @@ -344,7 +344,7 @@ namespace Umbraco.Core.Services.Implement // check that the template hasn't been created on disk before creating the content type // if it exists, set the new template content to the existing file content string content = GetViewContent(contentTypeAlias); - if (content.IsNullOrWhiteSpace() == false) + if (content != null) { template.Content = content; } @@ -369,26 +369,29 @@ namespace Umbraco.Core.Services.Implement return OperationResult.Attempt.Succeed(OperationResultType.Success, evtMsgs, template); } + /// + /// Create a new template, setting the content if a view exists in the filesystem + /// + /// + /// + /// + /// + /// public ITemplate CreateTemplateWithIdentity(string name, string content, ITemplate masterTemplate = null, int userId = 0) { + // file might already be on disk, if so grab the content to avoid overwriting var template = new Template(name, name) { - Content = content + Content = GetViewContent(name) ?? content }; - - // check that the template hasn't been created on disk before creating the content type - // if it exists, set the new template content to the existing file content - string existingContent = GetViewContent(template.Alias); - if (existingContent.IsNullOrWhiteSpace() == false) - { - template.Content = content; - } - + if (masterTemplate != null) { template.SetMasterTemplate(masterTemplate); } + SaveTemplate(template, userId); + return template; } @@ -503,37 +506,6 @@ namespace Umbraco.Core.Services.Implement } } - /// - /// Returns a template as a template node which can be traversed (parent, children) - /// - /// - /// - [Obsolete("Use GetDescendants instead")] - [EditorBrowsable(EditorBrowsableState.Never)] - public TemplateNode GetTemplateNode(string alias) - { - using (var scope = ScopeProvider.CreateScope(autoComplete: true)) - { - return _templateRepository.GetTemplateNode(alias); - } - } - - /// - /// Given a template node in a tree, this will find the template node with the given alias if it is found in the hierarchy, otherwise null - /// - /// - /// - /// - [Obsolete("Use GetDescendants instead")] - [EditorBrowsable(EditorBrowsableState.Never)] - public TemplateNode FindTemplateInTree(TemplateNode anyNode, string alias) - { - using (var scope = ScopeProvider.CreateScope(autoComplete: true)) - { - return _templateRepository.FindTemplateInTree(anyNode, alias); - } - } - /// /// Saves a /// @@ -681,11 +653,11 @@ namespace Umbraco.Core.Services.Implement if (fileName.IsNullOrWhiteSpace()) throw new ArgumentNullException(nameof(fileName)); - if (!fileName.EndsWith(".cshtml")) - fileName = string.Concat(fileName, ".cshtml"); + if (!fileName.EndsWith(".cshtml")) + fileName = $"{fileName}.cshtml"; var fs = _templateRepository.GetFileContentStream(fileName); - if (fs == null) return string.Empty; + if (fs == null) return null; using (var view = new StreamReader(fs)) { return view.ReadToEnd().Trim(); diff --git a/src/Umbraco.Core/Strategies/RelateOnTrashComponent.cs b/src/Umbraco.Core/Strategies/RelateOnTrashComponent.cs index b6e34d7ac6..15f0a67a82 100644 --- a/src/Umbraco.Core/Strategies/RelateOnTrashComponent.cs +++ b/src/Umbraco.Core/Strategies/RelateOnTrashComponent.cs @@ -16,6 +16,8 @@ namespace Umbraco.Core.Strategies { ContentService.Moved += ContentService_Moved; ContentService.Trashed += ContentService_Trashed; + MediaService.Moved += MediaService_Moved; + MediaService.Trashed += MediaService_Trashed; } private static void ContentService_Moved(IContentService sender, MoveEventArgs e) @@ -33,10 +35,25 @@ namespace Umbraco.Core.Strategies } } + private static void MediaService_Moved(IMediaService sender, MoveEventArgs e) + { + foreach (var item in e.MoveInfoCollection.Where(x => x.OriginalPath.Contains(Constants.System.RecycleBinMedia.ToInvariantString()))) + { + var relationService = Current.Services.RelationService; + const string relationTypeAlias = Constants.Conventions.RelationTypes.RelateParentMediaFolderOnDeleteAlias; + var relations = relationService.GetByChildId(item.Entity.Id); + foreach (var relation in relations.Where(x => x.RelationType.Alias.InvariantEquals(relationTypeAlias))) + { + relationService.Delete(relation); + } + } + } + private static void ContentService_Trashed(IContentService sender, MoveEventArgs e) { var relationService = Current.Services.RelationService; var entityService = Current.Services.EntityService; + var textService = Current.Services.TextService; const string relationTypeAlias = Constants.Conventions.RelationTypes.RelateParentDocumentOnDeleteAlias; var relationType = relationService.GetRelationTypeByAlias(relationTypeAlias); @@ -67,11 +84,51 @@ namespace Umbraco.Core.Strategies relationService.Save(relation); Current.Services.AuditService.Add(AuditType.Delete, - $"Trashed content with Id: '{item.Entity.Id}' related to original parent content with Id: '{originalParentId}'", + string.Format(textService.Localize( + "recycleBin/contentTrashed"), + item.Entity.Id, originalParentId), item.Entity.WriterId, item.Entity.Id); } } } + + private static void MediaService_Trashed(IMediaService sender, MoveEventArgs e) + { + var relationService = Current.Services.RelationService; + var entityService = Current.Services.EntityService; + var textService = Current.Services.TextService; + const string relationTypeAlias = Constants.Conventions.RelationTypes.RelateParentMediaFolderOnDeleteAlias; + var relationType = relationService.GetRelationTypeByAlias(relationTypeAlias); + // check that the relation-type exists, if not, then recreate it + if (relationType == null) + { + var documentObjectType = Constants.ObjectTypes.Document; + const string relationTypeName = Constants.Conventions.RelationTypes.RelateParentMediaFolderOnDeleteName; + relationType = new RelationType(documentObjectType, documentObjectType, relationTypeAlias, relationTypeName); + relationService.Save(relationType); + } + foreach (var item in e.MoveInfoCollection) + { + var originalPath = item.OriginalPath.ToDelimitedList(); + var originalParentId = originalPath.Count > 2 + ? int.Parse(originalPath[originalPath.Count - 2]) + : Constants.System.Root; + //before we can create this relation, we need to ensure that the original parent still exists which + //may not be the case if the encompassing transaction also deleted it when this item was moved to the bin + if (entityService.Exists(originalParentId)) + { + // Add a relation for the item being deleted, so that we can know the original parent for if we need to restore later + var relation = new Relation(originalParentId, item.Entity.Id, relationType); + relationService.Save(relation); + Current.Services.AuditService.Add(AuditType.Delete, + string.Format(textService.Localize( + "recycleBin/mediaTrashed"), + item.Entity.Id, originalParentId), + item.Entity.CreatorId, + item.Entity.Id); + } + } + } } } diff --git a/src/Umbraco.Core/Strings/DefaultShortStringHelper.cs b/src/Umbraco.Core/Strings/DefaultShortStringHelper.cs index 2e2ec8094a..84ab0de585 100644 --- a/src/Umbraco.Core/Strings/DefaultShortStringHelper.cs +++ b/src/Umbraco.Core/Strings/DefaultShortStringHelper.cs @@ -61,57 +61,6 @@ namespace Umbraco.Core.Strings #endregion - #region JavaScript - - private const string SssjsFormat = @" -var UMBRACO_FORCE_SAFE_ALIAS = {0}; -var UMBRACO_FORCE_SAFE_ALIAS_URL = '{1}'; -var UMBRACO_FORCE_SAFE_ALIAS_TIMEOUT = 666; -var UMBRACO_FORCE_SAFE_ALIAS_TMKEY = 'safe-alias-tmout'; - -function getSafeAliasFromServer(value, callback) {{ - $.getJSON(UMBRACO_FORCE_SAFE_ALIAS_URL + 'ToSafeAlias?value=' + encodeURIComponent(value), function(json) {{ - if (json.alias) {{ callback(json.alias); }} - }}); -}} - -function getSafeAlias(input, value, immediate, callback) {{ - if (!UMBRACO_FORCE_SAFE_ALIAS) {{ - callback(value); - return; - }} - var timeout = input.data(UMBRACO_FORCE_SAFE_ALIAS_TMKEY); - if (timeout) clearTimeout(timeout); - input.data(UMBRACO_FORCE_SAFE_ALIAS_TMKEY, setTimeout(function() {{ - input.removeData(UMBRACO_FORCE_SAFE_ALIAS_TMKEY); - getSafeAliasFromServer(value, function(alias) {{ callback(alias); }}); - }}, UMBRACO_FORCE_SAFE_ALIAS_TIMEOUT)); -}} - -function validateSafeAlias(input, value, immediate, callback) {{ - if (!UMBRACO_FORCE_SAFE_ALIAS) {{ - callback(true); - return; - }} - var timeout = input.data(UMBRACO_FORCE_SAFE_ALIAS_TMKEY); - if (timeout) clearTimeout(timeout); - input.data(UMBRACO_FORCE_SAFE_ALIAS_TMKEY, setTimeout(function() {{ - input.removeData(UMBRACO_FORCE_SAFE_ALIAS_TMKEY); - getSafeAliasFromServer(value, function(alias) {{ callback(value.toLowerCase() == alias.toLowerCase()); }}); - }}, UMBRACO_FORCE_SAFE_ALIAS_TIMEOUT)); -}} -"; - - /// - /// Gets the JavaScript code defining client-side short string services. - /// - public string GetShortStringServicesJavaScript(string controllerPath) - { - return string.Format(SssjsFormat, _config.ForceSafeAliases ? "true" : "false", controllerPath); - } - - #endregion - #region IShortStringHelper CleanFor... /// diff --git a/src/Umbraco.Core/Strings/IShortStringHelper.cs b/src/Umbraco.Core/Strings/IShortStringHelper.cs index fe5ebe0bf8..085b5adb7a 100644 --- a/src/Umbraco.Core/Strings/IShortStringHelper.cs +++ b/src/Umbraco.Core/Strings/IShortStringHelper.cs @@ -6,11 +6,6 @@ /// Not necessarily optimized to work on large bodies of text. public interface IShortStringHelper { - /// - /// Gets the JavaScript code defining client-side short string services. - /// - string GetShortStringServicesJavaScript(string controllerPath); - /// /// Cleans a string to produce a string that can safely be used in an alias. /// diff --git a/src/Umbraco.Core/Sync/ApplicationUrlHelper.cs b/src/Umbraco.Core/Sync/ApplicationUrlHelper.cs index 4628271625..7abb8b6f9d 100644 --- a/src/Umbraco.Core/Sync/ApplicationUrlHelper.cs +++ b/src/Umbraco.Core/Sync/ApplicationUrlHelper.cs @@ -107,7 +107,7 @@ namespace Umbraco.Core.Sync // otherwise, // if non-standard ports used, // user may need to set umbracoApplicationUrl manually per - // http://our.umbraco.org/documentation/Using-Umbraco/Config-files/umbracoSettings/#ScheduledTasks + // https://our.umbraco.com/documentation/Using-Umbraco/Config-files/umbracoSettings/#ScheduledTasks var port = (request.IsSecureConnection == false && globalSettings.UseHttps == false) || (request.IsSecureConnection && globalSettings.UseHttps) ? ":" + request.ServerVariables["SERVER_PORT"] diff --git a/src/Umbraco.Core/Umbraco.Core.csproj b/src/Umbraco.Core/Umbraco.Core.csproj index 9ad9b9e2c5..6b875007ac 100644 --- a/src/Umbraco.Core/Umbraco.Core.csproj +++ b/src/Umbraco.Core/Umbraco.Core.csproj @@ -314,6 +314,10 @@ + + + + @@ -545,7 +549,6 @@ - diff --git a/src/Umbraco.Tests/App.config b/src/Umbraco.Tests/App.config index 2651bc2222..24c1445f01 100644 --- a/src/Umbraco.Tests/App.config +++ b/src/Umbraco.Tests/App.config @@ -55,7 +55,7 @@ - + diff --git a/src/Umbraco.Tests/Composing/TypeLoaderTests.cs b/src/Umbraco.Tests/Composing/TypeLoaderTests.cs index 46f024429e..09411f6d20 100644 --- a/src/Umbraco.Tests/Composing/TypeLoaderTests.cs +++ b/src/Umbraco.Tests/Composing/TypeLoaderTests.cs @@ -279,7 +279,7 @@ AnotherContentFinder public void Resolves_Trees() { var trees = _typeLoader.GetTrees(); - Assert.AreEqual(4, trees.Count()); + Assert.AreEqual(3, trees.Count()); } [Test] @@ -288,7 +288,7 @@ AnotherContentFinder var types = _typeLoader.GetDataEditors(); Assert.AreEqual(43, types.Count()); } - + /// /// This demonstrates this issue: http://issues.umbraco.org/issue/U4-3505 - the TypeList was returning a list of assignable types /// not explicit types which is sort of ideal but is confusing so we'll do it the less confusing way. diff --git a/src/Umbraco.Tests/Configurations/UmbracoSettings/umbracoSettings.minimal.config b/src/Umbraco.Tests/Configurations/UmbracoSettings/umbracoSettings.minimal.config index fe1e99e294..21dfa1f19e 100644 --- a/src/Umbraco.Tests/Configurations/UmbracoSettings/umbracoSettings.minimal.config +++ b/src/Umbraco.Tests/Configurations/UmbracoSettings/umbracoSettings.minimal.config @@ -3,27 +3,27 @@ - + - + - + - + 1 - + robot@umbraco.dk @@ -31,27 +31,27 @@ - - - + Mvc - + - + - + - + diff --git a/src/Umbraco.Tests/Migrations/SqlScripts/MySqlTotal-480.sql b/src/Umbraco.Tests/Migrations/SqlScripts/MySqlTotal-480.sql index 7cd05ec6b2..0967f116b0 100644 --- a/src/Umbraco.Tests/Migrations/SqlScripts/MySqlTotal-480.sql +++ b/src/Umbraco.Tests/Migrations/SqlScripts/MySqlTotal-480.sql @@ -550,7 +550,6 @@ INSERT INTO umbracoAppTree (appAlias, treeAlias, treeSilent, treeInitialize, tre ('developer', 'macros', 0, 1, 2, 'Macros', 'folder.gif', 'folder_o.gif', 'umbraco', 'loadMacros'), ('developer', 'xslt', 0, 1, 5, 'XSLT Files', 'folder.gif', 'folder_o.gif', 'umbraco', 'loadXslt'), - ('developer', 'packager', 0, 1, 3, 'Packages', 'folder.gif', 'folder_o.gif', 'umbraco', 'loadPackager'), ('developer', 'packagerPackages', 0, 0, 1, 'Packager Packages', 'folder.gif', 'folder_o.gif', 'umbraco', 'loadPackages'), ('media', 'media', 0, 1, 0, 'Medier', 'folder.gif', 'folder_o.gif', 'umbraco', 'loadMedia'), diff --git a/src/Umbraco.Tests/Migrations/SqlScripts/SqlCe-SchemaAndData-4110.sql b/src/Umbraco.Tests/Migrations/SqlScripts/SqlCe-SchemaAndData-4110.sql index ee157be2a7..4aeb066f54 100644 Binary files a/src/Umbraco.Tests/Migrations/SqlScripts/SqlCe-SchemaAndData-4110.sql and b/src/Umbraco.Tests/Migrations/SqlScripts/SqlCe-SchemaAndData-4110.sql differ diff --git a/src/Umbraco.Tests/Migrations/SqlScripts/SqlServerTotal-480.sql b/src/Umbraco.Tests/Migrations/SqlScripts/SqlServerTotal-480.sql index 3fb0914852..e69d87f759 100644 --- a/src/Umbraco.Tests/Migrations/SqlScripts/SqlServerTotal-480.sql +++ b/src/Umbraco.Tests/Migrations/SqlScripts/SqlServerTotal-480.sql @@ -879,8 +879,7 @@ values (4,1041,'default', 0, 'group') SET IDENTITY_INSERT [cmsDataTypePreValues] OFF ; /* 3.1 SQL changes */ -INSERT INTO [umbracoAppTree] ([appAlias], [treeAlias], [treeSilent], [treeInitialize], [treeSortOrder], [treeTitle], [treeIconClosed], [treeIconOpen], [treeHandlerAssembly], [treeHandlerType]) VALUES (N'developer', N'packager', 0, 1, 3, N'Packages', N'folder.gif', N'folder_o.gif', N'umbraco', N'loadPackager') -; + INSERT INTO [umbracoAppTree] ([appAlias], [treeAlias], [treeSilent], [treeInitialize], [treeSortOrder], [treeTitle], [treeIconClosed], [treeIconOpen], [treeHandlerAssembly], [treeHandlerType]) VALUES (N'developer', N'packagerPackages', 0, 0, 1, N'Packager Packages', N'folder.gif', N'folder_o.gif', N'umbraco', N'loadPackages'); @@ -1669,4 +1668,4 @@ ALTER TABLE cmsMember2MemberGroup ADD CONSTRAINT END OF NEW CONSTRAINTS -***********************************************************************************************************************/ \ No newline at end of file +***********************************************************************************************************************/ diff --git a/src/Umbraco.Tests/Models/ContentTypeTests.cs b/src/Umbraco.Tests/Models/ContentTypeTests.cs index c63853940f..a0e9a370da 100644 --- a/src/Umbraco.Tests/Models/ContentTypeTests.cs +++ b/src/Umbraco.Tests/Models/ContentTypeTests.cs @@ -72,7 +72,7 @@ namespace Umbraco.Tests.Models //ensure that nothing is marked as dirty contentType.ResetDirtyProperties(false); - var clone = (ContentType)contentType.Clone("newAlias"); + var clone = (ContentType)contentType.DeepCloneWithResetIdentities("newAlias"); Assert.AreEqual("newAlias", clone.Alias); Assert.AreNotEqual("newAlias", contentType.Alias); diff --git a/src/Umbraco.Tests/Packaging/PackageExtractionTests.cs b/src/Umbraco.Tests/Packaging/PackageExtractionTests.cs index 118d57ab2a..5416162ed2 100644 --- a/src/Umbraco.Tests/Packaging/PackageExtractionTests.cs +++ b/src/Umbraco.Tests/Packaging/PackageExtractionTests.cs @@ -2,6 +2,7 @@ using System.IO; using System.Linq; using NUnit.Framework; +using Umbraco.Core.IO; using Umbraco.Core.Packaging; namespace Umbraco.Tests.Packaging @@ -14,7 +15,7 @@ namespace Umbraco.Tests.Packaging private static string GetTestPackagePath(string packageName) { const string testPackagesDirName = "Packaging\\Packages"; - string path = Path.Combine(Core.Configuration.GlobalSettings.FullPathToRoot, testPackagesDirName, packageName); + string path = Path.Combine(IOHelper.GetRootDirectorySafe(), testPackagesDirName, packageName); return path; } diff --git a/src/Umbraco.Tests/Persistence/Repositories/RelationTypeRepositoryTest.cs b/src/Umbraco.Tests/Persistence/Repositories/RelationTypeRepositoryTest.cs index 1925f3cb03..ce59f17ea1 100644 --- a/src/Umbraco.Tests/Persistence/Repositories/RelationTypeRepositoryTest.cs +++ b/src/Umbraco.Tests/Persistence/Repositories/RelationTypeRepositoryTest.cs @@ -135,7 +135,7 @@ namespace Umbraco.Tests.Persistence.Repositories Assert.That(relationTypes, Is.Not.Null); Assert.That(relationTypes.Any(), Is.True); Assert.That(relationTypes.Any(x => x == null), Is.False); - Assert.That(relationTypes.Count(), Is.EqualTo(4)); + Assert.That(relationTypes.Count(), Is.EqualTo(5)); } } @@ -170,7 +170,7 @@ namespace Umbraco.Tests.Persistence.Repositories // Act var exists = repository.Exists(3); - var doesntExist = repository.Exists(5); + var doesntExist = repository.Exists(6); // Assert Assert.That(exists, Is.True); @@ -192,7 +192,7 @@ namespace Umbraco.Tests.Persistence.Repositories int count = repository.Count(query); // Assert - Assert.That(count, Is.EqualTo(4)); + Assert.That(count, Is.EqualTo(5)); } } diff --git a/src/Umbraco.Tests/PropertyEditors/MultiValuePropertyEditorTests.cs b/src/Umbraco.Tests/PropertyEditors/MultiValuePropertyEditorTests.cs index 80c0868dfa..9ba5ccf6f2 100644 --- a/src/Umbraco.Tests/PropertyEditors/MultiValuePropertyEditorTests.cs +++ b/src/Umbraco.Tests/PropertyEditors/MultiValuePropertyEditorTests.cs @@ -22,7 +22,7 @@ namespace Umbraco.Tests.PropertyEditors /// multiple values such as the drop down list, check box list, color picker, etc.... /// [TestFixture] - public class MultiValuePropertyEditorTests + public class MultiValuePropertyEditorTests { //TODO: Test the other formatting methods for the drop down classes diff --git a/src/Umbraco.Tests/PublishedContent/PublishedContentTests.cs b/src/Umbraco.Tests/PublishedContent/PublishedContentTests.cs index 93f4f3f242..e8ea3bc829 100644 --- a/src/Umbraco.Tests/PublishedContent/PublishedContentTests.cs +++ b/src/Umbraco.Tests/PublishedContent/PublishedContentTests.cs @@ -111,11 +111,12 @@ namespace Umbraco.Tests.PublishedContent - - - - - + + + + + + 1 @@ -185,7 +186,7 @@ namespace Umbraco.Tests.PublishedContent .Where(x => x.IsVisible()) .ToIndexedArray(); - Assert.AreEqual(3, items.Length); + Assert.AreEqual(4, items.Length); foreach (var d in items) { @@ -195,6 +196,10 @@ namespace Umbraco.Tests.PublishedContent Assert.IsTrue(d.IsFirst()); Assert.IsFalse(d.IsLast()); break; + case 117: + Assert.IsFalse(d.IsFirst()); + Assert.IsFalse(d.IsLast()); + break; case 1177: Assert.IsFalse(d.IsFirst()); Assert.IsFalse(d.IsLast()); @@ -264,7 +269,7 @@ namespace Umbraco.Tests.PublishedContent { var doc = GetNode(1173); - var items = doc.Children.Take(3).ToIndexedArray(); + var items = doc.Children.Take(4).ToIndexedArray(); foreach (var item in items) { @@ -324,7 +329,7 @@ namespace Umbraco.Tests.PublishedContent { var doc = GetNode(1046); - var expected = new[] { 1046, 1173, 1174, 1177, 1178, 1179, 1176, 1175, 4444, 1172 }; + var expected = new[] { 1046, 1173, 1174, 117, 1177, 1178, 1179, 1176, 1175, 4444, 1172 }; var exindex = 0; // must respect the XPath descendants-or-self axis! @@ -569,6 +574,7 @@ namespace Umbraco.Tests.PublishedContent // -- Home: 1173 (parent 1046) // -- Custom Doc: 1178 (parent 1173) // --- Custom Doc2: 1179 (parent: 1178) + // -- Custom Doc4: 117 (parent 1173) // - Custom Doc3: 1172 (no parent) var home = GetNode(1173); @@ -576,25 +582,30 @@ namespace Umbraco.Tests.PublishedContent var customDoc = GetNode(1178); var customDoc2 = GetNode(1179); var customDoc3 = GetNode(1172); + var customDoc4 = GetNode(117); + Assert.IsTrue(root.IsAncestor(customDoc4)); Assert.IsFalse(root.IsAncestor(customDoc3)); Assert.IsTrue(root.IsAncestor(customDoc2)); Assert.IsTrue(root.IsAncestor(customDoc)); Assert.IsTrue(root.IsAncestor(home)); Assert.IsFalse(root.IsAncestor(root)); + Assert.IsTrue(home.IsAncestor(customDoc4)); Assert.IsFalse(home.IsAncestor(customDoc3)); Assert.IsTrue(home.IsAncestor(customDoc2)); Assert.IsTrue(home.IsAncestor(customDoc)); Assert.IsFalse(home.IsAncestor(home)); Assert.IsFalse(home.IsAncestor(root)); + Assert.IsFalse(customDoc.IsAncestor(customDoc4)); Assert.IsFalse(customDoc.IsAncestor(customDoc3)); Assert.IsTrue(customDoc.IsAncestor(customDoc2)); Assert.IsFalse(customDoc.IsAncestor(customDoc)); Assert.IsFalse(customDoc.IsAncestor(home)); Assert.IsFalse(customDoc.IsAncestor(root)); + Assert.IsFalse(customDoc2.IsAncestor(customDoc4)); Assert.IsFalse(customDoc2.IsAncestor(customDoc3)); Assert.IsFalse(customDoc2.IsAncestor(customDoc2)); Assert.IsFalse(customDoc2.IsAncestor(customDoc)); @@ -612,6 +623,7 @@ namespace Umbraco.Tests.PublishedContent // -- Home: 1173 (parent 1046) // -- Custom Doc: 1178 (parent 1173) // --- Custom Doc2: 1179 (parent: 1178) + // -- Custom Doc4: 117 (parent 1173) // - Custom Doc3: 1172 (no parent) var home = GetNode(1173); @@ -619,31 +631,37 @@ namespace Umbraco.Tests.PublishedContent var customDoc = GetNode(1178); var customDoc2 = GetNode(1179); var customDoc3 = GetNode(1172); + var customDoc4 = GetNode(117); + Assert.IsTrue(root.IsAncestorOrSelf(customDoc4)); Assert.IsFalse(root.IsAncestorOrSelf(customDoc3)); Assert.IsTrue(root.IsAncestorOrSelf(customDoc2)); Assert.IsTrue(root.IsAncestorOrSelf(customDoc)); Assert.IsTrue(root.IsAncestorOrSelf(home)); Assert.IsTrue(root.IsAncestorOrSelf(root)); + Assert.IsTrue(home.IsAncestorOrSelf(customDoc4)); Assert.IsFalse(home.IsAncestorOrSelf(customDoc3)); Assert.IsTrue(home.IsAncestorOrSelf(customDoc2)); Assert.IsTrue(home.IsAncestorOrSelf(customDoc)); Assert.IsTrue(home.IsAncestorOrSelf(home)); Assert.IsFalse(home.IsAncestorOrSelf(root)); + Assert.IsFalse(customDoc.IsAncestorOrSelf(customDoc4)); Assert.IsFalse(customDoc.IsAncestorOrSelf(customDoc3)); Assert.IsTrue(customDoc.IsAncestorOrSelf(customDoc2)); Assert.IsTrue(customDoc.IsAncestorOrSelf(customDoc)); Assert.IsFalse(customDoc.IsAncestorOrSelf(home)); Assert.IsFalse(customDoc.IsAncestorOrSelf(root)); + Assert.IsFalse(customDoc2.IsAncestorOrSelf(customDoc4)); Assert.IsFalse(customDoc2.IsAncestorOrSelf(customDoc3)); Assert.IsTrue(customDoc2.IsAncestorOrSelf(customDoc2)); Assert.IsFalse(customDoc2.IsAncestorOrSelf(customDoc)); Assert.IsFalse(customDoc2.IsAncestorOrSelf(home)); Assert.IsFalse(customDoc2.IsAncestorOrSelf(root)); + Assert.IsTrue(customDoc4.IsAncestorOrSelf(customDoc4)); Assert.IsTrue(customDoc3.IsAncestorOrSelf(customDoc3)); } @@ -657,7 +675,7 @@ namespace Umbraco.Tests.PublishedContent Assert.IsNotNull(result); - Assert.AreEqual(9, result.Count()); + Assert.AreEqual(10, result.Count()); Assert.IsTrue(result.Select(x => ((dynamic)x).Id).ContainsAll(new dynamic[] { 1046, 1173, 1174, 1176, 1175 })); } @@ -670,7 +688,7 @@ namespace Umbraco.Tests.PublishedContent Assert.IsNotNull(result); - Assert.AreEqual(8, result.Count()); + Assert.AreEqual(9, result.Count()); Assert.IsTrue(result.Select(x => ((dynamic)x).Id).ContainsAll(new dynamic[] { 1173, 1174, 1176, 1175, 4444 })); } @@ -682,6 +700,7 @@ namespace Umbraco.Tests.PublishedContent // -- Home: 1173 (parent 1046) // -- Custom Doc: 1178 (parent 1173) // --- Custom Doc2: 1179 (parent: 1178) + // -- Custom Doc4: 117 (parent 1173) // - Custom Doc3: 1172 (no parent) var home = GetNode(1173); @@ -689,30 +708,35 @@ namespace Umbraco.Tests.PublishedContent var customDoc = GetNode(1178); var customDoc2 = GetNode(1179); var customDoc3 = GetNode(1172); + var customDoc4 = GetNode(117); Assert.IsFalse(root.IsDescendant(root)); Assert.IsFalse(root.IsDescendant(home)); Assert.IsFalse(root.IsDescendant(customDoc)); Assert.IsFalse(root.IsDescendant(customDoc2)); Assert.IsFalse(root.IsDescendant(customDoc3)); + Assert.IsFalse(root.IsDescendant(customDoc4)); Assert.IsTrue(home.IsDescendant(root)); Assert.IsFalse(home.IsDescendant(home)); Assert.IsFalse(home.IsDescendant(customDoc)); Assert.IsFalse(home.IsDescendant(customDoc2)); Assert.IsFalse(home.IsDescendant(customDoc3)); + Assert.IsFalse(home.IsDescendant(customDoc4)); Assert.IsTrue(customDoc.IsDescendant(root)); Assert.IsTrue(customDoc.IsDescendant(home)); Assert.IsFalse(customDoc.IsDescendant(customDoc)); Assert.IsFalse(customDoc.IsDescendant(customDoc2)); Assert.IsFalse(customDoc.IsDescendant(customDoc3)); + Assert.IsFalse(customDoc.IsDescendant(customDoc4)); Assert.IsTrue(customDoc2.IsDescendant(root)); Assert.IsTrue(customDoc2.IsDescendant(home)); Assert.IsTrue(customDoc2.IsDescendant(customDoc)); Assert.IsFalse(customDoc2.IsDescendant(customDoc2)); Assert.IsFalse(customDoc2.IsDescendant(customDoc3)); + Assert.IsFalse(customDoc2.IsDescendant(customDoc4)); Assert.IsFalse(customDoc3.IsDescendant(customDoc3)); } @@ -725,6 +749,7 @@ namespace Umbraco.Tests.PublishedContent // -- Home: 1173 (parent 1046) // -- Custom Doc: 1178 (parent 1173) // --- Custom Doc2: 1179 (parent: 1178) + // -- Custom Doc4: 117 (parent 1173) // - Custom Doc3: 1172 (no parent) var home = GetNode(1173); @@ -732,30 +757,35 @@ namespace Umbraco.Tests.PublishedContent var customDoc = GetNode(1178); var customDoc2 = GetNode(1179); var customDoc3 = GetNode(1172); + var customDoc4 = GetNode(117); Assert.IsTrue(root.IsDescendantOrSelf(root)); Assert.IsFalse(root.IsDescendantOrSelf(home)); Assert.IsFalse(root.IsDescendantOrSelf(customDoc)); Assert.IsFalse(root.IsDescendantOrSelf(customDoc2)); Assert.IsFalse(root.IsDescendantOrSelf(customDoc3)); + Assert.IsFalse(root.IsDescendantOrSelf(customDoc4)); Assert.IsTrue(home.IsDescendantOrSelf(root)); Assert.IsTrue(home.IsDescendantOrSelf(home)); Assert.IsFalse(home.IsDescendantOrSelf(customDoc)); Assert.IsFalse(home.IsDescendantOrSelf(customDoc2)); Assert.IsFalse(home.IsDescendantOrSelf(customDoc3)); + Assert.IsFalse(home.IsDescendantOrSelf(customDoc4)); Assert.IsTrue(customDoc.IsDescendantOrSelf(root)); Assert.IsTrue(customDoc.IsDescendantOrSelf(home)); Assert.IsTrue(customDoc.IsDescendantOrSelf(customDoc)); Assert.IsFalse(customDoc.IsDescendantOrSelf(customDoc2)); Assert.IsFalse(customDoc.IsDescendantOrSelf(customDoc3)); + Assert.IsFalse(customDoc.IsDescendantOrSelf(customDoc4)); Assert.IsTrue(customDoc2.IsDescendantOrSelf(root)); Assert.IsTrue(customDoc2.IsDescendantOrSelf(home)); Assert.IsTrue(customDoc2.IsDescendantOrSelf(customDoc)); Assert.IsTrue(customDoc2.IsDescendantOrSelf(customDoc2)); Assert.IsFalse(customDoc2.IsDescendantOrSelf(customDoc3)); + Assert.IsFalse(customDoc2.IsDescendantOrSelf(customDoc4)); Assert.IsTrue(customDoc3.IsDescendantOrSelf(customDoc3)); } diff --git a/src/Umbraco.Tests/Services/ContentServiceTests.cs b/src/Umbraco.Tests/Services/ContentServiceTests.cs index cce264fb3d..13cd781666 100644 --- a/src/Umbraco.Tests/Services/ContentServiceTests.cs +++ b/src/Umbraco.Tests/Services/ContentServiceTests.cs @@ -1847,7 +1847,7 @@ namespace Umbraco.Tests.Services object obj = new { - tags = "Hello,World" + tags = "[\"Hello\",\"World\"]" }; var content1 = MockedContent.CreateBasicContent(contentType); content1.PropertyValues(obj); @@ -2006,13 +2006,13 @@ namespace Umbraco.Tests.Services contentService.Save(content); // value has been set but no tags have been created (not published) - Assert.AreEqual("hello,world", content.GetValue(propAlias)); + Assert.AreEqual("[\"hello\",\"world\"]", content.GetValue(propAlias)); var contentTags = ServiceContext.TagService.GetTagsForEntity(content.Id).ToArray(); Assert.AreEqual(0, contentTags.Length); // reloading the content yields the same result content = (Content) contentService.GetById(content.Id); - Assert.AreEqual("hello,world", content.GetValue(propAlias)); + Assert.AreEqual("[\"hello\",\"world\"]", content.GetValue(propAlias)); contentTags = ServiceContext.TagService.GetTagsForEntity(content.Id).ToArray(); Assert.AreEqual(0, contentTags.Length); @@ -2020,7 +2020,7 @@ namespace Umbraco.Tests.Services contentService.SaveAndPublish(content); // now tags have been set (published) - Assert.AreEqual("hello,world", content.GetValue(propAlias)); + Assert.AreEqual("[\"hello\",\"world\"]", content.GetValue(propAlias)); contentTags = ServiceContext.TagService.GetTagsForEntity(content.Id).ToArray(); Assert.AreEqual(2, contentTags.Length); @@ -2028,7 +2028,7 @@ namespace Umbraco.Tests.Services var copy = contentService.Copy(content, content.ParentId, false); // copy is not published, so property has value, but no tags have been created - Assert.AreEqual("hello,world", copy.GetValue(propAlias)); + Assert.AreEqual("[\"hello\",\"world\"]", copy.GetValue(propAlias)); var copiedTags = ServiceContext.TagService.GetTagsForEntity(copy.Id).ToArray(); Assert.AreEqual(0, copiedTags.Length); diff --git a/src/Umbraco.Tests/Services/Importing/ImportResources.Designer.cs b/src/Umbraco.Tests/Services/Importing/ImportResources.Designer.cs index 1f0533efd2..c0f070d1e9 100644 --- a/src/Umbraco.Tests/Services/Importing/ImportResources.Designer.cs +++ b/src/Umbraco.Tests/Services/Importing/ImportResources.Designer.cs @@ -285,7 +285,7 @@ namespace Umbraco.Tests.Services.Importing { /// <name>Template-Update</name> /// <version>0.1</version> /// <license url="http://www.opensource.org/licenses/mit-license.php">MIT license</license> - /// <url>http://our.umbraco.org/projects</url> + /// <url>https://our.umbraco.com/projects</url> /// <requirements> /// <major>3</major> /// <minor>0</minor> @@ -311,7 +311,7 @@ namespace Umbraco.Tests.Services.Importing { /// <name>Template-Update</name> /// <version>0.1</version> /// <license url="http://www.opensource.org/licenses/mit-license.php">MIT license</license> - /// <url>http://our.umbraco.org/projects</url> + /// <url>https://our.umbraco.com/projects</url> /// <requirements> /// <major>3</major> /// <minor>0</minor> diff --git a/src/Umbraco.Tests/Services/Importing/StandardMvc-Package.xml b/src/Umbraco.Tests/Services/Importing/StandardMvc-Package.xml index 8a8ef32f30..06906e1db2 100644 --- a/src/Umbraco.Tests/Services/Importing/StandardMvc-Package.xml +++ b/src/Umbraco.Tests/Services/Importing/StandardMvc-Package.xml @@ -177,7 +177,7 @@ StandardWebsiteMVC 2.0 MIT license - http://our.umbraco.org/projects/starter-kits/standard-website-mvc + https://our.umbraco.com/projects/starter-kits/standard-website-mvc 3 0 @@ -218,7 +218,7 @@ Google Maps - A map macro that you can use within Rich Text Areas Contact Us -

Contact Us on TwitterWe'd love to hear how this package has helped you and how it can be improved. Get in touch on the project website or via twitter

]]> +

Contact Us on TwitterWe'd love to hear how this package has helped you and how it can be improved. Get in touch on the project website or via twitter

]]>
Standard Website MVC, Company Address, Glasgow, Postcode
diff --git a/src/Umbraco.Tests/Services/Importing/TemplateOnly-Package.xml b/src/Umbraco.Tests/Services/Importing/TemplateOnly-Package.xml index a16e953a76..7900564a11 100644 --- a/src/Umbraco.Tests/Services/Importing/TemplateOnly-Package.xml +++ b/src/Umbraco.Tests/Services/Importing/TemplateOnly-Package.xml @@ -6,7 +6,7 @@ Template-Update 0.1 MIT license - http://our.umbraco.org/projects + https://our.umbraco.com/projects 3 0 diff --git a/src/Umbraco.Tests/Services/Importing/TemplateOnly-Updated-Package.xml b/src/Umbraco.Tests/Services/Importing/TemplateOnly-Updated-Package.xml index 7d24a06cbd..d130d9fa76 100644 --- a/src/Umbraco.Tests/Services/Importing/TemplateOnly-Updated-Package.xml +++ b/src/Umbraco.Tests/Services/Importing/TemplateOnly-Updated-Package.xml @@ -6,7 +6,7 @@ Template-Update 0.1 MIT license - http://our.umbraco.org/projects + https://our.umbraco.com/projects 3 0 diff --git a/src/Umbraco.Tests/Services/Importing/uBlogsy-Package.xml b/src/Umbraco.Tests/Services/Importing/uBlogsy-Package.xml index 5d579079eb..888d854693 100644 --- a/src/Umbraco.Tests/Services/Importing/uBlogsy-Package.xml +++ b/src/Umbraco.Tests/Services/Importing/uBlogsy-Package.xml @@ -332,7 +332,7 @@ uBlogsy 3.0 MIT license - http://our.umbraco.org/projects/starter-kits/ublogsy + https://our.umbraco.com/projects/starter-kits/ublogsy 3 0 diff --git a/src/Umbraco.Tests/Services/PackagingServiceTests.cs b/src/Umbraco.Tests/Services/PackagingServiceTests.cs index 829365ae7f..87225c1288 100644 --- a/src/Umbraco.Tests/Services/PackagingServiceTests.cs +++ b/src/Umbraco.Tests/Services/PackagingServiceTests.cs @@ -5,6 +5,7 @@ using System.IO; using System.Linq; using System.Xml.Linq; using NUnit.Framework; +using Umbraco.Core.IO; using Umbraco.Core.Models; using Umbraco.Core.Models.Packaging; using Umbraco.Core.Services; @@ -76,7 +77,7 @@ namespace Umbraco.Tests.Services private static string GetTestPackagePath(string packageName) { const string testPackagesDirName = "Packaging\\Packages"; - string path = Path.Combine(Core.Configuration.GlobalSettings.FullPathToRoot, testPackagesDirName, packageName); + string path = Path.Combine(IOHelper.GetRootDirectorySafe(), testPackagesDirName, packageName); return path; } diff --git a/src/Umbraco.Tests/Services/PerformanceTests.cs b/src/Umbraco.Tests/Services/PerformanceTests.cs index 664d15fc71..9b0117c266 100644 --- a/src/Umbraco.Tests/Services/PerformanceTests.cs +++ b/src/Umbraco.Tests/Services/PerformanceTests.cs @@ -334,7 +334,7 @@ namespace Umbraco.Tests.Services Umbraco Development

UmbracoUmbraco the the leading ASP.NET open source CMS, under pinning over 150,000 websites. Our Certified Developers are experts in developing high performance and feature rich websites.

]]>
Contact Us -

Contact Us on TwitterWe'd love to hear how this package has helped you and how it can be improved. Get in touch on the project website or via twitter

]]>
+

Contact Us on TwitterWe'd love to hear how this package has helped you and how it can be improved. Get in touch on the project website or via twitter

]]>
Standard Website MVC, Company Address, Glasgow, Postcode
Copyright &copy; 2012 Your Company diff --git a/src/Umbraco.Tests/Services/TagServiceTests.cs b/src/Umbraco.Tests/Services/TagServiceTests.cs index 49aad03efb..0665210430 100644 --- a/src/Umbraco.Tests/Services/TagServiceTests.cs +++ b/src/Umbraco.Tests/Services/TagServiceTests.cs @@ -1,5 +1,6 @@ using System.Linq; using System.Threading; +using Newtonsoft.Json; using NUnit.Framework; using Umbraco.Core; using Umbraco.Core.Models; @@ -52,7 +53,7 @@ namespace Umbraco.Tests.Services // get it back content1 = contentService.GetById(content1.Id); var tagsValue = content1.GetValue("tags").ToString(); - var tagsValues = tagsValue.Split(','); + var tagsValues = JsonConvert.DeserializeObject(tagsValue); Assert.AreEqual(3, tagsValues.Length); Assert.Contains("pig", tagsValues); Assert.Contains("goat", tagsValues); diff --git a/src/Umbraco.Tests/Strings/MockShortStringHelper.cs b/src/Umbraco.Tests/Strings/MockShortStringHelper.cs index e0df7ea4e9..a39f962908 100644 --- a/src/Umbraco.Tests/Strings/MockShortStringHelper.cs +++ b/src/Umbraco.Tests/Strings/MockShortStringHelper.cs @@ -12,8 +12,6 @@ namespace Umbraco.Tests.Strings public bool IsFrozen { get; private set; } - public string GetShortStringServicesJavaScript(string controllerPath) { return "SSSJS"; } - public string CleanStringForSafeAlias(string text) { return "SAFE-ALIAS::" + text; diff --git a/src/Umbraco.Tests/TeamCity.proj b/src/Umbraco.Tests/TeamCity.proj deleted file mode 100644 index 42cdd909ae..0000000000 --- a/src/Umbraco.Tests/TeamCity.proj +++ /dev/null @@ -1,19 +0,0 @@ - - - - ..\..\tools\MSBuildCommunityTasks - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/src/Umbraco.Web.UI.Client/gulpfile.js b/src/Umbraco.Web.UI.Client/gulpfile.js index e7ca996d9f..cc57648564 100644 --- a/src/Umbraco.Web.UI.Client/gulpfile.js +++ b/src/Umbraco.Web.UI.Client/gulpfile.js @@ -351,7 +351,7 @@ gulp.task('docs', [], function (cb) { title: "Umbraco Backoffice UI API Documentation", dest: 'docs/api', styles: ['docs/umb-docs.css'], - image: "https://our.umbraco.org/assets/images/logo.svg" + image: "https://our.umbraco.com/assets/images/logo.svg" } return gulpDocs.sections({ diff --git a/src/Umbraco.Web.UI.Client/src/common/directives/components/application/umbtour.directive.js b/src/Umbraco.Web.UI.Client/src/common/directives/components/application/umbtour.directive.js index 7e981c065d..7333d033b1 100644 --- a/src/Umbraco.Web.UI.Client/src/common/directives/components/application/umbtour.directive.js +++ b/src/Umbraco.Web.UI.Client/src/common/directives/components/application/umbtour.directive.js @@ -8,7 +8,7 @@ Added in Umbraco 7.8. The tour component is a global component and is already added to the umbraco markup. In the Umbraco UI the tours live in the "Help drawer" which opens when you click the Help-icon in the bottom left corner of Umbraco. You can easily add you own tours to the Help-drawer or show and start tours from -anywhere in the Umbraco backoffice. To see a real world example of a custom tour implementation, install The Starter Kit in Umbraco 7.8 +anywhere in the Umbraco backoffice. To see a real world example of a custom tour implementation, install The Starter Kit in Umbraco 7.8

Extending the help drawer with custom tours

The easiet way to add new tours to Umbraco is through the Help-drawer. All it requires is a my-tour.json file. diff --git a/src/Umbraco.Web.UI.Client/src/common/directives/components/buttons/umbtoggle.directive.js b/src/Umbraco.Web.UI.Client/src/common/directives/components/buttons/umbtoggle.directive.js index a7bdd4b741..e3c4cbf40c 100644 --- a/src/Umbraco.Web.UI.Client/src/common/directives/components/buttons/umbtoggle.directive.js +++ b/src/Umbraco.Web.UI.Client/src/common/directives/components/buttons/umbtoggle.directive.js @@ -64,7 +64,7 @@ (function () { 'use strict'; - function ToggleDirective(localizationService) { + function ToggleDirective(localizationService, eventsService) { function link(scope, el, attr, ctrl) { @@ -73,6 +73,7 @@ function onInit() { setLabelText(); + eventsService.emit("toggleValue", { value: scope.checked }); } function setLabelText() { @@ -98,7 +99,8 @@ } scope.click = function() { - if(scope.onClick) { + if (scope.onClick) { + eventsService.emit("toggleValue", { value: !scope.checked }); scope.onClick(); } }; diff --git a/src/Umbraco.Web.UI.Client/src/common/directives/components/content/umbcontentnodeinfo.directive.js b/src/Umbraco.Web.UI.Client/src/common/directives/components/content/umbcontentnodeinfo.directive.js index f31d1533aa..c9d78a3551 100644 --- a/src/Umbraco.Web.UI.Client/src/common/directives/components/content/umbcontentnodeinfo.directive.js +++ b/src/Umbraco.Web.UI.Client/src/common/directives/components/content/umbcontentnodeinfo.directive.js @@ -68,6 +68,9 @@ // make sure dates are formatted to the user's locale formatDatesToLocal(); + // Declare a fallback URL for the directive + scope.previewOpenUrl = '#/settings/documenttypes/edit/' + scope.documentType.id; + } scope.auditTrailPageChange = function (pageNumber) { @@ -88,6 +91,11 @@ editorService.documentTypeEditor(editor); }; + scope.openTemplate = function () { + var url = "/settings/templates/edit/" + scope.node.templateId; + $location.url(url); + } + scope.updateTemplate = function (templateAlias) { // update template value diff --git a/src/Umbraco.Web.UI.Client/src/common/directives/components/html/umbbox/umbboxheader.directive.js b/src/Umbraco.Web.UI.Client/src/common/directives/components/html/umbbox/umbboxheader.directive.js index bb16edf761..a0fbd2c24a 100644 --- a/src/Umbraco.Web.UI.Client/src/common/directives/components/html/umbbox/umbboxheader.directive.js +++ b/src/Umbraco.Web.UI.Client/src/common/directives/components/html/umbbox/umbboxheader.directive.js @@ -27,7 +27,7 @@ Use this directive to construct a title. Recommended to use it inside an {@link -{@link https://our.umbraco.org/documentation/extending/language-files/ Here you can see more about the language files} +{@link https://our.umbraco.com/documentation/extending/language-files/ Here you can see more about the language files}

Use in combination with:

    diff --git a/src/Umbraco.Web.UI.Client/src/common/directives/components/umbcolorswatches.directive.js b/src/Umbraco.Web.UI.Client/src/common/directives/components/umbcolorswatches.directive.js new file mode 100644 index 0000000000..6ed65a9431 --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/common/directives/components/umbcolorswatches.directive.js @@ -0,0 +1,61 @@ + +/** +@ngdoc directive +@name umbraco.directives.directive:umbColorSwatches +@restrict E +@scope +@description +Use this directive to generate color swatches to pick from. +

    Markup example

    +
    +    
    +    
    +
    +@param {array} colors (attribute): The array of colors. +@param {string} colors (attribute): The array of colors. +@param {string} selectedColor (attribute): The selected color. +@param {string} size (attribute): The size (s, m). +@param {function} onSelect (expression): Callback function when the item is selected. +**/ + +(function () { + 'use strict'; + + function ColorSwatchesDirective() { + + function link(scope, el, attr, ctrl) { + + scope.setColor = function (color) { + //scope.selectedColor({color: color }); + scope.selectedColor = color; + + if (scope.onSelect) { + scope.onSelect(color); + } + }; + } + + var directive = { + restrict: 'E', + replace: true, + transclude: true, + templateUrl: 'views/components/umb-color-swatches.html', + scope: { + colors: '=?', + size: '@', + selectedColor: '=', + onSelect: '&' + }, + link: link + }; + + return directive; + + } + + angular.module('umbraco.directives').directive('umbColorSwatches', ColorSwatchesDirective); + +})(); diff --git a/src/Umbraco.Web.UI.Client/src/common/directives/components/umbgridselector.directive.js b/src/Umbraco.Web.UI.Client/src/common/directives/components/umbgridselector.directive.js index de1c0ca936..dfd1e1184d 100644 --- a/src/Umbraco.Web.UI.Client/src/common/directives/components/umbgridselector.directive.js +++ b/src/Umbraco.Web.UI.Client/src/common/directives/components/umbgridselector.directive.js @@ -1,7 +1,7 @@ -(function() { +(function () { 'use strict'; - function GridSelector(overlayService) { + function GridSelector($location, overlayService) { function link(scope, el, attr, ctrl) { @@ -11,18 +11,18 @@ scope.itemLabel = ""; // set default item name - if(!scope.itemName){ + if (!scope.itemName) { scope.itemLabel = "item"; } else { scope.itemLabel = scope.itemName; } - scope.removeItem = function(selectedItem) { + scope.removeItem = function (selectedItem) { var selectedItemIndex = scope.selectedItems.indexOf(selectedItem); scope.selectedItems.splice(selectedItemIndex, 1); }; - scope.removeDefaultItem = function() { + scope.removeDefaultItem = function () { // it will be the last item so we can clear the array scope.selectedItems = []; @@ -32,7 +32,7 @@ }; - scope.openItemPicker = function($event){ + scope.openItemPicker = function ($event) { var dialogModel = { view: "itempicker", title: "Choose " + scope.itemLabel, @@ -40,10 +40,10 @@ selectedItems: scope.selectedItems, position: "target", event: $event, - submit: function(model) { + submit: function (model) { scope.selectedItems.push(model.selectedItem); // if no default item - set item as default - if(scope.defaultItem === null) { + if (scope.defaultItem === null) { scope.setAsDefaultItem(model.selectedItem); } overlayService.close(); @@ -55,7 +55,12 @@ overlayService.open(dialogModel); }; - scope.setAsDefaultItem = function(selectedItem) { + scope.openTemplate = function (selectedItem) { + var url = "/settings/templates/edit/" + selectedItem.id; + $location.url(url); + } + + scope.setAsDefaultItem = function (selectedItem) { // clear default item scope.defaultItem = {}; @@ -66,69 +71,69 @@ function updatePlaceholders() { - // update default item - if(scope.defaultItem !== null && scope.defaultItem.placeholder) { + // update default item + if (scope.defaultItem !== null && scope.defaultItem.placeholder) { - scope.defaultItem.name = scope.name; + scope.defaultItem.name = scope.name; - if(scope.alias !== null && scope.alias !== undefined) { - scope.defaultItem.alias = scope.alias; - } - - } - - // update selected items - angular.forEach(scope.selectedItems, function(selectedItem) { - if(selectedItem.placeholder) { - - selectedItem.name = scope.name; - - if(scope.alias !== null && scope.alias !== undefined) { - selectedItem.alias = scope.alias; - } + if (scope.alias !== null && scope.alias !== undefined) { + scope.defaultItem.alias = scope.alias; + } } - }); - // update availableItems - angular.forEach(scope.availableItems, function(availableItem) { - if(availableItem.placeholder) { + // update selected items + angular.forEach(scope.selectedItems, function (selectedItem) { + if (selectedItem.placeholder) { - availableItem.name = scope.name; + selectedItem.name = scope.name; - if(scope.alias !== null && scope.alias !== undefined) { - availableItem.alias = scope.alias; - } + if (scope.alias !== null && scope.alias !== undefined) { + selectedItem.alias = scope.alias; + } - } - }); + } + }); + + // update availableItems + angular.forEach(scope.availableItems, function (availableItem) { + if (availableItem.placeholder) { + + availableItem.name = scope.name; + + if (scope.alias !== null && scope.alias !== undefined) { + availableItem.alias = scope.alias; + } + + } + }); } function activate() { - // add watchers for updating placeholde name and alias - if(scope.updatePlaceholder) { - eventBindings.push(scope.$watch('name', function(newValue, oldValue){ - updatePlaceholders(); - })); + // add watchers for updating placeholde name and alias + if (scope.updatePlaceholder) { + eventBindings.push(scope.$watch('name', function (newValue, oldValue) { + updatePlaceholders(); + })); - eventBindings.push(scope.$watch('alias', function(newValue, oldValue){ - updatePlaceholders(); - })); - } + eventBindings.push(scope.$watch('alias', function (newValue, oldValue) { + updatePlaceholders(); + })); + } } activate(); // clean up - scope.$on('$destroy', function(){ + scope.$on('$destroy', function () { - // clear watchers - for(var e in eventBindings) { - eventBindings[e](); - } + // clear watchers + for (var e in eventBindings) { + eventBindings[e](); + } }); @@ -139,13 +144,13 @@ replace: true, templateUrl: 'views/components/umb-grid-selector.html', scope: { - name: "=", - alias: "=", - selectedItems: '=', - availableItems: "=", - defaultItem: "=", - itemName: "@", - updatePlaceholder: "=" + name: "=", + alias: "=", + selectedItems: '=', + availableItems: "=", + defaultItem: "=", + itemName: "@", + updatePlaceholder: "=" }, link: link }; diff --git a/src/Umbraco.Web.UI.Client/src/common/directives/components/umbnodepreview.directive.js b/src/Umbraco.Web.UI.Client/src/common/directives/components/umbnodepreview.directive.js index 21714d172c..9f1f7a0d2e 100644 --- a/src/Umbraco.Web.UI.Client/src/common/directives/components/umbnodepreview.directive.js +++ b/src/Umbraco.Web.UI.Client/src/common/directives/components/umbnodepreview.directive.js @@ -88,6 +88,9 @@ @param {function} onRemove (expression): Callback function when the remove button is clicked. @param {function} onOpen (expression): Callback function when the open button is clicked. @param {function} onEdit (expression): Callback function when the edit button is clicked (Added in version 7.7.0). +@param {string} openUrl (binding): Fallback URL for onOpen (Added in version 7.12.0). +@param {string} editUrl (binding): Fallback URL for onEdit (Added in version 7.12.0). +@param {string} removeUrl (binding): Fallback URL for onRemove (Added in version 7.12.0). **/ (function () { @@ -122,7 +125,10 @@ allowEdit: "=?", onOpen: "&?", onRemove: "&?", - onEdit: "&?" + onEdit: "&?", + openUrl: '=?', + editUrl: '=?', + removeUrl: '=?' }, link: link }; @@ -133,4 +139,4 @@ angular.module('umbraco.directives').directive('umbNodePreview', NodePreviewDirective); -})(); \ No newline at end of file +})(); diff --git a/src/Umbraco.Web.UI.Client/src/common/filters/nestedcontent.filter.js b/src/Umbraco.Web.UI.Client/src/common/filters/nestedcontent.filter.js index 76e4e4a822..8c23094bbf 100644 --- a/src/Umbraco.Web.UI.Client/src/common/filters/nestedcontent.filter.js +++ b/src/Umbraco.Web.UI.Client/src/common/filters/nestedcontent.filter.js @@ -9,6 +9,13 @@ var ncNodeNameCache = { angular.module("umbraco.filters").filter("ncNodeName", function (editorState, entityResource) { + function formatLabel(firstNodeName, totalNodes) { + return totalNodes <= 1 + ? firstNodeName + // If there is more than one item selected, append the additional number of items selected to hint that + : firstNodeName + " (+" + (totalNodes - 1) + ")"; + } + return function (input) { // Check we have a value at all @@ -25,23 +32,38 @@ angular.module("umbraco.filters").filter("ncNodeName", function (editorState, en ncNodeNameCache.keys = {}; } + // MNTP values are comma separated IDs. We'll only fetch the first one for the NC header. + var ids = input.split(','); + var lookupId = ids[0]; + // See if there is a value in the cache and use that - if (ncNodeNameCache.keys[input]) { - return ncNodeNameCache.keys[input]; + if (ncNodeNameCache.keys[lookupId]) { + return formatLabel(ncNodeNameCache.keys[lookupId], ids.length); } // No value, so go fetch one // We'll put a temp value in the cache though so we don't // make a load of requests while we wait for a response - ncNodeNameCache.keys[input] = "Loading..."; + ncNodeNameCache.keys[lookupId] = "Loading..."; - entityResource.getById(input, "Document") - .then(function (ent) { - ncNodeNameCache.keys[input] = ent.name; - }); + var type = lookupId.indexOf("umb://media/") === 0 + ? "Media" + : lookupId.indexOf("umb://member/") === 0 + ? "Member" + : "Document"; + entityResource.getById(lookupId, type) + .then( + function (ent) { + ncNodeNameCache.keys[lookupId] = ent.name; + } + ); // Return the current value for now - return ncNodeNameCache.keys[input]; + return formatLabel(ncNodeNameCache.keys[lookupId], ids.length); }; -}); \ No newline at end of file +}).filter("ncRichText", function () { + return function(input) { + return $("
    ").html(input).text(); + }; +}); diff --git a/src/Umbraco.Web.UI.Client/src/common/resources/media.resource.js b/src/Umbraco.Web.UI.Client/src/common/resources/media.resource.js index 9137017128..74c2718bad 100644 --- a/src/Umbraco.Web.UI.Client/src/common/resources/media.resource.js +++ b/src/Umbraco.Web.UI.Client/src/common/resources/media.resource.js @@ -46,7 +46,7 @@ function mediaResource($q, $http, umbDataFormatter, umbRequestHelper) { * .then(function() { * $scope.complete = true; * }); - * + * * @param {Object} args arguments object * @param {Int} args.parentId the ID of the parent node * @param {Array} options.sortedIds array of node IDs as they should be sorted @@ -87,9 +87,9 @@ function mediaResource($q, $http, umbDataFormatter, umbRequestHelper) { * .then(function() { * alert("node was moved"); * }, function(err){ - * alert("node didnt move:" + err.data.Message); + * alert("node didnt move:" + err.data.Message); * }); - * + * * @param {Object} args arguments object * @param {Int} args.idd the ID of the node to move * @param {Int} args.parentId the ID of the parent node to move to @@ -129,12 +129,12 @@ function mediaResource($q, $http, umbDataFormatter, umbRequestHelper) { *
               * mediaResource.getById(1234)
               *    .then(function(media) {
    -          *        var myMedia = media; 
    +          *        var myMedia = media;
               *        alert('its here!');
               *    });
    -          * 
    - * - * @param {Int} id id of media item to return + * + * + * @param {Int} id id of media item to return * @returns {Promise} resourcePromise object containing the media item. * */ @@ -163,9 +163,9 @@ function mediaResource($q, $http, umbDataFormatter, umbRequestHelper) { * .then(function() { * alert('its gone!'); * }); - * - * - * @param {Int} id id of media item to delete + * + * + * @param {Int} id id of media item to delete * @returns {Promise} resourcePromise object. * */ @@ -191,12 +191,12 @@ function mediaResource($q, $http, umbDataFormatter, umbRequestHelper) { *
               * mediaResource.getByIds( [1234,2526,28262])
               *    .then(function(mediaArray) {
    -          *        var myDoc = contentArray; 
    +          *        var myDoc = contentArray;
               *        alert('they are here!');
               *    });
    -          * 
    - * - * @param {Array} ids ids of media items to return as an array + * + * + * @param {Array} ids ids of media items to return as an array * @returns {Promise} resourcePromise object containing the media items array. * */ @@ -223,28 +223,28 @@ function mediaResource($q, $http, umbDataFormatter, umbRequestHelper) { * * @description * Returns a scaffold of an empty media item, given the id of the media item to place it underneath and the media type alias. - * + * * - Parent Id must be provided so umbraco knows where to store the media - * - Media Type alias must be provided so umbraco knows which properties to put on the media scaffold - * + * - Media Type alias must be provided so umbraco knows which properties to put on the media scaffold + * * The scaffold is used to build editors for media that has not yet been populated with data. - * + * * ##usage *
               * mediaResource.getScaffold(1234, 'folder')
               *    .then(function(scaffold) {
               *        var myDoc = scaffold;
    -          *        myDoc.name = "My new media item"; 
    +          *        myDoc.name = "My new media item";
               *
               *        mediaResource.save(myDoc, true)
               *            .then(function(media){
               *                alert("Retrieved, updated and saved again");
               *            });
               *    });
    -          * 
    - * + * + * * @param {Int} parentId id of media item to return - * @param {String} alias mediatype alias to base the scaffold on + * @param {String} alias mediatype alias to base the scaffold on * @returns {Promise} resourcePromise object containing the media scaffold. * */ @@ -283,11 +283,11 @@ function mediaResource($q, $http, umbDataFormatter, umbRequestHelper) { *
               * mediaResource.getChildren(1234, {pageSize: 10, pageNumber: 2})
               *    .then(function(contentArray) {
    -          *        var children = contentArray; 
    +          *        var children = contentArray;
               *        alert('they are here!');
               *    });
    -          * 
    - * + * + * * @param {Int} parentid id of content item to return children of * @param {Object} options optional options object * @param {Int} options.pageSize if paging data, number of nodes per page, default = 0 @@ -361,9 +361,9 @@ function mediaResource($q, $http, umbDataFormatter, umbRequestHelper) { * * @description * Saves changes made to a media item, if the media item is new, the isNew paramater must be passed to force creation - * if the media item needs to have files attached, they must be provided as the files param and passed separately - * - * + * if the media item needs to have files attached, they must be provided as the files param and passed separately + * + * * ##usage *
               * mediaResource.getById(1234)
    @@ -374,11 +374,11 @@ function mediaResource($q, $http, umbDataFormatter, umbRequestHelper) {
               *                alert("Retrieved, updated and saved again");
               *            });
               *    });
    -          * 
    - * + * + * * @param {Object} media The media item object with changes applied - * @param {Bool} isNew set to true to create a new item or to update an existing - * @param {Array} files collection of files for the media item + * @param {Bool} isNew set to true to create a new item or to update an existing + * @param {Array} files collection of files for the media item * @returns {Promise} resourcePromise object containing the saved media item. * */ @@ -400,10 +400,10 @@ function mediaResource($q, $http, umbDataFormatter, umbRequestHelper) { * .then(function(folder) { * alert('New folder'); * }); - * + * * * @param {string} name Name of the folder to create - * @param {int} parentId Id of the media item to create the folder underneath + * @param {int} parentId Id of the media item to create the folder underneath * @returns {Promise} resourcePromise object. * */ @@ -427,18 +427,19 @@ function mediaResource($q, $http, umbDataFormatter, umbRequestHelper) { * Retrieves all media children with types used as folders. * Uses the convention of looking for media items with mediaTypes ending in * *Folder so will match "Folder", "bannerFolder", "secureFolder" etc, - * - * NOTE: This will return a max of 500 folders, if more is required it needs to be paged - * + * + * NOTE: This will return a page of max 500 folders, if more is required it needs to be paged + * and then folders are in the .items property of the returned promise data + * * ##usage *
               * mediaResource.getChildFolders(1234)
    -          *    .then(function(data) {
    +          *    .then(function(page) {
               *        alert('folders');
               *    });
    -          * 
    + * * - * @param {int} parentId Id of the media item to query for child folders + * @param {int} parentId Id of the media item to query for child folders * @returns {Promise} resourcePromise object. * */ @@ -454,9 +455,11 @@ function mediaResource($q, $http, umbDataFormatter, umbRequestHelper) { "mediaApiBaseUrl", "GetChildFolders", { - id: parentId + id: parentId, + pageNumber: 1, + pageSize: 500 })), - 'Failed to retrieve child folders for media item ' + parentId); + 'Failed to retrieve child folders for media item ' + parentId); }, /** @@ -473,8 +476,8 @@ function mediaResource($q, $http, umbDataFormatter, umbRequestHelper) { * .then(function() { * alert('its empty!'); * }); - * - * + * + * * @returns {Promise} resourcePromise object. * */ @@ -501,8 +504,8 @@ function mediaResource($q, $http, umbDataFormatter, umbRequestHelper) { * .then(function(searchResult) { * alert('it's here!'); * }); - * - * + * + * * @param {string} query The search query * @param {int} pageNumber The page number * @param {int} pageSize The number of media items on a page @@ -513,7 +516,7 @@ function mediaResource($q, $http, umbDataFormatter, umbRequestHelper) { search: function (query, pageNumber, pageSize, searchFrom) { var args = [ - { "query": query }, + { "query": query }, { "pageNumber": pageNumber }, { "pageSize": pageSize }, { "searchFrom": searchFrom } diff --git a/src/Umbraco.Web.UI.Client/src/common/resources/package.resource.js b/src/Umbraco.Web.UI.Client/src/common/resources/package.resource.js index cb810c6edb..554134d017 100644 --- a/src/Umbraco.Web.UI.Client/src/common/resources/package.resource.js +++ b/src/Umbraco.Web.UI.Client/src/common/resources/package.resource.js @@ -57,7 +57,7 @@ function packageResource($q, $http, umbDataFormatter, umbRequestHelper) { * @methodOf umbraco.resources.packageInstallResource * * @description - * Downloads a package file from our.umbraco.org to the website server. + * Downloads a package file from our.umbraco.com to the website server. * * ##usage *
    diff --git a/src/Umbraco.Web.UI.Client/src/common/services/help.service.js b/src/Umbraco.Web.UI.Client/src/common/services/help.service.js
    index 77621eee9c..1de992d9db 100644
    --- a/src/Umbraco.Web.UI.Client/src/common/services/help.service.js
    +++ b/src/Umbraco.Web.UI.Client/src/common/services/help.service.js
    @@ -2,7 +2,7 @@ angular.module('umbraco.services')
     	.factory('helpService', function ($http, $q, umbRequestHelper) {
     		var helpTopics = {};
     
    -		var defaultUrl = "http://our.umbraco.org/rss/help";
    +		var defaultUrl = "https://our.umbraco.com/rss/help";
     		var tvUrl = "http://umbraco.tv/feeds/help";
     
     		function getCachedHelp(url){
    diff --git a/src/Umbraco.Web.UI.Client/src/common/services/listviewhelper.service.js b/src/Umbraco.Web.UI.Client/src/common/services/listviewhelper.service.js
    index e4ba9b337c..42b739fe61 100644
    --- a/src/Umbraco.Web.UI.Client/src/common/services/listviewhelper.service.js
    +++ b/src/Umbraco.Web.UI.Client/src/common/services/listviewhelper.service.js
    @@ -272,12 +272,19 @@
                 for (var i = 0; selection.length > i; i++) {
                     var selectedItem = selection[i];
                     // if item.id is 2147483647 (int.MaxValue) use item.key
    -                if ((item.id !== 2147483647 && item.id === selectedItem.id) || item.key === selectedItem.key) {
    +                if ((item.id !== 2147483647 && item.id === selectedItem.id) || (item.key && item.key === selectedItem.key)) {
                         isSelected = true;
                     }
                 }
                 if (!isSelected) {
    -                selection.push({ id: item.id, key: item.key });
    +                var obj = {
    +                    id: item.id
    +                };
    +                if (item.key) {
    +                    obj.key = item.key;
    +                }
    +
    +                selection.push(obj);
                     item.selected = true;
                 }
             }
    @@ -298,7 +305,7 @@
                 for (var i = 0; selection.length > i; i++) {
                     var selectedItem = selection[i];
                     // if item.id is 2147483647 (int.MaxValue) use item.key
    -                if ((item.id !== 2147483647 && item.id === selectedItem.id) || item.key === selectedItem.key) {
    +                if ((item.id !== 2147483647 && item.id === selectedItem.id) || (item.key && item.key === selectedItem.key)) {
                         selection.splice(i, 1);
                         item.selected = false;
                     }
    @@ -368,9 +375,15 @@
                 for (var i = 0; i < items.length; i++) {
     
                     var item = items[i];
    +                var obj = {
    +                    id: item.id
    +                };
    +                if (item.key) {
    +                    obj.key = item.key
    +                }
     
                     if (checkbox.checked) {
    -                    selection.push({ id: item.id, key: item.key });
    +                    selection.push(obj);
                     } else {
                         clearSelection = true;
                     }
    @@ -410,7 +423,7 @@
                         var selectedItem = selection[selectedIndex];
     
                         // if item.id is 2147483647 (int.MaxValue) use item.key
    -                    if ((item.id !== 2147483647 && item.id === selectedItem.id) || item.key === selectedItem.key) {
    +                    if ((item.id !== 2147483647 && item.id === selectedItem.id) || (item.key && item.key === selectedItem.key)) {
                             numberOfSelectedItem++;
                         }
                     }
    diff --git a/src/Umbraco.Web.UI.Client/src/common/services/templatehelper.service.js b/src/Umbraco.Web.UI.Client/src/common/services/templatehelper.service.js
    index 6fc20524e9..2e71ef0bf5 100644
    --- a/src/Umbraco.Web.UI.Client/src/common/services/templatehelper.service.js
    +++ b/src/Umbraco.Web.UI.Client/src/common/services/templatehelper.service.js
    @@ -22,7 +22,8 @@
             function getQuerySnippet(queryExpression) {
                 var code = "\n@{\n" + "\tvar selection = " + queryExpression + ";\n}\n";
                     code += "
      \n" + - "\t@foreach(var item in selection){\n" + + "\t@foreach (var item in selection)\n" + + "\t{\n" + "\t\t
    • \n" + "\t\t\t@item.Name\n" + "\t\t
    • \n" + diff --git a/src/Umbraco.Web.UI.Client/src/common/services/tinymce.service.js b/src/Umbraco.Web.UI.Client/src/common/services/tinymce.service.js index aa53626a78..127124ea13 100644 --- a/src/Umbraco.Web.UI.Client/src/common/services/tinymce.service.js +++ b/src/Umbraco.Web.UI.Client/src/common/services/tinymce.service.js @@ -156,13 +156,13 @@ function tinyMceService($log, imageHelper, $http, $timeout, macroResource, macro var s = "width: " + newSize.width + "px; height:" + newSize.height + "px;"; editor.dom.setAttrib(imgElm, 'style', s); - editor.dom.setAttrib(imgElm, 'id', null); if (img.url) { var src = img.url + "?width=" + newSize.width + "&height=" + newSize.height; editor.dom.setAttrib(imgElm, 'data-mce-src', src); } - } + } + editor.dom.setAttrib(imgElm, 'id', null); }, 500); } }, diff --git a/src/Umbraco.Web.UI.Client/src/installer/installer.service.js b/src/Umbraco.Web.UI.Client/src/installer/installer.service.js index 661dfdbb4d..a8e0530417 100644 --- a/src/Umbraco.Web.UI.Client/src/installer/installer.service.js +++ b/src/Umbraco.Web.UI.Client/src/installer/installer.service.js @@ -21,7 +21,7 @@ angular.module("umbraco.install").factory('installerService', function($rootScop "At least 2 people have named their cat 'Umbraco'", 'On an average day, more than 1000 people download Umbraco', 'umbraco.tv is the premier source of Umbraco video tutorials to get you started', - 'You can find the world\'s friendliest CMS community at our.umbraco.org', + 'You can find the world\'s friendliest CMS community at our.umbraco.com', 'You can become a certified Umbraco developer by attending one of the official courses', 'Umbraco works really well on tablets', 'You have 100% control over your markup and design when crafting a website in Umbraco', @@ -121,7 +121,7 @@ angular.module("umbraco.install").factory('installerService', function($rootScop } }, - //loads available packages from our.umbraco.org + //loads available packages from our.umbraco.com getPackages : function(){ return $http.get(Umbraco.Sys.ServerVariables.installApiBaseUrl + "GetPackages"); }, diff --git a/src/Umbraco.Web.UI.Client/src/installer/steps/permissionsreport.html b/src/Umbraco.Web.UI.Client/src/installer/steps/permissionsreport.html index 3ced6ed678..ad9b1c9cc1 100644 --- a/src/Umbraco.Web.UI.Client/src/installer/steps/permissionsreport.html +++ b/src/Umbraco.Web.UI.Client/src/installer/steps/permissionsreport.html @@ -3,7 +3,7 @@

      In order to run umbraco, you'll need to update your permission settings. Detailed information about the correct file & folder permissions for Umbraco can be found - here. + here.

      The following report list the permissions that are currently failing. Once the permissions are fixed press the 'Go back' button to restart the installation. diff --git a/src/Umbraco.Web.UI.Client/src/installer/steps/starterkit.html b/src/Umbraco.Web.UI.Client/src/installer/steps/starterkit.html index 0b9e22a0f3..1ffbdb205b 100644 --- a/src/Umbraco.Web.UI.Client/src/installer/steps/starterkit.html +++ b/src/Umbraco.Web.UI.Client/src/installer/steps/starterkit.html @@ -12,7 +12,7 @@

    • Loading... - {{pck.name}} + {{pck.name}}
    diff --git a/src/Umbraco.Web.UI.Client/src/less/belle.less b/src/Umbraco.Web.UI.Client/src/less/belle.less index b18f2c942f..b6fbba6949 100644 --- a/src/Umbraco.Web.UI.Client/src/less/belle.less +++ b/src/Umbraco.Web.UI.Client/src/less/belle.less @@ -122,6 +122,8 @@ @import "components/umb-grid.less"; @import "components/umb-empty-state.less"; @import "components/umb-property-editor.less"; +@import "components/umb-color-swatches.less"; +@import "components/check-circle.less"; @import "components/umb-iconpicker.less"; @import "components/umb-insert-code-box.less"; @import "components/umb-packages.less"; diff --git a/src/Umbraco.Web.UI.Client/src/less/components/application/umb-drawer.less b/src/Umbraco.Web.UI.Client/src/less/components/application/umb-drawer.less index 45208bd4bf..cc024ca5bb 100644 --- a/src/Umbraco.Web.UI.Client/src/less/components/application/umb-drawer.less +++ b/src/Umbraco.Web.UI.Client/src/less/components/application/umb-drawer.less @@ -56,12 +56,13 @@ /* Our badge - should be moved */ .umb-help-badge { - padding: 10px 20px 10px 35px; + padding: 10px 20px 10px 55px; background: @white; position: relative; overflow: hidden; border-radius: 3px; display: block; + margin-bottom:5px; box-shadow: 0 1px 1px 0 rgba(0,0,0,0.16); } @@ -76,10 +77,10 @@ } .umb-help-badge__icon { - font-size: 40px; + font-size: 36px; transform: translate(0,-50%); position: absolute; - left: -15px; + left: 10px; top: 50%; color: @red-l3; } @@ -130,6 +131,14 @@ align-items: center; } +/* the outer container for each help type - tours, video etc */ +.umb-help-section + .umb-help-section { + margin-top:20px; +} + +.umb-help-section__title { + margin:0 0 10px; +} /* Help list */ @@ -137,13 +146,13 @@ list-style: none; margin-left: 0; margin-bottom: 0; - background: @white; + background: @white; border-radius: 3px; box-shadow: 0 1px 1px 0 rgba(0,0,0,0.16); -} - -.umb-help-list:last-child { - border-bottom: none; + + [data-element*="help-tours"] & { + margin-bottom:5px; + } } .umb-help-list-item { @@ -156,20 +165,28 @@ border-bottom: none; } -.umb-help-list-item > a, +.umb-help-list-item__group-title i { + margin-right:2px; + text-decoration: none; +} + .umb-help-list-item__content { display: flex; align-items: center; - padding: 10px 20px; + padding: 10px 20px 10px 10px; + text-decoration: none; } +.umb-help-list-item:hover, +.umb-help-list-item:focus, +.umb-help-list-item:active, .umb-help-list-item > a:hover, .umb-help-list-item > a:focus, .umb-help-list-item > a:active { text-decoration: none; .umb-help-list-item__title { - text-decoration: underline !important; + text-decoration: underline; } } @@ -198,4 +215,8 @@ .umb-help-list-item:hover .umb-help-list-item__group-title { text-decoration: underline; +} + +[data-element*="tour-"].umb-help-list-item:hover .umb-help-list-item__title { + text-decoration:none; } \ No newline at end of file diff --git a/src/Umbraco.Web.UI.Client/src/less/components/check-circle.less b/src/Umbraco.Web.UI.Client/src/less/components/check-circle.less new file mode 100644 index 0000000000..a4c3a89c99 --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/less/components/check-circle.less @@ -0,0 +1,20 @@ +.check_circle { + display: flex; + opacity: 0; + width: 20px; + height: 20px; + margin: 0 auto; + + .icon { + background-color: rgba(0,0,0,.15); + border-radius: 50%; + color: @white; + font-size: 1em; + display: flex; + width: 100%; + height: 100%; + align-items: center; + justify-content: center; + float: left; + } +} diff --git a/src/Umbraco.Web.UI.Client/src/less/components/umb-color-swatches.less b/src/Umbraco.Web.UI.Client/src/less/components/umb-color-swatches.less new file mode 100644 index 0000000000..e27bd0d654 --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/less/components/umb-color-swatches.less @@ -0,0 +1,37 @@ +.umb-color-swatches { + + .umb-color-box { + border: none; + color: white; + cursor: pointer; + padding: 5px; + text-align: center; + text-decoration: none; + display: inline-block; + margin: 5px; + border-radius: 3px; + width: 30px; + height: 30px; + transition: box-shadow .3s; + + &:hover, &:focus { + box-shadow: 0 1px 3px rgba(0,0,0,0.12), 0 1px 2px rgba(0,0,0,0.24); + } + + &.active { + .check_circle { + opacity: 1; + } + } + + &.umb-color-box--m { + width: 40px; + height: 40px; + + .check_circle { + width: 25px; + height: 25px; + } + } + } +} diff --git a/src/Umbraco.Web.UI.Client/src/less/components/umb-grid.less b/src/Umbraco.Web.UI.Client/src/less/components/umb-grid.less index d09d170814..7dfcc493a8 100644 --- a/src/Umbraco.Web.UI.Client/src/less/components/umb-grid.less +++ b/src/Umbraco.Web.UI.Client/src/less/components/umb-grid.less @@ -537,15 +537,11 @@ .umb-grid textarea.textstring { display: block; overflow: hidden; - border: none; background: @white; outline: none; resize: none; color: @gray-3; -} - -.umb-grid .umb-cell-rte textarea.mceNoEditor { - display: none !important; + min-width: 100%; } .umb-grid .umb-cell-media .caption { @@ -567,11 +563,6 @@ width: 100%; } -.umb-grid .umb-cell-rte { - border-color: transparent; -} - - // ICONS // ------------------------- diff --git a/src/Umbraco.Web.UI.Client/src/less/components/umb-iconpicker.less b/src/Umbraco.Web.UI.Client/src/less/components/umb-iconpicker.less index 8ed034b403..6ca57e0829 100644 --- a/src/Umbraco.Web.UI.Client/src/less/components/umb-iconpicker.less +++ b/src/Umbraco.Web.UI.Client/src/less/components/umb-iconpicker.less @@ -40,3 +40,32 @@ .umb-iconpicker-item i { font-size: 30px; } + + +// Color swatch + .button { + border: none; + color: white; + padding: 5px; + text-align: center; + text-decoration: none; + display: inline-block; + margin: 5px; + border-radius: 3px; + } + + // Hide Circle when not active + i.small{ + display: none; + } + + // Circle behind the checkmark + i.small.active{ + font-size: 14px; + display: inline-block; + width: 20px; + height: 20px; + border-radius: 50%; + background-color: rgba(0,0,0,.15); + float: right; + } diff --git a/src/Umbraco.Web.UI.Client/src/less/components/umb-nested-content.less b/src/Umbraco.Web.UI.Client/src/less/components/umb-nested-content.less index 4f24fcf504..e2a8c8fc81 100644 --- a/src/Umbraco.Web.UI.Client/src/less/components/umb-nested-content.less +++ b/src/Umbraco.Web.UI.Client/src/less/components/umb-nested-content.less @@ -67,29 +67,63 @@ -o-user-select: none; } -.nested-content__heading -{ - float: left; +.nested-content__heading { line-height: 20px; -} + position: relative; -.nested-content__heading i -{ - vertical-align: text-top; - color: #999; /* same icon color as the icons in the item type picker */ - margin-right: 10px; + &.-with-icon + { + padding-left: 20px; + } + + i + { + color: #999; /* same icon color as the icons in the item type picker */ + position: absolute; + left: 0; + } + + .nested-content__item-name + { + max-height: 20px; + text-align: left; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + display: block; + } } .nested-content__icons { - margin: -6px 0; opacity: 0; transition: opacity .15s ease-in-out; -moz-transition: opacity .15s ease-in-out; -webkit-transition: opacity .15s ease-in-out; + + position: absolute; + right: 0px; + top: 2px; + background-color: white; + padding: 5px; + + &:before + { + content: ' '; + position: absolute; + display: block; + width: 30px; + left: -30px; + top: 0; + bottom: 0; + background: -webkit-linear-gradient(90deg, rgba(255,255,255,0), white); + background: -moz-linear-gradient(90deg, rgba(255,255,255,0), white); + background: linear-gradient(90deg, rgba(255,255,255,0), white); + } } + .nested-content__header-bar:hover .nested-content__icons, .nested-content__item--active > .nested-content__header-bar .nested-content__icons { diff --git a/src/Umbraco.Web.UI.Client/src/less/components/umb-node-preview.less b/src/Umbraco.Web.UI.Client/src/less/components/umb-node-preview.less index 9e038bd571..3d1015f972 100644 --- a/src/Umbraco.Web.UI.Client/src/less/components/umb-node-preview.less +++ b/src/Umbraco.Web.UI.Client/src/less/components/umb-node-preview.less @@ -1,11 +1,14 @@ .umb-node-preview { padding: 5px 0; display: flex; - max-width: 66.6%; box-sizing: border-box; border-bottom: 1px solid @gray-9; } +.umb-editor-wrapper .umb-node-preview { + max-width: 66.6%; +} + .umb-node-preview:last-of-type { border-bottom: none; } @@ -89,7 +92,6 @@ color: @turquoise-d1; font-weight: bold; padding: 5px 15px; - max-width: 66.6%; box-sizing: border-box; } @@ -97,6 +99,10 @@ color: @turquoise-d1; } +.umb-editor-wrapper .umb-node-preview-add { + max-width: 66.6%; +} + .umb-overlay, .umb-modal { .umb-node-preview { diff --git a/src/Umbraco.Web.UI.Client/src/less/components/umb-table.less b/src/Umbraco.Web.UI.Client/src/less/components/umb-table.less index 0ea7b5f434..b302ed2654 100644 --- a/src/Umbraco.Web.UI.Client/src/less/components/umb-table.less +++ b/src/Umbraco.Web.UI.Client/src/less/components/umb-table.less @@ -94,7 +94,7 @@ input.umb-table__input { cursor: pointer; font-size: 14px; position: relative; - min-height: 32px; + min-height: 52px; &:hover { background-color: @gray-10; } @@ -272,4 +272,4 @@ input.umb-table__input { font-size: 20px; } -} \ No newline at end of file +} diff --git a/src/Umbraco.Web.UI.Client/src/less/hacks.less b/src/Umbraco.Web.UI.Client/src/less/hacks.less index be48fd9ab6..22e2eb4566 100644 --- a/src/Umbraco.Web.UI.Client/src/less/hacks.less +++ b/src/Umbraco.Web.UI.Client/src/less/hacks.less @@ -20,12 +20,17 @@ } .thumbnail { - border-radius: 0px; -} + border-radius: 0; + min-width: 150px; -.thumbnail img { - max-width: 100% !important; - width: 100%; + > a { + display: block; + } + + img { + max-width: 100% !important; + width: 100%; + } } #mapCanvas img { diff --git a/src/Umbraco.Web.UI.Client/src/less/navs.less b/src/Umbraco.Web.UI.Client/src/less/navs.less index 08c1942554..d9656f194b 100644 --- a/src/Umbraco.Web.UI.Client/src/less/navs.less +++ b/src/Umbraco.Web.UI.Client/src/less/navs.less @@ -122,6 +122,14 @@ // Make the list-items overlay the bottom border .nav-tabs > li { // margin-bottom: -1px; + + &.dropdown { + margin-bottom: -3px; + + >.dropdown-toggle { + padding-bottom: 2px; + } + } } // Actual tabs (as links) .nav-tabs > li > a { diff --git a/src/Umbraco.Web.UI.Client/src/less/property-editors.less b/src/Umbraco.Web.UI.Client/src/less/property-editors.less index 67b684ab7e..fd9296259f 100644 --- a/src/Umbraco.Web.UI.Client/src/less/property-editors.less +++ b/src/Umbraco.Web.UI.Client/src/less/property-editors.less @@ -3,20 +3,20 @@ // -------------------------------------------------- .umb-property-editor { min-width:66.6%; - + &-pull { float:left; width:66.6%; } - + &-push { float:right; - } + } } .umb-property-editor-tiny { width: 60px; - + &.umb-editor-push { width:30%; min-width:0; @@ -53,7 +53,7 @@ float:right; width:35%; } - + &--pull, &--push { .umb-editor { min-width:0; @@ -134,68 +134,93 @@ div.umb-codeeditor .umb-btn-toolbar { // Color picker // -------------------------------------------------- ul.color-picker li { - padding: 2px; - margin: 3px; - border: 2px solid transparent; - width: 60px; -} -ul.color-picker li.active { - border: 2px dashed @gray-8; -} -ul.color-picker li a { - height: 50px; - display:block; - cursor:pointer; -} + padding: 2px; + margin: 3px; + border: 2px solid transparent; + width: 60px; -.control-group.color-picker-preval .thumbnail { - width:30px; - border:none; + &.active { + .check_circle { + opacity: 1; + } + } + + .thumbnail{ + min-width: auto; + width: inherit; + padding: 0; + } + + a { + height: 50px; + display:flex; + align-items: center; + justify-content: center; + cursor:pointer; + margin: 0 0 5px; + } } /* pre-value editor */ -/*.control-group.color-picker-preval:before { - content: ""; - display: inline-block; - vertical-align: middle; - height: 100%; -}*/ +.control-group.color-picker-preval { + .thumbnail { + width: 36px; + min-width: auto; + border: none; + cursor: move; + border-radius: 3px; + } -/*.control-group.color-picker-preval div.thumbnail { - display: inline-block; - vertical-align: middle; -}*/ -.control-group.color-picker-preval div.color-picker-prediv { - display: inline-block; - width: 60%; -} + .handle { + float: left; + display: inline-flex; + margin: 5px 3px 5px 0; + } -.control-group.color-picker-preval pre { - display: inline; - margin-right: 20px; - margin-left: 10px; - width: 50%; - white-space: nowrap; - overflow: hidden; - margin-bottom: 0; - vertical-align: middle; -} + div.color-picker-prediv { + display: inline-flex; + align-items: center; -.control-group.color-picker-preval btn { - //vertical-align: middle; -} + pre { + display: inline; + font-family: monospace; + margin-right: 10px; + margin-left: 10px; + width: 50%; + white-space: nowrap; + overflow: hidden; + margin-bottom: 0; + vertical-align: middle; + padding-top: 7px; + padding-bottom: 7px; + background: #f7f7f7; + } -.control-group.color-picker-preval input[type="text"] { - min-width: 40%; - width: 40%; - display: inline-block; - margin-right: 20px; - margin-top: 1px; -} + span { + margin-left: 5px; + } + } -.control-group.color-picker-preval label { - border: solid @white 1px; - padding: 6px; + input[type="text"] { + min-width: 40%; + width: 320px; + display: inline-block; + margin-top: 1px; + } + + .sp-replacer { + margin-right: 18px; + } + + label { + border: 1px solid #fff; + padding: 7px 10px; + font-family: monospace; + border: 1px solid #dfdfe1; + background: #f7f7f7; + margin: 0 15px 0 0; + border-radius: 3px; + } } @@ -369,7 +394,7 @@ ul.color-picker li a { > li:not(.unsortable) { cursor: move; } -} +} .umb-sortable-thumbnails li:hover .umb-sortable-thumbnails__actions { opacity: 1; @@ -899,10 +924,39 @@ ul.color-picker li a { // // Tags // -------------------------------------------------- -.umb-tags{border: @gray-10 solid 1px; padding: 10px; font-size: 13px; text-shadow: none;} -.umb-tags .tag{cursor: pointer; margin: 7px; padding: 7px; background: @turquoise} -.umb-tags .tag i{padding: 2px;} -.umb-tags input{border: none; background: @white} +.umb-tags{ + border: @gray-10 solid 1px; + padding: 10px; + font-size: 13px; + text-shadow: none; + + .tag{ + cursor: default; + margin: 7px; + padding: 10px; + background: @turquoise; + position: relative; + + .icon-trash{ + cursor: pointer; + padding: 2px; + font-size: 12px; + position: relative; + right: -6px; + } + + .umb_confirm-action__overlay.-left{ + top: 6px; + left: auto; + right: 15px; + } + } + + input{ + border: none; + background: @white; + } +} // // Date/time picker diff --git a/src/Umbraco.Web.UI.Client/src/less/tree.less b/src/Umbraco.Web.UI.Client/src/less/tree.less index d5ef7ccec5..cf163cd72d 100644 --- a/src/Umbraco.Web.UI.Client/src/less/tree.less +++ b/src/Umbraco.Web.UI.Client/src/less/tree.less @@ -178,7 +178,7 @@ } .umb-tree-icon { - cursor: pointer; + cursor: pointer; } .umb-tree i.noSpr { @@ -206,7 +206,7 @@ .umb-tree div.umb-search-group { position: inherit; - display: inherit; + display: inherit; } .umb-tree div.umb-search-group:hover { @@ -550,4 +550,4 @@ body.touch .umb-tree li div.l div { body.touch .umb-actions a { padding: 7px 25px 7px 20px; font-size: 110%; -} \ No newline at end of file +} diff --git a/src/Umbraco.Web.UI.Client/src/less/variables.less b/src/Umbraco.Web.UI.Client/src/less/variables.less index 5ee1d6dba1..35481af343 100644 --- a/src/Umbraco.Web.UI.Client/src/less/variables.less +++ b/src/Umbraco.Web.UI.Client/src/less/variables.less @@ -10,26 +10,30 @@ // Grays // ------------------------- @black: #000; -@blackLight: #1d1d1d; +@blackLight: #1D1D1D; @grayDarker: #222; @grayDark: #343434; @gray: #555; -@grayMed: #7f7f7f; -@grayLight: #d9d9d9; -@grayLighter: #f8f8f8; -@white: #fff; - +@grayMed: #7F7F7F; +@blueGrey: #607D8B; +@grayLight: #D9D9D9; +@grayLighter: #F8F8F8; +@white: #FFF; +@grayIcon: #9E9E9E; // Accent colors // ------------------------- -@blue: #2e8aea; -@blueDark: #0064cd; -@blueLight: #add8e6; -@green: #46a546; -@red: #9d261d; -@yellow: #ffc40d; + + + +@blue: #2E8AEA; +@blueDark: #0064CD; +@blueLight: #ADD8E6; +@green: #46A546; +@red: #9D261D; +@yellow: #FFC40D; @orange: #DF7F48; -@pink: #c3325f; +@pink: #C3325F; // Colors @@ -40,7 +44,7 @@ @turquoise-l1: #42CFC5; @turquoise-l2: #81DED8; @turquoise-l3: #C0F0ED; -@turquoise-washed: #F3FDFC; +@turquoise-washed: #F3FDFC; @purple-d2: #1D1333; @purple-d1: #2E2246; @@ -86,6 +90,28 @@ @gray-10: #F3F3F5; +// Additional Icon Colours +@brownIcon: #795548; +@blueIcon: #2196F3; +@lightBlueIcon: #03A9F4; +@cyanIcon: #00BCD4; +@greenIcon: #4CAF50; +@lightGreenIcon: #8BC34A; +@limeIcon: #CDDC39; +@yellowIcon: #FFEB3B; +@amberIcon: #FFC107; +@orangeIcon: #FF9800; +@deepOrangeIcon: #FF5722; +@redIcon: #F44336; +@pinkIcon: #E91E63; +@purpleIcon: #9C27B0; +@deepPurpleIcon: #673AB7; +@indigoIcon: #3F51B5; + + + + + .red{color: @red;} .blue{color: @blue;} .black{color: @black;} @@ -96,30 +122,71 @@ //icon colors for tree icons .color-red, .color-red i{color: @red-d1 !important;} .color-blue, .color-blue i{color: @turquoise-d1 !important;} -.color-orange, .color-orange i{color: #d9631e !important;} +.color-orange, .color-orange i{color: @orange !important;} .color-green, .color-green i{color: @green-d1 !important;} -.color-yellow, .color-yellow i{color: @yellow-d1 !important;} +.color-yellow, .color-yellow i{color: @yellowIcon !important;} /* Colors based on http://zavoloklom.github.io/material-design-color-palette/colors.html */ -.color-black, .color-black i { color: #000 !important; } -.color-blue-grey, .color-blue-grey i { color: #607d8b !important; } -.color-grey, .color-grey i { color: #9e9e9e !important; } -.color-brown, .color-brown i { color: #795548 !important; } -.color-blue, .color-blue i { color: #2196f3 !important; } -.color-light-blue, .color-light-blue i {color: #03a9f4 !important; } -.color-cyan, .color-cyan i { color: #00bcd4 !important; } -.color-green, .color-green i { color: #4caf50 !important; } -.color-light-green, .color-light-green i {color: #8bc34a !important; } -.color-lime, .color-lime i { color: #cddc39 !important; } -.color-yellow, .color-yellow i { color: #ffeb3b !important; } -.color-amber, .color-amber i { color: #ffc107 !important; } -.color-orange, .color-orange i { color: #ff9800 !important; } -.color-deep-orange, .color-deep-orange i { color: #ff5722 !important; } -.color-red, .color-red i { color: #f44336 !important; } -.color-pink, .color-pink i { color: #e91e63 !important; } -.color-purple,.color-purple i { color: #9c27b0 !important; } -.color-deep-purple, .color-deep-purple i { color: #673ab7 !important; } -.color-indigo, .color-indigo i { color: #3f51b5 !important; } +.btn-color-black {background-color: @black;} +.color-black i { color: @black;} + + +.btn-color-blue-grey {background-color: @blueGrey;} +.color-blue-grey, .color-blue-grey i { color: @blueGrey !important;} + + +.btn-color-grey{background-color: @grayIcon;} +.color-grey, .color-grey i { color: @grayIcon !important; } + + +.btn-color-brown{background-color: @brownIcon;} +.color-brown, .color-brown i { color: @brownIcon !important; } + +.btn-color-blue{background-color: @blueIcon;} +.color-blue, .color-blue i { color: @blueIcon !important; } + +.btn-color-light-blue{background-color: @lightBlueIcon;} +.color-light-blue, .color-light-blue i {color: @lightBlueIcon !important;} + +.btn-color-cyan{background-color: @cyanIcon;} +.color-cyan, .color-cyan i { color: @cyanIcon !important; } + +.btn-color-green{background-color: @greenIcon;} +.color-green, .color-green i { color: @greenIcon !important; } + +.btn-color-light-green{background-color: @lightGreenIcon;} +.color-light-green, .color-light-green i {color: @lightGreenIcon !important; } + +.btn-color-lime{background-color: @limeIcon;} +.color-lime, .color-lime i { color: @limeIcon !important; } + +.btn-color-yellow{background-color: @yellowIcon;} +.color-yellow, .color-yellow i { color: @yellowIcon !important; } + +.btn-color-amber{background-color: @amberIcon;} +.color-amber, .color-amber i { color: @amberIcon !important; } + +.btn-color-orange{background-color: @orangeIcon;} +.color-orange, .color-orange i { color: @orangeIcon !important; } + +.btn-color-deep-orange{background-color: @deepOrangeIcon;} +.color-deep-orange, .color-deep-orange i { color: @deepOrangeIcon !important; } + +.btn-color-red{background-color: @redIcon;} +.color-red, .color-red i { color: @redIcon !important; } + +.btn-color-pink{background-color: @pinkIcon;} +.color-pink, .color-pink i { color: @pinkIcon !important; } + +.btn-color-purple{background-color: @purpleIcon;} +.color-purple, .color-purple i { color: @purpleIcon !important; } + +.btn-color-deep-purple{background-color: @deepPurpleIcon;} +.color-deep-purple, .color-deep-purple i { color: @deepPurpleIcon !important; } + +.btn-color-indigo{background-color: @indigoIcon;} +.color-indigo, .color-indigo i { color: @indigoIcon !important; } + // Scaffolding diff --git a/src/Umbraco.Web.UI.Client/src/views/common/drawers/help/help.controller.js b/src/Umbraco.Web.UI.Client/src/views/common/drawers/help/help.controller.js index df40539aac..3323f2bfb3 100644 --- a/src/Umbraco.Web.UI.Client/src/views/common/drawers/help/help.controller.js +++ b/src/Umbraco.Web.UI.Client/src/views/common/drawers/help/help.controller.js @@ -48,15 +48,17 @@ setSectionName(); userService.getCurrentUser().then(function (user) { - + vm.userType = user.userType; vm.userLang = user.locale; + vm.hasAccessToSettings = _.contains(user.allowedSections, 'settings'); + evts.push(eventsService.on("appState.treeState.changed", function (e, args) { handleSectionChange(); })); - findHelp(vm.section, vm.tree, vm.usertype, vm.userLang); + findHelp(vm.section, vm.tree, vm.userType, vm.userLang); }); @@ -81,17 +83,20 @@ vm.tree = $routeParams.tree; setSectionName(); - findHelp(vm.section, vm.tree, vm.usertype, vm.userLang); + findHelp(vm.section, vm.tree, vm.userType, vm.userLang); } }); } function findHelp(section, tree, usertype, userLang) { + + if (vm.hasAccessToSettings) { + helpService.getContextHelpForPage(section, tree).then(function (topics) { + vm.topics = topics; + }); + } - helpService.getContextHelpForPage(section, tree).then(function (topics) { - vm.topics = topics; - }); var rq = {}; rq.section = vm.section; @@ -113,10 +118,12 @@ rq.path = rq.section + "/" + $routeParams.tree + "/" + $routeParams.method; } - helpService.findVideos(rq).then(function(videos){ - vm.videos = videos; - }); - + + if (vm.hasAccessToSettings) { + helpService.findVideos(rq).then(function (videos) { + vm.videos = videos; + }); + } } function setSectionName() { diff --git a/src/Umbraco.Web.UI.Client/src/views/common/drawers/help/help.html b/src/Umbraco.Web.UI.Client/src/views/common/drawers/help/help.html index 79c2118aca..46acddddb4 100644 --- a/src/Umbraco.Web.UI.Client/src/views/common/drawers/help/help.html +++ b/src/Umbraco.Web.UI.Client/src/views/common/drawers/help/help.html @@ -9,16 +9,17 @@ -
    +
    -
    Tours
    +
    Tours
    -
    +
    - -
    + +
    + {{tourGroup.group}} Other
    @@ -50,7 +51,7 @@ -
    +
    @@ -62,11 +63,11 @@
    -
    -
    Articles
    +
    -
    -
    Videos
    +
    -
    - +
    +
    Visit umbraco.tv
    @@ -103,9 +104,10 @@
    -
    + -
    Visit our.umbraco.org
    + +
    Visit our.umbraco.com
    The friendliest community diff --git a/src/Umbraco.Web.UI.Client/src/views/common/overlays/iconpicker/iconpicker.controller.js b/src/Umbraco.Web.UI.Client/src/views/common/overlays/iconpicker/iconpicker.controller.js index 7a186f3d6b..3c36505fcb 100644 --- a/src/Umbraco.Web.UI.Client/src/views/common/overlays/iconpicker/iconpicker.controller.js +++ b/src/Umbraco.Web.UI.Client/src/views/common/overlays/iconpicker/iconpicker.controller.js @@ -8,8 +8,35 @@ */ function IconPickerOverlay($scope, iconHelper, localizationService) { - $scope.loading = true; - $scope.model.hideSubmitButton = false; + $scope.loading = true; + $scope.model.hideSubmitButton = false; + + $scope.colors = [ + { name: "Black", value: "color-black" }, + { name: "Blue Grey", value: "color-blue-grey" }, + { name: "Grey", value: "color-grey" }, + { name: "Brown", value: "color-brown" }, + { name: "Blue", value: "color-blue" }, + { name: "Light Blue", value: "color-light-blue" }, + { name: "Indigo", value: "color-indigo" }, + { name: "Purple", value: "color-purple" }, + { name: "Deep Purple", value: "color-deep-purple" }, + { name: "Cyan", value: "color-cyan" }, + { name: "Green", value: "color-green" }, + { name: "Light Green", value: "color-light-green" }, + { name: "Lime", value: "color-lime" }, + { name: "Yellow", value: "color-yellow" }, + { name: "Amber", value: "color-amber" }, + { name: "Orange", value: "color-orange" }, + { name: "Deep Orange", value: "color-deep-orange" }, + { name: "Red", value: "color-red" }, + { name: "Pink", value: "color-pink" } + ]; + + if (!$scope.color) { + // Set default selected color to black + $scope.color = $scope.colors[0].value; + }; if (!$scope.model.title) { $scope.model.title = localizationService.localize("defaultdialogs_selectIcon"); @@ -23,20 +50,29 @@ function IconPickerOverlay($scope, iconHelper, localizationService) { $scope.icon = $scope.model.icon; }; - iconHelper.getIcons().then(function(icons) { - $scope.icons = icons; - $scope.loading = false; - }); + iconHelper.getIcons().then(function (icons) { + $scope.icons = icons; + $scope.loading = false; + }); - $scope.selectIcon = function(icon, color) { - $scope.model.icon = icon; - $scope.model.color = color; - $scope.submitForm($scope.model); - }; - - $scope.changeColor = function (color) { + $scope.selectIcon = function (icon, color) { + $scope.model.icon = icon; $scope.model.color = color; + $scope.submitForm($scope.model); }; + + var unsubscribe = $scope.$on("formSubmitting", + function () { + if ($scope.color) { + $scope.model.color = $scope.color; + } + }); + + //when the scope is destroyed we need to unsubscribe + $scope.$on("$destroy", + function () { + unsubscribe(); + }); } angular.module("umbraco").controller("Umbraco.Overlays.IconPickerOverlay", IconPickerOverlay); diff --git a/src/Umbraco.Web.UI.Client/src/views/common/overlays/iconpicker/iconpicker.html b/src/Umbraco.Web.UI.Client/src/views/common/overlays/iconpicker/iconpicker.html index 78a215d009..0098463cb4 100644 --- a/src/Umbraco.Web.UI.Client/src/views/common/overlays/iconpicker/iconpicker.html +++ b/src/Umbraco.Web.UI.Client/src/views/common/overlays/iconpicker/iconpicker.html @@ -1,3 +1,5 @@ + +
    @@ -15,27 +17,7 @@
    - +
    diff --git a/src/Umbraco.Web.UI.Client/src/views/common/overlays/macropicker/macropicker.controller.js b/src/Umbraco.Web.UI.Client/src/views/common/overlays/macropicker/macropicker.controller.js index c858ca03b9..058f71bfcf 100644 --- a/src/Umbraco.Web.UI.Client/src/views/common/overlays/macropicker/macropicker.controller.js +++ b/src/Umbraco.Web.UI.Client/src/views/common/overlays/macropicker/macropicker.controller.js @@ -20,14 +20,17 @@ function MacroPickerController($scope, entityResource, macroResource, umbPropEdi $scope.model.selectedMacro = macro; if ($scope.wizardStep === "macroSelect") { - editParams(); + editParams(true); } else { $scope.model.submit($scope.model); } }; /** changes the view to edit the params of the selected macro */ - function editParams() { + /** if there is pnly one macro, and it has parameters - editor can skip selecting the Macro **/ + function editParams(insertIfNoParameters) { + //whether to insert the macro in the rich text editor when editParams is called and there are no parameters see U4-10537 + insertIfNoParameters = (typeof insertIfNoParameters !== 'undefined') ? insertIfNoParameters : true; //get the macro params if there are any macroResource.getMacroParameters($scope.model.selectedMacro.id) .then(function (data) { @@ -37,7 +40,11 @@ function MacroPickerController($scope, entityResource, macroResource, umbPropEdi //go to next page if there are params otherwise we can just exit if (!angular.isArray(data) || data.length === 0) { - $scope.model.submit($scope.model); + if (insertIfNoParameters) { + $scope.model.submit($scope.model); + } else { + $scope.wizardStep = 'macroSelect'; + } } else { @@ -116,12 +123,19 @@ function MacroPickerController($scope, entityResource, macroResource, umbPropEdi if (found) { //select the macro and go to next screen $scope.model.selectedMacro = found; - editParams(); + editParams(true); return; } } - //we don't have a pre-selected macro so ensure the correct step is set - $scope.wizardStep = "macroSelect"; + //if there is only one macro in the site and it has parameters, let's not make the editor choose it from a selection of one macro (unless there are no parameters - then weirdly it's a better experience to make that selection) + if ($scope.macros.length == 1) { + $scope.model.selectedMacro = $scope.macros[0]; + editParams(false); + } + else { + //we don't have a pre-selected macro so ensure the correct step is set + $scope.wizardStep = 'macroSelect'; + } }); onInit(); diff --git a/src/Umbraco.Web.UI.Client/src/views/components/buttons/umb-toggle.html b/src/Umbraco.Web.UI.Client/src/views/components/buttons/umb-toggle.html index c7c34b2eaa..e850bf22b8 100644 --- a/src/Umbraco.Web.UI.Client/src/views/components/buttons/umb-toggle.html +++ b/src/Umbraco.Web.UI.Client/src/views/components/buttons/umb-toggle.html @@ -1,4 +1,4 @@ -
    + {{ displayLabelOff }} @@ -16,4 +16,4 @@ {{ displayLabelOn }} - \ No newline at end of file + diff --git a/src/Umbraco.Web.UI.Client/src/views/components/content/umb-content-node-info.html b/src/Umbraco.Web.UI.Client/src/views/components/content/umb-content-node-info.html index a6183435ae..ac38761010 100644 --- a/src/Umbraco.Web.UI.Client/src/views/components/content/umb-content-node-info.html +++ b/src/Umbraco.Web.UI.Client/src/views/components/content/umb-content-node-info.html @@ -179,22 +179,28 @@ - + on-open="openDocumentType(documentType)" + open-url="previewOpenUrl"> - +
    + + + Open + +
    diff --git a/src/Umbraco.Web.UI.Client/src/views/components/umb-color-swatches.html b/src/Umbraco.Web.UI.Client/src/views/components/umb-color-swatches.html new file mode 100644 index 0000000000..eae299e579 --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/views/components/umb-color-swatches.html @@ -0,0 +1,9 @@ +
    + + + +
    diff --git a/src/Umbraco.Web.UI.Client/src/views/components/umb-confirm-action.html b/src/Umbraco.Web.UI.Client/src/views/components/umb-confirm-action.html index c34c3f9283..f4e4dff3af 100644 --- a/src/Umbraco.Web.UI.Client/src/views/components/umb-confirm-action.html +++ b/src/Umbraco.Web.UI.Client/src/views/components/umb-confirm-action.html @@ -6,11 +6,11 @@ '-left': direction === 'left'}" on-outside-click="clickCancel()"> - + - +
    diff --git a/src/Umbraco.Web.UI.Client/src/views/components/umb-grid-selector.html b/src/Umbraco.Web.UI.Client/src/views/components/umb-grid-selector.html index c71c9eff6a..7a3158f259 100644 --- a/src/Umbraco.Web.UI.Client/src/views/components/umb-grid-selector.html +++ b/src/Umbraco.Web.UI.Client/src/views/components/umb-grid-selector.html @@ -6,6 +6,7 @@
    {{ defaultItem.name }}
    + (Default {{itemLabel}})
    @@ -15,7 +16,8 @@
    {{ selectedItem.name }}
    - Set as default + +
    diff --git a/src/Umbraco.Web.UI.Client/src/views/components/umb-node-preview.html b/src/Umbraco.Web.UI.Client/src/views/components/umb-node-preview.html index 2d3d2cfdae..ca7a30f152 100644 --- a/src/Umbraco.Web.UI.Client/src/views/components/umb-node-preview.html +++ b/src/Umbraco.Web.UI.Client/src/views/components/umb-node-preview.html @@ -13,9 +13,9 @@
    - Edit - Open - Remove + Edit + Open + Remove
    diff --git a/src/Umbraco.Web.UI.Client/src/views/content/content.restore.controller.js b/src/Umbraco.Web.UI.Client/src/views/content/content.restore.controller.js index c9124bf956..62eaa6fca6 100644 --- a/src/Umbraco.Web.UI.Client/src/views/content/content.restore.controller.js +++ b/src/Umbraco.Web.UI.Client/src/views/content/content.restore.controller.js @@ -1,5 +1,5 @@ angular.module("umbraco").controller("Umbraco.Editors.Content.RestoreController", - function ($scope, relationResource, contentResource, navigationService, appState, treeService) { + function ($scope, relationResource, contentResource, navigationService, appState, treeService, localizationService) { var dialogOptions = $scope.dialogOptions; var node = dialogOptions.currentNode; @@ -12,9 +12,9 @@ angular.module("umbraco").controller("Umbraco.Editors.Content.RestoreController" if (data.length == 0) { $scope.success = false; $scope.error = { - errorMsg: "Cannot automatically restore this item", + errorMsg: localizationService.localize('recycleBin_itemCannotBeRestored'), data: { - Message: "There is no 'restore' relation found for this node. Use the Move menu item to move it manually." + Message: localizationService.localize('recycleBin_noRestoreRelation') } } return; @@ -32,9 +32,11 @@ angular.module("umbraco").controller("Umbraco.Editors.Content.RestoreController" // make sure the target item isn't in the recycle bin if($scope.target.path.indexOf("-20") !== -1) { $scope.error = { - errorMsg: "Cannot automatically restore this item", + errorMsg: localizationService.localize('recycleBin_itemCannotBeRestored'), data: { - Message: "The item you want to restore it under (" + $scope.target.name + ") is in the recycle bin. Use the Move menu item to move the item manually." + Message: localizationService.localize('recycleBin_restoreUnderRecycled').then(function (value) { + value.replace('%0%', $scope.target.name); + }) } }; $scope.success = false; @@ -80,4 +82,4 @@ angular.module("umbraco").controller("Umbraco.Editors.Content.RestoreController" $scope.error = err; }); }; - }); \ No newline at end of file + }); diff --git a/src/Umbraco.Web.UI.Client/src/views/content/restore.html b/src/Umbraco.Web.UI.Client/src/views/content/restore.html index 8564a80bf7..e99e2eb251 100644 --- a/src/Umbraco.Web.UI.Client/src/views/content/restore.html +++ b/src/Umbraco.Web.UI.Client/src/views/content/restore.html @@ -2,9 +2,9 @@
    -

    - Restore {{currentNode.name}} under {{target.name}}? -

    +

    + Restore {{currentNode.name}} under {{target.name}}? +

    {{error.errorMsg}}
    @@ -12,15 +12,15 @@
    -

    {{currentNode.name}} was moved underneath {{target.name}}

    - +

    {{currentNode.name}} was moved underneath {{target.name}}

    +
    -
    \ No newline at end of file +
    diff --git a/src/Umbraco.Web.UI.Client/src/views/dashboard/dashboard.tabs.controller.js b/src/Umbraco.Web.UI.Client/src/views/dashboard/dashboard.tabs.controller.js index ca8413e10d..877135c105 100644 --- a/src/Umbraco.Web.UI.Client/src/views/dashboard/dashboard.tabs.controller.js +++ b/src/Umbraco.Web.UI.Client/src/views/dashboard/dashboard.tabs.controller.js @@ -44,12 +44,12 @@ function startUpDynamicContentController($timeout, $scope, dashboardResource, as { title: "Documentation", description: "Find the answers to your Umbraco questions", - url: "https://our.umbraco.org/documentation/?utm_source=core&utm_medium=dashboard&utm_content=text&utm_campaign=documentation/" + url: "https://our.umbraco.com/documentation/?utm_source=core&utm_medium=dashboard&utm_content=text&utm_campaign=documentation/" }, { title: "Community", description: "Find the answers or ask your Umbraco questions", - url: "https://our.umbraco.org/?utm_source=core&utm_medium=dashboard&utm_content=text&utm_campaign=our_forum" + url: "https://our.umbraco.com/?utm_source=core&utm_medium=dashboard&utm_content=text&utm_campaign=our_forum" }, { title: "Umbraco.tv", @@ -75,7 +75,7 @@ function startUpDynamicContentController($timeout, $scope, dashboardResource, as title: "Our Umbraco - The Friendliest Community", description: "Our Umbraco - the official community site is your one stop for everything Umbraco. Whether you need a question answered or looking for cool plugins, the world's best and friendliest community is just a click away.", img: "views/dashboard/default/ourumbraco.jpg", - url: "https://our.umbraco.org/?utm_source=core&utm_medium=dashboard&utm_content=image&utm_campaign=our", + url: "https://our.umbraco.com/?utm_source=core&utm_medium=dashboard&utm_content=image&utm_campaign=our", altText: "Our Umbraco", buttonText: "Visit Our Umbraco" } diff --git a/src/Umbraco.Web.UI.Client/src/views/dashboard/developer/developerdashboardintro.html b/src/Umbraco.Web.UI.Client/src/views/dashboard/developer/developerdashboardintro.html index 9b7f1433e3..d8d3d127eb 100644 --- a/src/Umbraco.Web.UI.Client/src/views/dashboard/developer/developerdashboardintro.html +++ b/src/Umbraco.Web.UI.Client/src/views/dashboard/developer/developerdashboardintro.html @@ -5,9 +5,9 @@

    Find out more:

      -
    • Find the answers to your Umbraco questions on our Community Wiki
    • -
    • Ask a question in the Community Forum
    • -
    • Find an add-on package to help you get going quickly
    • +
    • Find the answers to your Umbraco questions on our Community Wiki
    • +
    • Ask a question in the Community Forum
    • +
    • Find an add-on package to help you get going quickly
    • Watch our tutorial videos (some are free, some require a subscription)
    • Find out about our productivity boosting tools and commercial support
    • Find out about real-life training and certification opportunities
    • diff --git a/src/Umbraco.Web.UI.Client/src/views/dashboard/developer/healthcheck.html b/src/Umbraco.Web.UI.Client/src/views/dashboard/developer/healthcheck.html index be74948ad5..93d278b3a8 100644 --- a/src/Umbraco.Web.UI.Client/src/views/dashboard/developer/healthcheck.html +++ b/src/Umbraco.Web.UI.Client/src/views/dashboard/developer/healthcheck.html @@ -14,7 +14,7 @@

      The health checker evaluates various areas of your site for best practice settings, configuration, potential problems, etc. You can easily fix problems by pressing a button. - You can add your own health checks, have a look at the documentation for more information about custom health checks.

      + You can add your own health checks, have a look at the documentation for more information about custom health checks.

      diff --git a/src/Umbraco.Web.UI.Client/src/views/dashboard/members/membersdashboardintro.html b/src/Umbraco.Web.UI.Client/src/views/dashboard/members/membersdashboardintro.html index d42d3ebf7c..c29b52d96e 100644 --- a/src/Umbraco.Web.UI.Client/src/views/dashboard/members/membersdashboardintro.html +++ b/src/Umbraco.Web.UI.Client/src/views/dashboard/members/membersdashboardintro.html @@ -6,5 +6,5 @@

      More about members

      diff --git a/src/Umbraco.Web.UI.Client/src/views/dashboard/settings/settingsdashboardintro.html b/src/Umbraco.Web.UI.Client/src/views/dashboard/settings/settingsdashboardintro.html index dd3f83ca7d..8037e00f58 100644 --- a/src/Umbraco.Web.UI.Client/src/views/dashboard/settings/settingsdashboardintro.html +++ b/src/Umbraco.Web.UI.Client/src/views/dashboard/settings/settingsdashboardintro.html @@ -4,9 +4,9 @@

      This section contains the building blocks for your Umbraco site. Follow the below links to find out more about working with the items in the Settings section:

      Find out more:
        -
      • Read more about working with the Items in Settings in the Documentation section of Our Umbraco
      • -
      • Download the Editors Manual for details on working with the Umbraco UI
      • -
      • Ask a question in the Community Forum
      • +
      • Read more about working with the Items in Settings in the Documentation section of Our Umbraco
      • +
      • Download the Editors Manual for details on working with the Umbraco UI
      • +
      • Ask a question in the Community Forum
      • Watch our tutorial videos (some are free, some require a subscription)
      • Find out about our productivity boosting tools and commercial support
      • Find out about real-life training and certification opportunities
      • diff --git a/src/Umbraco.Web.UI.Client/src/views/datatypes/move.html b/src/Umbraco.Web.UI.Client/src/views/datatypes/move.html index 4452f78234..ea57cb8e95 100644 --- a/src/Umbraco.Web.UI.Client/src/views/datatypes/move.html +++ b/src/Umbraco.Web.UI.Client/src/views/datatypes/move.html @@ -1,4 +1,4 @@ -
        +
        diff --git a/src/Umbraco.Web.UI.Client/src/views/documenttypes/copy.html b/src/Umbraco.Web.UI.Client/src/views/documenttypes/copy.html index 64b523ba70..af3b954c83 100644 --- a/src/Umbraco.Web.UI.Client/src/views/documenttypes/copy.html +++ b/src/Umbraco.Web.UI.Client/src/views/documenttypes/copy.html @@ -1,4 +1,4 @@ -
        +
        diff --git a/src/Umbraco.Web.UI.Client/src/views/documenttypes/move.html b/src/Umbraco.Web.UI.Client/src/views/documenttypes/move.html index e67288ad86..379a64fc14 100644 --- a/src/Umbraco.Web.UI.Client/src/views/documenttypes/move.html +++ b/src/Umbraco.Web.UI.Client/src/views/documenttypes/move.html @@ -1,4 +1,4 @@ -
        +
        diff --git a/src/Umbraco.Web.UI.Client/src/views/documenttypes/views/templates/templates.html b/src/Umbraco.Web.UI.Client/src/views/documenttypes/views/templates/templates.html index 0be23bd934..e5317c134e 100644 --- a/src/Umbraco.Web.UI.Client/src/views/documenttypes/views/templates/templates.html +++ b/src/Umbraco.Web.UI.Client/src/views/documenttypes/views/templates/templates.html @@ -9,16 +9,15 @@
        - - + +
        diff --git a/src/Umbraco.Web.UI.Client/src/views/media/media.restore.controller.js b/src/Umbraco.Web.UI.Client/src/views/media/media.restore.controller.js new file mode 100644 index 0000000000..6ef9232c37 --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/views/media/media.restore.controller.js @@ -0,0 +1,85 @@ +angular.module("umbraco").controller("Umbraco.Editors.Media.RestoreController", + function ($scope, relationResource, mediaResource, navigationService, appState, treeService, localizationService) { + var dialogOptions = $scope.dialogOptions; + + var node = dialogOptions.currentNode; + + $scope.error = null; + $scope.success = false; + + relationResource.getByChildId(node.id, "relateParentDocumentOnDelete").then(function (data) { + + if (data.length == 0) { + $scope.success = false; + $scope.error = { + errorMsg: localizationService.localize('recycleBin_itemCannotBeRestored'), + data: { + Message: localizationService.localize('recycleBin_noRestoreRelation') + } + } + return; + } + + $scope.relation = data[0]; + + if ($scope.relation.parentId == -1) { + $scope.target = { id: -1, name: "Root" }; + + } else { + mediaResource.getById($scope.relation.parentId).then(function (data) { + $scope.target = data; + + // make sure the target item isn't in the recycle bin + if ($scope.target.path.indexOf("-20") !== -1) { + $scope.error = { + errorMsg: localizationService.localize('recycleBin_itemCannotBeRestored'), + data: { + Message: localizationService.localize('recycleBin_restoreUnderRecycled').then(function (value) { + value.replace('%0%', $scope.target.name); + }) + } + }; + $scope.success = false; + } + + }, function (err) { + $scope.success = false; + $scope.error = err; + }); + } + + }, function (err) { + $scope.success = false; + $scope.error = err; + }); + + $scope.restore = function () { + // this code was copied from `content.move.controller.js` + mediaResource.move({ parentId: $scope.target.id, id: node.id }) + .then(function (path) { + + $scope.success = true; + + //first we need to remove the node that launched the dialog + treeService.removeNode($scope.currentNode); + + //get the currently edited node (if any) + var activeNode = appState.getTreeState("selectedNode"); + + //we need to do a double sync here: first sync to the moved media item - but don't activate the node, + //then sync to the currenlty edited media item (note: this might not be the media item that was moved!!) + + navigationService.syncTree({ tree: "media", path: path, forceReload: true, activate: false }).then(function (args) { + if (activeNode) { + var activeNodePath = treeService.getPath(activeNode).join(); + //sync to this node now - depending on what was copied this might already be synced but might not be + navigationService.syncTree({ tree: "media", path: activeNodePath, forceReload: false, activate: true }); + } + }); + + }, function (err) { + $scope.success = false; + $scope.error = err; + }); + }; + }); diff --git a/src/Umbraco.Web.UI.Client/src/views/media/move.html b/src/Umbraco.Web.UI.Client/src/views/media/move.html index 40f86b22dc..be15f1d366 100644 --- a/src/Umbraco.Web.UI.Client/src/views/media/move.html +++ b/src/Umbraco.Web.UI.Client/src/views/media/move.html @@ -1,57 +1,56 @@
        -
        -
        +
        +
        -
        -
        -
        {{error.errorMsg}}
        -
        {{error.data.message}}
        +
        +
        +
        {{error.errorMsg}}
        +
        {{error.data.message}}
        +
        -
        -
        -
        - {{currentNode.name}} was moved underneath {{target.name}} -
        - -
        +
        +
        + {{currentNode.name}} was moved underneath {{target.name}} +
        + +
        -

        - Choose where to move - {{currentNode.name}} - to in the tree structure below -

        +

        + Choose where to move + {{currentNode.name}} + to in the tree structure below +

        -
        +
        -
        - - -
        +
        + + +
        - - + + -
        -
        -
        - - - +
        +
        +
        + +
        diff --git a/src/Umbraco.Web.UI.Client/src/views/media/restore.html b/src/Umbraco.Web.UI.Client/src/views/media/restore.html new file mode 100644 index 0000000000..17fff154d1 --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/views/media/restore.html @@ -0,0 +1,26 @@ +
        +
        + + +

        + Restore {{currentNode.name}} under {{target.name}}? +

        + +
        +
        {{error.errorMsg}}
        +
        {{error.data.Message}}
        +
        + +
        +

        {{currentNode.name}} was moved underneath {{target.name}}

        + +
        + +
        +
        + + +
        diff --git a/src/Umbraco.Web.UI.Client/src/views/mediatypes/copy.html b/src/Umbraco.Web.UI.Client/src/views/mediatypes/copy.html index 62e5a4a749..8104fcc979 100644 --- a/src/Umbraco.Web.UI.Client/src/views/mediatypes/copy.html +++ b/src/Umbraco.Web.UI.Client/src/views/mediatypes/copy.html @@ -1,4 +1,4 @@ -
        +
        diff --git a/src/Umbraco.Web.UI.Client/src/views/mediatypes/move.html b/src/Umbraco.Web.UI.Client/src/views/mediatypes/move.html index 96a72b0c32..5d96375b44 100644 --- a/src/Umbraco.Web.UI.Client/src/views/mediatypes/move.html +++ b/src/Umbraco.Web.UI.Client/src/views/mediatypes/move.html @@ -1,4 +1,4 @@ -
        +
        diff --git a/src/Umbraco.Web.UI.Client/src/views/prevalueeditors/multivalues.html b/src/Umbraco.Web.UI.Client/src/views/prevalueeditors/multivalues.html index 24ca38d24f..bb5e5fe782 100644 --- a/src/Umbraco.Web.UI.Client/src/views/prevalueeditors/multivalues.html +++ b/src/Umbraco.Web.UI.Client/src/views/prevalueeditors/multivalues.html @@ -4,7 +4,7 @@
        - +
        @@ -14,7 +14,7 @@
        diff --git a/src/Umbraco.Web.UI.Client/src/views/prevalueeditors/radiobuttonlist.html b/src/Umbraco.Web.UI.Client/src/views/prevalueeditors/radiobuttonlist.html index b82eb88ad2..973d287ea8 100644 --- a/src/Umbraco.Web.UI.Client/src/views/prevalueeditors/radiobuttonlist.html +++ b/src/Umbraco.Web.UI.Client/src/views/prevalueeditors/radiobuttonlist.html @@ -1,7 +1,15 @@ -
          -
        • - -
        • -
        \ No newline at end of file +
          +
        • + +
        • +
        + +
          +
        • + +
        • +
        diff --git a/src/Umbraco.Web.UI.Client/src/views/propertyeditors/colorpicker/colorpicker.controller.js b/src/Umbraco.Web.UI.Client/src/views/propertyeditors/colorpicker/colorpicker.controller.js index 56ef917510..14c37d2ee4 100644 --- a/src/Umbraco.Web.UI.Client/src/views/propertyeditors/colorpicker/colorpicker.controller.js +++ b/src/Umbraco.Web.UI.Client/src/views/propertyeditors/colorpicker/colorpicker.controller.js @@ -1,5 +1,41 @@ function ColorPickerController($scope) { + //setup the default config + var config = { + items: [], + multiple: false + }; + + //map the user config + angular.extend(config, $scope.model.config); + + //map back to the model + $scope.model.config = config; + + function convertArrayToDictionaryArray(model) { + //now we need to format the items in the dictionary because we always want to have an array + var newItems = []; + for (var i = 0; i < model.length; i++) { + newItems.push({ id: model[i], sortOrder: 0, value: model[i] }); + } + + return newItems; + } + + + function convertObjectToDictionaryArray(model) { + //now we need to format the items in the dictionary because we always want to have an array + var newItems = []; + var vals = _.values($scope.model.config.items); + var keys = _.keys($scope.model.config.items); + + for (var i = 0; i < vals.length; i++) { + var label = vals[i].value ? vals[i].value : vals[i]; + newItems.push({ id: keys[i], sortOrder: vals[i].sortOrder, value: label }); + } + + return newItems; + } $scope.isConfigured = $scope.model.config && $scope.model.config.items && _.keys($scope.model.config.items).length > 0; if ($scope.isConfigured) { @@ -13,6 +49,35 @@ function ColorPickerController($scope) { initActiveColor(); } + if (!angular.isArray($scope.model.config.items)) { + //make an array from the dictionary + var items = []; + for (var i in $scope.model.config.items) { + var oldValue = $scope.model.config.items[i]; + if (oldValue.hasOwnProperty("value")) { + items.push({ + value: oldValue.value, + label: oldValue.label, + sortOrder: oldValue.sortOrder, + id: i + }); + } else { + items.push({ + value: oldValue, + label: oldValue, + sortOrder: sortOrder, + id: i + }); + } + } + + //ensure the items are sorted by the provided sort order + items.sort(function (a, b) { return (a.sortOrder > b.sortOrder) ? 1 : ((b.sortOrder > a.sortOrder) ? -1 : 0); }); + + //now make the editor model the array + $scope.model.config.items = items; + } + $scope.toggleItem = function (color) { var currentColor = ($scope.model.value && $scope.model.value.hasOwnProperty("value")) diff --git a/src/Umbraco.Web.UI.Client/src/views/propertyeditors/colorpicker/colorpicker.html b/src/Umbraco.Web.UI.Client/src/views/propertyeditors/colorpicker/colorpicker.html index ece0cef10c..1cb61f4168 100644 --- a/src/Umbraco.Web.UI.Client/src/views/propertyeditors/colorpicker/colorpicker.html +++ b/src/Umbraco.Web.UI.Client/src/views/propertyeditors/colorpicker/colorpicker.html @@ -7,6 +7,9 @@
        • +
          + +
        • diff --git a/src/Umbraco.Web.UI.Client/src/views/propertyeditors/colorpicker/colorpicker.prevalues.html b/src/Umbraco.Web.UI.Client/src/views/propertyeditors/colorpicker/colorpicker.prevalues.html index 12afbf0171..7d88fb068f 100644 --- a/src/Umbraco.Web.UI.Client/src/views/propertyeditors/colorpicker/colorpicker.prevalues.html +++ b/src/Umbraco.Web.UI.Client/src/views/propertyeditors/colorpicker/colorpicker.prevalues.html @@ -1,13 +1,24 @@ -
          -
          - - - - +
          +
          +
          + + + +
          +
          + +
          -
          -
          -
          #{{item.value}} - {{item.label}}
          - +
          +
          + +
          +
          +
          #{{item.value}}
          {{item.label}}
          +
          +
          + Remove +
          +
          diff --git a/src/Umbraco.Web.UI.Client/src/views/propertyeditors/colorpicker/multicolorpicker.controller.js b/src/Umbraco.Web.UI.Client/src/views/propertyeditors/colorpicker/multicolorpicker.controller.js index 98e649729c..7ae728a85a 100644 --- a/src/Umbraco.Web.UI.Client/src/views/propertyeditors/colorpicker/multicolorpicker.controller.js +++ b/src/Umbraco.Web.UI.Client/src/views/propertyeditors/colorpicker/multicolorpicker.controller.js @@ -1,5 +1,5 @@ angular.module("umbraco").controller("Umbraco.PrevalueEditors.MultiColorPickerController", - function ($scope, $timeout, assetsService, angularHelper, $element) { + function ($scope, $timeout, assetsService, angularHelper, $element, localizationService, eventsService) { //NOTE: We need to make each color an object, not just a string because you cannot 2-way bind to a primitive. var defaultColor = "000000"; var defaultLabel = null; @@ -8,6 +8,23 @@ $scope.newLavel = defaultLabel; $scope.hasError = false; + $scope.labels = {}; + + var labelKeys = [ + "general_cancel", + "general_choose" + ]; + + $scope.labelEnabled = false; + eventsService.on("toggleValue", function (e, args) { + $scope.labelEnabled = args.value; + }); + + localizationService.localizeMany(labelKeys).then(function (values) { + $scope.labels.cancel = values[0]; + $scope.labels.choose = values[1]; + }); + assetsService.load([ //"lib/spectrum/tinycolor.js", "lib/spectrum/spectrum.js" @@ -16,8 +33,8 @@ elem.spectrum({ color: null, showInitial: false, - chooseText: "choose", // TODO: These can be localised - cancelText: "cancel", // TODO: These can be localised + chooseText: $scope.labels.choose, + cancelText: $scope.labels.cancel, preferredFormat: "hex", showInput: true, clickoutFiresChange: true, @@ -46,16 +63,22 @@ items.push({ value: oldValue.value, label: oldValue.label, + sortOrder: oldValue.sortOrder, id: i }); } else { items.push({ value: oldValue, label: oldValue, + sortOrder: sortOrder, id: i }); } } + + //ensure the items are sorted by the provided sort order + items.sort(function (a, b) { return (a.sortOrder > b.sortOrder) ? 1 : ((b.sortOrder > a.sortOrder) ? -1 : 0); }); + //now make the editor model the array $scope.model.value = items; } @@ -104,6 +127,39 @@ }; + $scope.sortableOptions = { + axis: 'y', + containment: 'parent', + cursor: 'move', + //handle: ".handle, .thumbnail", + items: '> div.control-group', + tolerance: 'pointer', + update: function (e, ui) { + // Get the new and old index for the moved element (using the text as the identifier, so + // we'd have a problem if two prevalues were the same, but that would be unlikely) + var newIndex = ui.item.index(); + var movedPrevalueText = $('pre', ui.item).text(); + var originalIndex = getElementIndexByPrevalueText(movedPrevalueText); + + //// Move the element in the model + if (originalIndex > -1) { + var movedElement = $scope.model.value[originalIndex]; + $scope.model.value.splice(originalIndex, 1); + $scope.model.value.splice(newIndex, 0, movedElement); + } + } + }; + + function getElementIndexByPrevalueText(value) { + for (var i = 0; i < $scope.model.value.length; i++) { + if ($scope.model.value[i].value === value) { + return i; + } + } + + return -1; + } + //load the separate css for the editor to avoid it blocking our js loading assetsService.loadCss("lib/spectrum/spectrum.css", $scope); }); diff --git a/src/Umbraco.Web.UI.Client/src/views/propertyeditors/fileupload/fileupload.controller.js b/src/Umbraco.Web.UI.Client/src/views/propertyeditors/fileupload/fileupload.controller.js index d701e6172d..58f438c194 100644 --- a/src/Umbraco.Web.UI.Client/src/views/propertyeditors/fileupload/fileupload.controller.js +++ b/src/Umbraco.Web.UI.Client/src/views/propertyeditors/fileupload/fileupload.controller.js @@ -73,7 +73,7 @@ function fileUploadController($scope, $element, $compile, imageHelper, fileManag var extension = file.file.substring(file.file.lastIndexOf(".") + 1, file.file.length); - file.thumbnail = thumbnailUrl; + file.thumbnail = thumbnailUrl + '&rnd=' + Math.random(); file.extension = extension.toLowerCase(); }); diff --git a/src/Umbraco.Web.UI.Client/src/views/propertyeditors/fileupload/fileupload.html b/src/Umbraco.Web.UI.Client/src/views/propertyeditors/fileupload/fileupload.html index 365372ff0d..9db24c237b 100644 --- a/src/Umbraco.Web.UI.Client/src/views/propertyeditors/fileupload/fileupload.html +++ b/src/Umbraco.Web.UI.Client/src/views/propertyeditors/fileupload/fileupload.html @@ -6,9 +6,11 @@ {{file.file}} {{file.file}} - - - .{{file.extension}} + + + + .{{file.extension}} + {{file.file}} diff --git a/src/Umbraco.Web.UI.Client/src/views/propertyeditors/grid/grid.controller.js b/src/Umbraco.Web.UI.Client/src/views/propertyeditors/grid/grid.controller.js index 8bdcfdc351..9f759d73a1 100644 --- a/src/Umbraco.Web.UI.Client/src/views/propertyeditors/grid/grid.controller.js +++ b/src/Umbraco.Web.UI.Client/src/views/propertyeditors/grid/grid.controller.js @@ -337,7 +337,7 @@ angular.module("umbraco") } } - $scope.addRow = function (section, layout) { + $scope.addRow = function (section, layout, isInit) { //copy the selected layout into the rows collection var row = angular.copy(layout); @@ -349,8 +349,9 @@ angular.module("umbraco") if (row) { section.rows.push(row); } - - currentForm.$setDirty(); + if (!isInit) { + currentForm.$setDirty(); + } $scope.showRowConfigurations = false; @@ -732,7 +733,7 @@ angular.module("umbraco") if (!section.rows || section.rows.length === 0) { section.rows = []; if(section.$allowedLayouts.length === 1){ - $scope.addRow(section, section.$allowedLayouts[0]); + $scope.addRow(section, section.$allowedLayouts[0], true); } } else { _.forEach(section.rows, function (row, index) { diff --git a/src/Umbraco.Web.UI.Client/src/views/propertyeditors/grid/grid.prevalues.html b/src/Umbraco.Web.UI.Client/src/views/propertyeditors/grid/grid.prevalues.html index fa2da2f9e2..539433821b 100644 --- a/src/Umbraco.Web.UI.Client/src/views/propertyeditors/grid/grid.prevalues.html +++ b/src/Umbraco.Web.UI.Client/src/views/propertyeditors/grid/grid.prevalues.html @@ -2,7 +2,7 @@
          -

          +

            - +
          @@ -57,13 +57,13 @@
        • + class="preview-rows columns" style="margin-top: 5px; margin-bottom: 25px; float:left">
          + ng-class="{last:$last}" + ng-repeat="area in layout.areas | filter:zeroWidthFilter" + ng-style="{width: percentage(area.grid) + '%', 'max-width': '100%'}">

          {{area.maxItems}}

          @@ -95,15 +95,13 @@
          - - + + - +
          - + - + - + - +
          diff --git a/src/Umbraco.Web.UI.Client/src/views/propertyeditors/listview/includeproperties.prevalues.controller.js b/src/Umbraco.Web.UI.Client/src/views/propertyeditors/listview/includeproperties.prevalues.controller.js index 0cd199ae4d..216f1555e2 100644 --- a/src/Umbraco.Web.UI.Client/src/views/propertyeditors/listview/includeproperties.prevalues.controller.js +++ b/src/Umbraco.Web.UI.Client/src/views/propertyeditors/listview/includeproperties.prevalues.controller.js @@ -4,6 +4,9 @@ function includePropsPreValsController($rootScope, $scope, localizationService, $scope.model.value = []; } + $scope.hasError = false; + $scope.errorMsg = ""; + $scope.propertyAliases = []; $scope.selectedField = null; $scope.systemFields = [ @@ -45,6 +48,11 @@ function includePropsPreValsController($rootScope, $scope, localizationService, return alias; } + $scope.changeField = function () { + $scope.hasError = false; + $scope.errorMsg = ""; + } + $scope.removeField = function(e) { $scope.model.value = _.reject($scope.model.value, function (x) { return x.alias === e.alias; @@ -123,19 +131,34 @@ function includePropsPreValsController($rootScope, $scope, localizationService, $scope.addField = function () { var val = $scope.selectedField; - var isSystem = val.startsWith("_system_"); - if (isSystem) { - val = val.trimStart("_system_"); - } + if (val) { + var isSystem = val.startsWith("_system_"); + if (isSystem) { + val = val.trimStart("_system_"); + } - var exists = _.find($scope.model.value, function (i) { - return i.alias === val; - }); - if (!exists) { - $scope.model.value.push({ - alias: val, - isSystem: isSystem ? 1 : 0 + var exists = _.find($scope.model.value, function (i) { + return i.alias === val; }); + + if (!exists) { + $scope.hasError = false; + $scope.errorMsg = ""; + + $scope.model.value.push({ + alias: val, + isSystem: isSystem ? 1 : 0 + }); + } + else { + //there was an error, do the highlight (will be set back by the directive) + $scope.hasError = true; + $scope.errorMsg = "Property is already added"; + } + } + else { + $scope.hasError = true; + $scope.errorMsg = "No property selected"; } } diff --git a/src/Umbraco.Web.UI.Client/src/views/propertyeditors/listview/includeproperties.prevalues.html b/src/Umbraco.Web.UI.Client/src/views/propertyeditors/listview/includeproperties.prevalues.html index 5505895a5d..345c58f423 100644 --- a/src/Umbraco.Web.UI.Client/src/views/propertyeditors/listview/includeproperties.prevalues.html +++ b/src/Umbraco.Web.UI.Client/src/views/propertyeditors/listview/includeproperties.prevalues.html @@ -1,7 +1,7 @@ 
          - @@ -9,6 +9,7 @@ + {{errorMsg}}
          diff --git a/src/Umbraco.Web.UI.Client/src/views/propertyeditors/listview/listview.controller.js b/src/Umbraco.Web.UI.Client/src/views/propertyeditors/listview/listview.controller.js index 777110197d..ef660f02b1 100644 --- a/src/Umbraco.Web.UI.Client/src/views/propertyeditors/listview/listview.controller.js +++ b/src/Umbraco.Web.UI.Client/src/views/propertyeditors/listview/listview.controller.js @@ -52,37 +52,40 @@ function listViewController($rootScope, $scope, $routeParams, $injector, notific $scope.isNew = false; $scope.actionInProgress = false; $scope.selection = []; - $scope.folders = []; + $scope.folders = []; $scope.page = {}; $scope.listViewResultSet = { totalPages: 0, items: [] }; - $scope.currentNodePermissions = {} + //when this is null, we don't check permissions + $scope.currentNodePermissions = null; - //Just ensure we do have an editorState - if (editorState.current) { - //Fetch current node allowed actions for the current user - //This is the current node & not each individual child node in the list - var currentUserPermissions = editorState.current.allowedActions; + if ($scope.entityType === "content") { + //Just ensure we do have an editorState + if (editorState.current) { + //Fetch current node allowed actions for the current user + //This is the current node & not each individual child node in the list + var currentUserPermissions = editorState.current.allowedActions; - //Create a nicer model rather than the funky & hard to remember permissions strings - $scope.currentNodePermissions = { - "canCopy": _.contains(currentUserPermissions, 'O'), //Magic Char = O - "canCreate": _.contains(currentUserPermissions, 'C'), //Magic Char = C - "canDelete": _.contains(currentUserPermissions, 'D'), //Magic Char = D - "canMove": _.contains(currentUserPermissions, 'M'), //Magic Char = M - "canPublish": _.contains(currentUserPermissions, 'U'), //Magic Char = U - "canUnpublish": _.contains(currentUserPermissions, 'U'), //Magic Char = Z (however UI says it can't be set, so if we can publish 'U' we can unpublish) - }; + //Create a nicer model rather than the funky & hard to remember permissions strings + $scope.currentNodePermissions = { + "canCopy": _.contains(currentUserPermissions, 'O'), //Magic Char = O + "canCreate": _.contains(currentUserPermissions, 'C'), //Magic Char = C + "canDelete": _.contains(currentUserPermissions, 'D'), //Magic Char = D + "canMove": _.contains(currentUserPermissions, 'M'), //Magic Char = M + "canPublish": _.contains(currentUserPermissions, 'U'), //Magic Char = U + "canUnpublish": _.contains(currentUserPermissions, 'U'), //Magic Char = Z (however UI says it can't be set, so if we can publish 'U' we can unpublish) + }; + } } //when this is null, we don't check permissions $scope.buttonPermissions = null; //When we are dealing with 'content', we need to deal with permissions on child nodes. - // Currently there is no real good way to + // Currently there is no real good way to if ($scope.entityType === "content") { var idsWithPermissions = null; @@ -271,8 +274,8 @@ function listViewController($rootScope, $scope, $routeParams, $injector, notific if (reloadFolders && $scope.entityType === 'media') { //The folders aren't loaded - we only need to do this once since we're never changing node ids mediaResource.getChildFolders($scope.contentId) - .then(function (folders) { - $scope.folders = folders; + .then(function (page) { + $scope.folders = page.items; $scope.viewLoaded = true; }); @@ -454,7 +457,7 @@ function listViewController($rootScope, $scope, $routeParams, $injector, notific function performMove(target) { - //NOTE: With the way this applySelected/serial works, I'm not sure there's a better way currently to return + //NOTE: With the way this applySelected/serial works, I'm not sure there's a better way currently to return // a specific value from one of the methods, so we'll have to try this way. Even though the first method // will fire once per every node moved, the destination path will be the same and we need to use that to sync. var newPath = null; @@ -604,7 +607,7 @@ function listViewController($rootScope, $scope, $routeParams, $injector, notific getContentTypesCallback(id).then(function (items) { $scope.listViewAllowedTypes = items; }); - + $scope.contentId = id; $scope.isTrashed = id === "-20" || id === "-21"; diff --git a/src/Umbraco.Web.UI.Client/src/views/propertyeditors/listview/listview.html b/src/Umbraco.Web.UI.Client/src/views/propertyeditors/listview/listview.html index ba95610f24..3df37f6306 100644 --- a/src/Umbraco.Web.UI.Client/src/views/propertyeditors/listview/listview.html +++ b/src/Umbraco.Web.UI.Client/src/views/propertyeditors/listview/listview.html @@ -10,7 +10,7 @@ - +
          Create diff --git a/src/Umbraco.Web.UI.Client/src/views/propertyeditors/mediapicker/mediapicker.html b/src/Umbraco.Web.UI.Client/src/views/propertyeditors/mediapicker/mediapicker.html index e07f017f5b..48858a507b 100644 --- a/src/Umbraco.Web.UI.Client/src/views/propertyeditors/mediapicker/mediapicker.html +++ b/src/Umbraco.Web.UI.Client/src/views/propertyeditors/mediapicker/mediapicker.html @@ -7,6 +7,7 @@
          diff --git a/src/Umbraco.Web.UI.Client/test/unit/common/services/template-helper.spec.js b/src/Umbraco.Web.UI.Client/test/unit/common/services/template-helper.spec.js index 0ccc9ab1dc..08a69b7e80 100644 --- a/src/Umbraco.Web.UI.Client/test/unit/common/services/template-helper.spec.js +++ b/src/Umbraco.Web.UI.Client/test/unit/common/services/template-helper.spec.js @@ -58,13 +58,14 @@ describe('service: templateHelper', function () { it('should return the snippet for a query', function () { var queryExpression = "queryExpression"; var snippet = "\n@{\n" + "\tvar selection = " + queryExpression + ";\n}\n"; - snippet += "\n\n"; + snippet += "
            \n" + + "\t@foreach (var item in selection)\n" + + "\t{\n" + + "\t\t
          • \n" + + "\t\t\t@item.Name\n" + + "\t\t
          • \n" + + "\t}\n" + + "
          \n\n"; expect(templateHelper.getQuerySnippet(queryExpression)).toBe(snippet); }); diff --git a/src/Umbraco.Web.UI/Media/Web.config b/src/Umbraco.Web.UI/Media/Web.config index 6cbb733ea7..cd48da3840 100644 --- a/src/Umbraco.Web.UI/Media/Web.config +++ b/src/Umbraco.Web.UI/Media/Web.config @@ -6,4 +6,4 @@ - \ No newline at end of file + diff --git a/src/Umbraco.Web.UI/Properties/Settings.Designer.cs b/src/Umbraco.Web.UI/Properties/Settings.Designer.cs index de0aef53b4..2598a8d66c 100644 --- a/src/Umbraco.Web.UI/Properties/Settings.Designer.cs +++ b/src/Umbraco.Web.UI/Properties/Settings.Designer.cs @@ -25,7 +25,7 @@ namespace Umbraco.Web.UI.Properties { [global::System.Configuration.ApplicationScopedSettingAttribute()] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.Configuration.DefaultSettingValueAttribute("http://our.umbraco.org/umbraco/webservices/api/repository.asmx")] + [global::System.Configuration.DefaultSettingValueAttribute("https://our.umbraco.com/umbraco/webservices/api/repository.asmx")] public string Umbraco_Web_UI_org_umbraco_our_Repository { get { return ((string)(this["Umbraco_Web_UI_org_umbraco_our_Repository"])); diff --git a/src/Umbraco.Web.UI/Properties/Settings.settings b/src/Umbraco.Web.UI/Properties/Settings.settings index b3fe9a5ffa..d491844807 100644 --- a/src/Umbraco.Web.UI/Properties/Settings.settings +++ b/src/Umbraco.Web.UI/Properties/Settings.settings @@ -3,7 +3,7 @@ - http://our.umbraco.org/umbraco/webservices/api/repository.asmx + https://our.umbraco.com/umbraco/webservices/api/repository.asmx \ No newline at end of file diff --git a/src/Umbraco.Web.UI/Umbraco/config/lang/da.xml b/src/Umbraco.Web.UI/Umbraco/config/lang/da.xml index 5d1746466b..4620ff3314 100644 --- a/src/Umbraco.Web.UI/Umbraco/config/lang/da.xml +++ b/src/Umbraco.Web.UI/Umbraco/config/lang/da.xml @@ -2,7 +2,7 @@ The Umbraco community - http://our.umbraco.org/documentation/Extending-Umbraco/Language-Files + https://our.umbraco.com/documentation/Extending-Umbraco/Language-Files Tilføj domæne @@ -134,6 +134,9 @@ Gem og generer modeller Fortryd Genskab + Slet tag + Fortryd + Bekræft For @@ -155,7 +158,7 @@ Indhold tilbagerullet Sendt til udgivelse Sendt til oversættelse - + For at skifte det valgte indholds dokumenttype, skal du først vælge en ny dokumenttype, som er gyldig på denne placering. Kontroller derefter, at alle egenskaber bliver overført rigtigt til den nye dokumenttype, og klik derefter på Gem. @@ -213,8 +216,8 @@ Dette dokument er udgivet, men dets url ville kollidere med indholdet %0% Udgiv Udgivet - Udgivet (Ventede ændringer) - + Udgivet (Ventede ændringer) + Udgivet Udgivelsesstatus Udgivelsesdato Afpubliceringsdato @@ -237,7 +240,7 @@ Undersider Åben i vindue Dette oversætter til den følgende tid på serveren: - Hvad betyder det?]]> + Hvad betyder det?]]> Er du sikker på, at du vil slette dette element? Egenskaben %0% anvender editoren %1% som ikke er understøttet af Nested Content. Tilføj en ny tekstboks @@ -704,7 +707,7 @@ Næste for at fortsætte.]]> Databasen er ikke fundet. Kontrollér venligst at informationen i database forbindelsesstrengen i "web.config" filen er korrekt.

          -

          For at fortsætte bedes du venligst rette "web.config" filen (ved at bruge Visual Studio eller dit favoritprogram), scroll til bunden, tilføj forbindelsesstrengen til din database i feltet som hedder "umbracoDbDSN" og gem filen.

          Klik på Forsøg igen knappen når du er færdig.
          Mere information om at redigere web.config her.

          ]]> +

          For at fortsætte bedes du venligst rette "web.config" filen (ved at bruge Visual Studio eller dit favoritprogram), scroll til bunden, tilføj forbindelsesstrengen til din database i feltet som hedder "umbracoDbDSN" og gem filen.

          Klik på Forsøg igen knappen når du er færdig.
          Mere information om at redigere web.config her.

          ]]>
          Kontakt venligst din ISP hvis det er nødvendigt. Hvis du installerer på en lokal maskine eller server kan du muligvis få informationerne fra din systemadministrator.]]> Tryk på Opgradér knappen for at opgradere din database til Umbraco %0%

          Bare rolig - intet indhold vil blive slettet og alt vil stadig fungere bagefter!

          ]]>
          @@ -985,7 +988,7 @@ Mange hilsner fra Umbraco robotten Nulstil - + Nuværende version @@ -1144,19 +1147,19 @@ Mange hilsner fra Umbraco robotten Makro - En makro er et element, som kan have forskellige indstillinger, når det indsættes. + En makro er et element, som kan have forskellige indstillinger, når det indsættes. Brug det som en genbrugelig del af dit design såsom gallerier, formularer og lister. Sideværdi - Viser værdien af et felt fra den nuværende side. Kan indstilles til at bruge rekursive værdier eller + Viser værdien af et felt fra den nuværende side. Kan indstilles til at bruge rekursive værdier eller vise en standardværdi i tilfælde af, at feltet er tomt. Partial view - Et Partial View er et skabelonelement, som kan indsættes i andre skabeloner og derved + Et Partial View er et skabelonelement, som kan indsættes i andre skabeloner og derved genbruges og deles på tværs af sideskabelonerne. @@ -1168,7 +1171,7 @@ Mange hilsner fra Umbraco robotten Indsæt en underliggende skabelon @RenderBody() element. ]]> @@ -1177,8 +1180,8 @@ Mange hilsner fra Umbraco robotten Definer en sektion @section { ... }. Herefter kan denne sektion flettes ind i + Definerer en del af din skabelon som en navngivet sektion, ved at + omkranse den i @section { ... }. Herefter kan denne sektion flettes ind i overliggende skabelon ved at indsætte et @RenderSection element. ]]> @@ -1186,15 +1189,15 @@ Mange hilsner fra Umbraco robotten Indsæt en sektion @RenderSection(name) element. Den underliggende skabelon skal have + Henter indholdet af en sektion fra den underliggende skabelon ind, ved at indsætte et + @RenderSection(name) element. Den underliggende skabelon skal have defineret en sektion via et @section [name]{ ... } element. ]]> Sektionsnavn Sektionen er obligatorisk - + Hvis obligatorisk, skal underskabelonen indeholde en @section -definition. @@ -1206,7 +1209,7 @@ Mange hilsner fra Umbraco robotten Returner alt indhold indhold af typen "%0%" - + fra mit website hvor @@ -1238,14 +1241,14 @@ Mange hilsner fra Umbraco robotten Skabelon - + Rich Text Editor Billede Macro Embed Overskrift - Citat + Citat Vælg indholdstype Vælg layout Tilføj række @@ -1600,4 +1603,18 @@ Mange hilsner fra Umbraco robotten Karakterer tilbage + + Slettet indhold med Id: {0} Relateret til original "parent" med id: {1} + Slettet medie med Id: {0} relateret til original "parent" / mappe med id: {1} + Kan ikke automatisk genoprette dette dokument/medie + Der findes ikke nogen "Genopret" relation for dette dokument/medie. Brug "Flyt" muligheden fra menuen for at flytte det manuelt. + Det dokument/medie du ønsker at genoprette under ('%0%') er i skraldespanden. Brug "Flyt" muligheden fra menuen for at flytte det manuelt. + + + Slettet indhold med Id: {0} Relateret til original "parent" med id: {1} + Slettet medie med Id: {0} relateret til original "parent" / mappe med id: {1} + Kan ikke automatisk genoprette dette dokument/medie + Der findes ikke nogen "Genopret" relation for dette dokument/medie. Brug "Flyt" muligheden fra menuen for at flytte det manuelt. + Det dokument/medie du ønsker at genoprette under ('%0%') er i skraldespanden. Brug "Flyt" muligheden fra menuen for at flytte det manuelt. +
          \ No newline at end of file diff --git a/src/Umbraco.Web.UI/Umbraco/config/lang/de.xml b/src/Umbraco.Web.UI/Umbraco/config/lang/de.xml index cd23ca3e89..9bc0eee3f0 100644 --- a/src/Umbraco.Web.UI/Umbraco/config/lang/de.xml +++ b/src/Umbraco.Web.UI/Umbraco/config/lang/de.xml @@ -2,7 +2,7 @@ The Umbraco community - http://our.umbraco.org/documentation/Extending-Umbraco/Language-Files + https://our.umbraco.com/documentation/Extending-Umbraco/Language-Files Hostnamen verwalten @@ -465,7 +465,7 @@ Die Datenbank wurde für Umbraco %0% konfiguriert. Klicken Sie auf <strong>weiter</strong>, um fortzufahren. <p>Die angegebene Datenbank ist leider nicht erreichbar. Bitte prüfen Sie die Verbindungszeichenfolge ("Connection String") in der "web.config"-Datei.</p> <p>Um fortzufahren, passen Sie bitte die "web.config"-Datei mit einem beliebigen Text-Editor an. Scrollen Sie dazu nach unten, fügen Sie die Verbindungszeichenfolge für die zuverbindende Datenbank als Eintrag "UmbracoDbDSN" hinzu und speichern Sie die Datei.</p> -<p>Klicken Sie nach erfolgter Anpassung auf <strong>Wiederholen</strong>.<br />Wenn Sie weitere technische Informationen benötigen, besuchen Sie <a href="http://our.Umbraco.org/wiki" target="_blank">The Umbraco documentation wiki</a>.</p> +<p>Klicken Sie nach erfolgter Anpassung auf <strong>Wiederholen</strong>.<br />Wenn Sie weitere technische Informationen benötigen, besuchen Sie <a href="https://our.umbraco.com/wiki" target="_blank">The Umbraco documentation wiki</a>.</p> Um diesen Schritt abzuschließen, müssen Sie die notwendigen Informationen zur Datenbankverbindung angeben.<br />Bitte kontaktieren Sie Ihren Provider bzw. Server-Administrator für weitere Informationen. diff --git a/src/Umbraco.Web.UI/Umbraco/config/lang/en.xml b/src/Umbraco.Web.UI/Umbraco/config/lang/en.xml index 3de05dbbbf..e29d3c45eb 100644 --- a/src/Umbraco.Web.UI/Umbraco/config/lang/en.xml +++ b/src/Umbraco.Web.UI/Umbraco/config/lang/en.xml @@ -2,7 +2,7 @@ The Umbraco community - http://our.umbraco.org/documentation/Extending-Umbraco/Language-Files + https://our.umbraco.com/documentation/Extending-Umbraco/Language-Files Culture and Hostnames @@ -139,6 +139,9 @@ Save and generate models Undo Redo + Delete tag + Cancel + Confirm Viewing for @@ -246,7 +249,7 @@ Child items Target This translates to the following time on the server: - What does this mean?]]> + What does this mean?]]> Are you sure you want to delete this item? Property %0% uses editor %1% which is not supported by Nested Content. Add another text box @@ -656,6 +659,7 @@ Submit Type Type to search... + under Up Update Upgrade @@ -759,7 +763,7 @@

          To proceed, please edit the "web.config" file (using Visual Studio or your favourite text editor), scroll to the bottom, add the connection string for your database in the key named "UmbracoDbDSN" and save the file.

          Click the retry button when - done.
          + done.
          More information on editing web.config here.

          ]]>
          @@ -923,41 +927,41 @@ To manage your website, simply open the Umbraco back office and start adding con Umbraco: Reset Password - - - - - - + + + + + + +
          - - + +
          +
          - - - + + + -
          - -
          - -
          + +
          + +
          -
          + - + - - - + + +
          +

          - - + + -
          +
          - - + +
          +

          Password reset requested

          @@ -967,12 +971,12 @@ To manage your website, simply open the Umbraco back office and start adding con

          - - + + +
          +
          Click this link to reset your password - -
          @@ -984,22 +988,22 @@ To manage your website, simply open the Umbraco back office and start adding con %1% -

          -
          -
          + - -


          -
          - - + +


          +
          + + - + ]]> @@ -1043,53 +1047,53 @@ To manage your website, simply open the Umbraco back office and start adding con - - - - - - + + + + + + + - - + +
          +
          - - + + -
          - -
          - -
          + +
          + +
          -
          + - + - - - + + -
          +

          - - + - +
          +
          - - +
          +

          Hi %0%,

          -

          +

          This is an automated mail to inform you that the task '%1%' has been performed on the page '%2%' by the user '%3%'

          - - @@ -1099,7 +1103,7 @@ To manage your website, simply open the Umbraco back office and start adding con

          Update summary:

          + +
          EDIT
          %6% -
          +

          Have a nice day!

          @@ -1111,10 +1115,10 @@ To manage your website, simply open the Umbraco back office and start adding con

          -


          +


          @@ -1278,6 +1282,7 @@ To manage your website, simply open the Umbraco back office and start adding con You have picked a media item currently deleted or in the recycle bin You have picked media items currently deleted or in the recycle bin Deleted item + Trashed enter external link @@ -1680,7 +1685,7 @@ To manage your website, simply open the Umbraco back office and start adding con Allow this property value to be displayed on the member profile page tab has no sort order - + Where is this composition used? This composition is currently used in the composition of the following content types: @@ -1934,41 +1939,41 @@ To manage your website, simply open the Umbraco back office and start adding con Umbraco: Invitation - - - - - - + + + + + + + - - + +
          +
          - - - + + + -
          - -
          - -
          + +
          + +
          -
          +
          + - - - + + +
          +

          - - + + -
          +
          - - + +
          +

          Hi %0%,

          @@ -1986,12 +1991,12 @@ To manage your website, simply open the Umbraco back office and start adding con
          - - + + +
          +
          Click this link to accept the invite - -
          @@ -2006,22 +2011,22 @@ To manage your website, simply open the Umbraco back office and start adding con %3% -

          -
          -
          + - -


          -
          - - + +


          +
          + + - + ]]> @@ -2196,4 +2201,11 @@ To manage your website, simply open the Umbraco back office and start adding con characters left + + Trashed content with Id: {0} related to original parent content with Id: {1} + Trashed media with Id: {0} related to original parent media item with Id: {1} + Cannot automatically restore this item + There is no 'restore' relation found for this node. Use the Move menu item to move it manually. + The item you want to restore it under ('%0%') is in the recycle bin. Use the Move menu item to move the item manually. + diff --git a/src/Umbraco.Web.UI/Umbraco/config/lang/en_us.xml b/src/Umbraco.Web.UI/Umbraco/config/lang/en_us.xml index 2d9918275d..91da005a40 100644 --- a/src/Umbraco.Web.UI/Umbraco/config/lang/en_us.xml +++ b/src/Umbraco.Web.UI/Umbraco/config/lang/en_us.xml @@ -2,7 +2,7 @@ The Umbraco community - http://our.umbraco.org/documentation/Extending-Umbraco/Language-Files + https://our.umbraco.com/documentation/Extending-Umbraco/Language-Files Culture and Hostnames @@ -143,6 +143,9 @@ Save and generate models Undo Redo + Delete tag + Cancel + Confirm Viewing for @@ -252,7 +255,7 @@ Child items Target This translates to the following time on the server: - What does this mean?]]> + What does this mean?]]> Are you sure you want to delete this item? Property %0% uses editor %1% which is not supported by Nested Content. Add another text box @@ -664,6 +667,7 @@ Submit Type Type to search... + under Up Update Upgrade @@ -765,7 +769,7 @@

          To proceed, please edit the "web.config" file (using Visual Studio or your favourite text editor), scroll to the bottom, add the connection string for your database in the key named "UmbracoDbDSN" and save the file.

          Click the retry button when - done.
          + done.
          More information on editing web.config here.

          ]]> @@ -929,41 +933,41 @@ To manage your website, simply open the Umbraco back office and start adding con Umbraco: Reset Password - - - - - - + + + + + + + - - + +
          +
          - - - + + + -
          - -
          - -
          + +
          + +
          -
          + - + - - - + + +
          +

          - - + + -
          +
          - - + +
          +

          Password reset requested

          @@ -973,12 +977,12 @@ To manage your website, simply open the Umbraco back office and start adding con

          - - + + +
          +
          Click this link to reset your password - -
          @@ -990,22 +994,22 @@ To manage your website, simply open the Umbraco back office and start adding con %1% -

          -
          -
          + - -


          -
          - - + +


          +
        • + + - + ]]> @@ -1049,53 +1053,53 @@ To manage your website, simply open the Umbraco back office and start adding con - - - - - - + + + + + + + - - + +
          +
          - - + + -
          - -
          - -
          + +
          + +
          -
          + - + - - - + + -
          +

          - - + - +
          +
          - - +
          +

          Hi %0%,

          -

          +

          This is an automated mail to inform you that the task '%1%' has been performed on the page '%2%' by the user '%3%'

          - - @@ -1105,7 +1109,7 @@ To manage your website, simply open the Umbraco back office and start adding con

          Update summary:

          + +
          EDIT
          %6% -
          +

          Have a nice day!

          @@ -1117,10 +1121,10 @@ To manage your website, simply open the Umbraco back office and start adding con

          -


          +


          @@ -1284,6 +1288,7 @@ To manage your website, simply open the Umbraco back office and start adding con You have picked a media item currently deleted or in the recycle bin You have picked media items currently deleted or in the recycle bin Deleted item + Trashed enter external link @@ -1685,7 +1690,7 @@ To manage your website, simply open the Umbraco back office and start adding con Allow this property value to be displayed on the member profile page tab has no sort order - + Where is this composition used? This composition is currently used in the composition of the following content types: @@ -1952,41 +1957,41 @@ To manage your website, simply open the Umbraco back office and start adding con Umbraco: Invitation - - - - - - + + + + + + + - - + +
          +
          - - - + + + -
          - -
          - -
          + +
          + +
          -
          +
          + - - - + + +
          +

          - - + + -
          +
          - - + +
          +

          Hi %0%,

          @@ -2004,12 +2009,12 @@ To manage your website, simply open the Umbraco back office and start adding con
          - - + + +
          +
          Click this link to accept the invite - -
          @@ -2024,22 +2029,22 @@ To manage your website, simply open the Umbraco back office and start adding con %3% -

          -
          -
          + - -


          -
          - - + +


          +
          + + - + ]]> @@ -2213,4 +2218,11 @@ To manage your website, simply open the Umbraco back office and start adding con characters left + + Trashed content with Id: {0} related to original parent content with Id: {1} + Trashed media with Id: {0} related to original parent media item with Id: {1} + Cannot automatically restore this item + There is no 'restore' relation found for this node. Use the Move menu item to move it manually. + The item you want to restore it under ('%0%') is in the recycle bin. Use the Move menu item to move the item manually. + diff --git a/src/Umbraco.Web.UI/Umbraco/config/lang/es.xml b/src/Umbraco.Web.UI/Umbraco/config/lang/es.xml index 91850905aa..e96a33f6f7 100644 --- a/src/Umbraco.Web.UI/Umbraco/config/lang/es.xml +++ b/src/Umbraco.Web.UI/Umbraco/config/lang/es.xml @@ -2,7 +2,7 @@ The Umbraco community - http://our.umbraco.org/documentation/Extending-Umbraco/Language-Files + https://our.umbraco.com/documentation/Extending-Umbraco/Language-Files Administrar hostnames @@ -213,7 +213,7 @@ Nodos hijo Target Esto se traduce en la siguiente hora en el servidor: - ¿Esto qué significa?]]> + ¿Esto qué significa?]]> ¿Estás seguro que quieres eliminar este elemento? Propiedad %0% utiliza editor %1% que no está soportado por Nested Content. Añadir otra caja de texto @@ -691,7 +691,7 @@ Configuración de la base de datos instalar para instalar %0% la base de datos de Umbraco]]> Próximo para continuar]]> - ¡No se ha encontrado ninguna base de datos! Mira si la información en la "connection string" del “web.config” es correcta.

          Para continuar, edite el "web.config" (bien sea usando Visual Studio o su editor de texto preferido), vaya al final del archivo y añada la cadena de conexión para la base de datos con el nombre (key) "umbracoDbDSN" y guarde el archivo.

          Pinche en reintentar cuando haya terminado.
          Pinche aquí para mayor información de como editar el web.config (en inglés)

          ]]>
          + ¡No se ha encontrado ninguna base de datos! Mira si la información en la "connection string" del “web.config” es correcta.

          Para continuar, edite el "web.config" (bien sea usando Visual Studio o su editor de texto preferido), vaya al final del archivo y añada la cadena de conexión para la base de datos con el nombre (key) "umbracoDbDSN" y guarde el archivo.

          Pinche en reintentar cuando haya terminado.
          Pinche aquí para mayor información de como editar el web.config (en inglés)

          ]]>
          Por favor, contacta con tu ISP si es necesario. Si estás realizando la instalación en una máquina o servidor local, quizás necesites información de tu administrador de sistemas.]]> Pinche en actualizar para actualizar la base de datos a Umbraco %0%

          Ningún contenido será borrado de la base de datos y seguirá funcionando después de la actualización

          ]]>
          Pinche en Próximo para continuar. ]]> diff --git a/src/Umbraco.Web.UI/Umbraco/config/lang/fr.xml b/src/Umbraco.Web.UI/Umbraco/config/lang/fr.xml index 31d1f9392d..487c5bd3aa 100644 --- a/src/Umbraco.Web.UI/Umbraco/config/lang/fr.xml +++ b/src/Umbraco.Web.UI/Umbraco/config/lang/fr.xml @@ -2,7 +2,7 @@ The Umbraco community - http://our.umbraco.org/documentation/Extending-Umbraco/Language-Files + https://our.umbraco.com/documentation/Extending-Umbraco/Language-Files Culture et noms d'hôte @@ -245,7 +245,7 @@ Eléments enfants Cible Ceci se traduit par l'heure suivante sur le serveur : - Qu'est-ce que cela signifie?]]> + Qu'est-ce que cela signifie?]]> Etes-vous certain(e) de vouloir supprimer cet éléménent? La propriété %0% utilise l'éditeur %1% qui n'est pas supporté par Nested Content. Ajouter un autre champ texte @@ -754,7 +754,7 @@

          Pour poursuivre, veuillez éditer le fichier "web.config" (avec Visual Studio ou votre éditeur de texte favori), scroller jusqu'en bas, ajouter le "connection string" pour votre base de données dans la ligne avec la clé "umbracoDbDSN" et sauvegarder le fichier.

          Cliquez sur le bouton Réessayer lorsque cela est fait. -
          +
          Plus d'informations sur l'édition du fichier web.config ici.

          ]]> diff --git a/src/Umbraco.Web.UI/Umbraco/config/lang/he.xml b/src/Umbraco.Web.UI/Umbraco/config/lang/he.xml index c739173f72..6b8b90ab33 100644 --- a/src/Umbraco.Web.UI/Umbraco/config/lang/he.xml +++ b/src/Umbraco.Web.UI/Umbraco/config/lang/he.xml @@ -2,7 +2,7 @@ The Umbraco community - http://our.umbraco.org/documentation/Extending-Umbraco/Language-Files + https://our.umbraco.com/documentation/Extending-Umbraco/Language-Files נהל שמות מתחם @@ -382,7 +382,7 @@

          To proceed, please edit the "web.config" file (using Visual Studio or your favourite text editor), scroll to the bottom, add the connection string for your database in the key named "UmbracoDbDSN" and save the file.

          Click the retry button when - done.
          + done.
          More information on editing web.config here.

          ]]>
          Please contact your ISP if necessary. diff --git a/src/Umbraco.Web.UI/Umbraco/config/lang/it.xml b/src/Umbraco.Web.UI/Umbraco/config/lang/it.xml index cd2eeb2a51..31977e4c06 100644 --- a/src/Umbraco.Web.UI/Umbraco/config/lang/it.xml +++ b/src/Umbraco.Web.UI/Umbraco/config/lang/it.xml @@ -2,7 +2,7 @@ The Umbraco community - http://our.umbraco.org/documentation/Extending-Umbraco/Language-Files + https://our.umbraco.com/documentation/Extending-Umbraco/Language-Files Gestisci hostnames @@ -380,7 +380,7 @@ Avanti per proseguire.]]> Database non trovato! Perfavore, controlla che le informazioni della stringa di connessione nel file "web.config" siano corrette.

          -

          Per procedere, edita il file "web.config" (utilizzando Visual Studio o l'editor di testo che preferisci), scorri in basso, aggiungi la stringa di connessione per il database chiamato "umbracoDbDSN" e salva il file.

          Clicca il tasto riprova quando hai finito.
          Maggiori dettagli per la modifica del file web.config qui.

          ]]> +

          Per procedere, edita il file "web.config" (utilizzando Visual Studio o l'editor di testo che preferisci), scorri in basso, aggiungi la stringa di connessione per il database chiamato "umbracoDbDSN" e salva il file.

          Clicca il tasto riprova quando hai finito.
          Maggiori dettagli per la modifica del file web.config qui.

          ]]>
          Premi il tasto aggiorna per aggiornare il database ad Umbraco %0%

          Non preoccuparti, il contenuto non verrà perso e tutto continuerà a funzionare dopo l'aggiornamento!

          ]]>
          diff --git a/src/Umbraco.Web.UI/Umbraco/config/lang/ja.xml b/src/Umbraco.Web.UI/Umbraco/config/lang/ja.xml index a242485889..7c1b48d9d3 100644 --- a/src/Umbraco.Web.UI/Umbraco/config/lang/ja.xml +++ b/src/Umbraco.Web.UI/Umbraco/config/lang/ja.xml @@ -2,7 +2,7 @@ The Umbraco community - http://our.umbraco.org/documentation/Extending-Umbraco/Language-Files + https://our.umbraco.com/documentation/Extending-Umbraco/Language-Files ドメインの割り当て diff --git a/src/Umbraco.Web.UI/Umbraco/config/lang/ko.xml b/src/Umbraco.Web.UI/Umbraco/config/lang/ko.xml index 0b359123f2..a36593e410 100644 --- a/src/Umbraco.Web.UI/Umbraco/config/lang/ko.xml +++ b/src/Umbraco.Web.UI/Umbraco/config/lang/ko.xml @@ -2,7 +2,7 @@ The Umbraco community - http://our.umbraco.org/documentation/Extending-Umbraco/Language-Files + https://our.umbraco.com/documentation/Extending-Umbraco/Language-Files 호스트명 관리 @@ -377,7 +377,7 @@ 데이터베이스를 찾을 수 없습니다. “web.config”파일의 "connection string"이 바르게 설정되었는지 확인하세요.

          "web.config" 파일에 맨아래에 ,키네임을 "UmbracoDbDSN"로 하여 사용하시는 데이터베이스의 connection string 정보를 입력하시고 파일을 저장하세요.

          - 완료 후재시도버튼을 누르세요.
          + 완료 후재시도버튼을 누르세요.
          web.config의 더많은 정보는 여기에 있습니다.

          ]]>
          필요하시다면 사용하시는 ISP쪽에 문의하시기 바랍니다.. diff --git a/src/Umbraco.Web.UI/Umbraco/config/lang/nl.xml b/src/Umbraco.Web.UI/Umbraco/config/lang/nl.xml index 72ece3d46e..dd13662fea 100644 --- a/src/Umbraco.Web.UI/Umbraco/config/lang/nl.xml +++ b/src/Umbraco.Web.UI/Umbraco/config/lang/nl.xml @@ -2,7 +2,7 @@ The Umbraco community - http://our.umbraco.org/documentation/Extending-Umbraco/Language-Files + https://our.umbraco.com/documentation/Extending-Umbraco/Language-Files Beheer domeinnamen @@ -36,6 +36,10 @@ Sorteren Vertalen Bijwerken + Rechten instellen + Deblokkeer + Content sjabloon aanmaken + Uitnodiging opnieuw versturen Toegang geweigerd. @@ -171,7 +175,7 @@ Subitems Doel Dit betekend de volgende tijd op de server: - Wat houd dit in?]]> + Wat houd dit in?]]> Ben je er zeker van dat je dit item wilt verwijderen? Eigenschap %0% gebruikt editor %1% welke niet wordt ondersteund door Nested Content. Voeg nog een tekstvak toe @@ -510,6 +514,7 @@ Verstuur Typen Typ om te zoeken... + onder Omhoog Update Upgrade @@ -578,7 +583,7 @@ Database configuratie installeren om de Umbraco %0% database te installeren]]> Volgende om door te gaan.]]> - De database kon niet gevonden worden! Gelieve na te kijken of de informatie in de "connection string" van het "web.config" bestand correct is.

          Om door te gaan, gelieve het "web.config" bestand aan te passen (met behulp van Visual Studio of je favoriete tekstverwerker), scroll in het bestand naar beneden, voeg de connection string voor je database toe in de key met naam "umbracoDbDSN" en sla het bestand op.

          Klik op de knop opnieuw proberen als je hiermee klaar bent.
          Meer informatie over het aanpassen van de web.config vind je hier.

          ]]>
          + De database kon niet gevonden worden! Gelieve na te kijken of de informatie in de "connection string" van het "web.config" bestand correct is.

          Om door te gaan, gelieve het "web.config" bestand aan te passen (met behulp van Visual Studio of je favoriete tekstverwerker), scroll in het bestand naar beneden, voeg de connection string voor je database toe in de key met naam "umbracoDbDSN" en sla het bestand op.

          Klik op de knop opnieuw proberen als je hiermee klaar bent.
          Meer informatie over het aanpassen van de web.config vind je hier.

          ]]>
          Gelieve contact op te nemen met je ISP indien nodig. Wanneer je installeert op een lokale computer of server, dan heb je waarschijnlijk informatie nodig van je systeembeheerder.]]> Klik de upgrade knop om je database te upgraden naar Umbraco %0%

          Maak je geen zorgen - er zal geen inhoud worden gewist en alles blijft gewoon werken!

          ]]>
          Klik Volgende om verder te gaan.]]> @@ -1017,6 +1022,28 @@ Echter, Runway biedt een gemakkelijke basis om je snel op weg te helpen. Als je Script view niet opgeslagen Er is een fout opgetreden bij het opslaan van dit bestand. Er is een fout opgetreden bij het opslaan van dit bestand. + %0% gebruikersgroepen verwijderd + %0% is verwijderd + %0% gebruikers geactiveerd + Er heeft zich een fout voorgedaan tijdens het activeren van de gebruikers + %0% users gedeactiveerd + Er heeft zich een fout voorgedaan tijdens het deactiveren van de gebruikers + %0% is nu geactiveerd + Er heeft zich een fout voorgedaan tijdens het activeren van de gebruiker + %0% is nu gedeactiveerd + Er heeft zich een fout voorgedaan tijdens het deactiveren van de gebruiker + Gebruikers groepen zijn ingesteld + %0% gebruikersgroepen verwijderd + %0% is verwijderd + %0% gebruikers gedeblokkeerd + Er heeft zich een fout voorgedaan tijdens het deblokkeren van de gebruikers + %0% is nu gedeblokkeerd + Er heeft zich een fout voorgedaan tijdens het deblokkeren van de gebruikers + Lid is geexporteerd naar een bestand + Er heeft zich een fout voorgedaan tijdens het exporteren van het lid + Gebruiker %0% is verwijderd + Gebruiker uitnodigen + Uitnodiging is opnieuw gestuurd naar gebruiker %0% Gebruik CSS syntax bijv: h1, .redHeader, .blueTex @@ -1277,23 +1304,45 @@ Om een vertalingstaak te sluiten, ga aub naar het detailoverzicht en klik op de Er is een fout opgetreden bij het zoeken naar een update. Bekijk de trace-stack voor verdere informatie. + Toegang + Gebaseerd op de gebruikers groepen en start pagina's heeft de bruiker toegang tot de volgende pagina's + Toegang geven Beheerders Categorieveld + Gebruiker aangemaakt Verander je wachtwoord + Wijzig je foto Wijzig je wachtwoord + is niet gedeblokkeerd + Het wachtwoord is niet gewijzigd Bevestig nieuw password Je kunt je wachtwoord veranderen door onderstaan formulier in te vullen en op de knop 'Verander wachtwoord' te klikken Inhoudskanaal + Nog een gebruiker aanmaken + Maak nieuwe gebruikers aan om hun toegang te geven tot Umbraco. Wanneer een nieuwe gebruiker wordt aangemaakt wordt er een wachtwoord gegenereerd dat je met hun kan delen. Omschrijving Geblokkeerde gebruiker Documenttype Redacteur Samenvattingsveld + Foute wachtwoord pogingen + Ga naar gebruikersprofiel + Voeg gebruikersgroepen toe om rechten in te stellen + Nog een gebruiker uitnodigen + Nodig gebruikers uit om hen toegang te geven to Umbraco. Een uitnodiging wordt via e-mail verstuurd met instructies hoe de gebruiker kan inloggen. Taal + Stel de taal in die gebruiker zal zien in menu's en dialoog vensters + Laatst geblokkeerd datu, + Laatste keer ingelogd + Laatste keer paswoord gewijzigd Loginnaam Startnode in Mediabibliotheek + Beperk de mediabibliotheek tot een specifieke startnode + Startnodes in Mediabibliotheek + Beperk de mediabibliotheek tot een specifieke startnodes Secties Blokkeer Umbraco toegang + heeft nog niet ingelogd Oude wachtwoord Wachtwoord Reset wachtwoord @@ -1308,16 +1357,151 @@ Om een vertalingstaak te sluiten, ga aub naar het detailoverzicht en klik op de Vervang rechten op de subitems U bent momenteel rechten aan het aanpassen voor volgende pagina's: Selecteer pagina's om hun rechten aan te passen - Doorzoek alle subitems - Startnode in Content + Verwijder je foto + Standaard rechten + Specifieke rechten + Geef rechten op specifieke nodes + Profiel + Doorzoek alle subitems + Geef de gebruiker toegang tot secties + Selecteer een gebruikersgroep + Geen startnode geselecteerd + Geen startnodes geselecteerd + Actief + Alles + Gedeactiveerd + Geblokkeerd + Uitgenodigd + Startnode in Content + Beperk de content toegan een specifieke start node + Startnodes in Content + Beperk de content toegan een specifieke start nodes + Naam (A-Z) + Naam (Z-A) + Nieuwste + Oudste + Laatste inlog + Laatste keer bijgewerkt + is aangemaakt + De gebruiker is aangemaakt. Om in te loggen in Umbraco gebruik je onderstaand wachtwoord. + Gebruikers beheren Gebruikersnaam Gebruikersrechten + Gebruikersgroep rechten + Gebruikersgroep + Gebruikersgroepen + is uitgenodigd + Een uitnodiging is gestuurd naar de nieuwe gebruiker met informatie over hoe in te loggen in Umbraco + Hallo en welk in Umbraco! Binnen ongeveer 1 minuut kan je aan de slag. Je moet enkel je wachtwoord instellen en een foto toevoegen. + Wijzig je foto zodat andere gebruikers je makkelijk kunnen herkennen. Auteur Vertaler Wijzig Je profiel Je recente historie Sessie verloopt over + Gebruiker uitnodigen + Gebruiker aanmaken + Uitnodiging versturen + Terug naar gebruikers + Umbraco: Uitnodiging + + + + + + + + + + + + +
          + + + + + +
          + +
          + +
          +
          + + + + + + +
          +
          +
          + + + + +
          + + + + +
          +

          + Hallo %0%, +

          +

          + U bent uitgenodigd door %1% om in te loggen in de Umbraco Backoffice. +

          +

          + Bericht van %1%: +
          + %2% +

          + + + + + + +
          + + + + + + +
          + + Klik hier om de uitnodiging te accepteren + +
          +
          +

          Als je niet op de link kunt klikken, kopieer deze dan in de adresbalk van je browser:

          + + + + +
          + + %3% + +
          +

          +
          +
          +


          +
          +
          + + ]]> +
          + Uitnodigen + Uitnodiging opnieuw aan het versturen... + Verwijder gebruiker + Ben je zeker dat je deze gebruiker wil verwijderen? Validatie @@ -1447,4 +1631,11 @@ Om een vertalingstaak te sluiten, ga aub naar het detailoverzicht en klik op de URL tracker staat nu aan. Fout bij het aanzetten van de URL tracker. Meer informatie kan gevonden worden in de log file. + + Content verwijderd met id : {0} gerelateerd aan aan bovenliggend item met Id: {1} + Media verwijderd met id: {0} gerelateerd aan aan bovenliggend item met Id: {1} + Kan dit item niet automatisch herstellen + Er is geen 'herstel' relatie gevonden voor dit item. Gebruik de "Verplaats" optie om het manueel terug te zetten + Het item dat u wil herstellen onder ('%0%') zit in de prullenbak. Gebruik de "Verplaats" optie om het manueel terug te zetten +
          diff --git a/src/Umbraco.Web.UI/Umbraco/config/lang/pl.xml b/src/Umbraco.Web.UI/Umbraco/config/lang/pl.xml index 236afd90f1..d660880628 100644 --- a/src/Umbraco.Web.UI/Umbraco/config/lang/pl.xml +++ b/src/Umbraco.Web.UI/Umbraco/config/lang/pl.xml @@ -2,7 +2,7 @@ The Umbraco community - http://our.umbraco.org/documentation/Extending-Umbraco/Language-Files + https://our.umbraco.com/documentation/Extending-Umbraco/Language-Files Zarządzanie hostami @@ -214,7 +214,7 @@ Elementy dzieci Cel Oznacza to następującą godzinę na serwerze: - Co to oznacza?]]> + Co to oznacza?]]> Czy na pewno chcesz usunąć ten element? Właściwość %0% używa edytora %1%, który nie jest wspierany przez Nested Content. Dodaj kolejne pole tekstowe @@ -684,7 +684,7 @@ Naciśnij przycisk instaluj, aby zainstalować bazę danych Umb

          Aby kontynuować, dokonaj edycji pliku "web.config" (używając Visual Studio lub dowolnego edytora tekstu), przemieść kursor na koniec pliku, dodaj parametry połączenia do Twojej bazy danych w kluczu o nazwie "umbracoDbDSN" i zapisz plik.

          Kliknij ponów próbę kiedy - skończysz.
          + skończysz.
          Tu znajdziesz więcej informacji na temat edycji pliku "web.config".

          ]]>
          Skontaktuj się z Twoim dostawą usług internetowych jeśli zajdzie taka potrzeba. diff --git a/src/Umbraco.Web.UI/Umbraco/config/lang/pt.xml b/src/Umbraco.Web.UI/Umbraco/config/lang/pt.xml index ed26d0db90..31da65be7b 100644 --- a/src/Umbraco.Web.UI/Umbraco/config/lang/pt.xml +++ b/src/Umbraco.Web.UI/Umbraco/config/lang/pt.xml @@ -2,7 +2,7 @@ The Umbraco community - http://our.umbraco.org/documentation/Extending-Umbraco/Language-Files + https://our.umbraco.com/documentation/Extending-Umbraco/Language-Files Gerenciar hostnames @@ -373,7 +373,7 @@ Próximo para prosseguir.]]> Banco de dados não encontrado! Favor checar se a informação no "connection string" do "web.config" esteja correta.

          Para prosseguir, favor editar o arquivo "web.config" (usando Visual Studio ou seu editor de texto favorito), role até embaixo, adicione a connection string para seu banco de dados com a chave de nome "UmbracoDbDSN" e salve o arquivo

          -

          Clique o botão tentar novamente quando terminar.
          +

          Clique o botão tentar novamente quando terminar.
          Mais informações em como editar o web.config aqui.

          ]]>
          Favor contatar seu provedor de internet ou hospedagem web se necessário. Se você estiver instalando em uma máquina ou servidor local é possível que você precise dessas informações por um administrador de sistema.]]> diff --git a/src/Umbraco.Web.UI/Umbraco/config/lang/ru.xml b/src/Umbraco.Web.UI/Umbraco/config/lang/ru.xml index 36a4a8fa01..657d286537 100644 --- a/src/Umbraco.Web.UI/Umbraco/config/lang/ru.xml +++ b/src/Umbraco.Web.UI/Umbraco/config/lang/ru.xml @@ -1,8 +1,8 @@ - + The Umbraco community - http://our.umbraco.org/documentation/Extending-Umbraco/Language-Files + https://our.umbraco.com/documentation/Extending-Umbraco/Language-Files Языки и домены @@ -269,7 +269,7 @@ Очистить дату ВНИМАНИЕ: этот документ опубликован, но его URL вступает в противоречие с документом %0% Это время будет соответствовать следующему времени на сервере: - Что это означает?]]> + Что это означает?]]> Задать дату Порядок сортировки обновлен Для сортировки узлов просто перетаскивайте узлы или нажмите на заголовке столбца. Вы можете выбрать несколько узлов, удерживая клавиши "shift" или "ctrl" при пометке @@ -897,7 +897,7 @@

          Для настройки откройте файл "web.config" с помощью любого текстового редактора и добавьте нужную информацию в строку подключения (параметр "UmbracoDbDSN"), затем сохраните файл.

          Нажмите кнопку "Повторить" когда все будет готово
          - Более подробно о внесении изменений в файл "web.config" рассказано здесь.

          ]]>
          diff --git a/src/Umbraco.Web.UI/Umbraco/config/lang/sv.xml b/src/Umbraco.Web.UI/Umbraco/config/lang/sv.xml index 908e77f831..08beb0ccfd 100644 --- a/src/Umbraco.Web.UI/Umbraco/config/lang/sv.xml +++ b/src/Umbraco.Web.UI/Umbraco/config/lang/sv.xml @@ -2,7 +2,7 @@ The Umbraco community - http://our.umbraco.org/documentation/Extending-Umbraco/Language-Files + https://our.umbraco.com/documentation/Extending-Umbraco/Language-Files Hantera domännamn @@ -455,7 +455,7 @@ Databaskonfiguration installera]]> Nästa för att fortsätta.]]> - Databasen kunde inte hittas! Kontrollera att informationen i databasanslutnings-inställningarna i filen "web.config" är rätt.

          För att fortsätta måste du redigera filen "web.config" (du kan använda Visual Studio eller din favorit text-redigerare), bläddra till slutet, lägg till databasanslutnings-inställningarna för din databas i fältet som heter "umbracoDbDSN" och spara filen.

          Klicka på Försök igen knappen när du är klar.
          > Mer information om att redigera web.config hittar du här.

          ]]>
          + Databasen kunde inte hittas! Kontrollera att informationen i databasanslutnings-inställningarna i filen "web.config" är rätt.

          För att fortsätta måste du redigera filen "web.config" (du kan använda Visual Studio eller din favorit text-redigerare), bläddra till slutet, lägg till databasanslutnings-inställningarna för din databas i fältet som heter "umbracoDbDSN" och spara filen.

          Klicka på Försök igen knappen när du är klar.
          > Mer information om att redigera web.config hittar du här.

          ]]>
          Eventuellt kan du behöva kontakta ditt webb-hotell. Om du installerar på en lokal maskin eller server kan du få informationen från din systemadministratör.]]> Tryck Uppgradera knappen för att uppgradera din databas till Umbraco %0%

          Du behöver inte vara orolig. Inget innehåll kommer att raderas och efteråt kommer allt att fungera som vanligt!

          ]]>
          Tryck Nästa för att fortsätta.]]> diff --git a/src/Umbraco.Web.UI/Umbraco/config/lang/tr.xml b/src/Umbraco.Web.UI/Umbraco/config/lang/tr.xml index a26459b23e..3963eb1e23 100644 --- a/src/Umbraco.Web.UI/Umbraco/config/lang/tr.xml +++ b/src/Umbraco.Web.UI/Umbraco/config/lang/tr.xml @@ -2,7 +2,7 @@ The Umbraco community - http://our.umbraco.org/documentation/Extending-Umbraco/Language-Files + https://our.umbraco.com/documentation/Extending-Umbraco/Language-Files Kültür ve Hostnames @@ -452,7 +452,7 @@

          Tekrar dene.
          - + Burada düzenleme web.config Hakkında Daha Fazla Bilgi.

          ]]>
          diff --git a/src/Umbraco.Web.UI/Umbraco/config/lang/zh.xml b/src/Umbraco.Web.UI/Umbraco/config/lang/zh.xml index b736e4be59..3c5c0d99cf 100644 --- a/src/Umbraco.Web.UI/Umbraco/config/lang/zh.xml +++ b/src/Umbraco.Web.UI/Umbraco/config/lang/zh.xml @@ -2,7 +2,7 @@ 黄仁祥(wanddy@163.com) - http://our.umbraco.org/documentation/Extending-Umbraco/Language-Files + https://our.umbraco.com/documentation/Extending-Umbraco/Language-Files 管理主机名 @@ -174,7 +174,7 @@ 子项 目标 这将转换到服务器上的以下时间: - 这是什么意思?]]> + 这是什么意思?]]> 点击上传 @@ -571,7 +571,7 @@ 数据库未找到!请检查数据库连接串设置。

          您可以自行编辑“web.config”文件,键名为 “UmbracoDbDSN”

          - 当自行编辑后,单击重试按钮
          。 + 当自行编辑后,单击重试按钮
          。 如何编辑web.config

          ]]>
          diff --git a/src/Umbraco.Web.UI/Views/Partials/Grid/Editors/Rte.cshtml b/src/Umbraco.Web.UI/Views/Partials/Grid/Editors/Rte.cshtml index d132e10017..04123128c9 100644 --- a/src/Umbraco.Web.UI/Views/Partials/Grid/Editors/Rte.cshtml +++ b/src/Umbraco.Web.UI/Views/Partials/Grid/Editors/Rte.cshtml @@ -1,4 +1,4 @@ @model dynamic @using Umbraco.Web.Templates -@Html.Raw(TemplateUtilities.ParseInternalLinks(Model.value.ToString())) +@Html.Raw(TemplateUtilities.ParseInternalLinks(Model.value.ToString(), UmbracoContext.Current.UrlProvider)) diff --git a/src/Umbraco.Web.UI/config/HealthChecks.Release.config b/src/Umbraco.Web.UI/config/HealthChecks.Release.config index 69324bf513..1eb7b0e07a 100644 --- a/src/Umbraco.Web.UI/config/HealthChecks.Release.config +++ b/src/Umbraco.Web.UI/config/HealthChecks.Release.config @@ -2,10 +2,10 @@ diff --git a/src/Umbraco.Web.UI/config/HealthChecks.config b/src/Umbraco.Web.UI/config/HealthChecks.config index 75cf3713bd..4e927e8bb6 100644 --- a/src/Umbraco.Web.UI/config/HealthChecks.config +++ b/src/Umbraco.Web.UI/config/HealthChecks.config @@ -2,10 +2,10 @@ diff --git a/src/Umbraco.Web.UI/config/feedProxy.Release.config b/src/Umbraco.Web.UI/config/feedProxy.Release.config index bc9a91647d..38e7d27acf 100644 --- a/src/Umbraco.Web.UI/config/feedProxy.Release.config +++ b/src/Umbraco.Web.UI/config/feedProxy.Release.config @@ -8,4 +8,5 @@ + diff --git a/src/Umbraco.Web.UI/config/feedProxy.config b/src/Umbraco.Web.UI/config/feedProxy.config index bc9a91647d..38e7d27acf 100644 --- a/src/Umbraco.Web.UI/config/feedProxy.config +++ b/src/Umbraco.Web.UI/config/feedProxy.config @@ -8,4 +8,5 @@ + diff --git a/src/Umbraco.Web.UI/config/umbracoSettings.Release.config b/src/Umbraco.Web.UI/config/umbracoSettings.Release.config index 9a181a3ef8..85b7895254 100644 --- a/src/Umbraco.Web.UI/config/umbracoSettings.Release.config +++ b/src/Umbraco.Web.UI/config/umbracoSettings.Release.config @@ -3,7 +3,7 @@ diff --git a/src/Umbraco.Web.UI/umbraco/config/lang/nb.xml b/src/Umbraco.Web.UI/umbraco/config/lang/nb.xml new file mode 100644 index 0000000000..e3b58903d1 --- /dev/null +++ b/src/Umbraco.Web.UI/umbraco/config/lang/nb.xml @@ -0,0 +1,1023 @@ + + + + The Umbraco community + http://our.umbraco.org/documentation/Extending-Umbraco/Language-Files + + + Angi domene + Revisjoner + Bla gjennom + Skift dokumenttype + Kopier + Opprett + Opprett pakke + Slett + Deaktiver + Tøm papirkurv + Eksporter dokumenttype + Importer dokumenttype + Importer pakke + Rediger i Canvas + Logg av + Flytt + Varslinger + Offentlig tilgang + Publiser + Avpubliser + Oppdater noder + Republiser hele siten + Gjenopprett + Rettigheter + Reverser + Send til publisering + Send til oversetting + Sorter + Oversett + Oppdater + + + Ingen tilgang. + Legg til domene + Fjern + Ugyldig node. + Ugyldig domeneformat. + Domene er allerede tilknyttet. + Språk + Domene + Domene '%0%' er nå opprettet og tilknyttet siden + Domenet '%0%' er nå slettet + Domenet '%0%' er allerede tilknyttet + Domenet '%0%' er nå oppdatert + eller rediger eksisterende domener +
          Stier med ett nivå støttes, f.eks. "eksempel.com/no". Imidlertid bør det unngås. Bruk heller språkinnstillingen over.]]>
          + Arv + Språk + Vil også gjelde denne noden, med mindre et underordnet domene også gjelder.]]> + Domener + + + Viser for + + + Velg + Velg gjeldende mappe + Gjør noe annet + Fet + Reduser innrykk + Sett inn skjemafelt + Sett inn grafisk overskrift + Rediger HTML + Øk innrykk + Kursiv + Midtstill + Juster tekst venstre + Juster tekst høyre + Sett inn lenke + Sett inn lokal lenke (anker) + Punktmerking + Nummerering + Sett inn makro + Sett inn bilde + Rediger relasjoner + Tilbake til listen + Lagre + Lagre og publiser + Lagre og planlegge + Lagre og send til publisering + Forhåndsvis + Forhåndsvisning er deaktivert siden det ikke er angitt noen mal + Velg formattering + Vis stiler + Sett inn tabell + + + For å endre det valge innholdets dokumenttype, velger du først en ny dokumenttype som er gyldig på gjeldende plassering. + Kontroller deretter at alle egenskaper blir overført riktig til den nye dokumenttypen og klikk på Lagre. + Innholdet har blitt republisert. + Nåværende egenskap + Nåværende type + Du kan ikke endre dokumenttype, ettersom det ikke er andre gyldige dokumenttyper på denne plasseringen. + Dokumenttype endret + Overfør egenskaper + Overfør til egenskap + Ny mal + Ny type + ingen + Innhold + Velg ny dokumenttype + Dokumenttypen på det valgte innhold ble endret til [new type], og følgende egenskaper ble overført: + til + Overføringen av egenskaper kunne ikke fullføres da en eller flere egenskaper er satt til å bli overført mer enn en gang. + Kun andre dokumenttyper som er gyldige for denne plasseringen vises. + + + Publisert + Om siden + Alias + (hvordan du ville beskrevet bildet over telefon) + Alternative lenker + Klikk for å redigere denne noden + Opprettet av + Opprinnelig forfatter + Oppdatert av + Opprettet den + Tidspunkt for opprettelse + Dokumenttype + Redigerer + Utløpsdato + Denne noden er endret siden siste publisering + Denne noden er enda ikke publisert + Sist publisert + Det er ingen elementer å vise i listen. + Mediatype + Link til media + Medlemsgruppe + Rolle + Medlemstype + Ingen dato valgt + Sidetittel + Egenskaper + Dette dokumentet er publisert, men ikke synlig ettersom den overliggende siden '%0%' ikke er publisert + Intern feil: dokumentet er publisert men finnes ikke i hurtigbuffer + Publisert + Publiseringsstatus + Publiseringsdato + Dato for avpublisering + Fjern dato + Sorteringsrekkefølgen er oppdatert + Trekk og slipp nodene eller klikk på kolonneoverskriftene for å sortere. Du kan velge flere noder ved å holde shift eller control tastene mens du velger. + Statistikk + Tittel (valgfri) + Alternativ tekst (valgfri) + Type + Avpubliser + Sist endret + Tidspunkt for siste endring + Fjern fil + Lenke til dokument + Medlem av gruppe(ne) + Ikke medlem av gruppe(ne) + Undersider + Åpne i vindu + + + Klikk for å laste opp + Slipp filene her... + + + Opprett et nytt medlem + Alle medlemmer + + + Hvor ønsker du å oprette den nye %0% + Opprett under + Velg en type og skriv en tittel + "dokumenttyper".]]> + "mediatyper".]]> + + + Til ditt nettsted + - Skjul + Hvis Umbraco ikke starter, kan det skyldes at pop-up vinduer ikke er tillatt + er åpnet i nytt vindu + Omstart + Besøk + Velkommen + + + Stay + Discard changes + You have unsaved changes + Are you sure you want to navigate away from this page? - you have unsaved changes + + + Done + + Deleted %0% item + Deleted %0% items + Deleted %0% out of %1% item + Deleted %0% out of %1% items + + Published %0% item + Published %0% items + Published %0% out of %1% item + Published %0% out of %1% items + + Unpublished %0% item + Unpublished %0% items + Unpublished %0% out of %1% item + Unpublished %0% out of %1% items + + Moved %0% item + Moved %0% items + Moved %0% out of %1% item + Moved %0% out of %1% items + + Copied %0% item + Copied %0% items + Copied %0% out of %1% item + Copied %0% out of %1% items + + + Navn på lokal link + Rediger domener + Lukk dette vinduet + Er du sikker på at du vil slette + Er du sikker på at du vil deaktivere + Vennligst kryss av i denne boksen for å bekrefte sletting av %0% element(er) + Er du sikker på at du vil forlate Umbraco? + Er du sikker? + Klipp ut + Rediger ordboksnøkkel + Rediger språk + Sett inn lokal link + Sett inn spesialtegn + Sett inn grafisk overskrift + Sett inn bilde + Sett inn lenke + Sett inn makro + Sett inn tabell + Sist redigert + Lenke + Intern link: + Ved lokal link, sett inn "#" foran link + Åpne i nytt vindu? + Makroinnstillinger + Denne makroen har ingen egenskaper du kan endre + Lim inn + Endre rettigheter for + Innholdet i papirkurven blir nå slettet. Vennligst ikke lukk dette vinduet mens denne operasjonen foregår + Papirkurven er nå tom + Når elementer blir slettet fra papirkurven vil de være slettet for alltid + regexlib.com tjenesten opplever for tiden problemer som vi ikke har kontroll over. Vi beklager denne ubeleiligheten.]]> + Søk etter et regulært uttrykk for å legge inn validering til et felt. Eksempel: 'email, 'zip-code' 'url' + Fjern makro + Obligatorisk + Nettstedet er indeksert + Hurtigbufferen er blitt oppdatert. Alt publisert innhold er nå à jour. Alt upublisert innhold er fortsatt ikke publisert. + Hurtigbufferen for siden vil bli oppdatert. Alt publisert innhold vil bli oppdatert, mens upublisert innhold vil forbli upublisert. + Antall kolonner + Antall rader + Sett en plassholder-ID
          Ved å sette en ID på plassholderen kan du legge inn innhold i denne malen fra underliggende maler, ved å referere denne ID'en ved hjelp av et <asp:content /> element.]]>
          + Velg en plassholder ID fra listen under. Du kan bare velge ID'er fra den gjeldende malens overordnede mal.]]> + Klikk på bildet for å se det i full størrelse + Velg punkt + Se buffret node + + + %0%' under.
          Du kan legge til flere språk under 'språk' i menyen til venstre.]]>
          + Språk + + + Skriv inn ditt brukernavn + Skriv inn ditt passord + Navngi %0%... + Skriv inn navn... + Søk... + Filtrer... + Skriv inn nøkkelord (trykk på Enter etter hvert nøkkelord)... + + + Tillat på rotnivå + Kun dokumenttyper med denne innstillingen aktivert kan opprettes på rotnivå under Innhold og Mediearkiv + Tillatte underordnede noder + Sammensetting av dokumenttyper + Opprett + Slett arkfane + Beskrivelse + Ny arkfane + Arkfane + Miniatyrbilde + Aktiver listevisning + Viser undersider i en søkbar liste, undersider vises ikke i innholdstreet + Gjeldende listevisning + Den aktive listevisningsdatatypen + Opprett brukerdefinert listevisning + Fjern brukerdefinert listevisning + + + Legg til forhåndsverdi + Database datatype + Kontrollelement GUID + Kontrollelement + Knapper + Aktiver avanserte instillinger for + Aktiver kontektsmeny + Maksimum standard størrelse på innsatte bilder + Beslektede stilark + Vis etikett + Bredde og høyde + + + Dine data har blitt lagret, men før du kan publisere denne siden må du rette noen feil: + Den gjeldende Membership Provider støtter ikke endring av passord. (EnablePasswordRetrieval må være satt til sann) + %0% finnes allerede + Det var feil i dokumentet: + Det var feil i skjemaet: + Passordet bør være minst %0% tegn og inneholde minst %1% numeriske tegn + %0% må være et heltall + %0% under %1% er obligatorisk + %0% er obligatorisk + %0% under %1% er ikke i et korrekt format + %0% er ikke i et korrekt format + + + Filtypen er deaktivert av administrator + NB! Selv om CodeMirror er aktivert i konfigurasjon er det deaktivert i Internet Explorer pga. ustabilitet. + Fyll ut både alias og navn på den nye egenskapstypen! + Det er et problem med lese/skrive rettighetene til en fil eller mappe + Tittel mangler + Type mangler + Du er i ferd med å gjøre bildet større enn originalen. Det vil forringe kvaliteten på bildet, ønsker du å fortsette? + Feil i python-skriptet + Python-skriptet ble ikke lagret fordi det inneholder en eller flere feil + Startnode er slettet. Kontakt din administrator + Du må markere innhold før du kan endre stil + Det er ingen aktive stiler eller formateringer på denne siden + Sett markøren til venstre i de 2 cellene du ønsker å slå sammen + Du kan ikke dele en celle som allerede er delt. + Det er et problem dem datatypen som brukes til denne egenskapen. Kontroller innstillingene og prøv igjen. + + + Om + Handling + Muligheter + Legg til + Alias + Er du sikker? + Ramme + av + Avbryt + Cellemargin + Velg + Lukk + Lukk vindu + Kommentar + Bekreft + Behold proposjoner + Fortsett + Kopier + Opprett + Database + Dato + Standard + Slett + Slettet + Sletter... + Design + Dimensjoner + Ned + Last ned + Rediger + Endret + Elementer + E-post + Feil + Finn + Høyde + Hjelp + Ikon + Importer + Indre margin + Sett inn + Installer + Justering + Språk + Layout + Laster + Låst + Logg inn + Logg ut + Logg ut + Makro + Flytt + Mer + Navn + Ny + Neste + Nei + av + OK + Åpne + eller + Passord + Sti + Plassholder ID + Ett øyeblikk... + Forrige + Egenskaper + E-post som innholdet i skjemaet skal sendes til + Papirkurv + Gjenværende + Gi nytt navn + Forny + Påkrevd + Prøv igjen + Rettigheter + Søk + Server + Vis + Hvilken side skal vises etter at skjemaet er sendt + Størrelse + Sorter + Send + Type + Søk... + Opp + Oppdater + Oppgrader + Last opp + Url + Bruker + Brukernavn + Verdi + Visning + Velkommen... + Bredde + Ja + Mappe + Søkeresultater + Sorter + Avslutt sortering + Eksempel + Bytt passord + til + Listevisning + Lagrer... + nåværende + Innbygging + Hent + valgt + + + Bakgrunnsfarge + Fet + Tekstfarge + Skrifttype + Tekst + + + Side + + + Installasjonsprogrammet kan ikke koble til databasen + Kunne ikke lagre Web.Config-filen. Vennligst endre databasens tilkoblingsstreng manuelt. + Din database er funnet og identifisert som + Databasekonfigurasjon + installer-knappen for å installere Umbraco %0% databasen]]> + Neste for å fortsette.]]> + Databasen ble ikke funnet! Vennligst sjekk at informasjonen i "connection string" i "web.config"-filen er korrekt.

          For å fortsette, vennligst rediger "web.config"-filen (bruk Visual Studio eller din favoritteditor), rull ned til bunnen, og legg til tilkoblingsstrengen for din database i nøkkelen "umbracoDbDSN" og lagre filen.

          Klikk prøv på nytt når du er ferdig.
          Mer informasjon om redigering av web.config her.

          ]]>
          + Vennligst kontakt din ISP om nødvendig. Hvis du installerer på en lokal maskin eller server, må du kanskje skaffe informasjonen fra din systemadministrator.]]> + Trykk på knappen oppgrader for å oppgradere databasen din til Umbraco %0%

          Ikke vær urolig - intet innhold vil bli slettet og alt vil fortsette å virke etterpå!

          ]]>
          + Trykk Neste for å fortsette.]]> + neste for å fortsette konfigurasjonsveiviseren]]> + Passordet til standardbrukeren må endres!]]> + Standardbrukeren har blitt deaktivert eller har ingen tilgang til Umbraco!

          Ingen videre handling er nødvendig. Klikk neste for å fortsette.]]> + Passordet til standardbrukeren har blitt forandret etter installasjonen!

          Ingen videre handling er nødvendig. Klikk Neste for å fortsette.]]> + Passordet er blitt endret! + Få en god start med våre introduksjonsvideoer + Ved å klikke på Neste-knappen (eller endre UmbracoConfigurationStatus i Web.config), godtar du lisensen for denne programvaren som angitt i boksen nedenfor. Legg merke til at denne Umbraco distribusjon består av to ulike lisenser, åpen kilde MIT lisens for rammen og Umbraco frivareverktøy lisens som dekker brukergrensesnittet. + Ikke installert. + Berørte filer og mapper + Mer informasjon om å sette opp rettigheter for Umbraco her + Du må gi ASP.NET brukeren rettigheter til å endre de følgende filer og mapper + Rettighetene er nesten perfekt satt opp!

          Du kan kjøre Umbraco uten problemer, men du vil ikke være i stand til å installere de anbefalte pakkene for å utnytte Umbraco fullt ut.]]>
          + Hvordan løse problemet + Klikk her for å lese tekstversjonen + innføringsvideo om å sette opp rettigheter for Umbraco eller les tekstversjonen.]]> + Rettighetsinnstillingene kan være et problem!

          Du kan kjøre Umbraco uten problemer, men du vil ikke være i stand til å installere de anbefalte pakkene for å utnytte Umbraco fullt ut.]]>
          + Rettighetsinstillingene er ikke klargjort for Umbraco!

          For å kunne kjøre Umbraco, må du oppdatere rettighetsinnstillingene dine.]]>
          + Rettighetsinnstillingene er perfekt!

          Du er klar for å kjøre Umbraco og installere pakker!]]>
          + Løser mappeproblem + Følg denne linken for mer informasjon om problemer med ASP.NET og oppretting av mapper + Konfigurerer mappetillatelser + + Jeg ønsker å starte fra bunnen. + lær hvordan) Du kan fortsatt velge å installere Runway senere. Vennligst gå til Utvikler-seksjonen og velg Pakker.]]> + Du har akkurat satt opp en ren Umbraco plattform. Hva vil du gjøre nå? + Runway er installert + Dette er vår liste av anbefalte moduler- Kryss av de du ønsker å installere, eller se denfulle listen av moduler ]]> + Bare anbefalt for erfarne brukere + Jeg vil starte med en enkel webside + "Runway" er en enkel webside som utstyrer deg med noen grunnleggende dokumenttyper og maler. Veiviseren kan sette opp Runway for deg automatisk, men du kan enkelt endre, utvide eller slette den. Runway er ikke nødvendig, og du kan enkelt bruke Umbraco uten den. Imidlertidig tilbyr Runway et enkelt fundament basert på de beste metodene for å hjelpe deg i gang fortere enn noensinne. Hvis du velger å installere Runway, kan du også velge blant grunnleggende byggeklosser kalt Runway Moduler for å forøke dine Runway-sider.

          Sider inkludert i Runway: Hjemmeside, Komme-i-gang, Installere moduler.
          Valgfrie Moduler: Toppnavigasjon, Sidekart, Kontakt, Galleri.
          ]]>
          + Hva er Runway + Steg 1/5 Godta lisens + Steg 2/5 Database konfigurasjon + Steg 3/5: Valider filrettigheter + Steg 4/5: Skjekk Umbraco sikkerheten + Steg 5/5: Umbraco er klar for deg til å starte! + Tusen takk for at du valgte Umbraco! + Se ditt nye nettsted
    Du har installert Runway, hvorfor ikke se hvordan ditt nettsted ser ut.]]> + Mer hjelp og info Få hjelp fra vårt prisbelønte samfunn, bla gjennom dokumentasjonen eller se noen gratis videoer på hvordan man bygger et enkelt nettsted, hvordan bruke pakker og en rask guide til Umbraco terminologi]]> + Umbraco %0% er installert og klar til bruk + web.config filen, og oppdatere AppSetting-nøkkelen UmbracoConfigurationStatus til verdien '%0%']]> + starte øyeblikkelig ved å klikke på "Start Umbraco" knappen nedenfor.
    Hvis du er ny på Umbraco, kan du finne mange ressurser på våre komme-i-gang sider.]]>
    + Start Umbraco For å administrere din webside, åpne Umbraco og begynn å legge til innhold, oppdatere maler og stilark eller utvide funksjonaliteten]]> + Tilkobling til databasen mislyktes. + Umbraco Versjon 3 + Umbraco Versjon 4 + Se + Umbraco %0% for en ny installasjon eller oppgradering fra versjon 3.0.

    Trykk "neste" for å starte veiviseren.]]>
    + + + Språkkode + Språk + + + Du har vært inaktiv og vil logges ut automatisk om + Forny innlogging for å lagre + + + Da er det søndag! + Smil, det er mandag! + Hurra, det er tirsdag! + For en herlig onsdag! + Gledelig torsdag! + Endelig fredag! + Gledelig lørdag + Logg på nedenfor + Logg på med + Din sesjon er utløpt + © 2001 - %0%
    umbraco.com

    ]]>
    + + + Skrivebord + Seksjoner + Innhold + + + Velg side over... + %0% er nå kopiert til %1% + Kopier til + %0% er nå flyttet til %1% + Flytt til + har blitt valgt som rot til ditt nye innhold, klikk 'ok' nedenfor. + Ingen node er valgt, vennligst velg en node i listen over før du klikker 'fortsett' + Gjeldende nodes type tillates ikke under valgt node + Gjeldende node kan ikke legges under en underordnet node + Denne noden kan ikke ligge på rotnivå + Handlingen tillates ikke. Du mangler tilgang til en eller flere underordnede noder. + Relater kopierte elementer til original(e) + + + Rediger dine varsler for %0% + + Hei %0%

    + +

    Dette er en automatisk mail for å informere om at handlingen '%1%' + er blitt utført på siden '%2%' + av brukeren '%3%' +

    + +

    +

    Rettelser:

    + + %6% +
    +

    + + + +

    Ha en fin dag!

    + Vennlig hilsen Umbraco roboten +

    ]]>
    + [%0%] Varsling om %1% utført på %2% + Varslinger + + + Umbraco-pakker har vanligvis endelsen ".umb" eller ".zip".]]> + Utvikler + Demonstrasjon + Dokumentasjon + Metadata + Pakkenavn + Pakken inneholder ingen elementer +
    Du kan trygt fjerne pakken fra systemet ved å klikke "avinstaller pakke" nedenfor.]]>
    + Ingen oppdateringer tilgjengelig + Alternativer for pakke + Lesmeg for pakke + Pakkebrønn + Bekreft avinstallering + Pakken ble avinstallert + Pakken ble vellykket avinstallert + Avinstaller pakke + Advarsel: alle dokumenter, media, etc. som som er avhengig av elementene du sletter, vil slutte å virke, noe som kan føre til ustabilitet, så avinstaller med forsiktighet. Hvis du er i tvil, kontakt pakkeutvikleren.]]> + Last ned oppdatering fra pakkeregisteret + Oppgrader pakke + Oppgraderingsinstrukser + Det er en oppdatering tilgjengelig for denne pakken. Du kan laste den ned direkte fra pakkebrønnen. + Pakkeversjon + Pakkeversjonshistorie + Se pakkens nettsted + + + Lim inn med full formattering (Anbefales ikke) + Teksten du er i ferd med å lime inn, inneholder spesialtegn eller formattering. Dette kan skyldes at du kopierer fra f.eks. Microsoft Word. Umbraco kan fjerne denne spesialformatteringen automatisk slik at innholdet er mer velegnet for visning på en webside. + Lim inn som ren tekst, dvs. fjern al formattering + Lim inn og fjern uegnet formatering (anbefalt) + + + Avansert: Beskytt ved å velge hvilke brukergrupper som har tilgang til siden + ved å bruke Umbraco's medlems-grupper]]> + Du må opprette en medlemsgruppe før du kan bruke rollebasert autentikasjon. + Feilside + Brukt når personer logger på, men ikke har tilgang + Hvordan vil du beskytte siden din? + %0% er nå beskyttet + Beskyttelse fjernet fra %0% + Innloggingsside + Velg siden som har loginformularet + Fjern beskyttelse + Velg sidene som inneholder login-skjema og feilmelding ved feil innolgging. + Velg rollene som har tilgang til denne siden + Sett brukernavn og passord for denne siden + Enkelt: Beskytt ved hjelp av brukernavn og passord + Om du ønsker å bruke enkel autentisering via ett enkelt brukernavn og passord + + + %0% kunne ikke publiseres fordi den har planlagt utgivelsesdato. + %0% ble ikke publisert. Ett eller flere felter ble ikke godkjent av validering. + %0% kunne ikke publiseres fordi et tredjepartstillegg avbrøt handlingen. + %0% kan ikke publiseres fordi en overordnet side ikke er publisert. + Inkluder upubliserte undersider + Publiserer - vennligst vent... + %0% av %1% sider har blitt publisert... + %0% er nå publisert + %0% og alle undersider er nå publisert + Publiser alle undersider + ok for å publisere %0% og dermed gjøre innholdet synlig for alle.

    Du kan publisere denne siden og alle dens undersider ved å krysse av Publiser alle undersider nedenfor.]]>
    + + + Du har ikke konfigurert noen godkjente farger + + + skriv inn ekstern lenke + velg en intern side + Tittel + Lenke + Åpne i nytt vindu + Skriv inn en tekst + Skriv inn en lenke + + + Nullstill + + + Gjeldende versjon + Rød tekst vil ikke bli vist i den valgte versjonen. , grønn betyr lagt til]]> + Dokumentet er tilbakeført til en tidligere versjon + Dette viser den valgte versjonen som HTML, bruk avviksvisningen hvis du ønsker å se forksjellene mellom to versjoner samtidig. + Tilbakefør til + Velg versjon + Vis + + + Rediger scriptfilen + + + Concierge + Innhold + Courier + Utvikler + Umbraco konfigurasjonsveiviser + Mediaarkiv + Medlemmer + Nyhetsbrev + Innstillinger + Statistikk + Oversettelse + Brukere + Hjelp + Skjemaer + Analytics + + + gå til + Hjelpeemner for + Videokapitler for + De beste Umbraco opplæringsvideoer + + + Standardmal + Ordboksnøkkel + For å importere en dokumenttype, finn ".udt" filen på datamaskinen din ved å klikke "Utforsk" knappen og klikk "Importer" (du vil bli spurt om bekreftelse i det neste skjermbildet) + Ny tittel på arkfane + Nodetype + Type + Stilark + Script + Stilark-egenskap + Arkfane + Tittel på arkfane + Arkfaner + Hovedinnholdstype aktivert + Denne dokumenttypen bruker + som hoveddokumenttype. Arkfaner fra hoveddokumenttyper vises ikke og kan kun endres på hoveddokumenttypen selv. + Ingen egenskaper definert i denne arkfanen. Klikk på "legg til ny egenskap" lenken i toppen for å opprette en ny egenskap. + Hovedinnholdstype + Opprett tilhørende mal + + + Sort order + Creation date + Sortering ferdig. + Dra elementene opp eller ned for å arrangere dem. Du kan også klikke kolonneoverskriftene for å sortere alt på en gang. + + + + En feil oppsto + Utilstrekkelige brukertillatelser, kunne ikke fullføre operasjonen + Avbrutt + Handlingen ble avbrutt av et tredjepartstillegg + Publisering ble avbrutt av et tredjepartstillegg + Egenskaptypen finnes allerede + Egenskapstype opprettet + DataType: %1%]]> + Egenskapstype slettet + Innholdstype lagret + Du har opprettet en arkfane + Arkfane slettet + Arkfane med id: %0% slettet + Stilarket ble ikke lagret + Stilarket ble lagret + Stilark lagret uten feil + Datatype lagret + Ordbokelement lagret + Publiseringen feilet fordi den overliggende siden ikke er publisert + Innhold publisert + og er nå synlig for besøkende + Innhold lagret + Husk å publisere for å gjøre endringene synlig for besøkende + Sendt for godkjenning + Endringer har blitt sendt til godkjenning + Media lagret + Media lagret uten feil + Medlem lagret + Stilarksegenskap lagret + Stilark lagret + Mal lagret + Feil ved lagring av bruker (sjekk loggen) + Bruker lagret + Brukertypen lagret + Filen ble ikke lagret + Filen kunne ikke lagres. Vennligst sjekk filrettigheter + Filen ble lagret + Filen ble lagret uten feil + Språk lagret + Python-skriptet ble ikke lagret + Python-skriptet kunne ikke lagres fordi det inneholder en eller flere feil + Python-skriptet er lagret! + Ingen feil i python-skriptet! + Malen ble ikke lagret + Vennligst forviss deg om at du ikke har to maler med samme alias + Malen ble lagret + Malen ble lagret uten feil! + Innhold avpublisert + Delmal lagret + Delmal lagret uten feil + Delmal ble ikke lagret! + En feil oppsto ved lagring av delmal + Script visning lagret + Script visning lagret uten feil! + Script visning ikke lagret + En feil oppsto under lagring av filen. + En feil oppsto under lagring av filen. + + + Bruk CSS syntaks f.eks: h1, .redHeader, .blueText + Rediger stilark + Rediger egenskap for stilark + Navn for å identifisere stilarksegenskapen i rik-tekst editoren + Forhåndsvis + Stiler + + + Rediger mal + Sett inn innholdsområde + Sett inn plassholder for innholdsområde + Sett inn ordbokselement + Sett inn makro + Sett inn Umbraco sidefelt + Hovedmal + Hurtigguide til Umbraco sine maltagger + Mal + + + Rich Text Editor + Image + Macro + Embed + Headline + Quote + Sett inn element + Velg layout + Legg til rad + Legg til innhold + Slipp innhold + Raden har tilpasset design + + Innholdstypen er ikke tillatt her + Innholdstypen er tillatt her + + Klikk for å bygge inn + Klikk for å sette inn et bilde + Bildetekst... + Skriv her... + + Rutenettoppsett + Et oppsett er det overordnede arbeidsområdet til ditt rutenett - du vil typisk kun behøve ett eller to + Legg til rutenettoppsett + Juster oppsettet ved å konfigurere kolonnebredder og legge til ytterligere seksjoner + Radkonfigurasjoner + Rader er forhåndsdefinerte celler arrangert vannrett + Legg til radkonfigurasjon + Juster raden ved å sette cellebredder og legge til flere celler + + Kolonner + Totalt antall kolonner i rutenettet + + Innstillinger + Konfigurer hvilke innstillinger brukeren kan endre + + Stiler + Konfigurer hvilke stiler redaktørene kan endre + + Innstillingene lagres kun når konfigurasjonen er gyldig + + Tillatt alle editorer + Tillat alle radkonfigurasjoner + Bruk som standard + Velg ekstra + Velg standard + er lagt til + + + Alternativt felt + Alternativ tekst + Store/små bokstaver + Encoding + Felt som skal settes inn + Konverter linjeskift + Erstatter et linjeskift med htmltaggen <br> + Egendefinerte felt + Ja, kun dato + Formatter som dato + HTML koding + Formater spesialtegn med tilsvarende HTML-tegn. + Denne teksten vil settes inn etter verdien av feltet + Denne teksten vil settes inn før verdien av feltet + Små bokstaver + Ingen + Sett inn etter felt + Sett inn før felt + Rekursivt + Standardfelter + Store bokstaver + URL koding + Dersom innholdet av feltene skal sendes til en URL skal spesialtegn formatteres + Denne teksten vil benyttes dersom feltene over er tomme + Dette feltet vil benyttes dersom feltet over er tomt + Ja, med klokkeslett. Dato/tid separator: + + + Oppgaver satt til deg + som du er tildelt. For å se en detaljert visning inkludert kommentarer, klikk på "Detaljer" eller navnet på siden. Du kan også laste ned siden som XML direkte ved å klikke på linken "Last ned XML".
    For å lukke en oversettelsesoppgave, vennligst gå til detaljvisningen og klikk på "Lukk" knappen.]]>
    + Lukk oppgave + Oversettelses detaljer + Last ned all oversettelsesoppgaver som XML + Last ned XML + Last ned XML DTD + Felt + Inkluder undersider + + [%0%] Oversettingsoppgave for %1% + Ingen oversettelses-bruker funnet. Vennligst opprett en oversettelses-bruker før du begynner å sende innhold til oversetting + Oppgaver opprettet av deg + opprettet av deg. For å se en detaljert visning inkludert kommentarer, klikk på "Detaljer" eller navnet på siden. Du kan også laste ned siden som XML direkte ved å klikke på linken "Last ned XML". For å lukke en oversettelsesoppgave, vennligst gå til detaljvisningen og klikk på "Lukk" knappen.]]> + Siden '%0%' har blitt sendt til oversetting + Send til oversetting + Tildelt av + Oppgave åpnet + Antall ord + Oversett til + Oversetting fullført. + Du kan forhåndsvise sidene du nettopp har oversatt ved å klikke nedenfor. Hvis den originale siden finnes, vil du få en sammenligning av sidene. + Oversetting mislykkes, XML filen kan være korrupt + Alternativer for oversetting + Oversetter + Last opp XML med oversettelse + + + Hurtigbufferleser + Papirkurv + Opprettede pakker + Datatyper + Ordbok + Installerte pakker + Installer utseende + Installer startpakke + Språk + Installer lokal pakke + Makroer + Mediatyper + Medlemmer + Medlemsgrupper + Roller + Medlemstyper + Dokumenttyper + Pakker + Pakker + Python Filer + Installer fra pakkeregister + Installer Runway + Runway moduler + Skriptfiler + Skript + Stiler + Maler + Analytics + Brukertillatelser + Brukertyper typer + Brukere + + + Ny oppdatering er klar + %0% er klar, klikk her for å laste ned + Ingen forbindelse til server + Kunne ikke sjekke etter ny oppdatering. Se trace for mere info. + + + Administrator + Kategorifelt + Bytt passord + Nytt passord + Bekreft nytt passord + Du kan endre passordet til Umbraco ved å fylle ut skjemaet under og klikke "Bytt passord" knappen. + Innholdskanal + Beskrivelsesfelt + Deaktiver bruker + Dokumenttype + Redaktør + Utdragsfelt + Språk + Brukernavn + Øverste nivå i Media + Moduler + Deaktiver tilgang til Umbraco + Passord + Nullstill passord + Passordet er endret + Bekreft nytt passord + Nytt passord + Nytt passord kan ikke være blankt + Gjeldende passord + Feil passord + Nytt og bekreftet passord må være like + Nytt og bekreftet passord må være like + Overskriv tillatelser på undernoder + Du redigerer for øyeblikket tillatelser for sidene: + Velg sider for å redigere deres tillatelser + Søk i alle undersider + Startnode + Navn + Brukertillatelser + Forfatter + Oversetter + Endre + Din profil + Din historikk + Sesjonen utløper om + + diff --git a/src/Umbraco.Web.UI/umbraco/config/lang/zh_tw.xml b/src/Umbraco.Web.UI/umbraco/config/lang/zh_tw.xml new file mode 100644 index 0000000000..37c3dec60e --- /dev/null +++ b/src/Umbraco.Web.UI/umbraco/config/lang/zh_tw.xml @@ -0,0 +1,1343 @@ + + + + The Umbraco community + http://our.umbraco.org/documentation/Extending-Umbraco/Language-Files + + + 管理主機名稱 + 跟蹤審計 + 流覽節點 + 改變文檔類型 + 複製 + 創建 + 創建擴展包 + 刪除 + 禁用 + 清空回收站 + 匯出文檔類型 + 導入文檔類型 + 導入擴展包 + 即時編輯模式 + 退出 + 移動 + 提醒 + 公眾存取權限 + 發佈 + 取消發佈 + 重新載入節點 + 重新發佈整站 + 回復 + 許可權 + 回滾 + 提交至發佈者 + 發送給翻譯 + 排序 + 提交至發佈者 + 翻譯 + 更新 + 預設值 + + + 禁止訪問 + 添加功能變數名稱 + 移除 + 錯誤的節點 + 功能變數名稱錯誤 + 功能變數名稱重複 + 語言 + 功能變數名稱 + 新功能變數名稱 '%0%' 已創建 + 功能變數名稱 '%0%' 已刪除 + 功能變數名稱 '%0%' 已使用 + 功能變數名稱 '%0%' 已更新 + 編輯當前功能變數名稱 + + 繼承 + 語言 + 或從父節點繼承文化設定。
    + 也會改變目前節點設定,除非下方網域有其他項目。]]>
    + 功能變數名稱 + + + 查看 + + + 清除選擇 + 選擇 + 選擇目前資料夾 + 做別的事情 + 粗體 + 取消段落縮進 + 插入表單字段 + 插入圖片標題 + 編輯Html + 段落縮進 + 斜體 + 居中 + 左對齊 + 右對齊 + 插入連結 + 插入本地連結(錨點) + 圓點列表 + 數字清單 + 插入巨集 + 插入圖片 + 編輯關聯 + 回到清單 + 保存 + 保存並發佈 + 保存並提交審核 + 保存清單檢視 + 預覽 + 因未設置範本無法預覽 + 選擇樣式 + 顯示樣式 + 插入表格 + 產生模組 + + + 要更改所選節點的文檔類型,先在列表中選擇合適的文檔類型。 + 然後設置當前文檔類型到新文檔類型的各欄位間的對應映射關係並保存。 + 內容已被重新發佈 + 當前屬性 + 當前類型 + 不能改變文檔類型,因為沒有可替代的類型。 + 文檔類型已更改 + 要映射的欄位 + 映射欄位 + 新範本 + 新類型 + + 內容 + 選擇新的文檔類型 + 選中文檔的類型已被成功更改為[new type],以下欄位被映射: + + 不能完成欄位映射,因為存在一個欄位映射至多欄位的問題。 + 僅顯示可作為替代的文檔類型。 + + + 已發表 + 關於本頁 + 別名 + (圖片的替代文本) + 替代連結 + 點擊編輯 + 創建者 + 創建者 + 更新者 + 創建時間 + 此文件創建的日期時間 + 文檔類型 + 編輯 + 過期於 + 該項發佈之後有更改 + 該項沒有發佈 + 最近發佈 + 沒有可供顯示的項目 + 此列表中沒有可供顯示的項目 + 媒體類型 + 媒體連結位址 + 會員組 + 角色 + 會員類型 + 沒有選擇時間 + 頁標題 + 屬性 + 該文檔不可見,因為其上級 '%0%' 未發佈。 + 糟糕:該文檔已發佈,但是沒有更新至緩存(內部錯誤) + 糟糕:沒辦法連結到此網址(內部錯誤-請參見記錄) + 糟糕:此文件已經發表,但是網址和其他內容相衝 %0% + 發佈 + 發佈狀態 + 發佈於 + 取消發表於 + 清空時間 + 排序完成 + 拖拽項目或按一下列頭即可排序,可以按住Shift多選。 + 統計 + 標題(可選) + 其他說明文字(可選) + 類型 + 取消發佈 + 最近編輯 + 本文件修改時間 + 移除文件 + 連結到文檔 + 會員組成員 + 非會員組成員 + 子項目 + 目標 + 預計發表的時間(伺服器端) + 這是什麼意思?]]> + + + 點選以便上傳 + 拖曳檔案至此... + 媒體連結 + 或按這裡選擇檔案 + 只允許檔案類型為 + 檔案大小上限為 + + + 新增一位會員 + 所有會員 + + + 您想在哪裡創建 %0% + 創建在 + 選擇類型和標題 + "文檔類型"處變更。]]> + "媒體類型"處變更。]]> + 文檔類型沒有相關範本 + 沒有資料夾 + 新資料類別 + + + 流覽您的網站 + - 隱藏 + 如果Umbraco沒有打開,您可能需要允許彈出式視窗。 + 已經在新視窗中打開 + 重啟 + 訪問 + 歡迎 + + + 留下 + 放棄變更 + 您有未存檔的變更 + 您確定要離開本頁? - 您有未存檔的變更 + + + 完成 + 刪除 %0% 個項目 + 刪除 %0% 個項目 + 刪除 %1% 個中的 %0% 個項目 + 刪除 %1% 個中的 %0% 個項目 + 已發佈 %0% 個項目 + 已發佈 %0% 個項目 + 已發佈 %1% 個中的 %0% 個項目 + 已發佈 %1% 個中的 %0% 個項目 + 取消發佈 %0% 個項目 + 取消發佈 %0% 個項目 + 取消發佈 %1 個中的 %0% 個項目 + 取消發佈 %1 個中的 %0% 個項目 + 移動 %0% 個項目 + 移動 %0% 個項目 + 移動 %1 個中的 %0% 個項目 + 移動 %1 個中的 %0% 個項目 + 複製 %0% 個項目 + 複製 %0% 個項目 + 複製 %1 個中的 %0% 個項目 + 複製 %1 個中的 %0% 個項目 + + + 錨點名稱 + 管理主機名稱 + 關閉窗口 + 您確定要刪除嗎 + 您確定要禁用嗎 + 按一下此框確定刪除%0%項 + 您確定嗎? + 您確定嗎? + 剪切 + 編輯字典項 + 編輯語言 + 插入本地連結 + 插入字元 + 插入圖片標題 + 插入圖片 + 插入連結 + 插入巨集 + 插入表格 + 最近編輯 + 連結 + 內部連結: + 本地連結請用“#”號開頭 + 在新視窗中打開? + 巨集設置 + 本巨集沒有包含您可以編輯的屬性 + 粘貼 + 編輯許可權 + 正在清空回收站,請不要關閉窗口。 + 回收站已清空 + 從回收站刪除的項目將不可恢復 + regexlib.com的網站服務目前出現些狀況,而我們無能為力。我們對此不便感到十分抱歉。]]> + 查找規則運算式來驗證輸入,如: 'email、'zip-code'、'url'。 + 移除巨集 + 必填項目 + 網站已重建索引 + 網站緩存已刷新,所有已發佈的內容更新生效。 + 網站緩存將會刷新,所有已發佈的內容將會更新。 + 表格列數 + 表格行數 + 設定預留位置代碼 以便您要在子範本中插入內容到本範本時,填入此代碼到 <asp:content /> 裡面。]]> + 選擇預留位置代碼 於此清單中。您只能選擇目前父範本中的代碼。]]> + 點擊圖片查看完整大小 + 拾取項 + 查看緩存項 + 新增資料夾... + 與原本相關 + 最友善的社群 + 頁面連結 + 打開此連結文檔至新視窗或標籤頁 + 打開此連結文檔至全新視窗 + 打開此連結文檔在原本視窗中 + 媒體連結 + 選擇媒體 + 選擇圖示 + 選擇項目 + 選擇連結 + 選擇巨集 + 選擇內容 + 選擇會員 + 選擇會員群組 + 沒有找到任何圖示 + 本巨集沒有需要參數 + 外部登入提供者 + 例外細節 + 詳細記錄 + 內部例外 + 連結您的 + 取消連結您的 + 帳戶 + 選擇編輯器 + + + %0%' 編輯不同語言版本,
    您可以在左方選單「語言」中增添新的語言 + ]]>
    + 語言名稱 + + + 輸入您的使用者名稱 + 輸入您的密碼 + 確認您的密碼 + 命名此 %0%... + 輸入一個名稱 + 標籤... + 輸入一段描述... + 搜尋請輸入... + 過濾請輸入... + 增加標籤(每個標籤後請按輸入鍵)... + 輸入您的電子郵件 + + + 允許放置於根節點 + 只有勾選「允許放置於根節點」的內容種類可以放在內容樹或媒體樹的最頂端 + 允許子項節點類型 + 文檔種類集合 + 創建 + 刪除選項卡 + 描述 + 新建選項卡 + 選項卡 + 縮略圖 + 允許清單檢視 + 允許內容項目顯示成可以排列及搜尋的清單,子項目不會被顯示 + 目前清單檢視 + 作用中的清單檢視資料類別 + 新增自訂清單檢視 + 移除自訂清單檢視 + + + 添加預設值 + 資料庫資料類型 + 資料類型唯一標識 + 渲染控制項 + 按鈕 + 允許高級設置 + 允許快顯功能表 + 插入圖片預設最大 + 關聯的樣式表 + 顯示標籤 + 寬和高 + + + 資料已保存,但是發佈前您需要修正一些錯誤: + 當前成員提供程式不支援修改密碼(EnablePasswordRetrieval的值應該為true) + %0% 已存在 + 發現錯誤: + 發現錯誤: + 密碼最少%0%位元,且至少包含%1%位元非字母數位記號 + %0% 必須是整數 + %1% 中的 %0% 欄位是必填項 + %0% 是必填項 + %1% 中的 %0% 格式不正確 + %0% 格式不正確 + + + 收到伺服器傳來的錯誤 + 該檔案類型已被管理員禁用 + 注意,儘管配置中允許CodeMirror,但是它在IE上不夠穩定,所以無法在IE運行。 + 請為新的屬性類型填寫名稱和別名! + 許可權有問題,訪問指定文檔或資料夾失敗! + 讀取片段視圖腳本錯誤(檔案:%0%) + 讀取使用者控制項 %0% 錯誤 + 讀取使用者控制項 %0% 錯誤(組件:%0%,類別:%1%) + 讀取巨集引擎腳本錯誤(檔案:%0%) + 請輸入標題 + 請選擇類型 + 圖片尺寸大於原始尺寸不會提高圖片品質,您確定要把圖片尺寸變大嗎? + python腳本錯誤 + python腳本未保存,因為包含錯誤。 + 預設打開頁面不存在,請聯繫管理員 + 請先選擇內容,再設置樣式。 + 沒有可用的樣式 + 請把游標放在您要合併的兩個儲存格中的左邊儲存格 + 非合併儲存格不能分離。 + 這是此屬性所使用的資料類別設定錯誤,請檢查資料類別 + + + 關於 + 操作 + 操作 + 添加 + 別名 + 所有 + 您確定嗎? + 回去 + 邊框 + + 取消 + 儲存格邊距 + 選擇 + 關閉 + 關閉窗口 + 備註 + 確認 + 強制屬性 + 繼續 + 複製 + 創建 + 資料庫 + 時間 + 默認 + 刪除 + 已刪除 + 正在刪除… + 設計 + 規格 + + 下載 + 編輯 + 已編輯 + 元素 + 郵箱 + 錯誤 + 查找文檔 + + 幫助 + 圖示 + 導入 + 內邊距 + 插入 + 安裝 + 不合格 + 對齊 + 語言 + 佈局 + 載入中 + 鎖定 + 登入 + 退出 + 登出 + 巨集 + 必要 + 移動 + 更多 + 名稱 + 新的 + 下一步 + + 屬於 + 確定 + 打開 + + 密碼 + 路徑 + 預留位置代碼 + 請稍候… + 上一步 + 屬性 + 接收資料郵箱 + 回收站 + 保持狀態中 + 重命名 + 更新 + 必要 + 重試 + 許可權 + 搜索 + 伺服器 + 顯示 + 在發送時預覽 + 大小 + 排序 + 送出 + 類型 + 輸入內容開始搜尋… + + 更新 + 更新 + 上傳 + 連結位址 + 用戶 + 用戶名 + + 查看 + 歡迎… + + + 資料夾 + 搜尋結果 + 重新排列 + 我已經完成排列 + 預覽 + 更改密碼 + + 清單檢視 + 存檔中... + 目前 + 內嵌 + 選取的 + + + + + + + + + + + 增加標籤頁 + 增加屬性 + 增加編輯器 + 增加範本 + 增加子節點 + 增加子項目 + 編輯資料類別 + 瀏覽區塊 + 捷徑 + 顯示捷徑 + 開關清單檢視 + 開關是否允許為根項目 + + + 背景色 + 粗體 + 前景色 + 字體 + 文本 + + + 頁面 + + + 無法連接到資料庫。 + 無法保存web.config檔,請手工修改。 + 發現資料庫 + 資料庫配置 + 安裝 按鈕來安裝Umbraco資料庫 %0% + ]]> + 下一步繼續。]]> + 沒有找到資料庫!請確認檔案"web.config"中的字串"connection string"是否正確。

    +

    請編輯檔案"web.config" (例如使用Visual Studio或您喜歡的編輯器),移動到檔案底部,並在名稱為"UmbracoDbDSN"的字串中設定資料庫連結資訊,並存檔。

    +

    + 點選重試按鈕當上述步驟完成。
    + + 在此查詢更多編輯web.config的資訊。

    ]]>
    + + 若需要時,請聯繫您的網路公司。如果您在本地機器或伺服器安裝的話,您也許需要聯絡系統管理者。]]> + + 點選升級按鈕來升級Umbraco資料庫 %0%

    +

    + 請別擔心 - 不會刪除任何資料而且馬上就會繼續運作! +

    + ]]>
    + 點選下一步繼續。]]> + 下一步繼續設定精靈。]]> + 預設使用者的密碼必須更改!]]> + 預設使用者已經被暫停或沒有Umbraco的使用權!

    不需更多的操作步驟。點選下一步繼續。]]> + 安裝後預設使用者的密碼已經成功修改!

    不需更多的操作步驟。點選下一步繼續。]]> + 密碼已更改 + 作為入門者,從視頻教程開始吧! + 點擊下一步 (或在Web.config中自行修改UmbracoConfigurationStatus),意味著您接受上述授權合約。 + 安裝失敗。 + 受影響的檔和資料夾 + 此處查看更多資訊 + 您需要對以下檔和資料夾授於ASP.NET用戶修改許可權 + 您的權限設定幾近完美!

    + 您可以正常執行Umbraco沒有任何問題,只差您將沒有辦法安裝那些建議需要全部許可權的插件。]]>
    + 如何解決 + 點擊閱讀文字版 + 影片教學來瞭解如何設定Umbraco的資料夾權限或閱讀文字版本。]]> + 您的權限可能有點小問題! +

    + 您可以正常執行Umbraco沒有任何問題,然而您將無法新增資料夾或安裝那些可以讓Umbraco發揮全力的插件。]]>
    + 您的權限設定尚未未完成! +

    + 您需要更新權限設定才能執行Umbraco。]]>
    + 您的權限設定完美無瑕!

    + 您已經準備好執行Umbraco和安裝插件!]]>
    + 解決資料夾問題 + 點此查看ASP.NET和創建資料夾的問題解決方案 + 設置資料夾許可權 + + 我要從頭開始 + 學習該怎麼做) + 您晚點仍可以選擇安裝Runway,請至開發者區域選擇安裝。 + ]]> + 您剛剛安裝了一個乾淨的系統,要繼續嗎? + “Runway”已安裝 + + 這是我們的模組推薦清單,選取您想要安裝的項目,或者至 查詢完整清單。 + ]]> + 僅推薦高級用戶使用 + 給我一個簡單的網站 + + "Runway"是一個提供基本檔案類別和範本的簡單網站。安裝程式會自動幫您設定Runway, + 但你仍可輕易編輯,擴充或移除它。它並非必要項目而且您可以在沒它的情況下完美執行Umbraco。然而, + Runway提供一個輕鬆簡便但基於寶貴經驗的平台讓您可以更快開始。 + 如果您安裝Runway,您還可以選擇名為「Runway模組」的基本區塊來加強Runway頁面。 +

    + + 內含於Runway: 首頁,準備開始頁面,模組安裝頁面。
    + 可選模組: 上方瀏覽列,網站地圖,聯絡,藝廊。 +
    + ]]>
    + “Runway”是什麼? + 步驟 1/5:接受授權合約 + 步驟 2/5:資料庫配置 + 步驟 3/5:文件許可權驗證 + 步驟 4/5:系統安全性 + 步驟 5/5:一切就緒,可以開始使用系統。 + 感謝選擇我們的產品 + 參觀您的新網站 +您剛安裝好Runway,何不瞧瞧它的模樣。]]> + 更多的幫忙與資訊 +從我們獲獎的社群得到幫助,瀏覽文件,或觀看免費影片來瞭解如何輕鬆架設網站,如何使用插件,和瞭解Umbraco項目名稱的快速上手指引。]]> + 系統 %0% 安裝完畢 + /web.config 檔案並且更新AppSetting中的字串UmbracoConfigurationStatus 內容為 '%0%'。]]> + 快速開始指引。
    如果您是Umbraco的新成員, +您可以在其中找到相當多的資源。]]>
    + 啟動Umbraco +想要管理您的網站時,只需開啟Umbraco後台便可增加內容,更新範本和樣式表,或增添新功能。]]> + 無法連接到資料庫。 + 系統版本 3 + 系統版本 4 + 觀看 +
    + 點選"下一步"來啟動精靈。]]>
    + + + 語言代碼 + 語言名稱 + + + 使用者在空閒狀態下將會自動登出 + 已更新,繼續工作。 + + + 超級星期天快樂 + 瘋狂星期一快樂 + 熱鬧星期二快樂 + 美妙星期三快樂 + 悅耳星期四快樂 + 時髦星期五快樂 + 喵喵星期六快樂 + 下方登入 + 登入使用 + 連線時間過了 + © 2001 - %0%
    Umbraco.com

    ]]>
    + 忘記密碼? + 一封內有重設密碼連結的電子郵件已經寄出給您 + 一封內有重設密碼連結的電子郵件已經寄到此信箱 + 回到登入畫面 + 請輸入新密碼 + 您的密碼已經更新 + 您點選的連結是無效或過期的 + Umbraco:重設密碼 + 您登入到後台的使用者名稱是:%0%

    點選這裡來重設您的密碼或將此連結複製/貼上到您的瀏覽器:

    %1%

    ]]>
    + + + 儀錶板 + 區域 + 內容 + + + 選擇上面的頁面… + %0% 被複製到 %1% + 將 %0% 複製到 + %0% 已被移動到 %1% + 將 %0% 移動到 + 作為內容的根結點,點“確定”。 + 尚未選擇節點,請選擇一個節點點擊“確定”。 + 類型不符不允許選擇 + 該項不能移到其子項 + 當前節點不能建在根節點下 + 您在子項的許可權不夠,不允許該操作。 + 複本和原本建立關聯 + + + 為 %0% 編寫通知 + + 哈嘍 %0%

    + +

    這是一封自動產生的信件來通知您 %1% 工作 + 已經在頁面 %2% 上由使用者 %3% 執行完成 +

    + +

    +

    更新摘要:

    + + %6% +
    +

    + + + +

    祝您有美好的一天!

    + Umbraco機器人 謹上 +

    ]]>
    + 在 %2%,[%0%] 關於 %1% 的通告已執行。 + 通知 + + + + 按鈕並點選該檔案。Umbraco擴展包通常有「.zip」的副檔名。 + ]]> + 作者 + 演示 + 文檔 + 中繼資料 + 名稱 + 擴展包不含任何項 +
    + 您可以點選下方「移除擴展包」來安全地移除此項目。]]>
    + 無可用更新 + 選項 + 說明 + 程式庫 + 確認卸載 + 已卸載 + 擴展包卸載成功 + 卸載 + + 注意: 任何文檔,媒體或需要這些項目才能運作的物件將會停止運作,並可能使得系統不穩定, + 請小心移除。若有疑慮,請聯絡擴展包作者。]]> + 從程式庫下載更新 + 更新擴展包 + 更新說明 + 擴展包有可用的更新,您可以從程式庫網站更新。 + 版本 + 版本歷史 + 訪問擴展包網站 + 擴展包已安裝 + 這個擴展包無法安裝,它需要Umbraco至少是版本 %0% + 移除中... + 下載中... + 匯入中... + 安裝中... + 重新啟動中,請稍後... + 都好了,您的瀏覽器將重新整理,請稍待... + + + 帶格式粘貼(不推薦) + 您所粘貼的文本含有特殊字元或格式,Umbraco將清除以適應網頁。 + 無格式粘貼 + 粘貼並移除格式(推薦) + + + 基於角色的保護 + 請使用Umbraco的會員群組。]]> + 使用基於角色的授權需要首先建立會員組。 + 錯誤頁 + 當用戶登錄後訪問沒有許可權的頁時顯示該頁 + 選擇限制訪問此頁的方式 + %0% 現在處於受保護狀態 + %0% 的保護被取消 + 登錄頁 + 選擇公開的登錄入口 + 取消保護 + 選擇一個包含登錄表單和提示資訊的頁 + 選擇訪問該頁的角色類型 + 為此頁設置帳號和密碼 + 單用戶保護 + 如果您只希望提供一個用戶名和密碼就能訪問 + + + + + + + + 包含未發佈的子項 + 正在發佈,請稍候… + %0% 中的 %1% 頁面已發佈… + %0% 已發佈 + %0% 及其子項已發佈 + 發佈 %0% 及其子項 + 發佈按鈕來將%0%的內容設定為公開。

    + 您可以同時發佈本頁以及其子項目若您點選下面的包含子頁。 + ]]>
    + + + 您尚未設定任何許可顏色 + + + 輸入外部連結 + 選擇內部連結 + 標題 + 連結 + 新視窗 + 輸入新標題 + 輸入連結 + + + 重設 + + + 當前版本 + 紅色 文字將不會顯示於所選版本,而綠色表示增加部分。]]> + 文檔已回滾 + 這顯示所選版本的HTML格式,如果您想要比較兩版本的差異,請使用比較檢視 + 回滾至 + 選擇版本 + 查看 + + + 編輯腳本 + + + Concierge + 內容 + Courier + 開發 + 設定精靈 + 媒體 + 會員 + 消息 + 設置 + 統計 + 翻譯 + 用戶 + 說明 + 表單 + 統計 + + + 移至 + 說明主題為 + 影片主題為 + 最好的Umbraco影片教學 + + + 預設範本 + 字典鍵 + 要導入文檔類型,請點擊“流覽”按鈕,再點擊“導入”,然後在您電腦上查找 ".udt"檔導入(下一頁中需要您再次確認) + 新建選項卡標題 + 節點類型 + 類型 + 樣式表 + 腳本 + 樣式表屬性 + 選項卡 + 選項卡標題 + 選項卡 + 主控文件類型啟動 + 該文檔類型使用 + 作為主控文件類型. 主控文件類型的標籤只能在主控文件類型裡修改。 + 沒有欄位設置在該標籤頁 + 主文檔類別 + 新增對應範本 + 增加圖示 + + + 排列順序 + 增添時間 + 排序完成。 + 上下拖拽項目或按一下列頭進行排序 + + + + 驗證 + 驗證錯誤一定要修正才能儲存項目 + 失敗 + 使用者權限不足,無法完成操作 + 已取消 + 操作被協力廠商外掛程式取消 + 發佈被協力廠商外掛程式取消 + 屬性類型已存在 + 屬性類型已創建 + 資料類別:%1%]]> + 屬性類型已刪除 + 內容類別型已保存 + 選項卡已創建 + 選項卡已刪除 + id為%0%的選項卡已刪除 + 樣式表未保存 + 樣式表已保存 + 樣式表保存,無錯誤。 + 資料類型已保存 + 字典項已保存 + 因為上級頁面未發佈導致發佈失敗! + 內容已發佈 + 公眾可見 + 內容已保存 + 請發佈以使更改生效 + 提交審核 + 更改已提交審核 + 媒體已保存 + 媒體已保存 + 會員已保存 + 樣式表屬性已保存 + 樣式表已保存 + 範本已保存 + 保存使用者出錯(請查看日誌) + 用戶已保存 + 用戶類型已保存 + 檔未保存 + 檔無法保存,請檢查許可權。 + 檔保存 + 檔保存,無錯誤。 + 語言已保存 + 媒體類別已儲存 + 會員類別已儲存 + Python腳本未保存 + Python腳本因為錯誤未能保存 + Python已保存 + Python腳本無錯誤 + 範本未保存 + 範本別名相同 + 範本已保存 + 範本保存,無錯誤。 + 內容已取消發佈 + 片段視圖已保存 + 片段視圖保存,無錯誤。 + 片段視圖未保存 + 片段視圖因為錯誤未能保存 + 腳本視圖已儲存 + 腳本視圖已儲存,沒有任何錯誤! + 腳本視圖未儲存 + 儲存檔案時發生錯誤 + 儲存檔案時發生錯誤 + + + 使用CSS語法,如:h1、.redHeader、.blueTex。 + 編輯樣式表 + 編輯樣式屬性 + 編輯器中的樣式屬性名 + 預覽 + 樣式 + + + 編輯範本 + 插入內容區 + 插入內容預留位置 + 插入字典項 + 插入巨集 + 插入頁欄位 + 母版 + 範本標籤快速指南 + 範本 + + + Rich Text Editor + Image + Macro + Embed + Headline + Quote + 選擇內容類別 + 選擇排列方式 + 新增一行 + 新增內容 + 放棄內容 + 設定已儲存 + 此處不允許有內容 + 此處允許有內容 + 點選來內嵌 + 點選來插入圖片 + 圖片標題... + 在此填寫... + 網格排列方式 + 排列是指網格編輯器的整體工作區域,通常您只需要一種或兩種排列方式 + 增加網格排列方式 + 藉由設定列寬以及增加新的區域來調整排列方式 + 行設定 + 行是預先水平排列的格子 + 增加行設定 + 藉由設定小格寬度和增添小格來調整此行 + + 網格排列方式的列總數 + 設定 + 調整設定編輯器可以改變的項目 + 樣式 + 調整樣式編輯器可以改變的項目 + 當JSON格式正確時設定才可以儲存 + 允許所有編輯器 + 允許所有行設定 + 定為預設 + 選擇額外 + 選擇預設 + 已增加 + + + 組合 + 您沒有增加任何選項卡 + 增加新的選項卡 + 增加另外的選項卡 + 繼承的表格 + 增加屬性 + 必要標籤 + 允許清單檢視 + 允許內容項目顯示成可以排列及搜尋的清單,子項目不會被顯示 + 允許的範本 + 選擇哪些範本編輯器可以使用於此類別的內容 + 允許為根項目 + 允許編輯器新增此類別的內容為根項目 + 是的 - 允許此類別內容為根項目 + 允許子節點種類 + 允許某些特定種類能夠成為此種類內容的子項目 + 選擇子節點 + 從已存在的文檔類別中繼承選項卡以及屬性。新選項卡將被新增至目前文檔種類或合併至已存在同名的選項卡中。 + 此內容種類已經用於集合中,因此不能重複添加本身。 + 沒有可用於集合的內容種類。 + 可用的編輯器 + 重複使用 + 編輯器設定 + 設定 + 是,刪除 + 已移至下層 + 已複製至下層 + 選擇要移動的資料夾 + 選擇要複製的資料夾 + 至下方樹狀結構 + 所有文檔種類 + 所有文檔 + 所有媒體項目 + 使用此文檔種類的將被永久刪除,請確認您也想要將它們刪除。 + 使用此媒體種類的將被永久刪除,請確認您也想要將它們刪除。 + 使用此會員種類的將被永久刪除,請確認您也想要將它們刪除。 + 以及所有使用此種類的文件項目 + 以及所有使用此種類的媒體項目 + 以及所有使用此種類的會員項目 + 使用此編輯器將會套用新設定 + 會員可以編輯 + 顯示於會員資料 + + + 替代欄位 + 替代文本 + 大小寫 + 編碼 + 選取欄位 + 轉換分行符號 + 將換行符號取代成為HTML標籤 &lt;br&gt; + 自訂欄位 + 是,僅日期 + 格式化時間 + HTML編碼 + 將替換HTML中的特殊字元 + 將在欄位值後插入 + 將在欄位值前插入 + 小寫 + + 欄位後插入 + 欄位前插入 + 遞迴 + 標準欄位 + 大寫 + URL編碼 + 將格式化URL中的特殊字元 + 當上面欄位值為空時使用 + 該欄位僅在主欄位為空時使用 + 是,含時間,分隔符號為: + + + 標記為您的任務 + 指派給您。請按「翻譯詳情」或頁面名稱觀看包含回應的詳細檢視畫面。 + 您也可以將此頁面下載成為XML格式檔案,請按「下載XML」按鈕。
    + 若想要關閉翻譯任務,請至細節頁面點選「結束」按鈕。 + ]]>
    + 關閉任務 + 翻譯詳情 + 將翻譯任務下載為XML + 下載 XML + 下載 XML DTD + 欄位 + 包含子頁 + + [%0%]翻譯任務:%1% + 沒有翻譯員,請創建翻譯員角色的用戶。 + 您創建的任務 + 由您創建的頁面。要瀏覽包含回應的詳細檢視畫面, + 點選「詳情」或頁面名稱。您可以下載此頁面成為XML格式檔案,請點選「下載XML」連結。 + 若要關閉翻譯任務,請至詳情檢視並點選「關閉」按鈕。 + ]]> + 頁面'%0%'已經發送給翻譯 + 請選擇本內容應該被翻譯成的語言 + 發送頁面'%0%'以便翻譯 + 分配者 + 任務開啟 + 總字數 + 翻譯到 + 翻譯完成。 + 您可以流覽剛翻譯的頁面,如果原始頁存在,您將得到兩者的比較。 + 翻譯失敗,XML可能損壞了。 + 翻譯選項 + 翻譯員 + 上傳翻譯的xml + + + 緩存流覽 + 回收站 + 創建擴展包 + 資料類型 + 字典 + 已安裝的擴展包 + 安裝皮膚 + 安裝新手套件 + 語言 + 安裝本地擴展包 + 巨集 + 媒體類型 + 會員 + 會員組 + 角色 + 會員類型 + 文檔類型 + 相關類型 + 擴展包 + 擴展包 + Python文件 + 從線上程式庫安裝 + 安裝Runway + Runway模組 + Scripting文件 + 腳本 + 樣式表 + 範本 + 統計 + + + 有可用更新 + %0%已就緒,點擊這裡下載 + 無到伺服器的連接 + 檢查更新失敗 + + + 管理員 + 分類欄位 + 更改密碼 + 更改密碼 + 確認新密碼 + 要改變密碼,請在框中輸入新密碼,然後按一下“更改密碼”。 + 內容頻道 + 描述欄位 + 禁用用戶 + 文檔類型 + 編輯 + 排除欄位 + 語言 + 登錄 + 默認打開媒體項 + 區域 + 禁用後臺管理介面 + 舊的密碼 + 密碼 + 重設密碼 + 您的密碼已更改! + 重輸密碼 + 輸入新密碼 + 新密碼不能為空! + 當前密碼 + 密碼錯誤 + 新密碼和重輸入的密碼不一致,請重試! + 重輸的密碼和原密碼不一致! + 替換子項許可權設置 + 您正在修改存取權限的頁面: + 選擇要修改許可權的頁 + 搜索子物件 + 預設打開內容項 + 用戶名 + 用戶許可權 + 撰稿人 + 翻譯者 + 改變 + 您的個人檔案 + 您的歷程記錄 + 連線到期於 + + + 驗證 + 以電子郵件驗證 + 以數字驗證 + 以網址驗證 + ...或輸入自訂驗證 + 必要欄位 + + + + 數值已設為推薦值:%0% + 在設定檔 %3% 中XPath %2% 的數值設為 %1% 。 + 在設定檔 %3% 中XPath %2% 的預期值設為 %1% ,但卻是 %0%。 + 在設定檔 %3% 中XPath %2% 的值為非預期值 %0%。 + + 自訂錯誤設定為 %0% + 自訂錯誤設定為 %0。建議在上線前改為 %1%。 + 自訂錯誤成功設定為 %0% + 巨集錯誤設為 %0% + 巨集錯誤設為 %0%,如此一來,當巨集有任何錯誤時會阻止某些或全部頁面正常載入。改正會將此設定 %1%。 + 巨集錯誤已設為 %0% + + 嘗試略過IIS自訂錯誤目前設為 %0%,而且您使用的IIS版本為 %1%。 + 嘗試略過IIS自訂錯誤目前設為 %0%,然而在您使用的IIS版本為 %2% 時,建議設定是 %1%。 + 嘗試略過IIS自訂錯誤已成功設為 %0%。 + + 檔案不存在:%0%。 + '%1%'中無法找到'%0%'。]]> + 有錯誤產生,請參閱下列錯誤的紀錄:%0%。 + 成員 - 所有XML:%0%,總共:%1%,不合格:%2% + 媒體 - 所有XML:%0%,總共發佈:%1%,不合格:%2% + 內容 - 所有XML:%0%,總共發佈:%1%,不合格:%2% + 憑證驗證錯誤:%0% + 網址探查錯誤:%0% - '%1%' + 您目前使用HTTPS瀏覽本站:%0% + 在您的web.config檔案中,appSetting的umbracoUseSSL是設為false。當您開始使用HTTPS時,應將其改為 true。 + 在您的web.config檔案中,appSetting的umbracoUseSSL是設為 %0%,您的cookies %0% 標成安全。 + 無法在您的web.config檔案中,更新appSetting的umbracoUseSSL設定,錯誤訊息:%0% + + 開啟HTTPS + 在web.config檔案中,將appSetting的umbracoUseSSL設true。 + 在您的web.config檔案中,appSetting的umbracoUseSSL已設為 true,您的cookies 將被標成安全。 + 修正 + 無法修正比較種類檢查為'ShouldNotEqual'。 + 用提供的數值無法修正比較種類檢查為'ShouldEqual'。 + 沒有提供要修正檢查的數值。 + 偵錯編輯模式關閉。 + 偵錯編輯模式目前已開啟。上線前建議將其關閉。 + 偵錯編輯模式已成功關閉。 + 詳細記錄模式已關閉。 + 詳細記錄模式目前已開啟。上線前建議將其關閉。 + 詳細記錄模式已成功關閉。 + 所有資料夾已有正確權限設定。 + + %0%。]]> + %0%。如果無須寫入,不需採取行動。]]> + 所有檔案已有正確權限設定。 + + %0%。]]> + %0%。如果無須寫入,不需採取行動。]]> + X-Frame-Options 設定能控制網站是否可以被其他人IFRAMEd已找到。]]> + X-Frame-Options 設定能控制網站是否可以被其他人IFRAMEd沒有找到。]]> + 調整設定的標頭 + 在 web.config 的 httpProtocol/customHeaders 區域增加設定來防止本站被別的網站IFRAMEd。 + 在 web.config 的 httpProtocol/customHeaders 區域已經增加設定來防止本站被別的網站IFRAMEd。 + 無法更新web.config檔案,錯誤:%0% + + %0%。]]> + 在標頭中沒有找到揭露網站技術的資訊。 + 在 Web.config 檔案中,找不到 system.net/mailsettings。 + 在 Web.config 檔案中的 system.net/mailsettings,沒有設定 host 。 + SMTP設定正確,而且服務正常運作。 + SMTP伺服器 %0% : %1% 無法連接。請確認在Web.config 檔案中 system.net/mailsettings 設定正確。 + %0%。]]> + %0%。]]> + + + 停止網址追蹤器 + 啟動網址追蹤器 + 原本網址 + 轉址成 + 沒有任何轉址 + 當發佈後的頁面改名或移動時,會自動轉址至新網頁。 + 移除 + 您確定要移除從 %0% 到 %1% 的轉址嗎? + 轉址已移除。 + 移除轉址錯誤。 + + 您確定要停止轉址追蹤器? + 轉址追蹤器已停止。 + 停止轉址追蹤器錯誤,更多資訊請參閱您的紀錄檔。 + 轉址追蹤器已開啟。 + 啟動轉址追蹤器錯誤,更多資訊請參閱您的紀錄檔。 + +
    diff --git a/src/Umbraco.Web.UI/umbraco/developer/Packages/editPackage.aspx b/src/Umbraco.Web.UI/umbraco/developer/Packages/editPackage.aspx new file mode 100644 index 0000000000..956c17fe4a --- /dev/null +++ b/src/Umbraco.Web.UI/umbraco/developer/Packages/editPackage.aspx @@ -0,0 +1,232 @@ +<%@ Page Language="C#" ValidateRequest="false" AutoEventWireup="true" MasterPageFile="../../masterpages/umbracoPage.Master" + Title="Package and export content" CodeBehind="editPackage.aspx.cs" Inherits="umbraco.presentation.developer.packages._Default" %> + +<%@ Register TagPrefix="cc2" Namespace="Umbraco.Web._Legacy.Controls" Assembly="Umbraco.Web" %> + + + + + + + + + * + + + + * + + + + * + + + + + + + + + + + + + + * + Invalid version number (eg. 7.5.0) + + + + + + + * + + + + * + + + + + + + * + + + + * + + + + + + + + + + +
    + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + Remember: .ascx files for your macros + will be added automaticly, but you will still need to add assemblies, + images and script files manually to the list below. +
    +
    + + + + + + + + + + + + + + + + + +
    + Absolute path to file (ie: /bin/umbraco.bin) + +
    + + + +
    + + + + + + +
    +
    + + + + + + + + +
    + Load control after installation (ex: /usercontrols/installer.ascx) +
    + + + + +
    +
    + + + + + + + + + + + +
    +

    + Here you can add custom installer / uninstaller events to perform certain tasks + during installation and uninstallation. +
    + All actions are formed as a xml node, containing data for the action to be performed. + Package actions documentation +

    + +
    + Actions: +
    + +
    +
    + +
    diff --git a/src/Umbraco.Web.UI/umbraco_client/Dialogs/AssignDomain2.js b/src/Umbraco.Web.UI/umbraco_client/Dialogs/AssignDomain2.js index f7ac3c0939..b5921b6576 100644 --- a/src/Umbraco.Web.UI/umbraco_client/Dialogs/AssignDomain2.js +++ b/src/Umbraco.Web.UI/umbraco_client/Dialogs/AssignDomain2.js @@ -105,7 +105,7 @@ mask.show(); var data = { nodeId: self._opts.nodeId, language: self.language ? self.language : 0, domains: self.domains }; - $.post(self._opts.restServiceLocation + 'SaveLanguageAndDomains', ko.toJSON(data), function (json) { + $.post(self._opts.restServiceLocation + 'PostSaveLanguageAndDomains', ko.toJSON(data), function (json) { mask.hide(); if (json.Valid) { diff --git a/src/Umbraco.Web.UI/web.Template.Debug.config b/src/Umbraco.Web.UI/web.Template.Debug.config index c4804160e1..5a37c4a09b 100644 --- a/src/Umbraco.Web.UI/web.Template.Debug.config +++ b/src/Umbraco.Web.UI/web.Template.Debug.config @@ -14,451 +14,5 @@ - - - - + diff --git a/src/Umbraco.Web.UI/web.Template.config b/src/Umbraco.Web.UI/web.Template.config index 3bcd14aed7..57720033ab 100644 --- a/src/Umbraco.Web.UI/web.Template.config +++ b/src/Umbraco.Web.UI/web.Template.config @@ -43,7 +43,7 @@ - + @@ -231,7 +231,7 @@ - - - $(MSBuildExtensionsPath)\MSBuildCommunityTasks - $(MSBuildCommunityTasksPath)\MSBuild.Community.Tasks.dll - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/tools/MSBuildCommunityTasks/MSBuild.Community.Tasks.chm b/tools/MSBuildCommunityTasks/MSBuild.Community.Tasks.chm deleted file mode 100644 index e9cfb77efd..0000000000 Binary files a/tools/MSBuildCommunityTasks/MSBuild.Community.Tasks.chm and /dev/null differ diff --git a/tools/MSBuildCommunityTasks/MSBuild.Community.Tasks.dll b/tools/MSBuildCommunityTasks/MSBuild.Community.Tasks.dll deleted file mode 100644 index 3d1dbd357f..0000000000 Binary files a/tools/MSBuildCommunityTasks/MSBuild.Community.Tasks.dll and /dev/null differ diff --git a/tools/MSBuildCommunityTasks/MSBuild.Community.Tasks.xml b/tools/MSBuildCommunityTasks/MSBuild.Community.Tasks.xml deleted file mode 100644 index 0ddc819937..0000000000 --- a/tools/MSBuildCommunityTasks/MSBuild.Community.Tasks.xml +++ /dev/null @@ -1,10475 +0,0 @@ - - - - MSBuild.Community.Tasks - - - - - Installs and register script mappings for ASP.NET - - Uses the aspnet_regiis.exe tool included with the .NET Framework. - - Install the latest version of ASP.NET on the server: - - ]]> - - - Install the latest version of ASP.NET on the server, but do not update script maps: - - ]]> - - - Install the script maps for ASP.NET 2.0 on a web directory on the default website: - - ]]> - - - Install the script maps for ASP.NET 1.1 on a web directory on a non-default website: - - ]]> - - - Install client side script only for the latest version: - - ]]> - - - - - - Returns the fully qualified path to the executable file. - - - The fully qualified path to the executable file. - - - - - Returns a string value containing the command line arguments - to pass directly to the executable file. - - - A string value containing the command line arguments to pass - directly to the executable file. - - - - - When overridden in a derived class, executes the task. - - - True if the task successfully executed; otherwise, false. - - - - - Determines if the current property values can be used together - - when properties can be used together. - - - - - The version of ASP.NET to install - - - The default behavior is to use the latest version of ASP.NET available on the computer. - - Version - Version11ASP.NET v1.1 - Version20ASP.NET v2.0 - VersionLatestThe latest version of ASP.NET available - - - - - - The method used to determine if ASP.NET script mappings should be applied - - - The default behavior is to register script mappings on all sites except those with a newer version of ASP.NET. - - Value - NeverRegister ASP.NET on the computer without updating any script mappings. - IfNoneExistRegister script mappings only on for sites that do not have any existing ASP.NET script mappings (not available for ASP.NET v1.1) - UnlessNewerExistRegister script mappings on all sites except those with a newer version of ASP.NET. - AlwaysRegister script mappings on all sites, even if they already have a newer version of ASP.NET. - - - - - - When , the aspnet_client scripts will be installed. No script mappings will be updated. - - This cannot be if a value for or has been specified. - - - - The web application that should have its script maps updated. - - - The path must be of the form W3SVC/[instance]/Root/[webdirectory], for example W3SVC/1/Root/SampleApp1. - As a shortcut, you can specify just the web directory name, - if the web directory is installed in the default website instance (W3SVC/1/Root). - You should not specify a value for when specifying a path. - - - - - When , script maps are applied recursively under . - - This property is only valid when specifying a value for . It is by default. - - - - Gets the name of the executable file to run. - - - The name of the executable file to run. - - - - Generates an AssemblyInfo files - - - Generates a common version file. - - ]]> - Generates a complete version file. - - ]]> - Generates a complete version file for C++/CLI. - - ]]> - - - - - The default value of . - The value is "AssemblyInfo.cs". - - - - - Initializes a new instance of the class. - - - - - When overridden in a derived class, executes the task. - - - true if the task successfully executed; otherwise, false. - - - - - Gets or sets the code language. - - The code language. - - - - Gets or sets a value indicating whether [COMVisible]. - - true if [COMVisible]; otherwise, false. - - - - Gets or sets a value indicating whether [CLSCompliant]. - - true if [CLSCompliant]; otherwise, false. - - - - Gets or sets the GUID. - - The GUID. - - - - Gets or sets the assembly title. - - The assembly title. - - - - Gets or sets the assembly description. - - The assembly description. - - - - Gets or sets the assembly configuration. - - The assembly configuration. - - - - Gets or sets the assembly company. - - The assembly company. - - - - Gets or sets the assembly product. - - The assembly product. - - - - Gets or sets the assembly copyright. - - The assembly copyright. - - - - Gets or sets the assembly trademark. - - The assembly trademark. - - - - Gets or sets the assembly culture. - - The assembly culture. - - - - Gets or sets the assembly version. - - The assembly version. - - - - Gets or sets the assembly file version. - - The assembly file version. - - - - Gets or sets the assembly informational version. - - The assembly informational version. - - - - Gets or sets the assembly key file. - - - - - Gets or sets the assembly key name. - - - - - Gets or sets the assembly delay sign value. - - - - - Gets or sets the assembly delay sign value. - - - - - Gets or sets the assembly delay sign value. - - - - - Gets or sets a value indicating whether to generate the ThisAssmebly class. - - - - - Gets or sets the neutral language which is used as a fallback language configuration - if the locale on the computer isn't supported. Example is setting this to "en-US". - - - - - Gets or sets the ultimate resource fallback location. - - The ultimate resource fallback location. - - - - Makes it possible to make certain assemblies able to use constructs marked as internal. - Example might be setting this value to "UnitTests" assembly. The typical use case might - be constructors in classes which shouldn't be available to other assemblies, but the unit - tests should be able to use them. - - - - - Gets or sets whether to allow strong-named assemblies to be called by partially trusted code. - - - - - Gets or sets the output file. - - The output file. - - - - Changes the attributes of files and/or directories - - - Make file Readonly, Hidden and System. - - ]]> - Clear Hidden and System attributes. - - ]]> - Make file Normal. - - ]]> - - - - - Executes the task. - - if the task ran successfully; - otherwise . - - - - Gets or sets the list of files to change attributes on. - - The files to change attributes on. - - - - Gets or sets the list of directories to change attributes on. - - The directories to change attributes on. - - - - Gets or sets file's archive status. - - true if archive; otherwise, false. - - - - Gets or sets a value indicating file is compressed. - - true if compressed; otherwise, false. - - - - Gets or sets a value indicating file is encrypted. - - true if encrypted; otherwise, false. - - - - Gets or sets a value indicating file is hidden, and thus is not included in an ordinary directory listing. - - true if hidden; otherwise, false. - - - - Gets or sets a value indicating file is normal and has no other attributes set. - - true if normal; otherwise, false. - - - - Gets or sets a value indicating file is read-only. - - true if read-only; otherwise, false. - - - - Gets or sets a value indicating file is a system file. - - true if system; otherwise, false. - - - - Describes certain byte measurements as nice strings. - - - - - Provides information about the build computer. - - Get build computer information. - - - - - - - ]]> - - - - - Initializes a new instance of the class. - - - - - Executes the task. - - - if the task ran successfully; otherwise . - - - - - Gets the host name of the build computer. - - - - - Gets the IP address of the build computer. - - - - - Gets the platform identifier of the build computer's operating system . - - - - - Gets the version number of the build computer's operating system. - - - - - A task to play the sound of a beep through the console speaker. - - - By default, the beep plays at a frequency of 800 hertz for a duration of 200 milliseconds. - - To play the sound of a beep at a frequency of 800 hertz and for a duration of 200 milliseconds, use - - ]]> - - - To play the sound of a beep at a frequency of 440 hertz and for a duration of 300 milliseconds, use - - ]]> - - - - - - Plays the sound of a beep - at the given and for the given - through the console speaker. - - - Always returns , even when the sound could not be played. - - - - - Gets or sets the frequency of the beep, ranging from 37 to 32767 hertz. - Defaults to 800 hertz. - - - - - Gets or sets the of the beep measured in milliseconds. - Defaults to 200 milliseconds. - - - - - Delete a directory tree. This task supports wild card directory selection. - - - Delete all bin and obj directories. - - ]]> - Delete all bin and obj directories that start with MSBuild.Community. - - ]]> - - - - - Initializes a new instance of the class. - - - - - When overridden in a derived class, executes the task. - - - true if the task successfully executed; otherwise, false. - - - - - Gets or sets the directories to be deleted. - - The directories to be deleted. - - Directories can contain wild cards. - - - - - Gets or sets a value indicating whether this is recursive. - - true if recursive; otherwise, false. - - - - Gets the deleted directories. - - The deleted directories. - - - - Uploads a group of files using File Transfer Protocol (FTP). - - - Set either LocalFiles or LocalFile but not both. - - Upload a file. - - ]]> - - Upload all the files in an ItemGroup: - '%(RecursiveDir)%(Filename)%(Extension)')" /> - ]]> - - - - - Describes a factory for IFtpWebRequest. - - - - - Instantiates an FtpWebRequest. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance that will inject the specified dependency. - - - - - - When overridden in a derived class, executes the task. - - - true if the task successfully executed; otherwise, false. - - - - - Gets or sets the single file to upload. Use - this or LocalFiles, but not both. - - - - - Gets or sets the local files to upload. Use this - or LocalFile, but not both. - - The local file. - - - - Gets or sets the remote files to upload. - Each item in this list should have a corresponding item in LocalFiles. - - - - - Gets or sets the remote URI to upload. - - The remote URI. - - - - Gets or sets the username. - - The username. - - - - Gets or sets the password. - - The password. - - - - Gets or sets the behavior of a client application's data transfer process. - - true if [use passive]; otherwise, false. - - - - This class references an interface that looks like FtpWebRequest - in order to support unit testing without an actual FTP Server. - - - - - Sets the ContentLength property of the FtpWebRequest. - - - - - - Calls GetRequestStream on the FtpWebRequest. - - - - - - Gets the StatusDescription property of the response, then closes the response - on the FtpWebRequest. - - - - - - Gets the response from the FTP server and closes it. - - - - - Gets the response stream from the FtpWebRequest. - - - - - - An adapter to make the real FtpWebRequest look like - an IFtpWebRequest. - - - - - Initializes a new instance of the RealFtpWebRequest class. - - - - - Ftp client base class. - - - - - The socket that will connect to the FTP server. - - - - - The size of the data buffer. - - - - - The last recieved FTP response over the client socket. - - - - - The password to use to login. - - - - - The port number of the FTP server. - - - - - The hostname of the FTP server. - - - - - The username to use to login. - - - - - Initializes a new instance of the class. - - - - - Connects this FTP server socket. - - Thrown when unable to connect. - - - - Login to the FTP server with the specified credentials. - - - - - Changes the working directory. - - The remote directory. - Occurs if there where connection problems during the process or the FTP server doesn't support the CWD command. See the Message of the exception for details. - Sends the CWD command. - - - - Gets the working directory. - - The current working directory. - - - - Change to the parent of the current working directory. - - Occurs if there where connection problems during the process or the FTP server doesn't support the CDUP command. See the Message of the exception for details. - Sends the CDUP command. - - - - Determs whether a remote file exists. - - The remote file. - - Occurs if there where connection problems during the operation or if the FTP server doesn't support the SIZE command. See the Message of the exception for details. - - - - Determs whether a remote directory exists. - - The remote directory. - - This method is based on the succeedness of a CWD command, this can give wrong indication at a rare number of FTP server! - - Thrown if the opperation couldn't be executed. - true if the directory exists remotely; otherwise false - - - - Removes a remote directory. - - The remote directory name. - Occurs if there where connection problems during the process or the FTP server doesn't support the RMD command. See the Message of the exception for details. - Sends the RMD command. - - - - Creates a remote directory in the current working folder. - - Name of the directory. - Occurs if there where connection problems during the process or the FTP server doesn't support the MMD command. See the Message of the exception for details. - - - - Closes the connection to the server. - - - - - Stores the specified localFile. - - The localfile. - The remotefile. - - - - Send a command to the FTP server. - - The command, for example PWD. - The value. - - - - Send a command to the FTP server. - - The full command to send. - - - - Send a command to the FTP server and returns the response. - - The command, for example PWD. - The value - The reply of the FTP server for this command. - - - - Send a command to the FTP server and returns the response. - - The raw command to send. - The reply of the FTP server for this command. - - - - Get the full directory details of the current directory. - - A array that contains all the FTP files located in the currenct directory. - - - - Create a data stream and send a raw command. - - The raw command to send. - The data stream that was created. - - - - Parses the data IP end point from datarequest message. - - The message. - - - - - Get the full directory details of the current directory. - - The remove directory, emtpy or null will get the details of the current directory. - A array that contains all the FTP files located in the currenct directory. - - - - Reads the ftp response from the client socket. - - The response of the FTP server. - - - - Reads the response string from the client socket. - - The response of the client socket. - - - - Make sure the connections are closed and trow the specified exception. - - The exception to throw. - - - - Gets or sets the server host. - - The server host. - The lenght of the given value is greater then 126 characters. - - - - Gets or sets the port number. - - The port numer. - - - - Gets or sets the client socket. - - The client socket. - - - - Gets a value indicating whether this is connected. - - true if connected; otherwise, false. - - - - Gets the encoding to use with communication with the server. - - The encoding. - - - - Gets the last recieved FTP response over the client socket. - - The last recieved FTP response over the client socket. - - - - Gets or sets the username to login. - - The username. - - - - Gets or sets the password to login. - - The password. - - - - Gets or sets a value indicating whether the FTP message conversation should be logged. - - - true if the FTP message conversation should be logged; otherwise, false. - - - - - Gets or sets the size of the data buffer. - - - - - Creates a full remote directory on the remote server if not exists using the File Transfer Protocol (FTP). - This can be one directory or a full path to create. - - Create remote directory: - - ]]> - - The full remote directory path will be created. All directories that doesn't exists on the remote server will be created. - - - - The remote directory to create. - - - - - When overridden in a derived class, executes the task. - - - true if the task successfully executed; otherwise, false. - - - - - Gets or sets the remote directory to create. - - The remote directory. - This can be one directory name, like "Directory", or a directory path, like "Directory\Subdirectoy". - - - - - Determ if a remote directory exists on a FTP server or not. - - Determ of Directory\1 exists: - - - - - - ]]> - If the directory exists on the server you should see the following output in the console: - Directory '1\2\3' exists: true - - The full remote directory path will be created. All directories that doesn't exists on the remote server will be created. - - - - The remote directory to create. - - - - - Flag that indicates whether the directory exists on the server. - - - - - Executes the current task. - - - true if the task successfully executed; otherwise, false. - - - - - Gets or sets the remote directory to create. - - The remote directory. - This can be one directory name, like "Directory", or a directory path, like "Directory\Subdirectoy". - - - - - Gets an indication whether the directory exists on the server. - - true when the directory exists on the server; otherwise false. - - - - Exception returned by FTP server. - - - - - Initializes a new instance of the class. - - The message. - - - - Initializes a new instance of the class. - - The message. - The inner exception. - - - - Represents an remote file or directory on a FTP server. - - - - - Indicates whether this instance represents a directory. - - - - - Represents the file or directory name. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - if set to true this instance represents a directory; otherwise, false. - The name. - - - - Parses the dir list. - - The entry lines. - - - - - Gets or sets a value indicating whether this instance represents a directory. - - - true if this instance represents a directory; otherwise, false. - - - - - Gets or sets the name. - - The name. - - - - Represenatation of a FTP reply message. - - - - - The result code of the FTP response. - - - - - The response message. - - - - - Initializes a new instance of the class. - - The result code of the FTP response. - The response message. - - - - Gets or sets the result code. - - The result code. - - - - Gets or sets the message. - - The message. - - - - Uploads a full directory content to a remote directory. - - Uploads directory content, including all subdirectories and subdirectory content: - - - ]]> - To go a little step further. If the local directory looked like this: - - [mywebsite] - [images] - 1.gif - 2.gif - 3.gif - [js] - clientscript.js - nofocus.js - [css] - print.css - main.css - index.htm - contact.htm - downloads.htm - - All directories and there content will be uploaded and a excact copy of the content of mywebsite directory will be created remotely. - - If is set the false; only index.htm, contact.htm and downloads.htm will be uploaded and no subdirectories will be created remotely. - - - - - - When overridden in a derived class, executes the task. - - - true if the task successfully executed; otherwise, false. - - - - - Upload a directory and its file contents. - - The local path. - if set to true all subdurectiries will be included. - - - - Upload a directory and its file contents. - - The local path. - Only upload files that compli to the mask. - if set to true all subdurectiries will be included. - - - - Gets or sets the local directory that contains the content to upload. - - The local directory. - - - - Gets or sets the remote directory destination for the local files. - - The remote directory. - - - - Gets or sets a value indicating whether the subdirectories of the local directory should be created remotely and the content of these should also be uploaded. - - true if recursive; otherwise, false. - - - - The status of an uninstall. - - - - - No status. - - - - - Uninstalled successfully. - - - - - Assembly is still in use. - - - - - Assembly already uninstalled or not found. - - - - - Assembly delete is pending. - - - - - Assembly has a reference to an installed application. - - - - - Assembly not found. - - - - - A class wrapping fusion api calls - - - - - Installs the assembly. - - The assembly path. - if set to true force. - - - - Uninstalls the assembly. - - Name of the assembly. - if set to true force. - Returns true if uninstall successful. - - - - Uninstalls the assembly. - - Name of the assembly. - if set to true force. - The UninstallStatus result. - Returns true if uninstall successful. - - - - Gets the assembly path. - - Name of the assembly. - The path to the assembly in the GAC. - - - - Gets the name of the assembly. - - Name of the assembly. - An instance. - - - - A task for Git commands. - - - - - Returns a string value containing the command line arguments to pass directly to the executable file. - - - A string value containing the command line arguments to pass directly to the executable file. - - - - - Generates the command. - - The builder. - - - - Generates the arguments. - - The builder. - - - - Returns the fully qualified path to the executable file. - - - The fully qualified path to the executable file. - - - - - Logs the starting point of the run to all registered loggers. - - A descriptive message to provide loggers, usually the command line and switches. - - - - Indicates whether all task paratmeters are valid. - - - true if all task parameters are valid; otherwise, false. - - - - - Returns the directory in which to run the executable file. - - - The directory in which to run the executable file, or a null reference (Nothing in Visual Basic) if the executable file should be run in the current directory. - - - - - Gets or sets the command to run. - - - - - Gets or sets the raw arguments to pass to the git command. - - - - - Gets or sets the local or working path for git command. - - - - - Gets the with which to log errors. - - - The with which to log errors. - - - - Gets the name of the executable file to run. - - - The name of the executable file to run. - - - - - A task for git to get the current commit hash. - - - - - Initializes a new instance of the class. - - - - - Generates the arguments. - - The builder. - - - - Parses a single line of text to identify any errors or warnings in canonical format. - - A single line of text for the method to parse. - A value of that indicates the importance level with which to log the message. - - - - Gets or sets the revision to get the version from. Default is HEAD. - - - - - Gets or sets the commit hash. - - - - - Gets or sets a value indicating whether to abbreviate to a shorter unique name. - - - true if short; otherwise, false. - - - - - Html Help 1x compiler task. - - - - - Returns the fully qualified path to the executable file. - - - The fully qualified path to the executable file. - - - - - Logs the starting point of the run to all registered loggers. - - A descriptive message to provide loggers, usually the command line and switches. - - - - Returns a string value containing the command line arguments to pass directly to the executable file. - - - A string value containing the command line arguments to pass directly to the executable file. - - - - - Handles execution errors raised by the executable file. - - - true if the method runs successfully; otherwise, false. - - - - - Gets or sets the project file path. - - The project file path. - - - - Gets the name of the executable file to run. - - - The name of the executable file to run. - - - - Gets the with which to log errors. - - - The with which to log errors. - - - - A Html Help 2.0 compiler task. - - - - - Returns the fully qualified path to the executable file. - - - The fully qualified path to the executable file. - - - - - Logs the starting point of the run to all registered loggers. - - A descriptive message to provide loggers, usually the command line and switches. - - - - Returns a string value containing the command line arguments to pass directly to the executable file. - - - A string value containing the command line arguments to pass directly to the executable file. - - - - - Handles execution errors raised by the executable file. - - - true if the method runs successfully; otherwise, false. - - - - - Gets or sets the project file path. - - The project file path. - - - - Gets or sets the log file. - - The log file. - - - - Gets or sets the project root. - - The project root. - - - - Gets or sets the output file. - - The output file. - - - - Gets or sets a value indicating whether no info messages will be output. - - true if no info messages; otherwise, false. - - - - Gets or sets a value indicating whether no warning messages will be output. - - true if no warning messages; otherwise, false. - - - - Gets or sets a value indicating whether no error messages will be output. - - true if no error messages; otherwise, false. - - - - Gets or sets a value indicating quite mode. - - true if quite mode; otherwise, false. - - - - Gets or sets the uncompile file. - - The uncompile file. - - - - Gets or sets the uncompile directory. - - The uncompile directory. - - - - Gets the name of the executable file to run. - - - The name of the executable file to run. - - - - Gets the with which to log errors. - - - The with which to log errors. - - - - MSBuild task to create installer with InnoSetup - - Create installer - - ]]> - - - - - Returns the fully qualified path to the executable file. - - - The fully qualified path to the executable file. - - - - - Logs the starting point of the run to all registered loggers. - - A descriptive message to provide loggers, usually the command line and switches. - - - - Returns a string value containing the command line arguments to pass directly to the executable file. - - - A string value containing the command line arguments to pass directly to the executable file. - - - - - - - - - - - Filename of Inno Setup script (.iss) - - InnoSetup file, example: C:\Setup.iss - - - - Specify output filename - - Name for setup, examples: MySetup.exe - - - - Specify output path - - Path for output setup, example: C:\Setups - - - - Quiet compile - - True o False - - - - Gets the name of the executable file to run. - - - The name of the executable file to run. - - - - Gets the with which to log errors. - - - The with which to log errors. - - - - Defines the modes for merging files. - - - - - Merges files as binary data. - - - - - Merges files as text. - - - - - Merges files as text line by line. - - - - - Merge files into the destination file. - - Merge CSS files together for better browser performance. - - ]]> - - - - - When overridden in a derived class, executes the task. - - - true if the task successfully executed; otherwise, false. - - - - - Gets or sets the mode to use when merging. - - The merge mode. - - - - - Gets or sets the source files to merge. - - The source files to merge. - - - - Gets or sets the destination file where the - are merged to. - - The destination file. - - - - Makes an HTTP request, optionally validating the result and writing it to a file. - - - Execute a http request to hit the database update. - Target attributes to set: - Url (required), - FailOnNon2xxResponse (200 responses generally means successful http request. default=true), - EnsureResponseContains (string to check for), - WriteResponseTo (file name to write to), - - - Example of a update request ensuring "Database upgrade check completed successfully." was returned. - - ]]> - - - - - Constructor to set the default parameters for http request - - - - - Entry Point inherited from Task - - - - - The URL to make an HTTP request against. - - - - - Optional: if set then the task fails if the response text doesn't contain the text specified. - - - - - Default is true. When true, if the web server returns a status code less than 200 or greater than 299 then the task fails. - - - - - Optional; the name of the file to write the response to. - - - - - A base class for NuGet tasks. - - - - - Returns the fully qualified path to the executable file. - - - The fully qualified path to the executable file. - - - - - Returns the directory in which to run the executable file. - - - The directory in which to run the executable file, or a null reference (Nothing in Visual Basic) if the executable file should be run in the current directory. - - - - - Gets or sets the working directory. - - The working directory. - - The directory in which to run the executable file, or a null reference (Nothing in Visual Basic) if the executable file should be run in the current directory. - - - - - Gets the name of the executable file to run. - - - The name of the executable file to run. - - - - Creates a NuGet package based on the specified nuspec or project file. - - - - - Returns a string value containing the command line arguments to pass directly to the executable file. - - - A string value containing the command line arguments to pass directly to the executable file. - - - - - The location of the nuspec or project file to create a package. - - - - - Specifies the directory for the created NuGet package. - - - - - Overrides the version number from the nuspec file. - - - - - The base path of the files defined in the nuspec file. - - - - - Shows verbose output for package building. - - true if verbose; otherwise, false. - - - - Determines if a package containing sources and symbols should be created. When specified with a nuspec, - creates a regular NuGet package file and the corresponding symbols package. - - - true if symbols; otherwise, false. - - - - - Pushes a package to the server and optionally publishes it. - - - - - Returns a string value containing the command line arguments to pass directly to the executable file. - - - A string value containing the command line arguments to pass directly to the executable file. - - - - - The path to the package to push the package to the server. - - - - - The API key to use for push to the server. - - - - - Specifies the server URL. - - - - - Specifies if the package should be created and uploaded to the server but not published to the server. False by default. - - - true if create only; otherwise, false. - - - - - Creates a relative path from one file - or folder to another. - - - Contains the directory that defines the - start of the relative path. - - - Contains the path that defines the - endpoint of the relative path. - - - The relative path from the start - directory to the end path. - - - Thrown if or are null. - - - - - Compiles regular expressions and saves them to disk in an assembly. - - - - When defining the regular expressions in an MSBuild project file, the ItemGroup - item must have a metadata tag called 'Pattern' that is the actually regular expression. - Other optional metadata tags are the following. - - - Metadata Tags - Description - - - Pattern - The actually regular expression pattern to be compiled. (Required) - - - Options - The RegexOptions for the expression. - - - Namespace - The class namespace for the compile class. - - - IsPublic - A flag if the generated expression should be public. - - - - - Creates an assembly with the compiled regular expressions. - - - - \G[^<]+ - RegexOptions.Singleline | RegexOptions.Multiline - - - \G<%--(([^-]*)-)*?-%> - RegexOptions.Singleline | RegexOptions.Multiline - - - \G<%(?![@%])(?<code>.*?)%> - RegexOptions.Singleline | RegexOptions.Multiline - MSBuild.Community.RegularExpressions - - - - - - -]]> - - - - - - Initializes a new instance of the class. - - - - - When overridden in a derived class, executes the task. - - - true if the task successfully executed; otherwise, false. - - - - - Gets or sets the name of the assembly to be created by the regex compiler. - - The name of the assembly. - - - - Gets or sets the assembly title. - - The assembly title. - - - - Gets or sets the assembly description. - - The assembly description. - - - - Gets or sets the assembly company. - - The assembly company. - - - - Gets or sets the assembly product. - - The assembly product. - - - - Gets or sets the assembly copyright. - - The assembly copyright. - - - - Gets or sets the assembly culture. - - The assembly culture. - - - - Gets or sets the assembly version. - - The assembly version. - - - - Gets or sets the assembly file version. - - The assembly file version. - - - - Gets or sets the assembly informational version. - - The assembly informational version. - - - - Gets or sets the assembly key file. - - The assembly key file. - - - - Gets or sets the directory where the assembly will be saved. - - The output directory. - - - - Gets or sets the output file. - - The output file. - - - - Gets or sets the regular expressions. - - The regular expressions. - - - - Gets or sets the file defining the regular expressions. - - The regular expressions file. - - - - Gets or sets a value indicating whether the default value is public for regular expression instances. - - true if regular expression instance is public; otherwise, false. - - - - Gets or sets the default namespace for regular expression instances. - - The namespace for regular expression instances. - - - - Gets or sets the default regular expression options. - - The default regular expression options. - - - - BuildAssembler task for Sandcastle. - - - - - A base class for Sandcastle Tools, - - - - - Initializes a new instance of the class. - - - - - Returns the fully qualified path to the executable file. - - - The fully qualified path to the executable file. - - - - - Logs the starting point of the run to all registered loggers. - - A descriptive message to provide loggers, usually the command line and switches. - - - - Logs the events from text output. - - The single line. - The message importance. - - - - Gets or sets the sandcastle enviroment. - - The sandcastle enviroment. - - - - Gets or sets the enviroment variables. - - The enviroment variables. - - - - Gets or sets the sandcastle install root directory. - - The sandcastle root directory. - - - - Gets or sets a value indicating whether no info messages will be output. - - true if no info messages; otherwise, false. - - - - Gets or sets a value indicating whether no warning messages will be output. - - true if no warning messages; otherwise, false. - - - - Gets the with which to log errors. - - - The with which to log errors. - - - - Gets the override value of the PATH environment variable. - - - The override value of the PATH environment variable. - - - - Returns a string value containing the command line arguments to pass directly to the executable file. - - - A string value containing the command line arguments to pass directly to the executable file. - - - - - Gets or sets the configuration file. - - The configuration file. - - - - Gets or sets the manifest file. - - The manifest file. - - - - Gets the name of the executable file to run. - - - The name of the executable file to run. - - - - ChmBuilder task for Sandcastle. - - - - - Returns a string value containing the command line arguments to pass directly to the executable file. - - - A string value containing the command line arguments to pass directly to the executable file. - - - - - Gets or sets the HTML directory. - - The HTML directory. - - - - Gets or sets the name of the project. - - The name of the project. - - - - Gets or sets the toc file. - - The toc file. - - - - Gets or sets the output file. - - The output file. - - - - Gets or sets a value indicating whether this is metadata. - - true if metadata; otherwise, false. - - - - Gets or sets the language id. - - The language id. - - - - Gets the name of the executable file to run. - - - The name of the executable file to run. - - - - DBCSFix task for Sandcastle. - - - - - Returns a string value containing the command line arguments to pass directly to the executable file. - - - A string value containing the command line arguments to pass directly to the executable file. - - - - - Gets or sets the CHM directory. - - The CHM directory. - - - - Gets or sets the language id. - - The language id. - - - - Gets the name of the executable file to run. - - - The name of the executable file to run. - - - - MRefBuilder task for Sandcastle. - - - - - Returns a string value containing the command line arguments to pass directly to the executable file. - - - A string value containing the command line arguments to pass directly to the executable file. - - - - - Gets or sets the output file. - - The output file. - - - - Gets or sets the config file. - - The config file. - - - - Gets or sets the references. - - The references. - - - - Gets or sets the assemblies. - - The assemblies. - - - - Gets or sets a value indicating whether to include internal members. - - true to include internal; otherwise, false. - - - - Gets the name of the executable file to run. - - - The name of the executable file to run. - - - - The Sandcastle task. - - Create the Html Help for MSBuild Community Task project. - - ]]> - - - - - Initializes a new instance of the class. - - - - - When overridden in a derived class, executes the task. - - - true if the task successfully executed; otherwise, false. - - - - - Gets or sets the sandcastle install root directory. - - The sandcastle root directory. - - - - Gets or sets the working directory. - - The working directory. - - - - Gets or sets the html help topic style. - - The html help topic style. - - The styles supported are hana, prototype and vs2005. - The default style is vs2005. - - - - - Gets or sets a value indicating whether working directory is cleaned. - - true if clean; otherwise, false. - - - - Gets or sets the references. - - The references. - - - - Gets or sets the assemblies. - - The assemblies. - - - - Gets or sets the comments. - - The comments. - - - - Gets or sets the build assembler config file. - - The build assembler config. - - - - Gets or sets the name of the CHM. - - The name of the CHM. - - - - Gets or sets the language id. - - The language id. - - - - Gets or sets a value indicating a Html Help 2x project will be created. - - The name of the Html Help 2x project. - - - - Gets or sets a value indicating whether no info messages will be output. - - true if no info messages; otherwise, false. - - - - Gets or sets a value indicating whether no warning messages will be output. - - true if no warning messages; otherwise, false. - - - - A class representing the sandcastle enviroment. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The sandcastle root. - - - - Gets or sets the sandcastle root. - - The sandcastle root. - - - - Gets or sets the tools directory. - - The tools directory. - - - - Gets or sets the transforms directory. - - The transforms directory. - - - - Gets or sets the presentation directory. - - The presentation directory. - - - - XslTransform task for Sandcastle. - - - - - Returns a string value containing the command line arguments to pass directly to the executable file. - - - A string value containing the command line arguments to pass directly to the executable file. - - - - - Gets or sets the output file. - - The output file. - - - - Gets or sets the XSLT files. - - The XSLT files. - - - - Gets or sets the XML files. - - The XML files. - - - - Gets or sets the arguments. - - The arguments. - - - - Gets the name of the executable file to run. - - - The name of the executable file to run. - - - - The contract for a service that will provide access to the file system. - - - - - - Determines whether the specified file exists. - - The path of the file to check. - True if the file exists on the filesystem. - - - - Returns the contents of a file. - - The path of the file to read. - The text with the specified file. - - - - Writes text to a file. - - The path of the file to write. - The text to write to the file. - - - - Provides access to the file system. - - - - - - Determines whether the specified file exists. - - The path of the file to check. - True if the file exists on the filesystem. - - - - Returns the contents of a file. - - The path of the file to read. - The text with the specified file. - - - - Writes text to a file. - - The path of the file to write. - The text to write to the file. - - - - The list of the commands available to the GacUtil Task - - - - Install the list of assemblies into the GAC. - - - Uninstall the list of assembly names from the GAC. - - - - MSBuild task to install and uninstall assemblies into the GAC - - Install a dll into the GAC. - - ]]> - - Uninstall a dll from the GAC. - - ]]> - - - - - Runs the executable file with the specified task parameters. - - - true if the task runs successfully; otherwise, false. - - - - - Gets or sets the command. - - The command. - - - - - Gets or sets the related file extensions to copy when is true. - - The related file extensions. - - The default extensions are .pdb and .xml. - - - - - Gets or sets a value indicating whether related files are included when installing in GAC. - - true if related files are included when installing in GAC; otherwise, false. - - Setting IncludeRelatedFiles to true will copy the pdb and xml files from the same folder as the - assembly to the location in the GAC that the assembly was installed to. This is useful in some - debugging scenarios were you need to debug assemblies that are GAC'd. - - - - - Gets or sets a value indicating whether warning messages are output. - - true to not log warning messages; otherwise, false. - - - - Gets or sets a value indicating whether to force reinstall of an assembly. - - true if force; otherwise, false. - - - - Gets or sets the assembly name or file. - - The assembly name or file. - - When the command is install, Assemblies should be a file path to the assembly - to install in the GAC. When command is uninstall, Assemblies should be a - the full name of the assembly to uninstall. - - - - - Gets the installed assembly paths. - - The installed paths. - - - - Gets the installed assembly names. - - The installed names. - - - - Gets the number of assemblies successfully installed/uninstalled. - - The number successful assemblies. - - - - Gets the number of assemblies that failed to installed/uninstalled. - - The number failed assemblies. - - - - Gets the number of assemblies that were skipped during installed/uninstalled. - - The number of skipped assemblies. - - - - Compresses JavaScript source by removing comments and unnecessary - whitespace. It typically reduces the size of the script by half, - resulting in faster downloads and code that is harder to read. - - - This task does not change the behavior of the program that it is - compressing. The resulting code will be harder to debug as well as - harder to read. - - - - - When overridden in a derived class, executes the task. - - - true if the task successfully executed; otherwise, false. - - - - - Gets or sets the files to source-compress. - - - - - Encoding to use to read and write files. - - - - - Gets the files that were successfully source-compressed. - - - - - Defines a database host within the Oracle TNSNAMES.ORA file. - - Add an entry to the system default TNSNAMES.ORA file and update any entry that already exists: - ]]> - - - Add an entry to a specific file and fail if the entry already exists: - ]]> - - - - - - Creates a new instance of the AddTnsName task using dependency injection. - - A service that provides access to the Windows registry. - A service that provides access to the file system. - - - - Creates a new instance of the AddTnsName task using the default system services. - - - - - When overridden in a derived class, executes the task. - - - - true if the task successfully executed; otherwise, false. - - - - - Determines which TNSNAMES.ORA file to update based on task input and the current system environment. - - The path of the TNSNAMES.ORA file that will be used by the task. - - - - - The path to a specific TNSNAMES.ORA file to update. - - If not specified, the default is %ORACLE_HOME%\network\admin\tnsnames.ora - - - - The contents of the TNSNAMES.ORA file before any changes are made. - - - - - The path to the TNSNAMES.ORA that was used by task. - - - - - The name of the host entry to add. - - To be properly recognized by Oracle, the value must contain a period, followed by a suffix. For example: mydatabase.world - - - - The contents of the TNSNAMES.ORA file after the task executes. - - - - - The definition of the host entry to add. - - To be properly recognized by Oracle, the value must be surrounded by parentheses. - - - - When true, the task will update an existing entry with . - If false, the task will fail if already exists. - - - - - Contains information about a TNS definition - - - - - - Creates a new instance of a TnsEntry - - The position of the entry within a TNSNAMES.ORA file - The length of the entry definition within the TNSNAMES.ORA file - - - - The position of the entry within a TNSNAMES.ORA file - - - - - The length of the entry definition within the TNSNAMES.ORA file - - - - - Locates host entries within a TNSNAMES.ORA file - - - - - - Initializes a new instance of the parser using the contents of a TNSNAMES.ORA file. - - - - - - Locates a host entry by its name. - - The name of the entry to find. - A which contains information about the location of the entry within the file. - - - - Task wrapping the Window Resource Kit Robocopy.exe command. - - Deploy website to web server. - - ]]> - - - - - Handles execution errors raised by the executable file. - - - true if the method runs successfully; otherwise, false. - - - - - Returns a string value containing the command line arguments to pass directly to the executable file. - - - A string value containing the command line arguments to pass directly to the executable file. - - - - - Returns the fully qualified path to the executable file. - - - The fully qualified path to the executable file. - - - - - Logs the starting point of the run to all registered loggers. - - A descriptive message to provide loggers, usually the command line and switches. - - - - Source directory - - - You can use drive:\path or \\server\share\path - - - - - Names of files to act upon. - - - You can use wildcard characters (? and *). If no - files are listed, Robocopy defaults to all files (*.*). - - - - - Destination directory. - - - You can use drive:\path or \\server\share\path - - - - - /S Copies subdirectories (excluding empty ones). - - - - - /E Copies all subdirectories (including empty ones). - - - - - /Z Copies files in restartable mode (that is, restarts the copy process from the point of failure). - - - - - /B Copies files in Backup mode (Backup copies are not restartable, but can copy some files that restartable mode cannot). - - - - - /COPY:copyflags Copies the file information specified by copyflags. - - - D – file Data, S – file Security (NTFS ACLs), A – file Attributes, - O – file Ownership information, T – file Timestamps, U – file Auditing infomation. - - - - - /COPYALL Copies Everything. Equivalent to /COPY:DATSOU. - - - - - /NOCOPY Copies Nothing. Can be useful with /PURGE. - - - - - /SEC Copies NTFS security information. (Source and destination volumes must both be NTFS). Equivalent to /COPY:DATS. - - - - - /MOV Moves files (that is, deletes source files after copying). - - - - - /MOVE Moves files and directories (that is, deletes source files and directories after copying). - - - - - /PURGE Deletes destination files and directories that no longer exist in the source. - - - - - /MIR Mirrors a directory tree (equivalent to running both /E and /PURGE). - - - - - /CREATE Creates a directory tree structure containing zero-length files only (that is, no file data is copied). - - - - - /FAT Creates destination files using only 8.3 FAT file names. - - - - - /FFT Assume FAT File Times (2-second granularity). - - - - - /IA:{R|A|S|H|C|N|E|T|O} Includes files with the specified attributes. - - - The following file attributes can be acted upon: - R – Read only, A – Archive, S – System, H – Hidden, - C – Compressed, N – Not content indexed, E – Encrypted, - T – Temporary, O - Offline - - - - - /XA:{R|A|S|H|C|N|E|T|O} Excludes files with the specified attributes. - - - The following file attributes can be acted upon: - R – Read only, A – Archive, S – System, H – Hidden, - C – Compressed, N – Not content indexed, E – Encrypted, - T – Temporary, O - Offline - - - - - /A Copies only files with the archive attribute set. - - - - - /M Copies only files with the archive attribute set and then resets (turns off) the archive attribute in the source files. - - - - - /XJ Excludes Junction points. - - - - - /XF file [file] Excludes files with the specified names, paths, or wildcard characters. - - - - - /XD dir [dir] Excludes directories with the specified names, paths, or wildcard characters. - - - - - /V Produces verbose output (including skipped files). - - - - - /NFL Turns off logging of file names. File names are still shown, however, if file copy errors occur. - - - - - /NDL Turns off logging of directory names. Full file pathnames (as opposed to simple file names) will be shown if /NDL is used. - - - - - /NJH Turns of logging of the job header. - - - - - /NJS Turns off logging of the job summary. - - - - - /NP Turns off copy progress indicator (% copied). - - - - - /LOG:file Redirects output to the specified file, overwriting the file if it already exists. - - - - - /LOG+:file Redirects output to the specified file, appending it to the file if it already exists. - - - - - Manually entered options. - - - - - Gets the name of the executable file to run. - - - The name of the executable file to run. - - - - Gets the with which to log errors. - - - The with which to log errors. - - - - A task to play a sound from a .wav file path or URL. - - - You must specify either - a file or URL (), - a file relative to the (), - or a file within the folder (). - - To play the windows XP startup sound, use - - ]]> - - - To play a wav file from the "MyMusic" folder, use - - ]]> - - - - - - Loads the .wav file given by - and plays the sound using a new thread. - - - Returns if the .wav file can successfully be played; - otherwise, returns . - - - - - Gets or sets the file path or URL of the .wav file to load. - - - - - Sets the file path of the .wav file to load - as a relative path to . - - - For example, on a Windows XP platform, you can call - ]]> - - - - - Sets the file path of the .wav file to load - as a relative path to . - - - - - Gets or sets the time, in milliseconds, in which the .wav file must load. - - The number of milliseconds to wait. The default is 10000 (10 seconds). - - After this time has expired, the loading is canceled and the task execution fails. - - - - - Gets or sets a value indicating whether to play the sound synchronously. - - - if playing the sound using the caller's thread (default); - otherwise, if playing the sound using a new thread. - - - - - A base class that has a file. - - - - - Initializes a new instance of the class. - - Name of the file. - - - - Initializes a new instance of the class. - - The file info. - - - - Returns a that represents this instance. - - - A that represents this instance. - - - - - Performs an implicit conversion from to . - - The output file. - The result of the conversion. - - - - Gets or sets the file. - - The file. - - - - Commands for the tasks. - - - - - Read stream from pdb symbol file. - - - - - Write stream to pdb symbol file. - - - - - A task for the pdbstr from source server. - - - - - Returns a string value containing the command line arguments to pass directly to the executable file. - - - A string value containing the command line arguments to pass directly to the executable file. - - - - - Returns the fully qualified path to the executable file. - - - The fully qualified path to the executable file. - - - - - Gets or sets the PDB file. - - The PDB file. - - - - Gets or sets the stream file. - - The stream file. - - - - Gets or sets the name of the stream. - - The name of the stream. - - - - Gets or sets the command. - - The command. - - - - - Gets the name of the executable file to run. - - - - The name of the executable file to run. - - - - - A class representing a source file. - - - - - Initializes a new instance of the class. - - Name of the file. - - - - Initializes a new instance of the class. - - The file info. - - - - Creates the source string. - - The format. - - - - - Gets or sets the properties. - - The properties. - - - - Gets or sets a value indicating whether this instance is resolved. - - - true if this instance is resolved; otherwise, false. - - - - - A base class for source indexing a pdb symbol file. - - - - - - - - - - - - - - When overridden in a derived class, executes the task. - - - true if the task successfully executed; otherwise, false. - - - - - Indexes the symbol file. - - The symbol file task item. - true if index successfully; otherwise false. - - - - Creates an instance of from the symbol file task item and add the source file list to it. - - The symbol file task item. - An instance of or null if there was an error. - - - - Adds the source properties to the symbol file. - - The symbol file to add the source properties to. - true if successful; otherwise false. - - - - Creates the source index file. - - The symbol file to create the index file from. - The source index file. - true if successful; otherwise false. - - - - Writes the source index file to the symbol file. - - The symbol file. - The source index file. - true if successful; otherwise false. - - - - Copies the build engine to the task. - - The task. - - - - Gets or sets the symbol files to have to source index added. - - The symbol files. - - - - Gets or sets the source server SDK path. - - The source server SDK path. - - - - Gets or sets the name of the source server. - - The name of the source server. - - - - Gets or sets the source command format. The SRCSRVCMD environment variable. - - The source command format. - - Describes how to build the command to extract the file from source control. - This includes the name of the executable file and its command-line parameters. - See srcsrv.doc for full documentation on SRCSRVCMD. - - - - - Gets or sets the source target format. The SRCSRVTRG environment variable. - - The source target format. - - Describes how to build the target path for the extracted file. - See srcsrv.doc for full documentation on SRCSRVTRG. - - - - - A task for the srctool from source server. - - - - - Returns a string value containing the command line arguments to pass directly to the executable file. - - - A string value containing the command line arguments to pass directly to the executable file. - - - - - Parses a single line of text to identify any errors or warnings in canonical format. - - A single line of text for the method to parse. - A value of that indicates the importance level with which to log the message. - - - - Handles execution errors raised by the executable file. - - - true if the method runs successfully; otherwise, false. - - - - - Returns the fully qualified path to the executable file. - - - The fully qualified path to the executable file. - - - - - Logs the starting point of the run to all registered loggers. - - A descriptive message to provide loggers, usually the command line and switches. - - - - Gets or sets the PDB file. - - The PDB file. - - - - Gets or sets a value indicating whether to dumps raw source data from the PDB. The -r switch. - - true if source only; otherwise, false. - - - - Gets or sets the filter to only source files that match this regular expression. The -l switch. - - The filter regular expression. - - - - Gets or sets a value indicating whether to extracts the files, instead of simply listing them. The -x switch. - - true if extract; otherwise, false. - - - - Gets or sets the directory to extract to. The -d switch. - - The extract directory. - - - - Gets or sets a value indicating whether to get the count of indexed files. The -c switch. - - true if count only; otherwise, false. - - - - Gets or sets the number of source files. - - The number of source files. - - - - Gets the source files. Populated when is true. - - The source files. - - - - Gets the extracted files. Populated when is true. - - The extracted files. - - - - Gets the name of the executable file to run. - - - - The name of the executable file to run. - - - - - Gets the with which to log errors. - - - The with which to log errors. - - - - A subversion source index task. - - - - - Initializes a new instance of the class. - - - - - Adds the source properties to the symbol file. - - The symbol file to add the source properties to. - - true if successful; otherwise false. - - - - - Creates the source index file. - - The symbol file to create the index file from. - The source index file. - - true if successful; otherwise false. - - - - - A class representing a symbol file. - - - - - Initializes a new instance of the class. - - Name of the file. - - - - Initializes a new instance of the class. - - The file info. - - - - Adds the source files. - - The files. - - - - Gets the source files. - - The source files. - - - - Gets or sets a value indicating whether this instance is indexed. - - - true if this instance is indexed; otherwise, false. - - - - - The SqlPubWiz commands - - - - - Scripts a local database to one or more files - - - - - Publishes a local database to a web service provided by a hoster. - - - - - The Database Publishing Wizard enables the deployment of - SQL Server databases (both schema and data) into a shared - hosting environment. - - Generate the database script for Northwind on localhost. - - ]]> - - - - - Returns the fully qualified path to the executable file. - - - The fully qualified path to the executable file. - - - - - Returns a string value containing the command line arguments to pass directly to the executable file. - - - A string value containing the command line arguments to pass directly to the executable file. - - - - - Logs the starting point of the run to all registered loggers. - - A descriptive message to provide loggers, usually the command line and switches. - - - - Gets or sets the database publishing command. - - The database publishing command. - - Use either script or publish. Use script to script a local - database to a file on the local computer. Use publish to - transfer database objects directly to a hosted database via - a web service. script and publish enable some of the same - options and switches. Some options and switches are only - enabled only by one of these verbs. - - - - - Gets or sets the full connection string to the local database. - - The connection string. - - Provides a full connection string to connect to the local - database. This connection string encapsulates all connection - options to the server. Incompatible with , - or, . - - - - - Gets or sets the name of the local database to be scripted. - - The name of the database to be scripted. - - - - Gets or sets the SQL Server user name to use for connection - to the source database. - - The SQL Server user name. - - Specifies the SQL Server User name to use for connection - to the source database. Requires . - Incompatible with . - - - - - Gets or sets the password to use for connection - to the source database. - - The password. - - Specifies the password to use for connection to the source - database. Requires . - Incompatible with . - - - - - Gets or sets the name or IP address for the local database connection. - - The name or IP address of server. - - Specifies the name or IP address for the local database connection. - The default is localhost. Incompatible with . - - - - - Gets or sets the full file path for the script file generated. - - The full file path. - - Use only with script. Specifies the full file path for the script - file generated by the sqlpubwiz. - - - - - Gets or sets a value indicating whether the schema, - but not the data, should be scripted. - - - true if only the schema should be scripted; - otherwise, false. - - - Specifies that the schema, but not the data, should be - scripted. Incompatible with . - If neither nor - are specified, both the schema and data are scripted. - - - - - Gets or sets a value indicating whether the data but - not the schema should be scripted. - - - true if only the data is scripted; - otherwise, false. - - - Specifies that the data but not the schema should be - scripted. Incompatible with - or . If neither - nor are specified, both the schema - and data are scripted. - - - - - Gets or sets the target server the script should target. - - The target server the script should target. - - Specifies that the script to be generated should target - a SQL Server 2000 or SQL Server 2005 instance. - The default is SQL Server 2005. - - - - - Gets or sets a value indicating whether objects will - not be qualified with a schema. - - - true if objects will not be schema qualified; - otherwise, false. - - - - - Gets or sets a value indicating whether the produced - script should not drop pre-existing objects. - - - true if pre-existing objects should not be dropped; - otherwise, false. - - - - - Gets or sets a value indicating output message suppression. - - true to suppress messages; otherwise, false. - - - - Gets or sets the friendly name of previously - configured hosting Web service. - - The name of the hoster. - - - - Gets or sets the configuration of the hosting Web service endpoint. - - The web service address. - - - - Gets or sets the username on the hosting Web service endpoint. - - The service username. - - - - Gets or sets the password for the remote Web service endpoint. - - The service password. - - - - Gets or sets the database name to publish to on the remote server. - - The service database server. - - - - Gets or sets the remote database server name. - - The service database. - - - - Gets or sets a value indicating whether the publish operation - should not be executed within a single transaction. - - true to not publish in a single transaction; otherwise, false. - - Specifies that the publish operation should not be executed - within a single transaction. This reduces logging overhead - on the target server, but if the publish is interrupted, the - target database may be left in a partially populated state. - - - - - Gets the name of the executable file to run. - - - The name of the executable file to run. - - - - Gets the with which to log errors. - - - The with which to log errors. - - - - Copy a file or folder in Subversion - - - This is most useful for automatically tagging your source code during a build. - You can create a tag by copying a path from one server location to another. - - Create a tag of the trunk with the current Cruise Control build number: - - - - ]]> - - - - - Subversion client base class - - - - - Generates the SVN command. - - - - - - Generates the SVN arguments. - - - - - - Runs the exectuable file with the specified task parameters. - - - true if the task runs successfully; otherwise, false. - - - - - Returns a string value containing the command line arguments to pass directly to the executable file. - - - A string value containing the command line arguments to pass directly to the executable file. - - - - - Indicates whether all task paratmeters are valid. - - - true if all task parameters are valid; otherwise, false. - - - - - Logs the events from text output. - - The single line. - The message importance. - - - - Returns the fully qualified path to the executable file. - - - The fully qualified path to the executable file. - - - - - Finds the tool path. - - Name of the tool. - - - - - Logs the starting point of the run to all registered loggers. - - A descriptive message to provide loggers, usually the command line and switches. - - - - Gets or sets the command. - - The command. - - - - Gets or sets the arguments. - - The arguments. - - - - Gets or sets the username. - - The username. - - - - Gets or sets the password. - - The password. - - - - Gets or sets the verbose. - - The verbose. - - - - Gets or sets the force. - - The force. - - - - Gets or sets the message. - - The message. - - - - Gets or sets the message file. - - The message file. - - Uses the contents of the named file for the specified - subcommand, though different subcommands do different - things with this content. - - - - Gets or sets the repository path. - - The repository path. - - - - Gets or sets the local path. - - The local path. - - - - Gets or sets the target file. - - The target file. - - Tells Subversion to get the list of files that you wish to operate on from - the filename that you provide instead of listing all the files on the command line. - - - - - Gets or sets the targets. - - The targets. - - - - Gets or sets a value indicating the command is non interactive]. - - true if non interactive; otherwise, false. - - - - Gets or sets a value indicating no auth cache. - - true if no auth cache; otherwise, false. - - - - Gets or sets a value indicating whether to trust the server cert. - - true to trust the server cert; otherwise, false. - - - - Gets or sets a value indicating the output is XML. - - true to output in XML; otherwise, false. - - - - Gets or sets the revision. - - The revision. - - - - Gets the output of SVN command-line client. - - - - - Gets the error output of SVN command-line client. - - - - - Gets the with which to log errors. - - - The with which to log errors. - - - - Gets the name of the executable file to run. - - - The name of the executable file to run. - - - - Initializes a new instance of the class. - - - - - Generates the SVN command. - - - - - - Indicates whether all task paratmeters are valid. - - - true if all task parameters are valid; otherwise, false. - - - - - The path of the source file or folder that should be copied - - - - - The path to which the SourcePath should be copied - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Subversion status command. - - - - - Creates an instance of SvnStatus. - - - - - Runs the exectuable file with the specified task parameters. - - - true if the task runs successfully; otherwise, false. - - - - - Gets or sets the entries. - - - - - Commands for the SymStore tasks. - - - - - Add to the symbol server store. - - - - - Query the symbol server store. - - - - - Delete from the symbol serer store. - - - - - Task that wraps the Symbol Server SymStore.exe application. - - - - - Initializes a new instance of the class. - - - - - Returns a string value containing the command line arguments to pass directly to the executable file. - - - A string value containing the command line arguments to pass directly to the executable file. - - - - - Returns the fully qualified path to the executable file. - - - The fully qualified path to the executable file. - - - - - Logs the starting point of the run to all registered loggers. - - A descriptive message to provide loggers, usually the command line and switches. - - - - Gets or sets the command. - - The command. - - - - - Gets or sets a value indicating SymStore will append new indexing information to an existing index file. - - true if append; otherwise, false. - - - - Gets or sets the comment for the transaction. - - The comment for the transaction. - - - - Gets or sets a value indicating SymStore will create a compressed version of each file copied to the symbol store instead of using an uncompressed copy of the file. - - true if compress; otherwise, false. - - - - Gets or sets a log file to be used for command output. If this is not included, transaction information and other output is sent to stdout. - - The log file to be used for command output. - - - - Gets or sets the network path of files or directories to add. - - The network path of files or directories to add. - - - - Gets or sets the server and share where the symbol files were originally stored. - - The server and share where the symbol files were originally stored. - - - - Gets or sets the transaction ID string. - - The transaction ID string. - - - - Gets or sets a value indicating whether the file will be in a local directory rather than a network path. - - true if local; otherwise, false. - - - - Gets or sets a value indicating whether SymStore will display verbose output. - - true if verbose; otherwise, false. - - - - Gets or sets a value indicating whether SymStore will store a pointer to the file, rather than the file itself. - - true if pointer; otherwise, false. - - - - Gets or sets a value indicating whether SymStore will add files or directories recursively. - - true if recursive; otherwise, false. - - - - Gets or sets the root directory for the symbol store. - - The root directory for the symbol store. - - - - Gets or sets the name of the product. - - The name of the product. - - - - Gets or sets the version of the product. - - The version of the product. - - - - Gets or sets the message to be added to each file. - - The message to be added to each file. - - - - Gets or sets a value indicating whether the paths in the file pointers will be relative. - - true if relative; otherwise, false. - - - - Gets or sets a value indicating whether to omit the creation of reference pointer files for the files and pointers being stored. - - true to omit the creation of reference pointer; otherwise, false. - - - - Gets or sets the index file. Causes SymStore not to store the actual symbol files. Instead, SymStore records information in the IndexFile that will enable SymStore to access the symbol files at a later time. - - The write index file. - - - - Gets or sets the index file. Causes SymStore to read the data from a file created with WriteIndexFile. - - The read index file. - - - - Gets the name of the executable file to run. - - - - The name of the executable file to run. - - - - - Gets the with which to log errors. - - - The with which to log errors. - - - - A task for Team Foundation Server version control. - - - - - Generates the command. - - The . - - - - Generates the arguments. - - The . - - - - Returns the fully qualified path to the executable file. - - - The fully qualified path to the executable file. - - - - - Logs the starting point of the run to all registered loggers. - - A descriptive message to provide loggers, usually the command line and switches. - - - - Returns a string value containing the command line arguments to pass directly to the executable file. - - - A string value containing the command line arguments to pass directly to the executable file. - - - - - Parses a single line of text to identify any errors or warnings in canonical format. - - A single line of text for the method to parse. - A value of that indicates the importance level with which to log the message. - - - - Indicates whether all task paratmeters are valid. - - - true if all task parameters are valid; otherwise, false. - - - - - Gets or sets the Team Foundation Server command. - - - - - Gets or sets the files. - - - - - Gets or sets a value indicating whether this is recursive. - - - true if recursive; otherwise, false. - - - - - Gets or sets a value indicating whether this is all. - - - true if all; otherwise, false. - - - - - Gets or sets a value indicating whether this is overwrite. - - - true if overwrite; otherwise, false. - - - - - Gets or sets a value indicating whether this is override. - - - true if override; otherwise, false. - - - - - Gets or sets a value indicating whether this is force. - - - true if force; otherwise, false. - - - - - Gets or sets a value indicating whether this is preview. - - - true if preview; otherwise, false. - - - - - Gets or sets a value indicating whether this is remap. - - - true if remap; otherwise, false. - - - - - Gets or sets a value indicating whether this is silent. - - - true if silent; otherwise, false. - - - - - Gets or sets a value indicating whether this is saved. - - - true if saved; otherwise, false. - - - - - Gets or sets a value indicating whether this is validate. - - - true if validate; otherwise, false. - - - - - Gets or sets a value indicating whether this is bypass. - - - true if bypass; otherwise, false. - - - - - Gets or sets the comment. - - - - - Gets or sets the version. - - - - - Gets or sets the lock. - - - - - Gets or sets the type. - - - - - Gets or sets the author. - - - - - Gets or sets the notes. - - - - - Gets or sets the format. - - - - - Gets or sets the collection. - - - - - Gets or sets the name of the user. - - - - - Gets or sets the password. - - - - - Gets or sets the name of the workspace. - - - - - Gets or sets the workspace owner. - - - - - Gets or sets the name of the shelve set. - - - - - Gets or sets the shelve set owner. - - - - - Gets or sets the changeset. - - - - - Gets or sets the server path. - - - - - Gets the with which to log errors. - - - The with which to log errors. - - - - Gets the name of the executable file to run. - - - The name of the executable file to run. - - - - - The contract for a service that will provide access to the registry. - - - - - - Returns the names of the subkeys under the provided key. - - The hive where is located. - The key to search. - A list of subkeys. - - - - Returns the value of an entry in the registry. - - The key of the registry entry that contains - The name of the value to return. - The value of the registry entry. - - - - Provides access to the Windows registry. - - - - - - Returns the names of the subkeys under the provided key. - - The hive where is located. - The key to search. - A list of subkeys. - - - - Returns the value of an entry in the registry. - - The key of the registry entry that contains - The name of the value to return. - The value of the registry entry. - - - - Provides information about the build user. - - Get build user information. - - - - - - - ]]> - - - The following output parameters are set only if information about the build user can be retrieved - from the Active Directory if one exists: - - FirstName - LastName - MiddleInitial - FullName - Email - Phone - - - - - - Initializes a new instance of the class. - - - - - Executes the task. - - - if the task ran successfully; otherwise . - - - - - Gets the user name of the build user. - - - - - Gets the domain name of the build user. - - - - - Gets the first name of the build user. - - - - - Gets the last name of the build user. - - - - - Gets the middle initial of the build user. - - - - - Gets the email address of the build user. - - - - - Gets the phone number of the build user. - - - - - Gets the username and domain name of the build user in "[Domain name]\[User name]" format. - - - - - Gets the full name of the build user in "[First name] [Middle initial]. [Last name]" format . - - - - - Performs multiple updates on an XML file - - - XmlMassUpdate allows to to specify multiple changes to make to an XML file (the . By default, the changes are applied to the , but you can create a new file by providing the attribute. The change instructions are specified using XML in the . If the does not mirror the structure of the exactly, you can specify the and XPath expressions which determine how the files should be mapped to each other. - - Any element within the will find the corresponding element in the . If it does not exist, it will be created with all of its attributes. If it does exist, the attributes will be added or updated as specified. - - - Any attribute declared within the will not be copied to the modified file. Valid attributes are key and action. The key attribute allows you to define an attribute to use as the identifying attribute when you only want to update a single element, and multiple elements with the same name exist. You can also use the action="remove" attribute to specify that an element should be deleted instead of updated. - - - - These examples will demonstrate how to make multiple updates to a XML file named web.config. It looks like: - - - - - - - - - - - - - - - ]]> - - - - You can update the file using instructions from an external file (specified as the ): - - ]]> - - The is named changes.xml and contains: - - - - - - - - ]]> - - - You can also provide the update instructions within the MSBuild project file itself. It takes advantage of the MSBuild ProjectExtensions element which allows you to add XML to a project file that will be ignored by the MSBuild engine. This example also demonstrates how to use : - - - - - - - - - - ]]> - - - The following example demonstrates how to deal with "keyed" elements. When you need to update an element, and multiple elements exist with the same name, it must be be differentied by one of its attributes. You designate the differentiating attribute using the "key" attribute declared in the . - If an element matching the keyed attribute is not found, a new element will be created (DefaultSort in the example). This example also demonstrates creating a new file with the merged changes instead of modifying the original file. - - ]]> - - Using a changes.xml file with the following contents: - - - - - - - ]]> - - - Use a changes.xml file with the following contents to demonstrate how to remove an element from the updated file: - - - - - - - ]]> - - - You can also specify the changes to apply from within the target document. By making use of the property, you can store multiple sets of changes to apply based on runtime conditions. - Consider the following source web.config file: - - - - - - - - - - - - - - - - - - - - - - - - ]]> - - You could use the following task definition, which relies on a property "TargetEnvironment" to determine which set of changes to apply: - - ]]> - - You will need to provide a value of "test" or "prod" to the TargetEnvironment property. The property can be defined in a PropertyGroup section of the MSBuild file, or passed as a command-line parameter. - - - - - - - - - When overridden in a derived class, executes the task. - - - True if the task successfully executed; otherwise, false. - - - - - Returns as an . - - This method is not intended for use by consumers. It is exposed for testing purposes. - - - - - - Returns as an . - - This method is not intended for use by consumers. It is exposed for testing purposes. - - - - - - Creates from the specified - - The XML to save to a file - This method is not intended for use by consumers. It is exposed for testing purposes. - - - - - - The original file whose content is to be updated - - This task is currently under construction and not necessarily feature complete. - - - - The file containing the list of updates to perform - - - - - The file created after performing the updates - - - - - The XPath expression used to locate the list of substitutions to perform - - When not specified, the default is the document root: / - When there is a set of elements with the same name, and you want to update - a single element which can be identified by one of its attributes, you need to include an attribute - named 'key' in the namespace urn:msbuildcommunitytasks-xmlmassupdate. The value of the - attribute is the name of the attribute that should be used as the unique identifier. - - - - The XPath expression identifying root node that substitions are relative to - - When not specified, the default is the document root: / - - - - A collection of prefix=namespace definitions used to query the XML documents - - - Defining multiple namespaces: - - -/>]]> - - - - - - The full path of the file containing content updated by the task - - - - - The full path of the file containing substitutions used by the task - - - - - The full path of the file containing the results of the task - - - - - The namespace used for XmlMassUpdate pre-defined attributes - - Evaluates to: urn:msbuildcommunitytasks-xmlmassupdate - Attributes decorated with this namespace are used to control how a substitutions element - or attribute is handled during the update. For example, the key attribute is used to identify the - attribute on an element that uniquely identifies the element in a set. - - - - Sets an application mapping for a filename extension on an existing web directory. - - Map the .axd extension to the lastest version of ASP.NET: - - ]]> - - Map GET requests to the .rss extension to a specific executable: - - ]]> - - - - - Base task for any IIS-related task. - - Stores the base logic for gathering the IIS version and server and port checking. This - base task also stores common properties for other related tasks. - - - - IIS version. - - - - - Gets the IIS version. - - The for IIS. - - - - - Gets the remote machine OS version. - - Returns a of the operating system. - - - - - Verifies that the IIS root exists based on the and . - - - - - - Verify that the IIS Website exists if it has been specified. - - DirectoryEntry that meets the IISWebServer schema - True if a site is found when specified. True if no site has been specified. - - - - Helper method for that verifies the server port exists. - - The site to verify the port. - Boolean value indicating the status of the port check. - - - - - Sets some of the protected properties for the Virtual Directory Creation Wizard. - - DirectoryEntry.Name where the Entry is an IISWebServer schema - - - - Gets or sets the name of the server. The default value is 'localhost'. - - The name of the server. - - - - Gets or sets host header. Used when you have more than one website in IIS that have the same port but different host headers. - - The name of the host header. - - - - Gets or sets the server port. - - The server port. - - - - Gets or sets the IIS server path. - - Is in the form 'IIS://localhost/W3SVC/1/Root'. - The IIS server path. - - - - Gets or sets the application path. - - Is in the form '/LM/W3SVC/1/Root'. - The application path. - - - - Gets or sets the IIS application pool path. - - Is in the form 'IIS://localhost/W3SVC/AppPools'. - The IIS application pool path. - - - - Gets or sets the username for the account the task will run under. This property - is needed if you specified a for a remote machine. - - The username of the account. - - - - Gets or sets the password for the account the task will run under. This property - is needed if you specified a for a remote machine. - - The password of the account. - - - - Defines the possible IIS versions supported by the task. - - - - - IIS version 4.x - - - - - IIS version 5.x - - - - - IIS version 6.x - - - - - Defines the possible application pool actions to be performed. - - - - - Recycles an application pool. - - - - - Stops and restarts the application pool. - - - - - Starts the application pool. - - - - - Stops the application pool. - - - - - Defines the current application pool state. - - - - - The application pool is starting. - - - - - The application pool has started. - - - - - The application pool is stopping. - - - - - The application pool has stopped. - - - - - When overridden in a derived class, executes the task. - - - True if the task successfully executed; otherwise, false. - - - - - Gets or sets the name of the virtual directory. - - The name of the virtual directory. - - - - The filename extension that will be mapped to an executable. - - - - - The full path to the executable used to respond to requests for a Uri ending with - - This property is required when is false (the default). - - - - Indicates whether should be mapped to the ASP.NET runtime. - - When true, is set to aspnet_isapi.dll - in the installation folder of the latest version of the .NET Framework. - - - - A comma-separated list of the HTTP verbs to include in the application mapping. - - The default behavior (when this property is empty or unspecified) is to map all verbs. - A semi-colon-separated list will also be recognized, allowing you to use an MSBuild Item. - - - - Set to true when you want the application to run in a directory without Execute permissions. - - - - - Set to true to instruct the Web server to verify the existence of the requested script file and to ensure that the requesting user has access permission for that script file. - - - - - Reads and modifies a web directory configuration setting. - - Display the file system path of the MyWeb web directory: - - - - - ]]> - - Set the default document for the MyWeb directory to Default.aspx: - - - ]]> - - - - - When overridden in a derived class, executes the task. - - - True if the task successfully executed; otherwise, false. - - - - - Gets or sets the name of the virtual directory. - - The name of the virtual directory. - - - - Gets or sets the configuration setting to read or modify. - - - - - Gets or sets the value of on the web directory - - - - - A wrapper for the ILMerge tool. - - - - The ILMerge tool itself must be installed separately. - It is available here. - - - The command line options "/wildcards" and "/lib" of ILMerge are not supported, - because MSBuild is in charge of expanding wildcards for item groups. - - - - This example merges two assemblies A.dll and B.dll into one: - - $(testDir)\ilmergetest.dll - $(testDir)\keypair.snk - $(testDir)\ExcludeTypes.txt - $(testDir)\ilmergetest.log - - - - - - - - - ]]> - - - - - Initializes a new instance of the class. - - - - - Gets the standard installation path of ILMerge.exe. - - - If ILMerge is not installed at its standard installation path, - provide its location to . - - Returns [ProgramFiles]\Microsoft\ILMerge.exe. - - - - Generates a string value containing the command line arguments - to pass directly to the executable file. - - - Returns a string value containing the command line arguments - to pass directly to the executable file. - - - - - Gets or sets the names of public types - to be renamed when they are duplicates. - - - Set to an empty item group to allow all public types to be renamed. - Don't provide this parameter if no duplicates of public types are allowed. - Corresponds to command line option "/allowDup". - The default value is null. - - - - - Gets or sets a value indicating whether to treat an assembly - with a zero PeKind flag - (this is the value of the field listed as .corflags in the Manifest) - as if it was ILonly. - - - Corresponds to command line option "/zeroPeKind". - The default value is false. - - - - - Gets or sets the attribute assembly - from whre to get all of the assembly-level attributes - such as Culture, Version, etc. - It will also be used to get the Win32 Resources from. - - - This property is mutually exclusive with . - - When not specified, then the Win32 Resources from the primary assembly - are copied over into the target assembly. - - Corresponds to command line option "/attr". - The default value is null. - - - - - Gets or sets a value indicating whether - to augment the list of input assemblies - to its "transitive closure". - - - - An assembly is considered part of the transitive closure if it is referenced, - either directly or indirectly, - from one of the originally specified input assemblies - and it has an external reference to one of the input assemblies, - or one of the assemblies that has such a reference. - - Corresponds to command line option "/closed". - The default value is false. - - - - - Gets or sets a value indicating whether - to copy the assembly level attributes - of each input assembly over into the target assembly. - - - - Any duplicate attribute overwrites a previously copied attribute. - The input assemblies are processed in the order they are specified. - - This parameter is mutually exclusive with . - Corresponds to command line option "/copyattrs". - The default value is false. - - - - - Gets or sets a value indicating whether - to preserve any .pdb files - that are found for the input assemblies - into a .pdb file for the target assembly. - - - Corresponds to command line option "/ndebug". - The default value is true. - - - - - Gets or sets a value indicating whether - the target assembly will be delay signed. - - - This property can be set only in conjunction with . - Corresponds to command line option "/delaysign". - The default value is false. - - - - - Gets or sets the file - that will be used to identify types - that are not to have their visibility modified. - - - - If an empty item group is provided, - then all types in any assembly other than the primary assembly are made non-public. - - Omit this parameter to prevent ILMerge from modifying the visibility of any types. - - The contents of the file should be one per line. - The regular expressions are matched against each type's full name, - e.g., System.Collections.IList. - If the match fails, it is tried again with the assembly name (surrounded by square brackets) - prepended to the type name. - Thus, the pattern \[A\].* excludes all types in assembly A from being made non-public. - The pattern N.T will match all types named T in the namespace named N - no matter what assembly they are defined in. - - Corresponds to command line option "/internalize". - The default value is null. - - - - - Gets or sets the input assemblies to merge. - - - - - Gets or sets a value indicating whether whether types in assemblies other than the primary assembly have their visibility modified. - - true if internalize; otherwise, false. - - This controls whether types in assemblies other than the primary assembly have - their visibility modified. When it is true, then all non-exempt types that are visible - outside of their assembly have their visibility modified so that they are not visible - from outside of the merged assembly. A type is exempt if its full name matches a line - from the ExcludeFile (Section 2.9) using the .NET regular expression engine. - Corresponds to command line option "/internalize". - The default value is false. - - - - - Gets or sets the .snk file - to sign the target assembly. - - - Can be used with . - Corresponds to command line option "/keyfile". - The default value is null. - - - - - Gets or sets a log file - to write log messages to. - - - - If an empty item group is provided, - then log messages are writte to . - - Corresponds to command line option "/log". - The default value is null. - - - - - Gets or sets the target assembly. - - - Corresponds to command line option "/out". - - - - - Gets or sets a value indicating whether - external assembly references in the manifest - of the target assembly will use public keys (false) - or public key tokens (true). - - - Corresponds to command line option "/publickeytokens". - The default value is false. - - - - - Gets or sets the directories to be used to search for input assemblies. - - The search directories. - - - - Gets or sets the .NET framework version for the target assembly. - - - Valid values are "v1", "v1.1", "v2". - Corresponds to the first part of command line option "/targetplatform". - The default value is null. - - - - - Gets or sets the directory in which mscorlib.dll is to be found. - - - Can only be used in conjunction with . - Corresponds to the second part of command line option "/targetplatform". - The default value is null. - - - - - Gets or sets the indicator - whether the target assembly is created as a library (Dll), - a console application (Exe) or as a Windows application (WinExe). - - - Corresponds to command line option "/target". - The default value is the same kind as that of the primary assembly. - - - - - Gets or sets the version number of the target assembly. - - - The parameter should look like 6.2.1.3. - Corresponds to command line option "/ver". - The default value is null. - - - - - Gets or sets a value indicating whether - to merge XML documentation files - into one for the target assembly. - - - Corresponds to command line option "/xmldocs". - The default value is false. - - - - - Gets the name of the executable file to run. - - - - - Gets the with which to log errors. - - - The with which to log errors. - - - - Gets the with which to log errors. - - - - The with which to log errors. - - - - - Installs assemblies. - - - Uses InstallUtil.exe to execute the - Install - method of - Installer - classes contained within specified assemblies. - - - Install multiple assemblies by specifying the file names: - - -]]> - - - Install an assembly using the assembly name. Also disable the log file by setting it to a single space: - - -]]> - - - You can easily chain an install to the result of a build: - - - - - -]]> - - - - - - Returns the fully qualified path to the executable file. - - - The fully qualified path to the executable file. - - - - - Returns a string value containing the command line arguments - to pass directly to the executable file. - - - A string value containing the command line arguments to pass - directly to the executable file. - - - - - The assemblies to process, identified by their assembly name. - - - - - The assemblies to process, identified by their filename. - - - - - The file to write installation progress to. - - Set to a single space to disable logging to a file. - - If not specified, the default is to log to [assemblyname].installLog - - - - - - If an exception occurs at any point during installation, the call - stack will be printed to the log. - - - - - Determines whether assemblies are installed or uninstalled. - - - - - Gets the name of the executable file to run. - - - The name of the executable file to run. - - - Uninstalls assemblies. - - Uses InstallUtil.exe to execute the - Uninstall - method of - Installer - classes contained within specified assemblies. - - Uninstall multiple assemblies by specifying the file names: - - ]]> - - Unnstall an assembly using the assembly name. Also disable the log file by setting it to a single space: - - ]]> - - - - - Determines whether assemblies are installed or uninstalled. - - - - - Performs the modulo operation on numbers. - - - The modulo operation finds the remainder of the division of one number by another. - When the second number (modulus) is a fractional value, the result can be a fractional value. - - Equivalent to the % operator in C# or the Mod operator in Visual Basic. - - - Numbers evenly divide: - - - - - -]]> - - Above example will display: - 12 modulo 4 = 0 - - Division on the numbers produces a remainder: - - - - - -]]> - - Above example will display: - 14 modulo 4 = 2 - - Modulus is a fractional value: - - - - - -]]> - - Above example will display: - 12 modulo 3.5 = 1.5 - - - - - Math task base class - - - - - When overridden in a derived class, executes the task. - - - true if the task successfully executed; otherwise, false. - - - - - Strings array to decimal array. - - The numbers. - - - - - Gets or sets the numbers to work with. - - The numbers. - - - - Gets or sets the result. - - The result. - - - - Gets or sets the numeric format. - - The numeric format. - - - - When overridden in a derived class, executes the task. - - - true if the task successfully executed; otherwise, false. - - - - - Displays a message on the console and waits for user input. - - It is important to note that the message is not written to the MSBuild logger, - it is always written to the console, no matter which logger is configured. - This task requires user input from the console. Do not use this task for projects - that will be executed unattended. It is recommended that you always add a Condtion so that - this task is only enabled when a custom property is set through the command line. - This will ensure that the other users do not attempt to execute the task in unattended mode. - - Pause the build if the interactive property is set: - - - - ]]> - - Obtain user input during the build: - (Note: in most cases, it is recommended that users instead provide custom values to your build through the /property argument of msbuild.exe) - - - - - ]]> - - - - - When overridden in a derived class, executes the task. - - - true if the task successfully executed; otherwise, false. - - - - - The message to display in the console. - - - - - The text entered at the console. - - - - - Base class for Regex tasks - Handles public properties for Input, Expression, Options and Output - - - - - Regex expression - - - - - Input, list of items to perform the regex on - - - - - Regex options as strings corresponding to the RegexOptions enum: - Compiled - CultureInvariant - ECMAScript - ExplicitCapture - IgnoreCase - IgnorePatternWhitespace - Multiline - None - RightToLeft - Singleline - - - - - - Results of the Regex transformation. - - - - - Options converted to RegexOptions enum - - - - - Task to filter an Input list with a Regex expression. - Output list contains items from Input list that matched given expression - - Matches from TestGroup those names ending in a, b or c - - - - - - - - - - - - - - - - - ]]> - - - - - Performs the Match task - - if the task ran successfully; - otherwise . - - - - Task to replace portions of strings within the Input list - Output list contains all the elements of the Input list after - performing the Regex Replace. - - - 1st example replaces first occurance of "foo." with empty string - 2nd example replaces occurance of "foo." after character 6 with "oop." string - - - - - - - - - - - - - - - - - - - - - - - ]]> - - - - - Performs the Replace task - - if the task ran successfully; - otherwise . - - - - String replacing matching expression strings in input list. - If left empty matches in the input list are removed (replaced with empty string) - - - - - Number of matches to allow on each input item. - -1 indicates to perform matches on all matches within input item - - - - - Position within the input item to start matching - - - - - Different ways to specify the assembly in a UsingTask element. - - - - - Assembly file name (Default): <UsingTask AssemblyFile="foo.dll" /> - - - - - Assembly location: <UsingTask AssemblyName="foo" /> - - - - - Assembly Name: <UsingTask AssemblyFile="bin\debug\foo.dll" /> - - - - - Assembly fully qualified name: <UsingTask AssemblyName="foo.dll,version ...." /> - - - - - A Task that generates a XSD schema of the tasks in an assembly. - - - Creates schema for MSBuild Community Task project - - ]]> - - - - - When overridden in a derived class, executes the task. - - - true if the task successfully executed; otherwise, false. - - - - - Gets or sets the list of path to analyse. - - - - - Gets or sets the output path for the generated files. - - - - - Gets the list of path to the generated XSD schema. - - - - - Gets or sets a value indicating if the task list (using UsingTask) - has to be genereted. - - - - - Gets or sets a value indicating how the assembly is specified in the - UsingTask element. - - - - - - Gets or sets a value indicating wheter documentation should be ignored - even if available (Default is false). - - - - - Gets the path to the task list if it was generated. - - - - - Gets or sets a value indicating if the - MsBuild schema inclusing should be ignored - - - - - Gets or sets a list of included schemas - - - - - Retrieves the list of Projects contained within a Visual Studio Solution (.sln) file - - - Returns project name, GUID, and path information from test solution - - - - - - - - - - - - - - - ]]> - - - - - Perform task - - true on success - - - - A list of the project files found in - - - The name of the project can be retrieved by reading metadata tag ProjectName. - - The path to the project as it is is stored in the solution file retrieved by reading metadata tag ProjectPath. - - - The project's GUID can be retrieved by reading metadata tag ProjectGUID. - - - - - - Name of Solution to get Projects from - - - - - MSBuild task to execute DDL and SQL statements. - - Requires the the SQL Server libraries and dynamically loads the - required Microsoft.SqlServer.ConnectionInfo assembly. - - - Server=localhost;Integrated Security=True - - - - - - ]]> - - - - - Executes the task. - - - true if the task successfully executed; otherwise, false. - - - - - The connection string - - - - - Gets or sets the DDL/SQL files. - - The assemblies. - - - - Output the return count/values - - - - - Timeout to execute a DDL statement. - - Defaults to 30 seconds. Set to 0 for an infinite timeout period. - - - - Gets or sets the batch delimter string. - - Default is "GO" for T-SQL. - - - - The kind of Subversion node. The names match the text output - by "svn info". - - - - - Node is a file - - - - - Node is a directory - - - - - Unknown node type - - - - - The Subversion schedule type. - - - - - Normal schedule - - - - - Unknown schedule. - - - - - Run the "svn info" command and parse the output - - - This example will determine the Subversion repository root for - a working directory and print it out. - - - - - - - ]]> - - You can retrieve Subversion information for a or . - If you do not provide a value for or , the current directory is assumed. - - - - Initializes a new instance of the class. - - - - - Reset all instance variables to their default (unset) state. - - - - - Execute the task. - - true if execution is successful, false if not. - - - - Return the repository root or null if not set by Subversion. - - - - - Return the repository UUID value from Subversion. - - - - - The Subversion node kind. - - - - - - The author who last changed this node. - - - - - The last changed revision number. - - - - - The date this node was last changed. - - - - - The Subversion schedule type. - - - - - - MSBuild task that replaces tokens in a template file and writes out a new file. - - - - - MSBuild Community Tasks - - - - - ]]> - - Tokens in the template file are formatted using ${var} syntax and names are not - case-sensitive, so ${Token} and ${TOKEN} are equivalent. - - - - Meta data tag used for token replacement - - - - - Default constructor. Creates a new TemplateFile task. - - - - - Executes the task. - - Success or failure of the task. - - - - The token replaced template file. - - - - - The full path to the output file name. If no filename is specified (the default) the - output file will be the Template filename with a .out extension. - - - - - The template file used. Tokens with values of ${Name} are replaced by name. - - - - - List of tokens to replace in the template. Token name is taken from the TaskItem.ItemSpec and the - replacement value comes from the ReplacementValue metadata of the item. - - - - - Gets the current date and time. - - - See - - DateTimeFormatInfo - for the syntax of the format string. - - Using the Time task to get the Month, Day, - Year, Hour, Minute, and Second: - - - - - - - - - ]]> - Set property "BuildDate" to the current date and time: - - - ]]> - - - - - When overridden in a derived class, executes the task. - - - True if the task successfully executed; otherwise, false. - - - - - Gets or sets the format string - for output parameter . - - - See - - DateTimeFormatInfo - for the syntax of the format string. - - - - - Gets the month component of the date represented by this instance. - - - - - Gets the day of the month represented by this instance. - - - - - Gets the year component of the date represented by this instance. - - - - - Gets the hour component of the date represented by this instance. - - - - - Gets the minute component of the date represented by this instance. - - - - - Gets the seconds component of the date represented by this instance. - - - - - Gets the milliseconds component of the date represented by this instance. - - - - - Gets the number of ticks that represent the date and time of this instance. - - - - - Gets or sets a value that indicates whether the time represented by this instance is based - on local time, Coordinated Universal Time (UTC), or neither. - - - Possible values are: - - Local (default), - Utc, - Unspecified - - - - - - - Gets the time of day for this instance. - - - - - Gets the day of the year represented by this instance. - - - - - Gets the day of the week represented by this instance. - - - - - Gets the value of this instance to its equivalent string representation. - If input parameter is provided, - the value is formatted according to it. - - - - - Gets the value of this instance to its equivalent short date string representation. - - - - - Gets the value of this instance to its equivalent long date string representation. - - - - - Gets the value of this instance to its equivalent short time string representation. - - - - - Gets the value of this instance to its equivalent long time string representation. - - - - - Gets the internal time value. - - - - - Represents a single XmlNode selected using an XML task. - - - - - - Initializes a new instance of an XmlNodeTaskItem - - The selected XmlNode - The prefix to attach to the reserved metadata properties. - - - - Returns a string representation of the XmlNodeTaskItem. - - - - - - Returns the ItemSpec when the XmlNodeTaskItem is explicitly cast as a - - The XmlNodeTaskItem - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Reads a value or values from lines of XML - - - Use the Lines property (possibly populated from the the ReadLinesFromFile task) if you want to perform multiple - queries against some XML in memory. Use the XmlFileName property to query a large XML file. - - An XPath expression can return multiple nodes in the collection. - The number of nodes returned is availabe in the output TaskParameter. - - - When the XPath expression resolves to an element node, all of the - attributes of the element are added as metadata to the returned . - In addition, some reserved metadata properties are available on all element nodes. - They are all prefixed with the , - which is a single underscore (_) by default. - - - Reserved Property - - - _value - The value of the node (non-xml text between the opening and closing tags). - - - _innerXml - The markup representing the children of this node. - - - _outerXml - The markup representing this node and all its child nodes. - - - - - Read an attribute value by selecting it with an XPath expression: - - - - - - - - - - -]]> - - - Read attribute values (from an XML file) using item metadata on a selected element node: - - - - - - - -]]> - - - Read an element value (requires use of the reserved metadata property "_value"): - - - - - - - - - - -]]> - - - - - - When overridden in a derived class, executes the task. - - - True if the task successfully executed; otherwise, false. - - - - - The lines of a valid XML document - - - - - Gets or sets the name of an XML file to query - - The full path of the XML file. - - - - A collection of prefix=namespace definitions used to query the XML document - - - Defining multiple namespaces: - - -/>]]> - - - - - - The query used to identify the values in the XML document - - - - - The values selected by - - - - - The number of values returned in - - - - - The string that is prepended to all reserved metadata properties. - - The default value is a single underscore: '_' - All attributes of an element node are added as metadata to the returned ITaskItem, - so this property can be used to avoid clashes with the reserved properties. - For example, if you selected the following node: - ]]> - the _value attribute would clash with the value reserved property, when using - the default prefix. If you set the ReservedMetaDataPrefix to another value (two underscores '__') - there would be no clash. You would be able to select the attribute using %(item._value) - and the value of the node using %(item.__value). - - - - Provides methods used by all of the XML tasks - - - - - - Concatenates the string value of a list of ITaskItems into a single string - - The items to concatenate - A single string containing the values from all of the items - - - - Uses the prefix=namespace definitions in to populate - - The to populate. - The prefix=namespace definitions. - - - - A task to merge and transform a set of xml files. - - -

    - The xml files of parameter - are merged into one xml document, - wrapped with a root tag -

    -

    - If only one input file is provided, - merging and wrapping can be omitted - by setting to an empty string. -

    -

    - The root tag can be given any number of attributes - by providing a list of semicolon-delimited name/value pairs - to parameter . - For example: RootAttributes="foo=bar;date=$(buildDate)" -

    -

    - Parameter defaults to - one attribute with a name specified by , - and a local time stamp as value. - To suppress the default value, an empty parameter - RootAttributes="" - must be specified explicitely. -

    -

    - The xsl transformation file - specified by parameter - is applied on the input. -

    -

    - The - can be given any number of metadata, - which will be handed to the xsl transformation - as parameters. -

    -

    - If only one input file is given with , - metadata will also be handed to the xsl transformation. - However, the metadata is preferred in case of equal names. - To overcome this limitation, for each input item metadatum, an additional parameter - prefixed with is created. -

    -

    - The output is written to the file - specified by parameter . -

    -
    - This example for generating a report - from a set of NUnit xml results: - - - - $(project) - $(configuration) - $(MSBuildProjectFullPath) - $(MSBuildBinPath) - $(MSBuildCommunityTasksPath)\$(nunitReportXsl) - - - - - -]]> - - - This examples shows all available task attributes: - - - - - -]]> - - -
    - - - The name of the default attribute - of the . - The value is "created", - and the attribute will contain a local time stamp. - - - - - The prefix of XSLT parameters created from single XML input metadata. - The value is "input_". - - - - - When overridden in a derived class, executes the task. - - - Returns true if the task successfully executed; otherwise, false. - - - - - Adds a new xsl parameter with to the specified argument list. - - The name of the parameter. - The value of the parameter. - The parameter list. - Whether the parameter was added. - Does not add the parameter - when a parameter with the same name is already part of the . - - - - Gets or sets the xml input files. - - - - - Gets or sets the xml tag name - of the root tag wrapped - around the merged xml input files. - - - - - Gets or sets the list of - semicolon-delimited name/value pairs - of the . - For example: RootAttributes="foo=bar;date=$(buildDate)" - - - - - Gets or sets the path of the - xsl transformation file to apply. - - - The property can be given any number of metadata, - which will be handed to the xsl transformation - as parameters. - - - - - Gets or sets the path of the output file. - - - - - Replace text in file(s) using a Regular Expression. - - Search for a version number and update the revision. - - ]]> - - - - - Initializes a new instance of the class. - - - - Maintain the behaviour of the original implementation for compatibility - (i.e. initialize _useDefaultEncoding with false) and use utf-8-without-bom, - which is Microsoft's default encoding, only when Encoding property is set - to "utf-8-without-bom". - - - - When overridden in a derived class, executes the task. - - - true if the task successfully executed; otherwise, false. - - - - - Gets or sets the files to update. - - The files. - - - - Gets or sets the regex. - - The regex. - - - - Gets or sets a value specifies case-insensitive matching. . - - true if [ignore case]; otherwise, false. - - - - Gets or sets a value changing the meaning of ^ and $ so they match at the beginning and end, - respectively, of any line, and not just the beginning and end of the entire string. - - true if multiline; otherwise, false. - - - - Gets or sets a value changing the meaning of the dot (.) so it matches - every character (instead of every character except \n). - - true if singleline; otherwise, false. - - - - Gets or sets the maximum number of times the replacement can occur. - - The replacement count. - - - - Gets or sets the replacement text. - - The replacement text. - - - - The character encoding used to read and write the file. - - Any value returned by is valid input. - The default is utf-8 - Additionally, utf-8-without-bomcan be used. - - - - When TRUE, a warning will be generated to show which file was not updated. - - N/A - - - - Uses FxCop to analyse managed code assemblies and reports on - their design best-practice compliance. - - - Shows how to analyse an assembly and use an XSLT stylesheet - to present the report as an HTML file. If the static anlysis fails, - the build does not stop - this is controlled with the FailOnError - parameter. - - ]]> - - If you include the MSBuild.Community.Tasks.Targets file - in you build project, the ItemGroup @(FxCopRuleAssemblies) is defined - with the standard FxCop Rules Assemblies. - - - - Executes the task. - - if the task ran successfully; - otherwise . - - - - Returns the fully qualified path to the executable file. - - - The fully qualified path to the executable file. - - - - - Returns a string value containing the command line arguments - to pass directly to the executable file. - - - A string value containing the command line arguments to pass - directly to the executable file. - - - - - Indicates whether all task paratmeters are valid. - - true if all task parameters are valid; otherwise, false - - - - Returns the directory in which to run the executable file. - - - The directory in which to run the executable file, - or a null reference (Nothing in Visual Basic) if the executable file - should be run in the current directory. - - - - - Tells FxCop to search the GAC for assembly references. This parameter was added in FxCop 1.35 - - - - - Applies the XSL transformation specified in /outXsl to the - analysis report before saving the file. - - - - - Directs analysis output to the console or to the - Output window in Visual Studio .NET. By default, - the XSL file FxCopConsoleOutput.xsl is applied to the - output before it is displayed. - - - - - Specifies additional directories to search for assembly dependencies. - FxCopCmd always searches the target assembly directory and the current - working directory. - - - - - Specifies the target assembly to analyze. - - - - - Specifies the XSL or XSLT file that contains a transformation to - be applied to the analysis output before it is displayed in the console. - - - - - Specifies the name of an analysis report or project file to import. - Any messages in the imported file that are marked as excluded are not - included in the analysis results. - - - - - Specifies the custom dictionary. - - - - - Specifies the filename(s) of FxCop rule assemblies - - - - - The list of rules to run - - Rule names should be provided using the format Library#RuleNumber. For example Microsoft.Design#CA1012 - Place a single hyphen (-) in front of the rule name to exclude it. For example -Microsoft.Performance#CA1805 - - - - - Specifies the file name for the analysis report. - - - - - Specifies the XSL or XSLT file that is referenced by the - xml-stylesheet processing instruction in the analysis report. - - - - - Specifies the location of the version of Mscorlib.dll - that was used when building the target assemblies if this - version is not installed on the computer running FxCopCmd. - - - - - Specifies the filename of FxCop project file. - - - - - Includes a summary report with the informational - messages returned by FxCopCmd. - - - - - Comma-separated list of type names to analyze. This option disables - analysis of assemblies, namespaces, and resources; only the specified - types and their members are included in the analysis. - Use the wildcard character '*' at the end of the name to select multiple types. - - - - - Saves the results of the analysis in the project file. - - - - - Gets or sets the working directory. - - The working directory. - - The directory in which to run the executable file, or a null reference (Nothing in Visual Basic) if the executable file should be run in the current directory. - - - - - Gets or sets a value indicating whether the output is verbose. - - true if verbose; otherwise, false. - - - - Gets or sets a value indicating whether the build should - fail if static code analysis reports errors. Defaults to - true. - - true if verbose; otherwise, false. - - - - Gets the name of the executable file to run. - - - The name of the executable file to run. - - - - Defines the actions that can be performed on a service. - - - - - Starts a service. - - - - - Stops a service. - - - - - Restarts a service. - - - - - Pauses a running service. - - - - - Continues a paused service. - - - - - Task that can control a Windows service. - - - Restart Web Server - - ]]> - - - - - Task that can determine the status of a specified service - on a target server. - - - Check status of SQL Server - - - - - ]]> - - - - - The unknown - returned when the service does not exist. - The value is "Unknown". - - - - - Initializes a new instance of the class. - - - - - Executes the task. - - if the task ran successfully; - otherwise . - - - - Gets the service controller. - - - - - - Gets or sets the name of the service. - - The name of the service. - - - - Gets or sets the name of the machine. - - The name of the machine. - - - - Gets or sets the status. - - The status of the service. - - - - Gets a value indicating whether the service can be paused and resumed. - - - true if this instance can pause and continue; otherwise, false. - - - - - Gets a value indicating whether the service should be notified when the system is shutting down. - - - true if this instance can shutdown; otherwise, false. - - - - - Gets a value indicating whether the service can be stopped after it has started. - - true if this instance can stop; otherwise, false. - - - - Gets a friendly name for the service. - - The name of the display. - - - - Gets a value indicating whether the service exists. - - true if the service exists; otherwise, false. - - - - Initializes a new instance of the class. - - - - - Executes the task. - - if the task ran successfully; - otherwise . - - - - Gets or sets the to perform on the service. - - The action to perform on the service. - - - - - Gets or sets the timeout for the command. The default is - one minute. - - The timeout for the command. - - - - Creates a new application pool on a local or remote machine with IIS installed. The default is - to create the new application pool on the local machine. If connecting to a remote machine, you can - specify the and for the task - to run under. - - Create a new application pool on the local machine. - - ]]> - - - - - When overridden in a derived class, executes the task. - - - True if the task successfully executed; otherwise, false. - - - - - Gets or sets the name of the application pool. - - The name of the application pool. - - - - The AppPoolAutoStart property indicates to the World Wide Web Publishing Service (WWW service) - to automatically start an application pool when the application pool is created or when IIS - is started, if the value of this property is set to true. - - Value indicating if AppPoolAutoStart is enabled or disabled. - - - - The AppPoolIdentityType property allows application pools to run as a specific user account: - - 0 - The application pool runs as NT AUTHORITY\SYSTEM. - 1 - The application pool runs as NT AUTHORITY\LOCAL SERVICE. - 2 - The application pool runs as NT AUTHORITY\NETWORK SERVICE. - 3 - The application pool runs as a specific user account, defined by the property. - - Value indicating the application pool identity type. - - - - The AppPoolQueueLength property indicates to the Universal Listener how many requests - to queue up for an application pool before rejecting future requests. When the limit - for this property is exceeded, IIS rejects the additional requests with a 503 error. - - Value indicating the application pool queue length. - - - - The AutoShutdownAppPoolExe property specifies an executable to run when the World Wide Web - Publishing Service (WWW service) shuts down an application pool for rapid fail protection. You - can use the property to send parameters to the executable. - - Value indicating the application pool auto shutdown executable. - - - - The AutoShutdownAppPoolParams property specifies any command-line parameters for the executable that - is specified in the AutoShutdownAppPoolExe property. You can use these two properties in the following - way to send e-mail, for example, when the World Wide Web Publishing Service (WWW service) shuts down - an application pool for rapid fail protection: - - AutoShutdownAppPoolExe = "C:\LogAndSendMail.bat" - AutoShutdownAppPoolParams = "-AppPoolName %1%" - - where %1% represents the application pool name. - - Value indicating the parameters for the application pool auto shutdown executable. - - - - The CPUAction property configures the action(s) that IIS takes when Microsoft Windows NT ® job objects - run. Only one Windows NT job object exists per application pool, therefore the CPUAction property - is configured on a per application pool basis. - - Possible values: - 0 - No action is taken except that a warning is written to the event log when the CPU limit is exceeded. - 1 - Application pool worker processes that exceed their CPU limit will be forced to shut down. - - Value indicating the CPU action. - - - - The CPULimit property configures the maximum percentage of CPU resources that worker processes - in an application pool are allowed to consume over a period of time, as indicated by the - property. Set this property by specifying a percentage of CPU - usage, multiplied by 1000. For example, if you want the CPU usage limit to be 50%, set CPULimit to 50,000. - - Value indicating the CPU limit. - - - - The CPUResetInterval property specifies the reset period (in minutes) for CPU monitoring and - throttling limits on the application pool. When the number of minutes elapsed since the last - process accounting reset equals the number specified by this property, IIS will reset the CPU - timers for both the logging and limit intervals. Setting the value of this property to 0 - disables CPU monitoring. - - Value indicating the CPU reset interval. - - - - The DisallowOverlappingRotation property specifies whether or not the World Wide Web Publishing - Service (WWW Service) should start up another worker process to replace the existing worker - process while it is shutting down. - - Value indicating the DisallowOverlappingRotation. - - - - The DisallowRotationOnConfigChange property specifies whether or not the World Wide Web Publishing - Service (WWW Service) should rotate worker processes in an application pool when the configuration - has changed. This means that the worker processes will not pick up application pool changes to - values passed to the worker process, such as and . - - Value indicating the DisallowRotationOnConfigChange. - - - - The IdleTimeout property specifies how long (in minutes) a worker process should run idle if no new - requests are received and the worker process is not processing requests. After the allotted time - passes, the worker process should request to be shut down by the World Wide Web Publishing Service (WWW Service). - - Value indicating the idle timeout. - - - - The LoadBalancerCapabilities property specifies behavior when a service is unavailable. A setting of 1 - terminates the connection. A setting of 2 sends error code 503. - - Value indicating the load balancer capabilities. - - - - The LogEventOnRecycle property specifies that IIS should log an event when an application pool is - recycled. Application pools recycle for a variety of reasons. In order for IIS to log the event, the - LogEventOnRecycle property must have a bit set corresponding to the reason for the recycle. - - Value indicating which recycle events to log. - - - - The LogonMethod property contains an integer that specifies the logon method for cleartext - logons. Valid settings are: - - 0 for interactive logon. - 1 for batch logon. - 2 for network logon. - 3 for cleartext logon. - - Value indicating the logon method. - - - - The MaxProcesses property determines the maximum number of worker processes an application pool - allows to service requests for an application pool. This property cannot be set to 0 because there - are no unmanaged pools. - - Value indicating the maximum number of worker processes allowed by the application pool. - - - - The OrphanActionExe property specifies an executable to run when the World Wide Web Publishing - Service (WWW service) orphans a worker process. You can use the property - to send parameters to the executable. - - The value for the orphan action executable. - - - - The OrphanActionParams property specifies command-line parameters for the executable - specified by the property. - - Value indicating the orphan action parameters. - - - - The OrphanWorkerProcess property, when set to true, notifies the World Wide Web Publishing - Service (WWW Service) not to terminate a worker process that fails to respond to pings, but - to instead orphan the worker process in the application pool if the worker process suffers - fatal errors. - - Value indicating the orphan worker process. - - - - The PeriodicRestartMemory property specifies the amount of virtual memory (in KB) that a - worker process can use before the worker process recycles. The maximum value supported - for this property is 4,294,967 KB. - - Value indicating the amount of memory. - - - - The PeriodicRestartPrivateMemory property specifies the amount of private memory (in KB) that a - worker process can use before the worker process recycles. The maximum value supported - for this property is 4,294,967 KB. - - Value indicating the amount of memory. - - - - The PeriodicRestartRequests property indicates the number of requests the OOP application - should process, after which it is recycled. - - Value indicating the number of requests. - - - - The PeriodicRestartSchedule property specifies the time (in 24 hour format) that the application - will be rotated. Each time is in local time and is specified in the following format: - - PeriodicRestartSchedule="hh:mm,hh:mm,hh:mm" - - Value indicating the restart schedule. - - - - The PeriodicRestartTime property specifies the period of time, in minutes, after which IIS - rotates an isolated OOP application. Setting the value of this property to 0 disables the - property. The maximum supported value for this property is 71,582. - - Value indicating the restart time period. - - - - The PingingEnabled property specifies whether the World Wide Web Publishing Service - (WWW Service) should periodically monitor the health of a worker process. Setting the - value of this property to true indicates to the WWW service to monitor the worker - processes to ensure that the they are running and healthy. - - Value indicating if pinging is enabled or disabled. - - - - The PingInterval property specifies the period of time (in seconds) between health-monitoring - pings that the World Wide Web Publishing Service (WWW Service) sends to a worker process. - - Value indicating the ping interval. - - - - The PingResponseTime property specifies the amount of time (in seconds) that a worker process - is given to respond to a health monitoring ping. After the time limit is exceeded, the World - Wide Web Publishing Service (WWW Service) terminates the worker process. - - Value indicating the ping response time. - - - - Setting the RapidFailProtection property to true instructs the World Wide Web Publishing - Service (WWW service) to put all applications in an application pool out of service if the - number of worker process crashes has reached the maximum specified by the - property, within the number of minutes specified - by the property. - - Value indicating if rapid fail protection is enabled or disabled. - - - - The RapidFailProtectionInterval property specifies the number of minutes before the failure - count for a process is reset. See . - - Value indicating the rapid fail protection interval. - - - - The RapidFailProtectionMaxCrashes property specifies the maximum number of failures - allowed within the number of minutes specified by the - property. See . - - Value indicating the maximum number of crashes. - - - - The ShutdownTimeLimit property specifies the amount of time (in seconds) after a recycle - threshold has been reached that IIS waits for all old requests to finish running in a worker - process before terminating the worker process. - - Value indicating the shutdown time limit. - - - - Setting the SMPAffinitized property to true indicates that a particular worker process - assigned to an application pool should be assigned to a given CPU. This property is used - in conjunction with the property to configure a - particular processor a worker process will be assigned to. - - Value indicating if SMPAffinitized is enabled or disabled. - - - - The SMPProcessorAffinityMask property configures the hexadecimal processor mask. The hexadecimal - processor mask indicates to which CPU the worker processes in an application pool should be - bound. Before this property takes affect, the property must be set - to true for the application pool. These properties cannot be set through IIS Manager. - - Do not set this property to zero. Doing so causes no SMP affinity to be configured, creating an - error condition. The default DWORD value is 4294967295 (or -1), which is represented in hexadecimal - as 0xFFFFFFFF. A value of 0xFFFFFFFF in SMPProcessorAffinityMask indicates that all processors are enabled. - - Value indicating the SMP processor affinity bit mask. - - - - The value of the StartupTimeLimit property specifies the amount of time (in seconds) that the World Wide - Web Publishing Service (WWW Service) should wait for a worker process to finish starting up and - reporting to the WWW Service. - - Value indicating the startup time limit. - - - - The WAMUserName property specifies the account user name that IIS uses by default as the COM+ - application identity for newly created IIS out-of-process applications. The values of this - property and its companion property, , are set when IIS is installed, and - match the user name and password values in the Microsoft Windows user account, which is established - at the same time. Changing the value of this property is not recommended. If you do, change - it to a valid Windows user account, and change WAMUserPass to the corresponding password - for the new account. - - Important: - Changes to WAMUserName and WAMUserPass may disrupt the operation of existing IIS out-of-process - applications. You can synchronize application identities using Component Services to edit the - user name and password values, found on the Identity tab of the property sheet for each package. - - In-process applications are not affected by these property values. - - Value indicating the username. - - - - The WAMUserPass property specifies the password for the account that IIS uses by default as the COM+ - application identity for newly created IIS out-of-process applications. The values of this property - and its companion property, , are set when IIS is installed, and match the - password and user name values in the Microsoft Windows user account (IWAM_ MachineName, where MachineName - is the name of the machine on which IIS is installed) established at the same time. - - Important: - Changing the value of this property is not recommended. If you do, you must change the Windows account - password to the identical value. You must also synchronize existing IIS out-of-process application - identities, using Component Services to edit the user name and password values, which are found on the - Identity tab of the property sheet for each package. - - In-process applications are not affected by these property values. - - Value indicating the password. - - - - Creates a new web directory on a local or remote machine with IIS installed. The default is - to create the new web directory on the local machine. The physical path is required to already exist - on the target machine. If connecting to a remote machine, you can specify the - and for the task to run under. - - Create a new web directory on the local machine. - - ]]> - - - - - When overridden in a derived class, executes the task. - - - True if the task successfully executed; otherwise, false. - - - - - Gets or sets the name of the virtual directory. - - The name of the virtual directory. - - - - Gets or sets the virtual directory physical path. The physical directory must - exist before this task executes. - - The virtual directory physical path. - - - - Gets or sets a value that indicates if the file - or the contents of the folder may be executed, regardless of file type. - - A value indicating if AccessExecute is enabled or disabled. - - - - A value of true indicates that remote requests to execute applications - are denied; only requests from the same computer as the IIS server succeed - if the AccessExecute property is set to true. You cannot set - AccessNoRemoteExecute to false to enable remote requests, and set - to false to disable local requests. - - Value indicating if AccessNoRemoteExecute is enabled or disabled. - - - - A value of true indicates that remote requests to view files are denied; only - requests from the same computer as the IIS server succeed if the - property is set to true. You cannot set to false to enable - remote requests, and set to false to disable local requests. - - Value indicating if AccessNoRemoteRead is enabled or disabled. - - - - A value of true indicates that remote requests to view dynamic content are denied; only - requests from the same computer as the IIS server succeed if the property - is set to true. You cannot set AccessNoRemoteScript to false to enable remote requests, - and set to false to disable local requests. - - Value indicating if AccessNoRemoteScript is enabled or disabled. - - - - A value of true indicates that remote requests to create or change files are denied; only - requests from the same computer as the IIS server succeed if the property - is set to true. You cannot set AccessNoRemoteWrite to false to enable remote requests, - and set to false to disable local requests. - - Value indicating if AccessNoRemoteWrite is enabled or disabled. - - - - A value of true indicates that the file or the contents of the folder may be read - through Microsoft Internet Explorer. - - Value indicating if AccessRead is enabled or disabled. - - - - A value of true indicates that users are allowed to access source code if either - Read or Write permissions are set. Source code includes scripts in Microsoft ® Active - Server Pages (ASP) applications. - - Value indicating if AccessSource is enabled or disabled. - - - - A value of true indicates that the file or the contents of the folder may be executed - if they are script files or static content. A value of false only allows static files, - such as HTML files, to be served. - - Value indicating if AccessScript is enabled or disabled. - - - - A value of true indicates that file access requires SSL file permission processing, with - or without a client certificate. - - Value indicating if AccessSsl is enabled or disabled. - - - - A value of true indicates that file access requires SSL file permission processing - with a minimum key size of 128 bits, with or without a client certificate. - - Value indicating if AccessSsl128 is enabled or disabled. - - - - A value of true indicates that SSL file permission processing maps a client certificate - to a Microsoft Windows ® operating system user-account. The property - must also be set to true for the mapping to occur. - - Value indicating if AccessSslMapCert is enabled or disabled. - - - - A value of true indicates that SSL file access processing requests a certificate from - the client. A value of false indicates that access continues if the client does not have - a certificate. Some versions of Internet Explorer will close the connection if the server - requests a certificate and a certificate is not available (even if - is also set to true). - - Value indicating if AccessSslNegotiateCert is enabled or disabled. - - - - A value of true indicates that SSL file access processing requests a certificate from the - client. If the client provides no certificate, the connection is closed. - must also be set to true when using AccessSSLRequireCert. - - Value indicating if AccessSslRequireCert is enabled or disabled. - - - - A value of true indicates that users are allowed to upload files and their associated - properties to the enabled directory on your server or to change content in a Write-enabled - file. Write can be implemented only with a browser that supports the PUT feature of - the HTTP 1.1 protocol standard. - - Value indicating if AccessWrite is enabled or disabled. - - - - The AnonymousPasswordSync property indicates whether IIS should handle the user password - for anonymous users attempting to access resources. - - Value indicating if AnonymousPasswordSync is enabled or disabled. - - - - The AppAllowClientDebug property specifies whether ASP client-side debugging - is enabled. This property is independent of , which - applies to server-side debugging. - - Value indicating if AppAllowClientDebug is enabled or disabled. - - - - The AppAllowDebugging property specifies whether ASP debugging is enabled on - the server. This property is independent of the property, - which applies to client-side debugging. - - Value indicating if AppAllowDebugging is enabled or disabled. - - - - The AspAllowSessionState property enables session state persistence for the ASP application. - - Value indicating if the AspAllowSessionState is enabled or disabled. - - - - The AspBufferingOn property specifies whether output from an ASP application will be buffered. - - Value indicating if the AspBufferingOn is enabled or disabled. - - - - The AspEnableApplicationRestart determines whether an ASP application can be - automatically restarted. When changes are made to Global.asa or metabase properties - that affect an application, the application will not restart unless the - AspEnableApplicationRestart property is set to true. - - Value indicating if AspEnableApplicationRestart is enabled or disabled. - - - - The AspEnableAspHtmlFallback property controls the behavior of ASP when a - new request is to be rejected due to a full request queue. - - Value indicating if AspEnableAspHtmlFallback is enabled or disabled. - - - - The AspEnableChunkedEncoding property specifies whether HTTP 1.1 chunked - transfer encoding is enabled for the World Wide Web Publishing Service (WWW service). - - Value indicating if AspEnableChunkedEncoding is enabled or disabled. - - - - The AspErrorsToNTLog property specifies which ASP errors are written to the - Windows event log. ASP errors are written to the client browser and to the IIS - log files by default. - - Value indicating if AspErrorsToNTLog is enabled or disabled. - - - - The AspEnableParentPaths property specifies whether an ASP page allows paths - relative to the current directory (using the ..\ notation) or above the current directory. - - Value indicating if AspEnableParentPaths is enabled or disabled. - - - - The AspEnableTypelibCache property specifies whether type libraries are cached - on the server. The World Wide Web Publishing Service (WWW service) setting for - this property is applicable to all in-process and pooled out-of-process application - nodes, at all levels. Metabase settings at the Web server level or lower are ignored - for in-process and pooled out-of-process applications. However, settings at the Web - server level or lower are used if that node is an isolated out-of-process application. - - Value indicating if AspEnableTypelibCache is enabled or disabled. - - - - The AspExceptionCatchEnable property specifies whether ASP pages trap exceptions - thrown by components. - - Value indicating if AspExceptionCatchEnable is enabled or disabled. - - - - The AspLogErrorRequests property controls whether the Web server writes ASP errors - to the application section of the Windows event log. ASP errors are written to the - client browser and to the IIS log files by default. - - Value indicating if AspLogErrorRequests is enabled or disabled. - - - - The AspScriptErrorSentToBrowser property specifies whether the Web server writes - debugging specifics (file name, error, line number, description) to the client - browser, in addition to logging them to the Windows Event Log. The - property provides the error message to be sent if this property is set to false. - - Value indicating if AspScriptErrorSentToBrowser is enabled or disabled. - - - - The AspTrackThreadingModel property specifies whether IIS checks the threading model - of any components (COM objects) that your application creates. The preferred setting - of this metabase property is false. - - Value indicating if AspTrackThreadingModel is enabled or disabled. - - - - Specifies Anonymous authentication as one of the possible Windows authentication - schemes returned to clients as being available. - - Value indicating if AuthAnonymous is enabled or disabled. - - - - Specifies Basic authentication as one of the possible Windows authentication - schemes returned to clients as being available. - - Value indicating if AuthBasic is enabled or disabled. - - - - Specifies Integrated Windows authentication (also known as Challenge/Response or - NTLM authentication) as one of the possible Windows authentication schemes - returned to clients as being available. - - Value indicating if AuthNtlm is enabled or disabled. - - - - Setting this flag to true specifies that authentication persists only for a single - request on a connection. IIS resets the authentication at the end of each request, and - forces re-authentication on the next request of the session. - - Value indicating if AuthPersistSingleRequest is enabled or disabled. - - - - Setting this flag to true specifies authentication will persist only across single - requests on a connection if the connection is by proxy. IIS will reset the authentication - at the end of the request if the current authenticated request is by proxy and it is - not the special case where IIS is running MSPROXY. - - Value indicating if AuthPersistSingleRequestIfProxy is enabled or disabled. - - - - Setting this flag to true specifies that authentication is valid for a single request if - by proxy. IIS will reset the authentication at the end of the request and force - re-authentication on the next request if the current authenticated request is by - proxy of any type. - - Value indicating if AuthPersistSingleRequestAlwaysIfProxy is enabled or disabled. - - - - The CacheControlNoCache property specifies the HTTP 1.1 directive to prevent caching of content. - - Value indicating if CacheControlNoCache is enabled or disabled. - - - - The CacheISAPI property indicates whether ISAPI extensions are cached in memory after first use. - - Value indicating if CacheIsapi is enabled or disabled. - - - - The ContentIndexed property specifies whether the installed content indexer should - index content under this directory tree. - - Value indicating if ContentIndexed is enabled or disabled. - - - - This property specifies whether process accounting and throttling should be performed - for ISAPI extensions and ASP applications. To perform process accounting on CGI - applications, use the property . - - Value indicating if CpuAppEnabled is enabled or disabled. - - - - This property indicates whether IIS should perform process accounting for CGI - applications. To effectively throttle CGI applications, use the CgiTimeout - property. To use process accounting for ISAPI and ASP applications, use . - - Value indicating if CpuCgiEnabled is enabled or disabled. - - - - The CreateCGIWithNewConsole property indicates whether a CGI application runs in its own console. - - Value indicating if CreateCgiWithNewConsole is enabled or disabled. - - - - The CreateProcessAsUser property specifies whether a CGI process is created in the system context or in the context of the requesting user. - - Value indicating if CreateProcessAsUser is enabled or disabled. - - - - When set to true, date information is displayed when browsing directories. - - Value indicating if DirBrowseShowDate is enabled or disabled. - - - - When set to true, file name extensions are displayed when browsing directories. - - Value indicating if DirBrowseShowExtension is enabled or disabled. - - - - When set to true, date information is displayed in extended format when displaying directories. - - Value indicating if DirBrowseShowLongDate is enabled or disabled. - - - - When set to true, file size information is displayed when browsing directories. - - Value indicating if DirBrowseShowSize is enabled or disabled. - - - - When set to true, file time information is displayed when displaying directories. - - Value indicating if DirBrowseShowTime is enabled or disabled. - - - - The DontLog property specifies whether client requests are written to the IIS log files. - - Value indicating if DontLog is enabled or disabled. - - - - When set to true, the default document (specified by the property) for - a directory is loaded when the directory is browsed. - - Value indicating if EnableDefaultDoc is enabled or disabled. - - - - When set to true, directory browsing is enabled. - - Value indicating if EnableDirBrowsing is enabled or disabled. - - - - The EnableDocFooter property enables or disables custom footers specified by - the DefaultDocFooter property. - - Value indicating if EnableDocFooter is enabled or disabled. - - - - The EnableReverseDns property enables or disables reverse Domain Name Server (DNS) lookups - for the World Wide Web Publishing Service (WWW service). Reverse lookups involve looking - up the domain name when the IP address is known. Reverse DNS lookups can use significant - resources and time. - - Value indicating if EnableReverseDns is enabled or disabled. - - - - The SSIExecDisable property specifies whether server-side include (SSI) #exec directives - are disabled under this path. - - Value indicating if SsiExecDisable is enabled or disabled. - - - - The UNCAuthenticationPassthrough property enables user authentication passthrough - for Universal Naming Convention (UNC) virtual root access (for authentication schemes - that support delegation). - - Value indicating if UncAuthenticationPassthrough is enabled or disabled. - - - - The AspScriptErrorMessage property specifies the error message to send to the browser - if specific debugging errors are not sent to the client (if - is set to false). - - Value indicating if AspScriptErrorMessage is enabled or disabled. - - - - The DefaultDoc contains one or more file names of default documents that will be returned - to the client if no file name is included in the client's request. The default document - will be returned if the flag of the DirBrowseFlags property - is set to true for the directory. This property can contain a list of default document - file names separated by a comma and a space, for example Default.htm, Default.asp. - - Listing of the default documents for the web application. - - - - Deletes an existing application pool on a local or remote machine with IIS installed. The default is - to delete an existing application pool on the local machine. If connecting to a remote machine, you can - specify the and for the task - to run under. - - Delete an existing application pool on the local machine. - - ]]> - - - - - When overridden in a derived class, executes the task. - - - True if the task successfully executed; otherwise, false. - - - - - Gets or sets the name of the application pool. - - The name of the application pool. - - - - Deletes a web directory on a local or remote machine with IIS installed. The default is - to delete the web directory on the local machine. If connecting to a remote machine, you - can specify the and for the - task to run under. - - Deletes a web directory on the local machine. - - ]]> - - - - - When overridden in a derived class, executes the task. - - - True if the task successfully executed; otherwise, false. - - - - - Gets or sets the name of the virtual directory. - - The name of the virtual directory. - - - - Actions the can do. - - - - Start the applicaiton pool - - - Stop the applicaiton pool - - - Restart the applicaiton pool - - - Recycle the applicaiton pool - - - - Allows control for an application pool on a local or remote machine with IIS installed. The default is - to control the application pool on the local machine. If connecting to a remote machine, you can - specify the and for the task - to run under. - - Restart an application pool on the local machine. - - ]]> - - - - - When overridden in a derived class, executes the task. - - - True if the task successfully executed; otherwise, false. - - - - - Gets or sets the name of the app pool. - - The name of the app pool. - - - - Gets or sets the application pool action. - - The application pool action. - - - - - Sends an email message - - Example of sending an email. - - - - ]]> - - - - - Initializes a new instance of the class. - - - - Sends an email message - Returns true if successful - - - - List of files to attach to message - - - - - List of addresss that contains the blind carbon copy (BCC) recipients for this e-mail message - - - - - List of addresss that contains the carbon copy (CC) recipients for this e-mail message - - - - - The email message body - - - - - The from address for this e-mail message - - - This property is required. - - - - - A value indicating whether the mail message body is in Html - - - - - The priority of this e-mail message - - - Possible values are High, Normal, and Low - - - - - The subject line for this e-mail message - - - This property is required. - - - - - The name or IP address of the host used for SMTP transactions - - - This property is required. - - - - - List of addresss that contains the recipients of this e-mail message - - - This property is required. - - - - - Gets or sets the username. - - The username. - - - - Gets or sets the password. - - The password. - - - - Specify whether the Mail task uses SSL to encrypt the connection. - - true if the Mail task uses SSL; otherwise false. The default value is false. - - - - Add numbers - - Adding numbers: - - - - - ]]> - - - - - When overridden in a derived class, executes the task. - - - true if the task successfully executed; otherwise, false. - - - - - Divide numbers - - - - - - - -]]> - - Above example will display: - Divide 1/2= 0.5 - - Truncate the result to always return an integer: - - - - - -]]> - - Above example will display: - Divide 7/3= 2 - - - - - When overridden in a derived class, executes the task. - - - true if the task successfully executed; otherwise, false. - - - - - When , uses integer division to truncate the result. Default is - - - Any remainder in the result is dropped, and the closest integer to zero is returned. - - Refer to the documentation for the \ Operator - for more information about integer division. - - - - - - Multiple numbers - - - - - - - ]]> - - - - - When overridden in a derived class, executes the task. - - - true if the task successfully executed; otherwise, false. - - - - - Subtract numbers - - - - - - - ]]> - - - - - When overridden in a derived class, executes the task. - - - true if the task successfully executed; otherwise, false. - - - - - Moves files on the filesystem to a new location. - - - Move a file to another folder - - ]]> - Rename a file - - ]]> - - - - - When overridden in a derived class, executes the task. - - - true if the task successfully executed; otherwise, false. - - - - - Gets the items that were successfully moved. - - The moved files. - - - - Gets or sets the list of files to moved the source files to. - - - This list is expected to be a one-to-one mapping with the - list specified in the SourceFiles parameter. That is, the - first file specified in SourceFiles will be moved to the - first location specified in DestinationFiles, and so forth. - - The destination files. - - - - Gets or sets the directory to which you want to move the files. - - The destination folder. - - - - Gets or sets the source files to move. - - The source files to move. - - - - Runs the NDoc application. - - Generated html help file. - - ]]> - - - - - Initializes a new instance of the class. - - - - - Returns a string value containing the command line arguments to pass directly to the executable file. - - - A string value containing the command line arguments to pass directly to the executable file. - - - - - Returns the fully qualified path to the executable file. - - - The fully qualified path to the executable file. - - - - - Logs the starting point of the run to all registered loggers. - - A descriptive message to provide loggers, usually the command line and switches. - - - - Returns the directory in which to run the executable file. - - - The directory in which to run the executable file, or a null reference (Nothing in Visual Basic) if the executable file should be run in the current directory. - - - - - Gets or sets the documenter. - - The documenter. - Available documenters are VS.NET_2003, JavaDoc, LaTeX, LinearHtml, MSDN, XML. - - - - Gets or sets the project file path. - - The project file path. - - - - Gets or sets a value indicating whether the output is verbose. - - true if verbose; otherwise, false. - - - - Gets or sets the working directory. - - The working directory. - - The directory in which to run the executable file, or a null reference (Nothing in Visual Basic) if the executable file should be run in the current directory. - - - - - Gets the name of the executable file to run. - - - The name of the executable file to run. - - - - Gets the with which to log errors. - - - The with which to log errors. - - - - Run NUnit 2.4 on a group of assemblies. - - Run NUnit tests. - - - - - - - ]]> - - - - - The default relative path of the NUnit installation. - The value is @"NUnit 2.4\bin". - - - - - Initializes a new instance of the class. - - - - - Returns a string value containing the command line arguments to pass directly to the executable file. - - - A string value containing the command line arguments to pass directly to the executable file. - - - - - Returns the fully qualified path to the executable file. - - - The fully qualified path to the executable file. - - - - - Logs the starting point of the run to all registered loggers. - - A descriptive message to provide loggers, usually the command line and switches. - - - - Returns the directory in which to run the executable file. - - - The directory in which to run the executable file, or a null reference (Nothing in Visual Basic) if the executable file should be run in the current directory. - - - - - Gets or sets the assemblies. - - The assemblies. - - - - Gets or sets the categories to include. - - Multiple values must be separated by a comma "," - - - - Gets or sets the categories to exclude. - - Multiple values must be separated by a comma "," - - - - Gets or sets the fixture. - - The fixture. - - - - Gets or sets the XSLT transform file. - - The XSLT transform file. - - - - Gets or sets the output XML file. - - The output XML file. - - - - The file to receive test error details. - - - - - Gets or sets the working directory. - - The working directory. - - The directory in which to run the executable file, or a null reference (Nothing in Visual Basic) if the executable file should be run in the current directory. - - - - - Determines whether assemblies are copied to a shadow folder during testing. - - Shadow copying is enabled by default. If you want to test the assemblies "in place", - you must set this property to True. - - - - The project configuration to run. - - Only applies when a project file is used. The default is the first configuration, usually Debug. - - - - Allows tests to be run in a new thread, allowing you to take advantage of ApartmentState and ThreadPriority settings in the config file. - - - - - Determines whether the tests are run in a 32bit process on a 64bit OS. - - - - - Determines the framework to run aganist. - - - - - Gets the name of the executable file to run. - - - The name of the executable file to run. - - - - Gets the with which to log errors. - - - The with which to log errors. - - - - A strongly-typed resource class, for looking up localized strings, etc. - - - - - Returns the cached ResourceManager instance used by this class. - - - - - Overrides the current thread's CurrentUICulture property for all - resource lookups using this strongly typed resource class. - - - - - Looks up a localized string similar to Failed to lookup information for {0} in Active Directory.. - - - - - Looks up a localized string similar to Attrib directory '{0}'. {1}. - - - - - Looks up a localized string similar to Attrib file '{0}'. {1}. - - - - - Looks up a localized string similar to Couldn't connect to remove server.. - - - - - Looks up a localized string similar to Couldn't resolve server host name {0}.. - - - - - Looks up a localized string similar to Creating directory "{0}".. - - - - - Looks up a localized string similar to Both "{0}" and "{1}" were specified as input parameters in the project file. Please choose one or the other.. - - - - - Looks up a localized string similar to File Not Found: {0}. - - - - - Looks up a localized string similar to Local File Not Found: {0}. - - - - - Looks up a localized string similar to {0}% Complete ({1}). - - - - - Looks up a localized string similar to Transfered {0} ({1}) in {2}. - - - - - Looks up a localized string similar to Upload File Complete, {0}. - - - - - Looks up a localized string similar to Uploading "{0}" - to "{1}" - . - - - - - Looks up a localized string similar to The URI "{0}" scheme is not valid.. - - - - - Looks up a localized string similar to Compressed by {0}, from {1} to {2} byte(s). - - - - - Looks up a localized string similar to Compressing JavaScript in "{0}".. - - - - - Looks up a localized string similar to Writing compressed JavaScript back to "{0}" using {1}.. - - - - - Looks up a localized string similar to Emailing "{0}".. - - - - - Looks up a localized string similar to "{0}" is not a number.. - - - - - Looks up a localized string similar to Merge Complete: {0} files merged into '{1}'.. - - - - - Looks up a localized string similar to Merge Complete: No source files to merge.. - - - - - Looks up a localized string similar to Merging file '{0}' into '{1}'. - - - - - Looks up a localized string similar to Unable to move file "{0}" to "{1}". {2}. - - - - - Looks up a localized string similar to Moving file from "{0}" to "{1}".. - - - - - Looks up a localized string similar to Could not find the NUnit Project File open command. Please make sure NUnit is installed.. - - - - - Looks up a localized string similar to Checking Oracle Home: {0}. - - - - - Looks up a localized string similar to The parameter "{1}" does not apply to the current use of task "{0}".. - - - - - Looks up a localized string similar to The "{0}" task was not given a value for the required parameter "{1}".. - - - - - Looks up a localized string similar to Read Windows Registry. - - - - - Looks up a localized string similar to Write Windows Registry. - - - - - Looks up a localized string similar to Cannot continue service {0} on computer '{1}' as it does not support the pause and continue.. - - - - - Looks up a localized string similar to Cannot pause service {0} on computer '{1}' as it does not support the pause and continue.. - - - - - Looks up a localized string similar to Cannot stop service {0} on computer '{1}'.. - - - - - Looks up a localized string similar to {0} service was continued successfully.. - - - - - Looks up a localized string similar to {0} service is continuing .... - - - - - Looks up a localized string similar to Couldn't find the '{0}' service on '{1}'. - - - - - Looks up a localized string similar to Cannot continue service {0} on computer '{1}' as its not currently paused.. - - - - - Looks up a localized string similar to Cannot pause service {0} on computer '{1}' as its not currently started.. - - - - - Looks up a localized string similar to {0} service was paused successfully.. - - - - - Looks up a localized string similar to {0} service is pausing .... - - - - - Looks up a localized string similar to {0} service was started successfully.. - - - - - Looks up a localized string similar to {0} service is starting .... - - - - - Looks up a localized string similar to The '{0}' service on '{1}' is '{2}'.. - - - - - Looks up a localized string similar to {0} service was stopped successfully.. - - - - - Looks up a localized string similar to {0} service is stopping .... - - - - - Looks up a localized string similar to Solution file "{0}" not found.. - - - - - Looks up a localized string similar to LocalPath is not a working subversion copy.. - - - - - Looks up a localized string similar to Could not {0} the file "{1}" to the destination file "{2}", because the destination is a folder instead of a file. To {0} the source file into a folder, consider using the DestinationFolder parameter instead of DestinationFiles.. - - - - - Looks up a localized string similar to No destination specified for {0}. Please supply either "{1}" or "{2}".. - - - - - Looks up a localized string similar to The source file "{0}" is actually a directory. The "{1}" task does not support moving directories.. - - - - - Looks up a localized string similar to Failed to get current date!. - - - - - Looks up a localized string similar to Getting current date.. - - - - - Looks up a localized string similar to Adding TNSNAMES entry "{0}" to "{1}". - - - - - Looks up a localized string similar to Looking for {0}. - - - - - Looks up a localized string similar to Unable to locate a TNSNAMES.ORA file. Please specify a value for TnsNamesFile.. - - - - - Looks up a localized string similar to TNSNAME entry "{0}" already exists in "{1}" and AllowUpdates=false.. - - - - - Looks up a localized string similar to Updating TNSNAMES entry "{0}" in "{1}". - - - - - Looks up a localized string similar to "{2}" refers to {0} item(s), and "{3}" refers to {1} item(s). They must have the same number of items.. - - - - - Looks up a localized string similar to extracted "{0}". - - - - - Looks up a localized string similar to Unzip File "{0}" - to Directory "{1}" - . - - - - - Looks up a localized string similar to Unzipped file "{0}" successfully.. - - - - - Looks up a localized string similar to Commitment of change set failed!. - - - - - Looks up a localized string similar to Files added to Vault repository successfully.. - - - - - Looks up a localized string similar to Files specified for addition to repository cannot be found.. - - - - - Looks up a localized string similar to The file {0} could not be checked in: {1}.. - - - - - Looks up a localized string similar to File or folder {0} not found for checkin.. - - - - - Looks up a localized string similar to The folder {0} could not be checked in: {1}.. - - - - - Looks up a localized string similar to {0} successfully checked out.. - - - - - Looks up a localized string similar to {0} successfully checked out.. - - - - - Looks up a localized string similar to Specified diskfile {0} does not exist.. - - - - - Looks up a localized string similar to File [{0}] added to change set.. - - - - - Looks up a localized string similar to Folder [{0}] added to change set.. - - - - - Looks up a localized string similar to Incorrect parameters passed to VaultSession.. - - - - - Looks up a localized string similar to Login to Vault repository failed.. - - - - - Looks up a localized string similar to Error validating path "{0}".. - - - - - Looks up a localized string similar to Selection of the repository failed: {0}.. - - - - - Looks up a localized string similar to File or folder {0} not found for checkout.. - - - - - Looks up a localized string similar to Set working folder for {0} to {1} from {2}.. - - - - - Looks up a localized string similar to ClientInstance.TreeCache has not been initialized, Common cause is that SelectRepository has not been called sucessfully.. - - - - - Looks up a localized string similar to Successfully undid check out for {0}.. - - - - - Looks up a localized string similar to Url specifying vault location is required.. - - - - - Looks up a localized string similar to Username must be set to access repository.. - - - - - Looks up a localized string similar to Clearing working folder for {0}.. - - - - - Looks up a localized string similar to Restoring working folder for {0} to {1}.. - - - - - Looks up a localized string similar to Version file "{0}" not found - creating new file.. - - - - - Looks up a localized string similar to Updated to version {0}. - - - - - Looks up a localized string similar to Initialized to version {0}. - - - - - Looks up a localized string similar to Reading version from file "{0}".. - - - - - Looks up a localized string similar to Unable to read version number from "{0}". {1}. - - - - - Looks up a localized string similar to Unable to write version number to "{0}". {1}". - - - - - Looks up a localized string similar to Wrote version to file "{0}".. - - - - - Looks up a localized string similar to Web directory {0} does not exist on {1}.. - - - - - Looks up a localized string similar to Setting scriptmap for {0} on web directory {1} on {2}.. - - - - - Looks up a localized string similar to Web directory {0} on {1} does not have a setting called {2}.. - - - - - Looks up a localized string similar to Reading {0} property of web directory {1} on {2}.. - - - - - Looks up a localized string similar to Setting {0} property of web directory {1} on {2}.. - - - - - Looks up a localized string similar to Reading Xml Document "{0}".. - - - - - Looks up a localized string similar to {0} node(s) selected for read.. - - - - - Looks up a localized string similar to XmlRead Result: "{0}". - - - - - Looks up a localized string similar to Updating Xml Document "{0}".. - - - - - Looks up a localized string similar to {0} node(s) selected for update.. - - - - - Looks up a localized string similar to XmlUpdate Wrote: "{0}".. - - - - - Looks up a localized string similar to Adding Parameter "{0}": "{1}".. - - - - - Looks up a localized string similar to Adding root attribute {0}="{1}".. - - - - - Looks up a localized string similar to Creating root tag "{0}".. - - - - - Looks up a localized string similar to No input files.. - - - - - Looks up a localized string similar to No root tag inserted.. - - - - - Looks up a localized string similar to added "{0}".. - - - - - Looks up a localized string similar to Creating zip file "{0}".. - - - - - Looks up a localized string similar to Zip File Not Found: {0}.. - - - - - Looks up a localized string similar to Created zip file "{0}" successfully.. - - - - - Reads a value from the Registry - - Read .NET Framework install root from Registry. - - - - - ]]> - - The parameter is set according to the following rules: - If a is provided, it will be used if the or does not exist. - If a is not provided, the exists, but the does not exist, will be set to an empty string. - If a is not provided, and the does not exist, the task will fail. - - - - Initializes a new instance of the class. - - - - - When overridden in a derived class, executes the task. - - - true if the task successfully executed; otherwise, false. - - - - - Gets or sets the full registry path of the key, beginning with a valid registry root, such as "HKEY_CURRENT_USER". - - The name of the key. - - - - Gets or sets the name of the name/value pair. - - The name of the value. - - - - Gets or sets the default value. - - The default value. - - - - Gets the stored value. - - The value. - - - - Writes a value to the Registry - - Write a value to Registry - - ]]> - - - - - Initializes a new instance of the class. - - - - - When overridden in a derived class, executes the task. - - - true if the task successfully executed; otherwise, false. - - - - - Gets or sets the full registry path of the key, beginning with a valid registry root, such as "HKEY_CURRENT_USER". - - The name of the key. - - - - Gets or sets the name of the name/value pair. - - The name of the value. - - - - Gets or sets the value to be stored. - - The value. - - - - Executes code contained within the task. - - - Simple script that writes to the console - - - - - - - - - - -]]> - - - - - - Executes the task. - - if the task ran successfully; - otherwise . - - - - The required references - - - - - The namespaces to import. - - - - - The language of the script block (defaults to C#). - - The supported languages are: - - Visual Basic.NET (VB, vb, VISUALBASIC) - C# (C#, c#, CSHARP) - JavaScript (JS, js, JSCRIPT) - J# (VJS, vjs, JSHARP) - or, proviude the fully-qualified name for a class implementing - . - - - - The name of the main class containing the static ScriptMain - entry point. - - - - - The code to compile and execute - - - The code must include a static (Shared in VB) method named ScriptMain. - It cannot accept any parameters. If you define the method return a , - the returned value will be available in the output property. - - - - - The string returned from the custom ScriptMain method. - - - - - A task for sleeping for a specified period of time. - - Causes the build to sleep for 300 milliseconds. - - ]]> - - - - - Executes the task. - - if the task ran successfully; - otherwise . - - - - The number of milliseconds to add to the time to sleep. - - - - - The number of seconds to add to the time to sleep. - - - - - The number of minutes to add to the time to sleep. - - - - - The number of hours to add to the time to sleep. - - - - - Executes a SQL command. - - - Execute a SQL command against a database. Target attributes to set: - ConnectionString (required), Command (required, the SQL to execute), - SelectMode (NonQuery, Scalar, or ScalarXml, default is NonQuery), - OutputFile (required when SelectMode is Scalar or ScalarXml). - - Note: ScalarXml was created because of the 2033 byte limit on the sql return. - See http://aspnetresources.com/blog/executescalar_truncates_xml.aspx for details. - - - Example of returning a count of items in a table. Uses the default SelectMode of NonQuery. - - ]]> - - Example of returning the items of a table in an xml format. - - ]]> - - - - - When overridden in a derived class, executes the task. - - - true if the task successfully executed; otherwise, false. - - - - - Determines if an output file was specified. - - - - - The connection string - - - - - The command to execute - - - - - Command Timeout - - Defaults to 30 seconds. Set to 0 for an infinite timeout period. - - - - The SQL Selection Mode. Set to NonQuery, Scalar, or ScalarXml. Default is NonQuery. - - - - - The file name to write to - - - - - Output the return count/value - - - - - Checkout a local working copy of a Subversion repository. - - Checkout a working copy - - - - - - - - ]]> - - - - - Initializes a new instance of the class. - - - - - Indicates whether all task paratmeters are valid. - - - true if all task parameters are valid; otherwise, false. - - - - - Subversion Commit command - - - - - Initializes a new instance of the class. - - - - - Indicates whether all task paratmeters are valid. - - - true if all task parameters are valid; otherwise, false. - - - - - Export a folder from a Subversion repository - - Export from repository - - - - - - - - - ]]> - - - - - Initializes a new instance of the class. - - - - - Indicates whether all task paratmeters are valid. - - - true if all task parameters are valid; otherwise, false. - - - - - Summarize the local revision(s) of a working copy. - - The following example gets the revision of the current folder. - - - - - - - ]]> - - - - - Initializes a new instance of the class. - - - - - Returns the fully qualified path to the executable file. - - - The fully qualified path to the executable file. - - - - - Logs the starting point of the run to all registered loggers. - - A descriptive message to provide loggers, usually the command line and switches. - - - - Returns a string value containing the command line arguments to pass directly to the executable file. - - - A string value containing the command line arguments to pass directly to the executable file. - - - - - Runs the exectuable file with the specified task parameters. - - - true if the task runs successfully; otherwise, false. - - - - - Logs the events from text output. - - The single line. - The message importance. - - - Path to local working copy. - - - - Specifies whether to use the last committed revision number as - opposed to the last updated revision number. - - - - Revision number of the local working repository. - - - High revision number of the local working repository revision range. - - - Low revision number of the local working repository revision range. - - - True if working copy contains modifications. - - - True if working copy is switched. - - - - True if invoked on a directory that is not a working copy, - svnversion assumes it is an exported working copy and prints "exported". - - - - - Gets the with which to log errors. - - - The with which to log errors. - - - - Gets the name of the executable file to run. - - - The name of the executable file to run. - - - - Subversion Update command - - - - - Initializes a new instance of the class. - - - - - Indicates whether all task paratmeters are valid. - - - true if all task parameters are valid; otherwise, false. - - - - - Unzip a file to a target directory. - - Unzip file tasks - - ]]> - - - - - Initializes a new instance of the class. - - - - - When overridden in a derived class, executes the task. - - - true if the task successfully executed; otherwise, false. - - - - - Gets or sets the name of the zip file. - - The name of the zip file. - - - - Gets or sets the target directory. - - The target directory. - - - - Gets or sets a value indicating whether to overwrite any existing files on extraction. Defaults to true. - - true to overwrite any existing files on extraction; otherwise, false. - - - - Gets the files extracted from the zip. - - The files extracted from the zip. - - - - Generates version information based on various algorithms - - Get version information from file and increment revision. - - - - - - - - ]]> - - Specify Major and Minor version information and generate Build and Revision. - - - - - - - - ]]> - - - - - Initializes a new instance of the class. - - - - - When overridden in a derived class, executes the task. - - - true if the task successfully executed; otherwise, false. - - - - - Gets or sets the major version number. - - The major version number. - - - - Gets or sets the minor version number. - - The minor version number. - - - - Gets or sets the build version number. - - - The build version number. - - - - Gets or sets the revision version number. - - - The revision version number. - - - - Gets or sets the file used to initialize and persist the version. - - The version file. - - When specified, the task will attempt to load the previous version information from the file. - After updating the version, the new value will be saved to the file. - - If you do not specify a value for this property, the version will be calculated - based on the values passed to the , , - , and properties. The new version will not be persisted. - - - - Gets or sets the method used to generate a number - - - If value is not provided, None is assumed. - The number is set according to the following table: - - MajorTypeDescription - NoneThe number is not modified. - IncrementIncreases the previous value by 1. - - - - - - Gets or sets the method used to generate a number - - - If value is not provided, None is assumed. - The number is set according to the following table: - - MinorTypeDescription - NoneThe number is not modified. - IncrementIncreases the previous value by 1. - ResetResets the previous value to 0. - - - - - - Gets or sets the method used to generate a number - - - If value is not provided, None is assumed. - The number is set according to the following table: - - BuildTypeDescription - NoneThe number is not modified. - AutomaticThe number of days since . - IncrementIncreases the previous value by 1. - ResetResets the previous value to 0. - - - - - - Gets or sets the method used to generate a number - - - If value is not provided, None is assumed. - The number is set according to the following table: - - RevisionTypeDescription - NoneThe number is not modified. - AutomaticA number that starts at 0 at midnight, and constantly increases throughout the day (changing roughly every 1.3 seconds). Guaranteed to be safe for components of the AssemblyVersion attribute. - IncrementIncreases the previous value by 1. - BuildIncrementIncreases the previous value by 1 when the value of is unchanged. If the value of has changed, is reset to 0. - ResetResets the previous value to 0. - - - - - - Gets or sets the starting date used to calculate the number when is Automatic. - - The starting date for calculation of the build number. - - This value is only used when the is Automatic. - This default value is January 1, 2000. - - - - - Downloads a resource with the specified URI to a local file. - - Download the Microsoft.com home page. - - ]]> - - Download a page from your local intranet protected by Windows Authentication - - ]]> - - Download a page from a password protected website - - ]]> - - - - - When overridden in a derived class, executes the task. - - - true if the task successfully executed; otherwise, false. - - - - - Determines which credentials to pass with the web request - - - - - - Gets or sets the name of the local file that is to receive the data. - - The name of the file. - - - - Gets or sets the URI from which to download data. - - The file URI. - - - - When true, the current user's credentials are used to authenticate against the remote web server - - - This value is ignored if the property is set to a non-empty value. - - - - The username used to authenticate against the remote web server - - - - - The password used to authenticate against the remote web server. A value for must also be provided. - - - - - The domain of the user being used to authenticate against the remote web server. A value for must also be provided. - - - - - Reads a value from a XML document using a XPath. - - Read all targest from a build project. - - - - - ]]> - - - If the XPath returns multiple nodes, the Value will - be a semicolon delimited list of the nodes text. - - - - - Initializes a new instance of the class. - - - - - When overridden in a derived class, executes the task. - - - true if the task successfully executed; otherwise, false. - - - - - Gets or sets the name of the XML file. - - The name of the XML file. - - - - Gets or sets the XPath. - - The XPath. - - - - Gets the value read from file. - - The value. - - If the XPath returns multiple nodes, the values will be semicolon delimited. - - - - - Gets or sets the default namespace. - - The namespace. - - - - Gets or sets the prefix to associate with the namespace being added. - - The namespace prefix. - - - - Updates a XML document using a XPath. - - Update a XML element. - - ]]> - - - The XML node being updated must exist before using the XmlUpdate task. - - - - - Initializes a new instance of the class. - - - - - When overridden in a derived class, executes the task. - - - true if the task successfully executed; otherwise, false. - - - - - Gets or sets the name of the XML file. - - The name of the XML file. - - - - Gets or sets the XPath. - - The XPath. - - - - Gets or sets the value to write. - - The value. - - - - Gets or sets a value indicating whether the matched node is deleted. - - true to delete matched node; otherwise, false. - - - - Gets or sets the default namespace. - - The namespace. - - - - Gets or sets the prefix to associate with the namespace being added. - - The namespace prefix. - - - - Create a zip file with the files specified. - - Create a zip file - - - - - - - ]]> - Create a zip file using a working directory. - - - - - - - ]]> - - - - - Initializes a new instance of the class. - - - - - When overridden in a derived class, executes the task. - - - true if the task successfully executed; otherwise, false. - - - - - Gets or sets the name of the zip file. - - The name of the zip file. - - - - Gets or sets the zip level. Default is 6. - - The zip level. - 0 - store only to 9 - means best compression - - - - Gets or sets the files to zip. - - The files to zip. - - - - Gets or sets a value indicating whether this is flatten. - - true if flatten; otherwise, false. - - Flattening the zip means that all directories will be removed - and the files will be place at the root of the zip file - - - - - Gets or sets the comment. - - The comment. - - - - Gets or sets the working directory for the zip file. - - The working directory. - - The working directory is the base of the zip file. - All files will be made relative from the working directory. - - - - - Gets or sets the password. - - The password. - - - - Gets or sets the encryption algorithm. - - The encryption algorithm. - - Possible values are None, PkzipWeak, WinZipAes128 and WinZipAes256 - - -
    -
    diff --git a/tools/MSBuildCommunityTasks/MSBuild.Community.Tasks.xsd b/tools/MSBuildCommunityTasks/MSBuild.Community.Tasks.xsd deleted file mode 100644 index 14f9e4c08f..0000000000 --- a/tools/MSBuildCommunityTasks/MSBuild.Community.Tasks.xsd +++ /dev/null @@ -1,6337 +0,0 @@ - - - - - - Installs and register script mappings for ASP.NET - - - - - - - [Optional] The method used to determine if ASP.NET script mappings should be applied - - - - - [Optional] When , the aspnet_client scripts will be installed. No script mappings will be updated. - - - - - - [Optional] The web application that should have its script maps updated. - - - - - [Optional] When , script maps are applied recursively under . - - - - - - - [Optional] The version of ASP.NET to install - - - - - - - - - Generates an AssemblyInfo files - - - - - - - [Optional] Gets or sets whether to allow strong-named assemblies to be called by partially trusted code. - - - - - [Optional] Gets or sets the assembly company. - - - - - [Optional] Gets or sets the assembly configuration. - - - - - [Optional] Gets or sets the assembly copyright. - - - - - [Optional] Gets or sets the assembly culture. - - - - - [Optional] Gets or sets the assembly delay sign value. - - - - - [Optional] Gets or sets the assembly description. - - - - - [Optional] Gets or sets the assembly file version. - - - - - [Optional] Gets or sets the assembly informational version. - - - - - [Optional] Gets or sets the assembly key file. - - - - - [Optional] Gets or sets the assembly key name. - - - - - [Optional] Gets or sets the assembly product. - - - - - [Optional] Gets or sets the assembly title. - - - - - [Optional] Gets or sets the assembly trademark. - - - - - [Optional] Gets or sets the assembly version. - - - - - [Optional] Gets or sets a value indicating whether [CLSCompliant]. - - - - - Gets or sets the code language. - - - - - [Optional] Gets or sets a value indicating whether [COMVisible]. - - - - - [Optional] Gets or sets a value indicating whether to generate the ThisAssmebly class. - - - - - [Optional] Gets or sets the GUID. - - - - - [Optional] Makes it possible to make certain assemblies able to use constructs marked as internal. - Example might be setting this value to "UnitTests" assembly. The typical use case might - be constructors in classes which shouldn't be available to other assemblies, but the unit - tests should be able to use them. - - - - - [Optional] Gets or sets the neutral language which is used as a fallback language configuration - if the locale on the computer isn't supported. Example is setting this to "en-US". - - - - - [Optional] [Output] Gets or sets the output file. - - - - - [Optional] Gets or sets the assembly delay sign value. - - - - - [Optional] Gets or sets the ultimate resource fallback location. - - - - - [Optional] Gets or sets the assembly delay sign value. - - - - - - - - - Changes the attributes of files and/or directories - - - - - - - [Optional] Gets or sets file's archive status. - - - - - [Optional] Gets or sets a value indicating file is compressed. - - - - - [Optional] Gets or sets the list of directories to change attributes on. - - - - - [Optional] Gets or sets a value indicating file is encrypted. - - - - - [Optional] Gets or sets the list of files to change attributes on. - - - - - [Optional] Gets or sets a value indicating file is hidden, and thus is not included in an ordinary directory listing. - - - - - [Optional] Gets or sets a value indicating file is normal and has no other attributes set. - - - - - [Optional] Gets or sets a value indicating file is read-only. - - - - - [Optional] Gets or sets a value indicating file is a system file. - - - - - - - - - A task to play the sound of a beep through the console speaker. - - - - - - - [Optional] Gets or sets the of the beep measured in milliseconds. - Defaults to 200 milliseconds. - - - - - [Optional] Gets or sets the frequency of the beep, ranging from 37 to 32767 hertz. - Defaults to 800 hertz. - - - - - - - - - Provides information about the build computer. - - - - - - - [Optional] [Output] Gets the IP address of the build computer. - - - - - [Optional] [Output] Gets the host name of the build computer. - - - - - [Optional] [Output] Gets the platform identifier of the build computer's operating system . - - - - - [Optional] [Output] Gets the version number of the build computer's operating system. - - - - - - - - - Delete a directory tree. This task supports wild card directory selection. - - - - - - - [Optional] [Output] Gets the deleted directories. - - - - - Gets or sets the directories to be deleted. - - - - - [Optional] Gets or sets a value indicating whether this is recursive. - - - - - - - - - Replace text in file(s) using a Regular Expression. - - - - - - - [Optional] The character encoding used to read and write the file. - - - - - [Optional] Gets or sets the files to update. - - - - - [Optional] Gets or sets a value specifies case-insensitive matching. . - - - - - [Optional] Gets or sets a value changing the meaning of ^ and $ so they match at the beginning and end, - respectively, of any line, and not just the beginning and end of the entire string. - - - - - [Optional] Gets or sets the regex. - - - - - [Optional] Gets or sets the maximum number of times the replacement can occur. - - - - - [Optional] Gets or sets the replacement text. - - - - - [Optional] Gets or sets a value changing the meaning of the dot (.) so it matches - every character (instead of every character except \n). - - - - - [Optional] When TRUE, a warning will be generated to show which file was not updated. - - - - - - - - - Creates a full remote directory on the remote server if not exists using the File Transfer Protocol (FTP). - This can be one directory or a full path to create. - - - - - - - [Optional] Gets or sets the size of the data buffer. - - - - - [Optional] Gets the last recieved FTP response over the client socket. - - - - - [Optional] Gets or sets the password to login. - - - - - [Optional] Gets or sets the port number. - - - - - Gets or sets the remote directory to create. - - - - - Gets or sets the server host. - - - - - [Optional] Gets or sets the username to login. - - - - - - - - - Determ if a remote directory exists on a FTP server or not. - - - - - - - [Optional] Gets or sets the size of the data buffer. - - - - - [Optional] [Output] Gets an indication whether the directory exists on the server. - - - - - [Optional] Gets the last recieved FTP response over the client socket. - - - - - [Optional] Gets or sets the password to login. - - - - - [Optional] Gets or sets the port number. - - - - - Gets or sets the remote directory to create. - - - - - Gets or sets the server host. - - - - - [Optional] Gets or sets the username to login. - - - - - - - - - Uploads a full directory content to a remote directory. - - - - - - - [Optional] Gets or sets the size of the data buffer. - - - - - [Optional] Gets the last recieved FTP response over the client socket. - - - - - [Optional] Gets or sets the local directory that contains the content to upload. - - - - - [Optional] Gets or sets the password to login. - - - - - [Optional] Gets or sets the port number. - - - - - [Optional] Gets or sets a value indicating whether the subdirectories of the local directory should be created remotely and the content of these should also be uploaded. - - - - - [Optional] Gets or sets the remote directory destination for the local files. - - - - - Gets or sets the server host. - - - - - [Optional] Gets or sets the username to login. - - - - - - - - - Uploads a group of files using File Transfer Protocol (FTP). - - - - - - - [Optional] Gets or sets the single file to upload. Use - this or LocalFiles, but not both. - - - - - [Optional] Gets or sets the local files to upload. Use this - or LocalFile, but not both. - - - - - [Optional] Gets or sets the password. - - - - - Gets or sets the remote files to upload. - Each item in this list should have a corresponding item in LocalFiles. - - - - - Gets or sets the remote URI to upload. - - - - - [Optional] Gets or sets the behavior of a client application's data transfer process. - - - - - [Optional] Gets or sets the username. - - - - - - - - - Uses FxCop to analyse managed code assemblies and reports on - their design best-practice compliance. - - - - - - - [Optional] Specifies the file name for the analysis report. - - - - - [Optional] Applies the XSL transformation specified in /outXsl to the - analysis report before saving the file. - - - - - [Optional] Specifies the XSL or XSLT file that contains a transformation to - be applied to the analysis output before it is displayed in the console. - - - - - [Optional] Specifies the custom dictionary. - - - - - [Optional] Specifies additional directories to search for assembly dependencies. - FxCopCmd always searches the target assembly directory and the current - working directory. - - - - - [Optional] Directs analysis output to the console or to the - Output window in Visual Studio .NET. By default, - the XSL file FxCopConsoleOutput.xsl is applied to the - output before it is displayed. - - - - - - [Optional] Gets or sets a value indicating whether the build should - fail if static code analysis reports errors. Defaults to - true. - - - - - [Optional] Specifies the name of an analysis report or project file to import. - Any messages in the imported file that are marked as excluded are not - included in the analysis results. - - - - - [Optional] Includes a summary report with the informational - messages returned by FxCopCmd. - - - - - [Optional] Specifies the XSL or XSLT file that is referenced by the - xml-stylesheet processing instruction in the analysis report. - - - - - [Optional] Specifies the location of the version of Mscorlib.dll - that was used when building the target assemblies if this - version is not installed on the computer running FxCopCmd. - - - - - [Optional] Specifies the filename of FxCop project file. - - - - - [Optional] Specifies the filename(s) of FxCop rule assemblies - - - - - [Optional] The list of rules to run - - - - - [Optional] Saves the results of the analysis in the project file. - - - - - [Optional] Tells FxCop to search the GAC for assembly references. This parameter was added in FxCop 1.35 - - - - - [Optional] Specifies the target assembly to analyze. - - - - - - - [Optional] Comma-separated list of type names to analyze. This option disables - analysis of assemblies, namespaces, and resources; only the specified - types and their members are included in the analysis. - Use the wildcard character '*' at the end of the name to select multiple types. - - - - - [Optional] Gets or sets a value indicating whether the output is verbose. - - - - - [Optional] Gets or sets the working directory. - - - - - - - - - MSBuild task to install and uninstall assemblies into the GAC - - - - - - - Gets or sets the assembly name or file. - - - - - [Optional] Gets or sets the command. - - - - - [Optional] [Output] Gets the number of assemblies that failed to installed/uninstalled. - - - - - [Optional] Gets or sets a value indicating whether to force reinstall of an assembly. - - - - - [Optional] Gets or sets a value indicating whether related files are included when installing in GAC. - - - - - [Optional] [Output] Gets the installed assembly names. - - - - - [Optional] [Output] Gets the installed assembly paths. - - - - - [Optional] Gets or sets a value indicating whether warning messages are output. - - - - - [Optional] Gets or sets the related file extensions to copy when is true. - - - - - [Optional] [Output] Gets the number of assemblies that were skipped during installed/uninstalled. - - - - - [Optional] [Output] Gets the number of assemblies successfully installed/uninstalled. - - - - - - - - - - - - - Install the list of assemblies into the GAC. - - - - - Uninstall the list of assembly names from the GAC. - - - - - - - - - Retrieves the list of Projects contained within a Visual Studio Solution (.sln) file - - - - - - - [Optional] [Output] A list of the project files found in - - - - - Name of Solution to get Projects from - - - - - - - - - A task for Git commands. - - - - - - - [Optional] Gets or sets the raw arguments to pass to the git command. - - - - - [Optional] Gets or sets the command to run. - - - - - - [Optional] Gets or sets the local or working path for git command. - - - - - - - - - - - A task for git to get the current commit hash. - - - - - - - [Optional] Gets or sets the raw arguments to pass to the git command. - - - - - [Optional] Gets or sets the command to run. - - - - - [Optional] [Output] Gets or sets the commit hash. - - - - - - [Optional] Gets or sets the local or working path for git command. - - - - - [Optional] Gets or sets the revision to get the version from. Default is HEAD. - - - - - [Optional] Gets or sets a value indicating whether to abbreviate to a shorter unique name. - - - - - - - - - - - Html Help 1x compiler task. - - - - - - - - Gets or sets the project file path. - - - - - - - - - - - A Html Help 2.0 compiler task. - - - - - - - - [Optional] Gets or sets the log file. - - - - - [Optional] Gets or sets a value indicating whether no error messages will be output. - - - - - [Optional] Gets or sets a value indicating whether no info messages will be output. - - - - - [Optional] Gets or sets a value indicating whether no warning messages will be output. - - - - - [Optional] Gets or sets the output file. - - - - - Gets or sets the project file path. - - - - - [Optional] Gets or sets the project root. - - - - - [Optional] Gets or sets a value indicating quite mode. - - - - - - - [Optional] Gets or sets the uncompile directory. - - - - - [Optional] Gets or sets the uncompile file. - - - - - - - - - Allows control for an application pool on a local or remote machine with IIS installed. The default is - to control the application pool on the local machine. If connecting to a remote machine, you can - specify the and for the task - to run under. - - - - - - - Gets or sets the application pool action. - - - - - Gets or sets the name of the app pool. - - - - - [Optional] Gets or sets host header. Used when you have more than one website in IIS that have the same port but different host headers. - - - - - [Optional] Gets or sets the password for the account the task will run under. This property - is needed if you specified a for a remote machine. - - - - - [Optional] Gets or sets the name of the server. The default value is 'localhost'. - - - - - [Optional] Gets or sets the server port. - - - - - [Optional] Gets or sets the username for the account the task will run under. This property - is needed if you specified a for a remote machine. - - - - - - - - - - - - - Start the applicaiton pool - - - - - Stop the applicaiton pool - - - - - Restart the applicaiton pool - - - - - Recycle the applicaiton pool - - - - - - - - - Creates a new application pool on a local or remote machine with IIS installed. The default is - to create the new application pool on the local machine. If connecting to a remote machine, you can - specify the and for the task - to run under. - - - - - - - Gets or sets the name of the application pool. - - - - - [Optional] The AppPoolAutoStart property indicates to the World Wide Web Publishing Service (WWW service) - to automatically start an application pool when the application pool is created or when IIS - is started, if the value of this property is set to true. - - - - - [Optional] The AppPoolIdentityType property allows application pools to run as a specific user account: - - 0 - The application pool runs as NT AUTHORITY\SYSTEM. - 1 - The application pool runs as NT AUTHORITY\LOCAL SERVICE. - 2 - The application pool runs as NT AUTHORITY\NETWORK SERVICE. - 3 - The application pool runs as a specific user account, defined by the property. - - - - - [Optional] The AppPoolQueueLength property indicates to the Universal Listener how many requests - to queue up for an application pool before rejecting future requests. When the limit - for this property is exceeded, IIS rejects the additional requests with a 503 error. - - - - - [Optional] The AutoShutdownAppPoolExe property specifies an executable to run when the World Wide Web - Publishing Service (WWW service) shuts down an application pool for rapid fail protection. You - can use the property to send parameters to the executable. - - - - - [Optional] The AutoShutdownAppPoolParams property specifies any command-line parameters for the executable that - is specified in the AutoShutdownAppPoolExe property. You can use these two properties in the following - way to send e-mail, for example, when the World Wide Web Publishing Service (WWW service) shuts down - an application pool for rapid fail protection: - - AutoShutdownAppPoolExe = "C:\LogAndSendMail.bat" - AutoShutdownAppPoolParams = "-AppPoolName %1%" - - where %1% represents the application pool name. - - - - - [Optional] The CPUAction property configures the action(s) that IIS takes when Microsoft Windows NT ® job objects - run. Only one Windows NT job object exists per application pool, therefore the CPUAction property - is configured on a per application pool basis. - - Possible values: - 0 - No action is taken except that a warning is written to the event log when the CPU limit is exceeded. - 1 - Application pool worker processes that exceed their CPU limit will be forced to shut down. - - - - - [Optional] The CPULimit property configures the maximum percentage of CPU resources that worker processes - in an application pool are allowed to consume over a period of time, as indicated by the - property. Set this property by specifying a percentage of CPU - usage, multiplied by 1000. For example, if you want the CPU usage limit to be 50%, set CPULimit to 50,000. - - - - - [Optional] The CPUResetInterval property specifies the reset period (in minutes) for CPU monitoring and - throttling limits on the application pool. When the number of minutes elapsed since the last - process accounting reset equals the number specified by this property, IIS will reset the CPU - timers for both the logging and limit intervals. Setting the value of this property to 0 - disables CPU monitoring. - - - - - [Optional] The DisallowOverlappingRotation property specifies whether or not the World Wide Web Publishing - Service (WWW Service) should start up another worker process to replace the existing worker - process while it is shutting down. - - - - - [Optional] The DisallowRotationOnConfigChange property specifies whether or not the World Wide Web Publishing - Service (WWW Service) should rotate worker processes in an application pool when the configuration - has changed. This means that the worker processes will not pick up application pool changes to - values passed to the worker process, such as and . - - - - - [Optional] Gets or sets host header. Used when you have more than one website in IIS that have the same port but different host headers. - - - - - [Optional] The IdleTimeout property specifies how long (in minutes) a worker process should run idle if no new - requests are received and the worker process is not processing requests. After the allotted time - passes, the worker process should request to be shut down by the World Wide Web Publishing Service (WWW Service). - - - - - [Optional] The LoadBalancerCapabilities property specifies behavior when a service is unavailable. A setting of 1 - terminates the connection. A setting of 2 sends error code 503. - - - - - [Optional] The LogEventOnRecycle property specifies that IIS should log an event when an application pool is - recycled. Application pools recycle for a variety of reasons. In order for IIS to log the event, the - LogEventOnRecycle property must have a bit set corresponding to the reason for the recycle. - - - - - [Optional] The LogonMethod property contains an integer that specifies the logon method for cleartext - logons. Valid settings are: - - 0 for interactive logon. - 1 for batch logon. - 2 for network logon. - 3 for cleartext logon. - - - - - [Optional] The MaxProcesses property determines the maximum number of worker processes an application pool - allows to service requests for an application pool. This property cannot be set to 0 because there - are no unmanaged pools. - - - - - [Optional] The OrphanActionExe property specifies an executable to run when the World Wide Web Publishing - Service (WWW service) orphans a worker process. You can use the property - to send parameters to the executable. - - - - - [Optional] The OrphanActionParams property specifies command-line parameters for the executable - specified by the property. - - - - - [Optional] The OrphanWorkerProcess property, when set to true, notifies the World Wide Web Publishing - Service (WWW Service) not to terminate a worker process that fails to respond to pings, but - to instead orphan the worker process in the application pool if the worker process suffers - fatal errors. - - - - - [Optional] Gets or sets the password for the account the task will run under. This property - is needed if you specified a for a remote machine. - - - - - [Optional] The PeriodicRestartMemory property specifies the amount of virtual memory (in KB) that a - worker process can use before the worker process recycles. The maximum value supported - for this property is 4,294,967 KB. - - - - - [Optional] The PeriodicRestartPrivateMemory property specifies the amount of private memory (in KB) that a - worker process can use before the worker process recycles. The maximum value supported - for this property is 4,294,967 KB. - - - - - [Optional] The PeriodicRestartRequests property indicates the number of requests the OOP application - should process, after which it is recycled. - - - - - [Optional] The PeriodicRestartSchedule property specifies the time (in 24 hour format) that the application - will be rotated. Each time is in local time and is specified in the following format: - - PeriodicRestartSchedule="hh:mm,hh:mm,hh:mm" - - - - - [Optional] The PeriodicRestartTime property specifies the period of time, in minutes, after which IIS - rotates an isolated OOP application. Setting the value of this property to 0 disables the - property. The maximum supported value for this property is 71,582. - - - - - [Optional] The PingingEnabled property specifies whether the World Wide Web Publishing Service - (WWW Service) should periodically monitor the health of a worker process. Setting the - value of this property to true indicates to the WWW service to monitor the worker - processes to ensure that the they are running and healthy. - - - - - [Optional] The PingInterval property specifies the period of time (in seconds) between health-monitoring - pings that the World Wide Web Publishing Service (WWW Service) sends to a worker process. - - - - - [Optional] The PingResponseTime property specifies the amount of time (in seconds) that a worker process - is given to respond to a health monitoring ping. After the time limit is exceeded, the World - Wide Web Publishing Service (WWW Service) terminates the worker process. - - - - - [Optional] Setting the RapidFailProtection property to true instructs the World Wide Web Publishing - Service (WWW service) to put all applications in an application pool out of service if the - number of worker process crashes has reached the maximum specified by the - property, within the number of minutes specified - by the property. - - - - - [Optional] The RapidFailProtectionInterval property specifies the number of minutes before the failure - count for a process is reset. See . - - - - - [Optional] The RapidFailProtectionMaxCrashes property specifies the maximum number of failures - allowed within the number of minutes specified by the - property. See . - - - - - [Optional] Gets or sets the name of the server. The default value is 'localhost'. - - - - - [Optional] Gets or sets the server port. - - - - - [Optional] The ShutdownTimeLimit property specifies the amount of time (in seconds) after a recycle - threshold has been reached that IIS waits for all old requests to finish running in a worker - process before terminating the worker process. - - - - - [Optional] Setting the SMPAffinitized property to true indicates that a particular worker process - assigned to an application pool should be assigned to a given CPU. This property is used - in conjunction with the property to configure a - particular processor a worker process will be assigned to. - - - - - [Optional] The SMPProcessorAffinityMask property configures the hexadecimal processor mask. The hexadecimal - processor mask indicates to which CPU the worker processes in an application pool should be - bound. Before this property takes affect, the property must be set - to true for the application pool. These properties cannot be set through IIS Manager. - - Do not set this property to zero. Doing so causes no SMP affinity to be configured, creating an - error condition. The default DWORD value is 4294967295 (or -1), which is represented in hexadecimal - as 0xFFFFFFFF. A value of 0xFFFFFFFF in SMPProcessorAffinityMask indicates that all processors are enabled. - - - - - [Optional] The value of the StartupTimeLimit property specifies the amount of time (in seconds) that the World Wide - Web Publishing Service (WWW Service) should wait for a worker process to finish starting up and - reporting to the WWW Service. - - - - - [Optional] Gets or sets the username for the account the task will run under. This property - is needed if you specified a for a remote machine. - - - - - [Optional] The WAMUserName property specifies the account user name that IIS uses by default as the COM+ - application identity for newly created IIS out-of-process applications. The values of this - property and its companion property, , are set when IIS is installed, and - match the user name and password values in the Microsoft Windows user account, which is established - at the same time. Changing the value of this property is not recommended. If you do, change - it to a valid Windows user account, and change WAMUserPass to the corresponding password - for the new account. - - Important: - Changes to WAMUserName and WAMUserPass may disrupt the operation of existing IIS out-of-process - applications. You can synchronize application identities using Component Services to edit the - user name and password values, found on the Identity tab of the property sheet for each package. - - In-process applications are not affected by these property values. - - - - - [Optional] The WAMUserPass property specifies the password for the account that IIS uses by default as the COM+ - application identity for newly created IIS out-of-process applications. The values of this property - and its companion property, , are set when IIS is installed, and match the - password and user name values in the Microsoft Windows user account (IWAM_ MachineName, where MachineName - is the name of the machine on which IIS is installed) established at the same time. - - Important: - Changing the value of this property is not recommended. If you do, you must change the Windows account - password to the identical value. You must also synchronize existing IIS out-of-process application - identities, using Component Services to edit the user name and password values, which are found on the - Identity tab of the property sheet for each package. - - In-process applications are not affected by these property values. - - - - - - - - - Deletes an existing application pool on a local or remote machine with IIS installed. The default is - to delete an existing application pool on the local machine. If connecting to a remote machine, you can - specify the and for the task - to run under. - - - - - - - Gets or sets the name of the application pool. - - - - - [Optional] Gets or sets host header. Used when you have more than one website in IIS that have the same port but different host headers. - - - - - [Optional] Gets or sets the password for the account the task will run under. This property - is needed if you specified a for a remote machine. - - - - - [Optional] Gets or sets the name of the server. The default value is 'localhost'. - - - - - [Optional] Gets or sets the server port. - - - - - [Optional] Gets or sets the username for the account the task will run under. This property - is needed if you specified a for a remote machine. - - - - - - - - - Creates a new web directory on a local or remote machine with IIS installed. The default is - to create the new web directory on the local machine. The physical path is required to already exist - on the target machine. If connecting to a remote machine, you can specify the - and for the task to run under. - - - - - - - [Optional] Gets or sets a value that indicates if the file - or the contents of the folder may be executed, regardless of file type. - - - - - [Optional] A value of true indicates that remote requests to execute applications - are denied; only requests from the same computer as the IIS server succeed - if the AccessExecute property is set to true. You cannot set - AccessNoRemoteExecute to false to enable remote requests, and set - to false to disable local requests. - - - - - [Optional] A value of true indicates that remote requests to view files are denied; only - requests from the same computer as the IIS server succeed if the - property is set to true. You cannot set to false to enable - remote requests, and set to false to disable local requests. - - - - - [Optional] A value of true indicates that remote requests to view dynamic content are denied; only - requests from the same computer as the IIS server succeed if the property - is set to true. You cannot set AccessNoRemoteScript to false to enable remote requests, - and set to false to disable local requests. - - - - - [Optional] A value of true indicates that remote requests to create or change files are denied; only - requests from the same computer as the IIS server succeed if the property - is set to true. You cannot set AccessNoRemoteWrite to false to enable remote requests, - and set to false to disable local requests. - - - - - [Optional] A value of true indicates that the file or the contents of the folder may be read - through Microsoft Internet Explorer. - - - - - [Optional] A value of true indicates that the file or the contents of the folder may be executed - if they are script files or static content. A value of false only allows static files, - such as HTML files, to be served. - - - - - [Optional] A value of true indicates that users are allowed to access source code if either - Read or Write permissions are set. Source code includes scripts in Microsoft ® Active - Server Pages (ASP) applications. - - - - - [Optional] A value of true indicates that file access requires SSL file permission processing, with - or without a client certificate. - - - - - [Optional] A value of true indicates that file access requires SSL file permission processing - with a minimum key size of 128 bits, with or without a client certificate. - - - - - [Optional] A value of true indicates that SSL file permission processing maps a client certificate - to a Microsoft Windows ® operating system user-account. The property - must also be set to true for the mapping to occur. - - - - - [Optional] A value of true indicates that SSL file access processing requests a certificate from - the client. A value of false indicates that access continues if the client does not have - a certificate. Some versions of Internet Explorer will close the connection if the server - requests a certificate and a certificate is not available (even if - is also set to true). - - - - - [Optional] A value of true indicates that SSL file access processing requests a certificate from the - client. If the client provides no certificate, the connection is closed. - must also be set to true when using AccessSSLRequireCert. - - - - - [Optional] A value of true indicates that users are allowed to upload files and their associated - properties to the enabled directory on your server or to change content in a Write-enabled - file. Write can be implemented only with a browser that supports the PUT feature of - the HTTP 1.1 protocol standard. - - - - - [Optional] The AnonymousPasswordSync property indicates whether IIS should handle the user password - for anonymous users attempting to access resources. - - - - - [Optional] The AppAllowClientDebug property specifies whether ASP client-side debugging - is enabled. This property is independent of , which - applies to server-side debugging. - - - - - [Optional] The AppAllowDebugging property specifies whether ASP debugging is enabled on - the server. This property is independent of the property, - which applies to client-side debugging. - - - - - [Optional] The AspAllowSessionState property enables session state persistence for the ASP application. - - - - - [Optional] The AspBufferingOn property specifies whether output from an ASP application will be buffered. - - - - - [Optional] The AspEnableApplicationRestart determines whether an ASP application can be - automatically restarted. When changes are made to Global.asa or metabase properties - that affect an application, the application will not restart unless the - AspEnableApplicationRestart property is set to true. - - - - - [Optional] The AspEnableAspHtmlFallback property controls the behavior of ASP when a - new request is to be rejected due to a full request queue. - - - - - [Optional] The AspEnableChunkedEncoding property specifies whether HTTP 1.1 chunked - transfer encoding is enabled for the World Wide Web Publishing Service (WWW service). - - - - - [Optional] The AspEnableParentPaths property specifies whether an ASP page allows paths - relative to the current directory (using the ..\ notation) or above the current directory. - - - - - [Optional] The AspEnableTypelibCache property specifies whether type libraries are cached - on the server. The World Wide Web Publishing Service (WWW service) setting for - this property is applicable to all in-process and pooled out-of-process application - nodes, at all levels. Metabase settings at the Web server level or lower are ignored - for in-process and pooled out-of-process applications. However, settings at the Web - server level or lower are used if that node is an isolated out-of-process application. - - - - - [Optional] The AspErrorsToNTLog property specifies which ASP errors are written to the - Windows event log. ASP errors are written to the client browser and to the IIS - log files by default. - - - - - [Optional] The AspExceptionCatchEnable property specifies whether ASP pages trap exceptions - thrown by components. - - - - - [Optional] The AspLogErrorRequests property controls whether the Web server writes ASP errors - to the application section of the Windows event log. ASP errors are written to the - client browser and to the IIS log files by default. - - - - - [Optional] The AspScriptErrorMessage property specifies the error message to send to the browser - if specific debugging errors are not sent to the client (if - is set to false). - - - - - [Optional] The AspScriptErrorSentToBrowser property specifies whether the Web server writes - debugging specifics (file name, error, line number, description) to the client - browser, in addition to logging them to the Windows Event Log. The - property provides the error message to be sent if this property is set to false. - - - - - [Optional] The AspTrackThreadingModel property specifies whether IIS checks the threading model - of any components (COM objects) that your application creates. The preferred setting - of this metabase property is false. - - - - - [Optional] Specifies Anonymous authentication as one of the possible Windows authentication - schemes returned to clients as being available. - - - - - [Optional] Specifies Basic authentication as one of the possible Windows authentication - schemes returned to clients as being available. - - - - - [Optional] Specifies Integrated Windows authentication (also known as Challenge/Response or - NTLM authentication) as one of the possible Windows authentication schemes - returned to clients as being available. - - - - - [Optional] Setting this flag to true specifies that authentication persists only for a single - request on a connection. IIS resets the authentication at the end of each request, and - forces re-authentication on the next request of the session. - - - - - [Optional] Setting this flag to true specifies that authentication is valid for a single request if - by proxy. IIS will reset the authentication at the end of the request and force - re-authentication on the next request if the current authenticated request is by - proxy of any type. - - - - - [Optional] Setting this flag to true specifies authentication will persist only across single - requests on a connection if the connection is by proxy. IIS will reset the authentication - at the end of the request if the current authenticated request is by proxy and it is - not the special case where IIS is running MSPROXY. - - - - - [Optional] The CacheControlNoCache property specifies the HTTP 1.1 directive to prevent caching of content. - - - - - [Optional] The CacheISAPI property indicates whether ISAPI extensions are cached in memory after first use. - - - - - [Optional] The ContentIndexed property specifies whether the installed content indexer should - index content under this directory tree. - - - - - [Optional] This property specifies whether process accounting and throttling should be performed - for ISAPI extensions and ASP applications. To perform process accounting on CGI - applications, use the property . - - - - - [Optional] This property indicates whether IIS should perform process accounting for CGI - applications. To effectively throttle CGI applications, use the CgiTimeout - property. To use process accounting for ISAPI and ASP applications, use . - - - - - [Optional] The CreateCGIWithNewConsole property indicates whether a CGI application runs in its own console. - - - - - [Optional] The CreateProcessAsUser property specifies whether a CGI process is created in the system context or in the context of the requesting user. - - - - - [Optional] The DefaultDoc contains one or more file names of default documents that will be returned - to the client if no file name is included in the client's request. The default document - will be returned if the flag of the DirBrowseFlags property - is set to true for the directory. This property can contain a list of default document - file names separated by a comma and a space, for example Default.htm, Default.asp. - - - - - [Optional] When set to true, date information is displayed when browsing directories. - - - - - [Optional] When set to true, file name extensions are displayed when browsing directories. - - - - - [Optional] When set to true, date information is displayed in extended format when displaying directories. - - - - - [Optional] When set to true, file size information is displayed when browsing directories. - - - - - [Optional] When set to true, file time information is displayed when displaying directories. - - - - - [Optional] The DontLog property specifies whether client requests are written to the IIS log files. - - - - - [Optional] When set to true, the default document (specified by the property) for - a directory is loaded when the directory is browsed. - - - - - [Optional] When set to true, directory browsing is enabled. - - - - - [Optional] The EnableDocFooter property enables or disables custom footers specified by - the DefaultDocFooter property. - - - - - [Optional] The EnableReverseDns property enables or disables reverse Domain Name Server (DNS) lookups - for the World Wide Web Publishing Service (WWW service). Reverse lookups involve looking - up the domain name when the IP address is known. Reverse DNS lookups can use significant - resources and time. - - - - - [Optional] Gets or sets host header. Used when you have more than one website in IIS that have the same port but different host headers. - - - - - [Optional] Gets or sets the password for the account the task will run under. This property - is needed if you specified a for a remote machine. - - - - - [Optional] Gets or sets the name of the server. The default value is 'localhost'. - - - - - [Optional] Gets or sets the server port. - - - - - [Optional] The SSIExecDisable property specifies whether server-side include (SSI) #exec directives - are disabled under this path. - - - - - [Optional] The UNCAuthenticationPassthrough property enables user authentication passthrough - for Universal Naming Convention (UNC) virtual root access (for authentication schemes - that support delegation). - - - - - [Optional] Gets or sets the username for the account the task will run under. This property - is needed if you specified a for a remote machine. - - - - - Gets or sets the name of the virtual directory. - - - - - Gets or sets the virtual directory physical path. The physical directory must - exist before this task executes. - - - - - - - - - Deletes a web directory on a local or remote machine with IIS installed. The default is - to delete the web directory on the local machine. If connecting to a remote machine, you - can specify the and for the - task to run under. - - - - - - - [Optional] Gets or sets host header. Used when you have more than one website in IIS that have the same port but different host headers. - - - - - [Optional] Gets or sets the password for the account the task will run under. This property - is needed if you specified a for a remote machine. - - - - - [Optional] Gets or sets the name of the server. The default value is 'localhost'. - - - - - [Optional] Gets or sets the server port. - - - - - [Optional] Gets or sets the username for the account the task will run under. This property - is needed if you specified a for a remote machine. - - - - - Gets or sets the name of the virtual directory. - - - - - - - - - Sets an application mapping for a filename extension on an existing web directory. - - - - - - - [Optional] Set to true when you want the application to run in a directory without Execute permissions. - - - - - [Optional] The full path to the executable used to respond to requests for a Uri ending with - - - - - The filename extension that will be mapped to an executable. - - - - - [Optional] Gets or sets host header. Used when you have more than one website in IIS that have the same port but different host headers. - - - - - [Optional] Indicates whether should be mapped to the ASP.NET runtime. - - - - - [Optional] Gets or sets the password for the account the task will run under. This property - is needed if you specified a for a remote machine. - - - - - [Optional] Gets or sets the name of the server. The default value is 'localhost'. - - - - - [Optional] Gets or sets the server port. - - - - - [Optional] Gets or sets the username for the account the task will run under. This property - is needed if you specified a for a remote machine. - - - - - [Optional] A comma-separated list of the HTTP verbs to include in the application mapping. - - - - - [Optional] Set to true to instruct the Web server to verify the existence of the requested script file and to ensure that the requesting user has access permission for that script file. - - - - - Gets or sets the name of the virtual directory. - - - - - - - - - Reads and modifies a web directory configuration setting. - - - - - - - [Optional] Gets or sets host header. Used when you have more than one website in IIS that have the same port but different host headers. - - - - - [Optional] Gets or sets the password for the account the task will run under. This property - is needed if you specified a for a remote machine. - - - - - [Optional] Gets or sets the name of the server. The default value is 'localhost'. - - - - - [Optional] Gets or sets the server port. - - - - - Gets or sets the configuration setting to read or modify. - - - - - [Optional] [Output] Gets or sets the value of on the web directory - - - - - [Optional] Gets or sets the username for the account the task will run under. This property - is needed if you specified a for a remote machine. - - - - - Gets or sets the name of the virtual directory. - - - - - - - - - A wrapper for the ILMerge tool. - - - - - - - [Optional] Gets or sets the names of public types - to be renamed when they are duplicates. - - - - - [Optional] Gets or sets a value indicating whether to treat an assembly - with a zero PeKind flag - (this is the value of the field listed as .corflags in the Manifest) - as if it was ILonly. - - - - - [Optional] Gets or sets the attribute assembly - from whre to get all of the assembly-level attributes - such as Culture, Version, etc. - It will also be used to get the Win32 Resources from. - - - - - [Optional] Gets or sets a value indicating whether - to augment the list of input assemblies - to its "transitive closure". - - - - - [Optional] Gets or sets a value indicating whether - to copy the assembly level attributes - of each input assembly over into the target assembly. - - - - - [Optional] Gets or sets a value indicating whether - to preserve any .pdb files - that are found for the input assemblies - into a .pdb file for the target assembly. - - - - - [Optional] Gets or sets a value indicating whether - the target assembly will be delay signed. - - - - - [Optional] Gets or sets the file - that will be used to identify types - that are not to have their visibility modified. - - - - - - Gets or sets the input assemblies to merge. - - - - - [Optional] Gets or sets a value indicating whether whether types in assemblies other than the primary assembly have their visibility modified. - - - - - [Optional] Gets or sets the .snk file - to sign the target assembly. - - - - - [Optional] Gets or sets a log file - to write log messages to. - - - - - Gets or sets the target assembly. - - - - - [Optional] Gets or sets a value indicating whether - external assembly references in the manifest - of the target assembly will use public keys (false) - or public key tokens (true). - - - - - [Optional] Gets or sets the directories to be used to search for input assemblies. - - - - - [Optional] Gets or sets the indicator - whether the target assembly is created as a library (Dll), - a console application (Exe) or as a Windows application (WinExe). - - - - - [Optional] Gets or sets the directory in which mscorlib.dll is to be found. - - - - - [Optional] Gets or sets the .NET framework version for the target assembly. - - - - - - - [Optional] Gets or sets the version number of the target assembly. - - - - - [Optional] Gets or sets a value indicating whether - to merge XML documentation files - into one for the target assembly. - - - - - - - - - MSBuild task to create installer with InnoSetup - - - - - - - - [Optional] Specify output filename - - - - - [Optional] Specify output path - - - - - [Optional] Quiet compile - - - - - Filename of Inno Setup script (.iss) - - - - - - - - - - - Installs assemblies. - - - - - - - [Optional] The assemblies to process, identified by their filename. - - - - - [Optional] The assemblies to process, identified by their assembly name. - - - - - - [Optional] The file to write installation progress to. - - - - - [Optional] If an exception occurs at any point during installation, the call - stack will be printed to the log. - - - - - - - - - - - Uninstalls assemblies. - - - - - - - [Optional] The assemblies to process, identified by their filename. - - - - - [Optional] The assemblies to process, identified by their assembly name. - - - - - - [Optional] The file to write installation progress to. - - - - - [Optional] If an exception occurs at any point during installation, the call - stack will be printed to the log. - - - - - - - - - - - Compresses JavaScript source by removing comments and unnecessary - whitespace. It typically reduces the size of the script by half, - resulting in faster downloads and code that is harder to read. - - - - - - - [Optional] [Output] Gets the files that were successfully source-compressed. - - - - - [Optional] Encoding to use to read and write files. - - - - - Gets or sets the files to source-compress. - - - - - - - - - Sends an email message - - - - - - - [Optional] List of files to attach to message - - - - - [Optional] List of addresss that contains the blind carbon copy (BCC) recipients for this e-mail message - - - - - [Optional] The email message body - - - - - [Optional] List of addresss that contains the carbon copy (CC) recipients for this e-mail message - - - - - [Optional] Specify whether the Mail task uses SSL to encrypt the connection. - - - - - The from address for this e-mail message - - - - - [Optional] A value indicating whether the mail message body is in Html - - - - - [Optional] Gets or sets the password. - - - - - [Optional] The priority of this e-mail message - - - - - The name or IP address of the host used for SMTP transactions - - - - - The subject line for this e-mail message - - - - - List of addresss that contains the recipients of this e-mail message - - - - - [Optional] Gets or sets the username. - - - - - - - - - Add numbers - - - - - - - Gets or sets the numbers to work with. - - - - - [Optional] Gets or sets the numeric format. - - - - - [Optional] [Output] Gets or sets the result. - - - - - - - - - Divide numbers - - - - - - - Gets or sets the numbers to work with. - - - - - [Optional] Gets or sets the numeric format. - - - - - [Optional] [Output] Gets or sets the result. - - - - - [Optional] When , uses integer division to truncate the result. Default is - - - - - - - - - Performs the modulo operation on numbers. - - - - - - - Gets or sets the numbers to work with. - - - - - [Optional] Gets or sets the numeric format. - - - - - [Optional] [Output] Gets or sets the result. - - - - - - - - - Multiple numbers - - - - - - - Gets or sets the numbers to work with. - - - - - [Optional] Gets or sets the numeric format. - - - - - [Optional] [Output] Gets or sets the result. - - - - - - - - - Subtract numbers - - - - - - - Gets or sets the numbers to work with. - - - - - [Optional] Gets or sets the numeric format. - - - - - [Optional] [Output] Gets or sets the result. - - - - - - - - - Merge files into the destination file. - - - - - - - Gets or sets the destination file where the - are merged to. - - - - - [Optional] Gets or sets the mode to use when merging. - - - - - Gets or sets the source files to merge. - - - - - - - - - - - - - - Merges files as binary data. - - - - - - - Merges files as text. - - - - - - - Merges files as text line by line. - - - - - - - - - - Moves files on the filesystem to a new location. - - - - - - - [Optional] [Output] Gets or sets the list of files to moved the source files to. - - - - - [Optional] Gets or sets the directory to which you want to move the files. - - - - - [Optional] [Output] Gets the items that were successfully moved. - - - - - Gets or sets the source files to move. - - - - - - - - - Runs the NDoc application. - - - - - - - Gets or sets the documenter. - - - - - - Gets or sets the project file path. - - - - - - - [Optional] Gets or sets a value indicating whether the output is verbose. - - - - - [Optional] Gets or sets the working directory. - - - - - - - - - Makes an HTTP request, optionally validating the result and writing it to a file. - - - - - - - [Optional] Optional: if set then the task fails if the response text doesn't contain the text specified. - - - - - [Optional] Default is true. When true, if the web server returns a status code less than 200 or greater than 299 then the task fails. - - - - - The URL to make an HTTP request against. - - - - - [Optional] Optional; the name of the file to write the response to. - - - - - - - - - Creates a NuGet package based on the specified nuspec or project file. - - - - - - - [Optional] The base path of the files defined in the nuspec file. - - - - - - The location of the nuspec or project file to create a package. - - - - - [Optional] Specifies the directory for the created NuGet package. - - - - - [Optional] Determines if a package containing sources and symbols should be created. When specified with a nuspec, - creates a regular NuGet package file and the corresponding symbols package. - - - - - - - [Optional] Shows verbose output for package building. - - - - - [Optional] Overrides the version number from the nuspec file. - - - - - [Optional] Gets or sets the working directory. - - - - - - - - - Pushes a package to the server and optionally publishes it. - - - - - - - [Optional] The API key to use for push to the server. - - - - - [Optional] Specifies if the package should be created and uploaded to the server but not published to the server. False by default. - - - - - - The path to the package to push the package to the server. - - - - - [Optional] Specifies the server URL. - - - - - - - [Optional] Gets or sets the working directory. - - - - - - - - - Run NUnit 2.4 on a group of assemblies. - - - - - - - Gets or sets the assemblies. - - - - - [Optional] Determines whether assemblies are copied to a shadow folder during testing. - - - - - [Optional] The file to receive test error details. - - - - - [Optional] Gets or sets the categories to exclude. - - - - - - [Optional] Gets or sets the fixture. - - - - - [Optional] Determines whether the tests are run in a 32bit process on a 64bit OS. - - - - - [Optional] Determines the framework to run aganist. - - - - - [Optional] Gets or sets the categories to include. - - - - - [Optional] Gets or sets the output XML file. - - - - - [Optional] The project configuration to run. - - - - - [Optional] Allows tests to be run in a new thread, allowing you to take advantage of ApartmentState and ThreadPriority settings in the config file. - - - - - - - [Optional] Gets or sets the working directory. - - - - - [Optional] Gets or sets the XSLT transform file. - - - - - - - - - Defines a database host within the Oracle TNSNAMES.ORA file. - - - - - - - [Optional] When true, the task will update an existing entry with . - If false, the task will fail if already exists. - - - - - The name of the host entry to add. - - - - - [Optional] The definition of the host entry to add. - - - - - [Optional] [Output] The path to the TNSNAMES.ORA that was used by task. - - - - - [Optional] [Output] The contents of the TNSNAMES.ORA file after the task executes. - - - - - [Optional] [Output] The contents of the TNSNAMES.ORA file before any changes are made. - - - - - [Optional] The path to a specific TNSNAMES.ORA file to update. - - - - - - - - - Displays a message on the console and waits for user input. - - - - - - - [Optional] The message to display in the console. - - - - - [Optional] [Output] The text entered at the console. - - - - - - - - - Compiles regular expressions and saves them to disk in an assembly. - - - - - - - [Optional] Gets or sets the assembly company. - - - - - [Optional] Gets or sets the assembly copyright. - - - - - [Optional] Gets or sets the assembly culture. - - - - - [Optional] Gets or sets the assembly description. - - - - - [Optional] Gets or sets the assembly file version. - - - - - [Optional] Gets or sets the assembly informational version. - - - - - [Optional] Gets or sets the assembly key file. - - - - - Gets or sets the name of the assembly to be created by the regex compiler. - - - - - [Optional] Gets or sets the assembly product. - - - - - [Optional] Gets or sets the assembly title. - - - - - [Optional] Gets or sets the assembly version. - - - - - [Optional] Gets or sets a value indicating whether the default value is public for regular expression instances. - - - - - [Optional] Gets or sets the default namespace for regular expression instances. - - - - - [Optional] Gets or sets the default regular expression options. - - - - - Gets or sets the directory where the assembly will be saved. - - - - - [Optional] [Output] Gets or sets the output file. - - - - - [Optional] Gets or sets the regular expressions. - - - - - [Optional] Gets or sets the file defining the regular expressions. - - - - - - - - - Task to filter an Input list with a Regex expression. - Output list contains items from Input list that matched given expression - - - - - - - Regex expression - - - - - Input, list of items to perform the regex on - - - - - [Optional] Regex options as strings corresponding to the RegexOptions enum: - Compiled - CultureInvariant - ECMAScript - ExplicitCapture - IgnoreCase - IgnorePatternWhitespace - Multiline - None - RightToLeft - Singleline - - - - - [Optional] [Output] Results of the Regex transformation. - - - - - - - - - Task to replace portions of strings within the Input list - Output list contains all the elements of the Input list after - performing the Regex Replace. - - - - - - - [Optional] Number of matches to allow on each input item. - -1 indicates to perform matches on all matches within input item - - - - - Regex expression - - - - - Input, list of items to perform the regex on - - - - - [Optional] Regex options as strings corresponding to the RegexOptions enum: - Compiled - CultureInvariant - ECMAScript - ExplicitCapture - IgnoreCase - IgnorePatternWhitespace - Multiline - None - RightToLeft - Singleline - - - - - [Optional] [Output] Results of the Regex transformation. - - - - - [Optional] String replacing matching expression strings in input list. - If left empty matches in the input list are removed (replaced with empty string) - - - - - [Optional] Position within the input item to start matching - - - - - - - - - Reads a value from the Registry - - - - - - - [Optional] Gets or sets the default value. - - - - - Gets or sets the full registry path of the key, beginning with a valid registry root, such as "HKEY_CURRENT_USER". - - - - - [Optional] [Output] Gets the stored value. - - - - - [Optional] Gets or sets the name of the name/value pair. - - - - - - - - - Writes a value to the Registry - - - - - - - Gets or sets the full registry path of the key, beginning with a valid registry root, such as "HKEY_CURRENT_USER". - - - - - Gets or sets the value to be stored. - - - - - [Optional] Gets or sets the name of the name/value pair. - - - - - - - - - Task wrapping the Window Resource Kit Robocopy.exe command. - - - - - - - [Optional] /E Copies all subdirectories (including empty ones). - - - - - [Optional] /LOG+:file Redirects output to the specified file, appending it to the file if it already exists. - - - - - [Optional] /B Copies files in Backup mode (Backup copies are not restartable, but can copy some files that restartable mode cannot). - - - - - [Optional] /COPYALL Copies Everything. Equivalent to /COPY:DATSOU. - - - - - [Optional] /COPY:copyflags Copies the file information specified by copyflags. - - - - - [Optional] /CREATE Creates a directory tree structure containing zero-length files only (that is, no file data is copied). - - - - - Destination directory. - - - - - [Optional] /XF file [file] Excludes files with the specified names, paths, or wildcard characters. - - - - - [Optional] /XD dir [dir] Excludes directories with the specified names, paths, or wildcard characters. - - - - - [Optional] /XJ Excludes Junction points. - - - - - [Optional] /XA:{R|A|S|H|C|N|E|T|O} Excludes files with the specified attributes. - - - - - - [Optional] /FAT Creates destination files using only 8.3 FAT file names. - - - - - [Optional] /FFT Assume FAT File Times (2-second granularity). - - - - - [Optional] /A Copies only files with the archive attribute set. - - - - - [Optional] /M Copies only files with the archive attribute set and then resets (turns off) the archive attribute in the source files. - - - - - [Optional] /IA:{R|A|S|H|C|N|E|T|O} Includes files with the specified attributes. - - - - - [Optional] /LOG:file Redirects output to the specified file, overwriting the file if it already exists. - - - - - [Optional] /MIR Mirrors a directory tree (equivalent to running both /E and /PURGE). - - - - - [Optional] /MOVE Moves files and directories (that is, deletes source files and directories after copying). - - - - - [Optional] /MOV Moves files (that is, deletes source files after copying). - - - - - [Optional] /NOCOPY Copies Nothing. Can be useful with /PURGE. - - - - - [Optional] /NFL Turns off logging of file names. File names are still shown, however, if file copy errors occur. - - - - - [Optional] /NDL Turns off logging of directory names. Full file pathnames (as opposed to simple file names) will be shown if /NDL is used. - - - - - [Optional] /NJH Turns of logging of the job header. - - - - - [Optional] /NJS Turns off logging of the job summary. - - - - - [Optional] /NP Turns off copy progress indicator (% copied). - - - - - [Optional] Manually entered options. - - - - - [Optional] /PURGE Deletes destination files and directories that no longer exist in the source. - - - - - [Optional] /Z Copies files in restartable mode (that is, restarts the copy process from the point of failure). - - - - - [Optional] /SEC Copies NTFS security information. (Source and destination volumes must both be NTFS). Equivalent to /COPY:DATS. - - - - - [Optional] Names of files to act upon. - - - - - Source directory - - - - - [Optional] /S Copies subdirectories (excluding empty ones). - - - - - - - [Optional] /V Produces verbose output (including skipped files). - - - - - - - - - BuildAssembler task for Sandcastle. - - - - - - - Gets or sets the configuration file. - - - - - - Gets or sets the manifest file. - - - - - [Optional] Gets or sets a value indicating whether no info messages will be output. - - - - - [Optional] Gets or sets a value indicating whether no warning messages will be output. - - - - - [Optional] Gets or sets the sandcastle install root directory. - - - - - - - - - - - ChmBuilder task for Sandcastle. - - - - - - - - [Optional] Gets or sets the HTML directory. - - - - - [Optional] Gets or sets the language id. - - - - - [Optional] Gets or sets a value indicating whether this is metadata. - - - - - [Optional] Gets or sets a value indicating whether no info messages will be output. - - - - - [Optional] Gets or sets a value indicating whether no warning messages will be output. - - - - - [Optional] Gets or sets the output file. - - - - - [Optional] Gets or sets the name of the project. - - - - - [Optional] Gets or sets the sandcastle install root directory. - - - - - - [Optional] Gets or sets the toc file. - - - - - - - - - - DBCSFix task for Sandcastle. - - - - - - - [Optional] Gets or sets the CHM directory. - - - - - - [Optional] Gets or sets the language id. - - - - - [Optional] Gets or sets a value indicating whether no info messages will be output. - - - - - [Optional] Gets or sets a value indicating whether no warning messages will be output. - - - - - [Optional] Gets or sets the sandcastle install root directory. - - - - - - - - - - - MRefBuilder task for Sandcastle. - - - - - - - Gets or sets the assemblies. - - - - - [Optional] Gets or sets the config file. - - - - - - [Optional] Gets or sets a value indicating whether to include internal members. - - - - - [Optional] Gets or sets a value indicating whether no info messages will be output. - - - - - [Optional] Gets or sets a value indicating whether no warning messages will be output. - - - - - Gets or sets the output file. - - - - - [Optional] Gets or sets the references. - - - - - [Optional] Gets or sets the sandcastle install root directory. - - - - - - - - - - - The Sandcastle task. - - - - - - - Gets or sets the assemblies. - - - - - [Optional] Gets or sets the name of the CHM. - - - - - [Optional] Gets or sets a value indicating whether working directory is cleaned. - - - - - Gets or sets the comments. - - - - - [Optional] Gets or sets a value indicating a Html Help 2x project will be created. - - - - - [Optional] Gets or sets the language id. - - - - - [Optional] Gets or sets a value indicating whether no info messages will be output. - - - - - [Optional] Gets or sets a value indicating whether no warning messages will be output. - - - - - [Optional] Gets or sets the references. - - - - - [Optional] Gets or sets the build assembler config file. - - - - - [Optional] Gets or sets the sandcastle install root directory. - - - - - [Optional] Gets or sets the html help topic style. - - - - - [Optional] Gets or sets the working directory. - - - - - - - - - XslTransform task for Sandcastle. - - - - - - - [Optional] Gets or sets the arguments. - - - - - - [Optional] Gets or sets a value indicating whether no info messages will be output. - - - - - [Optional] Gets or sets a value indicating whether no warning messages will be output. - - - - - Gets or sets the output file. - - - - - [Optional] Gets or sets the sandcastle install root directory. - - - - - - - [Optional] Gets or sets the XML files. - - - - - [Optional] Gets or sets the XSLT files. - - - - - - - - - A Task that generates a XSD schema of the tasks in an assembly. - - - - - - - Gets or sets the list of path to analyse. - - - - - - [Optional] Gets or sets a value indicating if the task list (using UsingTask) - has to be genereted. - - - - - - [Optional] Gets or sets a value indicating wheter documentation should be ignored - even if available (Default is false). - - - - - [Optional] Gets or sets a value indicating if the - MsBuild schema inclusing should be ignored - - - - - [Optional] Gets or sets a list of included schemas - - - - - - [Optional] Gets or sets the output path for the generated files. - - - - - [Optional] [Output] Gets the list of path to the generated XSD schema. - - - - - [Optional] Gets or sets a value indicating how the assembly is specified in the - UsingTask element. - - - - - [Optional] [Output] Gets the path to the task list if it was generated. - - - - - - - - - - - - - - Assembly file name (Default): <UsingTask AssemblyFile="foo.dll" /> - - - - - - - Assembly location: <UsingTask AssemblyName="foo" /> - - - - - - - Assembly Name: <UsingTask AssemblyFile="bin\debug\foo.dll" /> - - - - - - - Assembly fully qualified name: <UsingTask AssemblyName="foo.dll,version ...." /> - - - - - - - - - - Executes code contained within the task. - - - - - - - [Optional] The code to compile and execute - - - - - [Optional] The namespaces to import. - - - - - The language of the script block (defaults to C#). - - - - - [Optional] The name of the main class containing the static ScriptMain - entry point. - - - - - [Optional] The required references - - - - - [Optional] [Output] The string returned from the custom ScriptMain method. - - - - - - - - - Task that can control a Windows service. - - - - - - - Gets or sets the to perform on the service. - - - - - [Optional] [Output] Gets a value indicating whether the service can be paused and resumed. - - - - - [Optional] [Output] Gets a value indicating whether the service should be notified when the system is shutting down. - - - - - [Optional] [Output] Gets a value indicating whether the service can be stopped after it has started. - - - - - [Optional] [Output] Gets a friendly name for the service. - - - - - [Optional] [Output] Gets a value indicating whether the service exists. - - - - - [Optional] Gets or sets the name of the machine. - - - - - Gets or sets the name of the service. - - - - - [Optional] [Output] Gets or sets the status. - - - - - [Optional] Gets or sets the timeout for the command. The default is - one minute. - - - - - - - - - - - - - - Starts a service. - - - - - - - Stops a service. - - - - - - - Restarts a service. - - - - - - - Pauses a running service. - - - - - - - Continues a paused service. - - - - - - - - - - Task that can determine the status of a specified service - on a target server. - - - - - - - [Optional] [Output] Gets a value indicating whether the service can be paused and resumed. - - - - - [Optional] [Output] Gets a value indicating whether the service should be notified when the system is shutting down. - - - - - [Optional] [Output] Gets a value indicating whether the service can be stopped after it has started. - - - - - [Optional] [Output] Gets a friendly name for the service. - - - - - [Optional] [Output] Gets a value indicating whether the service exists. - - - - - [Optional] Gets or sets the name of the machine. - - - - - Gets or sets the name of the service. - - - - - [Optional] [Output] Gets or sets the status. - - - - - - - - - A task for sleeping for a specified period of time. - - - - - - - [Optional] The number of hours to add to the time to sleep. - - - - - [Optional] The number of milliseconds to add to the time to sleep. - - - - - [Optional] The number of minutes to add to the time to sleep. - - - - - [Optional] The number of seconds to add to the time to sleep. - - - - - - - - - A task to play a sound from a .wav file path or URL. - - - - - - - [Optional] Gets or sets the time, in milliseconds, in which the .wav file must load. - - - - - [Optional] Sets the file path of the .wav file to load - as a relative path to . - - - - - [Optional] Gets or sets the file path or URL of the .wav file to load. - - - - - [Optional] Gets or sets a value indicating whether to play the sound synchronously. - - - - - [Optional] Sets the file path of the .wav file to load - as a relative path to . - - - - - - - - - A task for the pdbstr from source server. - - - - - - - [Optional] Gets or sets the command. - - - - - - [Optional] Gets or sets the PDB file. - - - - - [Optional] Gets or sets the stream file. - - - - - [Optional] Gets or sets the name of the stream. - - - - - - - - - - - - - - - - Read stream from pdb symbol file. - - - - - - - Write stream to pdb symbol file. - - - - - - - - - - A task for the srctool from source server. - - - - - - - [Optional] Gets or sets a value indicating whether to get the count of indexed files. The -c switch. - - - - - - [Optional] Gets or sets a value indicating whether to extracts the files, instead of simply listing them. The -x switch. - - - - - [Optional] Gets or sets the directory to extract to. The -d switch. - - - - - [Optional] [Output] Gets the extracted files. Populated when is true. - - - - - [Optional] Gets or sets the filter to only source files that match this regular expression. The -l switch. - - - - - [Optional] Gets or sets the PDB file. - - - - - [Optional] [Output] Gets or sets the number of source files. - - - - - [Optional] [Output] Gets the source files. Populated when is true. - - - - - [Optional] Gets or sets a value indicating whether to dumps raw source data from the PDB. The -r switch. - - - - - - - - - - - A subversion source index task. - - - - - - - [Optional] Gets or sets the source command format. The SRCSRVCMD environment variable. - - - - - Gets or sets the name of the source server. - - - - - [Optional] Gets or sets the source server SDK path. - - - - - [Optional] Gets or sets the source target format. The SRCSRVTRG environment variable. - - - - - Gets or sets the symbol files to have to source index added. - - - - - - - - - Executes a SQL command. - - - - - - - The command to execute - - - - - [Optional] Command Timeout - - - - - The connection string - - - - - [Optional] The file name to write to - - - - - [Optional] [Output] Output the return count/value - - - - - [Optional] The SQL Selection Mode. Set to NonQuery, Scalar, or ScalarXml. Default is NonQuery. - - - - - - - - - MSBuild task to execute DDL and SQL statements. - - - - - - - [Optional] Gets or sets the batch delimter string. - - - - - The connection string - - - - - Gets or sets the DDL/SQL files. - - - - - [Optional] [Output] Output the return count/values - - - - - [Optional] Timeout to execute a DDL statement. - - - - - - - - - The Database Publishing Wizard enables the deployment of - SQL Server databases (both schema and data) into a shared - hosting environment. - - - - - - - [Optional] Gets or sets the database publishing command. - - - - - [Optional] Gets or sets the full connection string to the local database. - - - - - [Optional] Gets or sets the name of the local database to be scripted. - - - - - [Optional] Gets or sets a value indicating whether the data but - not the schema should be scripted. - - - - - - [Optional] Gets or sets the friendly name of previously - configured hosting Web service. - - - - - [Optional] Gets or sets a value indicating whether the produced - script should not drop pre-existing objects. - - - - - [Optional] Gets or sets a value indicating whether objects will - not be qualified with a schema. - - - - - [Optional] Gets or sets a value indicating whether the publish operation - should not be executed within a single transaction. - - - - - [Optional] Gets or sets the full file path for the script file generated. - - - - - [Optional] Gets or sets the password to use for connection - to the source database. - - - - - [Optional] Gets or sets a value indicating output message suppression. - - - - - [Optional] Gets or sets a value indicating whether the schema, - but not the data, should be scripted. - - - - - [Optional] Gets or sets the name or IP address for the local database connection. - - - - - [Optional] Gets or sets the remote database server name. - - - - - [Optional] Gets or sets the database name to publish to on the remote server. - - - - - [Optional] Gets or sets the password for the remote Web service endpoint. - - - - - [Optional] Gets or sets the username on the hosting Web service endpoint. - - - - - [Optional] Gets or sets the target server the script should target. - - - - - - - [Optional] Gets or sets the SQL Server user name to use for connection - to the source database. - - - - - [Optional] Gets or sets the configuration of the hosting Web service endpoint. - - - - - - - - - Checkout a local working copy of a Subversion repository. - - - - - - - [Optional] Gets or sets the arguments. - - - - - [Optional] Gets or sets the command. - - - - - - [Optional] Gets or sets the force. - - - - - [Optional] Gets or sets the local path. - - - - - [Optional] Gets or sets the message. - - - - - [Optional] Gets or sets the message file. - - - - - [Optional] Gets or sets a value indicating no auth cache. - - - - - [Optional] Gets or sets a value indicating the command is non interactive]. - - - - - [Optional] Gets or sets the password. - - - - - [Optional] [Output] Gets or sets the repository path. - - - - - [Optional] [Output] Gets or sets the revision. - - - - - [Optional] [Output] Gets the error output of SVN command-line client. - - - - - [Optional] [Output] Gets the output of SVN command-line client. - - - - - [Optional] Gets or sets the target file. - - - - - [Optional] Gets or sets the targets. - - - - - - - [Optional] Gets or sets a value indicating whether to trust the server cert. - - - - - [Optional] Gets or sets the username. - - - - - [Optional] Gets or sets the verbose. - - - - - [Optional] Gets or sets a value indicating the output is XML. - - - - - - - - - Subversion client base class - - - - - - - [Optional] Gets or sets the arguments. - - - - - [Optional] Gets or sets the command. - - - - - - [Optional] Gets or sets the force. - - - - - [Optional] Gets or sets the local path. - - - - - [Optional] Gets or sets the message. - - - - - [Optional] Gets or sets the message file. - - - - - [Optional] Gets or sets a value indicating no auth cache. - - - - - [Optional] Gets or sets a value indicating the command is non interactive]. - - - - - [Optional] Gets or sets the password. - - - - - [Optional] [Output] Gets or sets the repository path. - - - - - [Optional] [Output] Gets or sets the revision. - - - - - [Optional] [Output] Gets the error output of SVN command-line client. - - - - - [Optional] [Output] Gets the output of SVN command-line client. - - - - - [Optional] Gets or sets the target file. - - - - - [Optional] Gets or sets the targets. - - - - - - - [Optional] Gets or sets a value indicating whether to trust the server cert. - - - - - [Optional] Gets or sets the username. - - - - - [Optional] Gets or sets the verbose. - - - - - [Optional] Gets or sets a value indicating the output is XML. - - - - - - - - - Subversion Commit command - - - - - - - [Optional] Gets or sets the arguments. - - - - - [Optional] Gets or sets the command. - - - - - - [Optional] Gets or sets the force. - - - - - [Optional] Gets or sets the local path. - - - - - [Optional] Gets or sets the message. - - - - - [Optional] Gets or sets the message file. - - - - - [Optional] Gets or sets a value indicating no auth cache. - - - - - [Optional] Gets or sets a value indicating the command is non interactive]. - - - - - [Optional] Gets or sets the password. - - - - - [Optional] [Output] Gets or sets the repository path. - - - - - [Optional] [Output] Gets or sets the revision. - - - - - [Optional] [Output] Gets the error output of SVN command-line client. - - - - - [Optional] [Output] Gets the output of SVN command-line client. - - - - - [Optional] Gets or sets the target file. - - - - - [Optional] Gets or sets the targets. - - - - - - - [Optional] Gets or sets a value indicating whether to trust the server cert. - - - - - [Optional] Gets or sets the username. - - - - - [Optional] Gets or sets the verbose. - - - - - [Optional] Gets or sets a value indicating the output is XML. - - - - - - - - - Copy a file or folder in Subversion - - - - - - - [Optional] Gets or sets the arguments. - - - - - [Optional] Gets or sets the command. - - - - - [Optional] The path to which the SourcePath should be copied - - - - - - [Optional] Gets or sets the force. - - - - - [Optional] Gets or sets the local path. - - - - - [Optional] Gets or sets the message. - - - - - [Optional] Gets or sets the message file. - - - - - [Optional] Gets or sets a value indicating no auth cache. - - - - - [Optional] Gets or sets a value indicating the command is non interactive]. - - - - - [Optional] Gets or sets the password. - - - - - [Optional] [Output] Gets or sets the repository path. - - - - - [Optional] [Output] Gets or sets the revision. - - - - - [Optional] The path of the source file or folder that should be copied - - - - - [Optional] [Output] Gets the error output of SVN command-line client. - - - - - [Optional] [Output] Gets the output of SVN command-line client. - - - - - [Optional] Gets or sets the target file. - - - - - [Optional] Gets or sets the targets. - - - - - - - [Optional] Gets or sets a value indicating whether to trust the server cert. - - - - - [Optional] Gets or sets the username. - - - - - [Optional] Gets or sets the verbose. - - - - - [Optional] Gets or sets a value indicating the output is XML. - - - - - - - - - Export a folder from a Subversion repository - - - - - - - [Optional] Gets or sets the arguments. - - - - - [Optional] Gets or sets the command. - - - - - - [Optional] Gets or sets the force. - - - - - [Optional] Gets or sets the local path. - - - - - [Optional] Gets or sets the message. - - - - - [Optional] Gets or sets the message file. - - - - - [Optional] Gets or sets a value indicating no auth cache. - - - - - [Optional] Gets or sets a value indicating the command is non interactive]. - - - - - [Optional] Gets or sets the password. - - - - - [Optional] [Output] Gets or sets the repository path. - - - - - [Optional] [Output] Gets or sets the revision. - - - - - [Optional] [Output] Gets the error output of SVN command-line client. - - - - - [Optional] [Output] Gets the output of SVN command-line client. - - - - - [Optional] Gets or sets the target file. - - - - - [Optional] Gets or sets the targets. - - - - - - - [Optional] Gets or sets a value indicating whether to trust the server cert. - - - - - [Optional] Gets or sets the username. - - - - - [Optional] Gets or sets the verbose. - - - - - [Optional] Gets or sets a value indicating the output is XML. - - - - - - - - - Run the "svn info" command and parse the output - - - - - - - [Optional] Gets or sets the arguments. - - - - - [Optional] Gets or sets the command. - - - - - - [Optional] Gets or sets the force. - - - - - [Optional] [Output] The author who last changed this node. - - - - - [Optional] [Output] The date this node was last changed. - - - - - [Optional] [Output] The last changed revision number. - - - - - [Optional] Gets or sets the local path. - - - - - [Optional] Gets or sets the message. - - - - - [Optional] Gets or sets the message file. - - - - - [Optional] Gets or sets a value indicating no auth cache. - - - - - [Optional] [Output] The Subversion node kind. - - - - - [Optional] Gets or sets a value indicating the command is non interactive]. - - - - - [Optional] Gets or sets the password. - - - - - [Optional] [Output] Gets or sets the repository path. - - - - - [Optional] [Output] Return the repository root or null if not set by Subversion. - - - - - [Optional] [Output] Return the repository UUID value from Subversion. - - - - - [Optional] [Output] Gets or sets the revision. - - - - - [Optional] [Output] The Subversion schedule type. - - - - - [Optional] [Output] Gets the error output of SVN command-line client. - - - - - [Optional] [Output] Gets the output of SVN command-line client. - - - - - [Optional] Gets or sets the target file. - - - - - [Optional] Gets or sets the targets. - - - - - - - [Optional] Gets or sets a value indicating whether to trust the server cert. - - - - - [Optional] Gets or sets the username. - - - - - [Optional] Gets or sets the verbose. - - - - - [Optional] Gets or sets a value indicating the output is XML. - - - - - - - - - - - - - - Node is a file - - - - - - - Node is a directory - - - - - - - Unknown node type - - - - - - - - - - - - - - - Normal schedule - - - - - - - Unknown schedule. - - - - - - - - - - Subversion status command. - - - - - - - [Optional] Gets or sets the arguments. - - - - - [Optional] Gets or sets the command. - - - - - [Optional] [Output] Gets or sets the entries. - - - - - - [Optional] Gets or sets the force. - - - - - [Optional] Gets or sets the local path. - - - - - [Optional] Gets or sets the message. - - - - - [Optional] Gets or sets the message file. - - - - - [Optional] Gets or sets a value indicating no auth cache. - - - - - [Optional] Gets or sets a value indicating the command is non interactive]. - - - - - [Optional] Gets or sets the password. - - - - - [Optional] [Output] Gets or sets the repository path. - - - - - [Optional] [Output] Gets or sets the revision. - - - - - [Optional] [Output] Gets the error output of SVN command-line client. - - - - - [Optional] [Output] Gets the output of SVN command-line client. - - - - - [Optional] Gets or sets the target file. - - - - - [Optional] Gets or sets the targets. - - - - - - - [Optional] Gets or sets a value indicating whether to trust the server cert. - - - - - [Optional] Gets or sets the username. - - - - - [Optional] Gets or sets the verbose. - - - - - [Optional] Gets or sets a value indicating the output is XML. - - - - - - - - - Subversion Update command - - - - - - - [Optional] Gets or sets the arguments. - - - - - [Optional] Gets or sets the command. - - - - - - [Optional] Gets or sets the force. - - - - - [Optional] Gets or sets the local path. - - - - - [Optional] Gets or sets the message. - - - - - [Optional] Gets or sets the message file. - - - - - [Optional] Gets or sets a value indicating no auth cache. - - - - - [Optional] Gets or sets a value indicating the command is non interactive]. - - - - - [Optional] Gets or sets the password. - - - - - [Optional] [Output] Gets or sets the repository path. - - - - - [Optional] [Output] Gets or sets the revision. - - - - - [Optional] [Output] Gets the error output of SVN command-line client. - - - - - [Optional] [Output] Gets the output of SVN command-line client. - - - - - [Optional] Gets or sets the target file. - - - - - [Optional] Gets or sets the targets. - - - - - - - [Optional] Gets or sets a value indicating whether to trust the server cert. - - - - - [Optional] Gets or sets the username. - - - - - [Optional] Gets or sets the verbose. - - - - - [Optional] Gets or sets a value indicating the output is XML. - - - - - - - - - Summarize the local revision(s) of a working copy. - - - - - - - - [Optional] [Output] True if invoked on a directory that is not a working copy, - svnversion assumes it is an exported working copy and prints "exported". - - - - - [Optional] [Output] High revision number of the local working repository revision range. - - - - - Path to local working copy. - - - - - [Optional] [Output] Low revision number of the local working repository revision range. - - - - - [Optional] [Output] True if working copy contains modifications. - - - - - [Optional] [Output] Revision number of the local working repository. - - - - - [Optional] [Output] True if working copy is switched. - - - - - - - [Optional] Specifies whether to use the last committed revision number as - opposed to the last updated revision number. - - - - - - - - - Task that wraps the Symbol Server SymStore.exe application. - - - - - - - [Optional] Gets or sets a value indicating SymStore will append new indexing information to an existing index file. - - - - - [Optional] Gets or sets the command. - - - - - [Optional] Gets or sets the comment for the transaction. - - - - - [Optional] Gets or sets a value indicating SymStore will create a compressed version of each file copied to the symbol store instead of using an uncompressed copy of the file. - - - - - - [Optional] Gets or sets the network path of files or directories to add. - - - - - [Optional] Gets or sets the transaction ID string. - - - - - [Optional] Gets or sets a value indicating whether the file will be in a local directory rather than a network path. - - - - - [Optional] Gets or sets a log file to be used for command output. If this is not included, transaction information and other output is sent to stdout. - - - - - [Optional] Gets or sets the message to be added to each file. - - - - - [Optional] Gets or sets a value indicating whether to omit the creation of reference pointer files for the files and pointers being stored. - - - - - [Optional] Gets or sets a value indicating whether SymStore will store a pointer to the file, rather than the file itself. - - - - - [Optional] Gets or sets the name of the product. - - - - - [Optional] Gets or sets the index file. Causes SymStore to read the data from a file created with WriteIndexFile. - - - - - [Optional] Gets or sets a value indicating whether SymStore will add files or directories recursively. - - - - - [Optional] Gets or sets a value indicating whether the paths in the file pointers will be relative. - - - - - [Optional] Gets or sets the server and share where the symbol files were originally stored. - - - - - [Optional] Gets or sets the root directory for the symbol store. - - - - - - - [Optional] Gets or sets a value indicating whether SymStore will display verbose output. - - - - - [Optional] Gets or sets the version of the product. - - - - - [Optional] Gets or sets the index file. Causes SymStore not to store the actual symbol files. Instead, SymStore records information in the IndexFile that will enable SymStore to access the symbol files at a later time. - - - - - - - - - - - - - - Add to the symbol server store. - - - - - - - Query the symbol server store. - - - - - - - Delete from the symbol serer store. - - - - - - - - - - MSBuild task that replaces tokens in a template file and writes out a new file. - - - - - - - [Optional] [Output] The token replaced template file. - - - - - [Optional] The full path to the output file name. If no filename is specified (the default) the - output file will be the Template filename with a .out extension. - - - - - The template file used. Tokens with values of ${Name} are replaced by name. - - - - - [Optional] List of tokens to replace in the template. Token name is taken from the TaskItem.ItemSpec and the - replacement value comes from the ReplacementValue metadata of the item. - - - - - - - - - A task for Team Foundation Server version control. - - - - - - - [Optional] Gets or sets a value indicating whether this is all. - - - - - [Optional] Gets or sets the author. - - - - - [Optional] Gets or sets a value indicating whether this is bypass. - - - - - [Optional] [Output] Gets or sets the changeset. - - - - - [Optional] Gets or sets the collection. - - - - - [Optional] Gets or sets the Team Foundation Server command. - - - - - [Optional] Gets or sets the comment. - - - - - - [Optional] Gets or sets the files. - - - - - [Optional] Gets or sets a value indicating whether this is force. - - - - - [Optional] Gets or sets the format. - - - - - [Optional] Gets or sets the lock. - - - - - [Optional] Gets or sets the notes. - - - - - [Optional] Gets or sets a value indicating whether this is override. - - - - - [Optional] Gets or sets a value indicating whether this is overwrite. - - - - - [Optional] Gets or sets the password. - - - - - [Optional] Gets or sets a value indicating whether this is preview. - - - - - [Optional] Gets or sets a value indicating whether this is recursive. - - - - - [Optional] Gets or sets a value indicating whether this is remap. - - - - - [Optional] Gets or sets a value indicating whether this is saved. - - - - - [Optional] [Output] Gets or sets the server path. - - - - - [Optional] Gets or sets the name of the shelve set. - - - - - [Optional] Gets or sets the shelve set owner. - - - - - [Optional] Gets or sets a value indicating whether this is silent. - - - - - - - [Optional] Gets or sets the type. - - - - - [Optional] Gets or sets the name of the user. - - - - - [Optional] Gets or sets a value indicating whether this is validate. - - - - - [Optional] Gets or sets the version. - - - - - [Optional] Gets or sets the name of the workspace. - - - - - [Optional] Gets or sets the workspace owner. - - - - - - - - - Gets the current date and time. - - - - - - - [Optional] Gets the internal time value. - - - - - [Optional] [Output] Gets the day of the month represented by this instance. - - - - - [Optional] [Output] Gets the day of the week represented by this instance. - - - - - [Optional] [Output] Gets the day of the year represented by this instance. - - - - - [Optional] Gets or sets the format string - for output parameter . - - - - - [Optional] [Output] Gets the value of this instance to its equivalent string representation. - If input parameter is provided, - the value is formatted according to it. - - - - - [Optional] [Output] Gets the hour component of the date represented by this instance. - - - - - [Optional] [Output] Gets or sets a value that indicates whether the time represented by this instance is based - on local time, Coordinated Universal Time (UTC), or neither. - - - - - [Optional] [Output] Gets the value of this instance to its equivalent long date string representation. - - - - - [Optional] [Output] Gets the value of this instance to its equivalent long time string representation. - - - - - [Optional] [Output] Gets the milliseconds component of the date represented by this instance. - - - - - [Optional] [Output] Gets the minute component of the date represented by this instance. - - - - - [Optional] [Output] Gets the month component of the date represented by this instance. - - - - - [Optional] [Output] Gets the seconds component of the date represented by this instance. - - - - - [Optional] [Output] Gets the value of this instance to its equivalent short date string representation. - - - - - [Optional] [Output] Gets the value of this instance to its equivalent short time string representation. - - - - - [Optional] [Output] Gets the number of ticks that represent the date and time of this instance. - - - - - [Optional] [Output] Gets the time of day for this instance. - - - - - [Optional] [Output] Gets the year component of the date represented by this instance. - - - - - - - - - - - - - - - - - - - - Unzip a file to a target directory. - - - - - - - [Optional] [Output] Gets the files extracted from the zip. - - - - - [Optional] Gets or sets a value indicating whether to overwrite any existing files on extraction. Defaults to true. - - - - - Gets or sets the target directory. - - - - - Gets or sets the name of the zip file. - - - - - - - - - Provides information about the build user. - - - - - - - [Optional] [Output] Gets the domain name of the build user. - - - - - [Optional] [Output] Gets the email address of the build user. - - - - - [Optional] [Output] Gets the first name of the build user. - - - - - [Optional] [Output] Gets the full name of the build user in "[First name] [Middle initial]. [Last name]" format . - - - - - [Optional] [Output] Gets the last name of the build user. - - - - - [Optional] [Output] Gets the middle initial of the build user. - - - - - [Optional] [Output] Gets the phone number of the build user. - - - - - [Optional] [Output] Gets the user name of the build user. - - - - - [Optional] [Output] Gets the username and domain name of the build user in "[Domain name]\[User name]" format. - - - - - - - - - Generates version information based on various algorithms - - - - - - - [Optional] [Output] Gets or sets the build version number. - - - - - [Optional] Gets or sets the method used to generate a number - - - - - [Optional] [Output] Gets or sets the major version number. - - - - - [Optional] Gets or sets the method used to generate a number - - - - - [Optional] [Output] Gets or sets the minor version number. - - - - - [Optional] Gets or sets the method used to generate a number - - - - - [Optional] [Output] Gets or sets the revision version number. - - - - - [Optional] Gets or sets the method used to generate a number - - - - - [Optional] Gets or sets the starting date used to calculate the number when is Automatic. - - - - - [Optional] Gets or sets the file used to initialize and persist the version. - - - - - - - - - Downloads a resource with the specified URI to a local file. - - - - - - - [Optional] The domain of the user being used to authenticate against the remote web server. A value for must also be provided. - - - - - Gets or sets the name of the local file that is to receive the data. - - - - - Gets or sets the URI from which to download data. - - - - - [Optional] The password used to authenticate against the remote web server. A value for must also be provided. - - - - - [Optional] When true, the current user's credentials are used to authenticate against the remote web server - - - - - [Optional] The username used to authenticate against the remote web server - - - - - - - - - Performs multiple updates on an XML file - - - - - - - The original file whose content is to be updated - - - - - [Optional] [Output] The full path of the file containing content updated by the task - - - - - [Optional] The XPath expression identifying root node that substitions are relative to - - - - - [Optional] The file created after performing the updates - - - - - [Optional] [Output] The full path of the file containing the results of the task - - - - - [Optional] A collection of prefix=namespace definitions used to query the XML documents - - - - - [Optional] The file containing the list of updates to perform - - - - - [Optional] [Output] The full path of the file containing substitutions used by the task - - - - - [Optional] The XPath expression used to locate the list of substitutions to perform - - - - - [Optional] The namespace used for XmlMassUpdate pre-defined attributes - - - - - - - - - Reads a value or values from lines of XML - - - - - - - [Optional] The lines of a valid XML document - - - - - [Optional] A collection of prefix=namespace definitions used to query the XML document - - - - - [Optional] The string that is prepended to all reserved metadata properties. - - - - - [Optional] [Output] The values selected by - - - - - [Optional] [Output] The number of values returned in - - - - - [Optional] Gets or sets the name of an XML file to query - - - - - The query used to identify the values in the XML document - - - - - - - - - Reads a value from a XML document using a XPath. - - - - - - - [Optional] Gets or sets the default namespace. - - - - - [Optional] Gets or sets the prefix to associate with the namespace being added. - - - - - [Optional] [Output] Gets the value read from file. - - - - - Gets or sets the name of the XML file. - - - - - Gets or sets the XPath. - - - - - - - - - Updates a XML document using a XPath. - - - - - - - [Optional] Gets or sets a value indicating whether the matched node is deleted. - - - - - [Optional] Gets or sets the default namespace. - - - - - [Optional] Gets or sets the prefix to associate with the namespace being added. - - - - - [Optional] Gets or sets the value to write. - - - - - Gets or sets the name of the XML file. - - - - - Gets or sets the XPath. - - - - - - - - - A task to merge and transform a set of xml files. - - - - - - - Gets or sets the xml input files. - - - - - Gets or sets the path of the output file. - - - - - [Optional] Gets or sets the list of - semicolon-delimited name/value pairs - of the . - For example: RootAttributes="foo=bar;date=$(buildDate)" - - - - - [Optional] Gets or sets the xml tag name - of the root tag wrapped - around the merged xml input files. - - - - - Gets or sets the path of the - xsl transformation file to apply. - - - - - - - - - Create a zip file with the files specified. - - - - - - - [Optional] Gets or sets the comment. - - - - - [Optional] Gets or sets the encryption algorithm. - - - - - Gets or sets the files to zip. - - - - - [Optional] Gets or sets a value indicating whether this is flatten. - - - - - [Optional] Gets or sets the password. - - - - - [Optional] Gets or sets the working directory for the zip file. - - - - - Gets or sets the name of the zip file. - - - - - [Optional] Gets or sets the zip level. Default is 6. - - - - - - - \ No newline at end of file diff --git a/tools/MSBuildCommunityTasks/Sample.proj b/tools/MSBuildCommunityTasks/Sample.proj deleted file mode 100644 index 3b52ad68c9..0000000000 --- a/tools/MSBuildCommunityTasks/Sample.proj +++ /dev/null @@ -1,153 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - list = new List(); - list.Add("Happy"); - list.Add("New"); - list.Add("Year"); - Console.WriteLine("Hello MSBuild Community Scripting World."); - foreach(string s in list) - { - Console.WriteLine(s); - } - } - ]]> - - - - -