{"id":16567473,"url":"https://github.com/jdhitsolutions/psreminderlite","last_synced_at":"2025-04-13T04:31:54.157Z","repository":{"id":252963649,"uuid":"830152766","full_name":"jdhitsolutions/PSReminderLite","owner":"jdhitsolutions","description":":calendar: :soon: This is a port of the MyTickle PowerShell module that uses a SQLite database to store event or reminder information.","archived":false,"fork":false,"pushed_at":"2024-08-13T15:02:42.000Z","size":413,"stargazers_count":4,"open_issues_count":2,"forks_count":2,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-06T07:52:58.095Z","etag":null,"topics":["powershell","powershell-module","reminder","sqlite"],"latest_commit_sha":null,"homepage":"","language":"PowerShell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jdhitsolutions.png","metadata":{"files":{"readme":"README.md","changelog":"ChangeLog.md","contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":null,"patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"custom":"https://paypal.me/jdhitsolutions?locale.x=en_US"}},"created_at":"2024-07-17T17:41:40.000Z","updated_at":"2025-04-01T21:19:40.000Z","dependencies_parsed_at":"2024-08-15T08:16:13.653Z","dependency_job_id":null,"html_url":"https://github.com/jdhitsolutions/PSReminderLite","commit_stats":null,"previous_names":["jdhitsolutions/psreminderlite"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jdhitsolutions%2FPSReminderLite","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jdhitsolutions%2FPSReminderLite/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jdhitsolutions%2FPSReminderLite/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jdhitsolutions%2FPSReminderLite/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jdhitsolutions","download_url":"https://codeload.github.com/jdhitsolutions/PSReminderLite/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248663663,"owners_count":21141807,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["powershell","powershell-module","reminder","sqlite"],"created_at":"2024-10-11T21:06:41.108Z","updated_at":"2025-04-13T04:31:54.131Z","avatar_url":"https://github.com/jdhitsolutions.png","language":"PowerShell","funding_links":["https://paypal.me/jdhitsolutions?locale.x=en_US"],"categories":[],"sub_categories":[],"readme":"# PSReminderLite\n\n[![PSGallery Version](https://img.shields.io/powershellgallery/v/PSReminderLite.png?style=for-the-badge\u0026label=PowerShell%20Gallery)](https://www.powershellgallery.com/packages/PSReminderLite/) [![PSGallery Downloads](https://img.shields.io/powershellgallery/dt/PSReminderLite.png?style=for-the-badge\u0026label=Downloads)](https://www.powershellgallery.com/packages/PSReminderLite/)\n\n## :calendar: Introduction\n\nThis module is a port of the [MyTickle] module. The original module used an instance of SQLServer Express to provide a database of event reminders. This version uses SQLite to provide the same functionality. When you install the module from the PowerShell Gallery, it will also install the [MySqlite] module if it isn't already installed.\n\n```powershell\nInstall-Module PSReminderLite\n```\n\nOR\n\n```powershell\nInstall-PSResource PSReminderLite\n```\n\nThe module requires a 64-bit PowerShell 7 platform.\n\n\u003e*The module has not been tested extensively on non-windows platforms*.\n\nOnce the module is installed, you can run `Get-AboutPSReminder` to see the module information.\n\n```shell\nPS C:\\\u003e Get-AboutPSReminder\n\nModuleName    : PSReminderLite\nVersion       : 1.0.0\nMySQLite      : 0.13.0\nSQLiteVersion : 3.42.0\nPSVersion     : 7.4.4\nPlatform      : Win32NT\nHost          : ConsoleHost\n```\n\nThis may be helpful when filing an issue or asking for help.\n\n## ![Reminder Icon](images/icons8-reminder-85.png) Module Commands\n\nAll module commands should have full help with examples. The `About` help topic is a subset of this document.\n\n- [Add-PSReminder](docs/Add-PSReminder.md)\n- [Export-PSReminderDatabase](docs/Export-PSReminderDatabase.md)\n- [Export-PSReminderPreference](docs/Export-PSReminderPreference.md)\n- [Get-AboutPSReminder](docs/Get-AboutPSReminder.md)\n- [Get-PSReminder](docs/Get-PSReminder.md)\n- [Get-PSReminderDBInformation](docs/Get-PSReminderDBInformation.md)\n- [Get-PSReminderPreference](docs/Get-PSReminderPreference.md)\n- [Get-PSReminderTag](docs/Get-PSReminderTag.md)\n- [Import-FromTickleDatabase](docs/Import-FromTickleDatabase.md)\n- [Import-PSReminderDatabase](docs/Import-PSReminderDatabase.md)\n- [Initialize-PSReminderDatabase](docs/Initialize-PSReminderDatabase.md)\n- [Move-PSReminder](docs/Move-PSReminder.md)\n- [Remove-PSReminder](docs/Remove-PSReminder.md)\n- [Set-PSReminder](docs/Set-PSReminder.md)\n\n\u003e *Screenshots might vary slightly from the current version.*\n\n## :memo: Setup the Database\n\nThis module uses SQLite to store event reminders. The first time you use the module, you will need to initialize the database. This will create a new SQLite database file in your user profile folder. You can specify a different location and name if you prefer but remember to update the `$PSReminderDB` preference variable.\n\n```powershell\nInitialize-PSReminderDatabase\n```\n\nThe default database is `$HOME\\PSReminder.db.`\n\n```shell\nPS C:\\\u003e Get-Item $home\\psreminder.db\n\n    Directory: C:\\Users\\Jeff\n\nMode                 LastWriteTime         Length Name\n----                 -------------         ------ ----\n-a---           7/22/2024  1:38 PM          81920 psreminder.db\n```\n\n\u003e *If you uninstall the PSReminderLite module you will need to manually delete this file.*\n\n## Module Preferences\n\nThe module exports several variables that are used to control the behavior of the module.\n\n```shell\nPS C:\\\u003e Get-Variable PSReminder*\n\nName                           Value\n----                           -----\nPSReminderArchiveTable         ArchivedEvent\nPSReminderDB                   C:\\Users\\Jeff\\PSReminder.db\nPSReminderDefaultDays          14\nPSReminderTable                EventData\nPSReminderTag                  {[Personal, ], [Testing, ], [travel, ], [Priority]…\n```\n\nYou should not modify the table and `PSReminderDB` variables after you initialize a database. If you want your database to use different table names or a different location, modify these variables __*before*__ you initialize the database.\n\nThe `PSReminderDefaultDays` is used to determine how many days in the future to display reminders. The module default is 7 days. You can change this value to whatever you prefer.\n\n### Tags\n\nThis module allows you to tag reminders. The module exports a hashtable variable called `PSReminderTag`. This variable is used to define the tags you can use and an ANSI escape sequence which is used in the default reminder display.\n\nThe module will define and use this variable by default.\n\n```powershell\n$PSReminderTag = @{\n    'Work'     = \"`e[38;5;192m\"\n    'Personal' = \"`e[96m\"\n    'Priority' = \"`e[1;3;38;5;199m\"\n}\n```\n\nYou can use native ANSI sequences or `$PSStyle` references. You can add as many tags as you would like.\n\n```powershell\n$PSReminderTag.Add(\"Event\",$PSStyle.Foreground.Yellow)\n```\n\nRun `Get-PSReminderTag` to see the current tags.\n\n![Get-PSReminderTag](images/psremindertags.png)\n\nCommands that have a tag-related parameter should have tab completion for defined tags. If the reminder has a defined tag, it will be displayed in the reminder list.\n\n![Display reminders](images/get-psreminder-by-tag.png)\n\nYou can specify multiple tags, but when it comes to formatting the default display, only the first tag will be used assuming no other conditions have been met.\n\nThere are no commands to add or remove tags. The `$PSReminderTag` variable is a hashtable that you can modify using PowerShell.\n\n```powershell\n$PSReminderTag.Add(\"Private\",\"`e[38;5;133m\")\n```\nIf you want to make the changes persistent, use `Export-PSreminderPreference` to save the changes.\n\n### :card_index: Exporting Preferences\n\nIf you modify any of the PSReminder preference variables, it is recommended that you export them.\n\n```powershell\nExport-PSReminderPreference\n```\n\nWhen you import the module, if the `$HOME\\.psreminder.json` file exists, it will be imported into your session, defining the preference variables.\n\n\u003e *If you uninstall the PSReminderLite module you will need to manually delete this file.*\n\n## :heavy_plus_sign: Adding a Reminder\n\nTo add a reminder, use the `Add-PSReminder` command. You must specify a date and time and a name for the event. You can optionally add a comment and/or tags.\n\n```shell\nPS C:\\\u003e Add-PSReminder -Date \"9/1/2024 12:00PM\" -EventName \"Labor Day\" -PassThru\n\nID   Event     Comment               Date     Countdown\n--   -----     -------               ----     ---------\n1107 Labor Day         9/1/2024 12:00 PM    40.22:21:55\n```\n\nThis command has aliases of `New-PSReminder` and `apsr`.\n\n## :soon: Getting Reminders\n\nThe `Get-PSReminder` function has several self-explanatory parameters for displaying reminders from the database.\n\n```shell\nPS C:\\\u003e Get-Command Get-PSReminder -Syntax\n\nGet-PSReminder [-Next \u003cint\u003e] [-DatabasePath \u003cstring\u003e] [\u003cCommonParameters\u003e]\n\nGet-PSReminder [-Id \u003cint\u003e] [-DatabasePath \u003cstring\u003e] [\u003cCommonParameters\u003e]\n\nGet-PSReminder [-EventName \u003cstring\u003e] [-DatabasePath \u003cstring\u003e] [\u003cCommonParameters\u003e]\n\nGet-PSReminder [-All] [-DatabasePath \u003cstring\u003e] [\u003cCommonParameters\u003e]\n\nGet-PSReminder [-Expired] [-DatabasePath \u003cstring\u003e] [\u003cCommonParameters\u003e]\n\nGet-PSReminder [-Archived] [-DatabasePath \u003cstring\u003e] [\u003cCommonParameters\u003e]\n\nGet-PSReminder [-Year \u003cint\u003e] [-Month \u003cint\u003e] [-DatabasePath \u003cstring\u003e] [\u003cCommonParameters\u003e]\n\nGet-PSReminder [-Tag \u003cstring\u003e] [-DatabasePath \u003cstring\u003e] [\u003cCommonParameters\u003e]\n```\n\nThe default is to display reminders for the next X number day as defined by the `$PSReminderDefaultDays` variable.\n\n## :alarm_clock: Modifying a Reminder\n\nYou can modify a reminder with the `Set-PSReminder` command. You must specify the ID of the reminder you want to modify. You can change the date, event name, comment, and tags.\n\n```shell\nPS C:\\\u003e Set-PSReminder -ID 1107 -Tags Personal\nPS C:\\\u003e Set-PSReminder -id 1108 -Comment \"online\" -PassThru\n\nID   Event       Comment              Date    Countdown\n--   -----       -------              ----    ---------\n1108 PSTweetChat online  8/2/2024 13:00 PM  10.22:38:44\n```\n\n## :white_check_mark: Archiving Reminders\n\nThe `PSReminder` and `ArchivePSReminder` objects are based on PowerShell class definitions, which have extended as well as hidden properties.\n\n```powershell\nClass PSReminder {\n    [String]$Event\n    [DateTime]$Date\n    [String]$Comment\n    [int32]$ID\n    [string[]]$Tags\n    [boolean]$Expired = $False\n    #add a hidden property that captures the database path\n    hidden [string]$Source\n    #add a hidden property to capture the computer name'\n    hidden [string]$ComputerName = [System.Environment]::MachineName\n\n    #constructor\n    PSReminder([int32]$ID, [String]$Event, [DateTime]$Date, [String]$Comment, [String[]]$Tags) {\n        $this.ID = $ID\n        $this.Event = $Event\n        $this.Date = $Date\n        $this.Comment = $Comment\n        $this.Tags = $Tags\n        if ($Date -lt (Get-Date)) {\n            $this.Expired = $True\n        }\n    }\n} #close PSReminder class\n\nClass ArchivePSReminder {\n    [String]$Event\n    [DateTime]$Date\n    [String]$Comment\n    [int32]$ID\n    [string[]]$Tags\n    [DateTime]$ArchivedDate\n    #add a hidden property that captures the database path\n    hidden [string]$Source\n    #add a hidden property to capture the computer name'\n    hidden [string]$ComputerName = [System.Environment]::MachineName\n\n    ArchivePSReminder([int32]$ID,[String]$Event,[DateTime]$Date,[String]$Comment,[String[]]$Tags, [DateTime]$ArchivedDate) {\n        $this.ID = $ID\n        $this.Event = $Event\n        $this.Date = $Date\n        $this.Comment = $Comment\n        $this.ArchivedDate = $ArchivedDate\n        $this.Tags = $Tags\n    }\n} #close ArchivePSReminder class\n\nClass PSReminderPreference {\n    [string]$PSReminderDB = $global:PSReminderDB\n    [string]$PSReminderDefaultDays = $global:PSReminderDefaultDays\n    [string]$PSReminderTable = $global:PSReminderTable\n    [string]$PSReminderArchiveTable = $global:PSReminderArchiveTable\n    [hashtable]$PSReminderTag = $global:PSReminderTag\n\n    [object]ShowTags () {\n        $r = $this.PSReminderTag.GetEnumerator() | Foreach-Object {\n            $stringValue = $_.Value.Replace(\"$([char]27)\", '`e')\n            [PSCustomObject]@{\n                PSTypeName = 'PSReminderTag'\n                Tag        = $_.Key\n                Style      = '{0}{1}{2}' -f $($_.Value), $stringValue, $(\"`e[0m\")\n            }\n        }\n        return $r\n    }\n} #close PSReminderPreference class\n\nUpdate-TypeData -TypeName PSReminder -DefaultDisplayPropertySet ID, Date, Event, Comment -Force\nUpdate-TypeData -TypeName PSReminder -MemberType AliasProperty -MemberName Name -Value Event -Force\nUpdate-TypeData -Typename PSReminder -MemberType ScriptProperty -MemberName Countdown -value {\n    $ts = $this.Date - (Get-Date)\n    if ($ts.TotalMinutes -lt 0) {\n        $ts = New-TimeSpan -Minutes 0\n    }\n    $ts\n}\n```\n\nBy default, expired reminders are not displayed unless explicitly requested.\n\n```powershell\nGet-PSReminder -Expired\n```\n\nThese items remain in the primary event table. It is recommended that you periodically archive expired reminders. You can do this with the `Move-PSReminder` command. This command has an alias of 'Archive-PSReminder`.\n\n```powershell\nGet-PSReminder -Expired | Move-PSReminder\n```\n\nThis is a manual process because you may want to review and adjust expired events before archiving them. If you want to automate the process, add the above command to your PowerShell profile script.\n\n\u003e *There is no module command to move an archived reminder back to the event table.*\n\nYou can use `Get-PSReminder` to view archived events.\n\n```shell\nPS C:\\\u003e Get-PSReminder -Archived | Select-Object -last 3\n\nID   Event              Comment Date                 ArchivedDate\n--   -----              ------- ----                 ------------\n1084 PSTweetChat                5/3/2024 1:00:00 PM  7/22/2024 2:05:01 PM\n1101 Onramp 25 Planning         5/31/2024 2:00:00 PM 7/22/2024 2:05:01 PM\n1085 PSTweetChat                6/7/2024 1:00:00 PM  7/23/2024 8:15:22 AM\n```\n\n## :tada: Display Formatting\n\nThe default display using `Get-PSReminder` uses a custom formatting file. The default view will show expired items using a default ANSI escape sequence.\n\n![Expired formatting](images/expired-psreminder.png)\n\nItems that will be due in 24 hours will be highlighted in red. Items that are due in 48 hours will be highlighted in yellow. Otherwise, if the item is tagged and there is a definition in $PSReminderTag`, the ANSI escape sequence will be used.\n\n![PSReminder display](images/psreminder-formatting.png)\n\nIn this example, the last item is tagged as `Work` and the ANSI escape sequence for `Work` is used.\n\nThere is also a custom table view called `Date` which will group reminders by custom property of `Month Year`.\n\n```shell\nPS C:\\\u003e Get-PSReminder | Format-Table -view date\nPS C:\\\u003e Get-PSReminder -days 45 | Format-Table -view date\n\n   Month: Jul 2024\n\nID     Event                     Comment        Date\n--     -----                     -------        ----\n1114   Morning standup                          7/23/2024 8:00:00 AM\n1102   Haircut                                  7/24/2024 8:30:00 AM\n1109   QuickBooks Meeting                       7/25/2024 9:00:00 AM\n\n   Month: Aug 2024\n\nID     Event                     Comment        Date\n--     -----                     -------        ----\n1112   Alpha Meeting                            8/1/2024 8:00:00 AM\n1108   PSTweetChat               online         8/2/2024 1:00:00 PM\n1075   Cmdlet Working Group                     8/7/2024 12:00:00 PM\n076   Cmdlet Working Group                      8/21/2024 12:00:00 PM\n\n   Month: Sep 2024\n\nID     Event                     Comment        Date\n--     -----                     -------        ----\n1107   Labor Day                                9/1/2024 12:00:00 PM\n```\n\nThis view does not use tag highlighting.\n\n`Get-PSReminderPreference` will display the current preference settings using a custom view.\n\n\n![Get-PSReminderPreference](images/get-psreminderpreference.png)\n\n## :ballot_box_with_check: Database Management\n\nYou can use the `Get-PSReminderDBInformation` command to get a summary of the database tables and the number of records in each table.\n\n```shell\nPS C:\\\u003e Get-PSReminderDBInformation\n\n   Database: C:\\Users\\Jeff\\PSReminder.db [80KB]\n\nAge         Reminders Expired Archived\n---         --------- ------- --------\n00.01:42:29        84      61      754\n```\n\nThis is a rich object.\n\n```shell\nPS C:\\\u003e Get-PSReminderDBInformation | Select-Object *\n\nAge           : 1.14:54:09.4753532\nName          : PSReminder.db\nPath          : C:\\Users\\Jeff\\PSReminder.db\nPageSize      : 4096\nPageCount     : 21\nReminders     : 21\nExpired       : 23\nArchived      : 807\nSize          : 86016\nCreated       : 7/23/2024 3:59:03 PM\nModified      : 8/11/2024 7:20:31 PM\nAuthor        : THINKX1-JH\\Jeff\nComment       : Imported from a Tickle database\nEncoding      : UTF-8\nSQLiteVersion : 3.42.0\nDate          : 8/13/2024 10:14:40 AM\nComputername  : PROSPERO\n```\n\n\u003e The `Age` property is a script property.\n\nThe object has a `RefreshInfo()` method. If you save the object to a variable, you can refresh the object with the current database information.\n\n```shell\nPS C:\\\u003e $db = Get-PSReminderDBInformation\nPS C:\\\u003e $db.GetType().Name\nPSReminderDBInfo\nPS C:\\\u003e $db | Get-Member RefreshInfo\n\n   TypeName: PSReminderDBInfo\n\nName        MemberType Definition\n----        ---------- ----------\nRefreshInfo Method     PSReminderDBInfo RefreshInfo()\n\nPS C:\\\u003e $db.RefreshInfo()\n\n   Database: C:\\Users\\Jeff\\PSReminder.db [84KB]\n\nAge         Reminders Expired Archived\n---         --------- ------- --------\n01.15:24:26        21      23      807\n```\n\nSince the SQLite database is stored as a single file, there are limited management tasks compared to a full SQL Server instance. It is recommended that you backup the database file with your standard file backup process.\n\n### Exporting the Database\n\n```powershell\nExport-PSReminderDatabase -Path c:\\temp\\jh-psreminder.json\n```\n\nYou must specify a JSON file. This command doesn't export the database structure, only the contents of the database.\n\n### Importing a Database\n\nIf you exported a PSReminder database using `Export-PSReminderDatabase`, you can import it and restore the database using `Import-PSReminderDatabase`.\n\n```powershell\nImport-PSReminderDatabase -Path c:\\temp\\jh-psreminder.json\n```\n\nThe default behavior is to create a new database file using the `$PSReminderDB` preference variable. This file must not exist before running `Import-PSReminderDatabase`. The function will create the database file and import the data into the appropriate tables.\n\n### :file_folder: Importing Data\n\nThe parameters for `Add-PSReminder` accept pipeline input for new events. This makes it easy to import data from a CSV file.\n\n```shell\nPS C:\\\u003e Import-Csv C:\\temp\\reminder.csv | Add-PSReminder -Verbose -PassThru\nVERBOSE: [14:45:36.8202189 BEGIN  ] Starting Add-PSReminder\nVERBOSE: [14:45:36.8203945 BEGIN  ] Running under PowerShell version 7.4.3\nVERBOSE: [14:45:36.8209222 PROCESS] Adding event 'Alpha Meeting'\nVERBOSE: Performing the operation \"Add-PSReminder\" on target \"[2024-08-01 08:00:00] \".\nVERBOSE: [14:45:36.8211739 PROCESS] INSERT INTO EventData (EventDate,EventName,EventComment,Tags) VALUES ('2024-08-01 08:00:00','Alpha Meeting','','testing')\nVERBOSE: [14:45:36.8591463 PROCESS] Adding event 'Alpha Meeting 2'\nVERBOSE: Performing the operation \"Add-PSReminder\" on target \"[2024-08-15 08:00:00] \".\nVERBOSE: [14:45:36.8597296 PROCESS] INSERT INTO EventData (EventDate,EventName,EventComment,Tags) VALUES ('2024-08-15 08:00:00','Alpha Meeting 2','','testing')\nVERBOSE: [14:45:36.8717859 END    ] Ending Add-PSReminder\nID   Event           Comment               Date    Countdown\n--   -----           -------               ----    ---------\n1110 Alpha Meeting            8/1/2024 08:00 AM   9.17:14:23\n1111 Alpha Meeting 2         8/15/2024 08:00 AM  23.17:14:23\n```\n\n### :x: Removing Data\n\nIf you need to delete a reminder, use the `Remove-PSReminder` command. You must specify the ID of the reminder you want to delete, although you can take advantage of the pipeline.\n\n```shell\nPS C:\\\u003e Get-PSReminder -Tag Testing | Remove-PSReminder -WhatIf\nWhat if: Performing the operation \"Remove-PSReminder\" on target \"Event ID 1110\".\nWhat if: Performing the operation \"Remove-PSReminder\" on target \"Event ID 1111\"\n```\n\n\u003e *Removing an item may affect ID numbering which auto increments. This is not a major problem but be aware that your IDs may not be sequential if you remove newly added items.*\n\n## :truck: Migrating from MyTickle\n\nIf you are a user of the [MyTickle] module, you might want to migrate that data to a new `PSReminder` database. The process is quite simple. First, make sure your Tickle database is up to date. When you import the data, archived events will be imported into the archived table. But you are welcome to archive tickle events before you migrate.\n\nWhen ready export the Tickle database.\n\n```powershell\nExport-TickleDatabase -Path c:\\temp\\tickledb.xml\n```\n\nIt is expected that if you are migrating data you do not have an existing PSReminder database. If you do, you will need to **delete it**. If you don't, you will get a warning when you try to import the data.\n\nNow, import the data into a new PSReminder database\n\n```powershell\nImport-FromTickleDatabase -Path c:\\temp\\tickledb.xml\n```\n\nThat's it! Archived events will be added to the archive table. Everything else will be added to the event table.\n\n\u003e *Any events with apostrophes in the event name will have the apostrophe stripped out.*\n\nYou may want to tag the imported events. You can do this with the `Set-PSReminder` command.\n\n```powershell\nGet-PSReminder | where name -match `PSHSummit` | Set-PSReminder -Tags travel,event\n```\n\nIt is recommended that you archive expired events.\n\n```powershell\nGet-PSReminder -Expired | Move-PSReminder\n```\n\n\u003e *Be sure to tag expired events BEFORE you archive them.*\n\nAt this point, you can begin using the PSReminder commands and uninstall the MyTickle module.\n\n## :notebook: Module Notes\n\nThis module has a few design differences from other modules you may be familiar with. The module uses localized string data for messaging. This means that the module can be localized for different languages. If you would like to contribute a translation, I would welcome a pull request.\n\nThis module also uses customized `Verbose` messaging using a private function.\n\n![custom verbose messaging](images/verbose.png)\n\nThe command is still using the `Verbose` message stream, but the message text has been customized using ANSI escape sequences. If you save the output to a file, the escape sequences will be preserved.\n\n## Known Limitations\n\nThis module has had minimal testing on non-Windows platforms. If you find a problem, please post an Issue. The module does not have commands for the following activities, although some of these items could be scripted using `Invoke-mySqliteQuery`.\n\n- There is no way to remove or modify items from the archive table.\n- The default formatting for 24 and 48-hour reminders is hard-coded and not user-definable. This might change in a future release.\n- The database is not password-protected.\n- There are no module commands for modifying the database metadata table.\n\n## :arrow_forward: Roadmap\n\nThere aren't many enhancements planned for this module. If there is something you would like to see or if you have questions or comments, please use the repository's Discussions section. For bugs and other problems, please file an issue.\n\n## Credits\n\n![Reminder Icon](images/icons8-reminder-85.png) [Module icon](https://icons8.com/icon/mYoNj7pHoJ-q/reminder) by [Icons8](https://icons8.com)\n\n[MyTickle]: https://github.com/jdhitsolutions/myTickle\n[MySqlite]: https://github.com/jdhitsolutions/MySQLite\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjdhitsolutions%2Fpsreminderlite","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjdhitsolutions%2Fpsreminderlite","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjdhitsolutions%2Fpsreminderlite/lists"}