Comments (11)
Just about to ask this
from novapackages.
up
from novapackages.
Good suggestion @timbertens. I'll explore this tomorrow π
from novapackages.
Did a little exploring today and yeah! We can support both Nova version support information on the sidebar of packages and adding a filter to the home page to easily find v4 supported packages.
I think we can use the "Getting package data" endpoint that Packagist provides to determine if a package supports v4 by checking the releasesβ require
field for laravel/nova
with a "4
" entry (ie: "^4.0"
).
One gotcha is that not all packages explicitly have a laravel/nova
entry in require
.
I'll start work on this late next week unless someone else wants to take a swing at it π
from novapackages.
Did a little exploring today and yeah! We can support both Nova version support information on the sidebar of packages and adding a filter to the home page to easily find v4 supported packages.
I think we can use the "Getting package data" endpoint that Packagist provides to determine if a package supports v4 by checking the releasesβ
require
field forlaravel/nova
with a "4
" entry (ie:"^4.0"
).One gotcha is that not all packages explicitly have a
laravel/nova
entry inrequire
.I'll start work on this late next week unless someone else wants to take a swing at it π
I'm just having a crack at it now worth continuing?
from novapackages.
Thanks @RhysLees! Totally ok with you diving into this π
Some questions, thoughts, and comments:
I think something we should consider is that different versions of the package can supported different versions of Nova. For example, maatwebsite/laravel-nova-excel
1.3.0
supports v4 but 1.2.10
have laravel/nova
listed as *
. Should we tell users that v4 is supported in 1.3.0
and up in some way or just tell them it has v4 compatibility available and let composer handle it for them when they install? I think the latter is better?
I like your screenshot of the individual package page ππΎ
For the home page, I'm not sure displaying the nova version on each card is a good use of space. I was thinking we could do something like this where clicking the link filters the packages by tag=v4
or something similar:
Let me know what you think and thanks again π
from novapackages.
@marcusmoore I agree, I think it would be best to let the composer handle the version rather than specifying the version that supports it
In regards to the home page, I'm planning on adding the filters for nova 4 but I do believe maybe we should have the tag if it has the latest version support. Maybe we add into config or env what the current major version is i.e 3,4,5 then show an icon or banner on the card if a version of the package supports the latest version on nova? maybe that could be a good compromise?
Another thing I ran into with the seeded data at least, is some of the packages only require nova in require-dev
and I'm not sure of the best way to handle this. Also if it is in neither require
or require-dev
.
If not in require
but is in require-dev
- Merge
require
andrequire-dev
or - Return null
If not in require
or require-dev
- Assume nova 4 support
or - Return null
In regards to
maatwebsite/laravel-nova-excel 1.3.0 supports v4 but 1.2.10 have laravel/nova listed as *. Should we tell users that v4 is supported in 1.3.0
if the *
is used then it means it can support any version so do we assume it has Nova 4 support or instead returns null as we dont know for certain, especially if a new nova version has just been released?
from novapackages.
I agree, I think it would be best to let the composer handle the version rather than specifying the version that supports it
ππΎ
In regards to the home page, I'm planning on adding the filters for nova 4 but I do believe maybe we should have the tag if it has the latest version support.
This is a good point. Having a visual indicator on the card would be helpful when a user is using the search box and visually scanning the results.
Maybe we add into config or env what the current major version is i.e 3,4,5 then show an icon or banner on the card if a version of the package supports the latest version on nova? maybe that could be a good compromise?
A config entry in a new configuration file (something like custom
) reading from an environmental variable sounds good to me.
I like the idea of an non-intrusive icon and/or piece of text that, ideally, doesn't raise the height of the bottom of the card where the author is:
I'm not sure what a good option is that conveys "Works with Nova 4" but doesn't include all of the words. Let me know what you're thinking.
if the * is used then it means it can support any version so do we assume it has Nova 4 support or instead returns null as we dont know for certain, especially if a new nova version has just been released?
I think your question here points us in the right direction for the paragraph above it. I don't think we should assume the package works with Nova 4 unless it explicitly declares it. I think that would be better for users as well because displaying packages as having Nova 4 support without the package declaring that could cause people to install a package and then get frustrated when they find out it doesn't actually work with Nova.
Thanks for all of your thoughtfulness π
from novapackages.
Thanks for shedding some light on the issues I had.
Card shows the latest version support
Just messing around with the styling and what I have as seen in the image below doesn't change the size of the box footer all have 57px height.
Another option would be this "corner tag"
With a shorter name
With an even shorter name
from novapackages.
the image below doesn't change the size of the box footer all have 57px height
π my eyes were playing tricks on me.
ππΎ I like the corner tag with Nova 4 Support
.
I see you've opened a PR so we can continue the conversation there π
from novapackages.
the image below doesn't change the size of the box footer all have 57px height
π my eyes were playing tricks on me.
ππΎ I like the corner tag with
Nova 4 Support
.I see you've opened a PR so we can continue the conversation there π
Sure thing π
from novapackages.
Related Issues (20)
- Upgrade to livewire 2
- Improve handling of Github errors
- Update the package `repo_url` field when it has changed
- Improve handling of `UserRatePackage` job HOT 1
- Catch `SelfAuthoredRatingException` and return an error HOT 1
- Updating to Laravel 8 broke the RSS feed
- Package Author is broken/empty - Broken json<->select mapping HOT 1
- Screenshots not saving HOT 7
- More API data [enhancement] HOT 5
- Remove "N4", "v4", "Nova 4", "4", "(4)" From name HOT 7
- Explain how Nova v4 support is determined HOT 1
- Add pagination to admin index page
- JSON feed of packages HOT 1
- Feature to allow report of packages that just copy another package code. HOT 4
- Allow packages with malicious code to be reported
- How to highlight package for Nova 4 HOT 7
- Package dublicate
- Unable to upload audio files HOT 1
- Packagist returning a result with no `package` key which we don't handle well HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
π Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. πππ
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google β€οΈ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from novapackages.