How to share one catalog between multiple sites in Hybris? - e-commerce

We have two sites that got multiple products in comune.
We decided to share only one catalog between these sites that contains all products without any duplication.
So far, i can see all products in both sites, but we have some products that should be shown only for one site.
Is there any solution?
We're using Hybris 5.2
The ideas we got so far are :
Using category organization (Category for Site A , Category for Site B , Category for Shared products berween A & B)
Introduce a ProductSiteRelation , and a restriction.
Add an attribute to productModel, and extends all native Hybris classes (Controllers, Populators, Providers ... etc) [Not that great as a solution]
Using customer groups, the following schema explain this idea :
Which solution is the best in our case, is there any other solution?

You can apply a Search restriction under the personalization rules either through ImpEx or in HMC (you need o write the Flexible query in both cases and perform the check).

Related

Orocommerce : Products that should not be visible are

We are using Orocommerce version 3.
We have setup a number of differnent product categories and assigned products to these. We have also defined the permissions so that certain groups and cusotmers should not be able to see some of the products via the front end of the site.
When testing the site using two different cusotmers one which should and one which should not see the product when using the search and the product SKU both are able to view and potentially buy the product.
This only appears to be happening for certain products, which is odd.
We have reviewed the documentation here: Oro Docs and feel we have followed it correctly.
Has any one come acrooss this before, what options do we have solve this?

React Admin - can a product be assigned to multiple categories?

Can products in the react-admin framework be assigned to multiple categories?
For example in the demo, a new poster of a bearded man with a pet cat would ideally be categorised as both 'beard' and 'animal'. Currently you can only select one category.
You are able to specify multiple segments for a customer in the demo (using alt-select in the customer's segment drop-down list) so I wondered why this feature was not enabled for product categories...
In addition, can filtering then be configured to support multiple category filtering, rather than only allowing one single category term to be used?
Yes we could have implemented it this way for product categories too. We didn't as we wanted to show multiple types of references in the demo.
As for your question about filtering, yes, it's possible if you use the same input as for segments selection which allow multiple ones.
React-admin is a framework for building administration applications with React. It's not an e-commerce framework nor a UI kit. You can do whatever you want :)

Ordering products by product type in Shopify

I've been asked by a client is it possible for them to be able to manually order product(Types) on the front-end instead of using the default A-Z option.
For example:
Customer visits product listing page
Selects product type from the filterable options E.G "t-shirts"
Products show based on that query but are organised how they have defined possibly in the backend somewhere, or as a Shopify setting that I setup.
I can't seem to find anything from digging around on the internet and I can't think how I'd do this on my own but wondered if anyone else ha had experience or ideas for how this could be achieved.
You could define a collection with the condition "Product type is equal to your_type". Then after you save the collection you can choose to order the products manually (the default is alphabetically).

Sharepoint site for external customers

I have an SP site where employees submit their reports. A report is submitted with Company information attached as metadata in a sharepoint library.
For a company there is a customer attached with a separate login in our AD and the customers all belongs to a separate user group.
I want to create a separate site where their customers can login and read their reports
My first problem is to share a library between sites so that the customers can access the reports submitted in our internal site.
Second problem is to create a connection between the company and the customer login so i can filter the reports so that the customer only sees their report.
How would you go about doing this?
From what I understand of this scenario, I would handle report sharing with customers as a content deployment exercise. Not sure whether you want one site for all customers from all companies to log in or if you'd want to create a site for each company. Custom development of either event receivers or workflow on the internal list would handle 'publication' (i.e. copying the document to the client-accessible list) of a report once uploaded (and potentially - approved).
If there is one common site, you would need to factor in item level permission setting based on the company metadata. If you have a site for each company, security should be a whole lot easier.
If your goal is only to share reports then going with separate site for customer login or with site per customer is IMHO huge overkill and almost useless.
Solution to your problem is quite easy: One site with separate Document Library for each customer. There is not much difference between 1 customer = 1 site and 1 customer = 1 library except for simple scenario I found that maintaining multiple libraries on single site is much more easier then maintaining multiple sites with basically one library on it. However if you plan to have more interaction and 'sharing' with customers (now or in future) then separate site for each customer is a option.
Steps:
Define custom Document Content Type on site level holding all metadata your report needs
Create Document Library for each customer with this new content type
Define permissions on Document Library level - each customer can access only one designated library (need to have read rights on site)
Your employees need to upload report to customer library so that customer can see it. If permissions are set correctly then customer can see only designated library and you can easily set administrators (can see all) and superusers (can see more then one library/customer).
Having all reports in single site will simplify developing process for additional business logic by using custom workflows and/or receivers. Also searching and aggregation for administrator or super user is much easier.

Setting carrier per product

I'm working on a store that has two types of products: perishable food and general merchandise. The food must always be shipped overnight via FedEx, and the other merchandise must always be shipped via USPS. If somebody orders products from both categories, they must be shipped separately.
Do you know of an existing module or configuration settings that would allow for this?
If not, it sounds like a custom module would be the other solution. In this case, what is the best approach? I'm thinking it would be splitting the order into a multi-address shipment, using the same address for both but with different shipping methods. Unfortunately I'm not sure how to do this programatically, so any tutorials/samples/resources would be greatly appreciated.
Probably the sanest way to handle this would be to create two orders per product type, each shipping with a different carrier to the same address. This also IMO makes more sense from a stores tracking perspective as you can handle each independently from each other.
To get you on the right track(since Magento is especially cryptic in this part of itself) you should read the Inchoo programmatically create order in Magento post and by the same author Programatically create customer and order in Magento with full blown one page checkout.
Basically as I see this going is:
Get the customer order
Itinerate through each product inside the order and split it up in two arrays for each product type
Create a separate order for each product type and use the different shipping methods for each.
You will probably have to extend a some controllers OR do it the non-standard way and use helper functions for this, the hard parts will be integrating the payment/shipping modules inside your order process. Going this way will have you creating the full checkout process as the one page checkout Magento provides won't really work and is too much pain to get to work because of the way it uses AJAX.
Also another alternative is to hook in to Magento's pre-create order events and create the orders there using already defined order data split it up in two orders, but this is something I never heard or saw implemented at the moment so you'd have to do it "blindfolded" so to speak.
An easier approach would be to use a custom field that defines your product's shipping method, this way you just add that and don't care about custom orders. You just react with that, however tracking will become mostly impossible IMO.
Over-ride the Free Shipping module.
You can setup a sales rule that applies to certain products and makes them 'Free Shipping', leaving the other products to your chosen main shipment provider.
You will need to see how this works, however, the point is that Magento does have something built in to split an order into two shipping categories, albeit only a sales rule on free shipping. But you have source code...