Skip to content

Commit

Permalink
Updated repo structure
Browse files Browse the repository at this point in the history
  • Loading branch information
ronan-deshays committed Nov 5, 2023
1 parent 7d398b8 commit 5e37dd8
Show file tree
Hide file tree
Showing 19 changed files with 17 additions and 22 deletions.
File renamed without changes.
File renamed without changes.
Binary file not shown.
Binary file not shown.
32 changes: 10 additions & 22 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,12 @@ Based on Power Platform and Google Alerts, this assistant collects automaticaly

strategic monitoring ; business intelligence ; legal watch ; regulatory surveillance ; scientific monitoring

## Features

* Collects each day new articles from given RSS feeds (e.g. Google Alerts)
* Sort, rate and delete articles detected by the assistant
* Filter articles to only see articles not already rated

## Prerequisites

(1) "professional Microsoft account" means that the user account has a Microsoft 365 E3 licence or equivalent (see [Microsoft entreprise plans comparison](https://www.microsoft.com/microsoft-365/compare-microsoft-365-enterprise-plans)), some educational or non profit plans may also work.
Expand Down Expand Up @@ -33,7 +39,7 @@ A professional Microsoft account (1), which gives access to the following tools

### Sharepoint List for RSS flows and articles

1. Download on this GitHub repository the latest release of "articles_sharepoint_list_canva.xlsx" and "RSS_feeds_sharepoint_list_canva.xlsx";
1. Download the latest release of "articles_sharepoint_list_canva.xlsx" [here](https://github.com/ronan-deshays/strategic-monitoring-digital-assistant/releases/latest/download/articles_sharepoint_list_canva.xlsx) and "RSS_feeds_sharepoint_list_canva.xlsx" [here](https://github.com/ronan-deshays/strategic-monitoring-digital-assistant/releases/latest/download/RSS_feeds_sharepoint_list_canva.xlsx) ;

**For each Excel File :**
2. Go to a sharepoint website > All Apps > Lists > New List > From Excel > Upload local file ;
Expand All @@ -44,33 +50,15 @@ Select one of the files that you previously downloaded.

### Power Automate RSS gatherer

1. Download on this GitHub repository the latest release of "rss_gatherer_power_automate_package.zip" ;
1. Download the latest release of "rss_gatherer_power_automate_package.zip" [here](https://github.com/ronan-deshays/strategic-monitoring-digital-assistant/releases/latest/download/rss_gatherer_power_automate_package.zip) ;
2. Go to the Power Automate **Cloud** editor (not Power Automate Desktop) > My flows > Import > Import Package (Legacy) > Upload a .zip package file ;
Select the "rss_gatherer_power_automate_package.zip" file that you previously downloaded ;
[details missing]

### Power Apps articles viewer

1. Download on this GitHub repository the [latest release asset](https://github.com/ronan-deshays/strategic-monitoring-digital-assistant/releases) named "user_interface_power_apps_package.zip" ;
1. Download the latest release of "user_interface_power_apps_package.zip" [here](https://github.com/ronan-deshays/strategic-monitoring-digital-assistant/releases/latest/download/user_interface_power_apps_package.zip) ;
2. Go to the Power Apps editor website > Apps > Import canvas app > Upload a .zip package file ;
Select the "user_interface_power_apps_package.zip" file that you previously downloaded ;
3. Go through configuration steps as you like > Click the "Import" button > Open and test your app in the Power Apps Studio ;
[details missing]

## Features

### Specific to this assistant

* Collects each day new articles from given RSS feeds (e.g. Google Alerts)
* Sort, rate and delete articles detected by the assistant
* Filter articles to only see articles not already rated

### Shared with other Power Platform solutions

* Works on computers and mobile devices.
* The Sharepoint list of articles can be exported to Excel (e.g. to perform further data visualisation)

## Important notice

* Files located in Power Apps and Power Automate folders where automatically generated by these softwares.
* This assistant is based on a canva app provided by Power Apps and an automation to gather RSS feeds provided by Power Automate Cloud.
[details missing]
Binary file removed rss_gatherer_power_automate_package.zip
Binary file not shown.
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"shared_rss":"60f3b0bc-0b40-418e-aa2f-f3f55b3b6773","shared_sharepointonline":"bb68265f-1a77-4c14-9c9d-acc0c605f15d"}
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"shared_rss":"83724ae2-996d-47f8-8081-c2e082c3028d","shared_sharepointonline":"5ee91427-c382-483d-b197-c06ece03aada"}
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"name":"93394ff2-e2db-499e-aa6d-b8252aaad0c0","id":"/providers/Microsoft.Flow/flows/93394ff2-e2db-499e-aa6d-b8252aaad0c0","type":"Microsoft.Flow/flows","properties":{"apiId":"/providers/Microsoft.PowerApps/apis/shared_logicflows","displayName":"Scanner les flux RSS tous les jours","definition":{"metadata":{"workflowEntityId":null,"processAdvisorMetadata":null,"flowclientsuspensionreason":"None","flowclientsuspensiontime":null,"creator":{"id":"c14bc872-b021-4241-9dc0-45168025f10a","type":"User","tenantId":"654d7977-996a-4c8c-9f5e-5df3fced0295"},"provisioningMethod":"FromDefinition","failureAlertSubscription":true,"clientLastModifiedTime":"2022-06-17T13:25:57.7309738Z","flowclientsuspensionreasondetails":null},"$schema":"https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#","contentVersion":"1.0.0.0","parameters":{"$connections":{"defaultValue":{},"type":"Object"},"$authentication":{"defaultValue":{},"type":"SecureObject"}},"triggers":{"Recurrence":{"recurrence":{"frequency":"Day","interval":1},"metadata":{"operationMetadataId":"4ba34b6b-b313-46ae-9604-3bf061d8c392"},"type":"Recurrence"}},"actions":{"Appliquer_à_chaque_flux_RSS_de_la_liste":{"foreach":"@outputs('Obtenir_les_URL_des_flux_RSS')?['body/value']","actions":{"Afficher_la_liste_de_tous_les_éléments_du_flux_RSS_2":{"runAfter":{},"metadata":{"operationMetadataId":"fb8e81a1-4312-458a-a407-02a399bfe41c"},"type":"OpenApiConnection","inputs":{"host":{"apiId":"/providers/Microsoft.PowerApps/apis/shared_rss","connectionName":"shared_rss","operationId":"ListFeedItems"},"parameters":{"feedUrl":"@items('Appliquer_à_chaque_flux_RSS_de_la_liste')?['URLfluxRSS']","sinceProperty":"PublishDate"},"authentication":"@parameters('$authentication')"}},"Appliquer_à_chaque_élément_du_flux_RSS":{"foreach":"@body('Afficher_la_liste_de_tous_les_éléments_du_flux_RSS_2')","actions":{"Set_whitelisted_To_false":{"runAfter":{},"metadata":{"operationMetadataId":"b09a489c-e1c0-491e-ad74-d2857cdacd10"},"type":"SetVariable","inputs":{"name":"whitelisted","value":"@true"}},"For_Each_whitelisted_word_to_search":{"foreach":"@json(items('Appliquer_à_chaque_flux_RSS_de_la_liste')?['Mots_inclus'])","actions":{"If_summary_Or_title_contains_whitelisted_word":{"actions":{},"runAfter":{},"else":{"actions":{"Set_whitelisted_To_true":{"runAfter":{},"metadata":{"operationMetadataId":"6ff2aecd-4eb6-40a2-abe6-feb0ed23a662"},"type":"SetVariable","inputs":{"name":"whitelisted","value":"@false"}}}},"expression":{"or":[{"contains":["@variables('current_summary')","@items('For_Each_whitelisted_word_to_search')"]},{"contains":["@variables('current_title')","@items('For_Each_whitelisted_word_to_search')"]}]},"metadata":{"operationMetadataId":"de45f457-1259-4e51-b6a7-7805a91b7b71"},"type":"If"}},"runAfter":{"Set_current_summary_To_summary":["Succeeded"]},"metadata":{"operationMetadataId":"e2298cbe-952c-4f58-a230-1c0916b144cc"},"type":"Foreach"},"If_feed_item_whitelisted":{"actions":{"Set_url_extract_to_check_To_substring_of_url":{"runAfter":{},"metadata":{"operationMetadataId":"977160ae-eb2d-42ac-b6fc-3630c1682ee7"},"type":"SetVariable","inputs":{"name":"url_extract_to_check","value":"@{substring(concat(items('Appliquer_à_chaque_élément_du_flux_RSS')?['primaryLink'],variables('long_empty_string')),0,250)}"}},"Get_items_to_check_duplicates":{"runAfter":{"Set_url_extract_to_check_To_substring_of_url":["Succeeded"]},"metadata":{"operationMetadataId":"ff355a8f-7583-40f5-9b67-5c5f33e69047"},"type":"OpenApiConnection","inputs":{"host":{"apiId":"/providers/Microsoft.PowerApps/apis/shared_sharepointonline","connectionName":"shared_sharepointonline","operationId":"GetItems"},"parameters":{"dataset":"https://example_companygroup-my.sharepoint.com/personal/ronan_deshays_example_company_com","table":"043e9518-a62c-4059-a417-902cddc63431","$filter":"LinkTitle eq '@{variables('url_extract_to_check')}'","$top":1000,"view":"1b29971f-803b-4249-905e-fe2d57033eca"},"authentication":"@parameters('$authentication')"}},"If_no_duplicate_exist":{"actions":{"Créer_un_élément":{"runAfter":{},"metadata":{"operationMetadataId":"7bb0e59d-bc6f-4bb9-b559-40cf7255f98f"},"type":"OpenApiConnection","inputs":{"host":{"apiId":"/providers/Microsoft.PowerApps/apis/shared_sharepointonline","connectionName":"shared_sharepointonline","operationId":"PostItem"},"parameters":{"dataset":"https://example_companygroup-my.sharepoint.com/personal/ronan_deshays_example_company_com","table":"043e9518-a62c-4059-a417-902cddc63431","item/Title":"@variables('url_extract_to_check')","item/R_x00e9_sum_x00e9_":"@items('Appliquer_à_chaque_élément_du_flux_RSS')?['summary']","item/Pertinence":0,"item/NomfluxRSSsource":"@items('Appliquer_à_chaque_flux_RSS_de_la_liste')?['Title']","item/Titrebrut":"@items('Appliquer_à_chaque_élément_du_flux_RSS')?['title']","item/URLbrute":"@items('Appliquer_à_chaque_élément_du_flux_RSS')?['primaryLink']"},"authentication":"@parameters('$authentication')"}}},"runAfter":{"Get_items_to_check_duplicates":["Succeeded"]},"expression":{"equals":["@length(body('Get_items_to_check_duplicates')?['value'])",0]},"metadata":{"operationMetadataId":"25fc9b36-6fe5-4713-bea1-2a4275ea86e1"},"type":"If"}},"runAfter":{"For_Each_whitelisted_word_to_search":["Succeeded"]},"expression":{"equals":["@variables('whitelisted')","@true"]},"metadata":{"operationMetadataId":"2ab3bb99-80d1-46c8-95c6-a77a41437e48"},"type":"If"},"Set_current_title_To_title":{"runAfter":{"Set_whitelisted_To_false":["Succeeded"]},"metadata":{"operationMetadataId":"419a3fc1-56f0-484c-b6e3-63f435319e6f"},"type":"SetVariable","inputs":{"name":"current_title","value":"@{items('Appliquer_à_chaque_élément_du_flux_RSS')?['title']}"}},"Set_current_summary_To_summary":{"runAfter":{"Set_current_title_To_title":["Succeeded"]},"metadata":{"operationMetadataId":"87970df6-d958-461a-bb92-5dc2111f7af5"},"type":"SetVariable","inputs":{"name":"current_summary","value":"@{items('Appliquer_à_chaque_élément_du_flux_RSS')?['summary']}"}}},"runAfter":{"Afficher_la_liste_de_tous_les_éléments_du_flux_RSS_2":["Succeeded"]},"metadata":{"operationMetadataId":"f2dce4e4-0068-4e93-911d-f8185498eff5"},"type":"Foreach"}},"runAfter":{"Init_current_title_as_string":["Succeeded"]},"metadata":{"operationMetadataId":"2156d59e-9bae-4e4e-a96e-d12a1d485f7f"},"type":"Foreach"},"Obtenir_les_URL_des_flux_RSS":{"runAfter":{},"metadata":{"operationMetadataId":"51f5797e-965b-40a5-b3aa-785002fe7423"},"type":"OpenApiConnection","inputs":{"host":{"apiId":"/providers/Microsoft.PowerApps/apis/shared_sharepointonline","connectionName":"shared_sharepointonline","operationId":"GetItems"},"parameters":{"dataset":"https://example_companygroup-my.sharepoint.com/personal/ronan_deshays_example_company_com","table":"efb678b5-d21e-4438-9715-aadd5ee1c621","$filter":"Scanner_ce_flux eq 1"},"authentication":"@parameters('$authentication')"}},"Init_url_extract_to_check_as_string":{"runAfter":{"Obtenir_les_URL_des_flux_RSS":["Succeeded"]},"metadata":{"operationMetadataId":"5f791937-e5fa-4280-9b08-36e9e5e94073"},"type":"InitializeVariable","inputs":{"variables":[{"name":"url_extract_to_check","type":"string","value":" "}]}},"Init_long_empty_string_as_string__":{"runAfter":{"Init_url_extract_to_check_as_string":["Succeeded"]},"metadata":{"operationMetadataId":"9f279221-14c3-4596-af45-c06dbadec98e"},"type":"InitializeVariable","inputs":{"variables":[{"name":"long_empty_string","type":"string","value":"_________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________"}]}},"Init_whitelisted_as_false_Boolean":{"runAfter":{"Init_long_empty_string_as_string__":["Succeeded"]},"metadata":{"operationMetadataId":"4c895fa2-718a-4aa5-86eb-06b7b203150e"},"type":"InitializeVariable","inputs":{"variables":[{"name":"whitelisted","type":"boolean","value":"@false"}]}},"Init_current_summary_as_string":{"runAfter":{"Init_whitelisted_as_false_Boolean":["Succeeded"]},"metadata":{"operationMetadataId":"703208c4-7579-469e-aaae-7e595eae03cd"},"type":"InitializeVariable","inputs":{"variables":[{"name":"current_summary","type":"string"}]}},"Init_current_title_as_string":{"runAfter":{"Init_current_summary_as_string":["Succeeded"]},"metadata":{"operationMetadataId":"122947bc-f590-4b3a-af00-ce4e2b8739e7"},"type":"InitializeVariable","inputs":{"variables":[{"name":"current_title","type":"string"}]}}},"outputs":{},"description":"Ajouter un nouvel élément à une liste SharePoint, puis envoyer un e-mail quand un bouton ou un lien est sélectionné dans Power Apps."},"connectionReferences":{"shared_rss":{"connectionName":"shared-rss-90800370-79b2-44af-aab5-7134b5830e2f","source":"Embedded","id":"/providers/Microsoft.PowerApps/apis/shared_rss","tier":"NotSpecified"},"shared_sharepointonline":{"connectionName":"shared-sharepointonl-5222d55b-8b70-48fe-8b20-f7212ed921be","source":"Embedded","id":"/providers/Microsoft.PowerApps/apis/shared_sharepointonline","tier":"NotSpecified"}},"flowFailureAlertSubscribed":false,"isManaged":false}}
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"packageSchemaVersion":"1.0","flowAssets":{"assetPaths":["fc1f74f4-bf48-4306-8cae-7165045d8493"]}}
1 change: 1 addition & 0 deletions rss_gatherer_power_automate_package/manifest.json
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"schema":"1.0","details":{"displayName":"RSS feeds gatherer","description":"","createdTime":"2022-08-10T09:49:57.1555676Z","packageTelemetryId":"d44fb9b6-b64f-4d94-aa4e-a56b96ba61fa","creator":"N/A","sourceEnvironment":""},"resources":{"fc1f74f4-bf48-4306-8cae-7165045d8493":{"type":"Microsoft.Flow/flows","suggestedCreationType":"New","creationType":"Existing, New, Update","details":{"displayName":"Scanner les flux RSS tous les jours"},"configurableBy":"User","hierarchy":"Root","dependsOn":["60f3b0bc-0b40-418e-aa2f-f3f55b3b6773","83724ae2-996d-47f8-8081-c2e082c3028d","bb68265f-1a77-4c14-9c9d-acc0c605f15d","5ee91427-c382-483d-b197-c06ece03aada"]},"60f3b0bc-0b40-418e-aa2f-f3f55b3b6773":{"id":"/providers/Microsoft.PowerApps/apis/shared_rss","name":"shared_rss","type":"Microsoft.PowerApps/apis","suggestedCreationType":"Existing","details":{"displayName":"RSS","iconUri":"https://connectoricons-prod.azureedge.net/releases/v1.0.1590/1.0.1590.2954/rss/icon.png"},"configurableBy":"System","hierarchy":"Child","dependsOn":[]},"83724ae2-996d-47f8-8081-c2e082c3028d":{"type":"Microsoft.PowerApps/apis/connections","suggestedCreationType":"Existing","creationType":"Existing","details":{"displayName":"RSS","iconUri":"https://connectoricons-prod.azureedge.net/releases/v1.0.1567/1.0.1567.2748/rss/icon.png"},"configurableBy":"User","hierarchy":"Child","dependsOn":["60f3b0bc-0b40-418e-aa2f-f3f55b3b6773"]},"bb68265f-1a77-4c14-9c9d-acc0c605f15d":{"id":"/providers/Microsoft.PowerApps/apis/shared_sharepointonline","name":"shared_sharepointonline","type":"Microsoft.PowerApps/apis","suggestedCreationType":"Existing","details":{"displayName":"SharePoint","iconUri":"https://connectoricons-prod.azureedge.net/releases/v1.0.1591/1.0.1591.2961/sharepointonline/icon.png"},"configurableBy":"System","hierarchy":"Child","dependsOn":[]},"5ee91427-c382-483d-b197-c06ece03aada":{"type":"Microsoft.PowerApps/apis/connections","suggestedCreationType":"Existing","creationType":"Existing","details":{"displayName":"example_person@example_company.com","iconUri":"https://connectoricons-prod.azureedge.net/releases/v1.0.1568/1.0.1568.2757/sharepointonline/icon.png"},"configurableBy":"User","hierarchy":"Child","dependsOn":["bb68265f-1a77-4c14-9c9d-acc0c605f15d"]}}}
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"schemaVersion":"1.0","appDefinitionTemplate":{"id":"/providers/Microsoft.PowerApps/apps/","type":"Microsoft.PowerApps/apps","tags":{"primaryDeviceWidth":"640","primaryDeviceHeight":"1136","supportsPortrait":"true","supportsLandscape":"true","primaryFormFactor":"Phone","publisherVersion":"3.22054.15","minimumRequiredApiVersion":"2.2.0","hasComponent":"false","hasUnlockedComponent":"false","isUnifiedRootApp":"false","sienaVersion":"20220607T160139Z-3.22054.15.0"},"properties":{"appVersion":"2022-06-07T16:01:39Z","lifeCycleId":"Published","createdByClientVersion":{"major":3,"minor":22054,"build":15,"revision":0,"majorRevision":0,"minorRevision":0},"minClientVersion":{"major":3,"minor":22054,"build":15,"revision":0,"majorRevision":0,"minorRevision":0},"backgroundColor":"rgba(0, 0, 0, 1)","backgroundImageUri":"/3523426680532018140/N5db8ec14-2ae3-42f8-b125-f05bb8c1dc9f-logoSmallFile","displayName":"Assistant veille","description":"Visualiseur d'une liste Sharepoint d'articles collectés via des flux RSS","commitMessage":"fix bad display of item title","appUris":{"documentUri":{"value":"/3523426680532018140/N7bc46bb8-57cc-4e1e-889f-f5dfc1b53e18-document.msapp"},"imageUris":[],"additionalUris":[]},"createdTime":"0001-01-01T00:00:00Z","lastModifiedTime":"0001-01-01T00:00:00Z","sharedGroupsCount":0,"sharedUsersCount":0,"icons":{"smallIconUri":"/3523426680532018140/N96627e31-27e9-444b-9430-e7ad038f0dfa-small.png","mediumIconUri":"/3523426680532018140/N6e7b9aeb-cac0-4f5c-beaa-cea8e04a75f4-medium.png","largeIconUri":"/3523426680532018140/Ne1300291-39d0-4f2a-be41-d848d0edd1ea-large.png","wideIconUri":"/3523426680532018140/Nb7a402e5-ba17-4c65-b30a-50ef3565e00a-wide.png"},"connectionReferences":{"8c786a97-c6e1-49d7-be3e-9f5a6479a6a3":{"id":"bb68265f-1a77-4c14-9c9d-acc0c605f15d","displayName":"SharePoint","iconUri":"https://connectoricons-prod.azureedge.net/releases/v1.0.1578/1.0.1578.2813/sharepointonline/icon.png","dataSources":["Articles","liste des flux RSS de veille"],"dependencies":[],"dependents":[],"parameterHints":{},"parameterHintsV2":{},"isOnPremiseConnection":false,"bypassConsent":false,"dataSets":{"https://example_companygroup-my.sharepoint.com/personal/ronan_deshays_example_company_com":{"dataSources":{"Articles":{"tableName":"043e9518-a62c-4059-a417-902cddc63431"},"liste des flux RSS de veille":{"tableName":"efb678b5-d21e-4438-9715-aadd5ee1c621"}}}},"apiTier":"Standard","isCustomApiConnection":false,"actions":["providers/PowerPlatform.Governance/Operations/Read"]}},"databaseReferences":{},"almMode":"Environment","performanceOptimizationEnabled":true,"canConsumeAppPass":true,"executionRestrictions":{"isTeamsOnly":false,"dataLossPreventionEvaluationResult":{"status":"Compliant","lastEvaluationDate":"2022-05-24T09:08:28.7336843Z","violations":[],"violationsByPolicy":[],"violationErrorMessage":"L’application utilise les connecteurs suivants : shared_sharepointonline."}}},"appType":"ClassicCanvasApp","appComponents":[]}}
Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions user_interface_power_apps_package/manifest.json
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"schema":"1.0","details":{"displayName":"viewer for strategic monitoring digital assistant","description":"","createdTime":"2022-08-10T07:36:35.2854504Z","packageTelemetryId":"8043b0fd-3c64-41df-8254-672435f07cab","creator":"Ronan DESHAYS","sourceEnvironment":""},"resources":{"9d33757e-6d85-4825-9182-5b9b43313d22":{"type":"Microsoft.PowerApps/apps","suggestedCreationType":"Update","creationType":"New, Update","details":{"displayName":"Assistant veille"},"configurableBy":"User","dependsOn":["bb68265f-1a77-4c14-9c9d-acc0c605f15d"]},"bb68265f-1a77-4c14-9c9d-acc0c605f15d":{"id":"/providers/Microsoft.PowerApps/apis/shared_sharepointonline","name":"shared_sharepointonline","type":"Microsoft.PowerApps/apis","suggestedCreationType":"Existing","details":{"displayName":"SharePoint","iconUri":"https://connectoricons-prod.azureedge.net/releases/v1.0.1591/1.0.1591.2961/sharepointonline/icon.png"},"configurableBy":"System","hierarchy":"Child","dependsOn":[]}}}

0 comments on commit 5e37dd8

Please sign in to comment.