1
0
Fork 0
mirror of https://github.com/yweber/lodel2.git synced 2025-10-31 03:29:03 +01:00
No description
Find a file
Yann 8f48612c82 Enables debian package creation
with make deb . Next commit will update the README
2016-09-23 14:34:57 +02:00
debian Enables debian package creation 2016-09-23 14:34:57 +02:00
doc/img Add autyhentication/session flowcharts 2016-08-10 11:10:33 +02:00
examples Add a new sttings validator + use it 2016-09-08 14:48:35 +02:00
globconf.d Add a new sttings validator + use it 2016-09-08 14:48:35 +02:00
lodel Enables debian package creation 2016-09-23 14:34:57 +02:00
m4 Add a forgotten (not mandatory file) 2016-09-07 14:43:27 +02:00
plugins Enables debian package creation 2016-09-23 14:34:57 +02:00
progs Enables debian package creation 2016-09-23 14:34:57 +02:00
scripts Enhancement in SLIM capabilities + bugfixes in install process 2016-09-14 16:01:57 +02:00
tests Added tests for MultiRef datahandler and modified _check_data_value raise exception 2016-09-08 13:57:08 +02:00
.gitignore Updated the doxygen documentation 2016-01-27 16:58:55 +01:00
AUTHORS Configure autotools for distributing lodel2 2016-08-30 14:01:25 +02:00
bootstrap.sh Configure autotools for distributing lodel2 2016-08-30 14:01:25 +02:00
ChangeLog Configure autotools for distributing lodel2 2016-08-30 14:01:25 +02:00
configure.ac Add a data to buildconf.py 2016-09-16 14:14:31 +02:00
COPYING Configure autotools for distributing lodel2 2016-08-30 14:01:25 +02:00
Doxyfile Doxygen documentation update 2016-08-31 11:58:06 +02:00
em_test.py Authentification form in Webui interface 2016-09-01 12:12:59 +02:00
INSTALL Configure autotools for distributing lodel2 2016-08-30 14:01:25 +02:00
Makefile.am Enables debian package creation 2016-09-23 14:34:57 +02:00
NEWS Configure autotools for distributing lodel2 2016-08-30 14:01:25 +02:00
README Enhancement in deployment with autotools and in README file 2016-09-22 16:27:52 +02:00
requirements.txt Updated the requirements file 2016-06-23 14:46:10 +02:00
runtest.sh Enhancement in deployment with autotools and in README file 2016-09-22 16:27:52 +02:00

Dependencies :
==============

	lodel2 components :
	-------------------
		core :
			python3 python3-lxml

		build dependencies :
			autoconf automake make

		webui plugin :
			python3-jinja2 python3-werkzeug uwsgi-plugin-python3

		mongodb_datasource plugin :
			python3-pymongo

	lodel2 utils :
	--------------
		mass_deploy dependencies :
			pwgen wamerican mongodb-clients

Build & install :
=================

	./bootstrap.sh #generate the configure, refresh the Makefile.in files
	#--prefix=/usr is mandatory on debian because of a python3.4.2 bug
	./configure --sysconfdir=/etc --localstatedir=/var --prefix=/usr
	#build lodel2 (actually substitute paths script and buildconf.py files)
	make
	#Install lodel2 on system
	make install
	#Uninstall lodel2
	make uninstall

Other make targets :
====================

	Doxygen documentation generation :
	----------------------------------
		make doc #or simply run doxygen in the source dir

	Run unit tests :
	----------------

		make check
		#or
		make unittest

Lodel2 instance management utilities :
======================================

	SLIM : Simple Lodel Instance Manager
	------------------------------------

		- create a new instance named foo :
			slim -n foo -c

		- list instances : 
			slim -l

		- list instances with details :
			slim -lv[v[v]]

		- list instances with output formated for bash processing :
			slim -l -b [-v[v[v]]

		- run make all for instance foo :
			slim -n foo -m

		- run make for all existing instances :
			slim --all -m

		- start an instance in forground
			slim -n foo --start -f

		- start all instances :
			slim -a --start

		- generate a nginx conf for all instances :
			slim -a --nginx-conf

		- get some help for more options & actions :
			slim -h

	mass_deploy.sh :
	----------------
		Use for easy mass deployment of instances with webui & uwsgi
		the script at $prefix/share/lodel2/scripts/mass_deploy.sh

		Usage : mass_deploy.sh N #with N the number of instances to deploy
		-------
		
		Notes :
		-------

		- configuration can be found in /etc/lodel2/mass_deploy.cfg 
		  to indicate mongodb admin credentials

		- mass deploy create instances directories 
		  in /tmp/lodel2_instances

Instance operations :
=====================

	- Two utils are available for instances operations :
		* Make for op without parameters
		* lodel_admin.py for op with parameters

	- Makefile available target :
		# Leapi dynamic code creation ( in leapi_dyncode.py in lodel2 
		#instance root dir)
		make dyncode 

		# Call migration handlers to tell them to init all needed 
		#databases. (note : this target has dyncode as dependencie)
		make init_db 
		make list_hooks # List all the hooks registered

	- lodel_admin.py : see lodel_admin.py -h


##########################################
# Following informations can be obsolete #
##########################################

Dynamic code generation :
	python3 scripts/refreshdyn.py examples/em_test.pickle OUTPUTFILE.py

Instance creation :
	Use the script in scripts/create_instance.sh

	Usage : scripts/create_instance.sh instance_name instance_dir [lodel_libdir]


Instance loader uppdate :
	If the install/loader.py is updated you can update instance's loader.py using
		scripts/create_instance.sh -u INSTANCE_PATH