B2B/Powertools Spartacus 3.3 - Missing "Reorder", "Cancel" and "Return" options in MyAccount - spartacus-storefront

Successfully build Commerce 2011_7 with Spartacus 3.3 last week (using the standard instructions for B2B Commerce) and all appears to function on initial tests.
This week, I've gone to test the Standard Order Flows with mark.rivers#pronto-hw.com and noticed that the "Self Service" buttons that typically appear against a placed order in My Account are missing, and these are definitely there in the JSP Storefront and earlier versions of Spartacus.
I'm able to follow the instructions but not a developer so asking if anyone knows whats causing them to 'not appear' and could help me get them back please - have supplied a screenshot with the Console open as well.
The two lines in the console that concerned me were:
spartacus-storefront.js:18398 No component implementation found for the CMS component type 'AccountOrderDetailsOverviewComponent'.
Make sure you implement a component and register it in the mapper.
spartacus-storefront.js:18398 No component implementation found for the CMS component type 'AccountOrderDetailsReorderComponent'.
Make sure you implement a component and register it in the mapper.
enter image description here

order self service was added in 1.4 but you need release 2005.
see https://sap.github.io/spartacus-docs/cancellations-and-returns/
it's possible that with installation of 3.3, the cancel/returns code wasn't installed? we transitioned to many smaller libraries for 3.3. but also you need cms content in the backend (which looks like you have).

Related

spartacus sampledata inconsistency: spartacus requests "shipping-address" but in 2105 sampledata there is only "delivery-address"-> Checkout broken

I have setup the current version of spartacus (4.3) with Sap Commerce 2205 according to the installation instructions.
No customizations have been done to backend or frontend.
I observe the following issue when trying to enter the checkout in electronics and apparel store:
The request just is being sent in an endless loop because the stroefront requests "shipping-address" which does not exist.
Only "delivery-address" exists. Even when changing the page label of the contentpage to "shipping-address" so that the request from teh frontend can be fulfilled, the checkout page just remains empty and is not functional.
Any ideas what can be done to fix this ootb error?
Image with the endless loop requests
Ok, after some more research, i can answer this myself:
The naming in the impex files in the sampledata for 2105 (the most current sampledata) has been changed from "shipping" to "delivery".
But the spartacus frontend (still) asks for and expects a page with "shipping"-label and "shipping"-components.
A workaround is to go through the files in the sampledata and adjust delivery to shipping where necessary and import the relevant lines in the backend.
Would be great if SAP fixes this inconsistency to not throw off people setting up the system according to the official documentation.
For reference, the specific changes need to get it working for me are as follows - for electronics content catalog. The other catalogs require similar changes.
Source file: spartacussampledata/import/contentCatalogs/electronicsContentCatalog/cms-responsive-content.impex
ContentPage.label : /checkout/delivery-address -> /checkout/shipping-address
CMSFlexComponent.flexType : CheckoutDeliveryAddress -> CheckoutShippingAddress
$contentCatalog=electronics-spaContentCatalog
$contentCV=catalogVersion(CatalogVersion.catalog(Catalog.id[default=$contentCatalog]),CatalogVersion.version[default=Online])[default=$contentCatalog:Online]
INSERT_UPDATE ContentPage;$contentCV[unique=true];uid[unique=true];name;masterTemplate(uid,$contentCV);label;defaultPage[default='true'];approvalStatus(code)[default='approved'];homepage[default='false']
;;CheckoutDeliveryAddress;Checkout Delivery Address Page;MultiStepCheckoutSummaryPageTemplate;/checkout/shipping-address
INSERT_UPDATE CMSFlexComponent;$contentCV[unique=true];uid[unique=true];name;flexType
;;CheckoutDeliveryAddressComponent;Checkout Delivery Address Component;CheckoutShippingAddress

How can I use Vue data-bindinding in a Moqui form?

