If it's just JS + CSS changes you an update the files in a running openmeetings server using those scripts: https://openmeetings.apache.org/BuildInstructions.html#update-javascript-and-css-at-runtime
This will take ~10seconds + refresh the browser. Compared to 2-3 minutes to do a rebuild and then restart the server. However it won't work if you happen to need to update any of the HTML files. Thanks Seb Sebastian Wagner Director Arrakeen Solutions, OM-Hosting.com http://arrakeen-solutions.co.nz/ https://om-hosting.com - Cloud & Server Hosting for HTML5 Video-Conferencing OpenMeetings <https://www.youracclaim.com/badges/da4e8828-743d-4968-af6f-49033f10d60a/public_url> <https://www.youracclaim.com/badges/b7e709c6-aa87-4b02-9faf-099038475e36/public_url> On Mon, 18 Oct 2021 at 04:44, Maxim Solodovnik <solomax...@gmail.com> wrote: > On Sun, 17 Oct 2021 at 05:04, seba.wag...@gmail.com <seba.wag...@gmail.com > > > wrote: > > > > > > > At my 5-7 years old laptop > > > "unpacked" build tooks 7-9 minutes > > > "quick" build tooks 01:01 minute > > > > You are missing that it's not only the build time. You also need to > restart > > the server. Which is another 1-2mins. And you need to re-login + navigate > > to the place where you were before. Which depending on the scenario can > be > > even more complicated. > > > > I'm using "Remember login" option (different browsers - different users) > And links for the "area of test" like you can go directly to room > via `#room/5` hash > > The startup time can also be reduced by using > `-Djava.security.egd=file:/dev/./urandom` > > Will try to commit some code and re-check my memories on this :) > > > > > Well, I always thought it is impossible to create a PWA out of a server > > > side based web application > > > Can you share PoC? > > > > Will do PR shortly. I wouldn't call it a PWA. It's basically a fancy > > bookmark to the home screen. With the ability to have an icon + name + > > splash screen + pre-configured browser settings (hide nav bar). Not using > > any of the other PWA features like offline mode or anything. You can do > > that with any website. How much it uses "pwa" features just depends on > what > > the website provides in the manifest file. > > > > Thanks, > > Seb > > > > Sebastian Wagner > > Director Arrakeen Solutions, OM-Hosting.com > > http://arrakeen-solutions.co.nz/ > > https://om-hosting.com - Cloud & Server Hosting for HTML5 > > Video-Conferencing OpenMeetings > > < > > > https://www.youracclaim.com/badges/da4e8828-743d-4968-af6f-49033f10d60a/public_url > > > > > < > > > https://www.youracclaim.com/badges/b7e709c6-aa87-4b02-9faf-099038475e36/public_url > > > > > > > > > On Sat, 16 Oct 2021 at 05:23, Maxim Solodovnik <solomax...@gmail.com> > > wrote: > > > > > On Wed, 13 Oct 2021 at 04:49, seba.wag...@gmail.com < > > seba.wag...@gmail.com > > > > > > > wrote: > > > > > > > OFFTOPIC: I don't really like webpack-and-friends, it's output is > often > > > > unpredictable and hard to debug. > > > > Additionally I have difficulties to set it up to do what I need > > > > This is why I'm trying to find something that "just works" and > produces > > > no > > > > damage :) > > > > > > > > Your offtopic sounds more like a rant :) > > > > > > > > > > I would say "grumbling" :)) > > > > > > > > > > webpack-and-friends, it's output is often unpredictable and hard to > > > debug. > > > > > > > > > Additionally I have difficulties to set it up to do what I need > > > > > > > > => Actually I mostly used webpack just during development. Not when > > > > productionising. During development you can use webpack to start a > task > > > > which enables you to reload the JS+HTML while in a page. E.g. in > > > > OpenMeetings changing the HTML takes around 3minutes, cause you need > to > > > > restart the entire server + navigate back to where you were in a > > browser. > > > > See: https://webpack.js.org/configuration/dev-server/ > > > > > > > > This greatly improves the development cycle, it cuts it down to > seconds > > > > what previously took minutes. > > > > > > > > > > At my 5-7 years old laptop > > > "unpacked" build tooks 7-9 minutes > > > "quick" build tooks 01:01 minute > > > > > > not too much :))) > > > the number can be lower, for whatever reason site is generated even if > ` > > > maven.site.skip` is passed :( > > > > > > > > > > => Unfortunately it won't be possible to integrate this into > > OpenMeetings > > > > for now. Because it won't work with Apache Wicket. > > > > > > > > It seems like you are putting all of those different tools and > > > technologies > > > > into 1 umbrella/basket. While it's more like each of those has Pro > and > > > > Cons. Some might be good for OpenMeetings, others maybe not. > > > > > > > > > > Well, I always thought it is impossible to create a PWA out of a server > > > side based web application > > > Can you share PoC? > > > > > > > > > > It has nothing to do with breaking things. None of those things > should > > > > break the application. Neither frontend nor backend technologies > should > > > > break the application or make it unstable. It has nothing to do with > > > that. > > > > > > > > Thanks > > > > Sebastian > > > > > > > > Sebastian Wagner > > > > Director Arrakeen Solutions, OM-Hosting.com > > > > http://arrakeen-solutions.co.nz/ > > > > https://om-hosting.com - Cloud & Server Hosting for HTML5 > > > > Video-Conferencing OpenMeetings > > > > < > > > > > > > > > > https://www.youracclaim.com/badges/da4e8828-743d-4968-af6f-49033f10d60a/public_url > > > > > > > > > < > > > > > > > > > > https://www.youracclaim.com/badges/b7e709c6-aa87-4b02-9faf-099038475e36/public_url > > > > > > > > > > > > > > > > > On Wed, 13 Oct 2021 at 03:41, Maxim Solodovnik <solomax...@gmail.com > > > > > > wrote: > > > > > > > > > On Tue, 12 Oct 2021 at 03:41, seba.wag...@gmail.com < > > > > seba.wag...@gmail.com > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > The project is responsible for the 3rd party > components/libraries > > > it > > > > > uses > > > > > > > I try to check the license of JS components (but not their > trees) > > > > > > > > > > > > Re license checking, we could explore using: > > > > > > https://www.npmjs.com/package/license-checker > > > > > > => to automate license checks. That might be quite useful, > > especially > > > > > once > > > > > > more dependencies are added. > > > > > > > > > > > > > > > > +1 to add license check > > > > > This can be separate maven profile (maybe event separate Jenkins > job > > to > > > > > save developer's time) > > > > > > > > > > > > > > > > > > > > > > Also other build/checks improvements: > > > > > > Linting JS code - Also what would be good would be to add a > linter: > > > > > > https://www.npmjs.com/package/lint > > > > > > => To automate checks for JS formatting. E.g. forgetting to > replace > > > > > > whitespaces with tabs :) A linter can help a lot. And it is very > > easy > > > > to > > > > > > set up. > > > > > > > > > > > > > > > > I've set up my IDE (and using "show whitespaces" mode) > > > > > but let's use "the robot" :) (I, personally, don't really like all > > > those > > > > > checkstyles, they do the job but not flexible enough :( ) > > > > > > > > > > > > > > > > Bundling/minify CSS and add linter using NPM: various NPM plugins > > > > > available > > > > > > to do it, eg https://www.npmjs.com/package/css-loader > > > > > > => NPM can also be used to bundle the CSS files > > > > > > > > > > > > > > > > we had an option to minify CSS files > > > > > But to be fair it is very much useless > > > > > And the one we were using also did break CSS units > > > > > > > > > > > > > > > > => This has also the advantage that you can use the linter to > make > > > sure > > > > > CSS > > > > > > formatting is good > > > > > > => This also has the advantage that you can use further clever > ways > > > to > > > > > > optimise the CSS (https://sass-lang.com/) > > > > > > > > > > > > > > > > OFFTOPIC: I don't really like webpack-and-friends, it's output is > > often > > > > > unpredictable and hard to debug. > > > > > Additionally I have difficulties to set it up to do what I need > > > > > This is why I'm trying to find something that "just works" and > > produces > > > > no > > > > > damage :) > > > > > > > > > > > > > > > > this might be dangerous since we have no frontend tests :( > > > > > > > > > > > > => We should be able to add JavaScript unit tests using Jest: > > > > > > https://jestjs.io/ > > > > > > => And integrate + automate it into our NPM build process > > > > > > https://www.npmjs.com/package/jest > > > > > > > > > > > > > > > > > I saw some tests in other projects, but have no experience in the > > topic > > > > :( > > > > > > > > > > > > > > > > If I'm not mistaken there was discussion > > > > > > > Will try to search archives (no ETA unfortunately :(( ) > > > > > > > > > > > > => Let's maybe fix a few of the above and then we can contact > > @infra. > > > > At > > > > > > the moment I think there is a few things we can do without ASF > > > support > > > > > > > > > > > > Thanks > > > > > > Seb > > > > > > > > > > > > Sebastian Wagner > > > > > > Director Arrakeen Solutions, OM-Hosting.com > > > > > > http://arrakeen-solutions.co.nz/ > > > > > > https://om-hosting.com - Cloud & Server Hosting for HTML5 > > > > > > Video-Conferencing OpenMeetings > > > > > > < > > > > > > > > > > > > > > > > > > > > > https://www.youracclaim.com/badges/da4e8828-743d-4968-af6f-49033f10d60a/public_url > > > > > > > > > > > > > < > > > > > > > > > > > > > > > > > > > > > https://www.youracclaim.com/badges/b7e709c6-aa87-4b02-9faf-099038475e36/public_url > > > > > > > > > > > > > > > > > > > > > > > > > On Fri, 8 Oct 2021 at 05:30, Maxim Solodovnik < > > solomax...@gmail.com> > > > > > > wrote: > > > > > > > > > > > > > (moving to dev@) > > > > > > > > > > > > > > On Thu, 7 Oct 2021 at 03:59, seba.wag...@gmail.com < > > > > > > seba.wag...@gmail.com> > > > > > > > wrote: > > > > > > > > > > > > > > > +1 > > > > > > > > > > > > > > > > In the long run I am interested in how NPM fits with the > Apache > > > > > > > Foundation. > > > > > > > > But maybe that is something to raise with @legal and @infra: > > > > > > > > - Current vetting of licenses is based heavily on maven > (e.g. > > > > > > > maven-rat), > > > > > > > > how will that translate into NPM? > > > > > > > > > > > > > > > > > > > > > > The project is responsible for the 3rd party > components/libraries > > > it > > > > > uses > > > > > > > I try to check the license of JS components (but not their > trees) > > > > > > > > > > > > > > - NPM ecosystem is considered a lot more volatile than Maven. > A > > > lot > > > > > more > > > > > > > > changes in a shorter period of time. Would probably mean even > > > > tighter > > > > > > > > governance on making sure licensing is considered > > > > > > > > > > > > > > > > > > > > > > We are (semi)manually updating versions > > > > > > > this might be dangerous since we have no frontend tests :( > > > > > > > > > > > > > > - Same for managing dependencies: ASF has a Maven repo, but no > > NPM > > > > > > > > repo/mirror. Are there any plans at ASF to establish a NPM > > > mirror, > > > > or > > > > > > are > > > > > > > > we proposing npmjs is what projects should use and publish > to? > > > > > > > > > > > > > > > > > > > > > > If I'm not mistaken there was discussion > > > > > > > Will try to search archives (no ETA unfortunately :(( ) > > > > > > > > > > > > > > > > > > > > > > > There is actually an Incubating project that is purely > > publishing > > > > > > > themself > > > > > > > > as NPM module: > > > > > > > > https://annotator.apache.org/docs/ > > > > > > > > as well as > > > > > > > > https://cordova.apache.org/ publishes NPM packages > > > > > > > > as well as > > > > > > > > https://apache.github.io/royale-docs/get-started/royale-cli > > > > > > > > > > > > > > > > So we are not the very first project using it. But I expect > > more > > > > > > projects > > > > > > > > in the future. > > > > > > > > > > > > > > > > Thanks > > > > > > > > Seb > > > > > > > > > > > > > > > > Sebastian Wagner > > > > > > > > Director Arrakeen Solutions, OM-Hosting.com > > > > > > > > http://arrakeen-solutions.co.nz/ > > > > > > > > https://om-hosting.com - Cloud & Server Hosting for HTML5 > > > > > > > > Video-Conferencing OpenMeetings > > > > > > > > < > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > https://www.youracclaim.com/badges/da4e8828-743d-4968-af6f-49033f10d60a/public_url > > > > > > > > > > > > > > > > > < > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > https://www.youracclaim.com/badges/b7e709c6-aa87-4b02-9faf-099038475e36/public_url > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > Best regards, > > > > > > > Maxim > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > Best regards, > > > > > Maxim > > > > > > > > > > > > > > > > > > -- > > > Best regards, > > > Maxim > > > > > > > > -- > Best regards, > Maxim >