Rebuild ReactJS files for current master branch ?

Support questions about the Network Weather Map plugin

Moderators: Moderators, Developers

Post Reply
Author
Message
gmontassis
Posts: 7
Joined: Tue Jun 11, 2019 8:42 am

Rebuild ReactJS files for current master branch ?

#1 Post by gmontassis » Tue Jun 11, 2019 9:13 am

Hi,

Do you have any idea how to rebuild the ReactJS files for the "master" branch ?

1/ I installed the necessary dependencies :

* From Weathermap plugin's root :

Code: Select all

$ npm install
$ npm audit fix
$ composer update
* Then from "websrc/cacti-mgmt/" :

Code: Select all

$ npm install
$ npm audit fix --force
2/ "postbuild.js" edition to apply the following fixes:

Code: Select all

--- postbuild-orig.js   2019-06-11 15:49:58.102675877 +0200
+++ postbuild.js        2019-06-11 15:50:09.090316355 +0200
@@ -8,14 +8,14 @@
 const src = './build/';
 const dest = '../../cacti-resources/mgmt/';

-const targets = ["main.js", "main.css", "main.css.map", "main.js.map"];
+const targets = ["main.js", "main.css"];


 //const target = "main.js";

 for (let target of targets) {

-    let file = require('./build/asset-manifest.json')[target];
+    let file = require('./build/asset-manifest.json')["files"][target];
     console.log(`${src}${file} => ${dest}${target}`);

     if (!fs.existsSync(dest)) {
3/ But when I run "npm run build" :

Code: Select all

$ npm run build

> [email protected] build /var/www/cacti/cacti-1.2.3/plugins/weathermap/websrc/cacti-mgmt
> react-scripts build

Creating an optimized production build...
Compiled successfully.

File sizes after gzip:

  78.56 KB  build/static/js/2.5cdd15b6.chunk.js
  6.95 KB   build/static/js/main.bb1cce28.chunk.js
  1.22 KB   build/static/css/main.2f1ad4ce.chunk.css
  762 B     build/static/js/runtime~main.a8a9905a.js
  353 B     build/static/css/2.126055ff.chunk.css

The project was built assuming it is hosted at the server root.
You can control this with the homepage field in your package.json.
For example, add this to build it for GitHub Pages:

  "homepage" : "http://myname.github.io/myapp",

The build folder is ready to be deployed.
You may serve it with a static server:

  npm install -g serve
  serve -s build

Find out more about deployment here:

  https://bit.ly/CRA-deploy


> [email protected] postbuild /var/www/cacti/cacti-1.2.3/plugins/weathermap/websrc/cacti-mgmt
> node postbuild.js

./build//static/js/main.bb1cce28.chunk.js => ../../cacti-resources/mgmt/main.js
./build//static/css/main.2f1ad4ce.chunk.css => ../../cacti-resources/mgmt/main.css
Although there is no error message and the target files have been rebuilt and replaced, I only have the following reduced display in Cacti :

----------
This is the React UI below here
INCOMPLETE
Testing API
Map List - Settings - Map Files
----------

-> Does anyone know how to rebuild the "main.js" and "main.css" files with all the features currently available on "master" ? I intend to apply the same for "cacti-user/" once this one will be solved :-)

Let me know !

Gilles

User avatar
Howie
Cacti Guru User
Posts: 5327
Joined: Thu Sep 16, 2004 5:53 am
Location: United Kingdom
Contact:

Re: Rebuild ReactJS files for current master branch ?

#2 Post by Howie » Wed Jun 12, 2019 3:16 am

That all looked right to me. What does the javascript console in your browser say?

(what features do you think you are missing? I don't think the compiled javascript files are out of date...)
Weathermap 0.98 is out! & QuickTree 1.0. Superlinks is over there now (and built-in to Cacti 1.x).
Some Other Cacti tweaks, including strip-graphs, icons and snmp/netflow stuff.
(Let me know if you have UK DevOps or Network Ops opportunities, too!)

gmontassis
Posts: 7
Joined: Tue Jun 11, 2019 8:42 am

Re: Rebuild ReactJS files for current master branch ?

#3 Post by gmontassis » Wed Jun 12, 2019 3:53 am

Hi Howard,

Thanks for your reply.
Howie wrote:That all looked right to me. What does the javascript console in your browser say?
No error in console or network.
Howie wrote:(what features do you think you are missing? I don't think the compiled javascript files are out of date...)
Here is the IHM before :
before.png
Plugin IHM before rebuilding it
before.png (30.74 KiB) Viewed 541 times
And after :
after.png
Plugin IHM after rebuilding it
after.png (6.7 KiB) Viewed 541 times
As you can see, a lot of things are missing...

Gilles

User avatar
Howie
Cacti Guru User
Posts: 5327
Joined: Thu Sep 16, 2004 5:53 am
Location: United Kingdom
Contact:

Re: Rebuild ReactJS files for current master branch ?

#4 Post by Howie » Wed Jun 12, 2019 7:44 am

No, I meant why did you want to rebuild?

The parts that are missing NOW in your system are all the React parts :-)
Weathermap 0.98 is out! & QuickTree 1.0. Superlinks is over there now (and built-in to Cacti 1.x).
Some Other Cacti tweaks, including strip-graphs, icons and snmp/netflow stuff.
(Let me know if you have UK DevOps or Network Ops opportunities, too!)

gmontassis
Posts: 7
Joined: Tue Jun 11, 2019 8:42 am

Re: Rebuild ReactJS files for current master branch ?

#5 Post by gmontassis » Wed Jun 12, 2019 8:19 am

Howie wrote:No, I meant why did you want to rebuild?

The parts that are missing NOW in your system are all the React parts :-)
My goal is to see how it all works in order to adapt the plugin to the v1.x of Cacti.
I thought that the "main.js" and "main.css" files currently available on master had been generated this way ... but apparently not.

Is the use of ReactJS mandatory ? Could not the plugin be ported to the new version of Cacti otherwise ?

I will give it a try but it seems to require a lot of work redesign as well as a huge knowledge of the existing plugin code...

Thank you for your answers.

Gilles

User avatar
Howie
Cacti Guru User
Posts: 5327
Joined: Thu Sep 16, 2004 5:53 am
Location: United Kingdom
Contact:

Re: Rebuild ReactJS files for current master branch ?

#6 Post by Howie » Wed Jun 12, 2019 2:09 pm

No, that's how they were generated. It should work. It's just not necessary if all you were going to do is use it.

And yes, as part of breaking the project up between Cacti and Weathermap, we will be looking to make something more like the older plugin.

Not sure why wouldn't you expect to need knowledge of the existing plugin?? That how rewriting software usually works...
Weathermap 0.98 is out! & QuickTree 1.0. Superlinks is over there now (and built-in to Cacti 1.x).
Some Other Cacti tweaks, including strip-graphs, icons and snmp/netflow stuff.
(Let me know if you have UK DevOps or Network Ops opportunities, too!)

gmontassis
Posts: 7
Joined: Tue Jun 11, 2019 8:42 am

Re: Rebuild ReactJS files for current master branch ?

#7 Post by gmontassis » Thu Jun 13, 2019 2:10 am

Hello Howard,
Howie wrote:No, that's how they were generated. It should work. It's just not necessary if all you were going to do is use it.
OK. So, if these files were really rebuilt following the procedure described in my first message, why by restarting the reconstruction I see a different display in Cacti ?
How do you do on your side to generate the "main.js" and "main.css" files that are on the "master" branch ?

User avatar
Howie
Cacti Guru User
Posts: 5327
Joined: Thu Sep 16, 2004 5:53 am
Location: United Kingdom
Contact:

Re: Rebuild ReactJS files for current master branch ?

#8 Post by Howie » Thu Jun 13, 2019 2:14 am

gmontassis wrote:Hello Howard,
Howie wrote:No, that's how they were generated. It should work. It's just not necessary if all you were going to do is use it.
OK. So, if these files were really rebuilt following the procedure described in my first message, why by restarting the reconstruction I see a different display in Cacti ?
How do you do on your side to generate the "main.js" and "main.css" files that are on the "master" branch ?
"npm run build"

I'll give it a try later today. I haven't built them in a while.

EDIT: I just noticed "$ npm audit fix --force" in your output. So I guess that the breaking changes you ignored really were breaking changes. :-)

Just trying this myself now.
Weathermap 0.98 is out! & QuickTree 1.0. Superlinks is over there now (and built-in to Cacti 1.x).
Some Other Cacti tweaks, including strip-graphs, icons and snmp/netflow stuff.
(Let me know if you have UK DevOps or Network Ops opportunities, too!)

gmontassis
Posts: 7
Joined: Tue Jun 11, 2019 8:42 am

Re: Rebuild ReactJS files for current master branch ?

#9 Post by gmontassis » Thu Jun 13, 2019 2:26 am

Howie wrote:
gmontassis wrote:How do you do on your side to generate the "main.js" and "main.css" files that are on the "master" branch ?
"npm run build"
That's what I did (as explained in my first post).
Howie wrote:I'll give it a try later today. I haven't built them in a while.
OK, let me know !
Thanks

User avatar
Howie
Cacti Guru User
Posts: 5327
Joined: Thu Sep 16, 2004 5:53 am
Location: United Kingdom
Contact:

Re: Rebuild ReactJS files for current master branch ?

#10 Post by Howie » Thu Jun 13, 2019 2:52 am

So, it worked fine for me. I've updated the various dependencies to address some security issues. I needed to add a browsers section to each package.json, but that was so that the dev server would run, as far as I can tell.

Please don't work on the React stuff though - it's going to go away.
Weathermap 0.98 is out! & QuickTree 1.0. Superlinks is over there now (and built-in to Cacti 1.x).
Some Other Cacti tweaks, including strip-graphs, icons and snmp/netflow stuff.
(Let me know if you have UK DevOps or Network Ops opportunities, too!)

