GithubHelp home page GithubHelp logo

jbrazda / iics-reporting-tools Goto Github PK

View Code? Open in Web Editor NEW
4.0 2.0 1.0 4.27 MB

IICS Design Reporting Tools

License: MIT License

XQuery 94.48% CSS 4.66% HTML 0.86%
basex iics-reporting iics informatica-cloud ant-script basex-databases

iics-reporting-tools's Introduction

IICS Design Reporting Tools

This project contains set of tools to provide reporting on exported assets packages from Informatica IICS Tool is Installed and deployed by Apache Ant Script and set of XQuery modules based web application deployed on BaseX Database HTTP Server

Designs Report

See Other Screenshots

Features

  • Detailed IICS exported asset reports
  • Basic designs statistics
  • Dependency and Impact analysis
  • Detailed Design report
  • Supported IICS object types
    • Service Connectors
    • Connection
    • Process Objects
    • Processes
    • Guides
    • Task Flows
  • Support for MacOS, Windows, Linux

This tool is developed as web application on top of BaseX XQuery Database and HTTP Server provided by BaseX Tool provides set of scripts to download, install and deploy custom application to BaseX Server.

It can be plugged-in into the automated Build process to Publish And make online reports available as shown in the Fault Alert Service Implementation

Installation of the Tool

Pre-requisites

  • JAVA JRE 1.8 or newer
  • Apache Ant 1.9 or newer

Note: By default BaseX runtime would be installed in the /opt/java/library/basex folder on Mac or Linux you have to create java folder and grant permissions to it as follows. You can set location to a different folder if desired in step 2 of the installation guide

mkdir /opt/java
# set owner to your user and group
chown jbrazda:jbrazda /opt/java

Note you can follow My guide to setup these here

Install Steps

  1. Clone this repository

  2. Run ant target

    ant basex.configure
  3. Run ant target ``

    ant basex.install
  4. Run ant target

    ant basex.deploy.webapps
  5. Run ant target

    ant basexhttp.start
  6. Create Database from IICS Exported Package Zip file

  7. Go tp Go to http://localhost:8984/iics

Upgrading from previous Version

  1. Update Repository From github

    git pull --rebase
  2. run ant ant basex.upgrade

Create Exported Objects Database

You can import unmodified Export package to BaseX Databases several ways

Using a command line as shown below or using BaseX Gui Application.

basex -c "CREATE DATABASE [DB_NAME] [PATH TO EXPORTED zip]"

Example

basex -c "CREATE DATABASE IICS_ICLAB_SRC_2019_07_08 /Users/jbrazda/git/icrt_common/com.informatica.ipd/target/drop/IICS_ICLAB_SRC_2019_07_08.zip"

Ant Target Parameters and Examples

Buildfile: /home/jbrazda/git/github/jbrazda/iics-reporting-tools/build.xml

            IICS Reporting Tools Build Script

Main targets:

 basex.configure            Configure Reporting Tool
 basex.create.db            Create new BaseX Database from Source file, archive or directory
 basex.deploy.webapps       Deploys Custom Webapps to BaseX Http Server to basex_home/webapp
 basex.download             Download BaseX
 basex.download.update      Download BaseX Update
 basex.drop.db              Drop Existing BaseX DB by name
 basex.gui                  Start BaseX GUI
 basex.install              Installs BaseX DB and Tools
 basex.sample.db.create     Create Sample DEMO_DB
 basex.sample.db.drop       Drop Sample DEMO_DB
 basex.uninstall            Stops and Uninstall BaseX Server and Tools
 basex.upgrade              Upgrades BaseX Runtime to Latest Version
 basexhttp.start            Run BaseX HTTP Server
 basexhttp.stop             Stop BaseX HTTP Server
 help                       help - describes how to use this script
 install.all                Installs BaseX Tools, Deploys IICS Reporting App and runs BaseX HTTP server
 project.update.from.basex  Updates sources from basex http server webapp/iics dir

Ant Script main Properties File

# Tool Defaults
default.iics.reporting.basex.home=/opt/java/library/basex
default.iics.reporting.downloads.dir=${user.home}/Downloads
iics.reporting.config=${user.home}/.iics.reporting.properties
iics.reporting.sample.file=FaultAlertService_InitialInstall_All_Designs.zip
iics.reporting.sample.url=https://raw.githubusercontent.com/jbrazda/icai-fault-alert-service/master/dist/FaultAlertService_InitialInstall_All_Designs.zip


