Publik iMio Industrialisation ============================= Usage: sudo -u hobo hobo-manage imio_indus_deploy -d $tenant --directory /path/to/directory/ (or without -d $tenant to get interactive choice) Expected directory layout ------------------------- * blocks: list of w.c.s. blocks (XML files) * carddefs: list of w.c.s. cards (XML files) * category, carddef_category, workflow_category, block_category, mail_template_category, data_source_category: list of w.c.s. categories, for their respective objects (XML files) * datasources: list of w.c.s. data sources (XML files) * forms: list of w.c.s. forms (XML files) * workflows: list of w.c.s. workflows (XML files) * wscalls: list of w.c.s. webservice calls (XML files) * combo: list of portal file exports, they should be named portal-agent.json and portal-user.json. (It actually takes files according to the template_name associated to the service) * passerelle: list of connector file exports (JSON files). * roles: a single roles.json file, in authentic format, ex: { "roles": [ { "name": "Parent", "slug": "parent", "ou": {"slug": "default"} }, { "name": "Agents traitants - Portail parent", "slug": "agents-traitants-portail-parent", "ou": {"slug": "default"} } ] } The combo, passerelle and roles JSON files will be treated as templates if they start with a Django template comment ({# ... #}), with environment variables available in the rendering context. This allows for such an import file: {# template #}{ "resources": [ { "server_url": "https://{{ environ.SERVER_HOSTNAME }}", ... Order of operations ------------------- * Check roles * Deploy roles if they were missing * Wait for roles to be deployed to modules (using rabbitmq) * Deploy w.c.s. components (contents is overwritten except some form options) * Deploy combo components * Deploy passerelle components