gmontassis
Posts: 7
Joined: Tue Jun 11, 2019 8:42 am

Re: Rebuild ReactJS files for current master branch ?

#11 Post by gmontassis » Thu Jun 13, 2019 3:32 am

Howie wrote:So, it worked fine for me. I've updated the various dependencies to address some security issues. I needed to add a browsers section to each package.json, but that was so that the dev server would run, as far as I can tell.
Thanks. I guess it should be more system specific...
Howie wrote:Please don't work on the React stuff though - it's going to go away.
Good news. I thought everything would be rewritten this way !

gmontassis
Posts: 7
Joined: Tue Jun 11, 2019 8:42 am

Re: Rebuild ReactJS files for current master branch ?

#12 Post by gmontassis » Thu Jun 13, 2019 7:38 am

Howard,
Howie wrote:Please don't work on the React stuff though - it's going to go away.
However, I read in "lib/Weathermap/Integrations/Cacti/README.md" than you were intending to do a big rewrite with ReactJS :
lib/Weathermap/Integrations/Cacti/README.md wrote:I am intending to do all the page-rendering for Weathermap on the client-side, using two React-based applications
Why did you give up the idea ?

User avatar
Howie
Cacti Guru User
Posts: 5327
Joined: Thu Sep 16, 2004 5:53 am
Location: United Kingdom
Contact:

Re: Rebuild ReactJS files for current master branch ?

#13 Post by Howie » Thu Jun 13, 2019 10:49 am

Because it's already hard to get collaboration on the project, and that just makes it harder :-)
Weathermap 0.98 is out! & QuickTree 1.0. Superlinks is over there now (and built-in to Cacti 1.x).
Some Other Cacti tweaks, including strip-graphs, icons and snmp/netflow stuff.
(Let me know if you have UK DevOps or Network Ops opportunities, too!)

Post Reply