I want to add a calculated field to a form that depends on the value entered by the user on some other field and I'd like its value to update before the form is submitted, as if it were using data-binding of some kind.
Is this possible to implement for the vuet output mode?
While part of the initial Vue JS functionality in Moqui Framework 2.1.0 it is only recently well supported and tested so you will need the latest code from the moqui/moqui-framework and moqui/moqui-runtime repositories. This will all be in the upcoming 2.1.1 release series.
Because this is new and many are likely to have questions about it I added an example and some brief documentation that covers the main differences from normal XML Screens. That is now available on moqui.org here:
https://www.moqui.org/m/docs/framework/User+Interface/Client+Rendered+Vue+Screen
To run this locally you will also need the latest code from the moqui/example repository.

magento 1.6 getting registration form spammed

Yes, I know I shouldn't be on 1.6, and we're in the process of upgrading.
Regardless, the site I'm working on its getting is registration form spammed, even after I added a honey-pot field. I'm not sure what this spam bot is doing, definitely not how it's getting round the extra field, and I'd like to stop it. Can anyone help?
note: Patching the site is not an option because it was super customized and the patches don't work.
As you may know Mage_Captcha is available only from > 1.7. You have to options:
Try to port Mage_Captcha to 1.6 als local module
Implement your own custom module
for second option see tutorial here https://www.gomage.com/blog/captcha-module-for-registration-in-magento/

Link to JCentre button not present

This is unfamiliar to me - I am not used to distributing software in this way, but it seems like everything should be working, unless I have made a mistake.
On Bintray, I'm trying to release a thing I forked as I want to include it as a dependency in my lib and my app, instead of directly. It's also a learning thing, so feel free to educate me if appropriate.
I've uploaded everything correctly I believe, and unlike every other question I've seen - I actually have signed up for an OSS account, but still can't see the "Link to JCentre" button -
Did I do something wrong? Or has something changed?
I also am assuming I may have to wait for a while before I can link it.I can see my version badge and so on, but I want to access this via gradle. The section appears on my package information screen, but it says 0 links and there's no buttons.
Thanks guys!
Here is a link to my (EDIT: [now successfully updated]) repository. It is a fork of Galgo to add support for Android M+
In order to be enable to "Link to JCenter", your repository needs to be public and Maven type, you also can't be a trial user (see answer here).
The problem that you are facing is that your repository if Generic and not Maven.
You can check your repository type by navigating to your repository edit page, you'll find the Type field (which can't be edited). It should say Maven.
You can also check the Owned Repositories from the organization profile page. The text in parenthesis states the repository type.

How to retrieve Salesforce Page Layout Field Properties via API?

Context:
The Web interface coded in .NET (Grantee Portal for nonprofits applying for grants) is pulling information from the Salesforce Page Layout.
The Salesforce user we use to connect the Web interface with Salesforce via API has 'view all and edit all' rights
Issue:
As it is now, if a field is defined as Read-Only on the Page Layout in Salesforce, it is still editable on the web page (the Salesforce User we use has to have 'view all and edit all' rights)
What we are trying to achieve:
IF a field is defined as Read-Only on the Salesforce Page Layout
THEN the same field should be Read-Only on the Web interface page
Question:
To achieve the above, I guess that I need to fetch the field property for the Page Layout via API. Any ideas on how to do so?
Thank you!
Izumi.
You'll need Metadata API (the set of webservices that let you add new objects, fields, picklist values or even create classes & run unit tests).
Here's the API Guide: http://www.salesforce.com/us/developer/docs/api_meta/index.htm
Depending on how often you modify layouts you might decide "screw it, I'll just use Eclipse IDE". In that case you'd download all page layouts (they're XML files), point your C# app to them and let the magic happen.
Slightly more advanced is to use Migration Tool (Ant / Java based application that can be scripted for periodic download of same stuff).
Super advanced would be to use this API guide to write it in C#. It's not rocket science (here's the specification for Page Layout object and here's the Java sample code for the operation that retrieves the metadata... sorry, no C#). Actually you might be better off looking at this example though: http://www.salesforce.com/us/developer/docs/api/Content/sforce_api_calls_describelayout.htm
Seeing that you'll probably want to cache this info somewhere anyway (I can't imagine your user coming to your page, having to wait for the webservice callout to complete, then having his UI rendered) - pick your poison.
Or share the work within the team (1 person kicks off with files downloaded with Eclipse, other tries to figure out the C# code to retrieve them on demand).