# BaseX Distribution Properties
basex.download.file=BaseX924.zip
basex.download.url=http://files.basex.org/releases/9.2.4/${basex.download.file}
basex.http.base_url=http://localhost:8984

basex.java_home=/Library/Java/JavaVirtualMachines/jdk1.8.0_162.jdk/Contents/Home

## Configure your IICS org region. For example, us, eu, ap
iics.region=us

Target basex.create.db

This target Will create New database Typically from zip archive as a part of the build process

Parameters

Property Description Example Value
basex.create.db.name Database name FaultAlertService_iclab-dev_all_designs
basex.create.db.source Database source Can be Directory containing XML files, single XML File or zip archive which is the most common scenario in our case FaultAlertService_iclab-dev_all_designs.zip
env.info.displayed Suppress print of environment Info true

Example Use in Ant Script

You can run the tools from a parent Ant script using an ant target Assuming that the ${tools.package.reporting} is pointing to build.xml file of this project

<ant antfile="${tools.package.reporting}" target="basex.create.db" inheritall="false" inheritrefs="false">
    <property name="basex.create.db.name" value="${release.package.label}"/>
    <property name="basex.create.db.source" location="${iics.import.dir}/${release.package.label}.zip"/>
    <property name="env.info.displayed" value="true"/>
</ant>

Target basex.create.db

This target Will create New database Typically from zip archive as a part of the build process

Parameters

Property Description Example Value
basex.drop.db.name Database name FaultAlertService_iclab-dev_all_designs
env.info.displayed Suppress print of environment Info true

Example Use in Ant Script

<ant antfile="${tools.package.reporting}" target="basex.drop.db" inheritall="false" inheritrefs="false">
    <property name="basex.drop.db.name" value="DB_NAME"/>
    <property name="env.info.displayed" value="true"/>
</ant>

Release Notes

Release Feb 2022

This version brings range of changes toi installation and maintenance of the reporting tool

  • upgraded BaseX Runtime to Version 9.6
  • Refactored build.xml to Install and manage
  • Added new ant targets to Self update and automated upgrade of the basex to latest available version
  • some previous target names have changed see current targets
Buildfile: build.xml

            IICS Reporting Tools Build Script

Main targets:

 basex.configure            Configure Reporting Tool
 basex.create.db            Create new BaseX Database from Source file, archive or directory
 basex.deploy.webapps       Deploys Custom Webapps to BaseX Http Server to basex_home/webapp
 basex.download             Download BaseX
 basex.download.update      Download BaseX Update
 basex.drop.db              Drop Existing BaseX DB by name
 basex.gui                  Start BaseX GUI
 basex.install              Installs BaseX DB and Tools
 basex.sample.db.create     Create Sample DEMO_DB
 basex.sample.db.drop       Drop Sample DEMO_DB
 basex.uninstall            Stops and Uninstall BaseX Server and Tools
 basex.upgrade              Upgrades BaseX Runtime to Latest Version
 basexhttp.start            Run BaseX HTTP Server
 basexhttp.stop             Stop BaseX HTTP Server
 help                       help - describes how to use this script
 install.all                Installs BaseX Tools, Deploys IICS Reporting App and runs BaseX HTTP server
 project.update.from.basex  Updates sources from basex http server webapp/iics dir

Release 2019-12-0

  • Upgraded BaseX Runtime to Version 9.3

To update your BaseX Installation Pull changes from this repository and run following Commands

NOTE: This will completely remove previous installation including any previously imported Databases (If you want to preserve your existing databases, backup your basex_home/data before you proceed)

ant basex.stop
ant basex.uninstall
ant basex.install
ant basex.deploy.iics
ant basex.run

iics-reporting-tools's People

Contributors

jbrazda avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

arjunze

iics-reporting-tools's Issues

Failing to display Design detail page with error cannot convert element()+ to node()

Some Design Details end in following error displaying design detail page
Seem to defect in the basex

Stopped at /opt/java/library/basex/webapp/iics/modules/ipd-metadata-html.xqm, 338/5:
[XPTY0004] Cannot convert element()+ to node(): $node := (db:open-pre("Reltio-MDM-1582740938764", 8435), ...).

Stack Trace:
- /opt/java/library/basex/webapp/iics/modules/ipd-metadata-html.xqm, 322/30
- /opt/java/library/basex/webapp/iics/design_detail.xqm, 88/62
- /opt/java/library/basex/webapp/iics/design_detail.xqm, 31/10

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.