generator-morphis v0.2.0
generator-morphis
Yeoman generator for the creation and preparation of Morphis projects. This tool's aim is to facilitate the process of starting a new project, through the automation of the creation and configuration of a desired project.
Getting Started
Dependencies
- Git: installed and associated to your PATH environment variable
- Node.js: installed and associated to your PATH environment variable
- Yeoman: to install the yeoman client, run
'npm install -g yo'
Installation
After installing Node.js, run 'npm install -g generator-morphis' in order to install the generator.
Usage
In order to run the generator and create a new project, type the command 'yo morphis'. From there, you'll be prompted to select one of the available projects, along with the needed configurations depending on the project type.
Available command arguments are:
- Project Type (
dotnet,java,automated-tests,frames-plugin,frames-widgetorframes-test)- To run the generator with a selected project immediately, type the command
'yo morphis [project-type]', e.g:yo morphis automated-tests
- To run the generator with a selected project immediately, type the command
To debug the generator, run the command 'node --inspect <path to yo cli.js> morphis' (e.g: 'node --inspect C:\Tools\NodeJS\8.11.3\node_modules\yo\lib\cli.js morphis'), and then attach your IDE debugger to the node process.
Installing and running the projects
After installing a project, the following settings must be configured in order to run it:
.Net Web Application:
- Make sure that the Morphis Nuget Feed is set as a Package Source in the Nuget Package Manager, in Visual Studio.
Java Web Application:
- Import the project folder into Eclipse as an
Existing Maven Project(select all of the involved projectpom.xmlfiles). - To generate the required sources, right-click the
[projectname]-blueprintproject, selectRun As >> Maven Build, specify the goals asclean install -U, and click onRun. - To run the project, create a new Server and add the
[projectname].serviceand[projectname].workspace]artifacts as resources, start the Server, and access thelocalhost:8080/demo/.
- Import the project folder into Eclipse as an
Ellucian Test Suite (Automated Tests):
- No extra configurations needed; run
'npm start'in the newly-created project folder.
- No extra configurations needed; run
Generating Frames Tests and Add-Ons
The following conditions are required in order to generate Frames Tests or Add-Ons:
Frames Test Creation:
- For the creation of Frames Tests, make sure you run the
yo morphiscommand inside a Frames Automator directory, such as an Ellucian Test Suite project (e.g: a project generated by theyo morphis automated-testscommand).
- For the creation of Frames Tests, make sure you run the
Frames Plugin Creation:
- In order to create a Frames Plugin, make sure you run the
yo morphiscommand inside a Frames Workspace directory (e.g:/src/main/webapp/app/folder for Java projects, or/WebApp/app/folder for .Net projects).
- In order to create a Frames Plugin, make sure you run the
Frames Widget Creation:
- In order to create a Frames Widget, make sure you run the
yo morphiscommand inside a Frames Workspace directory (e.g:/src/main/webapp/app/folder for Java projects, or/WebApp/app/folder for .Net projects). - For more information about how to add functionality to your widget, check the JQuery Documentation on Widgets.
- In order to create a Frames Widget, make sure you run the
Functionality
The current available projects are as follows:
- .Net Web Application: Template for .Net Web Applications
- Java Web Application: Template for Java Web Applications
- Ellucian Test Suite: Creation and automation of tests for the Ellucian Application
- Frames Test Creation: Creation of Frames Automation Tests, given a Frames Automator directory
- Frames Plugin Creation: Creation of Frames Plugins
- Frames Widget Creation: Creation of Frames Widgets
The current generator procedure for each project is as follows:
.Net Web Application:
- Set the desired namespace for the application (client prompt)
- Set dependency versions (Foundations, Frames) (client prompt)
- Fetch template repository
- Apply the desired changes
Java Web Application:
- Set the desired groupId and artifactId for the maven project (client prompt)
- Set dependency versions (Foundations, Frames Compiler, Frames Runtime) (client prompt)
- Fetch template repository
- Apply the desired changes
Ellucian Test Suite:
- Set the desired directory name (client prompt)
- Fetch automated tests repository
- Install the required dependencies
Frames Test Creation:
- Choose the type of test to create (client prompt)
- Set the desired filename for the test and the task to be tested (client prompt)
- Choose the target directory for the test (client prompt)
- Create the test with the applied settings
Frames Plugin Creation:
- Set the desired plugin name (client prompt)
- Choose the target directory for the plugin (client prompt)
- Create the plugin folders and files (
[plugin-name].js, widget.json) - Update the
package.jsonfile with the declaration of the new plugin
Frames Widget Creation:
- Set the desired widget name (client prompt)
- Choose the target directory for the widget (client prompt)
- Create the widget folders and files (
[widget-name].js, widget.json, [widget-name].scss, [widget-name].html) - Update the
package.jsonfile with the declaration of the new widget - Update the SASS configuration file with the declaration of the new widget's .scss file