You are viewing a plain text version of this content. The canonical link for it is here.
Posted to pr@jena.apache.org by GitBox <gi...@apache.org> on 2021/12/04 09:48:13 UTC

[GitHub] [jena] kinow edited a comment on pull request #1115: [JENA-1911] vue

kinow edited a comment on pull request #1115:
URL: https://github.com/apache/jena/pull/1115#issuecomment-985999823


   @afs 
   
   >Confirm the size and build is right.
   
   It looks correct to me. The fontawesome dependencies are bringing a few more transitive dependencies. We could possibly limit the icons used, and import them directly as SVG's, which would possibly reduce the package size. But YASQE/YASGUI/YASR were updated and now require a lot more dependencies than the version used by Fuseki in the past. Finally, Bootstrap Vue also includes a few more dependencies. We could see about depending directly on Bootstrap, instead of Bootstrap Vue, but before that we would have to write some components ourselves.
   
   So there's room for improvement regarding the artefact size, if that becomes a problem. But I don't think you have any issues in your environment, I think your analysis is correct :+1: 
   
   >vue / react: I'm not qualified to comment. In large enterprise settings, I almost always see react. In less traditional settings, vue comes up.
   >
   >And we have a vue implementation here already
   
   Yeah, React is the most famous JS reactive framework, mostly because it was created first. It has more libraries and documentation, but as I was working with Vue, and since Fuseki is a very simple application with few dependencies, I wrote it in Vue to save time.
   
   After we have it merged, my plans are:
   
   - [ ] write unit and end-to-end tests to cover most basic functionality (formatting a query, submitting a query, clicking on the menu to navigate the site, etc)
   - [ ] move the common code (i.e. not specific to vue) to JS or TypeScript code. So that we can always use this code, no matter the framework (I migrated a lot of old JS code that was in the middle of Backbone.js code; now this code is in the middle of some Vue code/components; IMHO moving it into a separate place will make maintenance and future upgrades like this a lot smoother)
   - [ ] see which direction we will take, adding more features? breaking it into other webapps like manage/sparqler/etc? improve performance? etc, and then create new JIRA issues for that.
   
   After this, if we need to change to React, Vue 3, or any other framework, it should be a lot easier having the e2e tests, and also the core code separately.
   
   >Is this for 4.3.0 for Fuseki/webapp?
   >Or put it in just after 4.3.0 and ask people to try it out?
   >(making a workbench only, query+upload data, is a separate matter for now.)
   
   Up to you @afs. I think the sooner we give it to users to try it, the better. But I don't fully understand the build and deployment of Fuseki, so cannot say I'm 100% confident I have done a good job packaging it.
   
   > LICENCE and NOTICE for code
   
   Uh! I forgot about the `LICENSE` file for `jena-fuseki-ui`! Just included one with the Apache License at the top, followed by a separator `- - - - - - - - - - - - - - - - - - - - - - -`, and the output of `yarn licenses list --prod`. And added a `NOTICE` file with the output of `yarn licenses generate-disclaimer --prod`. I included in comments the commands used to generate the files so we remember to update them when changing the dependencies of the projects.
   
   > LICENCE and NOTICE for war binary and zip file
   
   I just had a look at `apache-jena-fuseki` module's assembly configuration. It already includes a `LICENSE` file and a `NOTICE` file. The `LICENSE` file doesn't mention "bootstrap" (a dependency we used in the existing Fuseki code), so I did not touch that file. The `NOTICE` file of `apache-jena-fuseki`, though, mentions bootstrap.
   
   I replaced the section with dependencies that appear to refer to the JS/CSS libraries in the existing Fuseki UI, replacing the the licenses from the `jena-fuseki-ui` module.
   
   >???
   
   Only thing I can remember now that I wanted to mention before, is that this pull request does not delete the old Fuseki files. They are included in the source and distributed code. However, the new Fuseki UI files are copied to the distributed ZIP, and the `index.html` is overwritten, using the new JS/CSS files.
   
   Rebased onto `main`.
   
   Thanks @afs !
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: pr-unsubscribe@jena.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: pr-unsubscribe@jena.apache.org
For additional commands, e-mail: pr-help@jena.apache.org