Skip to content
This repository has been archived by the owner on Oct 15, 2020. It is now read-only.

Commit

Permalink
Merge remote-tracking branch 'refs/remotes/origin/develop'
Browse files Browse the repository at this point in the history
  • Loading branch information
jwrober committed Nov 29, 2017
2 parents c2cc1bf + 6f2f8e2 commit b748ffb
Show file tree
Hide file tree
Showing 19 changed files with 164 additions and 113 deletions.
46 changes: 46 additions & 0 deletions CODE_OF_CONDUCT.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
# Contributor Covenant Code of Conduct

## Our Pledge

In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation.

## Our Standards

Examples of behavior that contributes to creating a positive environment include:

* Using welcoming and inclusive language
* Being respectful of differing viewpoints and experiences
* Gracefully accepting constructive criticism
* Focusing on what is best for the community
* Showing empathy towards other community members

Examples of unacceptable behavior by participants include:

* The use of sexualized language or imagery and unwelcome sexual attention or advances
* Trolling, insulting/derogatory comments, and personal or political attacks
* Public or private harassment
* Publishing others' private information, such as a physical or electronic address, without explicit permission
* Other conduct which could reasonably be considered inappropriate in a professional setting

## Our Responsibilities

Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior.

Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful.

## Scope

This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers.

## Enforcement

Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at jwrober at gmail dot com. The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately.

Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership.

## Attribution

This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at [http://contributor-covenant.org/version/1/4][version]

[homepage]: http://contributor-covenant.org
[version]: http://contributor-covenant.org/version/1/4/
59 changes: 32 additions & 27 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,40 +2,45 @@

This is the ERPNext Administrator's Guide. All content in this guide is generated in markdown (MD) language. The purpose of this guide is to provide self-hosters of the [ERPNext](https://erpnext.org "ERPNext Website") system a place to capture tips and tricks on administering this complex platform.

If you would like to contribute to the maintenance of this guide, please PM me from the [ERPNext Discussion Forum](https://discuss.erpnext.com/) to get added to the repo. I go by the handle `james_robertson` there. Also, please read the [Contributing Guidelines](https://github.com/jwrober/erpnext_admin_guide/wiki/Contributing-Guidelines) as well.
If you would like to contribute to the maintenance of this guide, please PM me from the [ERPNext Discussion Forum](https://discuss.erpnext.com/) to get added to the repo. I go by the handle `james_robertson` there. Please read the [Contributing Guidelines](CONTRIBUTING).

<a rel="license" href="http://creativecommons.org/licenses/by-nd/4.0/"><img alt="Creative Commons License" style="border-width:0" src="https://i.creativecommons.org/l/by-nd/4.0/88x31.png" /></a><br />This work is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by-nd/4.0/">Creative Commons Attribution-NoDerivatives 4.0 International License</a>.
![GPLv3 Logo](https://www.gnu.org/graphics/gplv3-127x51.png)<br />
This work is licensed under the GNU GENERAL PUBLIC LICENSE v3. Same as [ERPNext](https://github.com/frappe/erpnext "ERPNext GitHub Repo").

Read this guide online at <https://jwrober.github.io/erpnext_admin_guide/>

The GitHub repository is at <https://github.com/jwrober/erpnext_admin_guide>

## Table of Contents

* 1 Preface
* 1.1 [Foreward](preface/foreward.md "Foreward")
* 1.2 [Audience](preface/audience.md "Audience")
* 1.3 [Prerequisites](preface/prerequisites.md "Prereguisites")
* 1.4 [Typography](preface/typography.md "Typography")
* 1.1 [Foreward](preface/foreward "Foreward")
* 1.2 [Audience](preface/audience "Audience")
* 1.3 [Prerequisites](preface/prerequisites "Prereguisites")
* 1.4 [Typography](preface/typography "Typography")
* 2 Introduction
* 2.1 [Overview of ERPNext](introduction/overview.md "Overview of ERPNext")
* 2.2 [Getting Help](introduction/help.md "Getting Help")
* 2.1 [Overview of ERPNext](introduction/overview "Overview of ERPNext")
* 2.2 [Getting Help](introduction/help "Getting Help")
* 3 ERPNext Installation, Upgrades, and Backups
* 3.1 [Frappe Bench](i-u-b/bench.md)
* 3.1.1 [Operating Envrionment](i-u-b/bench.md)
* 3.1.2 [Frappe Bench Commands](i-u-b/bench.md)
* 3.1.3 [The Wonderful World of git](i-u-b/git.md)
* 3.1.4 [The Wonderful World of nginx](i-u-b/nginx.md)
* 3.1.5 [Software Packages Installed](i-u-b/software.md)
* 3.2 [Installing ERPNext](i-u-b/install.md)
* 3.2.1 [Installation Troubleshooting](i-u-b/install-trouble.md)
* 3.2.2 [Installation of a Side by Side Development Environment](i-u-b/install-dev.md)
* 3.3 [Upgrading ERPNext](i-u-b/upgrade.md)
* 3.3.1 [Upgrading from one Major Version to Another](i-u-b/upgrade.md)
* 3.3.2 [Upgrading from one Minor Version to Another](i-u-b/upgrade.md)
* 3.3.3 [Reverting to an older version](i-u-b/revert.md)
* 3.3.4 [Upgrade Troubleshooting](i-u-b/upgrade-trouble.md)
* 3.4 [Backing Up ERPNext](i-u-b/backup.md)
* 3.5 [Restoring from a Previous Backup](i-u-b/restore.md)
* 3.1 [Frappe Bench](i-u-b/bench)
* 3.1.1 [Operating Envrionment](i-u-b/bench)
* 3.1.2 [Frappe Bench Commands](i-u-b/bench)
* 3.1.3 [The Wonderful World of git](i-u-b/git)
* 3.1.4 [The Wonderful World of nginx](i-u-b/nginx)
* 3.1.5 [Software Packages Installed](i-u-b/software)
* 3.2 [Installing ERPNext](i-u-b/install)
* 3.2.1 [Installation Troubleshooting](i-u-b/install-trouble)
* 3.2.2 [Installation of a Side by Side Development Environment](i-u-b/install-dev)
* 3.3 [Upgrading ERPNext](i-u-b/upgrade)
* 3.3.1 [Upgrading from one Major Version to Another](i-u-b/upgrade)
* 3.3.2 [Upgrading from one Minor Version to Another](i-u-b/upgrade)
* 3.3.3 [Reverting to an older version](i-u-b/revert)
* 3.3.4 [Upgrade Troubleshooting](i-u-b/upgrade-trouble)
* 3.4 [Backing Up ERPNext](i-u-b/backup)
* 3.5 [Restoring from a Previous Backup](i-u-b/restore)
* 4 Setup
* 4.1 [The Setup Wizard](setup/setup.md)
* 4.2 [Domans](setup/domains.md)
* 4.1 [The Setup Wizard](setup/setup)
* 4.2 [Domans](setup/domains)
* 5 Explore > Setup > Users
* 5.1 User
* 5.2 Role
Expand Down Expand Up @@ -217,4 +222,4 @@ Now that you have read to the bottom of the current table of contents, you will

We will work on those at a future date! As you can see, there is a lot to fill in yet.<br /><br />

Next: [1.1 Foreward](preface/foreward.md "Foreward")
Next: [1.1 Foreward](preface/foreward "Foreward")
8 changes: 4 additions & 4 deletions i-u-b/backup.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
## 3.4 Backing Up ERPNext

Backing up ERPNext is pretty simple. There are two kinds of backups in the author's mind. A simple backup and a full backup. Let me explain.
Backing up ERPNext is pretty simple. There are two kinds of backups from the admin guide's perspective. A simple backup and a full backup. Let me explain.

### 3.4.1 Simple Backup

Expand All @@ -18,13 +18,13 @@ A simple backup just backs up the database and files into `tar` files. To accom

### 3.4.2 Full Backup

There is another level of backup that is not really discussed in the [Discussion Forums](https://discuss.erpnext.com/ "ERPNext Discussion Forums") and is what the author calls a **full backup**. The simple backup does not do anything with the code. There is no mechanism to revert to an older code base once `bench update` has been run. So when [Upgrading](upgrade.md "Upgrading ERPNext"), make sure to take a full backup like this:
There is another level of backup that is not really discussed in the [Discussion Forums](https://discuss.erpnext.com/ "ERPNext Discussion Forums") and is what the admin guide calls a **full backup**. The simple backup does not do anything with the code. There is no mechanism to revert to an older code base once `bench update` has been run. So when [Upgrading](upgrade "Upgrading ERPNext"), make sure to take a full backup like this:

sudo su - erpnext
# you should be in the root of the erpnext user home directory
# take a full backup of the whole system
tar -acvf erpnext-prd-backup-[yyyy-mm-dd].tar.bz2 frappe-bench/*

This will create a `tar.bz2` file in the `/home/erpnext/` directory. You can then follow the steps in [3.3.3 Reverting to an Older Version](revert.md "Reverting to an Older Version") to get back to a known good state.<br /><br />
This will create a `tar.bz2` file in the `/home/erpnext/` directory. You can then follow the steps in [3.3.3 Reverting to an Older Version](revert "Reverting to an Older Version") to get back to a known good state.<br /><br />

Previous: [3.3.4 Upgrade Troubleshooting](upgrade-trouble.md "Upgrade Troubleshooting") | Next: [3.5 Restoring from a Previous Backup](restore.md "Restoring from a Previous Backup")
Previous: [3.3.4 Upgrade Troubleshooting](upgrade-trouble "Upgrade Troubleshooting") | Next: [3.5 Restoring from a Previous Backup](restore "Restoring from a Previous Backup")
12 changes: 6 additions & 6 deletions i-u-b/bench.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@

## 3.1 Frappe Bench

Frappe `bench` is more than a program written in python. It is a workhorse that an administrator uses to manage a large amount of low level tasks for administrating ERPNext. Frappe `bench` is the first thing [installed](install.md "Installing ERPNext") besides the base dependencies and is the first tool an administrator will go to when doing work with an ERPNext installation outside of the user interface.
Frappe `bench` is more than a program written in python. It is a workhorse that an administrator uses to manage a large amount of low level tasks for administrating ERPNext. Frappe `bench` is the first thing [installed](install "Installing ERPNext") besides the base dependencies and is the first tool an administrator will go to when doing work with an ERPNext installation outside of the user interface.

ERPNext should be [installed](install.md "Installing ERPNext") in a user directory on the Linux server and will run as that user. During installation this user should have `sudoer` rights, however after installation and in runtime in production envrionments this user should be unprivileged and should **not** have `sudoer` rights. The user must **not** be `root` either.
ERPNext should be [installed](install "Installing ERPNext") in a user directory on the Linux server and will run as that user. During installation this user should have `sudoer` rights, however after installation and in runtime in production environments this user should be unprivileged and should **not** have `sudoer` rights. The user must **not** be `root` either.

Best practice is to logon to the server with a regular user that has `sudoer` rights. Don't logon as `root`. Use the `sudo` command to do any privileged work on the server. When working with `bench`, logon with the regular user and `su` to the `erpnext` user like this:

Expand All @@ -15,7 +15,7 @@ Best practice is to logon to the server with a regular user that has `sudoer` ri

### 3.1.1 Frappe Bench Operating Environment

Once you have logged on to the server and become the `erpnext` user, you are ready to get to work with `bench`. During [installation](install.md "Installing ERPNext"), bench will create the following directroy structure:
Once you have logged on to the server and become the `erpnext` user, you are ready to get to work with `bench`. During [installation](install "Installing ERPNext"), bench will create the following directory structure:

* **apps** -- The code is downloaded from GitHub to here
* **erpnext**
Expand All @@ -34,13 +34,13 @@ Once you have logged on to the server and become the `erpnext` user, you are rea
* **share** -- `man` pages
* **src** -- Other utilities like `mysqlclient` and `pdfkit`.
* **logs** -- Various log files.
* **node_modules** -- ERPNext uses a colletion of `NodeJS` modules. The are installed here.
* **node_modules** -- ERPNext uses a collection of `NodeJS` modules. The are installed here.
* **sites** -- The top level directory for all sites on the installation. `bench` can manage multiple sites in one environment. If you are running in a multi-tenant environment you will see more than one [site name] directory.
* **[site name]** -- The name of the site. Usually is the same as the URI for the site.
* **error-snapshots**
* **locks**
* **private** -- Private file attachments to various documents inside the user interface are stored on the filesystem here.
* **backups** -- Backups for the site are stored here. See [3.4 Backups](backup.md "Backing up ERPNext")
* **backups** -- Backups for the site are stored here. See [3.4 Backups](backup "Backing up ERPNext")
* **public** -- Public file attachments to various documents inside the user interface are stored on the filesystem here.
* **task-logs**

Expand All @@ -50,4 +50,4 @@ Administrators need to be comfortable with the frappe `bench` command structure.

There is a [cheat sheet](https://frappe.io/docs/user/en/bench/resources/bench-commands-cheatsheet "Frappe Bench Commands Cheetsheet") available that is a good start.<br /><br />

Previous: [2.2 Getting Help](../introduction/help.md "Getting Help") | Next: [3.1.3 Wonderful World of git](git.md "The Wonderful World of git")
Previous: [2.2 Getting Help](../introduction/help "Getting Help") | Next: [3.1.3 Wonderful World of git](git "The Wonderful World of git")
6 changes: 3 additions & 3 deletions i-u-b/git.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
### 3.1.3 The Wonderful World of git

`git` is a software code revision/version control system. The popular GitHub website hosts `git` repositories online for projects such as ERPNext and this administrators guide to reside in. Administrators for companies that want to host their own repositories can do so, especially those that do not want thier code public.
`git` is a software code revision/version control system. The popular GitHub website hosts `git` repositories online for projects such as ERPNext and this administrators guide to reside in. Administrators for companies that want to host their own repositories can do so, especially those that do not want their code public.

As mentioned before, ERPNext is hosted in an GitHub repository at [https://github.com/frappe/erpnext](https://github.com/frappe/erpnext "ERPNext GitHub Repo"). The Frappe `bench` system will download the ERPNext repository and others as needed with a `clone ` operation. The `bench update` command, redownloads the latest code and upgrades ERPNext to the most current version. See [3.3 Upgrading ERPNext](upgrade.md "Upgrading ERPNext").
As mentioned before, ERPNext is hosted in an GitHub repository at [https://github.com/frappe/erpnext](https://github.com/frappe/erpnext "ERPNext GitHub Repo"). The Frappe `bench` system will download the ERPNext repository and others as needed with a `clone ` operation. The `bench update` command, re-downloads the latest code and upgrades ERPNext to the most current version. See [3.3 Upgrading ERPNext](upgrade "Upgrading ERPNext").

An administrator needs to be comfortable with `git` as there are going to be instances where the code needs to be reverted or otherwise edited. Developers of ERPNext will certainly need to be proficient in `git` so that they can contribute to the project or write custom modules.

Here are some places to go gain some knowledge on `git`:
* There is a good cheat sheet at [git-tower](https://www.git-tower.com/blog/git-cheat-sheet "Git Cheat Sheet")<br /><br />
* There is the official documentation at [git-scm](https://git-scm.com/docs "Git SCM Documentation")<br /><br />

Previous: [3 Frappe Bench](bench.md "Frappe Bench") | Next: [3.1.4 Wonderful World of nginx](nginx.md "The Wonderful World of nginx")
Previous: [3 Frappe Bench](bench "Frappe Bench") | Next: [3.1.4 Wonderful World of nginx](nginx "The Wonderful World of nginx")
4 changes: 2 additions & 2 deletions i-u-b/nginx.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
### 3.1.4 The Wonderful World of nginx

`nginx` is a web server, similar to the popular Apache `httpd` web server. This piece of software is critical to the proper functioning of an ERPNext installation. Ensuring that the configuration of the web server is correct ensures that your installation will work properly and also stays secure, especially if your installation is exposed to the open internet.
`nginx` is a web server, similar to the popular Apache `httpd` web server. This piece of software is critical to the proper functioning of an ERPNext installation. Ensuring that the configuration of the web server is correct ensures that your installation will work properly and also stays secure, especially if your installation is exposed to the open Internet.

The best place to learn about nginx is on the [nginx.org](http://nginx.org/en/docs/ "nginx Documentation") website. At a minimum, an administrator should read the Beginner's Guide and the Admin's Guide.<br /><br />

Previous: [3.1.3 Wonderful World of git](git.md "The Wonderful World of git") | Next: [3.1.5 Software Packages Installed](software.md "Software Packages Installed")
Previous: [3.1.3 Wonderful World of git](git "The Wonderful World of git") | Next: [3.1.5 Software Packages Installed](software "Software Packages Installed")
4 changes: 2 additions & 2 deletions i-u-b/restore.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
## 3.5 Restoring from a Previous Backup

Assuming you have a good [simple backup](backup.md "Backing Up ERPNext"), you can use these commands to restore the database and files. These commands also assume that you are not [reverting](revert.md "Reverting to an Older Version") back to a different code base.
Assuming you have a good [simple backup](backup "Backing Up ERPNext"), you can use these commands to restore the database and files. These commands also assume that you are not [reverting](revert "Reverting to an Older Version") back to a different code base.

sudo su - erpnext
cd frappe-bench/
Expand All @@ -11,4 +11,4 @@ Assuming you have a good [simple backup](backup.md "Backing Up ERPNext"), you ca

This should bring your system's database and files configuration back to the point in time the backup was taken.<br /><br />

Previous: [3.4 Backing Up ERPNext](backup.md "Backing Up ERPNext") | Next: [4 Setup](../setup/setup.md "Setup")
Previous: [3.4 Backing Up ERPNext](backup "Backing Up ERPNext") | Next: [4 Setup](../setup/setup "Setup")
Loading

0 comments on commit b748ffb

Please sign in to comment.