node package manager


Metadata Editor Core

WB-Metadate Editor is a JSON schema based Metadata Editor that works for core micro-data schemas DDI 2.5 Codebook, Dublin Core and ISO 19115/ ISO19139 for geospatial data. The schema for these well-defined specifications will be provided by The World Bank Group (WBG) in JSON4 schema format and will be integrated to the proposed metadata editor with a set of default UI templates mapping to these specifications. In addition to the above specifications, the tool will be developed in such a way that any custom data type, including time series and geospatial, schema can be created and templates generated out of it. One of the key functional requirements is for R integration for importing data and schema from various file types such as CSV, STATA, SPSS, SAS and generating variable summaries.

The application will be used by people across several countries, both within and outside of WBG, importing complex custom survey data sets into WBG data library. The modern open source technologies, will enable easy to use UI driven schema and template generator capable of running under different platforms. The application will be a replacement the current Nesstar Publisher with a subset of functionalities as specified in the RFP and addendum to the RFP.

Installation Guide:

Install locally developed modules from Assyst npm repository

Step 1: Change npm registry to local npm set registry

Step 2: npm login as assyst user npm adduser --registry

Step 3: install following packages npm i metadata-editor-repository

Step 4: Change repository to global npm set registry

Step 5: Install all dependencies npm install

Metadata Editor Core Structure/
 ├──config/                        * our configuration
 |   ├──helpers.js                 * helper functions for our configuration files
 |   ├──spec-bundle.js             * ignore this magic that sets up our angular 2 testing environment
 |   ├──karma.conf.js              * karma config for our unit tests
 |   ├──protractor.conf.js         * protractor config for our end-to-end tests
 │   ├──webpack.common.js          * our development webpack common configs
 │   ├──             * our development webpack config
 │   ├──            * our production webpack config
 │   └──webpack.test.js            * our testing webpack config
 ├──src/                           * our source files that will be compiled to javascript
 |   ├──main.browser.ts            * our entry file for our browser environment
 │   │
 |   ├──index.html                 * Index.html: where we generate our index page
 │   │
 |   ├──polyfills.ts               * our polyfills file
 |   ├──electron.js                * Electorn start file
 |   ├──package.json               * Electorn packagejson file
 │   │
 │   ├──app/                       * WebApp: folder
 │   │   ├──app.component.spec.ts  * a simple test of components in app.component.ts
 │   │   ├──app.e2e.ts             * a simple end-to-end test for /
 │   │   └──app.component.ts       * a simple version of our App component components
 │   │
 │   └──assets/                    * static assets are served here
 │       ├──icon/                  * our list of icons from
 │       ├──default-schema/        * keep the schema template files
 │       ├──default-template/      * Keep the default schema templatefiles
 │       ├──template-mapping/      * keep the templatemapping file
 │       ├──service-worker.js      * ignore this. Web App service worker that's not complete yet
 │       ├──robots.txt             * for search engines to crawl your website
 │       └──humans.txt             * for humans to know who the developers are
 ├──tslint.json                    * typescript lint config
 ├──typedoc.json                   * typescript documentation generator
 ├──tsconfig.json                  * typescript config used outside webpack
 ├──tsconfig.webpack.json          * config that webpack uses for typescript
 ├──package.json                   * what npm uses to manage it's dependencies
 └──webpack.config.js              * webpack main configuration file