Akeneo - How do I export product data given an invalid mailer URL error? - akeneo

I have an Akeneo PIM set up in a bitnami instance. I have created categories, attributes, a family, a channel, and some products. Every export file I generate comes with the error Cannot create a SenderAddress with an invalid mailer URL. However, category and attribute exports still get generated, populated as expected.
Product data exports, on the other hand, get the Cannot create a SenderAddress with an invalid mailer URL error but then generate empty spreadsheets.
I only have access to the Akeneo web interface, although my manager can SSH into the server. How can I solve the mailer URL error, and how can I generate product data exports?

There were two steps to solving this.
First, listing a valid mailer URL in the .env file resolved the invalid mailer URL error.
Second,from https://github.com/akeneo/pim-community-dev/issues/10389.
The problem was that none of the products had been assigned categories yet, and a feature of Akeneo is that only products with categories are included in any product data export.
Assigning categories to products enabled non-empty product data exports.

Related

How do I upload/import a Dart database to Firebase? Information based app content

I have built an information based app with server side content that is displayed for the user to view but not edit or generate on their own. The information is examples of Species and the User is able to favourite a Species. Currently I have the Species hardcoded in a Dart db and is passed throughout the app when navigating or favouriting to that runtime instance.
I have set up users through firebase. I assume I will need to convert my Species db to JSON and store as a collection on Firebase in order for the user to favourite and instance of a species. My question is how do I upload or import my Dart database into Firebase? I know there's the JSON conversion but I assume we don't want to run that everytime the app loads.
Any help or guidance as I haven't found anything just yet, it may be my ignorance of nomenclature! I don't believe it is a real time database, but please correct me. Thanks.

The metadata specified for the identity provider does not contain an IDPSSODescriptor

I am working on adding custom policies in Azure ADB2C. I have followed all the step for adding the AD FS as an identity provider for this I have followed microsoft doc.
https://learn.microsoft.com/en-us/azure/active-directory-b2c/identity-provider-adfs?tabs=windows&pivots=b2c-custom-policy
After all the step followed, during testing I got an exception message found using Application Insights
"Message":"The metadata specified for the identity provider does not contain an IDPSSODescriptor."
Please let me know if anyone knows the cause of this error and a solution to this.
This error indicates that you either have an invalid metadata url or the metadata at the url is malformed or missing some key descriptors.
In your policy, the element with "PartnerEntity" key should have a valid url to the federation metadata document. Check that you can access this document normally from a browser, and that it contains the IDPSSODescriptor element.
<Item Key="PartnerEntity">https://your-AD-FS-domain/federationmetadata/2007-06/federationmetadata.xml</Item>
This document should be publicly accessible over the internet as that's how B2C is going to reach it. If the document is missing any elements, then you may need to modify some ADFS settings to make sure all the required elements are there.

Is this possible to create a private report filtering in Data Studio embeded report

I created a report in DataStudio and embedded it on my website. I activated the option "anyone with the link can view" so this report will be visible to my website users.
But I need to show my website users different data depending on their user ids and more important I don't want users would be able to see other users' data so if I used URL filtering users would be able to breach and search another user id to see his data.
Does anyone have a solution for this scenario?
In Google documentation I saw an option to limit the report to users in my domain, I assume this will solve this issue, but I don't find how to restrict other domains.
Users are logged onto Google
If users of your website are already logged onto Google, use the Filter by email address guide from Data Studio help center. This requires you to setup FILTER BY EMAIL and then have a field in your data can be directly used as an email filter.
Users are not logged on to Google
If you want a solution where the users don't have to be logged onto Google, you will need to:
Create a Community Connector to pass the filtered data to your users. The connector should accept a short lived token as part of the config.
Create a dashboard with your connector and pass unique short-lived tokens for each user.
You should have an endpoint that returns the current user's data based on the token provided. Alternatively, the endpoint can return only the user's identify and you can query a secondary data source with a service account filtering for the user's identity.
Your connector should call your endpoint to fetch data only for the user/for the user's identity.
This official guide demonstrates how to implement this in more details.
Disclaimer: I work in the Data Studio team and wrote the above guide.
First option is to add extra 2 fields to your data source.
User_ID
Password
For example:
Data, User_ID, Password
$10,Daniel,123
$20,Alex,456
In your dashboard, you need to create two parameters:
User_ID_Parameter
Password_Parameter
Both parameters can set the default value to null, and accepts any values.
Then create a new calculated field:
CASE
WHEN REGEXP_MATCH(User_ID,USER_ID_Parameter) AND REGEXP_MATCH(Password,Password_Parameter) THEN 1
ELSE 0
END
Then create a new filter to the chart that you want to hide:
To include the above calculated field Equal to 1
Second option is to use the Data Studio default Row Level Security
The only caveat is the users need to sign in before they can view the report.

How to get Contact PhotoUrl in Salesforce?

In Salesforce I have created a few Contacts. And linked some of the contacts with LinkedIn profile. As soon as I link the contacts, the image display in Salesforce changes the profile image to that provided by LinkedIn. Basically I think it would work the same way if I linked it to Facebook or other social sites.
Now my requirement is to get the the PhotoUrl of the Contact. I went through this documentation Contacts Standard Object. It shows there is a field "PhotoUrl", but when I make a query in SOQL using SOAP API, like "Select Name, PhotoUrl From Contact", this query fails and the response message tells that there is no such field as "PhotoUrl".
What am I missing? Is there any way I cant get the Photo?
Thanks
SOLUTION:
THE PROBLEM WAS WITH THE API VERSION 29. I HAD TO CHANGE IT TO 30. HOWEVER IT WAS TRICKY WITH SOAP API. I HAD TO CHANGE THE AUTHENTICATION ENDPOINT VERSION TO 30.
Change the version of salesforce API. It works for me in 30.0 and not in 29.0..
If it is in a visualforce page, set your standard controller to Contact and then {!contact.PhotoUrl} will return the url.

Export CSV as portal user

I have a salesforce I export to CSV using a URL like this https://tapp0.salesforce.com/00OT00000014APi?export=1&enc=UTF-8&xf=csv following this blog post.
This works fine and is very fast when I run for a fully licenced user.
However when I try to call the same report export as a Gold Patner portal user I get an error "Insufficient Privileges"
I have marked the report as deployed.
Given all users access to the Report Folder
The user does have the correct sharing and profile rules setup to view the data in the report.
Going to just the report URL by itself works https://tapp0.salesforce.com/00OT00000014APi
It only fails when I try to export to CSV.
I DO reliase I am using an unsuported internal API call. But was wondering is there anyway portal users can export reports to CSV?
Not sure about through the UI, but this can be done through a SOQL query and portal users do have limited access to the API. Most, but not all, reports can be converted to SOQL queries to produce the same output.
For running your query, the easiest is probably to build a Visualforce page that is backed by an Apex controller that runs the query and outputs a CSV. Take a look at the contentType attribute on the apex:page tag. You can set things like application/vnd.ms-excel#contacts.xls to automatically export a data table to Excel. I didn't try, but it probably works with CSV too -- worst case is that you open in Excel first and save as CSV.
Also, if you don't mind portal users having to leave Salesforce to get their CSV, you might want to try Workbench, which is an app I built that allows for portal user login and helps you build the SOQL query for CSV export both through the SOAP and Bulk APIs.
Ok I found the problem
You need to go to Salesforce > Setup > Manage Users > Profiles
Then Click to Edit the RS_PortalUser profile
Click the checkbox next to “Run Reports” and “Export Reports”
Click save

Resources