-
-
Notifications
You must be signed in to change notification settings - Fork 25
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
preview implementation of the Laminas ecosystem RFC #226
base: staging
Are you sure you want to change the base?
preview implementation of the Laminas ecosystem RFC #226
Conversation
Signed-off-by: Jurj-Bogdan <[email protected]>
@Jurj-Bogdan |
Is not built yet, I need to do some git operations first |
{ | ||
"packagistUrl": "https://packagist.org/packages/netglue/laminas-messenger", | ||
"githubUrl": "https://github.com/netglue/laminas-messenger", | ||
"categories": ["laminas", "messenger"], |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"laminas" does not make sense here, because we need to differentiate between integration in Mezzio-based and/or laminas-mvc-based applications. This means that the package can be used as a:
- module in a laminas-mvc-based application
- and/or via a config provider in a Mezzio-based application
Maybe the categories are not suitable for this and a separate entry or entries are required.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
At the moment the "categories" key is only used for filtering in the interface, so I added a few here and there so they'll be visible in the preview - once a new role is found for them, I can upgrade the functionality to fit the request of course.
Even if the current approach of "user defined keywords" is kept, some other guidelines could be defined for them if wanted.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
we need to brainstorm a bit about those possible categories.
My suggestions:
|
…rated per build Signed-off-by: Jurj-Bogdan <[email protected]>
My 2 cents:
|
Also, rather than "See on GitHub", perhaps just "Source" with the icon for the relevant source code hosting platform? |
How are you/will you determine packages to include? I ask, because, for instance, the phly-simple-page package on there likely should not be (I've not updated it in 3 years, and am in fact planning on archiving all my ZF2 packages (even if I did update them for Laminas at some point). |
All packages we have listed now are only test data. |
|
A consistent layout would also be desirable, and the unnecessary spacing due to paragraphs is not necessary. The description text at the end, then the problems are reduced. Example: https://getgrav.org/downloads/plugins |
We can call it "directory" instead , even the word "ecosystem" is more catchy :-)
Agree, now it is too much information.
The information will be gathered only from Packagist, as I presume a mandatory condition for a package to be lsited here will be to be installable using Composer.
@Jurj-Bogdan we need a Flag here, separate from "category". |
By the way, this is boring: https://symfony.com/bundles 😉
Ah, this was the original inspiration for the layout. |
I have started tweaking the info such as the keywords from composer being taken out, but keeping the user defined ones (probably going to limit those to 5? as well). Will also provide a sort of flag as @arhimede mentioned, with preset values which should be used as filters as well (thinking of adding a navbar around the search input for these "preset filters" - category, type and the new "flag") Thanks @froschdesign for the example, i'll work on a version with the social preview working similar to getgrav.org's images; that is unless @gsteel 's question of removing images altogether is preferred, of course. |
Another example: https://astro.build/integrations/ |
Adding relevant keywords to your composer package is a great idea - I wonder if the packagist api can handle that? We'd need a way of excluding packages too though. |
The packages must be added manually, not automatically! Or have I missed something? |
I was just ruminating on being able to automate that - it's probably best to stick to the plan and add them manually as originally specified 👍 |
Adding must be done proactively and I'm not worried about that, because some people are already waiting for an official listing. |
Signed-off-by: Jurj-Bogdan <[email protected]>
Signed-off-by: Jurj-Bogdan <[email protected]>
| datasource | package | from | to | | ---------- | --------------------------------- | ------ | ------ | | packagist | laminas/laminas-config-aggregator | 1.16.0 | 1.17.0 | Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Signed-off-by: arhimede <[email protected]>
Signed-off-by: arhimede <[email protected]>
Signed-off-by: arhimede <[email protected]>
Signed-off-by: George Steel <[email protected]>
Add markdown linting Signed-off-by: arhimede <[email protected]>
Signed-off-by: Jurj-Bogdan <[email protected]>
Signed-off-by: Jurj-Bogdan <[email protected]>
Signed-off-by: Jurj-Bogdan <[email protected]>
Signed-off-by: Jurj-Bogdan <[email protected]>
Signed-off-by: Jurj-Bogdan <[email protected]>
| datasource | package | from | to | | ---------- | ----------------------------------- | ------ | ------ | | packagist | laminas/laminas-cli | 1.10.0 | 1.11.0 | | packagist | laminas/laminas-component-installer | 3.4.0 | 3.5.0 | Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
…rated per build Signed-off-by: Jurj-Bogdan <[email protected]>
Signed-off-by: Jurj-Bogdan <[email protected]>
Signed-off-by: Jurj-Bogdan <[email protected]>
Signed-off-by: Jurj-Bogdan <[email protected]>
Preview updated |
a rundown of the latest update:
|
I would remove images entirely, because they duplicate info, such as the most important one: the title. They are obviously sub-optimal for SEO. And they are hard to read because text is too small and contrast too poor, especially on a 770px wide screen. Then we can get rid of the mouse over animation too, so that the If you want to keep some sort of image, then I would use the user/organization profile picture, which is guaranteed to have a more uniform layout, and provide a strong visual indicator of the library author(s). In the preview, Similarly the "homepage" link is very often the same as the source link. In that case it brings no value, and should not be shown. In fact, I'd even suggest to never show the homepage link, because we already have two links (packagist and source) for basically the same thing. |
If the target is the same, then it really makes no sense. @arhimede @Jurj-Bogdan |
Yup, we are about to update this PR tomorrow with some modifications and corrections |
Description
This PR is an initial implementation for the Laminas ecosystem RFC. There are still features I think should be implemented (i'll list a few at the end), but hopefully there's enough for a preview to help continue the conversation started in the RFC.
Current functionality
The
laminas ecosystem:create-db
andlaminas ecosystem:seed-db
commands are used to generate and update the list found on '/ecosystem' by using the user-provided data fromecosystem-packages.json
.As the consensus from the RFC is that packages must be installable via composer, the Packagist url is mandatory and used to make a single request per package, from which the displayed data is extracted.
If provided, the 'homepage' and 'githubUrl' data will be used to overwrite the data coming from Packagist, and the 'categories' are used as extra filtering options in the package listing.
The
create-db
command currently works similar to the blog version, regenerating the whole database file after each build, although i would change this to make it more future proof. I've thought of theseed-db
command as a cron used to select packages not updated in X hours and update some of the relevant data - would something real-time (or closer to) be desired instead?As for the listing page ('/ecosystem') I've left a low page size to make it easier to test the pagination with the few default packages. For now there's searching by package name and filtering by "tags" (keywords taken from packagist) and "categories" defined by the user in the json file.
what next?
ecosystem-packages.json
file, to make it easier for the reviewer ?