Code Monkey home page Code Monkey logo

bench_manager's Introduction

a web framework with "batteries included"

it's pronounced - fra-pay

Full-stack web application framework that uses Python and MariaDB on the server side and a tightly integrated client side library. Built for ERPNext.

Login for the PWD site: (username: Administrator, password: admin)

Table of Contents

Installation

Production

Development

Contributing

  1. Code of Conduct
  2. Contribution Guidelines
  3. Security Policy

Resources

  1. frappeframework.com - Official documentation of the Frappe Framework.
  2. frappe.school - Pick from the various courses by the maintainers or from the community.
  3. buildwithhussain.dev - Watch Frappe Framework being used in the wild to build world-class web apps.

License

This repository has been released under the MIT License.

By contributing to Frappe, you agree that your contributions will be licensed under its MIT License.

bench_manager's People

Contributors

alaa-alsalehi avatar bahaaabed avatar codingcoffee avatar gavindsouza avatar jeansreal avatar mhbu50 avatar mymi14s avatar netchampfaris avatar revant avatar vishalseshagiri avatar waffle-iron avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

bench_manager's Issues

expanding on git commands

  • git fetch a particular branch from master
  • checkout to that particular branch
  • stashing or commit changes
  • git pull --rebase upstream develop

Error on sync

Traceback (most recent call last):
  File "/Users/rushabh/frappe/frappe-bench/apps/frappe/frappe/app.py", line 57, in application
    response = frappe.handler.handle()
  File "/Users/rushabh/frappe/frappe-bench/apps/frappe/frappe/handler.py", line 22, in handle
    data = execute_cmd(cmd)
  File "/Users/rushabh/frappe/frappe-bench/apps/frappe/frappe/handler.py", line 53, in execute_cmd
    return frappe.call(method, **frappe.form_dict)
  File "/Users/rushabh/frappe/frappe-bench/apps/frappe/frappe/__init__.py", line 923, in call
    return fn(*args, **newargs)
  File "/Users/rushabh/frappe/frappe-bench/apps/bench_manager/bench_manager/bench_manager/doctype/bench_settings/bench_settings.py", line 203, in sync_all
    sync_apps()
  File "/Users/rushabh/frappe/frappe-bench/apps/bench_manager/bench_manager/bench_manager/doctype/bench_settings/bench_settings.py", line 76, in sync_apps
    doc.insert()
  File "/Users/rushabh/frappe/frappe-bench/apps/frappe/frappe/model/document.py", line 192, in insert
    self.run_before_save_methods()
  File "/Users/rushabh/frappe/frappe-bench/apps/frappe/frappe/model/document.py", line 772, in run_before_save_methods
    self.run_method("validate")
  File "/Users/rushabh/frappe/frappe-bench/apps/frappe/frappe/model/document.py", line 666, in run_method
    out = Document.hook(fn)(self, *args, **kwargs)
  File "/Users/rushabh/frappe/frappe-bench/apps/frappe/frappe/model/document.py", line 887, in composer
    return composed(self, method, *args, **kwargs)
  File "/Users/rushabh/frappe/frappe-bench/apps/frappe/frappe/model/document.py", line 870, in runner
    add_to_return_value(self, fn(self, *args, **kwargs))
  File "/Users/rushabh/frappe/frappe-bench/apps/frappe/frappe/model/document.py", line 660, in <lambda>
    fn = lambda self, *args, **kwargs: getattr(self, method)(*args, **kwargs)
  File "/Users/rushabh/frappe/frappe-bench/apps/bench_manager/bench_manager/bench_manager/doctype/app/app.py", line 24, in validate
    self.update_app_details()
  File "/Users/rushabh/frappe/frappe-bench/apps/bench_manager/bench_manager/bench_manager/doctype/app/app.py", line 90, in update_app_details
    if 'Version:' in data:
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 13: ordinal not in range(128)

Bench Manager desk not showing

@revant Hello! I have an issue where I can't seem to see the Bench Manager Desk, all I can see is the Frappe module. I'm using Ubuntu 20.4 on a VM running on MAC M1. I can see the Bench Manager App is installed, my Frappe Framework it's v14.x.x-develop.

I hope you can help me, thanks.

Sync feature addon

Whenever you go to Bench Settings page, run "Sync". Also store the last sync timestamp.
When you go to Bench Settings page again, check if "Sync" was run in the last 10 minutes, if not run "Sync" else dont

Error on open Bench Settings

I get this error when I open Bench Settings:

Traceback (most recent call last): File "/home/frappe/frappe-bench/apps/frappe/frappe/app.py", line 62, in application response = frappe.handler.handle() File "/home/frappe/frappe-bench/apps/frappe/frappe/handler.py", line 22, in handle data = execute_cmd(cmd) File "/home/frappe/frappe-bench/apps/frappe/frappe/handler.py", line 53, in execute_cmd return frappe.call(method, **frappe.form_dict) File "/home/frappe/frappe-bench/apps/frappe/frappe/__init__.py", line 939, in call return fn(*args, **newargs) File "/home/frappe/frappe-bench/apps/bench_manager/bench_manager/bench_manager/doctype/bench_settings/bench_settings.py", line 223, in sync_all sync_sites() File "/home/frappe/frappe-bench/apps/bench_manager/bench_manager/bench_manager/doctype/bench_settings/bench_settings.py", line 63, in sync_sites site_dirs = update_site_list() File "/home/frappe/frappe-bench/apps/bench_manager/bench_manager/bench_manager/doctype/bench_settings/bench_settings.py", line 114, in update_site_list for root, dirs, files in os.walk(".", topdown=True): File "/home/frappe/frappe-bench/env/lib/python2.7/os.py", line 299, in walk for x in walk(new_path, topdown, onerror, followlinks): File "/home/frappe/frappe-bench/env/lib/python2.7/os.py", line 299, in walk for x in walk(new_path, topdown, onerror, followlinks): File "/home/frappe/frappe-bench/env/lib/python2.7/os.py", line 299, in walk for x in walk(new_path, topdown, onerror, followlinks): File "/home/frappe/frappe-bench/env/lib/python2.7/os.py", line 289, in walk if isdir(join(top, name)): File "/home/frappe/frappe-bench/env/lib/python2.7/genericpath.py", line 46, in isdir st = os.stat(s) UnicodeEncodeError: 'ascii' codec can't encode characters in position 26-30: ordinal not in range(128)

Feedback 0.1

Documentation

  • create a new site + install app after installation
  • cleaner screenshots

Bench settings

  • Add a colour + icon for the desktop icon
  • Rename "Bench Setting" to "Bench Settings"
  • Let "Bench Settings" be the home page of the module, links to sites etc via dashboard
  • Merge all sync (site + backups in one command)
  • No msgprint when sites / backups are synced! (generally avoid messages like "please be patient")

Site

  • Password must be of type password!
  • In site, add config setting "disable website cache"
  • Site delete should be via Command
  • New Site -> hide sections by default
  • In Site, app list not updated after install-app

Backup

  • use naming like 2017-07-01 10:00:08-test.erpnext.dev so backups can be sorted in the list

Bench manager: Your system is being updated. Please refresh again after a few moments Status: 503

Hi every body
i installed bench manager after installing frappe /erpnext
and did the steps of installing .
as in this guid
https://frappe.io/bench-manager
the installation of bench manger is in the frappe-bench folder
after that i tried to access my localhos:8080 as usual which befor the installing bench manager take me to the home of ERPNEXT page login.
but now localhos:8080
take me to this thing in the page

Updating

Your system is being updated. Please refresh again after a few moments

Status: 503

so please guid me how to resolve such issue

popup console view is missing

Hello,

I have an issue with the console view.
Always stuck in this screen.

image

I use Chrome and Firefox but no luck, sometimes it show a console but it's not the actually.
What's the problem?

How can I start with the debug if no error shown in browser console.

Thanks a lot.

Get App Button Failled

We are checking the get app button to add new apps to the system but it does not work
We got this message
get app fialed

If dns_multitenant on, then remove port:8000 from View site.

Bench Manager is Awesome !! πŸ‘
Just briefly had overview, and noted some minor fixes, as follows:

  1. If user had Setup Multitenancy then at with Bench Manager, at Sites Overview, and "View site" feature, automatically should remove port with sitename.

Example: I have a site named, subdomain.domain.com and I can access website without ports, exactly because I already set up multitenancy earlier. Still, at Bench Manager, it will add ports to url, when it opens up in new tab. It will try to pull subdomain.domain.com:8000, while it will be not fetched and hence, we'll get timeout "This site can’t be reached".

  1. Also, I doubt about REDIS and PORTS options, when bench was setup as multitenancy in Bench Settings. Because, there is mentioned URLs as "redis://localhost:12000" there should be server hostname(if someone changed hostname then?).
    issue-report-bench-manager-ports redis

Either this section comes with default settings or we have to manage this accordingly? Also, multitenancy will affect these default settings or not? Just not sure, about the question but still raising for knowledge.

  1. [Feature Request] Option to enable or disable DNS based Multitenancy. Might, based on enable or disable option, we can resolve issue reported in option 1("View site with default ports")

  2. Download to desktop Backup with "Site Backup" feature.

Run setup commands to actually create config files from common_site_config.json

I haven't tried out the app, however, it seems that the app allows you to modify the common_site_config.json. However, the config is actually used to generate other config files when the respective bench setup command is run.

For example, the key gunicorn_workers, is used to generate the supervisor config and accordingly set the right value for the number of gunicorn workers.

remove super bug

  • remove console_command from whitelisted methods
  • remove run_command from whitelisted methods
  • ask for admin password for execution of critical commands like drop-site etc
    - [ ] add the command executioner field to run_command
  • remove shell = True
  • hide passwords from command logs

Basic Git Commands on App

  • list local branches
  • ability to create a new branch
  • checkout a branch
  • make a new branch
  • delete a local branch
  • git fetch (updates remote branches)

Error while opening Bench Manager

Hi frappe team,
I have installed Bench Manager App in my ERPNext website, I am using Production Image of ERPNext in VirtualBox.
When ever i try to run Bench Manager I am getting below error, and form fields are disabled, also site list is empty.

