Description
Englo is a tool to manage and deliver software projects. It’s based on Entando, an Open Source web application platform, written in Java (see Entando's Github Repositories).
Features
Englo system includes two modules: englo-portal
and englo-entando-components
. englo-portal is able to run all the services generated from englo-entando-components module, that includes englo
, basecamp
, trello
, github
, jenkins
apps.
Getting Started
- Open your terminal
- Create an empty directory for your project:
mkdir ~/my_project
- Move to a directory of your choosing:
cd ~/my_project
- Clone in the following sequence entando-core and entando-components (see https://github.com/entando):
git clone https://github.com/entando/entando-core
git clone https://github.com/entando/entando-components
- Install
entando-core
andentando-components
(Entando v4.2-TP1) in the following sequence, (see Entando Installation):
cd entando-core
mvn clean install -DskipTests
cd entando-components
mvn clean install -DskipTests
- Clone the englo project:
git clone https://github.com/entando/englo
Englo project includes two modules:
-
englo-portal
, able to run all the services generated by all the installed components englo-entando-components
includes all Entando components project with the newly created plugins:
jpenglo
,jpbasecamp
,jptrello
,jpgithub
,jpjenkins
,jpoauth2
- Install
englo-entando-components
cd englo-entando-components
mvn clean install -DskipTests
englo-portal can be run using either Tomcat or Jetty.
If you are using Jetty, enter in the englo-portal
folder and run:
mvn clean jetty: run
Entando-Trello: A Struts2-Angular JS combination
Entando integrates Trello, a collaboration tool that organizes your projects into boards. In one glance, Trello help you to control what's being worked on, who's working on what, and where something is in a process. This web application is developed by using Struts2 that is used for back-end (structure of Interceptor Stacks, namespaces, actions), AngularJS used for front-end frameworks.
Example: HttpRequest of Boards List
- The Client performs HTTPRequest to get of the List of Boards;
- The Action "jsonboard" is triggered and invokes the Manager to obtains the list;
- The Manager returns a JSON output to the Action which, in turn, returns to the list (JSON result) to the Client;
The Result of the Request is a JSON. The Result Type is Stream Result with the following parameters:
-
contentType
is JSON application; -
contentDisposition
is inline for the file name boards.json; -
bufferSize
` is the size of the buffer to copy from input to output (default = 1024).
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache.org/dtds/struts-2.3.dtd">
<struts>
<package name="jptrello_do/FrontEnd/jptrelloFront/Boards" namespace="/do/FrontEnd/jptrello/Boards" extends="entando-front-default">
<action name="jsonboards" class="jptrelloTrelloFrontEndAction" method="jsonboards">
<!-- <result type="dispatcher">/WEB-INF/plugins/jptrello/aps/jsp/internalservlet/trello/frontend-trello-angular-boards- json.jsp</result> -->
<result type="stream">
<param name="contentType">application/json</param>
<param name="contentDisposition">inline;filename="boards.json"</param>
<param name="bufferSize">1024</param>
</result>
<interceptor-ref name="entandoFrontEndFreeStack"></interceptor-ref>
</action>
A Result example is like this:
{
"list": [
{
"name": "To Do",
"id": "56196ccede7b2cfe172b94ed"
},
{
"name": "Doing",
"id": "56196ccede7b2cfe172b94ee"
},
{
"name": "Done",
"id": "56196ccede7b2cfe172b94ef"
}
]
}