How to associate a feature with a customer request - azure-devops

Our product manager want to be able to associate a feature to a customer request/requirement. I am trying to find a way to do it without customizing the WIT fields. I don't want to hard bind a feature to a customer and still allow the product management reporting capabilities based on a customer name or aggregate on it. Any ideas? BTW tags are not an option.

Related

Building a simple web form that connects to Recurly's API to allow a subscriber to change their subscription plan

I am trying to build a simple web form that would ideally sit on a WordPress page to allow the subscribers on our platform to change or update their subscriptions, without having to ask our support team (currently they can only cancel, but we want to offer them the option to upgrade).
We use Recurly to manage our billing, and their support team said:
'You would essentially want to build a form that will input values into the Subscription Update API request, that would then be sent to Recurly to make the changes on your customer account.'
They also shared the following document: https://dev.recurly.com/docs/update-subscription
I have limited experience of working with APIs and am also aware that because this form deals with sensitive information (the user ID of a subscriber in this case), I don't want to inadvertently jeopardise the accounts of the subscribers that choose to do this.
Any help would be much appreciated. I have tried searching for a solution but am unsure how to word my request effectively.
It sounds like using the Recurly Hosted UI might be your best bet. Instead of having to build a a web form you can just redirect your customer to the Recurly Hosted UI on a button click. You can retrieve and redirect the url using the Recurly API on your Wordpress site using some simple PHP and then that allows the customer to view invoices, change their plan (if you allow), and change CC information.

How to get customer id KUNNR of current Launchpad user?

I am writing a custom Fiori to access sales data from an SAP ERP backend system using a Gateway.
The use case is "customer logs in launchpad, opens Fiori app and sees all his/hers sales items based on the customer id". The customer id is stored in kna1-kunnr and has to be included in a select on the vbak table in SAP. Nothing fancy.
Now I ask myself: how do I get the customer id / kunnr? What do I get at all from the currently logged in user? When debugging my Gateway project code, is it actually the name stored in sy-uname or can I get something better?
How should I continue to get the customer id / kunnr? Are there some function modules like GET_CUSTOMER_ID_OF_USER to call in the SAP ERP?
Or are the actually other / better ways to get the sales documets for one user?
Update
Thank you for your answers so far. I am going to check the default Fiori implementations to get some inside. But, since we are already here, I want to specify my question a little bit more:
Giving I create an OData model in my Component.js like that:
var oModel = new sap.ui.model.odata.ODataModel("[...]/sap/opu/odata/sap/Z_MYODATA_SRV/",
false, "user", "password" );
user and password are supposed to be the ones currently entered as user credentials in the Fiori Launchpad. How can I access those? Are there some SAPUI5 api like getCurrentUser or getCurrentSession ? Do I actually have to do this user check?
You are correct that to identify all of the sales orders for a customer you need to read them from VBAK (or use BAPI_SALESORDER_GETLIST, etc).
The relationship between logged in user and customer is not something that's the same in every SAP ECC system. You may find that the logged in user is the same as the customer number, but with a prefix - for example, logged in user C12345678 for customer 0012345678. Or there may be some other type of relationship that's store in a custom field on the customer master itself. The best option is to check with the person responsible for the configuration in Sales and Distribution. Only then can you know how to determine the customer for a logged in customer user.
Answering your question
Now I ask myself: how do I get the customer id / kunnr? What do I get at all from the currently logged in user?
It is done on backend with standard customizing, not via OData methods like you intend to do it.
Mikael gave you the rough idea, but didn't finished it so I will give a more comprehensive answer.
We need to differentiate between front-end and back-end authorizations, for Fiori app functioning you need to types of roles/authorizations:
The SAP Fiori roles that define which Fiori apps are displayed to the user
Launchpad authorizations
General OData authorizations
Trusted RFC back-end connectivity authorizations
Back-end authorizations and roles which contain authorizations to display the related business data
This concept is depicted on this figure:
The assignment of the front-end is described here and is out of scope now. Now we are focusing on bullet 2.
Every Fiori app has its role model and one should follow the implementation given in app description. Let's consider how it is done based on Sales Order creation app (F0018) sample:
OData service that returns business-data is SRA017_SALESORDER_CREATE_SRV, so to run it one needs frontend role SAP_SD_BCR_FIELDSALESREP_X1 and backend role SAP_SD_SO_CRE_APP
Also app description give us the following prerequisits:
Before implementing the Create Sales Order app, you must ensure the following:
That an employee master record is created with the following attributes:
If you have implemented SAP ERP HCM and maintained employees in the HCM personnel records, ensure that the employee personnel record has the infotype Communication, with a subtype of System User Name (SY-UNAME) (Infotype 0105, Subtype 0001).
If you have not implemented SAP ERP HCM, implement the Sales and Distribution configuration around Use Sales Employees with HR (Tcode: PULT). This IMG setting copies the appropriate HCM tables from the 000 Client and allows the setup of the employee record with the Infotype Communication and a Subtype of System User Name (SY-UNAME) (Infotype 0105, Subtype 0001).
It associates the USERID of the employee with the personnel number assigned as a partner function sales employee in the customer master.
After implementing the above customer SAP user id will be bound to his employee ID (PERNR), and his employee ID consequently will be bound to partner function in XD02.
And that's not all, what comes next?
THe following order parameters should be maintained in in SIMGH tcode in order customer to see his orders and can create the new ones.
Call transaction SIMGH to open the Create Sales Orders node and configure user information in Customizing activity Define Configuration Parameters using the parameters listed below. For more information, see the documentation available for the Customizing activity.
Document Type (DOCTYPE)
By default, the app uses the standard order document type (technical key TA resp. OR). Changing this to something other than a sales order may significantly impact the functionality of the application.
Order Period (ORDPERIOD)
This defines how many days into the past sales orders are retrieved. The suggested value is 30 days.
Search Period (SEAPERIOD)
This defines how many days into the past a search must look for sales orders that match the search criteria. The suggested value is 90 days.
Ship To Party (SHIP_TO/PARTNER_ROLE)
This defines which partner role in the customer master is used for the ship-to party. The suggested value is WE.
Forwarding Agent (FORWARDING_AGENT/PARTNER_ROLE)
This defines which partner role in the customer master is used for the forwarding agent. The suggested value is SP.
and even that's not all
App description gives the following BADIs to implement in order to enable such linking
Implement the following BAdIs:
Customer Association to Employee
You can use this BAdI to associate employees with specific customers.
Only after all the above steps the customer will be able to order and/or view his sales items.
The moral: always check the app description thoroughly because the role model varies per-app.
Have a look at the standard Fiori applications. For example, in Create Sales Order, there is a BADI provided to implement the relation you are looking for (but for an employee to a customer). In the standard setup, the partner functions of the customer master is used to map what customers are visible to an employee.
Most likely, you have a similar setup already in place if your customers actually have user accounts in your system. If could be as a parameter of the user or as a (custom?) partner role.
http://help.sap.com/saphelp_fiorierpx1_100/helpdata/en/6d/135652f9c21457e10000000a445394/content.htm

