Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

DjangoCMS Contribution Guidelines#8013

vinitkumar started this conversation inGeneral
Sep 26, 2024· 3 comments· 3 replies
Discussion options

I was going thought the website ofi3wm, which is one of the best tiling Window manager in Linux that is known to have excellent code. It's mainly written by Michael Stapelberg.

I noticed some great points about the software design and its philosophy on the website and I think they are excellent and something we could learn from. I will point out the relevant parts out of it, which is more general in my opinion.

These are the core idea from their website:

  • Only documented behavior is supported. Clear documentation is a requirement for contributions.

  • Only add features which benefit many people, instead of going to great lengths to support rarely used workflows.

  • Keep mental complexity low: once you know i3’s key features, other features should be easy to understand.

  • Do not add further complexity when it can be avoided. We are generally happy with the feature set of i3 and instead focus on fixing bugs and maintaining it for stability. New features will therefore only be considered if the benefit clearly outweighs the additional complexity, and we encourage users to implement features using the IPC whenever possible.

Now, we adapt it to our DjangoCMS and it looks something like this:

To adapt this set of guidelines forDjangoCMS (an open-source content management system for building websites), we can refactor the language so that it aligns with DjangoCMS’s ecosystem and philosophy. Here is the updated version:


DjangoCMS Contribution Guidelines

  1. Only documented behavior is supported: Clear and comprehensive documentation is a strict requirement for all contributions. Features or changes should be well-documented to ensure ease of use and consistency for all users.

  2. Focus on features with broad benefits: Contributions should prioritize functionality that will benefit a wide audience rather than focusing on niche or rarely used workflows. This helps keep DjangoCMS streamlined and efficient.

  3. Minimize mental complexity: Once users are familiar with DjangoCMS’s key features, additional features should be easy to understand and use. Maintain simplicity in both code and user experience to avoid overwhelming users.

  4. Avoid unnecessary complexity: Do not introduce additional complexity when it can be avoided. DjangoCMS has a well-rounded feature set, and new features should be proposed only if their value clearly outweighs the increased complexity.

  5. Encourage modular development: New features should be implemented via plugins, apps, or extensions wherever possible, instead of modifying the core. This encourages a modular approach, keeping the core CMS lightweight and maintainable.

  6. Stability and maintenance first: Focus on fixing bugs, maintaining stability, and enhancing existing features before introducing new functionality. Stability is a primary goal for DjangoCMS, ensuring a robust platform for all users.


This version aligns with DjangoCMS's philosophy of modularity, simplicity, and stability, while ensuring contributions are clear and well-documented.

You must be logged in to vote

Replies: 3 comments 3 replies

Comment options

marksweb
Sep 26, 2024
MaintainerSponsor

I think this is a great start. 👏

And as well as documented behaviour, we want tested behaviour. That could be point 2.

You must be logged in to vote
0 replies
Comment options

vinitkumar
Sep 26, 2024
Maintainer Author

@marksweb Please feel free to add/update to the rules here.

You must be logged in to vote
1 reply
@marksweb
Comment options

markswebSep 27, 2024
MaintainerSponsor

Yeah was on my phone earlier so wasn't easy to say anymore.

Comment options

marksweb
Sep 27, 2024
MaintainerSponsor

Django CMS Contribution Guidelines

  1. Only documented behavior is supported: Clear and comprehensive documentation is a strict requirement for all contributions. Features or changes should be well-documented to ensure ease of use and consistency for all users.

  2. Stability and reliability come from testing: New features should be accompanied by appropriate test coverage and fixes should ensure that tests represent the correct functionality. This way Django CMS continues to be a platform which can be depended on.

  3. Focus on features with broad benefits: Contributions should prioritize functionality that will benefit a wide audience rather than focusing on niche or rarely used workflows. This helps keep Django CMS streamlined and efficient.

  4. Minimize mental complexity: Once users are familiar with Django CMS's key features, additional features should be easy to understand and use. Maintain simplicity in both code and user experience to avoid overwhelming users.

  5. Avoid unnecessary complexity: Do not introduce additional complexity when it can be avoided. Django CMS has a well-rounded feature set, and new features should be proposed only if their value clearly outweighs the increased complexity.

  6. Encourage modular development: New features should be implemented via plugins, apps, or extensions wherever possible, instead of modifying the core. This encourages a modular approach, keeping the core CMS lightweight and maintainable.

  7. Stability and maintenance first: Focus on fixing bugs, maintaining stability, and enhancing existing features before introducing new functionality. Stability is a primary goal for Django CMS, ensuring a robust platform for all users.

You must be logged in to vote
2 replies
@vinitkumar
Comment options

vinitkumarSep 27, 2024
Maintainer Author

This seems great and pretty much makes it complete. Do you have any other points to add@fsbraun@macolo?

@fsbraun
Comment options

fsbraunSep 27, 2024
MaintainerSponsor

I really like this.

Sign up for freeto join this conversation on GitHub. Already have an account?Sign in to comment
Category
General
Labels
None yet
3 participants
@vinitkumar@marksweb@fsbraun

[8]ページ先頭

©2009-2025 Movatter.jp