Hi All, I was able to resolve the issue with deploying a plugin with Tomcat.
The solution can be found in my blog post. http://ayolajayamaha.blogspot.com/2014/08/deploying-hawtio-plugin-in-apache-tomcat.html Thanks. On 31 July 2014 22:30, Ayola Jayamaha <[email protected]> wrote: > Hi All, > > Attached herewith is the User Manual. However there is a small issue with > deploying the plugin(.war file). I'm trying with tomcat, fabric8 and also > communicating with the hawtio community. By next week this problem will > surly be resolved. And I will write on blog the necessary. > > > On 27 July 2014 07:03, Ayola Jayamaha <[email protected]> wrote: > >> Hi Kanak, >> >> Ok I will send the user manual to you. >> >> Sent from my iPhone >> >> On 2014 ජූලි 26, at පෙ.ව. 11.57, Kanak Biscuitwala <[email protected]> >> wrote: >> >> > Hi Ayola, >> > >> > Could you write a "Getting Started" guide with step-by-step >> instructions on how to build and deploy the dashboard? If you already have >> that, could you send a link? >> > >> > Thanks, >> > Kanak >> > >> >> Date: Thu, 24 Jul 2014 22:49:32 +0530 >> >> Subject: Re: [GSOC] Current Status >> >> From: [email protected] >> >> To: [email protected]; [email protected] >> >> >> >> Hi All, >> >> >> >> I was able to resolve the Cross Domain Issue in Helix where it arises >> since >> >> the Rest API domain differs from the dashboard domain (ports). >> Currently it >> >> is resolved as to allow all requests from the API. I have committed to >> my >> >> git repo [1] in which Cluster API is resolved. I will clean the code >> and >> >> remove any duplicates and resolve the other APIs as well. >> >> More information will be found in my blog [2]. Also I'm following >> >> AngularJS, Angular Directives and Angular Services. These will be >> helpful >> >> to me to write good maintainable code for hawtio dashboard. >> >> >> >> [1]https://github.com/AyolaJayamaha/helix >> >> [2] >> http://ayolajayamaha.blogspot.com/2014/07/enable-cors-in-restlet-21.html >> >> >> >> >> >> >> >> On 23 July 2014 03:25, Kanak Biscuitwala <[email protected]> wrote: >> >> >> >>> In terms of the CORS pattern, I think it's just pattern matching the >> >>> origin headers (i.e. Origin with Access-Control-Allow-Origin), so if >> you >> >>> can make it configurable, that would be good. >> >>> >> >>> If it simplifies your implementation and resolves the XSS issues, you >> can >> >>> co-deploy helix-admin-webapp with your dashboard (along with any >> components >> >>> other than helix controller or helix participant). Other than that, I >> don't >> >>> have any specific suggestions as I'm not an expert in this. >> >>> >> >>> Kanak >> >>> >> >>> Date: Tue, 22 Jul 2014 08:26:31 +0530 >> >>> Subject: Re: [GSOC] Current Status >> >>> From: [email protected] >> >>> To: [email protected]; [email protected] >> >>> >> >>> Hi All, >> >>> >> >>> Currently I'm going through Charting with regard to UI components. >> Also >> >>> I'm looking where to put the headers to enable CORS. I'm writing a >> simple >> >>> Restlet and removing cross domain issue in that. Any suggestions? I'm >> going >> >>> through AngularJS and writing some blog posts with regard to charting >> and >> >>> Restlet. >> >>> >> >>> >> >>> http://ayolajayamaha.blogspot.com/2014/07/restlet.html >> >>> http://ayolajayamaha.blogspot.com/2014/07/angularjs-charts.html >> >>> >> >>> http://ayolajayamaha.blogspot.com/2014/07/angularjs-pie-charts.html >> >>> http://ayolajayamaha.blogspot.com/2014/07/angularjs-line-charts.html >> >>> >> >>> >> >>> >> >>> On 27 June 2014 18:00, Ayola Jayamaha <[email protected]> >> wrote: >> >>> >> >>> Hi, >> >>> I have added theme (css) for plugin screen shoot[2] with data[3] is >> >>> attaching. >> >>> >> >>> Clean pom file[4] with setting up properties and dependencies. later >> we >> >>> can move those parent pom, set the parent pom.This will build as >> successful >> >>> and sample-1.5-SNAPSHOT.war file can be host any web server. (I am >> using >> >>> tomcat) >> >>> >> >>> >> >>> >> >>> Helix dashboard looks with themes >> >>> >> >>> >> >>> >> >>> >> >>> Helix dashboard with Helix rest details >> >>> >> >>> Here I am sharing 'gist' that I used for hawtio dashboard install[1] >> >>> (dashboard json).Now we have initial hawtio plugin for Helix[4]. >> >>> >> >>> >> >>> If any thing is not clear please let me know >> >>> Thanks >> >>> [1] https://gist.github.com/AyolaJayamaha/f54d3178516e8c4875b7 >> >>> >> >>> [2] >> >>> >> https://docs.google.com/file/d/0ByWGexlJqMwbTVNBSC1nM09ON1U/edit?pli=1[3] >> >>> >> https://drive.google.com/file/d/0ByWGexlJqMwbWGZDRENXaV9obm8/edit?usp=sharing >> >>> >> >>> [4] >> https://github.com/AyolaJayamaha/helix/tree/master/helix-dashboard >> >>> >> >>> >> >>> >> >>> On 26 June 2014 17:02, Ayola Jayamaha <[email protected]> >> wrote: >> >>> >> >>> >> >>> >> >>> >> >>> >> >>> On 26 June 2014 10:07, Ayola Jayamaha <[email protected]> >> wrote: >> >>> >> >>> >> >>> >> >>> Hi, >> >>> >> >>> 1. I have updated the Mock UI document as the feedback given by my >> mentor. >> >>> >> >>> >> >>> >> >>> >> >>> >> https://docs.google.com/document/d/177-drFSIBOh_aln25v-gpka9TNW8TFmJifLRdVptxz8/edit?usp=sharing >> >>> >> >>> >> >>> >> >>> >> >>> >> >>>> Is the portal on the document address the needs mentioned? >> >>> >> >>> >> >>> >> >>> >> >>> 2. The steps I followed next are the transitions from Mock UI ---> >> Static >> >>> HTML ----->Angular Module >> >>> >> >>> >> >>> >> >>> >> >>> >> >>>> >> http://ayolajayamaha.blogspot.com/2014/06/simple-ui-with-angularjs.html >> >>> The sample UI is not the final version. It would be \ improved >> graphical >> >>> wise in the final versions. The given UI is the structure of the >> interface >> >>> showing all the details that will be given to users. >> >>> >> >>> >> >>> >> >>> >> >>> >> >>> >> >>> >> >>> >> >>> >> >>> ui33.png >> >>> >> >>> >> >>> >> >>> >> >>> >> >>> >> >>> >> >>> >> >>> ui11.png >> >>> >> >>> >> >>> >> >>> >> >>> >> >>> >> >>> >> >>> >> >>> ui22.png >> >>> >> >>> >> >>> >> >>> >> >>> >> >>> >> >>> >> >>> >> >>> ui49.png >> >>> >> >>> >> >>> >> >>> >> >>> >> >>> >> >>> >> >>> >> >>> ui9.png >> >>> >> >>> >> >>> >> >>> >> >>> ---> hawtio plugin >> >>> >> >>> >> >>> >> >>> >> >>> >> >>> plugin.png >> >>> >> >>> >> >>> >> >>> >> >>> >> >>> >> >>> >> >>> >> >>> js.png >> >>> >> >>> >> >>> >> >>> >> >>> As you can see in the screenshots you can find the plugin in github. >> >>> https://github.com/AyolaJayamaha/helix/tree/master/helix-dashboard >> >>> >> >>> >> >>> >> >>> >> >>> >> >>> You can get clone and build the dashboard. But some configurations in >> >>> hawtio dashboard has to be done manually. I plan to automate it in the >> >>> future. >> >>> >> >>> Note: >> >>> I used a mock rest service since the Cross Domain Issue. To enable >> CORS >> >>> we need to add the following headers to the response. >> >>> >> >>> >> >>> >> >>> >> >>> >> >>> responseHeaders.add("Access-Control-Allow-Origin", "*"); >> >>> responseHeaders.add("Access-Control-Allow-Methods", "POST,OPTIONS"); >> >>> responseHeaders.add("Access-Control-Allow-Headers", "Content-Type"); >> >>> >> >>> >> >>> >> >>> >> >>> responseHeaders.add("Access-Control-Allow-Credentials", "false"); >> >>> responseHeaders.add("Access-Control-Max-Age", "60"); >> >>> In building war file, the plugin will be added to .war file. But >> current >> >>> plugin needs to be installed to hawtio manually. >> >>> >> >>> >> >>> >> >>> >> >>> >> >>> >> >>> On 20 June 2014 21:31, Ayola Jayamaha <[email protected]> >> wrote: >> >>> >> >>> >> >>> >> >>> >> >>> Hi, >> >>> Thanks for the comments. I will make necessary changes and update the >> >>> document. >> >>> >> >>> >> >>> >> >>> >> >>> >> >>> >> >>> >> >>> On 20 June 2014 02:41, Kanak Biscuitwala <[email protected]> wrote: >> >>> >> >>> >> >>> >> >>> >> >>> >> >>> Hi Ayola, >> >>> >> >>> >> >>> >> >>> Looks good so far. I have some comments about your mockups: >> >>> >> >>> >> >>> >> >>> 1. Enabling/disabling a cluster and enabling/disabling the controller >> are >> >>> actually the same thing. What is missing is "activateCluster." >> >>> activateCluster is useful when you have a cluster of controllers, and >> you >> >>> want those controllers to manage other clusters. The controller >> cluster is >> >>> called the "grand cluster." >> >>> >> >>> >> >>> >> >>> >> >>> >> >>> >> >>> >> >>> >> >>> 2. Resources are added to cluster upon creation and cannot be moved or >> >>> added to other clusters afterwards. Thus, the "add to cluster" on >> existing >> >>> resources doesn't make sense. The resources screen should allow >> >>> enable/disable, read external view, read/write configs and read/write >> ideal >> >>> state. There should also be an "add resource" button on the clusters >> page. >> >>> >> >>> >> >>> >> >>> >> >>> >> >>> >> >>> >> >>> >> >>> 3. Same comment for instances. There should be an "add instance" >> button on >> >>> the cluster pages, and on the instance page it should allow read >> current >> >>> state, read messages, read/write configs. >> >>> >> >>> >> >>> >> >>> 4. There's a separate page for all configs, but it may make sense to >> >>> integrate them into the configs at each scope (i.e. cluster, resource, >> >>> participant). >> >>> >> >>> >> >>> >> >>> 5. There should be a button on the clusters page for adding a state >> model >> >>> definition. >> >>> >> >>> >> >>> >> >>> I think the overall comment is that the clusters page needs to be a >> portal >> >>> for the rest of the dashboard, so there should be a link to all the >> cluster >> >>> pages, and within a cluster page, there should be ways to access all >> the >> >>> resources, instances, configs, and constraints for that cluster. >> >>> >> >>> >> >>> >> >>> >> >>> >> >>> >> >>> >> >>> >> >>> Kanak >> >>> >> >>> >> >>> >> >>> ---------------------------------------- >> >>> >> >>>> Date: Thu, 19 Jun 2014 22:23:01 +0530 >> >>> >> >>>> Subject: Re: [GSOC] Current Status >> >>> >> >>>> From: [email protected] >> >>> >> >>>> To: [email protected]; [email protected] >> >>> >> >>> >> >>>> Hi, >> >>> >> >>>> Below is the Mock UIs for Apache Helix. The UIs will be created with >> >>> hawtio >> >>> >> >>>> dashboard. A .war file can be used to deploy on any server as a >> separate >> >>> >> >>>> module. The UIs get data from the REST API. This is just initial one. >> >>> They >> >>> >> >>>> will be developed as Angular plugin. Towards the end I will provide >> some >> >>> >> >>>> chart as well for cluster management. >> >>> >> >>>> Presently I'm doing the hawtio and helix integration and towards next >> >>> week >> >>> >> >>>> I'm writing some angularjs plugins. >> >>> >> >>> >> >>> >> https://docs.google.com/document/d/177-drFSIBOh_aln25v-gpka9TNW8TFmJifLRdVptxz8/edit?usp=sharing >> >>> >> >>> >> >>> >> >>> >> >>> >> >>> >> >>>> Thank you. >> >>> >> >>> >> >>> >> >>>> On 19 June 2014 13:14, Ayola Jayamaha <[email protected]> >> wrote: >> >>> >> >>> >> >>> >> >>> >> >>> >> >>>>> On 19 June 2014 01:38, Kanak Biscuitwala <[email protected]> >> wrote: >> >>> >> >>> >> >>>>>> Local deployment is fine. >> >>> >> >>> >> >>> >> >>> >> >>>>>> Here is the git repo that I will be using, later I will share Git >> >>> >> >>>>>> location (Angular plugin) that can be used in dashboard of hawtio. >> I >> >>> will >> >>> >> >>>>>> blog on those as well. >> >>> >> >>> >> >>> >> >>> >> >>> >> >>>>>> The main thing we would like you to deliver is the package so that >> it >> >>> is >> >>> >> >>>>>> available for anyone to deploy within their own cluster. >> >>> >> >>> >> >>> >> >>>>> Sure, >> >>> >> >>>>> helix-dashboard[2] module will build 'sample-1.5-SNAPSHOT.war' with >> >>> helix >> >>> >> >>>>> dashboard. This war can be host any server (tomcat etc.. ) by anyone >> >>> with >> >>> >> >>>>> helix rest web app (own cluster). >> >>> >> >>>>> I just found[1] function 'start()' line 43. I too can follow that >> model >> >>> >> >>>>> even. >> >>> >> >>> >> >>>>> Therefore finally you will have web app as 'helix-admin-webapp' >> that can >> >>> >> >>>>> be deployed within their own cluster. >> >>> >> >>> >> >>>>> [1] >> >>> >> >>> >> https://github.com/AyolaJayamaha/helix/blob/master/helix-admin-webapp/src/main/java/org/apache/helix/webapp/HelixAdminWebApp.java >> >>> >> >>> >> >>> >> >>> >> >>> >> >>> >> >>>>> [2] >> https://github.com/AyolaJayamaha/helix/tree/master/helix-dashboard >> >>> >> >>> >> >>> >> >>> >> >>>>>> Kanak >> >>> >> >>> >> >>>>>> ---------------------------------------- >> >>> >> >>>>>>> Date: Wed, 18 Jun 2014 22:30:43 +0530 >> >>> >> >>>>>>> Subject: Re: [GSOC] Current Status >> >>> >> >>>>>>> From: [email protected] >> >>> >> >>>>>>> To: [email protected] >> >>> >> >>>>>>> CC: [email protected] >> >>> >> >>> >> >>>>>>> Hi, >> >>> >> >>>>>>> Currently I'm creating mock UIs, helix and hawt.io integration as >> >>> >> >>>>>> module >> >>> >> >>>>>>> and plugins with angularjs in hawtio dashboard. >> >>> >> >>>>>>> Upto now I'm almost created the mock UIs. And in helix and hawtio >> >>> >> >>>>>>> integration where should I create the headers to cater for the >> cross >> >>> >> >>>>>> domain >> >>> >> >>>>>>> issue and if I'm deploying the .war file where can I deploy it? >> >>> >> >>>>>>> For the time being the code is in my local machine. I will commit >> to >> >>> >> >>>>>> repo >> >>> >> >>>>>>> tomorrow and share with you. But it is still in initial phase. >> >>> >> >>> >> >>> >> >>>>>>> On 18 June 2014 09:53, Kanak Biscuitwala <[email protected]> >> wrote: >> >>> >> >>> >> >>>>>>>> Sounds reasonable. Is your current code available in a public >> >>> >> >>>>>> repository? >> >>> >> >>>>>>>> I would be interested in taking a look if it is. >> >>> >> >>> >> >>>>>>>> Kanak >> >>> >> >>> >> >>>>>>>> ________________________________ >> >>> >> >>>>>>>>> Date: Wed, 18 Jun 2014 09:31:40 +0530 >> >>> >> >>>>>>>>> Subject: Re: [GSOC] Current Status >> >>> >> >>>>>>>>> From: [email protected] >> >>> >> >>>>>>>>> To: [email protected]; [email protected] >> >>> >> >>> >> >>> >> >>>>>>>>> Hi, >> >>> >> >>> >> >>>>>>>>> In Hawt.io, from a plugin developer's perspective a plugin is >> just a >> >>> >> >>>>>>>>> set of resources; usually at least one JavaScript file. For all >> the >> >>> >> >>>>>>>>> plugins in hawt.io<http://hawt.io> done so far they have picked >> >>> >> >>>>>>>>> AngularJS as the UI framework, which has a nice two-way binding >> >>> >> >>>>>>>>> between the HTML markup and the JS data model along with >> >>> >> >>>>>>>>> modularization, web directives and dependency injection. These >> >>> >> >>>>>>>>> AngularJS modules can be added and removed at runtime inside the >> >>> same >> >>> >> >>>>>>>>> single page application without requiri >> > > > > -- > Best Regards, > Ayola Jayamaha > > http://ayolajayamaha.blogspot.com > -- Best Regards, Ayola Jayamaha http://ayolajayamaha.blogspot.com
