Content Migration to Sitecore from other resources like SQL - sitecore

I have a site developed in core .Net with SQL server Database. Now i want to redesign my site using Sitecore. How the data/content can be migrated from SQL database to Sitecore CMS?

Sitecore has released the Data Exchange Framework. This tool allows you to sync content from third party application. Example:
Read contacts from a CRM and create contacts in xDB
Update a contact in CRM using information from a contact in xDB
3.Create items in Sitecore that represent products in a catalog
So, you can easily use this tool to import your data from sql to sitecore. You only have to develop the different logic that requires to translate the data from the SQL to the template of your new instance.
Here is the link where you can have the 2 released version:
V1.0: https://dev.sitecore.net/en/Downloads/Data_Exchange_Framework/1x/Data_Exchange_Framework_10.aspx
V1.1: https://dev.sitecore.net/en/Downloads/Data_Exchange_Framework/1x/Data_Exchange_Framework_11.aspx
From the links, Sitecore has already specified the released note, required documentation about the API and so on.

Related

How can I call an external service from Sitecore and include its response into the layout service using JSS

I want to know how we can call an external service from Sitecore and include the retrieved data from its response into the layout service using JSS.
We manage the core Product data in Sitecore and also build a micro service to serve the frequently updated data such as Price. So, we would like Sitecore to call our micro service to retrieve the product price data and then show it in front-end along with other product data stored in Sitecore.
Could you please advise me on the right approach using Sitecore JSS?

Sitecore web service extension

my requirement is to sync third party e-commerce systems(IFS) products into sitecore. Is there a way that i can extend sitecore web service with new method where i can get the products and create them in sitecore? or is there a better way to do this.
I want to create that as sitecore module, so that we can install it on any sitecore website we have to integrate with that e-commerce systems(IFS).
http://yourhost/sitecore/shell/webservice/service.asmx
Any suggestions will be appreciated.
You could potentially use the Item Web API (PDF link) that Sitecore comes with, or even roll your own web service that you write and call the native Sitecore API. If you roll your own, you could expose it as a WCF service, or a Web API or any other approach. The service you found and referenced is quite old and not really designed to be extended.
Another approach to what you are trying to do (merge/integration another system into Sitecore) would be to write your own item data provider. Here are some links on that topic:
Integrating External Data Sources
An introduction to Sitecore data providers
The Black Art of Sitecore Custom Data Providers
Please take a look on the Sitecore Commerce Connect product. It has been designed for such kind of tasks, see chapter 2.1.7 Product Synchronization:
Product Synchronization
Connect has its own product data model and a
Product Synchronization service layer for exchanging product data with
one or more external systems. The responsibility of the Product
Synchronization service layer is to manage two-way synchronization of
essential product data. The goal is to synchronize only the data that
is needed to satisfy the most common e-commerce scenarios. In
particular cases, the model can be extended. For more information on
the default scenarios that are supported, see the developer guide.
You should consider using a Custom Data Provider, it's for fit for the task at hand and will allow you to also manage the external data in a similar way to native Sitecore Items, inc caching and publishing.
There is more information in the Integrating External Data
with Sitecore document on SDN and and Nick Wesselmans article on The Black Art of Sitecore Custom Data Providers is a go to reference.
Also these blog posts provide more details on read-only data providers, which is most likely what you will want to use for external data:
A simple read-only Sitecore data provider
Custom data providers in Sitecore

Spree Commerce - Amazon inventory sync?

Is it possible to create a product on amazon programmatically using the api? I would ideally like to create a product using the spree commerce CMS and at the end of the day sync products between the CMS and an online amazon store.
On the Amazon side, you can create products using the Amazon Marketplace Web Service, in particular the feeds API (code samples here).
On the Spree side, you can make this happen by either writing an extension, or by using Spree's middleware product (Wombat) and creating a custom integration for it.
Spree is pushing hard for more integrations that have broad appeal, and syncing with Amazon MWS definitely fits the bill, so you may be able to contact them and get some help doing these things (my company is a Spree partner, and we're currently working on an open source integration to a popular CRM tool for another seller).

What is the difference between Sitecore's core, master, and web databases?

What is the difference between Sitecore's core, master, and web databases?
Master: Contains all versions of all items. This is the database that content authors interact with, and is the default database used by the Sitecore Content Ediitor.
Web: This contains only the current versions of items. This is the database that supports the live website.
Core: This database has two purposes:
It contains definitions for the Sitecore user interface (Content Editor, Page Editor, etc.). This is where you would go to add, for example, a new Right-click option to the Content Editor or a new ribbon button to the Page Editor.
It contains the ASP.NET membership tables that drive authentication and security.
I recommend you look at the Launch Sitecore site to understand more about the CMS.
From the page on Sitecore Architecture:
Master
The Master database is the authoring database - it contains all versions of any content or assets.
Core
The Core database is all Sitecore settings, as well as the tables containing the .Net membership provider (i.e. users/roles contained in the Sitecore repository)
Web
The Web database is only the latest published version, and the content that is driving the live web site. Therefore it is a subset of the master database, optimised for size and speed. When content is published, or goes through the publishing task of a workflow, the latest content version is copied from the master to web database.
Of course, in an Enterprise deployment, you may have multiple Sitecore instances, which may share DBs (or not)
Some great answers here but it's worth a clear note that the Web database is the default publishing target and is not set in stone. You can rename it to whatever you wish as well as have multiple publishing targets similar to 'Web'.
e.g. We have a Sitecore instance with two websites (website and intranet), thusly the Master database contains all the items for both sites. For publishing we have two targets 'Website' and 'Intranet' that are hosted by different SQL servers.
Ultimately our connections include: Core; Master; Website; Intranet (the latter two being copies of the original 'Web' database of course)

Microsoft Dynamics CRM -- Do people build websites with it?

Forgive my ignorance, but do people build websites with Microsoft Dynamics CRM?
I have a potential client who says that is the technology they will use for a new web project, for which I would be doing the HTML templating. I want to learn all I can as I am new to this particular system, but I can't seem to find anything related to web building and CRM. Is it more likely the client is using another piece of technology that they are neglecting to tell us about?
Any experience or insight about this process is greatly appreciated!
You can't build website using MSCRM, but you can build ASP.Net website using CRM content easily. The API provided by MSCRM is a set of web services, that can be queried in a website to populate pages content.
Also, you can directly query the Database if you want ReadOnly content, and only for read-only content, because it is not supported to update/create data using SQL connections.
Note that it's required to have the external connector license to use any data in the CRM, thru the API and even thru direct SQL queries.
I have built a website using .NET, utilising the CRM4 API and database. All the website did was to submit queries to CRM using the CRM web services and metadata web services, and get data back. This company was already using CRM for their back end, so it's much easier for the front end to use the same database as well since it's a simple one.
The alternative would be to create an intermediate connector between the 2 systems -- backend and front end, which is not as efficient (for our case anyway).