diff --git a/docs/Show-MyTask.md b/Archive/Show-MyTask.md similarity index 100% rename from docs/Show-MyTask.md rename to Archive/Show-MyTask.md diff --git a/Archive/Show-MyTask.ps1 b/Archive/Show-MyTask.ps1 new file mode 100644 index 0000000..92cd0bd --- /dev/null +++ b/Archive/Show-MyTask.ps1 @@ -0,0 +1,145 @@ + +#this command has been removed +Function Show-MyTask { + + #colorize output using Write-Host + #this may not work in the PowerShell ISE + + [cmdletbinding(DefaultParameterSetName = "Days")] + [OutputType("None")] + [Alias("shmt")] + + Param( + [Parameter(ParameterSetName = "all")] + [switch]$All, + [Parameter(ParameterSetName = "Days")] + [int32]$DaysDue = 30 + ) + + DynamicParam { + # Set the dynamic parameters' name + $ParameterName = 'Category' + # Create the dictionary + $RuntimeParameterDictionary = New-Object System.Management.Automation.RuntimeDefinedParameterDictionary + + # Create the collection of attributes + $AttributeCollection = New-Object System.Collections.ObjectModel.Collection[System.Attribute] + + # Create and set the parameters' attributes + $ParameterAttribute = New-Object System.Management.Automation.ParameterAttribute + $ParameterAttribute.Mandatory = $false + $ParameterAttribute.ParameterSetName = "Category" + # Add the attributes to the attributes collection + $AttributeCollection.Add($ParameterAttribute) + + # Generate and set the ValidateSet + if (Test-Path -Path $global:myTaskCategory) { + $arrSet = Get-Content -Path $global:myTaskCategory -Encoding Unicode | + Where-Object { $_ -match "\w+" } | ForEach-Object { $_.Trim() } + } + else { + $arrSet = $script:myTaskDefaultCategories + } + $ValidateSetAttribute = New-Object System.Management.Automation.ValidateSetAttribute($arrSet) + + # Add the ValidateSet to the attributes collection + $AttributeCollection.Add($ValidateSetAttribute) + + # Create and return the dynamic parameter + $RuntimeParameter = New-Object System.Management.Automation.RuntimeDefinedParameter($ParameterName, [string], $AttributeCollection) + $RuntimeParameterDictionary.Add($ParameterName, $RuntimeParameter) + return $RuntimeParameterDictionary + } #Dynamic Param + + Begin { + $Category = $PsBoundParameters[$ParameterName] + Write-Verbose "[$((Get-Date).TimeofDay) BEGIN ] Starting $($MyInvocation.Mycommand)" + + #display PSBoundparameters formatted nicely for Verbose output + [string]$pb = ($PSBoundParameters | Format-Table -AutoSize | Out-String).TrimEnd() + Write-Verbose "[$((Get-Date).TimeofDay) BEGIN ] PSBoundparameters: `n$($pb.split("`n").Foreach({"$("`t"*4)$_"}) | Out-String) `n" + } + + Process { + #run Get-MyTask + Write-Verbose "[$((Get-Date).TimeofDay) PROCESS] Getting Tasks" + $tasks = Get-MyTask @PSBoundParameters + if ($tasks.count -gt 0) { + #convert tasks to a text table + $table = ($tasks | Format-Table | Out-String -Stream).split("`r`n") + + #define a regular expression pattern to match the due date + [regex]$rx = "\b\d{1,2}\/\d{1,2}\/(\d{2}|\d{4})\b" + + #Write-Host "`n" + "`n" + "$([char]0x1b)[38;5;51m$($table[1])$([char]0x1b)[0m" + "$([char]0x1b)[38;5;51m$($table[2])$([char]0x1b)[0m" + #Write-Host $table[1] -ForegroundColor Cyan + #Write-Host $table[2] -ForegroundColor Cyan + + #define a parameter hashtable to splat to Write-Host to better + #handle colors in the PowerShell ISE under Windows 10 + $phash = @{ + object = $Null + } + $table[3..$table.count] | ForEach-Object { + + #add the incoming object as the object for Write-Host + $pHash.object = $_ + Write-Verbose "[$((Get-Date).TimeofDay) PROCESS] Analyzing $_ " + #test if DueDate is within 24 hours + if ($rx.IsMatch($_)) { + $hours = (($rx.Match($_).Value -as [datetime]) - (Get-Date)).totalhours + } + + Write-Verbose "[$((Get-Date).TimeofDay) PROCESS] Hours = $hours" + + #test if task is complete + if ($_ -match '\b100\b$') { + Write-Verbose "[$((Get-Date).TimeofDay) PROCESS] Detected as completed" + $complete = $True + } + else { + Write-Verbose "[$((Get-Date).TimeofDay) PROCESS] Detected as incomplete" + $complete = $False + } + + #select a different color for overdue tasks + if ($complete) { + #display completed tasks in green + $phash.ForegroundColor = "$([char]0x1b)[92m" #"Green" + } + elseif ($_ -match "\bTrue\b") { + $phash.ForegroundColor = "$([char]0x1b)[91m" # "Red" + } + elseif ($hours -le 24 -AND (-Not $complete)) { + $phash.ForegroundColor = "$([char]0x1b)[38;5;208m" #"Yellow" + $hours = 999 + } + elseif ($_ -match "^\s+") { + #use the existing color for tasks with wrapped descriptions + } + else { + if ($pHash.ContainsKey("ForegroundColor")) { + #remove foreground color so that Write-Host uses + #the current default + # $pHash.Remove("ForegroundColor") + $phash.ForeGroundColor = "$([char]0x1b)[37m" + } + } + + # Write-Host @pHash + "{0}{1}{2}" -f $phash.ForegroundColor, $phash.object, "$([char]0x1b)[0m" + + } #foreach + } #if tasks are found + else { + Write-Verbose "[$((Get-Date).TimeofDay) PROCESS] No tasks returned from Get-MyTask." + } + } #Process + + End { + Write-Verbose "[$((Get-Date).TimeofDay) END ] Ending $($MyInvocation.Mycommand)" + } #End +} #Show-MyTask \ No newline at end of file diff --git a/ISSUE_TEMPLATE.md b/ISSUE_TEMPLATE.md index f8832a9..9e9898d 100644 --- a/ISSUE_TEMPLATE.md +++ b/ISSUE_TEMPLATE.md @@ -4,14 +4,14 @@ -## What is the syntax or expression you are using? +## What is the syntax or expression you are using -## What happens? +## What happens -## What do you think should happen? +## What do you think should happen \ No newline at end of file diff --git a/LICENSE.txt b/LICENSE.txt index 4f32da1..556f72c 100644 --- a/LICENSE.txt +++ b/LICENSE.txt @@ -1,6 +1,6 @@ MIT License -Copyright (c) 2016-2019 JDH Information Technology Solutions, Inc. +Copyright (c) 2016-2020 JDH Information Technology Solutions, Inc. Permission is hereby granted, free of charge, to any person obtaining a copy diff --git a/MyTasks.psd1 b/MyTasks.psd1 index d741bde..bd0d122 100644 --- a/MyTasks.psd1 +++ b/MyTasks.psd1 @@ -8,7 +8,7 @@ RootModule = 'MyTasks.psm1' # Version number of this module. - ModuleVersion = '2.3.0' + ModuleVersion = '2.4.0' CompatiblePSEditions = @("Desktop", "Core") @@ -22,7 +22,7 @@ CompanyName = 'JDH Information Technology Solutions, Inc.' # Copyright statement for this module - Copyright = '(c) 2016-2019 JDH Information Technology Solutions, Inc. All rights reserved.' + Copyright = '(c) 2016-2020 JDH Information Technology Solutions, Inc. All rights reserved.' # Description of the functionality provided by this module Description = 'A tool set for managing tasks or to-do projects in PowerShell. Task data is stored in XML and managed through a PowerShell class.' @@ -58,27 +58,28 @@ # TypesToProcess = @() # Format files (.ps1xml) to be loaded when importing this module - FormatsToProcess = "MyTasks.format.ps1xml", "mytaskpath.format.ps1xml" + FormatsToProcess = "formats\MyTasks.format.ps1xml", "formats\mytaskpath.format.ps1xml" # Modules to import as nested modules of the module specified in RootModule/ModuleToProcess # NestedModules = @() # Functions to export from this module - FunctionsToExport = if ($PSEdition -eq 'Desktop') { + FunctionsToExport = if ($PSEdition -eq 'Desktop') { - @("New-MyTask", "Set-MyTask", "Remove-MyTask", "Get-MyTask", - "Show-MyTask", "Complete-MyTask", "Get-MyTaskCategory", "Add-MyTaskCategory", - "Remove-MyTaskCategory", "Backup-MyTaskFile", "Save-MyTask", "Enable-EmailReminder", - "Disable-EmailReminder", "Get-EmailReminder", "Set-MyTaskHome", "Get-MyTaskArchive", - "Get-MyTaskHome") + @("New-MyTask", "Set-MyTask", "Remove-MyTask", "Get-MyTask", + "Complete-MyTask", "Get-MyTaskCategory", "Add-MyTaskCategory", + "Remove-MyTaskCategory", "Backup-MyTaskFile", "Save-MyTask", "Enable-EmailReminder", + "Disable-EmailReminder", "Get-EmailReminder", "Set-MyTaskHome", "Get-MyTaskArchive", + "Get-MyTaskHome") -} else { + } + else { @("New-MyTask", "Set-MyTask", "Remove-MyTask", "Get-MyTask", - "Show-MyTask", "Complete-MyTask", "Get-MyTaskCategory", "Add-MyTaskCategory", + "Complete-MyTask", "Get-MyTaskCategory", "Add-MyTaskCategory", "Remove-MyTaskCategory", "Backup-MyTaskFile", "Save-MyTask", "Set-MyTaskHome", - "Get-MyTaskArchive","Get-MyTaskHome") -} + "Get-MyTaskArchive", "Get-MyTaskHome") + } # Cmdlets to export from this module # CmdletsToExport = '*' @@ -88,8 +89,8 @@ #'myTaskPath','myTaskDefaultCategories','myTaskArchivePath','mytaskhome','myTaskCategory' # Aliases to export from this module - AliasesToExport = 'gmt', 'smt', 'shmt', 'rmt', 'cmt', 'nmt', 'Archive-MyTask', 'task', - 'Get-MyTaskPath', 'Set-MyTaskPath' + AliasesToExport = 'gmt', 'smt', 'rmt', 'cmt', 'nmt', 'Archive-MyTask', 'task', + 'Get-MyTaskPath', 'Set-MyTaskPath', 'shmt', "Show-MyTask" # DSC resources to export from this module # DscResourcesToExport = @() @@ -106,7 +107,7 @@ PSData = @{ # Tags applied to this module. These help with module discovery in online galleries. - Tags = 'XML', 'ToDo', 'Projects', 'Tasks' + Tags = 'ToDo', 'projects', 'tasks', 'reminder' # A URL to the license for this module. LicenseUri = 'https://github.com/jdhitsolutions/MyTasks/blob/master/LICENSE.txt' diff --git a/MyTasks.psm1 b/MyTasks.psm1 index 6e3944d..74d9e15 100644 --- a/MyTasks.psm1 +++ b/MyTasks.psm1 @@ -19,9 +19,9 @@ $script:myTaskDefaultCategories = "Work", "Personal", "Other", "Customer" #endregion #dot source functions -. $psscriptroot\MyTasksFunctions.ps1 +. $psscriptroot\functions\MyTasksFunctions.ps1 if ($psedition -eq 'Desktop') { - . $psscriptroot\emailfunctions.ps1 + . $psscriptroot\functions\emailfunctions.ps1 } $cmd = "Get-MyTask", "Set-MyTask", "Complete-MyTask", "Remove-MyTask" diff --git a/README.md b/README.md index ab01b06..1c617b9 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ [![PSGallery Version](https://img.shields.io/powershellgallery/v/myTasks.png?style=for-the-badge&logo=powershell&label=PowerShell%20Gallery)](https://www.powershellgallery.com/packages/myTasks/) [![PSGallery Downloads](https://img.shields.io/powershellgallery/dt/MyTasks.png?style=for-the-badge&label=Downloads)](https://www.powershellgallery.com/packages/MyTasks/) -This PowerShell module is designed as a task or simple To-Do manager. The module contains several commands for working with tasks. It should work with both Windows PowerShell and PowerShell Core with a few limitations. You can install the latest version from the PowerShell Gallery. You will need the `-Scope`parameter for PowerShell Core. +This PowerShell module is designed as a task or a simple To-Do manager. The module contains several commands for working with tasks. It should work with both Windows PowerShell and PowerShell 7.x with a few limitations. You can install the latest version from the PowerShell Gallery. You might want to need the `-Scope`parameter for PowerShell 7.x. ```powershell Install-Module MyTasks [-scope currentuser] @@ -10,20 +10,12 @@ Install-Module MyTasks [-scope currentuser] Task data is stored in an XML file. Other configuration information is stored in simple text files. Here are a few highlights. -## Class Based +## A Class-Based Module This module uses a class definition for the task object and is designed to work on both Windows PowerShell and PowerShell Core. ```powershell Class MyTask { - - <# - A class to define a task or to-do item - #> - - #Properties - # ID and OverDue values are calculated at run time. - [int]$ID [string]$Name [string]$Description @@ -35,8 +27,9 @@ Class MyTask { hidden[datetime]$TaskCreated = (Get-Date) hidden[datetime]$TaskModified hidden[guid]$TaskID = (New-Guid) + # ID and OverDue values are calculated at run time. - #Methods + # Methods #set task as completed [void]CompleteTask([datetime]$CompletedDate) { @@ -92,7 +85,7 @@ While you could use the object's properties and methods directly, you should use ## XML Data -All of the task information is stored in an XML file. The commands in this module will read in, update, and remove items as needed using PowerShell commands such as `Select-XML`. By default these files are stored in your Documents folder (on Windows systems) or in Home (on Linux). You can change the default location by using the [Set-myTaskHome](docs/Set-MyTaskHome.md) command. This is helpful if you are sharing task information between computers via a service like Dropbox or OneDrive. +All of the task information is stored in an XML file. The commands in this module will read in, update, and remove items as needed using PowerShell commands such as `Select-XML`. By default, these files are stored in your Documents folder (on Windows systems) or in the Home folder (on Linux). You can change the default location by using the [Set-myTaskHome](docs/Set-MyTaskHome.md) command. This is helpful if you are sharing task information between computers via a service like Dropbox or OneDrive. ```powershell Set-MyTaskHome -path C:\Users\Jeff\dropbox\mytasks\ @@ -110,7 +103,7 @@ The Task object includes a Category property. The module will define a default s + [Get-MyTaskCategory](docs/Get-MyTaskCategory.md) + [Remove-MyTaskCategory](docs/Remove-MyTaskCategory.md) -Task information is stored in a text file in the $myTaskHome location. +Task information is stored in a text file in the `$myTaskHome` location. ## Basic Usage @@ -123,48 +116,50 @@ New-MyTask "return library books" -Category personal You can also specify a due date. ```powershell -New-MyTask "Pluralsight" -duedate "2/1/2019" -description "renew subscription" -category other +New-MyTask "Pluralsight" -duedate "2/1/2020" -description "renew subscription" -category other ``` You can use `Set-MyTask` to modify a task. ```powershell -Get-MyTask Pluralsight | Set-Mytask -DueDate 3/1/2019 +Get-MyTask Pluralsight | Set-Mytask -DueDate 3/1/2020 ``` -Because the task has a Progress property, you can use [Set-MyTask](docs/Set-MyTask.md) to update that as well. +Because the task has a Progress property, you can use [Set-MyTask](docs/Set-MyTask.md) to update that as well. This is intended to be used as a percentage complete. ```powershell Set-Mytask "book review" -Progress 60 ``` -To view tasks you can use `Get-MyTask`. Normally, you will use [Get-MyTask](docs/Get-MyTask.md) to display tasks, all, some or a single item: +Use `Get-MyTask` to view tasks. Normally, you will use [Get-MyTask](docs/Get-MyTask.md) to display all tasks, some tasks or a single item: ```powershell -PS S:\> get-mytask -name MemoryTools +PS S:\> Get-MyTask -name MemoryTools ID Name Description DueDate OverDue Category Progress -- ---- ----------- ------- ------- -------- -------- -8 MemoryTools update module 7/22/2019 False Projects 10 +8 MemoryTools update module 7/22/2020 False Projects 10 ``` The default behavior is to display incomplete tasks due in the next 30 days. Look at the help for `Get-MyTask` for more information. -There is also a command called [Show-MyTask](docs/Show-MyTask.md) which is really nothing more than a wrapper to `Get-MyTask`. The "Show" command will write output directly to the host. Incomplete tasks that are overdue will be displayed in red text. Tasks that will be due in 24 hours will be displayed in yellow. If you select all tasks then completed items will be displayed in green. This command may not work as expected in the PowerShell ISE. +This module has a custom format file that uses ANSI escape sequences to color-code tasks. Overdue tasks will be shown in red. Tasks due in the next 48 hours will be shown in orange. + +![Get-MyTask](images/get-mytask.png) -![show my tasks](images/show-mytask-1.png) +This command may not work as expected in the PowerShell ISE or the VS Code PowerShell Integrated shell. -When a task is finished you can mark it as complete. +When a task is finished, you can mark it as complete. ```powershell Complete-MyTask -name "order coffee" ``` -The task will remain but be marked as 100% complete. You can still see the task when using the -All parameter with `Get-MyTask` or `Show-MyTask`. At some point you might want to remove completed tasks from the master XML file. You can use [Remove-MyTask](docs/Remove-MyTask.md) to permanently delete them. Or use the `Archive-MyTask` command to move them to an archive xml file. +The task will remain but be marked as 100% complete. You can still see the task when using the -All parameter with `Get-MyTask` or `Show-MyTask`. At some point you might want to remove completed tasks from the master XML file. You can use [Remove-MyTask](docs/Remove-MyTask.md) to permanently delete them. Or use the `Archive-MyTask` command to move them to an archive XML file. ## Format Views -The module includes a `format.ps1xml` file that defines a default display when you run `Get-MyTask`. You will get a slightly different set of properties when you run `Get-MyTask | Format-List`. There is also a custom table view called Category which will create a table grouped by the Category property. You should sort the tasks first: +The module includes a `format.ps1xml` file that defines a default display when you run `Get-MyTask`. You will get a slightly different set of properties when you run `Get-MyTask | Format-List`. There is also a custom table view called `Category` which will create a table grouped by the Category property. You should sort the tasks first: ```powershell Get-MyTask | Sort-Object Category | Format-Table -view category @@ -173,7 +168,7 @@ Get-MyTask | Sort-Object Category | Format-Table -view category Or you can use the `DueDate` table view - sort on DueDate ```powershell -Get-MyTask -days 180 | sort duedate | Format-table -view duedate +Get-MyTask -days 180 | Sort-Object duedate | Format-Table -view duedate ``` ![formatted views](images/show-mytask-2.png) @@ -183,18 +178,18 @@ Get-MyTask -days 180 | sort duedate | Format-table -view duedate Over time your task file might get quite large. Even though the default behavior is to ignore completed tasks, you have an option to archive them to a separate XML file using `Save-MyTask` which has an alias of `Archive-MyTask`: ```powershell -Get-Mytask -Completed | Archive-MyTask +Get-MyTask -Completed | Archive-MyTask ``` There is an option to archive tasks when you run [Complete-MyTask](docs/Complete-MyTask.md). Or you can completely delete a task with `Remove-MyTask`. -Use the `Get-myTaskArchive` to view archived tasks. +Use the `Get-MyTaskArchive` to view archived tasks. ## Email Reminders If you are running this module on Windows PowerShell that includes the PSScheduledJob module, you can create a scheduled PowerShell job that will send you a daily email with tasks that are due in 3 days or less. The default is a plain text message but you can also send it as HTML. Use the [Enable-EmailReminder](docs/Enable-EmailReminder.md) command to set up the job. -You should read full help and examples for all commands as well as the [about_MyTasks](./docs/about_MyTasks.md) help file. +You should read full help and examples for all commands as well as the [about_MyTasks](docs/about_MyTasks.md) help file. + [Add-MyTaskCategory](docs/Add-MyTaskCategory.md) + [Backup-MyTaskFile](docs/Backup-MyTaskFile.md) @@ -216,6 +211,6 @@ You should read full help and examples for all commands as well as the [about_My ## Limitations -Please post any issues, questions or feature requests in the [Issues](https://github.com/jdhitsolutions/MyTasks/issues) section. +Please post any issues, questions, or feature requests in the [Issues](https://github.com/jdhitsolutions/MyTasks/issues) section of this module's GitHub repository. -Last Updated 2019-08-28 15:54:42Z UTC +Last Updated 2020-10-14 16:00:30Z diff --git a/Tests/MyTasks.module.tests.ps1 b/Tests/MyTasks.module.tests.ps1 index ba1e96a..6b26cc2 100644 --- a/Tests/MyTasks.module.tests.ps1 +++ b/Tests/MyTasks.module.tests.ps1 @@ -9,11 +9,11 @@ Describe 'MyTasks' { $Module = Get-Module -Name MyTasks It 'should have 17 functions' { - $Module.ExportedFunctions.count | Should -Be 17 + $Module.ExportedFunctions.count | Should -Be 16 } It 'should have 10 aliases command' { - $Module.ExportedAliases.Count | Should -Be 10 + $Module.ExportedAliases.Count | Should -Be 11 } It 'should not export any variables' { diff --git a/Tests/MyTasks.tests.ps1 b/Tests/MyTasks.tests.ps1 index 190313f..bc74b9b 100644 --- a/Tests/MyTasks.tests.ps1 +++ b/Tests/MyTasks.tests.ps1 @@ -129,10 +129,6 @@ InModuleScope MyTasks { $Task.Progress | Should -Be 80 } - It 'Show-MyTask should write to the host' { - {Show-MyTask | Get-Member -ErrorAction Stop} | Should -Throw - } - It 'should complete a task' { {Complete-Mytask -Name Test1 -ErrorAction Stop} | Should -Not -Throw (Get-MyTask -Completed | Measure-Object).Count | Should -Be 1 diff --git a/changelog.md b/changelog.md index f7be387..6a4aa55 100644 --- a/changelog.md +++ b/changelog.md @@ -1,256 +1,260 @@ # Change Log for MyTasks +## v2.4.0 + ++ Restructured module layout ++ Removed `Show-MyTask` and modified default format view for `Get-MyTask` to use ANSI escape sequences instead of `Write-Host`. (Issue #44) *Breaking Change* ++ Added the aliases `Show-MyTask` and `shmt` to `Get-MyTask` to provide some sort of backward compatibility. ++ Modified `Get-EmailReminder` to display a warning if the scheduled job is not found. ++ Updated `Enable-EmailReminder` to better handle text output now that default formatting uses ANSI. ++ Updated Pester tests. ++ Help and documentation updates. + ## v2.3.0 -+ Updates to `Show-MyTask` to better handle long descriptions (Issue #40 and #41) -+ Modified `Remove-MyTask` to remove by the ID number (Issue #42) -+ Added online help links -+ Updated `README.md` -+ Updated help documentation -+ Updated Pester tests ++ Updates to `Show-MyTask` to better handle long descriptions. (Issue #40 and #41) ++ Modified `Remove-MyTask` to remove by the ID number. (Issue #42) ++ Added online help links. ++ Updated `README.md`. ++ Updated help documentation. ++ Updated Pester tests. ## v2.2.0 -+ Fixed bug where overdue tasks were not displaying in red -+ Added a Table view called DueDate ++ Fixed bug where overdue tasks were not displaying in red. ++ Added a Table view called DueDate. + Minor help updates. -+ Minor updates to `README.md` ++ Minor updates to `README.md`. ## v2.1.0 + Renamed `Set-MyTaskPath` to `Set-MyTaskHome` and set the original name as an alias. (Issue #38) + Renamed `Get-MyTaskPath` to `Get-MyTaskHome` and set the original name as an alias. (Issue #38) -+ Restructured module to better accommodate Desktop vs Core PSEditions (Issue #37) -+ Manifest updates -+ documentation updates -+ updated pester tests ++ Restructured module to better accommodate Desktop vs Core PSEditions. (Issue #37) ++ Manifest updates. ++ Documentation updates. ++ Updated Pester tests. ## v2.0.0 -+ Updated manifest to require PowerShell 5.1 and support for both Desktop and Core PSEditions *Breaking Change* -+ Added `Get-MyTaskPath` command (Issue #36) ++ Updated manifest to require PowerShell 5.1 and support for both Desktop and Core PSEditions *Breaking Change*. ++ Added `Get-MyTaskPath` command.(Issue #36) + Added a format.ps1xml file for `Get-MyTaskPath` -+ Modified code to determine home folder to use `[Environment]::GetFolderPath([Environment+SpecialFolder]::MyDocuments)` Thank you @kilasuit and @thecliguy (Issue #35) *Breaking Change* ++ Modified code to determine home folder to use `[Environment]::GetFolderPath([Environment+SpecialFolder]::MyDocuments)` Thank you @kilasuit and @thecliguy. (Issue #35) *Breaking Change* + Fixed bug in `Show-Mytask` where year is displayed in 2 digits instead of 4 on Linux platforms. -+ documentation updates ++ Documentation updates. ## v1.9.0 -+ Updated autocompleter to get task names and enclose in quotes ++ Updated the auto-completer to get task names and enclose in quotes. + Fixed bug in `Get-EmailReminder` to determine if the command is supported. + Modified `Save-MyTask` to provide more detail when using -Whatif. + Added `Get-MyTaskArchive` command. + Updated class and commands to better handle OverDue values. -+ Modified `MyTasks.format.ps1xml` to support myTaskArchive type -+ Updated help ++ Modified `MyTasks.format.ps1xml` to support myTaskArchive type. ++ Updated help. ## v1.8.2 -+ Fixed bugs with email reminder. Typo in a parameter name. -+ Added parameter validation for `-Days` in `Enable-EmailReminder` -+ Help updates ++ Fixed bugs with the email reminder. Typo in a parameter name. ++ Added parameter validation for `-Days` in `Enable-EmailReminder`. ++ Help updates. ## v1.8.0 -+ Fixed Task Category bug (Issue #26) Thank you @shaneis -+ revised Pester test for category fix -+ Updated `README.md` ++ Fixed Task Category bug. Thank you @shaneis. (Issue #26) ++ Revised Pester test for category fix. ++ Updated `README.md`. ## v1.7.0 -+ file cleanup for PowerShell Gallery -+ moved aliases to function definitions -+ Added auto completer for `Get-MyTask`, `Set-MyTask`, `Complete-MyTask`, `Remove-MyTask` (Issue #32) -+ Updated `Get-MyTask` to support multiple ID numbers (Issue #31) -+ help documentation update -+ general code cleanup ++ File cleanup for PowerShell Gallery. ++ M.ved aliases to function definitions ++ Added auto completer for `Get-MyTask`, `Set-MyTask`, `Complete-MyTask`, and `Remove-MyTask`. (Issue #32) ++ Updated `Get-MyTask` to support multiple ID numbers. (Issue #31) ++ Help documentation update. ++ General code cleanup. ## v1.6.0 -+ Fixed bug saving XML to non-filesystem paths (Issue #28) -+ Update `Set-MyTaskPath` to support -Passthru (Issue #25) -+ Updated `Get-EmailReminder` to include additional details (Issue #18) -+ Fixed CSS bug in email scriptblock -+ Updated `Enable-EmailReminder` to let user specify number of days (Issue #29) -+ Updated `Enable-EmailReminder` to let user specify alternate path (Issue #30) -+ updated Pester tests -+ updated documentation ++ Fixed bug saving XML to non-filesystem paths. (Issue #28) ++ Update `Set-MyTaskPath` to support -Passthru. (Issue #25) ++ Updated `Get-EmailReminder` to include additional details. (Issue #18) ++ Fixed CSS bug in email scriptblock. ++ Updated `Enable-EmailReminder` to allow the user to specify the number of days. (Issue #29) ++ Updated `Enable-EmailReminder` to allow the user to specify an alternate path. (Issue #30) ++ Updated Pester tests. ++ Updated documentation. ## v1.5.1 -+ fixed bug with MyTaskCategory (Issue #27) ++ Fixed a bug with MyTaskCategory. (Issue #27) ## v1.5.0 -+ Added a patch to store date in an ISO friendly format. (Issue #23 and Issue #22) -+ Added a new function, `Set-MyTaskPath` to allow you to update the task folder (Issue #20) -+ Updated documentation ++ Added a patch to store the date in an ISO friendly format. (Issue #23 and Issue #22) ++ Added a new function, `Set-MyTaskPath` to allow you to update the task folder. (Issue #20) ++ Updated documentation. ## v1.4.0 -+ Added support for PowerShell scheduled job to email upcoming tasks (Issue #17) -+ Scheduled reminders will be a Windows only feature. -+ Added timestamp to verbose messages ++ Added support for PowerShell scheduled job to email upcoming tasks. (Issue #17) ++ Scheduled reminders will be a Windows-only feature. ++ Added timestamp to verbose messages. ## v1.3.1 -+ fixed bug with Show-Task when no entries are found (Issue #16) -+ Updated README ++ Fixed a bug with `Show-Task` when no entries are found. (Issue #16) ++ Updated README. ## v1.3.0 -+ Updated README -+ Added 'task' as an alias for New-MyTask -+ Added CompletedDate parameter to Complete-MyTask (Issue #13) -+ Added option to complete a task by ID (Issue #11) -+ Changed default for `Get-MyTask` and `Show-MyTask` to display tasks due in next 30 days. (Issue #12) -+ fixed bug in `Show-MyTask` where completed tasks were displaying in red -+ Made parameters for `New-MyTask` more positional (Issue #14) -+ Updated help documentation ++ Updated README. ++ Added 'task' as an alias for `New-MyTask`. ++ Added CompletedDate parameter to `Complete-MyTask`. (Issue #13) ++ Added option to complete a task by ID. (Issue #11) ++ Changed default for `Get-MyTask` and `Show-MyTask` to display tasks due in the next 30 days. (Issue #12) ++ Fixed bug in `Show-MyTask` where completed tasks were displaying in red. ++ Made parameters for `New-MyTask` positional. (Issue #14) ++ Updated help documentation. ## v1.2.0 -+ Modified files to support PowerShell Core -+ Update help documentation -+ Updated `README.md` -+ Updated manifest ++ Modified files to support PowerShell Core. ++ Update help documentation. ++ Updated `README.md`. ++ Updated manifest. ## v1.1.0 -+ Updated verbose messages -+ moved class definition to functions script -+ revised Pester tests ++ Updated verbose messages. ++ Moved class definition to functions script. ++ Revised Pester tests. ## v1.0.4 -+ explicitly added UTF8 encoding when reading and writing XML content. -+ explicitly added Unicode encoding when reading and writing task category file. (Issue #4) -+ Modified Show-MyTask to format as a table with autosize and string streaming. -+ Updated manifest ++ Explicitly added UTF8 encoding when reading and writing XML content. ++ Explicitly added Unicode encoding when reading and writing task category file. (Issue #4) ++ Modified `Show-MyTask` to format as a table with auto-sizing and string streaming. ++ Updated manifest. ## v1.0.3 -+ modified code when creating a new XML file to declare -+ encoding as UTF-8. -+ Modified `Get-MyTask` to display a warning when trying to display tasks -+ when none have been defined yet. -+ Modified `Show-MyTask` to work under the Windows 10 -+ PowerShell ISE (Issue #2) -+ Modified `Remove-MyTask` to accept MyTask as an input object (Issue #3) -+ Help files are NOT updated yet to reflect these changes. ++ Modified code when creating a new XML fil to specify encoding as UTF-8. ++ Modified `Get-MyTask` to display a warning when trying to display tasks when none have been defined yet. ++ Modified `Show-MyTask` to work under the Windows 10 PowerShell ISE. (Issue #2) ++ Modified `Remove-MyTask` to accept MyTask as an input object. (Issue #3) + Updated `README.md` ## v1.0.2 -+ modified `New-MyTask` so that passthru displays -+ the correct ID. (Issue #1) ++ Modified `New-MyTask` so that when using the `-Passthru` parameter, it displays the correct ID. (Issue #1) ## v1.0.1 -+ Added Pester tests -+ fixed a bug with exported variables ++ Added Pester tests. ++ Fixed a bug with exported variables. ## v1.0.0 -+ added license file -+ bumped version number -+ initial release ++ Added license file. ++ Initial release ## v0.0.16 -+ Added help documentation ++ Added help documentation. + Revised `Save-MyTask` to save a single task. + Revised `Complete-MyTask` to archive a single task. + Modified `Get-MyTask` to allow wildcards for -Name. ## v0.0.15 -+ fixed a regular expression bug in `Show-MyTask` that wasn't properly capturing completed tasks. ++ Fixed a regular expression bug in `Show-MyTask` that wasn't properly capturing completed tasks. + Modified `Show-MyTask` to display completed tasks in green. + Added command `Save-MyTasks` move completed tasks to an archive file. -+ Modified `Complete-MyTask` with an option to archive. ++ Modified `Complete-MyTask` with an option to archive tasks. ## v0.0.14 -+ modified `Set-MyTask` to use task ID -+ fixed a regular expression bug in `Show-MyTask` ++ Modified `Set-MyTask` to use task ID. ++ Fixed a regular expression bug in `Show-MyTask`. ## v0.0.13 -+ Renamed Backup-MyTask to `Backup-MyTaskFile` -+ Modified module to export `Backup-MyTaskFile` -+ Modified `Remove-MyTask` to use `Backup-MyTaskFile` ++ Renamed Backup-MyTask to `Backup-MyTaskFile`. ++ Modified module to export `Backup-MyTaskFile`. ++ Modified `Remove-MyTask` to use `Backup-MyTaskFile`. ## v0.0.12 -+ Added `Backup-MyTask` -+ modified `mytasks.format.ps1xml` file to display DueDate without time when using tables. Format-List will show full DueDate value. -+ Added parameter to `New-MyTask` to allow specifying a number of days instead of an actual date. ++ Added `Backup-MyTask`. ++ Modified the `mytasks.format.ps1xml` file to display DueDate without time when using tables. Format-List will show full DueDate value. ++ Added parameter to `New-MyTask` to allow specifying the number of days instead of an actual date. ## v0.0.11 + Modified `Get-MyTask` to not include completed tasks when filtering by DaysDue or Category. -+ Added `Get-MyTaskCategory` -+ Added `Add-MyTaskCategory` -+ Added `Remove-MyTaskCategory` ++ Added `Get-MyTaskCategory`. ++ Added `Add-MyTaskCategory`. ++ Added `Remove-MyTaskCategory`. ## v0.0.10 -+ Modified `Get-MyTask` to support filtering by number of days due ++ Modified `Get-MyTask` to support filtering by the number of days due. + Modified Refresh() method to not mark a task as overdue if it is completed. -+ Modified `Show-MyTask` to not flag Completed tasks -+ Modified `Get-MyTask` to automatically sort on DueDate ++ Modified `Show-MyTask` to not flag Completed tasks. ++ Modified `Get-MyTask` to automatically sort on DueDate. ## v0.0.9 -+ Added comment based help ++ Added comment based help. + Changed TaskCategory to a string and used dynamic parameters in functions. -+ Modified `Show-MyTask` to support -Category -+ Adjusted settings in format.ps1xml file ++ Modified `Show-MyTask` to support -Category. ++ Adjusted settings in format.ps1xml file. ## v0.0.8 -+ updated `MyTasks.format.ps1xml` file with new views -+ updated `MyTasks.format.ps1xml` to format DueDate -+ added verbose output to commands -+ Modified `Get-MyTask` to support filtering by Category -+ Modified `Show-MyTask` to display in yellow if due date is 24 hours or less ++ Updated `MyTasks.format.ps1xml` file with new views. ++ Updated `MyTasks.format.ps1xml` to format DueDate. ++ Added verbose output to commands. ++ Modified `Get-MyTask` to support filtering by Category. ++ Modified `Show-MyTask` to display in yellow if the due date is 24 hours or less. ## v0.0.7 -+ added `MyTasks.format.ps1xml` -+ fixed a bug in `Set-MyTask` when there was an empty value -+ updated module files ++ Added `MyTasks.format.ps1xml`. ++ Fixed a bug in `Set-MyTask` when there was an empty value. ++ Updated module files. ## v0.0.6 -+ added `Complete-MyTask` function -+ fixed a bug in `New-MyTask` when XML file exists but has no objects -+ Added -WhatIf to `New-MyTask` ++ Added `Complete-MyTask` function. ++ Fixed a bug in `New-MyTask` when the XML file exists but has no objects. ++ Added -WhatIf to `New-MyTask`. ## v0.0.5 -+ Added `Set-MyTask` function -+ Modified `Get-MyTask` to take name as a positional parameter -+ added command aliases -+ Updated module files ++ Added `Set-MyTask` function. ++ Modified `Get-MyTask` to take the task name as a positional parameter. ++ Added command aliases. ++ Updated module files. ## v0.0.4 -+ Added `Remove-MyTask` function ++ Added `Remove-MyTask` function. ## v0.0.3 -+ Added `Show-MyTask` function ++ Added `Show-MyTask` function. ## v0.0.2 -+ Import tasks from XML file -+ Get tasks from XML file with options -+ separated functions into their own file -+ modified class so that OverDue and ID values are calculated at runtime. -+ Added changelog ++ Import tasks from an XML file. ++ Get tasks from an XML file with options. ++ Separated functions into separate files. ++ Modified class so that OverDue and ID values are calculated at runtime. ++ Added changelog. ## v0.0.1 -+ added core module files ++ Added core module files. diff --git a/docs/Add-MyTaskCategory.md b/docs/Add-MyTaskCategory.md index b2d69f5..0d1e1e1 100644 --- a/docs/Add-MyTaskCategory.md +++ b/docs/Add-MyTaskCategory.md @@ -19,7 +19,7 @@ Add-MyTaskCategory [-Category] [-WhatIf] [-Confirm] [ backup-mytaskfile -Passthru Mode LastWriteTime Length Name ---- ------------- ------ ---- --a---- 8/19/2017 6:19 PM 16461 MyTasks_Backup_20170819.xml +-a---- 8/19/2020 6:19 PM 16461 MyTasks_Backup_20200819.xml ``` Create a backup copy of the source XML file to the default location, @@ -45,13 +45,13 @@ Create a backup copy of the source XML file to the default location, PS C:\> Backup-MyTaskFile -Destination c:\work\taskback.xml ``` -Create a backup copy of the source XML file to specified file. +Create a backup copy of the source XML file to the specified file. ## PARAMETERS ### -Destination -Enter the filename and path for the backup xml file. +Enter the filename and path for the backup XML file. ```yaml Type: String @@ -125,4 +125,4 @@ Learn more about PowerShell: http://jdhitsolutions.com/blog/essential-powershell ## RELATED LINKS -[Save-MyTask]() +[Save-MyTask](Save-MyTask.md) diff --git a/docs/Complete-MyTask.md b/docs/Complete-MyTask.md index d682b0f..b7c0007 100644 --- a/docs/Complete-MyTask.md +++ b/docs/Complete-MyTask.md @@ -43,11 +43,11 @@ Use this command to mark a MyTask work item as completed. This will automaticall ### EXAMPLE 1 ```powershell -PS C:\> get-mytask -id 6 | Complete-MyTask -Passthru +PS C:\> Get-MyTask -id 6 | Complete-MyTask -Passthru ID Name Description DueDate OverDue Category Progress -- ---- ----------- ------- ------- -------- -------- -6 Update Server03 10/14/2017 False work 100 +6 Update Server03 10/14/2020 False work 100 ``` Get MyTask with an ID of 6 and mark it as complete. By default nothing is written to the pipeline unless you use -Passthru. @@ -63,7 +63,7 @@ Mark the task as completed and archive it to the myTasksArchive.xml file. ### EXAMPLE 3 ```powershell -PS C:\> Complete-MyTask -Name "update-resume" -CompletedDate "4/1/2017 4:00PM" +PS C:\> Complete-MyTask -Name "update-resume" -CompletedDate "4/1/2020 4:00PM" ``` Mark the task as completed using the specified date. @@ -210,6 +210,6 @@ Learn more about PowerShell: http://jdhitsolutions.com/blog/essential-powershell ## RELATED LINKS -[Set-MyTask]() +[Set-MyTask](Set-MyTask.md) -[Save-MyTask]() +[Save-MyTask](Save-MyTask.md) diff --git a/docs/Disable-EmailReminder.md b/docs/Disable-EmailReminder.md index fafe8e5..bcf7ca6 100644 --- a/docs/Disable-EmailReminder.md +++ b/docs/Disable-EmailReminder.md @@ -19,7 +19,7 @@ Disable-EmailReminder [-WhatIf] [-Confirm] [] ## DESCRIPTION -This command will delete the scheduled email reminder job. +This command will delete the scheduled email reminder job. This command is only available in Windows PowerShell. ## EXAMPLES @@ -84,6 +84,6 @@ Learn more about PowerShell: http://jdhitsolutions.com/blog/essential-powershell ## RELATED LINKS -[Enable-EmailReminder]() +[Enable-EmailReminder](Enable-EmailReminder.md) -[Get-EmailReminder]() +[Get-EmailReminder](Get-EmailReminder.md) diff --git a/docs/Enable-EmailReminder.md b/docs/Enable-EmailReminder.md index 3462a98..dc07a24 100644 --- a/docs/Enable-EmailReminder.md +++ b/docs/Enable-EmailReminder.md @@ -264,6 +264,6 @@ Learn more about PowerShell: http://jdhitsolutions.com/blog/essential-powershell ## RELATED LINKS -[Disable-EmailReminder]() +[Disable-EmailReminder](Disable-EmailReminder.md) -[Get-EmailReminder]() +[Get-EmailReminder](Get-EmailReminder.md) diff --git a/docs/Get-EmailReminder.md b/docs/Get-EmailReminder.md index 439c137..8fc284d 100644 --- a/docs/Get-EmailReminder.md +++ b/docs/Get-EmailReminder.md @@ -19,7 +19,7 @@ Get-EmailReminder [] ## DESCRIPTION -Use this command to get information about email reminder job. This command requires the PSScheduledJob module. +Use this command to get information about the email reminder job. This command requires the PSScheduledJob module. ## EXAMPLES @@ -37,11 +37,11 @@ MailServer : mail.company.com Port : 587 UseSSL : True AsHTML : True -LastRun : 6/19/2018 8:00:08 AM +LastRun : 6/19/2020 8:00:08 AM LastState : Completed -Started : 6/19/2018 8:00:06 AM -Ended : 6/19/2018 8:00:08 AM -Result : {[6/19/2018 8:00:08 AM] Message (Tasks Due in the Next 3 Days) sent to artd@company.com from artd@company.com} +Started : 6/19/2020 8:00:06 AM +Ended : 6/19/2020 8:00:08 AM +Result : {[6/19/2020 8:00:08 AM] Message (Tasks Due in the Next 3 Days) sent to artd@company.com from artd@company.com} Enabled : True Errors : Warnings : @@ -67,6 +67,6 @@ Learn more about PowerShell: http://jdhitsolutions.com/blog/essential-powershell ## RELATED LINKS -[Disable-EmailReminder]() +[Disable-EmailReminder](Disable-EmailReminder.md) -[Enable-EmailReminder]() +[Enable-EmailReminder](Enable-EmailReminder.md) diff --git a/docs/Get-MyTask.md b/docs/Get-MyTask.md index cb523b8..ce282d4 100644 --- a/docs/Get-MyTask.md +++ b/docs/Get-MyTask.md @@ -53,7 +53,7 @@ Get-MyTask [-Category ] [] This command reads MyTask items from the source XML file and creates a list of MyTask objects. The default behavior is to display uncompleted tasks for all categories due in the next 30 days. But you can limit the results through different parameters. -Note that the the ID property will be assigned to all tasks in the source XML file, so depending on what parameters you use, you probably won't see a consecutive list of ID numbers. +Note that the ID property will be assigned to all tasks in the source XML file, so depending on what parameters you use, you probably won't see a consecutive list of ID numbers. ## EXAMPLES @@ -64,8 +64,8 @@ PS C:\> Get-MyTask ID Name Description DueDate OverDue Category Progress -- ---- ----------- ------- ------- -------- -------- -2 Order books Month of Lunches 8/1/2017 True Personal 0 -4 Apache Install Ubuntu 16 9/13/2017 False work 10 +2 Order books Month of Lunches 8/1/2020 True Personal 0 +4 Apache Install Ubuntu 18 9/13/2020 False work 10 ``` Get active tasks due in the next 30 days. @@ -77,14 +77,14 @@ PS C:\> Get-MyTask -all ID Name Description DueDate OverDue Category Progress -- ---- ----------- ------- ------- -------- -------- -1 Update Server02 7/14/2017 False work 100 -2 Order books Month of Lunches 8/1/2017 True Personal 0 -3 Update Server01 8/30/2017 False Work 100 -4 Apache Install Ubuntu 16 9/13/2017 False work 10 -5 2018 Training Budget 10/1/2017 False Personal 0 -6 Conferences 10/7/2017 False other 0 -7 Update Server03 10/14/2017 False work 0 -8 Finish DSC Training 12/31/2017 False Personal 80 +1 Update Server02 7/14/2020 False work 100 +2 Order books Month of Lunches 8/1/2020 True Personal 0 +3 Update Server01 8/30/2020 False Work 100 +4 Apache Install Ubuntu 18 9/13/2020 False work 10 +5 2021 Training Budget 10/1/2020 False Personal 0 +6 Conferences 10/7/2020 False other 0 +7 Update Server03 10/14/2020 False work 0 +8 Finish DSC Training 12/31/2020 False Personal 80 ``` Get all tasks including completed. @@ -92,12 +92,12 @@ Get all tasks including completed. ### EXAMPLE 3 ```powershell -PS C:\>get-mytask -Category work +PS C:\> Get-MyTask -Category work ID Name Description DueDate OverDue Category Progress -- ---- ----------- ------- ------- -------- -------- -4 Apache Install Ubuntu 16 9/13/2017 False work 10 -7 Update Server03 10/14/2017 False work 0 +4 Apache Install Ubuntu 18 9/13/2020 False work 10 +7 Update Server03 10/14/2020 False work 0 ``` Get all active tasks in the Work category. @@ -105,12 +105,12 @@ Get all active tasks in the Work category. ### EXAMPLE 4 ```powershell -PS C:\> get-mytask -daysdue 90 +PS C:\> Get-MyTask -daysdue 90 ID Name Description DueDate OverDue Category Progress -- ---- ----------- ------- ------- -------- -------- -2 Order books Month of Lunches 8/1/2017 True Personal 0 -4 Apache Install Ubuntu 16 9/13/2017 False work 10 +2 Order books Month of Lunches 8/1/2020 True Personal 0 +4 Apache Install Ubuntu 16 9/13/2020 False work 10 ``` Get all active tasks due in the next 90 days. @@ -118,18 +118,18 @@ Get all active tasks due in the next 90 days. ### EXAMPLE 5 ```powershell -PS C:\> get-mytask -id 4 | format-list -View all +PS C:\> Get-MyTask -id 4 | format-list -View all ID : 4 Name : Apache Install -Description : Ubuntu 16 -DueDate : 9/13/2017 8:39:46 AM +Description : Ubuntu 18 +DueDate : 9/13/2020 8:39:46 AM Overdue : False Category : work Progress : 10 -TaskCreated : 8/23/2017 8:39:46 AM -TaskModified : 8/23/2017 8:41:56 AM +TaskCreated : 8/23/2020 8:39:46 AM +TaskModified : 8/23/2020 8:41:56 AM Completed : False TaskID : c6fdf70c-a2f7-42c2-8e7d-93e4faa669fd ``` @@ -253,10 +253,10 @@ Learn more about PowerShell: http://jdhitsolutions.com/blog/essential-powershell ## RELATED LINKS -[Show-MyTask]() +[Show-MyTask](Show-MyTask.md) -[New-MyTask]() +[New-MyTask](New-MyTask.md) -[Set-MyTask]() +[Set-MyTask](Set-MyTask.md) -[Complete-MyTask]() +[Complete-MyTask](Complete-MyTask.md) diff --git a/docs/Get-MyTaskArchive.md b/docs/Get-MyTaskArchive.md index 6a1d4de..e80cd1a 100644 --- a/docs/Get-MyTaskArchive.md +++ b/docs/Get-MyTaskArchive.md @@ -38,9 +38,9 @@ PS C:\> Get-myTaskArchive ID Name Description Created DueDate Completed Category -- ---- ----------- ------- ------- --------- -------- -1 PSTweetChat 1/3/2018 1/4/2018 1/3/2018 work -2 Training followup 1/2/2018 1/5/2018 1/3/2018 Work -3 QuickBooks 1/2/2018 1/15/2018 1/5/2018 Business +1 PSTweetChat 1/3/2020 1/4/2020 1/3/2020 work +2 Training followup 1/2/2020 1/5/2020 1/3/2020 Work +3 QuickBooks 1/2/2020 1/15/2020 1/5/2020 Business ... ``` @@ -53,10 +53,10 @@ PS C:\> Get-MytaskArchive -category project ID Name Description Created DueDate Completed Category -- ---- ----------- ------- ------- --------- -------- -8 Update-PSReleaseTools 1/11/2018 1/18/2018 1/11/2018 project -18 MyTasks 1/5/2018 2/4/2018 2/5/2018 Project -27 MyReminder update module 1/3/2018 8/1/2018 10/22/2018 Project -28 MyNumber update module 1/3/2018 7/1/2018 10/22/2018 Project +8 Update-PSReleaseTools 1/11/2020 1/18/2020 1/11/2020 project +18 MyTasks 1/5/2020 2/4/2020 2/5/2020 Project +27 MyReminder update module 1/3/2020 8/1/2020 10/22/2020 Project +28 MyNumber update module 1/3/2020 7/1/2020 10/22/2020 Project ``` Get completed tasks by category. @@ -115,6 +115,6 @@ Learn more about PowerShell: http://jdhitsolutions.com/blog/essential-powershell ## RELATED LINKS -[Save-MyTask]() +[Save-MyTask](Save-MyTask.md) -[Complete-MyTask]() \ No newline at end of file +[Complete-MyTask](Complete-MyTask.md) \ No newline at end of file diff --git a/docs/Get-MyTaskCategory.md b/docs/Get-MyTaskCategory.md index 7ef17b8..7edddb1 100644 --- a/docs/Get-MyTaskCategory.md +++ b/docs/Get-MyTaskCategory.md @@ -19,7 +19,7 @@ Get-MyTaskCategory [] ## DESCRIPTION -Use this command to display all of the current categories for the MyTasks module. If you have added custom categories then those categories will be displayed. +Use this command to display all of the current categories for the MyTasks module. If you have added custom categories, then those categories will be displayed. ## EXAMPLES @@ -55,6 +55,6 @@ Learn more about PowerShell: http://jdhitsolutions.com/blog/essential-powershell ## RELATED LINKS -[Add-MyTaskCategory]() +[Add-MyTaskCategory](Add-MyTaskCategory.md) -[Remove-MyTaskCategory]() +[Remove-MyTaskCategory](Remove-MyTaskCategory.md) diff --git a/docs/Get-MyTaskHome.md b/docs/Get-MyTaskHome.md index fb00889..cf12634 100644 --- a/docs/Get-MyTaskHome.md +++ b/docs/Get-MyTaskHome.md @@ -9,7 +9,7 @@ schema: 2.0.0 ## SYNOPSIS -Get current values of the myTask variables +Get current values of the myTask variables. ## SYNTAX @@ -19,7 +19,7 @@ Get-MyTaskHome [] ## DESCRIPTION -The myTasks module relies on a number of global variables to keep track of the necessary files. While you can use Get-Variable to see the current value, this command simplifies the entire process. +The myTasks module relies on several global variables to keep track of the necessary files. While you can use Get-Variable to see the current value, this command simplifies the entire process. ## EXAMPLES @@ -59,4 +59,4 @@ http://jdhitsolutions.com/blog/essential-powershell-resources/ ## RELATED LINKS -[Set-MyTaskHome]() +[Set-MyTaskHome](Set-MyTasksHome.md) diff --git a/docs/New-MyTask.md b/docs/New-MyTask.md index 139a421..f03136e 100644 --- a/docs/New-MyTask.md +++ b/docs/New-MyTask.md @@ -9,7 +9,7 @@ schema: 2.0.0 ## SYNOPSIS -Create a new MyTask item +Create a new MyTask item. ## SYNTAX @@ -29,7 +29,7 @@ New-MyTask [-Name] [-Days ] [-Description ] [-Passthru] ## DESCRIPTION -Use this command to create a new task or work item. At a minimum you must provide a name and category. If you don't specify a deadline, either by a date or number of days, the default will be 7 days from now. +Use this command to create a new task or work item. At a minimum you must provide a name and category. If you don't specify a deadline, either by date or number of days, the default will be 7 days from now. The command will not write anything to the pipeline unless you use -Passthru. If you do, ignore the task ID. You won't get a valid ID until you run Get-MyTask. @@ -42,7 +42,7 @@ PS C:\> New-MyTask -Name "Finish DSC Training" -days 30 -Category Personal -Pass ID Name Description DueDate OverDue Category Progress -- ---- ----------- ------- ------- -------- -------- -0 Finish DSC Training 9/21/2017 False Personal 0 +0 Finish DSC Training 9/21/2020 False Personal 0 ``` Create a new task using the Training category that is due 30 days from now. @@ -50,7 +50,7 @@ Create a new task using the Training category that is due 30 days from now. ### EXAMPLE 2 ```powershell -PS C:\> task reboot-router "1/18/2018 5:00PM" other +PS C:\> task reboot-router "1/18/2020 5:00PM" other ``` Create a task using the alias and positional parameters for the task name, due date and category. @@ -108,7 +108,7 @@ Accept wildcard characters: False ### -DueDate -When you task is due to be completed. +When your task is due to be completed. ```yaml Type: DateTime @@ -198,8 +198,6 @@ Learn more about PowerShell: http://jdhitsolutions.com/blog/essential-powershell ## RELATED LINKS -[Get-MyTask]() +[Get-MyTask](Get-MyTask.md) -[Get-MyTaskCategory]() - -[Set-MyTask]() +[Set-MyTask](Set-MyTask.md) diff --git a/docs/Remove-MyTask.md b/docs/Remove-MyTask.md index 0602e45..86c9bc9 100644 --- a/docs/Remove-MyTask.md +++ b/docs/Remove-MyTask.md @@ -35,7 +35,7 @@ Remove-MyTask -InputObject [-WhatIf] [-Confirm] [] Use this command to permanently delete a MyTask work item. This will permanently delete it from the task source XML file. You can remove a task by name or use Get-MyTask to pipe a task object to this command. -As an alternative to deleting tasks you can also archive them. +As an alternative to deleting tasks, you can also archive them. ## EXAMPLES @@ -44,7 +44,7 @@ As an alternative to deleting tasks you can also archive them. ```powershell PS C:\> remove-mytask -Name "Finish DSC Training" -whatif What if: Performing the operation "Copy File" on target "Item: C:\Users\Jeff\Documents\myTasks.xml Destination: C:\Users -\Jeff\documents\MyTasks_Backup_201760822.xml". +\Jeff\documents\MyTasks_Backup_202060822.xml". What if: Performing the operation "Remove-MyTask" on target "2f252083-3c8e-4823-9c7c-df55dd0d135a". ``` @@ -78,7 +78,7 @@ Accept wildcard characters: False ### -Name -Enter task name. +Enter the task name. ```yaml Type: String @@ -156,4 +156,4 @@ Learn more about PowerShell: http://jdhitsolutions.com/blog/essential-powershell ## RELATED LINKS -[Save-MyTask]() +[Save-MyTask](Save-MyTask.md) diff --git a/docs/Remove-MyTaskCategory.md b/docs/Remove-MyTaskCategory.md index 00ffb3d..90d9507 100644 --- a/docs/Remove-MyTaskCategory.md +++ b/docs/Remove-MyTaskCategory.md @@ -19,7 +19,7 @@ Remove-MyTaskCategory [-Category] [-WhatIf] [-Confirm] [ archive-mytask +PS C:\> Archive-MyTask ``` Using the alias, archive all completed tasks to myTaskArchive.xml. @@ -36,7 +36,7 @@ Using the alias, archive all completed tasks to myTaskArchive.xml. ### EXAMPLE 2 ```powershell -PS C:\> get-mytask -Category other | save-mytask -Path c:\work\myOther.xml -Passthru +PS C:\> Get-MyTask -Category other | Save-MyTask -Path c:\work\myOther.xml -Passthru Directory: C:\work @@ -44,7 +44,7 @@ PS C:\> get-mytask -Category other | save-mytask -Path c:\work\myOther.xml -Pass Mode LastWriteTime Length Name ---- ------------- ------ ---- --a---- 8/23/2017 9:55 AM 833 myOther.xml +-a---- 8/23/2020 9:55 AM 833 myOther.xml ``` Get all tasks in the Other category and save them to a new file. The tasks will be removed from the source file. @@ -145,8 +145,8 @@ Learn more about PowerShell: http://jdhitsolutions.com/blog/essential-powershell ## RELATED LINKS -[Get-MyTask]() +[Get-MyTask](Get-MyTask.md) -[Complete-MyTask]() +[Complete-MyTask](Complete-MyTask.md) -[Get-MyTaskArchive]() +[Get-MyTaskArchive](Get-MyTaskArchive.md) diff --git a/docs/Set-MyTask.md b/docs/Set-MyTask.md index 2c7d8af..9902388 100644 --- a/docs/Set-MyTask.md +++ b/docs/Set-MyTask.md @@ -36,20 +36,18 @@ Set-MyTask [-ID ] [-NewName ] [-Description ] [-DueDate < ## DESCRIPTION -Use this command to change a MyTask work item. You can specify a task by name or ID, although it might be just as easy to pipe from Get-MyTask. - -Use Complete-MyTask to mark an item as completed. +Use this command to change a MyTask work item. You can specify a task by name or ID, although it might be just as easy to pipe from Get-MyTask. Use Complete-MyTask to mark an item as completed. ## EXAMPLES ### EXAMPLE 1 ```powershell -PS C:\> PS S:\> Set-MyTask -Name "Finish DSC Training" -Progress 70 -duedate "12/31/2017" -Passthru +PS C:\> Set-MyTask -Name "Finish DSC Training" -Progress 70 -duedate "12/31/2020" -Passthru ID Name Description DueDate OverDue Category Progress -- ---- ----------- ------- ------- -------- -------- -16 Finish DSC Training 12/31/2017 False Personal 70 +16 Finish DSC Training 12/31/2020 False Personal 70 ``` Set the progress value and a new due date for the 'Finish DSC Training' task. @@ -57,7 +55,7 @@ Set the progress value and a new due date for the 'Finish DSC Training' task. ### EXAMPLE 2 ```powershell -PS C:\> get-mytask -ID 9 | set-mytask -Progress 10 -Category Projects +PS C:\> Get-MyTask -ID 9 | Set-MyTask -Progress 10 -Category Projects ``` Get the task with ID 9 and pipe to Set-MyTask which changes the progress value and category. @@ -115,7 +113,7 @@ Accept wildcard characters: False ### -ID -Enter the task ID to identify task you wish to modify. +Enter the task ID to identify the task you wish to modify. ```yaml Type: Int32 @@ -257,6 +255,6 @@ Learn more about PowerShell: http://jdhitsolutions.com/blog/essential-powershell ## RELATED LINKS -[Get-MyTask]() +[Get-MyTask](Get-MyTask.md) -[Complete-MyTask]() +[Complete-MyTask](Complete-MyTask.md) diff --git a/docs/Set-MyTaskHome.md b/docs/Set-MyTaskHome.md index 0945e6d..d5eb2f0 100644 --- a/docs/Set-MyTaskHome.md +++ b/docs/Set-MyTaskHome.md @@ -9,7 +9,7 @@ schema: 2.0.0 ## SYNOPSIS -Update the myTask variables +Update the myTask variables. ## SYNTAX @@ -19,7 +19,7 @@ Set-MyTaskHome [-Path] [-Passthru] [-WhatIf] [-Confirm] [