ERPNext Community,
I will skip all introduction, and get straight to the point:
The current Installation process is awful, embarrassing, and a barrier to ERPNext growth and success.
My words should not surprise you. Many of you personally experienced the pain of ERPNext Installation. Last Friday, I quickly examined the 7 prior days of forum threads. I found 28 separate threads where people struggled with Installation issues. Those were only the easily-found posts. How many if I’d really spent time digging around?
I first started learning ERPNext at the beginning of 2017. Installation was bad then. It’s no better today.
TL;DR : I’m sporking Bench. And leading an open source project to write new, companion tools for ERPNext Installation.
(the famous spork is a hybrid of both fork and spoon. Since I’m not technically ‘forking’ bench, I use the word ‘spork’)
Contributors & Visitors welcome, and appreciated! It will take a Team Effort to accomplish this.
- GitLab repository for project Weavlo here, with introduction README here.
- Telegram channel here.
- There will be a dedicated project Wiki. I’ll share the URL once it’s online. It’s been a long weekend, friends.
- My Telegram handle is @BrianPond. You can ping me with questions, send funny cat photos, etc.
- List of other Maintainers is TBD (once they volunteer).
Project Goals:
- Make ERPNext more accessible for everyone.
- Create an Installation Process that is easy and bulletproof.
- Help the community generate Long Term Support environments.
~Brian
Frequently Anticipated Questions:
Q: Wow Brian…is this really that big of a deal?
A : Yes! We are losing valuable community members and comrades. Not because ERPNext isn’t excellent. But some people are unable even try using ERPNext. Because they’re stuck debugging the {expletive-deleted} installation scripts.
Q: Fair enough. So why not simply submit PR’s against Bench?
A: Good question! Two reasons for that:
-
I’ve maintained my own private fork of Bench for half a year. It helped a little. But I don’t think any quantity of PR’s can save the tool, and make installation bulletproof. We need major, significant change. Bench tries to be One Tool for Doing Anything. Unfortunately it ends up Mediocre At Everything.
No, we need to have Small Tools. Where each tool Does One Thing, And Does it Well.
-
Revamping Bench code means (inevitably & unfortunately) introducing errors downstream. Breaking the Bench repository will likely harm ERPNext and the Community. We definitely don’t want that! So it’s safer (and easier) to build new tools independently and in isolation. Nothing breaks this way.
Q: Does that mean no modifications to Frappe Framework or ERPNext code?
A: We would love to submit PRs against the Frappe framework code, and make it more-compatible with these new Weavlo companion tools. We’ll see what happens! But in the short-term? We’re going to start with the existing v12 code base.
Q: So…I will just download this new installer tool. And it will install ERPNext, without any fuss, and launch it?
A: Yes, that is The Plan.
A: Isn’t that what the Easy Install script does?
Q: Supposedly. Yet experience has demonstrated that a more industrial-strength installation tool is required.
Q: What about Bench?
A: Not sure yet; that is a topic for discussion. Personally, I’ve never been a fan. But we’ll discuss as a team, and see where it goes. At the minimum, it seems like a “mini-Bench” should be included, to support those people who enjoy using certain commands. Our goal is to improve ERPNext usage; not subtract functionality. Still, these Weavlo tools are designed to replace a lot of Bench. We won’t be improving on it.
Q: When will these new ERPNext Installation tools be available?! I could really use them right now!
A: That’s difficult to predict at this moment. It will depends a lot on contributions. Stay tuned!
Q: Brian, why is ERPNext Installation so hard in the first place?
A: Uggh. Sometimes cool things are complex . ERPNext glues lots of ideas together. Here’s a quick rundown:
- ERPNext can be installed on many OS distributions. And versions of each. That alone introduces much chaos.
- It has lots of pre-requisite software, which must be installed and configured correctly.
- Bench, Frappe, and ERPNext code on GitHub change over time. Even the stable versions are patched. And sometimes humans can make honest mistakes.
- ERPNext depends on Python & Node packages downloaded from the internet. Sometimes those upstream packages introduce errors in ERPNext.
- Python2 vs. Python3 didn’t help matters.
- Because Python and JavaScript are interpreted programming languages.
- Because computers.
Q: Why use GitLab, instead of GitHub where all the other code is at?
A: This post is already too long; read on that here: weavlo / weavlo_intro · GitLab