How can we send a follow up email for Wishlist?

How can we send a email to the user reminding them that some products are available in their wishlist?
I have seen this functionality on many sites and I wish someone would have Implemented it by now.
There should be a way to Do this program way.
Also There is no way available in magento to see wishlist report,like which item is most available in wishlist or top 5 wishlist products.Is there a way to Implement Both the things
Thanks in advance
Unfortunately there is no out of the box solution for both of your issues.
There does exist a $14.99 module that will give you more insight on wishlisted items and the relative customers: http://www.magentocommerce.com/magento-connect/admin-global-customer-wishlist-viewer.html
As for sending emails to those customers, this type of functionality exists in Magento Enterprise Edition. You have the ability to automatically send emails to customers with wishlisted items - unless you are willing to shell out $15,000 for the enterprise version, you are a bit out of luck here.
You can either utilize a email blast service like MailChimp which integrates directly into magento to send focused email blasts OR do some custom development work.
You can do this with MageMail. (Full disclosure: I'm the founder of MageMail).
In case you're looking to build this custom, you basically just want to pull in the wishlist_item table and join on the customer table to get the customer associated with the wishlist item.
One gotcha to keep in mind is that all of the wishlist items are included in the same wishlist, regardless of when they were added (they're not like quotes in that regard). So if you're building this custom, you'll want to make sure to build it in such a way that it will follow-up based on the date the wishlist item was added and not the date of the wishlist record itself.
I think that Enterprise has support for multiple wishlists but I haven't seen it in use much in the wild.
I think you can do exactly what you need the following way:
1. Segment your customers according to their wishlist records with Market Segmentation Suite extension. You can put users with particular wishlist item into a group or form a customer group of all users with non-empty wishlists. You can then export those segmented lists for future use.
2. Follow up your customers according to segmented lists you made with emails tailored to specific customer groups with Follow Up Email.
As for wishlist reports you can track which products have been added to customers’ wishlists, when the product has been added, how many days this item is in the wishlist with Advanced reports unit named Users Wishlists by aheadWorks.
So, these are 3 different extensions, but they definitely cope with the task you describe.

Dynamics CRM 2011 custom code

I'm struggling to find much documentation on Dynamics CRM 2011 and have a problem. I'm not looking for code more a pointer as to the correct method of approach (workflow, dialog, custom HTML web resource etc)
I basically want something that does the following:
Go to Contact list
Select some contacts
Ribbon action opens a box that allows me
to select a custom role from a drop down list (source is a dynamics
entity)
Select a radio box for either add or remove role
Save the changes, this will add or remove a role from the contact and also send an email to that contact
I know how to get a list of selected recordIDs but I am not sure if I should be calling a dialog or a custom HTML page with JS.
Can anyone point me in the right direction?
This may not work at all for your scenario but it is worth thinking out of the box sometimes. This would only work if you have a small number of roles and the roles don't change that often.
Add checkboxes on the Contact, one for each role. Build workflows that fire on update of those checkboxes that send your emails. Now users can quickly edit lots of Contact Roles by using the Multi-Edit feature.
The benefit of this approach is it is a "no code" solution and it is very easy for the User since it uses out-of-the-box functionality. The downside is that you need to maintain those checkboxes. But it may be easier than writing a bunch of web resources and javascript!
I have assembled a list of bookmarks on the subject here. I hope the link works.
Gareth Tucker's site is specially interesting.
In the end the solution was to create a Ribbon item that accepted the selected Guids from the contact list.
Then read those in from a web resource (Silverlight) which called into the sdk and created / removed the records accordingly

Automatic mail alert to customers on new products arrival in magento

I want to add this feature in magento.Automatic mail alert to customers on new products arrival in magento upon on their subscription, its not like RSS but its just mail with the product alert alone. is there any extension or something else.
Magento already provides email alerts for when a product changes price or changes stock status (see System>Config>Catalog>Product Alerts). If you have a look at the code in Mage_ProductAlert, you should be able to extend it to cover the case of a new product. I would guess that you'd want to offer customers the option to subscribe to alerts related to a category? So, add a new model for productalert/category and extend the AddController with a categoryAction()
EDIT --
Actually, one "low-touch" option would be to use something like Feedburner to take the existing RSS category feed and send emails. When you plug the feed into Feedburner, it will give you a link that users can click to subscribe to the email version of RSS. It takes them away from your site, but does achieve the requirement without custom coding.