> Traceback (most recent call last):
>   File "/home/frappe/frappe-bench/apps/frappe/frappe/desk/form/save.py", line 22, in savedocs
>     doc.save()
>   File "/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py", line 256, in save
>     return self._save(*args, **kwargs)
>   File "/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py", line 290, in _save
>     self.run_before_save_methods()
>   File "/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py", line 859, in run_before_save_methods
>     self.run_method("validate")
>   File "/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py", line 755, in run_method
>     out = Document.hook(fn)(self, *args, **kwargs)
>   File "/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py", line 1024, in composer
>     return composed(self, method, *args, **kwargs)
>   File "/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py", line 1007, in runner
>     add_to_return_value(self, fn(self, *args, **kwargs))
>   File "/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py", line 749, in <lambda>
>     fn = lambda self, *args, **kwargs: getattr(self, method)(*args, **kwargs)
>   File "/home/frappe/frappe-bench/apps/bench_manager/bench_manager/bench_manager/doctype/bench_settings/bench_settings.py", line 29, in validate
>     sync_all(in_background=True)
>   File "/home/frappe/frappe-bench/apps/bench_manager/bench_manager/bench_manager/doctype/bench_settings/bench_settings.py", line 223, in sync_all
>     sync_sites()
>   File "/home/frappe/frappe-bench/apps/bench_manager/bench_manager/bench_manager/doctype/bench_settings/bench_settings.py", line 63, in sync_sites
>     site_dirs = update_site_list()
>   File "/home/frappe/frappe-bench/apps/bench_manager/bench_manager/bench_manager/doctype/bench_settings/bench_settings.py", line 114, in update_site_list
>     for root, dirs, files in os.walk(".", topdown=True):
>   File "/home/frappe/frappe-bench/env/lib/python2.7/os.py", line 294, in walk
>     for x in walk(new_path, topdown, onerror, followlinks):
>   File "/home/frappe/frappe-bench/env/lib/python2.7/os.py", line 294, in walk
>     for x in walk(new_path, topdown, onerror, followlinks):
>   File "/home/frappe/frappe-bench/env/lib/python2.7/os.py", line 294, in walk
>     for x in walk(new_path, topdown, onerror, followlinks):
>   File "/home/frappe/frappe-bench/env/lib/python2.7/os.py", line 284, in walk
>     if isdir(join(top, name)):
>   File "/home/frappe/frappe-bench/env/lib/python2.7/posixpath.py", line 80, in join
>     path += '/' + b
> UnicodeDecodeError: 'ascii' codec can't decode byte 0xd8 in position 1: ordinal not in range(128)
> 
> Traceback (most recent call last):
>   File "/home/frappe/frappe-bench/apps/frappe/frappe/app.py", line 62, in application
>     response = frappe.handler.handle()
>   File "/home/frappe/frappe-bench/apps/frappe/frappe/handler.py", line 22, in handle
>     data = execute_cmd(cmd)
>   File "/home/frappe/frappe-bench/apps/frappe/frappe/handler.py", line 53, in execute_cmd
>     return frappe.call(method, **frappe.form_dict)
>   File "/home/frappe/frappe-bench/apps/frappe/frappe/__init__.py", line 939, in call
>     return fn(*args, **newargs)
>   File "/home/frappe/frappe-bench/apps/frappe/frappe/desk/form/save.py", line 22, in savedocs
>     doc.save()
>   File "/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py", line 256, in save
>     return self._save(*args, **kwargs)
>   File "/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py", line 290, in _save
>     self.run_before_save_methods()
>   File "/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py", line 859, in run_before_save_methods
>     self.run_method("validate")
>   File "/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py", line 755, in run_method
>     out = Document.hook(fn)(self, *args, **kwargs)
>   File "/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py", line 1024, in composer
>     return composed(self, method, *args, **kwargs)
>   File "/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py", line 1007, in runner
>     add_to_return_value(self, fn(self, *args, **kwargs))
>   File "/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py", line 749, in <lambda>
>     fn = lambda self, *args, **kwargs: getattr(self, method)(*args, **kwargs)
>   File "/home/frappe/frappe-bench/apps/bench_manager/bench_manager/bench_manager/doctype/bench_settings/bench_settings.py", line 29, in validate
>     sync_all(in_background=True)
>   File "/home/frappe/frappe-bench/apps/bench_manager/bench_manager/bench_manager/doctype/bench_settings/bench_settings.py", line 223, in sync_all
>     sync_sites()
>   File "/home/frappe/frappe-bench/apps/bench_manager/bench_manager/bench_manager/doctype/bench_settings/bench_settings.py", line 63, in sync_sites
>     site_dirs = update_site_list()
>   File "/home/frappe/frappe-bench/apps/bench_manager/bench_manager/bench_manager/doctype/bench_settings/bench_settings.py", line 114, in update_site_list
>     for root, dirs, files in os.walk(".", topdown=True):
>   File "/home/frappe/frappe-bench/env/lib/python2.7/os.py", line 294, in walk
>     for x in walk(new_path, topdown, onerror, followlinks):
>   File "/home/frappe/frappe-bench/env/lib/python2.7/os.py", line 294, in walk
>     for x in walk(new_path, topdown, onerror, followlinks):
>   File "/home/frappe/frappe-bench/env/lib/python2.7/os.py", line 294, in walk
>     for x in walk(new_path, topdown, onerror, followlinks):
>   File "/home/frappe/frappe-bench/env/lib/python2.7/os.py", line 284, in walk
>     if isdir(join(top, name)):
>   File "/home/frappe/frappe-bench/env/lib/python2.7/posixpath.py", line 80, in join
>     path += '/' + b
> UnicodeDecodeError: 'ascii' codec can't decode byte 0xd8 in position 1: ordinal not in range(128)

Creating a new site with installing ERPNext option will throw an error

Creating a new site with installing ERPNext option will throw an error in the ui but will create the site eventually!

error: "subprocess.CalledProcessError: Command '['bench', '--site', 'test.local', 'list-apps']' returned non-zero exit status 1."

Note: My console output is not working and maybe that's the reason

future requ

request database name form, so we can add custom db name for new site

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.