<link href="/static/css/inlinecode_screen.css" rel="stylesheet" media="screen" /> <style> .highlight table td { padding: 5px; } .highlight table pre { margin: 0; } .highlight, .highlight .w { color: #f8f8f2; background-color: #272822; } .highlight .err { color: #151515; background-color: #ac4142; } .highlight .c, .highlight .cd, .highlight .cm, .highlight .c1, .highlight .cs { color: #505050; } .highlight .cp { color: #f4bf75; } .highlight .nt { color: #f4bf75; } .highlight .o, .highlight .ow { color: #d0d0d0; } .highlight .p, .highlight .pi { color: #d0d0d0; } .highlight .gi { color: #90a959; } .highlight .gd { color: #ac4142; } .highlight .gh { color: #6a9fb5; background-color: #151515; font-weight: bold; } .highlight .k, .highlight .kn, .highlight .kp, .highlight .kr, .highlight .kv { color: #aa759f; } .highlight .kc { color: #d28445; } .highlight .kt { color: #d28445; } .highlight .kd { color: #d28445; } .highlight .s, .highlight .sb, .highlight .sc, .highlight .sd, .highlight .s2, .highlight .sh, .highlight .sx, .highlight .s1 { color: #90a959; } .highlight .sr { color: #75b5aa; } .highlight .si { color: #8f5536; } .highlight .se { color: #8f5536; } .highlight .nn { color: #f4bf75; } .highlight .nc { color: #f4bf75; } .highlight .no { color: #f4bf75; } .highlight .na { color: #6a9fb5; } .highlight .m, .highlight .mf, .highlight .mh, .highlight .mi, .highlight .il, .highlight .mo, .highlight .mb, .highlight .mx { color: #90a959; } .highlight .ss { color: #90a959; } </style> <!-- configure the accordion function on the table of contents --> <style> .toc-submenu- 1 { display: block } </style>

BMC Learning Lab - Orientation

Table of Contents
<ul class="nav scrollspy" id="myAffixTarget"> </li> <li class="toc-h1"> <a href="#orientation-294" class="toc-h1"> Orientation </a> </li> <li class="toc-h1"> <a href="#application-scenario-295" class="toc-h1"> Application scenario </a> </li> <li class="toc-h1"> <a href="#work-order-application-design-296" class="toc-h1"> Work order application design </a> <ul class="toc-submenu nav"> <li class="toc-h2"> <a href="#data-model-records-and-associations-297" class="toc-h2"> Data model: records and associations </a> </li> <li class="toc-h2"> <a href="#business-logic-designing-processes-and-rules-298" class="toc-h2"> Business logic: designing processes and rules </a> </li> <li class="toc-h2"> <a href="#user-interface-view-designer-components-299" class="toc-h2"> User interface: view designer components </a> </li> <li class="toc-h2"> <a href="#publishing-packaging-bundles-for-deployment-300" class="toc-h2"> Publishing: packaging bundles for deployment </a> </li> <li class="toc-h2"> <a href="#summary-301" class="toc-h2"> Summary </a> </ul></li> <li class="toc-h1"> <a href="#required-development-tools-302" class="toc-h1"> Required development tools </a> </li> <li class="toc-h1"> <a href="#gaining-access-to-innovation-studio-303" class="toc-h1"> Gaining access to Innovation Studio </a> <ul class="toc-submenu nav"> <li class="toc-h2"> <a href="#creating-a-developer-user-304" class="toc-h2"> Creating a developer user </a> </li> <li class="toc-h2"> <a href="#summary-305" class="toc-h2"> Summary </a> </ul></li> <li class="toc-h1"> <a href="#setting-up-your-environment-306" class="toc-h1"> Setting up your environment </a> <ul class="toc-submenu nav"> <li class="toc-h2"> <a href="#developer-id-and-namespace-307" class="toc-h2"> Developer ID and namespace </a> </li> <li class="toc-h2"> <a href="#changing-the-developer-id-308" class="toc-h2"> Changing the developer ID </a> </li> <li class="toc-h2"> <a href="#preparing-the-sdk-309" class="toc-h2"> Preparing the SDK </a> </li> <li class="toc-h2"> <a href="#testing-the-development-environment-310" class="toc-h2"> Testing the development environment </a> <ul class="toc-submenu nav"> <li class="toc-h3"> <a href="#checking-java-311" class="toc-h3"> Checking Java </a> </li> <li class="toc-h3"> <a href="#checking-maven-312" class="toc-h3"> Checking Maven </a> </li> <li class="toc-h3"> <a href="#checking-node-js-313" class="toc-h3"> Checking Node.js </a> </li> <li class="toc-h3"> <a href="#checking-grunt-cli-314" class="toc-h3"> Checking Grunt CLI </a> </ul></li> </ul></li> <li class="toc-h1"> <a href="#deploying-required-application-modules-315" class="toc-h1"> Deploying required application modules </a> <ul class="toc-submenu nav"> <li class="toc-h2"> <a href="#summary-316" class="toc-h2"> Summary </a> </ul></li> <li class="toc-h1"> <a href="#cleaning-up-from-previous-tutorials-317" class="toc-h1"> Cleaning up from previous tutorials </a> <ul class="toc-submenu nav"> <li class="toc-h2"> <a href="#export-the-deployment-package-completely-318" class="toc-h2"> Export the deployment package completely </a> </li> <li class="toc-h2"> <a href="#undeploy-the-bundles-from-innovation-studio-319" class="toc-h2"> Undeploy the bundles from Innovation Studio </a> </li> <li class="toc-h2"> <a href="#verify-undeployment-320" class="toc-h2"> Verify undeployment </a> </li> <li class="toc-h2"> <a href="#summary-321" class="toc-h2"> Summary </a> </ul></li> <li class="toc-h1"> <a href="#conclusion-orientation-322" class="toc-h1"> Conclusion - Orientation </a> </ul>
<h1 id="orientation-294">Orientation</h1> <p><img class='lazy' alt='images/docs/download/attachments/668429038/developers.jpg' data-original='images/docs/download/attachments/668429038/developers.jpg' /></p> <p>As a developer you build solutions to solve complex business problems. When you first start a development project, you should thoroughly understand the business need, and design a solution to meet that need. Fortunately, we&#39;ve already done the heavy lifting for you.</p> <p>The Innovation Suite is an end-to-end framework that provides the enterprise features you need. Applications built using the Innovation Suite begin with an enterprise ready data management back end, authentication model, and security framework, leaving you with more time to design and develop solutions to meet your business goals and objectives.</p> <p>In this module, you will review the business use case and application design to build a solution that touches upon many of the capabilities of the Innovation Suite. Then you will deploy the base application into Innovation Studio. Review this section as a detailed reference for the application design, and then follow the instructions for deploying the base application into Innovation Studio.</p> <h1 id="application-scenario-295">Application scenario</h1> <p>In our organization, work needs to be done. This involves someone requesting the work, someone approving the work, and someone, let&#39;s call them &quot;engineers&quot;, implementing the work as a set of tasks that are assigned to them. Let&#39;s say that the requirements are as follows:</p> <ul> <li><p>A &quot;requestor&quot; user submits a new work order to the system directly.</p></li> <li><p>A &quot;manager&quot; can review new work orders before formal approval is requested.</p></li> <li><p>There is some very configurable approval process that should happen on reviewed work orders before work starts.</p></li> <li><p>There is some very configurable process for generating tasks and assigning them to an &quot;engineer&quot;.</p></li> <li><p>Engineers can view tasks that are assigned to them and update their status.</p></li> </ul> <h1 id="work-order-application-design-296">Work order application design</h1> <p>Usually a good place to start with the design of an enterprise application is by defining the domain data objects. For this tutorial, we will keep this fairly simple.</p> <ul> <li><p>There are the following roles:</p> <ul> <li> Work Manager</li> <li> Work Implementor</li> </ul></li> <li><p>We know we have a Work Order construct.</p> <ul> <li> Has a description, contract</li> <li> Has a lifecycle status of New, Reviewed, Assigned, Work in Progress, Cancelled, or Completed.</li> <li> Has zero or more Work Task instances associated with it.</li> </ul></li> <li><p>Work Task</p> <ul> <li> They in fact are &quot;part of&quot; the Work Order (meaning that when the Work Order is deleted, the associated Work Task objects are deleted as well). This can be called a &quot;direct&quot; association.</li> <li> Has a lifecycle status that includes New, Work in Progress, and Completed</li> </ul></li> <li><p>Fulfillment of a work order is tracked using a business process that involves Work Tasks. We need to be able to support many different kinds of fulfillment which can be &quot;tailored&quot; after the application is deployed. This means that the actual fulfillment process needs to be pluggable into the overall Work Order process.</p></li> <li><p>We have a Requestor who</p> <ul> <li> Is one of the Person types in our enterprise.</li> <li> Can be associated with multiple Work Order instances, but they do not &quot;own&quot; them.</li> <li> Can be used to populate a requestor field</li> <li> A query of Person should return Work Order Requestor instances.</li> </ul></li> <li><p>The person who &quot;owns&quot; a work order is considered an &quot;Agent&quot; and is also based on Person.</p></li> <li><p>The person who is assigned to work on a task is also an &quot;Agent&quot;.</p></li> </ul> <h2 id="data-model-records-and-associations-297">Data model: records and associations</h2> <p>To translate that into Innovation Suite constructs (Records, Associations, and Named Lists), the data model for the whole project looks like this:</p> <p><img class='lazy' alt='images/docs/download/attachments/667810411/design-data-model.png' data-original='images/docs/download/attachments/667810411/design-data-model.png' /></p> <p>Note that some of the objects are part of other bundles, which implies a dependency on the Task Manager reference application.</p> <h2 id="business-logic-designing-processes-and-rules-298">Business logic: designing processes and rules</h2> <p>As an application developer, we cannot determine every single behavior of this highly configurable system, because this will inevitably be configured differently by every customer. However, we can lay down the &quot;bare bones&quot; business process that will be tied to the fulfillment of a work order as a set of tasks.</p> <p>For this very basic process, we will not get too fancy with task creation. Instead we will delegate to another process dynamically, which by default will be an extremely simple one that creates a single task and associates it with the work order. Later, business analysts can easily create complex fulfillment processes as part of tailoring the application to the company&#39;s needs.</p> <p><img class='lazy' alt='images/docs/download/attachments/667810411/design-business-logic.png' data-original='images/docs/download/attachments/667810411/design-business-logic.png' /></p> <h2 id="user-interface-view-designer-components-299">User interface: view designer components</h2> <p>Just as we are keeping the data model and business logic simple, we will also have a rudimentary UI at first. The uses cases supported are:</p> <ul> <li><p>Look at the list of Work Orders</p></li> <li><p>Look at the list of Work Tasks (along with some joined Work Order information)</p></li> <li><p>Create a new Work Order</p></li> <li><p>Edit a Work Order, which includes</p> <ul> <li> View / modify the details, including marking the status as &quot;Reviewed&quot;</li> <li> View associated Work Task instances (created once the process reaches that point) in a list</li> <li> Edit associated Work Task instances</li> </ul></li> <li><p>Go to the approval console and approve pending items</p></li> <li><p>This flow will require creating at least 5 views. It can be diagrammed like this:</p></li> </ul> <p><img class='lazy' alt='images/docs/download/attachments/667810411/design-ui-flow.png' data-original='images/docs/download/attachments/667810411/design-ui-flow.png' /></p> <h2 id="publishing-packaging-bundles-for-deployment-300">Publishing: packaging bundles for deployment</h2> <p>Finally, part of the design is to identify what deployment packages should be created. Each one will either be supplied as part of the platform install, or created as new project using an appropriate Maven archetype.</p> <p>For each package, we can take an inventory of what kinds of definition objects, as well as special coding like UI components and Java services and REST resources, that will be needed. This creates a roadmap and high-level architecture for development of the solution.</p> <p><img class='lazy' alt='images/docs/download/attachments/667810411/design-packaging.png' data-original='images/docs/download/attachments/667810411/design-packaging.png' /></p> <h2 id="summary-301">Summary</h2> <p>Throughout the following exercises, you can and should refer back to these requirements and design notes as a guide to understand why the steps are being taken. This will help getting lost during some of the detailed steps that are part of the implementation.</p> <h1 id="required-development-tools-302">Required development tools</h1> <p>To complete the lessons, you will need the following software and applications to be installed on your system.</p> <p>Software or application</p> <p>Where to find</p> <p>Comment</p> <p><strong>Java JDK 1.8</strong></p> <p><a href="http://www.oracle.com/technetwork/java/javase/downloads/index.html">Oracle Java SE/JDK downloads</a></p> <p>Must be included in your system path.</p> <p>BMC Remedy AR System server</p> <p>BMC Remedy AR System server and database are installed in the Amazon Web Services (AWS) instance</p> <p>Runtime engine</p> <p>BMC Remedy Mid Tier</p> <p>You can use a mid tier on other environment and point it to the development environment.</p> <p>BMC Remedy Mid Tier is required to create a developer user account.</p> <p><strong>Apache Maven 3.3.9</strong></p> <p><a href="https://maven.apache.org/download.cgi">Apache Maven downloads</a></p> <p>Must be included in your system path.</p> <p><strong>Eclipse 4.6</strong></p> <p>Your choice of development environment</p> <p>Recommended: Eclipse IDE, M2Eclipse plugin (may be provided with Eclipse)</p> <p><strong>Node.js 6.2.1</strong></p> <p><a href="https://nodejs.org/en/download/">Nodejs.org downloads</a></p> <p>Must be included in your system path.</p> <p><strong>Karma</strong> and <strong>Grunt</strong></p> <p><a href="http://gruntjs.com/installing-grunt">Grunt installation instructions</a></p> <p>Karma - Test runner for JavaScript Grunt - JavaScript task runner for running and debugging custom web applications</p> <p><strong>Innovation SDK</strong></p> <p>com.bmc.arsys.rx.sdk-9.5.00-SNAPSHOT.zip</p> <p>Contains the initial application and library modules required by this tutorial.</p> <p><strong>Web browser</strong></p> <p>Your choice</p> <p>Recommended: Google Chrome, for its developer tools.</p> <p>For detailed setup instructions, see the Developer Guide at <a href="https://docs.bmc.com/docs/display/ismasterspace/Setting+up+your+IDE+and+installing+Innovation+SDK">Setting up your IDE and installing Innovation SDK</a>.</p> <h1 id="gaining-access-to-innovation-studio-303">Gaining access to Innovation Studio</h1> <p>As a developer, you can request access to the cloud-hosted Innovation Studio environment by filling out your information at <a href="http://developers.bmc.com">developers.bmc.com</a>, where you can deploy your projects and build the functionality to meet your use case.</p> <p>Once you have been assigned a development sandbox, check:</p> <ul> <li><p>That you can connect to Innovation Studio (Is there a local workstation &lt;-&gt; Innovation Studio (cloud) configuration?</p></li> <li><p>That a developer user account as been created</p></li> </ul> <h2 id="creating-a-developer-user-304">Creating a developer user</h2> <p>In the instance a developer user has not been created in your Innovation Studio sandbox, follow these steps.</p> <ol> <li><p>Log in to Innovation Studio using the credentials supplied in your email invitation.</p></li> <li><p>Go to <strong>Administration &gt; Configure My Server &gt; People &gt; Manage AR User Accounts</strong>.</p></li> <li><p>Give the developer user Administrator group access.</p> <p><img class='lazy' alt='images/docs/download/attachments/668429053/innovation-studio-create-user.png' data-original='images/docs/download/attachments/668429053/innovation-studio-create-user.png' /></p></li> <li><p>Create a developer user for yourself, for example, in this tutorial we are using:</p></li> </ol> <p>- Login Name: Seth</p> <p>- Password: Seth</p> <h2 id="summary-305">Summary</h2> <p>At this point, the developer account is set up in Innovation Studio. You must deploy the Task Manager application as an initial framework for you to continue building your project.</p> <h1 id="setting-up-your-environment-306">Setting up your environment</h1> <p>You may be using a preconfigured development environment that already has all the necessary developer tools and AR Server runtime. In this case, this Lesson can be skipped. Or, you can review it to get an idea of what tools are required to exist in the environment.</p> <h2 id="developer-id-and-namespace-307">Developer ID and namespace</h2> <p>Before getting started, you must record the <strong>Developer ID</strong> you have been assigned on the Development Server, and change the Developer ID temporarily to <strong>com.example.</strong> The com.example developer identity is used in all the working examples and sample code used in this tutorial. The bundles you deploy using the com.example developer identity will be deployed into the com.example namespace.</p> <p>After you have completed the tutorial, you can restore the Developer ID you were assigned. You should not deploy any bundles in the com.example namespace which are not part of the learning modules. You should use your own developer identity to produce applications into your own namespace.</p> <h2 id="changing-the-developer-id-308">Changing the developer ID</h2> <p>Change the <strong>Developer ID</strong> field using the Mid-Tier AR System Administration Console.</p> <ol> <li><p>Log onto the Mid-Tier using the Administrator credential supplied with your Development Server. </p> <p>In most cases, the <code>HTTP-TOMCAT-PORT port is 8080</code>.</p> <p><code>http://DEVELOPMENT-SERVER-HOST:HTTP-TOMCAT-PORT/arsys/</code></p></li> <li><p>Click the blue <strong>Applications</strong> button on the left to open the menu.</p></li> <li><p>Select <strong>AR System Administration &gt; AR System Administration Console.</strong></p></li> <li><p>Go to <strong>Common Server Configuration &gt; General &gt; Server Information.</strong></p></li> <li><p>Open <strong>Configuration.</strong></p> <p><img class='lazy' alt='image2016-12-1_16_20_12.png' data-original='images/docs/download/attachments/667810416/image2016-12-1_16_20_12.png' /></p></li> <li><p>Take note of the assigned <strong>Developer ID.</strong></p></li> <li><p>Change the Developer ID to <strong>com.example.</strong></p></li> </ol> <p><strong>Note:</strong> Once again, before you build any applications, be sure to restore the Developer ID to the value assigned to your company.</p> <h2 id="preparing-the-sdk-309">Preparing the SDK</h2> <p>You must have access to a command line terminal in order to build the initial bundle and deploy the package into your Innovation Studio sandbox.</p> <p><strong>Note</strong>: After installing tools, be sure to close any command windows that may not have the updated path and/or system variables.</p> <ol> <li><p>On your development workstation, locate the Innovation SDK archive.</p></li> <li><p>Using 7zip or another extraction tool, extract the SDK folders into your development environment (our example uses <code>&lt;SDK Location&gt;</code>).</p></li> <li><p>Initialize the Maven repository with the SDK libraries. Enter the following commands:</p> <pre class="highlight plaintext"><code>cd &lt;SDK Location&gt;\lib lib&gt; mvn clean install </code></pre> <p>The result should look similar to the following:</p> <pre class="highlight plaintext"><code>[INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 23.928 s [INFO] Finished at: 2016-04-07T10:12:39-12:00 [INFO] Final Memory: 9M/491M </code></pre></li> </ol> <p><strong>Notes</strong>: </p> <ul> <li><p>If you are planning to develop using multiple versions of Innovation Suite, it is a good idea to keep the SDK in a folder that is dedicated to a particular instance of Innovation Suite.</p></li> <li><p>Before using the Maven commands that are available with the SDK, you must first initialize the Maven repository using the matching SDK.</p></li> </ul> <h2 id="testing-the-development-environment-310">Testing the development environment</h2> <p>To test the software that is installed in your environment, run the following commands. The output on your system may vary depending on exactly where things are installed.</p> <h3 id="checking-java-311">Checking Java</h3><pre class="highlight plaintext"><code>&gt; java -version java version "1.8.0_65" Java(TM) SE Runtime Environment (build 1.8.0_65-b17) Java HotSpot(TM) 64-Bit Server VM (build 25.65-b01, mixed mode) </code></pre> <h3 id="checking-maven-312">Checking Maven</h3><pre class="highlight plaintext"><code>&gt; mvn -v Apache Maven 3.2.1 (ea8b2b07643dbb1b84b6d16e1f08391b666bc1e9; 2014-02-14T05:37:52-12:00) Maven home: C:\Innovation Suite\tools\apache-maven-3.2.1-bin\apache-maven-3.2.1\bin\.. Java version: 1.8.0_45, vendor: Oracle Corporation Java home: c:\program files\java\jdk1.8.0_45\jre Default locale: en_US, platform encoding: Cp1252 OS name: "windows server 2008", version: "6.0", arch: "amd64", family: "dos" </code></pre> <h3 id="checking-node-js-313">Checking Node.js</h3><pre class="highlight plaintext"><code>&gt; node -v v6.2.1 </code></pre> <h3 id="checking-grunt-cli-314">Checking Grunt CLI</h3><pre class="highlight plaintext"><code>grunt -version grunt-cli v1.2.0 </code></pre> <h1 id="deploying-required-application-modules-315">Deploying required application modules</h1> <p>The Work Order library depends on framework libraries, which are always deployed with the server, and the Task Manager reference application, which is not. If it has already been deployed, you can skip this step.</p> <p>Otherwise you can build and deploy Task Manager yourself. You must have already installed the SDK.</p> <ol> <li><p>Set up the correct environment information in the task-manager\pom.xml file as documented in the Set the Development Server environment properties in the project&#39;s pom.xml file section of <a href="https://docs.bmc.com/docs/display/ismasterspace/Creating+a+Project+using+Maven+and+the+Archetype">Creating a Project using Maven and the Archetype</a>.</p></li> <li><p>Build the Task Manager application from its sample code. NOTE: do NOT use the -Pdeploy option here because the developer-id on your Development Server will not match task-manager. task-manager&gt; mvn clean install</p></li> <li><p>Deploy it to your Development Server using the bundledeployment tool and your admin credential. This is required because this project has a different developer-id as noted above.</p> <pre class="highlight plaintext"><code>task-manager&gt;java -jar ..\..\lib\com.bmc.arsys.rx.bundledeployment-9.5.00-SNAPSHOT.jar -o deploy -l package\target\com.example.taskmanager-1.0-SNAPSHOT.zip -u ADMIN -p ADMINPW -r http://HOST:PORT </code></pre></li> </ol> <h2 id="summary-316">Summary</h2> <p>To verify the bundle deployment, refresh Innovation Studio in your browser. The Task Manager application should appear in the workspace.</p> <h1 id="cleaning-up-from-previous-tutorials-317">Cleaning up from previous tutorials</h1> <p>If by chance there are already bundles deployed in the workspace called Work Central and Work Order, and you wish to start from scratch to run the tutorial, then these bundles should be removed from Innovation Studio. When you remove bundles, all data associated with the bundles is removed as well.</p> <h2 id="export-the-deployment-package-completely-318">Export the deployment package completely</h2> <ol> <li><p>Export <strong>work-order-lib</strong> <code>&lt;projects&gt;\work-order-lib&gt; mvn -Pexport package</code></p></li> <li><p>Export <strong>work-central-app</strong> <code>&lt;projects&gt;\work-central-app&gt; mvn -Pexport package</code></p></li> </ol> <h2 id="undeploy-the-bundles-from-innovation-studio-319">Undeploy the bundles from Innovation Studio</h2> <ol> <li><p>In a command shell, go to the sdk <strong>lib</strong> folder.</p> <p>Execute the following undeployment commands, replacing the correct host and port for Innovation Suite in each:</p></li> <li><p>Undeploy <strong>work-order-lib</strong> <code>&lt;sdk location&gt;\lib&gt; java -jar com.bmc.arsys.rx.bundledeployment-9.5.00-SNAPSHOT.jar -o undeploy -n com.example.work-order-lib-1.0-SNAPSHOT.zip -u Seth -p Seth -r http://SERVERNAME:PORT</code></p></li> <li><p>Undeploy <strong>work-central-app</strong> <code>&lt;sdk location&gt;\lib&gt; java -jar com.bmc.arsys.rx.bundledeployment-9.5.00-SNAPSHOT.jar -o undeploy -n com.example.work-central-app-1.0-SNAPSHOT.zip -u Seth -p Seth -r http://SERVERNAME:PORT</code></p> <p>Each time you run the undeploy command, you trigger a process that works in the background which can take up to a minute or two to complete.</p> <p>See the following sample output from running the command to remove <strong>work-order-lib</strong>:</p> <p><code> \com.bmc.arsys.rx.sdk-9.5.00-SNAPSHOT\lib&amp;gt;java -jar com.bmc.arsys.rx.bundledeployment-9.5.00-SNAPSHOT.jar -o undeploy -n com.example.work-order-lib-1.0-SNAPSHOT.zip -u Seth -p Seth -r http://localhost:8008 14:08:37.704 [main] INFO c.b.a.r.d.b.BundleDeploymentTool - Operation is undeploy 14:08:37.954 [main] INFO c.b.a.r.d.common.BaseApplication - Authenticating User Seth ... 14:08:38.335 [main] INFO c.b.a.r.d.common.BaseApplication - User [Seth] is authenticated 14:08:38.340 [main] INFO c.b.a.r.d.bundle.UndeployApplication - Deploy Tool Utility Run Start time: Wed Sep 28 14:08:38 PDT 2016 14:08:38.340 [main] INFO c.b.a.r.d.bundle.UndeployApplication - UnDeploying the package com.example.work-order-lib-1.0-SNAPSHOT.zip 14:08:38.403 [main] INFO c.b.a.r.d.bundle.UndeployApplication - response status:204 14:08:38.404 [main] INFO c.b.a.r.d.bundle.UndeployApplication - The package is successfully staged (*not undeployed) and scheduled for undeployment. 14:08:38.406 [main] INFO c.b.a.r.d.bundle.UndeployApplication - ****************************************************** You may use the below status URI to check undeployment status under a valid logged in session. STATUS URI: http://localhost:8008/api/rx/application/bundle/deploymentpackage/com.example.work-order-lib ****************************************************** 14:08:38.407 [main] INFO c.b.a.r.d.bundle.UndeployApplication - **** Starting to poll completion status of the scheduled undeployment. This may take few minutes.. **** 14:09:38.547 [main] INFO c.b.a.r.d.common.BaseApplication - UnDeployment completed. UnDeployment Status as below : DeploymentPackage [packageDeployStatus=Undeployed, packageName=com.example.work-order-lib,packageVersion=1.0-SNAPSHOT, currentServersInSync=true, newlyAddedServers=[], jarToServerDeployStatusMap={WIN-COMPNAME-32.DOMAIN.com=Undeployed}] 14:09:38.547 [main] INFO c.b.a.r.d.bundle.UndeployApplication - Total time taken in msec completing the Deploy Tool run: 60211 msec ************************** Final Status:Undeployed ************************** Deploy Tool Run End time: Wed Sep 28 14:09:38 PDT 2016 </code></p></li> </ol> <h2 id="verify-undeployment-320">Verify undeployment</h2> <ol> <li><p>Bring up Innovation Studio on the development machine.</p></li> <li><p>Verify that the bundle no longer appears.</p></li> <li><p>If the bundle still appears, refresh the browser. The process may still be working in the background.</p></li> </ol> <h2 id="summary-321">Summary</h2> <p>At this point you are ready to dive in and start creating libraries and applications.</p> <h1 id="conclusion-orientation-322">Conclusion - Orientation</h1> <p>At this point you have a clean Innovation Studio environment and a project workspace, and are ready to dive in and start creating libraries and applications.</p>