Manageiq Expression Editor

Total Page:16

File Type:pdf, Size:1020Kb

Manageiq Expression Editor Masaryk University Faculty of Informatics ManageIQ Expression Editor Master’s Thesis Bc. Robin Knaur Brno, Fall 2018 Masaryk University Faculty of Informatics ManageIQ Expression Editor Master’s Thesis Bc. Robin Knaur Brno, Fall 2018 This is where a copy of the official signed thesis assignment and a copy ofthe Statement of an Author is located in the printed version of the document. Declaration Hereby I declare that this paper is my original authorial work, which I have worked out on my own. All sources, references, and literature used or excerpted during elaboration of this work are properly cited and listed in complete reference to the due source. Bc. Robin Knaur Advisor: Mgr. Martin Povolný i Acknowledgements I would like to thank my advisor Martin Povolný for his guidance and valuable feedback. I would also like to thank Tereza Tichá for the consultations regarding the visual part of my thesis. Another person who deserves my gratitude is Martin Maroši, he helped me to understand the JavaScript technologies used here. Last but not least I want to thank to everybody who was willing to participate in user testing. iii Abstract The goal of this thesis is to design and implement a new filtering tool for ManageIQ project with emphasis on user experience. The first part of the thesis describes the theoretical background. Continuing with analysis of the current filtering tool and evaluation against theo- retical concepts. In the last chapter is described design, testing, and implementation of the new filtering tool. iv Keywords User Interface Design, Usability, User Experience, Web Design, Filter- ing, Usability Heuristics, User Testing v Contents 1 Introduction 1 2 Design 3 2.1 What is design ........................3 2.2 Principles of interaction ....................4 2.2.1 Affordances . .5 2.2.2 Signifiers . .5 2.2.3 Mapping . .6 2.2.4 Feedback . .6 2.2.5 Constraints . .7 2.2.6 Conceptual models . .7 2.3 Actions ............................8 2.3.1 How people do things . .8 2.3.2 Seven stages of actions . .8 2.4 Knowledge in the head and in the world ...........9 2.4.1 Knowledge in the world . 10 2.4.2 Knowledge in the head . 11 2.5 Gestalt principles ....................... 12 2.5.1 Law of Similarity . 12 2.5.2 Law of Figure/Ground . 12 2.5.3 Law of Proximity . 12 2.5.4 Law of Continuity . 12 2.5.5 Law of Closure . 12 2.5.6 Law of Symmetry . 13 2.5.7 Law of Common Region . 13 2.5.8 Law of Common Fate . 13 3 User Experience 15 3.1 Usability ........................... 15 3.2 Heuristic Evaluation ..................... 16 3.2.1 Ten Usability Heuristics . 16 3.2.2 Visibility of System Status . 16 3.2.3 Match Between the System and the Real World . 17 3.2.4 User Control and Freedom . 17 3.2.5 Consistency and standards . 17 vii 3.2.6 Error Prevention . 18 3.2.7 Recognition rather than Recall . 21 3.2.8 Flexibility and Efficiency of Use . 22 3.2.9 Aesthetic and Minimalist Design . 22 3.2.10 Help Users Recognize, Diagnose, and Recover from Errors . 22 3.2.11 Help and Documentation . 23 4 User Testing 25 4.1 What is User Testing? .................... 25 4.2 Amount of Users ....................... 26 5 Analysis 29 5.1 What is Expression Editor? .................. 29 5.2 What does it look like? .................... 30 5.3 Evaluation against ten usability heuristics .......... 32 5.4 Usability Problems ...................... 33 5.5 User Testing .......................... 36 5.5.1 Task 1 . 36 5.5.2 Task 2 . 37 5.5.3 Task 3 . 37 5.5.4 Task 4 . 37 5.5.5 Task 5 . 37 5.5.6 Task 6 . 37 5.5.7 Task 7 . 38 5.5.8 General problems . 38 5.6 Technical Analysis ...................... 38 6 Similar applications 39 6.1 E-shops ............................ 39 6.2 Gmail ............................. 39 6.3 Amazon Web Services ..................... 40 6.4 JQuery QueryBuilder ..................... 41 6.5 Summary ........................... 42 7 The New Expression Editor 43 7.1 Technology .......................... 43 7.1.1 Component based development . 43 viii 7.1.2 React . 44 7.1.3 Redux . 44 7.1.4 PatternFly . 44 7.2 High Level Overview ..................... 45 7.3 Data Structure ........................ 45 7.4 User Testing .......................... 47 7.4.1 First Round . 47 7.4.2 Second Round . 47 7.4.3 Third Round . 49 7.5 Summary ........................... 51 7.5.1 Visual . 51 7.5.2 Interaction . 52 7.5.3 Implementation . 53 8 Conclusions 55 Index 57 A An appendix 57 Bibliography 59 ix List of Figures 4.1 User Testing plot for L = 31% [19] 26 5.1 Empty Expression Editor 30 5.2 Edit Selected Element 31 5.3 Edit Expression 31 5.4 Long Name Selection 34 5.5 Long Name "Use Alias" default option 34 5.6 "Use Alias" feature 35 6.1 Gmail compose email 40 6.2 AWS Instances filter 40 6.3 JQuery Query Builder 41 7.1 Example of complete options tree 46 7.2 Example of shallow options tree 47 7.3 Early version of the new Expression Editor 48 7.4 New Expression Editor 51 xi 1 Introduction Ever since data collections existed, there was a need to access par- ticular subsets of collections. This action is called data filtering and it is one of the oldest practical problems in Information Technology. The problem of filtering can be divided into two parts — first, tech- nical implementation. How to filter data efficiently, where and how will the data be stored, what code will be executed and when. That is what this text is not about. The second part — how the filtering will be presented to a user — that is what this thesis is about. Databases are a common source of a presented data. Query lan- guages, like SQL, can be considered a user interface to a database. They are widely used by developers. However, they are suitable for ad- vanced users only. Moreover, giving a user direct access to a database, or any other data source, presents a potential security threat. Usability and security are the two main reasons why applications have a graphical user interface for filtering. The best example of an ap- plication that is mostly based on filtering data could be an e-shop. When a user is browsing an e-shop, the application is applying differ- ent filters to the data and presents it to the user. ManageIQ1 is an open source management platform for hybrid IT infrastructure. It collects data about virtual machines, hosts, con- tainers and other entities that users can manage. Amount of records could be large, that is the reason why ManageIQ contains a complex tool called the Expression Editor that is used to build search queries. The Expression Editor abstracts away the database from users and is a secure way of data filtering. Due to its complexity, its usage is not easy for an inexperienced user. The goal of this thesis is to redesign the Expression Editor with user experience in mind. 1. http://manageiq.org 1 1. Introduction In the first half of the thesis, the theoretical background of user experience principles is described. The second chapter focuses on the fundamentals of design and interaction and describes key hu- man characteristics that need to be understood. The third chapter is about user experience heuristics and the fourth about user testing. With the fifth chapter starts the practical part of the work. It analyses the problems and evaluates the current solution against concepts de- scribed in the theoretical part. The sixth chapter analyzes solutions to similar problems. The newly implemented solution is described and evaluated in the seventh chapter. 2 2 Design This work is going to bring a little broader perspective on how to design a good user interface (UI). Let’s focus on the design itself. About how people interact with their surroundings. Breaking down what happens in our head when we decide to perform an action. This work will describe the underlying principles of design, even though it will be more related to psychology than traditional informatics. This chapter is heavily influenced by Normans, Design of Everyday Things. 2.1 What is design "Design is concerned with how things work, how they are controlled, and the nature of the interaction between people and technology. When done well, the results are brilliant, pleasurable products. When done badly, the products are unusable, leading to great frustration and irritation [1, p. 5]." Most devices around us are still pretty simple compared to humans. Devices just blindly follow the rigid rules somebody built for them, even if the rules are insensible or illogical. Machines have no mem- ory ("human-like memory"), common sense or empathy, so humans need to learn machine rules to operate them. Humans are not good at strictly following rules, especially, when they often do not know them precisely. If users fail to learn or just slip when interacting with a machine, it will lead to unexpected results and eventually to the frustration. Good design should prevent such situations or at least make it easy to recover from them [1, p. 5, 6]. All human-made things are designed, but products do not have to be physical. Simple axe from the bronze age, computer program or mail delivery service are designed by humans. We have a long history in this particular activity, which could lead us to the conclusion that we should be naturally good at it. Except we are not. Why is that? As technology develops, we are using much more complex devices.
Recommended publications
  • Cloud Computing Bible Is a Wide-Ranging and Complete Reference
    A thorough, down-to-earth look Barrie Sosinsky Cloud Computing Barrie Sosinsky is a veteran computer book writer at cloud computing specializing in network systems, databases, design, development, The chance to lower IT costs makes cloud computing a and testing. Among his 35 technical books have been Wiley’s Networking hot topic, and it’s getting hotter all the time. If you want Bible and many others on operating a terra firma take on everything you should know about systems, Web topics, storage, and the cloud, this book is it. Starting with a clear definition of application software. He has written nearly 500 articles for computer what cloud computing is, why it is, and its pros and cons, magazines and Web sites. Cloud Cloud Computing Bible is a wide-ranging and complete reference. You’ll get thoroughly up to speed on cloud platforms, infrastructure, services and applications, security, and much more. Computing • Learn what cloud computing is and what it is not • Assess the value of cloud computing, including licensing models, ROI, and more • Understand abstraction, partitioning, virtualization, capacity planning, and various programming solutions • See how to use Google®, Amazon®, and Microsoft® Web services effectively ® ™ • Explore cloud communication methods — IM, Twitter , Google Buzz , Explore the cloud with Facebook®, and others • Discover how cloud services are changing mobile phones — and vice versa this complete guide Understand all platforms and technologies www.wiley.com/compbooks Shelving Category: Use Google, Amazon, or
    [Show full text]
  • Manager, Software Engineering
    RESUME RAMESH A (PRINCE2® Practitioner) E-mail : [email protected] Mobile : +919886311312 Summary: Over 14 years 10 months of involvement in IT industry with solid foundation on Software Testing (as Manager, Test/Technical lead, Test Architect, Scrum Master) in the cutting edge innovations/technologies Managing, Mentoring, Guiding and Leading 14 QA team members across 4 different projects Implementing QA strategies, Open source technologies to maximize the Product Quality and Test Coverage Accountable and Responsible for planning, managing, executing the complete End to End QE activities (Starting from Requirements gathering to QE Sign-off) Open source contributor for ManageIQ, Aeolus, Deltacloud API, Open Stack Well experienced in Designing automation framework using Selenium with Java and Python Possess rich experience in Design, Development and Testing with excellent analytical, problem solving, communication and interpersonal skills. Well aware of working with both Upstream(open source community) and Downstream(Enterprise release) Techno-functional with sound knowledge in management of various activities including development/ testing/ deployment/ configurations/ maintenance of an enterprise wide Operating System, Cloud applications, Middleware application, functional testing, API testing, non-functional testing, UAT, Automation and end-user trainings Experienced in writing/ maintaining test plans, test strategies, test cases, wiki pages and docs for the functionality, installation/ configuration, automation setup and
    [Show full text]
  • Innovation Across the Open Hybrid Cloud Red Hat Summit 2018 Press Conference
    INNOVATION ACROSS THE OPEN HYBRID CLOUD RED HAT SUMMIT 2018 PRESS CONFERENCE Paul Cormier Matt Hicks President, Products and Technologies SVP, Engineering Red Hat Red Hat Ashesh Badani Mike Ferris VP and General Manager, OpenShift VP, Technical Business Development & Red Hat Business Architecture Red Hat RED HAT’S INTENTIONAL 25-YEAR JOURNEY 1993 FOUNDED 2012 $1 BILLION IN REVENUE RED HAT STORAGE RELEASED 1999 IPO FUSESOURCE, POLYMITA & MANAGEIQ ACQUIRED 2002 FIRST RELEASE OF ENTERPRISE LINUX 2013 RED HAT OPENSTACK PLATFORM RELEASED OPENSHIFT ENTERPRISE RELEASED 2006 JBOSS ACQUIRED 2014 INKTANK (CEPH), ENOVANCE (OPENSTACK), 2009 RED HAT VIRTUALIZATION RELEASED & FEEDHENRY (MOBILE) ACQUIRED RED HAT ADDED TO S&P 500 INDEX 2015 ANSIBLE ACQUIRED 2011 2016 $2 BILLION IN REVENUE GLUSTER ACQUIRED OPENSHIFT RELEASED 3SCALE (API MANAGEMENT) ACQUIRED 2017 PERMABIT & CODENVY ACQUIRED COREOS ACQUIRED 2018 $3 BILLION ANNUAL RUN RATE REVENUE RED HAT SUMMIT 2018 NEWS ● REAL ENTERPRISE ADOPTION ● NEW TECHNOLOGY INNOVATIONS TO ADVANCE THE HYBRID CLOUD ● DEVELOPER MOMENTUM ● MOMENTUM ACROSS THE CLOUD-NATIVE ISV AND HYBRID CLOUD ECOSYSTEM THE 3 PILLARS OF RED HAT’S BUSINESS SUPPORTED BY AN ENTIRE TECHNOLOGY ECOSYSTEM We have the Linux We have the leading We have the foundation & the cloud enterprise Kubernetes management & platforms to win hybrid container platform with automation solutions to cloud infrastructure middleware services to make our portfolio sticky win the developer & easier to use WE HAVE THE PARTNER ECOSYSTEM TO WIN OPEN HYBRID CLOUD RED HAT MAKES THE HYBRID CLOUD AND CONTAINER-NATIVE ENTERPRISE A REALITY RED HAT ENABLES TRANSFORMATION ACROSS INDUSTRIES ANNOUNCING: NEW TECHNOLOGY INNOVATIONS TO ADVANCE THE HYBRID CLOUD HYBRID CLOUD INFRASTRUCTURE SUMMIT NEWS & DEMOS NEW - CoreOS INTEGRATION: OPENSHIFT AND RED HAT CoreOS HYBRID CLOUD NEW - OPENSHIFT+OPENSTACK: INTEGRATING HYBRID INFRASTRUCTURE CLOUD INFRASTRUCTURE WITH CLOUD-NATIVE APP DEV Infrastructure software across the 4 footprints, with DEMO - TOOLING AND SERVICES TO MIGRATE FROM VMware RHEL at the very core.
    [Show full text]
  • Connor Penhale Enterprise Software Architect
    Connor Penhale Enterprise Software Architect mailto: [email protected] ​ Open Source & Cloud Evangelist Tel:+13035526680 (mobile) Servant Leader 6421 W 72nd Dr Arvada, CO 80003 Entrepreneur Executive Summary: ● Developing Enterprise Applications utilizing Java EE and Messaging since 2005 ● Fortune 500 Experience: Bank of America, Coca Cola, CVS, Home Depot, Wells Fargo ● Founded Startup in 2014, $150k fundraising, $150k revenue, 5 staff, 13k+ personal man hours Battle-Tested Experience and Deep Technical Acumen: ● Enterprise Integration Patterns, Distributed Computing, and Messaging with technologies like Apache Camel, JBoss / Wildfly, ElasticSearch, JMS, Websockets, REST, Nginx, PostgresSQL ● DevSecOps in the Cloud, on-premise, and in hybrid environments with technologies like OpenShift, Kubernetes, Jenkins, Oauth, Puppet, Ansible, ManageIQ, Foreman, CloudFormation ● Design, Deployment, and Operation of On-Premise Datacenters with technologies like OpenStack, OVirt, Ceph, Cinder, iSCSI, SAN, Hyper Converged Infrastructure, HA, DR Professional Experience: Rogue Wave Software - OpenLogic – Louisville, CO 10/2018-Present Enterprise Architect 12/2012-04/2015 I joined OpenLogic in December of 2012, and got to realize my dream of being an open source evangelist as a full-time aspect of my professional duties. By bringing the white-glove service I perfected at Polycom to customers like Bank of America, Coca Cola, CVS, FirstData, Home Depot, and Wells Fargo, I was able to provide an incredible value to the team, and gain exposure at an architecture level to the best running and most challenging networks of applications in the Fortune 500. I’ve returned to this exciting role to spearhead the roll-out of Rogue Wave Software’s curated Cloud Native stacks. Turnberry Solutions – Englewood, CO 02/2018-10/2018 Java Lead Embedded at Comcast to tackle ETL business requirements through event-driven programming using core Java, Spring Boot, Camel ESB, Kafka, Avro, and other technologies.
    [Show full text]
  • Red Hat Cloudforms 5.0 Provisioning Virtual Machines and Instances
    Red Hat CloudForms 5.0 Provisioning Virtual Machines and Instances Provisioning, workload management, and orchestration for Red Hat CloudForms Last Updated: 2020-08-05 Red Hat CloudForms 5.0 Provisioning Virtual Machines and Instances Provisioning, workload management, and orchestration for Red Hat CloudForms Red Hat CloudForms Documentation Team [email protected] Legal Notice Copyright © 2020 Red Hat, Inc. The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/ . In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version. Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law. Red Hat, Red Hat Enterprise Linux, the Shadowman logo, the Red Hat logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries. Linux ® is the registered trademark of Linus Torvalds in the United States and other countries. Java ® is a registered trademark of Oracle and/or its affiliates. XFS ® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries. MySQL ® is a registered trademark of MySQL AB in the United States, the European Union and other countries. Node.js ® is an official trademark of Joyent.
    [Show full text]
  • Use of Open Source Cloud Technologies to Deliver Modern Public Health Services
    Use of open source cloud technologies to deliver modern public health services Francesco Giannoccaro 29th January 2020 About PHE ► Public Health England (PHE) is an executive agency of the Department of Health in the UK. PHE provide government, local government, the NHS, industry and the public with evidence-based professional, scientific and delivery expertise and support. ► Public Health England was established in 2013 to bring together public health specialists from more than 70 organisations into a single public health service. PHE employee about 5,500 staff, mostly scientists, researchers and public health professionals. ► PHE mission is to protect and improve the nation’s health and wellbeing, and reduce health inequalities. We do this through world-leading science, knowledge and intelligence, advocacy, partnerships and the delivery of specialist public health services. 2 Use of open-source technologies to deliver modern public health services Francesco Giannoccaro - London 2020/01/29 HIGHLIGHT THE AMBITIOUS AND INSPIRING MISSION PUBLIC HEALTH ENGLAND HAS. HOW THIS MISSION ALIGN TO THE OPEN SOURCE VALUES, IN THAT PHE AIMS TO DELIVER INNOVATIVE PUBLIC HEALTH SERVICES TO EVERYONE INDEPENDENTLY HOW RICH THEY ARE, REDUCING HEALTH INEQUALITY. Wide range of public health services PHE deliver a wide range of public health services including • research and scientific publications based on mathematical models such as Spatial Metapopulation Model for transmissible disease (eg Flu/Smallpox), predictive models applied to the Anthrax, inference problem to be able to infer: likely size of outbreak, location of source, spatial extent, etc • pathogen genomics service, based on whole genome sequencing, for pathogen typing, surveillance and outbreak investigation.
    [Show full text]
  • Leveraging Containers and Openstack
    Leveraging Containers and OpenStack A Comprehensive Review Introduction Imagine that you are tasked to build an entire private cloud infrastructure from the ground up. You have a limited budget, a small but dedicated team, and are asked to pull off a miracle. A few years ago, you’d build an infrastructure with applications running in virtual machines, with some bare-metal machines for legacy applications. As infrastructure has evolved, virtual machines (VMs) enabled greater levels of efficiency and agility, but VMs alone don’t completely meet the needs of an agile approach to application deployment. They continue to serve as a foundation for running many applications, but increasingly, developers are looking toward the emerging trend of containers for leading-edge application development and deployment because containers offer increased levels of agility and efficiency. Container technologies like Docker and Kubernetes are becoming the leading standards for building containerized applications. They help free organizations from complexity that limits development agility. Containers, container infrastructure, and container deployment technologies have proven themselves to be very powerful abstractions that can be applied to a number of different use cases. Using something like Kubernetes, an organization can deliver a cloud that solely uses containers for application delivery. But a leading-edge private cloud isn’t just about containers, and containers aren’t appropriate for all workloads and use cases. Today, most private cloud infrastructures need to encompass bare-metal machines for managing infrastructure, virtual machines for legacy applications, and containers for newer applications. The ability to support, manage and orchestrate all three approaches is the key to operational efficiency.
    [Show full text]
  • Ansible 2.2 Documentation Release 2.4
    Ansible 2.2 Documentation Release 2.4 Ansible, Inc October 06, 2017 Contents 1 About Ansible 1 i ii CHAPTER 1 About Ansible Welcome to the Ansible documentation! Ansible is an IT automation tool. It can configure systems, deploy software, and orchestrate more advanced IT tasks such as continuous deployments or zero downtime rolling updates. Ansible’s main goals are simplicity and ease-of-use. It also has a strong focus on security and reliability, featuring a minimum of moving parts, usage of OpenSSH for transport (with other transports and pull modes as alternatives), and a language that is designed around auditability by humans–even those not familiar with the program. We believe simplicity is relevant to all sizes of environments, so we design for busy users of all types: developers, sysadmins, release engineers, IT managers, and everyone in between. Ansible is appropriate for managing all envi- ronments, from small setups with a handful of instances to enterprise environments with many thousands of instances. Ansible manages machines in an agent-less manner. There is never a question of how to upgrade remote daemons or the problem of not being able to manage systems because daemons are uninstalled. Because OpenSSH is one of the most peer-reviewed open source components, security exposure is greatly reduced. Ansible is decentralized–it relies on your existing OS credentials to control access to remote machines. If needed, Ansible can easily connect with Kerberos, LDAP, and other centralized authentication management systems. This documentation covers the current released version of Ansible (2.3) and also some development version features (2.4).
    [Show full text]
  • Ansible Everything
    ANSIBLE EVERYTHING From traditional to unorthodox, Ansible for Everything Adam Miller Principal Software Engineer AGENDA AGENDA WHAT WE’RE GOING TO TALK ABOUT TODAY ● What is Ansible? ● Command Line Tooling ● Why on earth would I want to do all the ● Event Based Execution things with Ansible? ● Workflow Automation ● Automation Tool ● CI/CD ● Configuration Management ● Ansible Container ● Provisioning and Systems ● Test-Driven Playbook Development Management ● Ansible Galaxy ● Deployment ● Security Auditing and Compliance ● Application Lifecycle Management ● Ansible Tower ● Orchestration WHAT IS ANSIBLE? QUICK INTRODUCTION WAIT, YOU DON’T KNOW WHAT ANSIBLE IS? Ansible is an automation tool ● Ansible is a simple agentless idempotent task automation tool ○ By default, tasks are executed in-order but we can change that if we want. ● Tasks are performed via modules ● Tasks are grouped together via plays ○ Also via roles, which are reusable sets of plays we can pass variables to ○ A play operates on a set of hosts ● Playbooks can contain one or many plays ● Plays nicely with "traditional" configuration management systems ○ There's even a puppet module! QUICK INTRODUCTION WAIT, YOU DON’T KNOW WHAT ANSIBLE IS? Module: yum Arguments: pkg=bash state=installed $ ansible localhost -m yum -a "pkg=bash state=installed" localhost | SUCCESS => { "changed": false, "msg": "Nothing to do" } ANSIBLE EVERYTHING USING ANSIBLE FOR EVERYTHING WHY WOULD I WANT TO DO THAT? Ansible is a simple automation tool that can: ● Execute tasks on one or many hosts ● Orchestrate
    [Show full text]
  • Brno University of Technology Dialog Editor In
    View metadata, citation and similar papers at core.ac.uk brought to you by CORE provided by Digital library of Brno University of Technology BRNO UNIVERSITY OF TECHNOLOGY VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ FACULTY OF INFORMATION TECHNOLOGY DEPARTMENT OF INTELLIGENT SYSTEMS FAKULTA INFORMAČNÍCH TECHNOLOGIÍ ÚSTAV INTELIGENTNÍCH SYSTÉMŮ DIALOG EDITOR IN ANGULARJS FOR MANAGEIQ EDITOR DIALOGŮ V ANGULARJS PRO MANAGEIQ BACHELOR’S THESIS BAKALÁŘSKÁ PRÁCE AUTHOR ROMAN BLANCO AUTOR PRÁCE SUPERVISOR Prof. Ing. VOJNAR TOMÁŠ, Ph.D. VEDOUCÍ PRÁCE BRNO 2016 Abstract The main goal of this bachelor thesis is to design and implement a new solution for a Dialog Editor for the ManageIQ application. The new editor is supposed to be created as a single-page application implemented by using JavaScript library AngularJS and drag&drop technique. The solution should bring more comfortable interface for end users than the current editor does. Abstrakt Hlavním cílem této bakalárské práce je návrh a implementace řešení pro editor dialogů pro aplikaci ManageIQ. Nový editor by měl být vytvořený jako jedno-stránová aplikace vytvořená pomocí JavaScriptové knihovny AngularJS a drag&drop techniky. Řešení mělo poskytnout komfortnější rozhraní koncovým uživatelůn, než nabízí současná implementace. Keywords ManageIQ, AngularJS, JavaScript, HTML, user interface. Klíčová slova ManageIQ, AngularJS, JavaScript, HTML, uživatelská rozhraní. Reference BLANCO, Roman. Dialog Editor in AngularJS for ManageIQ. Brno, 2016. Bachelor’s thesis. Brno University of Technology, Faculty of Information Technology. Supervisor Vojnar Tomáš. Dialog Editor in AngularJS for ManageIQ Declaration Hereby I declare that this bachelor’s thesis was prepared as an original author’s work under the supervision of prof. Ing. Tomáš Vojnar, Ph.D.
    [Show full text]
  • ANSIBLE SERVICE BROKER Deploying Multi-Container Applications on Openshift Todd Sanders John Matthews Openshift Commons Briefing
    ANSIBLE SERVICE BROKER Deploying multi-container applications on OpenShift Todd Sanders John Matthews OpenShift Commons Briefing May 31, 2017 Open Service Broker API Overview ● API working group formed in September 2016, officially announced December; successor to CF Service Broker API ● API defines an HTTP interface between the services marketplace of a platform and service brokers ● Service Broker is the component of the service that implements the Service Broker API, for which a platform's marketplace is a client ● Service brokers are responsible for advertising a catalog of service offerings and service plans to the marketplace, and acting on requests from the marketplace for: ○ Provisioning, binding, unbinding, and deprovisioning ○ Provisioning reserves a resource (service instance) ○ Binding typically generates credentials necessary for accessing the resource or provides the service instance with information for a configuration change ● Platform marketplace may expose services from one or many service brokers ● Individual service broker may support one or many platform marketplaces using different URL prefixes and credentials ● Backed by numerous industry leaders including Fujitsu, Google, IBM, Pivotal, Red Hat, and SAP 2 ANSIBLE SERVICE BROKER Orchestrating OpenShift Services ● Define, extend, and deliver “simple” to “complex” multi-container OpenShift services ● Standardized approach to using Ansible to manage and provision applications ● Leverage existing investment in Ansible roles/playbooks ● Easy management of applications
    [Show full text]
  • Deploying Multi-Container Applications with Ansible Broker
    11.7.2017 Deploying Multi-Container Applications with Ansible Broker Eric Dubé, Senior Principal Product Manager, Red Hat Todd Sanders, Director Software Engineering, Red Hat Agenda Service Catalog and Brokers Live Demonstration Open Service Broker API and High-level Architecture Walkthrough of Provision/Bind of selected services Ansible Broker More Information Ansible Playbook Bundle (APB) Definition Additional information to get you started What’s New and Future Plans Questions Roadmap Review What can we answer for you? 2 Service Catalog & Ansible Broker 3 Why Service Brokers? ☑ Open ticket ☑ Wait for allocation ☑ Receive credentials ☑ Add to app ☑ Deploy app SERVICE SERVICE CONSUMER PROVIDER Manual, Time-consuming, Error-prone, and Inconsistent 4 What is a Service Broker? SERVICE SERVICE SERVICE SERVICE CONSUMER CATALOG BROKER PROVIDER Brokers inform Service Catalog of the Service Classes it can provision Service Consumer only interacts with Service Catalog, the details of the Brokers are largely hidden Creates a process that is automated, standardized, and most importantly consistent 5 Service Broker Concepts CONSUMER: user of service deployed by the catalog/broker SERVICE: an offering that can be used by an app e.g. database PLAN: a specific flavor of a service e.g. Gold Tier SERVICE INSTANCE: an instance of the offering SERVICE SERVICE SERVICE SERVICE CONSUMER CATALOG BROKER PROVIDER PROVISION: creating a service instance BIND: associate a service instance and its credentials to an app 6 Service Catalog Where Services Are Published
    [Show full text]