Hi,
Recently I have been picking up a new Strapi project to work on. And while I really like the simplicity of the CMS when it works, it is often very confusing to work with it from a coding perspective, as it often happens that something seems to work, but then again it does not. Mostly because I am not exactly using it as how it wants(?) to be used. Causing it to might work (technically), but not working for the full 100%. This creates distrust in the software, especially since it is very hard to find the right resources in the dense forest of tutorials and documentation pages. I’m pretty sure I am not the only person that has this experience, and I am curious to hear from others how they navigate/manage this.
This topic has been created from a Discord post (1268171093995294790) to give it more visibility.
It will be on Read-Only mode here.
Join the conversation on Discord
1 Like
What exactly doesn’t work?
I think that the subject of this question is the lack of transparency in how Strapi works, or at least why it does what it does. If have put some questions below of which I am not able to find the answers in the documentation. While I do appreciate any effort put in answering these questions, the subject of this question is how others navigate the documentation maze in order to develop features that they haven’t made before.
Why are you fighting it? Just use it. Also, you don’t have to use it, it’s a completely optional exercise. What kind of features are you looking for? You haven’t given any indication of that.
Also your list of questions there has some pretty specific scope. Most devs don’t care much about them.
What are you referring to by “it”
the OP is not specific, but this is also my experience. Documentation is often incomplete or out of date. Literally nothing works out of the box. The most difficult thing to work with generally is plugins, and I was hoping it would be easier in v5, but in fact it’s even worse. One simple example of how to build up a plugin from scratch (or to port one from v4) would be sufficient.
Now fair enough, you get what you paid for, but with all the hype around v5 and an RC7 being out, i would expect to get stuck on more complex cases than just starting a server or creating a basic plugin with 1 field.
It seems both of you are looking to do what? It really isn’t that difficult to set up Strapi.
Interesting cases? What would those be? It seems the rest of the world is getting on fine with Strapi but you two.
<@803374362508918815> I just shared you 5 cases that are beyond the “hello world” level type of application and your reply to that was that most devs don’t care about that. You do not represent the majority of developers, nor is your participation in this conversation constructive. So either provide some input that adds value to the conversation, or don’t participate. You’ve made your point clear that you don’t have this experience and you give off the impression that your usage of Strapi fits perfectly within (what I see as its) constraints. That point is clear, and that is perfectly fine. This topic however is meant for people who have a different experience with it, and I’d like to ask them to share their experiences in the hope that we could learn from each others insights.
Personally I like various architectural decisions that have been made in this framework, but whenever I want to do more advanced things I run into roadblocks. This is most often because of my misunderstanding of Strapi’s architecture. When I hit such a roadblock I try to educate myself to improve my understanding of the software, and in this process I often can’t find solutions/explanations in the dev docs, nor do I find the codebase itself communicative enough to explain itself. If other people have shared experiences I encourage you to share them.
So here’s the thing: I understand I don’t represent most devs. I’m curious to know which advanced things you’re trying to do with Strapi. You can just give a brief example if you don’t want to go into details.
There’s that saying: if it ain’t broke…
but it kind of is broke, in particular working with plugins is quite painful and poorly documented. I would be curious to say what is your use case if you’re so happy with it?
To be fair I haven’t worked with specific plugins. I use Strapi as a database and Flask as middleware to set up security for my endpoints like rate limiting.
The reason I would not use it is because it’s bloated, I think something like 500 mb.
But it is easy to set up entities thru the admin panel.
Okay. It’s broken according to you. Fair enough. Everyone has a different experience with it. What would you recommend instead?
Less black-boxing and provide a documentation where I can find the information I’m looking for (part of the information that is, can be found in the previous provided forum topics)
Just so I understand how are you using Strapi?
Well, I was trying to expand the socket-io-plugin since it is no longer actively maintained and it is lacking features that I need. It’s an issue for which there already is an active open issue on Github. So in order to do this (amon other things) I’ll need a deeper understanding of the mechanics behind the whole request flow of Strapi. This is un-obtainable via the existing docs.
Given the lack of responses on these topics implies to me that either this kind of knowledge is lacking in the Strapi community. To me, these questions have risen to the surface, a few days in after me last Strapi project a year ago. So I don’t perceive them as very advanced use cases. Maybe it is because the more advanced users are currently more focused/interested in version 5, I dunno. Either way, all of this combined. It seems to me that not enough energy is being put in the constructing of a foundation that is required for a well-supported, community-based, open-source project, which is a pity.
Obviously I am a nobody in relation to this software, so my opinion is just that. So I am not expecting that the roadmap will take a 30 degree turn based on my experience. But nonetheless I wanted to expres the disappointment I experienced with Strapi, so the team would be aware at least that of problems that some people are running into. Then it’d be up to them what to do with it 