Releases: Apteco/AptecoPSFramework
v0.3.0
Apteco email support
Now that you can use Apteco email to send out marketing and transactional emails, you maybe need something to pull your subscription information back into your Apteco system. This is one possibility to load and transform the data. More information can be found here: https://github.com/Apteco/AptecoPSFramework/tree/main/AptecoPSFramework/plugins/Aptecoemail
DuckDB support
Recently DuckDB has released version 1.0 and it really is a great addition to handle data like a "swiss knife". You can query directly on json or csv files, can rewrite files. Connected to sql databases you can join data amazing fast and support a lot of useful functions and great flexibility.
Besides the support in Apteco FastStats Designer this is now supported by this Framework out-of-the-box. This also allows you to script some nice things like data enrichment and transformation before Designer starts or the extraction phase is finished.
Be aware that DuckDB is 64bit. If a plugin uses it then you need to enforce 64bit with a new flag called Force64bit=true
in the integration parameters of your upstream channel.
You can find more information here: https://github.com/Apteco/AptecoPSFramework?tab=readme-ov-file#duckdb-support
Installation
If you want to install the framework from scratch, please follow the instructions here: https://github.com/Apteco/AptecoPSFramework/wiki/Installation-and-Update
Update
To update the framework we recommend to open a new PowerShell window as admistrator. Then execute
# Update the module
Update-Module AptecoPSFramework
# Go to your location where you have your current settings.json or settings.yaml file
Set-Location "D:\Scripts\AptecoPSFramework\CleverReach"
# Update other dependencies
Import-Module AptecoPSFramework
Install-AptecoPSFramework
Optionally: To use newer setting parameters like the ones for DuckDB, please open a new PowerShell window with the users that services/scripts are using and execute something like
# Go to your location where you have your current settings.json or settings.yaml file
Set-Location "D:\Scripts\AptecoPSFramework\CleverReach"
# Import Module and load your settings
Import-Module AptecoPSFramework
# Load your settings
# or alternatively settings.yaml or cleverreach.yaml or how your settings file is called
Import-Settings ".\settings.json"
# Export them directly in the original file
# The file won't be overwritten, it will be renamed and a new file will be created
Export-Settings ".\settings.json"
Full list of changes
- Feature: Adding DuckDB as dependencies to the framework by default so the campaign file can be read (and written) through DuckDB query more effectively than through a .NET streamreader or streamwriter when you want to transform the file if you already have installed the AptecoPSFramework, make sure to re-install the dependencies in your settings file directory with
Install-AptecoPSFramework
- Feature: Fixed the installation script to also install local and global packages
- Feature: Adding a default protocol handler that is recommended by Microsoft, if setting the setting
changeTLS
tofalse
- Feature: Added some hints about DuckDB in the readme.md
- Feature: Added a better handling for lib folder with other names or other paths than the default
- Feature: Added DuckDB functions to read data as pscustom or execute a scalar query
- Feature: DuckDB will be loaded automatically when plugin is loaded, otherwise you can use the function Import-Lib
- Fix: Added a where-object for CleverReach when not using additional parameters like proxy etc.
- Fix: Special characters are getting removed vom CleverReach mailing and group names via Regex
[^\w\s]
Full Changelog: v0.2.0...v0.3.0
v0.2.0 Yaml support for settings / CleverReach Improvements
News
CleverReach
- Support of Text-Mailings (already made in 0.1.8) - Instead of using a default mailing type parameter, the mailing type will be read from the used mailing (html, text or html/text)
- Fixed output for validations (showed 1 as valid when there is 0 valid entries)
- Putting failed entries also in log and returns it to Orbit Monitoring
- Fixed HTML Preview for global attributes
YAML support
This is intended to support yaml for saving and loading settings.
So instead of
Export-Settings ".\settings.json"
you can save it with another extension like .yaml
or .yml
Export-Settings ".\settings.yml"
To migrate your settings you could also load your json and export as yaml
Import-Settings ".\settings.json"
Export-Settings ".\settings.yaml"
For the moment yaml will not be the default to allow more testing, but it looks promising as another option and you can comment in your yaml like (this won't be retained when doing a new export)
logfile: ""
encoding: utf8
# A multiline
# comment
nameConcatChar: ' ~ '
currentDate: 2023-11-02 12:41:18
plugin:
guid: ""
name: ""
version: 0.0.1
lastUpdate: 2023-06-15 # And after a line
pluginFolders: []
changeTLS: true
allowedProtocols:
# This is the first comment
- Tls13
# And the second comment
- Tls12
keyfile: ""
powershellExePath: powershell.exe
Update
There are new dependencies to the powershell-yaml
module, so update your framework first and then run the installation again:
Update-Module AptecoPSFramework -Verbose
Install-AptecoPSFramework -Verbose
v0.1.6 Flattened associations for Hubspot
Added a new functionality to load associations with Hubspot. So if you use this command
Get-CRMData -Object contacts -Associations companies -ExtendAssociations "contact_to_company" -limit 10
You receive a table with the contact to company associations. The -Associations
flag was already existing, but was only useful together with the -AddWrapper
flag. The -ExtendAssociations
now allows you to define multiple associations loaded into your properties so you don't need to handle subobjects or json. This options creates a new column with the title that you have entered and fills it either with $null
or the first ID. If you need all IDs, please use -Associations
together with -AddWrapper
createdate hs_object_id lastmodifieddate contact_to_company
---------- ------------ ---------------- ------------------
2020-06-18T06:40:47.992Z 41101 2023-10-19T14:39:15.495Z 7981616015
2019-03-14T16:17:54.478Z 108802 2023-08-07T09:50:06.778Z
2019-03-14T16:17:54.507Z 108804 2023-08-07T09:50:09.493Z
2019-03-14T16:17:54.457Z 108852 2023-10-16T14:25:46.942Z 10944278300
2019-03-14T16:17:54.490Z 109251 2023-08-07T10:30:02.657Z
2019-03-14T16:17:54.858Z 109552 2023-08-07T10:30:12.820Z
2019-03-14T16:17:54.938Z 109602 2023-08-07T09:50:19.458Z
2019-04-04T09:00:28.040Z 173101 2023-08-07T10:30:01.473Z 9015900279
2019-04-16T09:23:55.665Z 185901 2023-08-07T10:30:13.103Z
2019-04-16T12:59:13.701Z 200652 2023-10-13T09:56:21.754Z 4764279460