Should Habitat be used as a starter kit?
I have seen some really great examples at how to build a website using Habitat. In many ways it contains a good percentage of features that I need.
Is this something that is production-ready and could be used as a base for my new website?
helix best-practices habitat
add a comment |
I have seen some really great examples at how to build a website using Habitat. In many ways it contains a good percentage of features that I need.
Is this something that is production-ready and could be used as a base for my new website?
helix best-practices habitat
add a comment |
I have seen some really great examples at how to build a website using Habitat. In many ways it contains a good percentage of features that I need.
Is this something that is production-ready and could be used as a base for my new website?
helix best-practices habitat
I have seen some really great examples at how to build a website using Habitat. In many ways it contains a good percentage of features that I need.
Is this something that is production-ready and could be used as a base for my new website?
helix best-practices habitat
helix best-practices habitat
edited Nov 16 '18 at 2:03
jammykam
11.2k11757
11.2k11757
asked Nov 16 '18 at 0:22
Michael WestMichael West
8,80921455
8,80921455
add a comment |
add a comment |
2 Answers
2
active
oldest
votes
A Resounding No
Think of Sitecore Habitat as the result of an assess and plan project phase where requirements and business objectives were already described for a ficticous client and developed.
While thats great for a demo site, as it goes, most requirements differ wildly per client. Using this as a starter kit, places unfounded requirements that maybe the client didn't want. So, now an assess and plan phase has to go through and unwire the ones that the client doesnt want, and then wire in the ones that weren't accounted for.
The time spent doing that comparative analysis, is generally greater and leads to bad practices because of having to undo something that someone already built. Or, as Dylan mentions in the comments, not done at all. Leaving behind bloat that will cause problems down the road.
How Should Habitat Be Used?
Instead, use Habitat as a model of a solution meant to provide a basis to help understand the principles of Helix. With a goal of creating something new that the client 100% intended to have with nothing else that they didn't.
An Analogy
Think of it like trying to write a childrens book but starting with a George R.R. Martin novel as a "starter kit". In theory, you're always going to want to have the Dragon Queen, but by the time you're done writing, most of your code is going to be dead.
#HabitatIsNotAStarterKit
1
Or what seems to be more common out there, that vendors that use it as a "StarterKit", never do the comparative analysis, and then your solution comes with alot of unnecessary bloat that has unknown consequences.
– Dylan Young
Nov 16 '18 at 0:35
I'd say definitely mine the Foundation layer, and/or use something that's not as "feature-rich" as Habitat like github.com/muso31/Helixbase, which is more designed as a "starter kit" that's mainly Foundation with some examples on the Project/Feature level.
– Ken McAndrew
Nov 16 '18 at 1:27
2
So you are saying there is a chance?
– Chris Auer
Nov 16 '18 at 2:55
1
I kind of disagree that Helixbase is a starter kit. It contains "example" modules as mentioned in it's documentation. Been working on an Open Source Project: github.com/sitecoremaster/Helix-Starter-Kit that I consider more of a "Starter Kit", because you can initialize a base Sitecore Solution which contains only 3 projects (Serialization, ORM and DI) and nothing more. It also provides developer efficiencies to extend it. No extra bloat, which is by design.
– Dylan Young
Nov 16 '18 at 23:49
But now you're getting into opinionated semantics of what constitutes a "starter kit" and what you consider "bloat". A single example of a feature, personally I would not consider that bloat, like saying a default example of Sitecore contains bloat due to the sample homepage. And the rest seem to be what the author considers best practice.
– jammykam
Nov 20 '18 at 21:37
|
show 2 more comments
Every single answer you will receive will be a no, Habitat is not mean to be used as a starter kit. Unless of course your client wanted a website that was exactly like the Habitat (standard, legal or finance) websites. Even then, I wouldn't regard it as production ready.
Note that the readme file of the Habitat Repository clearly states it is not a starter kit:
Is Habitat a starter kit or template solution?
No. You should not clone this repository for the purposes of starting a new Sitecore project. There are other community solutions which can be used as a starter for Helix-based Sitecore implementations. Habitat is intended as a reference example of a Helix-based Sitecore implementation.
Habitat has always been regarded as an example solution that implements the Helix principles. It is not the only way to follow the Helix principles, but one example of how a solution could be structured, provide some conventions that could be follows, demonstrate how to define/enforce module boundaries and dependencies.
Should you use Habitat?
Yes, use it as a learning exercise. Read the Helix documentation, and see how the Habitat project tackles those aspects. But don't use it as a starter kit for an actual project for a client that ever makes it anywhere near production.
Unpopular opinion maybe, but don't feel shy to take code from the Habitat project. I'm not saying copy/paste the entire repository, but undoubtedly there may be features/projects in the project which solve a particular problem you are trying to solve and maybe it solves it in a neat way, maybe the way multisite or datasources projects is handled, or the way the navigation feature is tackled. More likely these would be the Foundation layer projects though.
The important part is to understand why those projects were created, what problem are they trying to solve and how they solve them following the Helix principles. Large parts of our codebase is probably already copy+paste, whether that's from a previous project or StackOverflow. They key is to never blindly copy+paste or follow an example, but to understand and then apply it yourself only if it solves the exact same problem you have.
But don't kid yourself that the code in Habitat is the ultimate solution to anything. It's an example site and as with all things in Sitecore, there are plenty of ways to solve the same problem, even whilst following the Helix principles.
add a comment |
Your Answer
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "664"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fsitecore.stackexchange.com%2fquestions%2f14967%2fshould-habitat-be-used-as-a-starter-kit%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
2 Answers
2
active
oldest
votes
2 Answers
2
active
oldest
votes
active
oldest
votes
active
oldest
votes
A Resounding No
Think of Sitecore Habitat as the result of an assess and plan project phase where requirements and business objectives were already described for a ficticous client and developed.
While thats great for a demo site, as it goes, most requirements differ wildly per client. Using this as a starter kit, places unfounded requirements that maybe the client didn't want. So, now an assess and plan phase has to go through and unwire the ones that the client doesnt want, and then wire in the ones that weren't accounted for.
The time spent doing that comparative analysis, is generally greater and leads to bad practices because of having to undo something that someone already built. Or, as Dylan mentions in the comments, not done at all. Leaving behind bloat that will cause problems down the road.
How Should Habitat Be Used?
Instead, use Habitat as a model of a solution meant to provide a basis to help understand the principles of Helix. With a goal of creating something new that the client 100% intended to have with nothing else that they didn't.
An Analogy
Think of it like trying to write a childrens book but starting with a George R.R. Martin novel as a "starter kit". In theory, you're always going to want to have the Dragon Queen, but by the time you're done writing, most of your code is going to be dead.
#HabitatIsNotAStarterKit
1
Or what seems to be more common out there, that vendors that use it as a "StarterKit", never do the comparative analysis, and then your solution comes with alot of unnecessary bloat that has unknown consequences.
– Dylan Young
Nov 16 '18 at 0:35
I'd say definitely mine the Foundation layer, and/or use something that's not as "feature-rich" as Habitat like github.com/muso31/Helixbase, which is more designed as a "starter kit" that's mainly Foundation with some examples on the Project/Feature level.
– Ken McAndrew
Nov 16 '18 at 1:27
2
So you are saying there is a chance?
– Chris Auer
Nov 16 '18 at 2:55
1
I kind of disagree that Helixbase is a starter kit. It contains "example" modules as mentioned in it's documentation. Been working on an Open Source Project: github.com/sitecoremaster/Helix-Starter-Kit that I consider more of a "Starter Kit", because you can initialize a base Sitecore Solution which contains only 3 projects (Serialization, ORM and DI) and nothing more. It also provides developer efficiencies to extend it. No extra bloat, which is by design.
– Dylan Young
Nov 16 '18 at 23:49
But now you're getting into opinionated semantics of what constitutes a "starter kit" and what you consider "bloat". A single example of a feature, personally I would not consider that bloat, like saying a default example of Sitecore contains bloat due to the sample homepage. And the rest seem to be what the author considers best practice.
– jammykam
Nov 20 '18 at 21:37
|
show 2 more comments
A Resounding No
Think of Sitecore Habitat as the result of an assess and plan project phase where requirements and business objectives were already described for a ficticous client and developed.
While thats great for a demo site, as it goes, most requirements differ wildly per client. Using this as a starter kit, places unfounded requirements that maybe the client didn't want. So, now an assess and plan phase has to go through and unwire the ones that the client doesnt want, and then wire in the ones that weren't accounted for.
The time spent doing that comparative analysis, is generally greater and leads to bad practices because of having to undo something that someone already built. Or, as Dylan mentions in the comments, not done at all. Leaving behind bloat that will cause problems down the road.
How Should Habitat Be Used?
Instead, use Habitat as a model of a solution meant to provide a basis to help understand the principles of Helix. With a goal of creating something new that the client 100% intended to have with nothing else that they didn't.
An Analogy
Think of it like trying to write a childrens book but starting with a George R.R. Martin novel as a "starter kit". In theory, you're always going to want to have the Dragon Queen, but by the time you're done writing, most of your code is going to be dead.
#HabitatIsNotAStarterKit
1
Or what seems to be more common out there, that vendors that use it as a "StarterKit", never do the comparative analysis, and then your solution comes with alot of unnecessary bloat that has unknown consequences.
– Dylan Young
Nov 16 '18 at 0:35
I'd say definitely mine the Foundation layer, and/or use something that's not as "feature-rich" as Habitat like github.com/muso31/Helixbase, which is more designed as a "starter kit" that's mainly Foundation with some examples on the Project/Feature level.
– Ken McAndrew
Nov 16 '18 at 1:27
2
So you are saying there is a chance?
– Chris Auer
Nov 16 '18 at 2:55
1
I kind of disagree that Helixbase is a starter kit. It contains "example" modules as mentioned in it's documentation. Been working on an Open Source Project: github.com/sitecoremaster/Helix-Starter-Kit that I consider more of a "Starter Kit", because you can initialize a base Sitecore Solution which contains only 3 projects (Serialization, ORM and DI) and nothing more. It also provides developer efficiencies to extend it. No extra bloat, which is by design.
– Dylan Young
Nov 16 '18 at 23:49
But now you're getting into opinionated semantics of what constitutes a "starter kit" and what you consider "bloat". A single example of a feature, personally I would not consider that bloat, like saying a default example of Sitecore contains bloat due to the sample homepage. And the rest seem to be what the author considers best practice.
– jammykam
Nov 20 '18 at 21:37
|
show 2 more comments
A Resounding No
Think of Sitecore Habitat as the result of an assess and plan project phase where requirements and business objectives were already described for a ficticous client and developed.
While thats great for a demo site, as it goes, most requirements differ wildly per client. Using this as a starter kit, places unfounded requirements that maybe the client didn't want. So, now an assess and plan phase has to go through and unwire the ones that the client doesnt want, and then wire in the ones that weren't accounted for.
The time spent doing that comparative analysis, is generally greater and leads to bad practices because of having to undo something that someone already built. Or, as Dylan mentions in the comments, not done at all. Leaving behind bloat that will cause problems down the road.
How Should Habitat Be Used?
Instead, use Habitat as a model of a solution meant to provide a basis to help understand the principles of Helix. With a goal of creating something new that the client 100% intended to have with nothing else that they didn't.
An Analogy
Think of it like trying to write a childrens book but starting with a George R.R. Martin novel as a "starter kit". In theory, you're always going to want to have the Dragon Queen, but by the time you're done writing, most of your code is going to be dead.
#HabitatIsNotAStarterKit
A Resounding No
Think of Sitecore Habitat as the result of an assess and plan project phase where requirements and business objectives were already described for a ficticous client and developed.
While thats great for a demo site, as it goes, most requirements differ wildly per client. Using this as a starter kit, places unfounded requirements that maybe the client didn't want. So, now an assess and plan phase has to go through and unwire the ones that the client doesnt want, and then wire in the ones that weren't accounted for.
The time spent doing that comparative analysis, is generally greater and leads to bad practices because of having to undo something that someone already built. Or, as Dylan mentions in the comments, not done at all. Leaving behind bloat that will cause problems down the road.
How Should Habitat Be Used?
Instead, use Habitat as a model of a solution meant to provide a basis to help understand the principles of Helix. With a goal of creating something new that the client 100% intended to have with nothing else that they didn't.
An Analogy
Think of it like trying to write a childrens book but starting with a George R.R. Martin novel as a "starter kit". In theory, you're always going to want to have the Dragon Queen, but by the time you're done writing, most of your code is going to be dead.
#HabitatIsNotAStarterKit
edited Nov 16 '18 at 0:57
answered Nov 16 '18 at 0:25
Pete NavarraPete Navarra
10.9k2675
10.9k2675
1
Or what seems to be more common out there, that vendors that use it as a "StarterKit", never do the comparative analysis, and then your solution comes with alot of unnecessary bloat that has unknown consequences.
– Dylan Young
Nov 16 '18 at 0:35
I'd say definitely mine the Foundation layer, and/or use something that's not as "feature-rich" as Habitat like github.com/muso31/Helixbase, which is more designed as a "starter kit" that's mainly Foundation with some examples on the Project/Feature level.
– Ken McAndrew
Nov 16 '18 at 1:27
2
So you are saying there is a chance?
– Chris Auer
Nov 16 '18 at 2:55
1
I kind of disagree that Helixbase is a starter kit. It contains "example" modules as mentioned in it's documentation. Been working on an Open Source Project: github.com/sitecoremaster/Helix-Starter-Kit that I consider more of a "Starter Kit", because you can initialize a base Sitecore Solution which contains only 3 projects (Serialization, ORM and DI) and nothing more. It also provides developer efficiencies to extend it. No extra bloat, which is by design.
– Dylan Young
Nov 16 '18 at 23:49
But now you're getting into opinionated semantics of what constitutes a "starter kit" and what you consider "bloat". A single example of a feature, personally I would not consider that bloat, like saying a default example of Sitecore contains bloat due to the sample homepage. And the rest seem to be what the author considers best practice.
– jammykam
Nov 20 '18 at 21:37
|
show 2 more comments
1
Or what seems to be more common out there, that vendors that use it as a "StarterKit", never do the comparative analysis, and then your solution comes with alot of unnecessary bloat that has unknown consequences.
– Dylan Young
Nov 16 '18 at 0:35
I'd say definitely mine the Foundation layer, and/or use something that's not as "feature-rich" as Habitat like github.com/muso31/Helixbase, which is more designed as a "starter kit" that's mainly Foundation with some examples on the Project/Feature level.
– Ken McAndrew
Nov 16 '18 at 1:27
2
So you are saying there is a chance?
– Chris Auer
Nov 16 '18 at 2:55
1
I kind of disagree that Helixbase is a starter kit. It contains "example" modules as mentioned in it's documentation. Been working on an Open Source Project: github.com/sitecoremaster/Helix-Starter-Kit that I consider more of a "Starter Kit", because you can initialize a base Sitecore Solution which contains only 3 projects (Serialization, ORM and DI) and nothing more. It also provides developer efficiencies to extend it. No extra bloat, which is by design.
– Dylan Young
Nov 16 '18 at 23:49
But now you're getting into opinionated semantics of what constitutes a "starter kit" and what you consider "bloat". A single example of a feature, personally I would not consider that bloat, like saying a default example of Sitecore contains bloat due to the sample homepage. And the rest seem to be what the author considers best practice.
– jammykam
Nov 20 '18 at 21:37
1
1
Or what seems to be more common out there, that vendors that use it as a "StarterKit", never do the comparative analysis, and then your solution comes with alot of unnecessary bloat that has unknown consequences.
– Dylan Young
Nov 16 '18 at 0:35
Or what seems to be more common out there, that vendors that use it as a "StarterKit", never do the comparative analysis, and then your solution comes with alot of unnecessary bloat that has unknown consequences.
– Dylan Young
Nov 16 '18 at 0:35
I'd say definitely mine the Foundation layer, and/or use something that's not as "feature-rich" as Habitat like github.com/muso31/Helixbase, which is more designed as a "starter kit" that's mainly Foundation with some examples on the Project/Feature level.
– Ken McAndrew
Nov 16 '18 at 1:27
I'd say definitely mine the Foundation layer, and/or use something that's not as "feature-rich" as Habitat like github.com/muso31/Helixbase, which is more designed as a "starter kit" that's mainly Foundation with some examples on the Project/Feature level.
– Ken McAndrew
Nov 16 '18 at 1:27
2
2
So you are saying there is a chance?
– Chris Auer
Nov 16 '18 at 2:55
So you are saying there is a chance?
– Chris Auer
Nov 16 '18 at 2:55
1
1
I kind of disagree that Helixbase is a starter kit. It contains "example" modules as mentioned in it's documentation. Been working on an Open Source Project: github.com/sitecoremaster/Helix-Starter-Kit that I consider more of a "Starter Kit", because you can initialize a base Sitecore Solution which contains only 3 projects (Serialization, ORM and DI) and nothing more. It also provides developer efficiencies to extend it. No extra bloat, which is by design.
– Dylan Young
Nov 16 '18 at 23:49
I kind of disagree that Helixbase is a starter kit. It contains "example" modules as mentioned in it's documentation. Been working on an Open Source Project: github.com/sitecoremaster/Helix-Starter-Kit that I consider more of a "Starter Kit", because you can initialize a base Sitecore Solution which contains only 3 projects (Serialization, ORM and DI) and nothing more. It also provides developer efficiencies to extend it. No extra bloat, which is by design.
– Dylan Young
Nov 16 '18 at 23:49
But now you're getting into opinionated semantics of what constitutes a "starter kit" and what you consider "bloat". A single example of a feature, personally I would not consider that bloat, like saying a default example of Sitecore contains bloat due to the sample homepage. And the rest seem to be what the author considers best practice.
– jammykam
Nov 20 '18 at 21:37
But now you're getting into opinionated semantics of what constitutes a "starter kit" and what you consider "bloat". A single example of a feature, personally I would not consider that bloat, like saying a default example of Sitecore contains bloat due to the sample homepage. And the rest seem to be what the author considers best practice.
– jammykam
Nov 20 '18 at 21:37
|
show 2 more comments
Every single answer you will receive will be a no, Habitat is not mean to be used as a starter kit. Unless of course your client wanted a website that was exactly like the Habitat (standard, legal or finance) websites. Even then, I wouldn't regard it as production ready.
Note that the readme file of the Habitat Repository clearly states it is not a starter kit:
Is Habitat a starter kit or template solution?
No. You should not clone this repository for the purposes of starting a new Sitecore project. There are other community solutions which can be used as a starter for Helix-based Sitecore implementations. Habitat is intended as a reference example of a Helix-based Sitecore implementation.
Habitat has always been regarded as an example solution that implements the Helix principles. It is not the only way to follow the Helix principles, but one example of how a solution could be structured, provide some conventions that could be follows, demonstrate how to define/enforce module boundaries and dependencies.
Should you use Habitat?
Yes, use it as a learning exercise. Read the Helix documentation, and see how the Habitat project tackles those aspects. But don't use it as a starter kit for an actual project for a client that ever makes it anywhere near production.
Unpopular opinion maybe, but don't feel shy to take code from the Habitat project. I'm not saying copy/paste the entire repository, but undoubtedly there may be features/projects in the project which solve a particular problem you are trying to solve and maybe it solves it in a neat way, maybe the way multisite or datasources projects is handled, or the way the navigation feature is tackled. More likely these would be the Foundation layer projects though.
The important part is to understand why those projects were created, what problem are they trying to solve and how they solve them following the Helix principles. Large parts of our codebase is probably already copy+paste, whether that's from a previous project or StackOverflow. They key is to never blindly copy+paste or follow an example, but to understand and then apply it yourself only if it solves the exact same problem you have.
But don't kid yourself that the code in Habitat is the ultimate solution to anything. It's an example site and as with all things in Sitecore, there are plenty of ways to solve the same problem, even whilst following the Helix principles.
add a comment |
Every single answer you will receive will be a no, Habitat is not mean to be used as a starter kit. Unless of course your client wanted a website that was exactly like the Habitat (standard, legal or finance) websites. Even then, I wouldn't regard it as production ready.
Note that the readme file of the Habitat Repository clearly states it is not a starter kit:
Is Habitat a starter kit or template solution?
No. You should not clone this repository for the purposes of starting a new Sitecore project. There are other community solutions which can be used as a starter for Helix-based Sitecore implementations. Habitat is intended as a reference example of a Helix-based Sitecore implementation.
Habitat has always been regarded as an example solution that implements the Helix principles. It is not the only way to follow the Helix principles, but one example of how a solution could be structured, provide some conventions that could be follows, demonstrate how to define/enforce module boundaries and dependencies.
Should you use Habitat?
Yes, use it as a learning exercise. Read the Helix documentation, and see how the Habitat project tackles those aspects. But don't use it as a starter kit for an actual project for a client that ever makes it anywhere near production.
Unpopular opinion maybe, but don't feel shy to take code from the Habitat project. I'm not saying copy/paste the entire repository, but undoubtedly there may be features/projects in the project which solve a particular problem you are trying to solve and maybe it solves it in a neat way, maybe the way multisite or datasources projects is handled, or the way the navigation feature is tackled. More likely these would be the Foundation layer projects though.
The important part is to understand why those projects were created, what problem are they trying to solve and how they solve them following the Helix principles. Large parts of our codebase is probably already copy+paste, whether that's from a previous project or StackOverflow. They key is to never blindly copy+paste or follow an example, but to understand and then apply it yourself only if it solves the exact same problem you have.
But don't kid yourself that the code in Habitat is the ultimate solution to anything. It's an example site and as with all things in Sitecore, there are plenty of ways to solve the same problem, even whilst following the Helix principles.
add a comment |
Every single answer you will receive will be a no, Habitat is not mean to be used as a starter kit. Unless of course your client wanted a website that was exactly like the Habitat (standard, legal or finance) websites. Even then, I wouldn't regard it as production ready.
Note that the readme file of the Habitat Repository clearly states it is not a starter kit:
Is Habitat a starter kit or template solution?
No. You should not clone this repository for the purposes of starting a new Sitecore project. There are other community solutions which can be used as a starter for Helix-based Sitecore implementations. Habitat is intended as a reference example of a Helix-based Sitecore implementation.
Habitat has always been regarded as an example solution that implements the Helix principles. It is not the only way to follow the Helix principles, but one example of how a solution could be structured, provide some conventions that could be follows, demonstrate how to define/enforce module boundaries and dependencies.
Should you use Habitat?
Yes, use it as a learning exercise. Read the Helix documentation, and see how the Habitat project tackles those aspects. But don't use it as a starter kit for an actual project for a client that ever makes it anywhere near production.
Unpopular opinion maybe, but don't feel shy to take code from the Habitat project. I'm not saying copy/paste the entire repository, but undoubtedly there may be features/projects in the project which solve a particular problem you are trying to solve and maybe it solves it in a neat way, maybe the way multisite or datasources projects is handled, or the way the navigation feature is tackled. More likely these would be the Foundation layer projects though.
The important part is to understand why those projects were created, what problem are they trying to solve and how they solve them following the Helix principles. Large parts of our codebase is probably already copy+paste, whether that's from a previous project or StackOverflow. They key is to never blindly copy+paste or follow an example, but to understand and then apply it yourself only if it solves the exact same problem you have.
But don't kid yourself that the code in Habitat is the ultimate solution to anything. It's an example site and as with all things in Sitecore, there are plenty of ways to solve the same problem, even whilst following the Helix principles.
Every single answer you will receive will be a no, Habitat is not mean to be used as a starter kit. Unless of course your client wanted a website that was exactly like the Habitat (standard, legal or finance) websites. Even then, I wouldn't regard it as production ready.
Note that the readme file of the Habitat Repository clearly states it is not a starter kit:
Is Habitat a starter kit or template solution?
No. You should not clone this repository for the purposes of starting a new Sitecore project. There are other community solutions which can be used as a starter for Helix-based Sitecore implementations. Habitat is intended as a reference example of a Helix-based Sitecore implementation.
Habitat has always been regarded as an example solution that implements the Helix principles. It is not the only way to follow the Helix principles, but one example of how a solution could be structured, provide some conventions that could be follows, demonstrate how to define/enforce module boundaries and dependencies.
Should you use Habitat?
Yes, use it as a learning exercise. Read the Helix documentation, and see how the Habitat project tackles those aspects. But don't use it as a starter kit for an actual project for a client that ever makes it anywhere near production.
Unpopular opinion maybe, but don't feel shy to take code from the Habitat project. I'm not saying copy/paste the entire repository, but undoubtedly there may be features/projects in the project which solve a particular problem you are trying to solve and maybe it solves it in a neat way, maybe the way multisite or datasources projects is handled, or the way the navigation feature is tackled. More likely these would be the Foundation layer projects though.
The important part is to understand why those projects were created, what problem are they trying to solve and how they solve them following the Helix principles. Large parts of our codebase is probably already copy+paste, whether that's from a previous project or StackOverflow. They key is to never blindly copy+paste or follow an example, but to understand and then apply it yourself only if it solves the exact same problem you have.
But don't kid yourself that the code in Habitat is the ultimate solution to anything. It's an example site and as with all things in Sitecore, there are plenty of ways to solve the same problem, even whilst following the Helix principles.
answered Nov 16 '18 at 1:52
jammykamjammykam
11.2k11757
11.2k11757
add a comment |
add a comment |
Thanks for contributing an answer to Sitecore Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fsitecore.stackexchange.com%2fquestions%2f14967%2fshould-habitat-be-used-as-a-starter-kit%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown