Awesome-plone: let's share our awesome products (please)

Hi everyone!
After several years of Plone development, i'm a bit tired about losing hours and hours digging on github or pypi to find if someone else have already developed a package with some functionalities that i need.

For this reason, i created an awesome-plone list: https://github.com/RedTurtle/awesome-plone
For the ones that doesn't know what an awesome-list is, please read the manifesto.

Basically is a simple collection of most used packages/rescources/whatever on a specific technology/framework/wathever.
There are a lot of useful awesome lists for django, nodejs, react, ecc.

I know that there is a list on the official site, but seems abandoned..there is paragon project, but seems abandoned..at every conference we create a list of most used products, but everytime this process will stop without success for different reasons.
The main reason could be that we wanted to make this list available on the official site, with an officially-approved list of most used products marked with an official seal forged by an ancient god and lost in the deepest sea of the world centuries ago (i'm kidding).

With this list i want to skip all these problems and manage it on a more pragmatical developers-level: a git repo with a readme file. (ok, with a travis config to check the links, but is the only limit, i swear)

I want to know what other developers in the community use on their projects to solve common problems (site layout, themes, authentication, ecc), and the most important thing: i don't want to reinvent the wheel everytime.
And is easy to maintain and improve with pull requests: it's a readme file.

Right now the list is a collection of products developed by us (other are community products) commonly used in our projects. Some of them are not already published on pypi but we are working on it.
I'd like to improve that list with other products, if you want.

And obviously, if this become an interesting project, i can move it under collective repo without problems.

4 Likes

Awesome, thanks!

I have made some products that I think can be quite useful, but most of them lack a little to 'move out of beta'.
(historically, it also have to do with 'certain individuals' complaining about it lacking test etc, so I am not putting them in the 'collective' namespace and not 'promoting them'.

If someone want to help me with these issues I would be happy to move them to the collective namespace and fix whatever I am able to do, but so far it has been a 'very lonely journey'.

So, basically: For most of my add-ons, I have done as much I 'know how to do', so I need someone with more 'programming skills' than me to get them to 'version 1'.

For example, I could need some help with:




@espenmn Why not do what redturtle did and create a github rather than a comment. It's a really good idea.

@cekk Great idea. Thanks so much. Do most of the plugins allow them to be installed at the same time? One additional step would be a buildout and CI so its easy to see a test combination of versions?

I will start working on our awesome product list.

Nice approach but what does a curated list of Plone add-ons really solve? Not many...it just makes a list of add-ons more visible....it starts for the plone.org product listing ended, where Paragon failed and where a PyPI-based implementation is not available. Having pretty mixed experiences with curated lists e.g. for VueJS or Python..."curated" raises the expectation that the stuff listed in the curated listing is supposed to work? to work with "my" version of Plone? Plone 4? Plone 5? But this is a wrong expectation since the curator can not ensure any kind of quality assurance..In the end such curated listing usually end up with a endless listing of unmaintained packages, old information etc.

Ok, let me clarify some points:
my idea is not to create different companies lists, but one single collective list with awesome products from different companies.
This because with a single list you have all the informations in one single place.

@espenmn nice to see that you made some interesting products, and for me if there are some missing parts could not be a problem if the product is valid: someone that uses it could help you to improve it.

@djay most of them lives together in the same buildout, so it should not be a problem..are you talking about ci or a demo site? Because for a demo site, we could have problems with themes for example

@zopyx i know that this could be potentially an AUBOG (another unmaintained bunch of garbage) but it's not a list for a language or a library/framework like new-cool-js-things so i expect to have a limited list of products.
I also know that we have a long history of successes in this field with plone.org packages page and paragon. Plone.org was a semi-automatic pypi mirror populated with every kind of stuffs.
In this list i want to have a selected list of packages that solves specific problems.

The thing that i like about this approach is that we can discuss about single entry with issues or pr.

If you need to allow login with social media, you could check this list to see if someone already did this and try its product.
You don't like It? Develop your one and then submit It to the list. If we have two or more solutions we could also decide to keep the best as a standard.

Also if there is a product in the list that doesn't works or has some problems, we could remove it or help fixing (maybe it is the only that solves a particolar problem).

And last but not the least: compatibility. My focus is on Plone 5. Maybe who still works in Plone 4 could male a similar list.
My focus is on Plone 5 basically because newbies that starts with Plone and wants to know what It could do, works with the latest version.

1 Like

Ok, will do when I get GitHub on OSX working again …

I am pro this 'project', looks like the others 'will never finish', which is a shame

I understand the ideal you are trying to achieve but it aways stumbles on people having different opinions and if its collective then who maintains it. And more importantly nothing gets deleted from a collective document because no one knows if it's ok for them to do so. Which I think was @zopyx point.

I thought the idea I thought it was originally sounds more pragmatic and likely to be maintained. ie different companies publishing a buildout with a working set of plugins, and a readme explaining why they use each one and how it compares to the alternatives. Perhaps all found using a single hashtag? Perhaps linking to each other?
This could still be little maintained but at least its visible and associated with a single person/company who can be pinged.

A real problem at the moment is to find add-ons that are tested and ready for Plone 5.
There is a lot of stuff around in some weird state that is supposed to run on Plone 5 and in the end does not work.
It's a question of quality assurance here - something a curator can not deal with.

If many companies will have their awesome list then we will need an awesome list of awesome lists :slight_smile:

I like @cekk idea and his will to leverage on github social features.
Maybe the marketing team could be involved.

if I publish my companies standard plone 5 stack as a buildout with version pins, then you be assured that those plugins are tested with plone 5 and are in production. At least at the time of publication. I'd just have to work out how to keep it up to date with the internal one we really use.

So I should fork it (and push request)?

Ours may be found at Fabasoft 4teamwork AG · GitHub

I suspect others have done about the same as to their lists of forks / addons which are public, 'github it'.

I'm also missing the point a bit - if one wants a curated list of non-core-Plone one seeks a Plone distribution or hires an integrator for the problem at hand. Tackling newbie-friendliness is more a function of documentation and ecosystem quality, both of which are a touch lacking at the moment, but still slowly being worked on.

On the other hand I have nothing against a single person doing a "this is what is currently working well for me" list / showcase, but please keep it that way and tightly coupled to that with a nigh-dictatorial grip - otherwise you dilute the overall value of your curation.

Huh, am I the only one wondering about the focus of your project ? developers or people starting Plone ?
Different level of moral responsabity altogether, aiming at non informed people makes you so much nearer to advertisement.

for newbies, I think that a Wikipedia page could do just as well. There are already tons of such tables of available software for different needs. One big advantage is that Wikipedia already includes a team that is chasing with ardour everything looking at advertisement, so the moral authority for the uninformed public is already better than some page on Github (Github don't care if provided information is false or misleading...)

i think that we are oversizing problems or over-engineering possible solutions as usually :wink:

Let me explain:

  • Yes, there are a lot of possible buggy products on github, and there is no insurance about a product quality. But if you are using a product in production and wants to promote it publicly, i hope that you tested it somehow somewhere. Maybe if it doesn't have any tests or an empty documentation, you are encouraged to fix them before submitting it to the list.
  • i don't like separate companies lists because as @alert says, we will need an awesome-list of awesome-lists and we'll lose its main issue: simplicity and easy-to-find informations
  • this list for me is useful for integrators and for newbies. There are dozen repos on github, from different companies, on collective, or on personal repos. Some company doesn't put their products on github, but on bitbucket for example. There isn't a single place where one developer (experienced or newbie) can find a list of useful products. Yes, we can "github them" but results are uncategorized, maybe i'm searching products with a wrong search key and i don't find anything useful. A plain list with some basic categories could help this research. I want know what can i use for manage a page layout? Let's check that category and found some possible managers, tiles, ecc.
  • the list is a github repo (i'd like to move it under collective) where only developers (who subscribed to the collective organization) can write something. There is a pull-requests/issues process to validate new entries. This should be a first-level of quality control.
  • Second level is: if someone found a broken product in the list, can directly contact the maintainer (remember: they are links to other repos, so you can easily contact the maintainer or open an issue), or open an issue in awesome-plone and discuss about it..about keeping it or remove it because is broken.
  • this is not an official list. Is a community-curated list. A set of standard products (not all products, only the most useful for the community..the ones that every single developer wants to share with the community because can solve a common problem or a very specific problem). Could be an useful starting point for newbies to see what's the products that more experienced developers usually use and how they solved common problems without losing hours digging on github, forums or chat.
  • about buildouts where products runs: if you provide some ci tests, your product already have a buildout to play with it. you only need to clone the repo and run buildout. If not, see the first point :wink:
  • @espenmn right now yes, the only solution is to fork and pr. But my idea is to move the repo on collective, if someone is interested in this project, so everyone can contribute.
  • i don't get the @djay point about deleting from a collective document: we are a community, if there is a product in the list that is broken or have some problems, let's talk in an issue with the maintainer (easily to find) or with who proposed that product (git blame).

again: this idea was to create an easy cheatsheet of plone resources. The first (or second, afteAr documentation) place where to find a first list of popular products to solve different problems.

For example, are there a list of publicly available plone5 themes? have you tried to search "plone theme" on github? 300 results and i don't know which ones could be potentially plone 5 themes.

When i thinked about this project, i only had in mind one thing: we have a huge amount of products that we cannot share to other developers. We have a lot of places where discuss about them, but no a single place to fix a list of them for other users not involved in the discussion.

As with other things, i think that we could start easily, see what happens and then fix the problems.

If in a month the list will be full of garbage, we could introduce some validation. For example: reject all pr with a product that doesn't have some tests or a detailed documentation.
If we want to provide showcases, we could add also links to working instances where users can try them.

5 Likes

…… just to be sure: you want 'all on the same list' (I made a new one ... I will merge them)

That's my idea..but i don't know if it's a good idea atm..
If you prefer, i'll move the repo right now on collective, so you can update it without forking it

1 Like

Good idea

1 Like