Simple CMS, Diego Rivero's new CMS for the Liquid Galaxy explained

 POST 2.0


Hello, my name is Diego Riveros. I am currently a student of System and Computer Science with a minor in Psychology at the university of Los Andes; Bogotá Colombia. This year was an honour for me to be selected as a student of Google Summer of Code 2020 with the company Liquid Galaxy. 


I have been working with Liquid Galaxy all summer in a project called; Simple CMS.  The project is a content management system for the creation and administration of storyboards. A storyboard is composed of a series of actions. The actions are: move to a location, move the camera, draw a balloon with a text, an image, and a video, finally, draw a shape. All this action will be shown in the Liquid Galaxy.


In addition, people can share their storyboards to the Liquid Galaxy Community by saving it on Google Drive, and also, it is possible to download a storyboard from there. 


On the other hand, I created an awesome video for my second month. My mentor liked it so much that I did a manual to create a video like that. You can found it here: https://docs.google.com/document/d/1rioTRo9vFO5ldB9x5HyBe3OSWHTxmzFbzgHqZYojhL8/edit?usp=sharing 


Finally, Simple CMS is an android application written in java. In order to run the project, it requires Android 8.0 Oreo and up, also, you should have at least a 10-inch tablet.


You can find the project at the following link: 

https://github.com/dfriveros11/LiquidGalaxySimpleCMS








SIMPLE CMS


Description


It is a content management system for the creation and administration of storyboards in Liquid Galaxy. The project Simple CMS is an android application that allows the creation of a storyboard with the following functionalities, that are going to be shown in the Liquid Galaxy: 

  1. Location. Add a position. 

  2. Movements. Add a movement or orbit. 

  3. Balloon. Add a text, image and a video.

  4. Shape. Add two or more points that will make a shape. Also, it has an extrude option, that will fill up the space of the point to the ground.


After creating a storyboard is possible to save it locally or in google drive. Also, it is possible to import a storyboard from google drive. It is important to mention that saving and importing storyboards are only available if you are logged in the application. 

On the other hand, Simple CMS downloads community names, city, country and location of the difference Google Developers community at Meetup.com. Finally, It is possible to do a tour of all the google developers community around the world. 



Technologies Description


Simple CMS connects to Liquid Galaxy by using a SSH protocol in the port 22 of the master machine. Liquid Galaxy is installed in a computer with 3 virtual machines. The tab connection creates a connection using the information inserted (username, password, host, and port) in the application. 


(image 1) 


This first connection, will send the following command to Liquid Galaxy:


echo ‘flytoview= <gx:duration> 3 </gx:duration> 

gx:flyToMode>smooth</gx:flyToMode>

         <LookAt>

         <longitude>-122.4783</longitude>

         <latitude>37.8120</latitude>

         <altitude>2.0</altitude> 

         <heading>10</heading> 

         <tilt>90.0</tilt> 

         <range>10</range> 

         <gx:altitudeMode>clampToGround</gx:altitudeMode> 

        </LookAt>’ > /tmp/query.txt


This command will send us to San Francisco. 


In the tab creation, it is possible to create the storyboard with any combination of the 4 actions; location, movement, balloon, and shape:


(image 2)


  1. Location

    1. It sends the same command explained in the first connection

(image 3) 

  1. Movement

    1. It sends the same command explained in the first connection, but it changes the tilt and heading. In the case of an orbit, only the heading will change doing a 360 rotation

(image 4)

  1. Balloon

    1. It sends a command with the KML format, inserting the text, image and the balloon. The format can be found here: https://developers.google.com/kml/documentation/kmlreference#example_2

(image 5)

  1. Shape

    1. It sends a command with the KML format, inserting the points that will create a shape. The format can be found here: https://developers.google.com/kml/documentation/kmlreference#example_11

(image 6)


It is important to mention that the paths of the KMLs need to be written in the kmls.txt that is in “/var/www/html” path, and the path of the KML wrote needs to be in the following format “http://localhost:81/(name of the kml).kml“. The port is 81. If you use a different port the Liquid Galaxy will not be able to find the kml. 


In each of the actions, it is possible to test the action in the Liquid Galaxy. Also, it is important to mention that each time the test button is clicked, the connection is going to be proven before the command is sent. If the connection is down, it will change the color of the circle to red and change the phrase to “Image not Available on Screen”. If the connection is up, the color of the circle will change to green and change the phrase to “Image Available on Screen”. 


After creating a storyboard with different actions, it is possible to test the storyboard and save it locally or on google drive. In the case of saving the storyboard locally, the technology used is Room an

d SQLite.

(image 7) 


 On the condition of saving the storyboard to google drive, the application converts the storyboard in a json file and uploads it. The images that are in the storyboard are converted in array bytes. So, it is possible to construct the image after downloading the file. 


(image 8)


It is important to mention that saving and importing the file on google drive is only available if you are logged in the application. To be logging in the application, it is necessary to go to the tab account and insert the password. The default password is “lg”. Also, it is possible to change the password. 


The information that is shared by the different activities are saved in SharedPreferences such as: storyboard, actions, username, passwords, host, and port. 


(image 9)


Simple CMS does a web scraping of Meetup.com of Google Developers community and Tech Conference List by using the Jsoup library. 


(image 10)


(image 11)


Finally, To do a video of the project Simple CMS I did a description that it is possible to find in the following link: https://docs.google.com/document/d/1rioTRo9vFO5ldB9x5HyBe3OSWHTxmzFbzgHqZYojhL8/edit?usp=sharing 


Used Technologies


  • Java

  • Android 

  • Room

  • SQLite 

  • Drive

  • Jsoup


Our Team

'

PARTNERS