Merge branch 'master' of github.com:webnotes/wnframework
This commit is contained in:
commit
e15bed294b
3 changed files with 50 additions and 15 deletions
22
README.md
22
README.md
|
|
@ -1,6 +1,6 @@
|
|||
## wnframework
|
||||
|
||||
Full-stack web application framework that uses python/mysql on the server side and a tightly integrated client side library. Primarily built for erpnext.
|
||||
Full-stack web application framework that uses Python/MySql on the server side and a tightly integrated client side library. Primarily built for erpnext.
|
||||
|
||||
Projects: [erpnext](http://erpnext.org) | [webnotes/erpnext](https://github.com/webnotes/erpnext)
|
||||
|
||||
|
|
@ -8,15 +8,17 @@ Projects: [erpnext](http://erpnext.org) | [webnotes/erpnext](https://github.com/
|
|||
|
||||
To start a new project, in the application root:
|
||||
|
||||
1. Set wnframework folder as the `lib` folder.
|
||||
1. Copy the following files from lib/conf: `index.cgi`, `build.json`, `conf.py`.
|
||||
1. Create folders `js`, `css`, `modules`, `modules/startup`. These folders contain the js, css assets and modules folder is where all the new application modules will be created.
|
||||
1. Update database name/password in conf.py and set modules folder to "modules".
|
||||
1. Run `$ lib/wnf.py --install dbrootpassword newdbname lib/conf/Framework.sql` to install a fresh database.
|
||||
1. Create `app.js` containing basic application info (see `lib/conf`)
|
||||
1. Create empty files `__init__.py` and `event_handlers.py` in `modules/startup`. This is where you write all events (like, onlogin, onlogout etc)
|
||||
1. Run `$ lib/wnf.py -b` to build js and css assets from `build.json`.
|
||||
1. Go to the browser and go to your application folder. The admin username is "Administrator" and password is "admin"
|
||||
Note:
|
||||
|
||||
1. wnframework must be called as `lib`
|
||||
1. your application must be called as `app`
|
||||
|
||||
Finally:
|
||||
|
||||
$ git clone git@github.com:webnotes/wnframework lib
|
||||
$ git clone git@github.com:webnotes/[your app] app
|
||||
$ lib/wnf.py --make_conf
|
||||
$ lib/wnf.py --reinstall
|
||||
|
||||
enjoy!
|
||||
|
||||
|
|
|
|||
|
|
@ -5,8 +5,8 @@ from __future__ import unicode_literals
|
|||
# app configuration
|
||||
|
||||
# database config
|
||||
db_name = 'yourdbname'
|
||||
db_password = 'yourdbpassword'
|
||||
db_name = '%(db_name)s'
|
||||
db_password = '%(db_password)s'
|
||||
|
||||
# user attachments stored in
|
||||
files_path = 'public/files'
|
||||
|
|
@ -15,10 +15,10 @@ files_path = 'public/files'
|
|||
max_file_size = 1000000
|
||||
|
||||
# generate schema (.txt files)
|
||||
developer_mode = 0
|
||||
developer_mode = 1
|
||||
|
||||
# clear cache on refresh
|
||||
auto_cache_clear = 0
|
||||
auto_cache_clear = 1
|
||||
|
||||
# email logs to admin (beta)
|
||||
admin_email_notification = 0
|
||||
|
|
|
|||
35
wnf.py
35
wnf.py
|
|
@ -139,6 +139,9 @@ def setup_options():
|
|||
parser.add_option('--install_fresh', nargs=1, metavar = "NEW_DB_NAME",
|
||||
help="install fresh db")
|
||||
|
||||
parser.add_option('--reinstall', default=False, action="store_true",
|
||||
help="install fresh db in db_name specified in conf.py")
|
||||
|
||||
parser.add_option('--make_demo', default=False, action="store_true",
|
||||
help="install in database 'demo'")
|
||||
|
||||
|
|
@ -276,6 +279,9 @@ def setup_options():
|
|||
parser.add_option("--reset_perms", default=False, action="store_true",
|
||||
help="Reset permissions for all doctypes.")
|
||||
|
||||
parser.add_option("--make_conf", default=False, action="store_true",
|
||||
help="Create new conf.py file")
|
||||
|
||||
return parser.parse_args()
|
||||
|
||||
def run():
|
||||
|
|
@ -333,7 +339,7 @@ def run():
|
|||
webnotes.connect(options.db_name, options.password)
|
||||
else:
|
||||
webnotes.connect(options.db_name)
|
||||
elif not any([options.install, options.pull, options.install_fresh]):
|
||||
elif not any([options.install, options.pull, options.install_fresh, options.reinstall, options.make_conf]):
|
||||
webnotes.connect(conf.db_name)
|
||||
|
||||
if options.pull:
|
||||
|
|
@ -397,6 +403,12 @@ def run():
|
|||
inst = Installer('root')
|
||||
inst.import_from_db(options.install_fresh, verbose = 1)
|
||||
|
||||
elif options.reinstall:
|
||||
from webnotes.install_lib.install import Installer
|
||||
inst = Installer('root')
|
||||
import conf
|
||||
inst.import_from_db(conf.db_name, verbose = 1)
|
||||
|
||||
elif options.make_demo:
|
||||
import utilities.demo.make_demo
|
||||
utilities.demo.make_demo.make()
|
||||
|
|
@ -507,6 +519,27 @@ def run():
|
|||
webnotes.reset_perms(d)
|
||||
except:
|
||||
pass
|
||||
|
||||
elif options.make_conf:
|
||||
if os.path.exists("conf.py"):
|
||||
os.system("mv conf.py conf.py.bak")
|
||||
|
||||
with open("lib/conf/conf.py", "r") as confsrc:
|
||||
confstr = confsrc.read()
|
||||
|
||||
db_name = raw_input("Database Name: ")
|
||||
if not db_name:
|
||||
print "Database Name Required"
|
||||
return
|
||||
|
||||
db_password = raw_input("Database Password: ")
|
||||
if not db_password:
|
||||
print "Database Name Required"
|
||||
return
|
||||
|
||||
with open("conf.py", "w") as conftar:
|
||||
conftar.write(confstr % {"db_name": db_name, "db_password": db_password })
|
||||
|
||||
|
||||
|
||||
if __name__=='__main__':
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue