Skip to content

Releases: Apteco/AptecoPSFramework

v0.3.0

10 Jun 16:40
Compare
Choose a tag to compare

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 to false
  • 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

02 Nov 12:03
Compare
Choose a tag to compare

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

02 Nov 10:15
Compare
Choose a tag to compare

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