Hacktoberfest 2024 - Ways to Contribute!

Welcome, Hacktoberfest 2024 contributors! Whether you’re coding, documenting, testing, securing, or translating, this is the place for you to share your journey. Let’s unite all contributors and collaborate on making Mattermost even better!

:computer: Code: Whether you’re submitting new features, fixing bugs, or refining the codebase, we want to hear about it! Share your progress, ask questions, and celebrate the breakthroughs right here.

:books: Documentation: Documentation is the backbone of our platform. If you’ve been improving our docs, updating guides, or making Mattermost easier to understand, tell us about your updates and discuss the best practices and challenges you’ve encountered.

:mag_right: QA: From running tests to squashing bugs, share your QA contributions and tips here. Let’s collaborate on making Mattermost smoother and more reliable together!

:shield: Security: Have you been working on securing Mattermost or identifying vulnerabilities? Let’s dive into discussions on best security practices, vulnerabilities you’ve tackled, and how we can continue to strengthen the platform.

:globe_with_meridians: Translations: Mattermost’s global reach depends on your work. Whether you’ve been translating technical content or expanding our language options, we’d love to hear your experiences and challenges in making Mattermost accessible worldwide.

:star: Need some help getting started? Read here: Mattermost Hacktoberfest 2024

:sparkles: Already contributing? Claim your digital Holopin badge here :point_down:t2:https://holopin.io/collect/cm1fjxo1t06730cmdvjlvocj9

No matter how you contribute, this is a space for all Hacktoberfest contributors to connect, share, and celebrate your progress. Let’s make this the best Hacktoberfest yet - together! :clap:

1 Like

Hi,

I think it’s very complicated to understand the development aspect of plugins. Mattermost is a big project, it seems to have several versions, it’s difficult to understand with the plugins if they are still compatible. The code isn’t really commented out and most of the documentation asks you to go and look at the code.

It’s probably easy for people that already know Mattermost, but for a beginner it’s very hard to understand. I think until a point by analyzing all the code it’s ok… In my case in two days by looking on several plugins i developped mine. SDK has a lack of information but you can understand by testing a lot of things… until Rest API, and manifest. Perhaps i missed something, in addition you can add English is not my native language. In my case i would have a bash to compiling my package because i use a Virtual Machine, and i would to understand what happens during this compilation, then perhaps it’s my fault. But at the end, i don’t understand how to get pluginID by example (except if i use the 10 version of Mattermost if i understood well but i use a Docker image… 8). I don’t even know how to generate it :confused:

This morning i see there is a OpenDialogRequest in plugin sdk, i missed several times. In same time if i look for the model… except for the information about what it does. This is what i have to work:

type OpenDialogRequest struct {
	TriggerId string `json:"trigger_id"`
	URL       string `json:"url"`
	Dialog    Dialog `json:"dialog"`
}

If you don’t know how it works you don’t understand what URL can be, i figure it must be an endpoint to handle the submit button, but i’m note sure. And as i said, all my tries failed.

I think mini examples well commented, with versionning, indicating on which version it based could be interesting. I know there is a compatibility mark, but i would to know if this is the best, last version an example shows. I think it could be a good way to help people, and listing this example on the documentation page. I know it’s a lot of work, but i think the most people are informated, the most they can help others. Mattermost is a great project, it’s not because i see problems, that means it’s a bad project and i know i’m someone weird, wanting to understand why i write a code line, instead of copy and forget, then it’s not the easiest approach :smiley: . And really for endpoint, an example without translation, just to set up it will be very helpful.

Best regards :slight_smile: .

Hi Daerlnaxe, thank you so much for sharing your detailed feedback and experience. Your insights are incredibly valuable! I completely understand how navigating plugin development, especially as a beginner, can feel overwhelming, and I’ll be sure to share your suggestion for more well-commented examples and versioning clarity with the team. We’re here to help, so don’t hesitate to ask any specific questions you have along the way. Keep up the great work! :blush: