This is an automated email from the ASF dual-hosted git repository. chibenwa pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/james-project.git
commit c805e0f250ca8b174dedda5ebd983751cc249a66 Author: Benoit TELLIER <[email protected]> AuthorDate: Sun Aug 23 23:52:34 2026 +0700 [DOC] Remove the now relocated community section --- docs/README.adoc | 1 - docs/antora.yml | 1 - docs/modules/ROOT/pages/index.adoc | 5 +- docs/modules/community/images/linagora.png | Bin 14370 -> 0 bytes docs/modules/community/nav.adoc | 16 -- docs/modules/community/pages/contributing.adoc | 205 --------------------- docs/modules/community/pages/download.adoc | 4 - docs/modules/community/pages/guidelines.adoc | 146 --------------- docs/modules/community/pages/index.adoc | 47 ----- docs/modules/community/pages/mailing-lists.adoc | 162 ----------------- docs/modules/community/pages/release.adoc | 230 ------------------------ docs/modules/community/pages/support.adoc | 28 --- docs/modules/community/pages/website.adoc | 182 ------------------- docs/modules/community/partials/antora.adoc | 60 ------- docs/modules/development/pages/index.adoc | 2 +- docs/ui-overrides/partials/header-content.hbs | 3 +- 16 files changed, 3 insertions(+), 1089 deletions(-) diff --git a/docs/README.adoc b/docs/README.adoc deleted file mode 120000 index f40601aaf7..0000000000 --- a/docs/README.adoc +++ /dev/null @@ -1 +0,0 @@ -modules/community/partials/antora.adoc \ No newline at end of file diff --git a/docs/antora.yml b/docs/antora.yml index 5af4bdfc4b..027e85cec5 100644 --- a/docs/antora.yml +++ b/docs/antora.yml @@ -6,4 +6,3 @@ nav: - modules/concepts/nav.adoc - modules/servers/nav.adoc - modules/development/nav.adoc -- modules/community/nav.adoc diff --git a/docs/modules/ROOT/pages/index.adoc b/docs/modules/ROOT/pages/index.adoc index 6997bbf763..9cbcd103e9 100644 --- a/docs/modules/ROOT/pages/index.adoc +++ b/docs/modules/ROOT/pages/index.adoc @@ -24,8 +24,5 @@ This Reference Book is divided into the following Parts: * xref:james-project:development:index.adoc[James Developer Guide] ** A guide aimed at experienced developers, describing how you can assemble your own specialized server. -* xref:james-project:community:index.adoc[James Community] -** All about the Apache James community, and how you can be - part of this active and dynamic group, too! -Please note that this Reference Documentation is a **living document**. It is subject to change. You are currently reading version {page-version}. If you find anything that is unclear, unfinished, or confusing, please do not hestiate to xref:james-project:community:index.adoc[lend us a hand]. +Please note that this Reference Documentation is a **living document**. It is subject to change. You are currently reading version {page-version}. If you find anything that is unclear, unfinished, or confusing, please do not hestiate to link:https://james.apache.org/contribute.html[lend us a hand]. diff --git a/docs/modules/community/images/linagora.png b/docs/modules/community/images/linagora.png deleted file mode 100644 index de0a185b2e..0000000000 Binary files a/docs/modules/community/images/linagora.png and /dev/null differ diff --git a/docs/modules/community/nav.adoc b/docs/modules/community/nav.adoc deleted file mode 100644 index 0d02c5f7f7..0000000000 --- a/docs/modules/community/nav.adoc +++ /dev/null @@ -1,16 +0,0 @@ -* xref:index.adoc[] -** xref:mailing-lists.adoc[] -** xref:contributing.adoc[] -** xref:guidelines.adoc[] -** xref:download.adoc[] -** xref:website.adoc[] -** xref:release.adoc[] -** xref:support.adoc[] -** Apache Software Foundation -*** https://www.apache.org/[ASF] -*** https://www.apache.org/foundation/getinvolved.html[Get involved] -*** https://www.apache.org/foundation/faq.html[FAQ] -*** https://www.apache.org/licenses/[Licenses] -*** https://www.apache.org/security/[Security] -*** https://www.apache.org/foundation/sponsorship.html[Sponsorship] -*** https://www.apache.org/foundation/thanks.html[Thanks] diff --git a/docs/modules/community/pages/contributing.adoc b/docs/modules/community/pages/contributing.adoc deleted file mode 100644 index ac506ac11e..0000000000 --- a/docs/modules/community/pages/contributing.adoc +++ /dev/null @@ -1,205 +0,0 @@ -= Contributing - -This document defines the different ways available for contributing to the Apache James project. - -To keep you informed on James issues, subscribe to the relevant xref:mailing-lists.adoc[mailing lists]. - -== Be involved in the community - -An easy start is to be involved in the community. - -Share your experiences with James, your needs, your enhancements proposition via the -xref:mailing-lists.adoc[mailing lists], on https://gitter.im/apache/james-project[Gitter], or on our -https://issues.apache.org/jira/projects/JAMES/issues[Bug Tracker]. - -Don't hesitate to write articles and blog posts. Use your preferred media to spread the love! - -== Reporting bugs - -Many improvements come as a direct result of bug reports. - -To report a bug, please use the appropriate Bug Tracker JIRA link according to the project you want to address: - -* https://issues.apache.org/jira/browse/JAMES[Server] -* https://issues.apache.org/jira/browse/MAILET[Mailet] -* https://issues.apache.org/jira/browse/MAILBOX[Mailbox] -* https://issues.apache.org/jira/browse/PROTOCOLS[Protocols] -* https://issues.apache.org/jira/browse/MPT[MPT] -* https://issues.apache.org/jira/browse/MIME4J[Mime4j] -* https://issues.apache.org/jira/browse/JSIEVE[jSieve] -* https://issues.apache.org/jira/browse/JSPF[jSPF] -* https://issues.apache.org/jira/browse/JDKIM[jDKIM] - -Once you are logged on the appropriate JIRA page, click on the red Create button, then complete the different fields -as accurately as possible, so that any user can reproduce the reported bug. Also, note that all your information must be -readable (use markdown). - -Then, you have to click on Create to submit your bug. - -=== Reporting security vulnerabilities - -http://www.apache.org/security/[Security vulnerabilities] should be announced to the Apache Security team. -PMCs will be notified about them, and will work hard to propose fixes as fast as possible. - -Specific details about security in James can be found here. - -== Documentation - -Documentation is an easy way to get on board! Check out the -link:https://issues.apache.org/jira/issues/?jql=project%20%3D%20JAMES%20AND%20resolution%20%3D%20Unresolved%20AND%20labels%20%3D%20documentation%20ORDER%20BY%20priority%20DESC%2C%20updated%20DESC[~documentation] -label on JIRA to get some ideas. -Report on JIRA the typos you spot, the information you miss, and any improvement you can think of. -The next step is to contribute the documentation changes via https://github.com/apache/james-project/tree/master/docs/modules[Git]. - -To edit an existing document try to edit the adoc version in `docs/modules` (check it out from Git) and if you can, submit a -patch as for xref:_code_patches[Code Patches]. - -If you want to contribute new files please try to use the AsciiDoc format as shown in `docs/modules`. - -If all this seems like unnecessary nonsense, send us whatever you like, we'd still be happy to receive good documentation. - -Each of the Apache James projects has its own documentation maintained with the automated build. Once a build is done, -the documentation can be further committed in the https://git-wip-us.apache.org/repos/asf/james-site.git[site module] -which will be automatically published via gitpubsub to http://james.apache.org[Apache James web site]. - -== Idea or design proposals - -People can submit ideas, features or design changes proposals by discussing it through the -xref:mailing-lists.adoc[mailing lists]. - -Structuring design changes are tracked by link:https://github.com/joelparkerhenderson/architecture-decision-record[ADRs] -(Architecture Decision Records). A discussion on the mailing list getting a consensus of the community can be the object -of the writing of an ADR to confirm the change agreed upon. The Project Member Committee will take care of maintaining such -records but anyone should feel free to help on such a task by proposing ADRs related to his work. - -ADRs *MUST* be submitted under the folder `src/adr` via a pull request. The standards used for writing an ADR are -described in the https://github.com/apache/james-project/blob/master/src/adr/0001-record-architecture-decisions.md[first ADR] -written for the Apache James project. - -The number of the ADR should be incremental. If another ADR gets merged concurrently, the committer is responsible for -updating its number accordingly. - -When the ADR reaches a consensus within the community and is accepted, it can be merged and goes into effect. - -An ADR can't be removed after being accepted and merged. However, a new ADR can supersede a previous one. This is so -we are able to keep track on all the decisions being made regarding the project. - -== How to contribute some code? - -We encourage discussions prior code contributions on the xref:mailing-lists.adoc[mailing lists]. For significant design -changes the writing of xref:#_idea_or_design_proposals[ADRs] is encouraged. - -Your code contribution *must* be backed by a xref:_reporting_bugs[JIRA ticket]. - -* Clone the source code of the project from its link:git://git.apache.org/james-project.git[apache git repository] or its -https://github.com/apache/james-project[GitHub] -* Create your branch and name it with the JIRA ticket number. -* Create a Pull Request on GitHub with your branch name and prefix its different commits with the same name. -* A build will be started for your work on the link:https://ci-builds.apache.org/job/james/job/ApacheJames/[Apache CI]. -* Active contributors will review your work, and merge it. - -A valid commit comment might be: - -``` -JAMES-2285 My awesome commit title - -Here is some more details about what my commit does, and the rationals of the choice I took. -``` - -Alternatively you can create a patch as xref:_code_patches[outlined below], and attach it to the JIRA ticket. - -=== Licenses - -All contributions to the James project are made under the https://www.apache.org/licenses[Apache license 2.0] - -=== Contributions proposals - -* We reference some easy tasks to start with: -https://issues.apache.org/jira/issues/?jql=project%20%3D%20JAMES%20AND%20resolution%20%3D%20Unresolved%20AND%20labels%20%3D%20newbie%20ORDER%20BY%20priority%20DESC%2C%20updated%20DESC[~newbie] -* We have a collection of minor fixes awaiting contributions: -https://issues.apache.org/jira/issues/?jql=project%20%3D%20JAMES%20AND%20resolution%20%3D%20Unresolved%20AND%20labels%20%3D%20easyfix%20ORDER%20BY%20priority%20DESC%2C%20updated%20DESC[~easyfix] -* Challenge yourself with some cool features we thought to: -https://issues.apache.org/jira/issues/?jql=project%20%3D%20JAMES%20AND%20resolution%20%3D%20Unresolved%20AND%20labels%20%3D%20feature%20ORDER%20BY%20priority%20DESC%2C%20updated%20DESC[~feature] - -Additional ideas are more than welcome. Don't hesitate to discuss that with us! - -=== Coding standards - -While we are glad to accept contributions to documentation from anyone, in almost any format, because its much better -than none, please consider these guidelines to help us to assimilate your contribution. - -Submissions to the James project must follow the coding conventions outlined in the -link:https://github.com/apache/james-project/blob/master/checkstyle.xml[checkstyle document], which runs -upon `mvn compile` and all phases which depend on `compile`. Not respecting it will halt the build, and means -your contribution would not be -acceptable. - - -*Developers who commit code that does not follow the coding conventions outlined in this document will be responsible -for fixing their own code.* `. - -[start=3] -. Four spaces. *No tabs.* Period. -The James mailing list receives commit messages that are almost impossible to read if tabs are used. -. Use Unix linefeeds for all .java source code files. Only platform-specific files (e.g. .bat files for Windows) should -contain non-Unix linefeeds. -. Javadoc *MUST* exist on all API methods. Contributing a missing javadoc for any method, class, variable, etc., will be -GREATLY appreciated as this will help to improve the James project. -. The standard Apache license header *MUST* be placed at the top of every file. -. Your change set *MUST* be covered by tests. We also strongly appreciate integration tests. -. We also require the following best practice regarding maven and the *pom.xml*: - -** Define your dependency versions in james-project pom.xml. This structurally ensures all projects get the same version, -and that there is no version clashes. -** Don't use _org.apache.james_ groupId for internal dependencies. Use _${james.groupId}_. If not, you break the policies -for automatic sorting, as well as make it more ambiguous. One exception is apache-mime4j-* artifacts which share the -james groupId despite living in a different repository. -** You should be ordering your dependencies. The sort order of tags and dependencies in the pom is automatically enforced at build time. By default the build -will fail if violations are detected. - -The pom file ordering can be quickly checked using : -``` -mvn validate -``` -If you get an error and want the tool to fix it for you, you can use : -``` -mvn validate -PsortPom -``` -The `sortPom` profile can be used on all maven phases. Make sure to review the changes made by the tool, it is known to -sometimes remove whitespaces which may not be desirable. - -=== Code patches - -While we definitely prefer receiving contributions under the form of xref:#_how_to_contribute_some_code[GitHub pull requests], -in order to still be vendor neutral on the contribution process, we do accept submission of patches, in a process described -below. - -Patches should be attached to the corresponding JIRA issue. - -Always use diff -u to generate patches, so we can apply them using 'patch'. - -Make sure the patch only contains what is intended, your checkout could be outdated. - -Make sure it conforms to the code standards, otherwise it may be ignored. It is OK to make a single patch covering -several files, but please only one issue at a time. - -Briefly outline the reason for your patch, the solution your patch implements, why a patch is needed and why your code -will solve the problem. Note any bug numbers your patch addresses. - -The reason for these rules is so that committers can easily see what you are trying to achieve, it is their -responsibility to manage the code and review submissions, if you make it easy for them to see what you are doing your -patch is more likely to be committed quickly. - -=== Experimental nix support - -There is work in progress to support a more reproductible dev environment so you don't have to figure out what to install or how. - -This work is based on nix flakes if you are not familiar with nix or flakes you can find more information in the https://nix.dev/manual/nix/2.28/command-ref/new-cli/nix3-flake.html[official documentation], https://wiki.nixos.org/wiki/Flakes[official wiki] or in https://zero-to-nix.com/concepts/flakes/[dedicated] community https://nix.dev/concepts/flakes[resources]. - -If you already have the nix package manager installed you should be able to use the following command to enter the predefined build env (experimental nix flag `flakes` is required, `nix-command` is recommended as it is used in many examples) with : - -``` -nix develop --no-update-lock-file -``` - -If you encounter an issue, leave a comment on the corresponding jira issue https://issues.apache.org/jira/browse/JAMES-4175[JAMES-4175] or create a bug and link it as related to https://issues.apache.org/jira/browse/JAMES-4175[JAMES-4175] \ No newline at end of file diff --git a/docs/modules/community/pages/download.adoc b/docs/modules/community/pages/download.adoc deleted file mode 100644 index d673199d79..0000000000 --- a/docs/modules/community/pages/download.adoc +++ /dev/null @@ -1,4 +0,0 @@ -= Download Apache James releases -:navtitle: Download releases - -https://james.apache.org/download[Download Apache James releases] diff --git a/docs/modules/community/pages/guidelines.adoc b/docs/modules/community/pages/guidelines.adoc deleted file mode 100644 index 5e06234e55..0000000000 --- a/docs/modules/community/pages/guidelines.adoc +++ /dev/null @@ -1,146 +0,0 @@ -= Apache James Project guidelines -:navtitle: Guidelines - -This document defines the guidelines for the Apache James Project. It includes definitions of how conflict is being -resolved by voting and who is able to vote. - -The objective here is to avoid unnecessary conflicts over changes and continue to produce a quality system in a timely -manner. Not all conflict can be avoided, but at least we can agree on the procedures for conflicts to be resolved. - -== People, Places, and Things - -=== Apache James Project Management Committee - -The group of volunteers who are responsible for managing the Apache James Project. This includes deciding what is -distributed as products of the Apache James Project, maintaining the Project's shared resources, speaking on behalf of -the Project, resolving license disputes regarding Apache James products, nominating new PMC members or committers, -and establishing these guidelines. - -Membership in the Apache James PMC is by invitation only and must be approved by consensus of the active Apache James -PMC members. A PMC member is considered inactive by their own declaration or by not contributing in any form to the -project for over six months. An inactive member can become active again by reversing whichever condition made them -inactive (i.e., by reversing their earlier declaration or by once again contributing toward the project's work). -Membership can be revoked by a unanimous vote of all the active PMC members other than the member in question. - -=== Apache James Committers - -The group of volunteers who are responsible for the technical aspects of the Apache James Project. This group has write -access to the appropriate source repositories and these volunteers may cast non-binding votes on any technical discussion. - -Membership as a Committer is by invitation only and must be approved by consensus of the active Apache James PMC members. -A Committer is considered inactive by their own declaration or by not contributing in any form to the project for over -six months. An inactive member can become active again by reversing whichever condition made them inactive (i.e., by -reversing their earlier declaration or by once again contributing toward the project's work). Membership can be revoked -by a unanimous vote of all the active PMC members (except the member in question if they are a PMC member). - -=== Mailing list - -The Apache committers' primary mailing list for discussion of issues and changes related to the project -(xref:mailing-lists.adoc#_server_developer_list[[email protected]]). Subscription to the list is open, but -only subscribers can post directly to the list. - -=== Private list - -The Apache James Project's private mailing list for discussion of issues that are inappropriate for public discussion, -such as legal, personal, or security issues prior to a published fix. Subscription to the list is only opened to Apache -James PMC members and Apache Software Foundation Members. - -Topics to be discussed on the private mailing list: - - - Discussion of board reports. PMC members need to report quarterly project activity to the Apache board of directors, -which is done through link:https://reporter.apache.org[reporter.apache.org]. Prior report submission, the draft should -be discussed on the private mailing list. - - Discussions of link:https://community.apache.org/newcommitter.html[new committers, new PMCs], including proposition discussions, votes and process follow up. - - Handling of xref:contributing.adoc#_reporting_security_vulnerabilities[security vulnerability reports], and CVE publication. - -Other topics should be discussed/voted on server-dev instead. - -=== GIT - -All of the Apache James products are maintained in shared information repositories using GIT on git-wip-us.apache.org. -The Apache committers have write access to these repositories; everyone has read access via anonymous GIT. - -== Consensus - -As a community we are seeking link:https://community.apache.org/committers/decisionMaking.html[consensus] in our -decision making. - -We actively rely on link:https://community.apache.org/committers/lazyConsensus.html[lazy consensus] for most of our -decisions, be them validating xref:contributing.adoc#_how_to_contribute_some_code[code changes], enacting -xref:contributing.adoc#_idea_or_design_proposals[design decisions]. - -All code modifications should achieve lazy consensus under the form of GitHub pull requests. - -=== Voting - -Some decisions might require to vote: - - - xref:release.adoc[releases] - - establishing a new sub-project - - retiring sub-projects - - taking a decision when lazy consensus failed. - -Note that we encourage discussing the issues prior to trigger a vote. That way bad surprises may be avoided ahead of time. - -Any of the Apache James Committers may vote on any issue or action item. However, the only binding votes are those cast -by active members of the Apache James PMC; if the vote is about a change to source code or documentation, the primary -author of what is being changed may also cast a binding vote on that issue. All other votes are non-binding. All -contributors are encouraged to participate in decisions, but the decision itself is made by those who have been long-time -contributors to the project. In other words, the Apache Project is a minimum-threshold meritocracy. - -The act of voting carries certain obligations -- voting members are not only stating their opinion, they are agreeing -to help do the work of the Apache Project. Since we are all volunteers, members often become inactive for periods of -time in order to take care of their "real jobs" or devote more time to other projects. It is therefore unlikely that the -entire group membership will vote on every issue. To account for this, all voting decisions are based on a minimum quorum. - -Each vote can be made in one of three flavors: - -*+1* -Yes, agree, or the action should be performed. On some issues, this vote is only binding if the voter has tested the -action on their own system(s). - -*+-0* -Abstain, no opinion, or I am happy to let the other group members decide this issue. An abstention may have detrimental -effects if too many people abstain. - -*-1* -No. On issues where consensus is required, this vote counts as a veto. All vetoes must include an explanation of why the -veto is appropriate. A veto with no explanation is void. No veto can be overruled. If you disagree with the veto, you -should lobby the person who casts the veto. Voters intending to veto an action item should make their opinions known to -the group immediately, so that the problem can be remedied as early as possible. - -An action item requiring consensus approval must receive at least 3 binding +1 votes and no vetoes. An action item -requiring majority approval must receive at least 3 binding +1 votes and more +1 votes than -1 votes (i.e., a majority -with a minimum quorum of three positive votes). All other action items are considered to have lazy approval until -someone votes -1, after which point they are decided by either consensus or a majority vote, depending upon the type -of action item. - -All votes must be either sent to the mailing list for that action item. - -Votes are to remain open for 72 hours after which the developer who put forth the vote should tabulate the result and -send this to the mailing list. A developer should be sensitive to holidays that could dampen participation in the vote. - -== Section for new committers - -First congratulation for your involvement! - -As part of the link:https://community.apache.org/newcommitter.html[process to become a committer], the following steps should have had been emailed to you: - - - Signing of link:https://www.apache.org/licenses/#clas[Contributor License Agreement] - - Establishing an Apache profile with the Apache secretary. - - Access will directly be granted on the link:https://issues.apache.org/jira/projects/JAMES[JIRA], -the ASF Git repository and the link:https://ci-builds.apache.org/job/james/job/ApacheJames/[ci]. - - Extra steps should be taken for xref:#_accessing_apache_github_as_a_committer[GitHub access]. - - A PMC should have had announced your nomination. If you have not already been doing it, we strongly -encourage you to write an email on public mailing list, presenting you, and your motivations toward -contributing on Apache James. A reply to the announcement would do the trick! - -=== Accessing Apache GitHub as a Committer - -- Verify you have a GitHub ID enabled with link:https://help.github.com/articles/securing-your-account-with-two-factor-authentication-2fa/[2FA] -- Enter your GitHub ID into your link:https://id.apache.org/[Apache ID profile] -- Merge your Apache and GitHub accounts using link:https://gitbox.apache.org/setup/[GitBox] (Apache Account Linking utility). You should see 3 green checks in GitBox. - -Wait at least 30 minutes for an email inviting you to Apache GitHub Organization and accept invitation. - -- After accepting the GitHub Invitation verify that you are a member of the link:https://github.com/orgs/apache/teams/james-committers[GitHub Apache James team]. diff --git a/docs/modules/community/pages/index.adoc b/docs/modules/community/pages/index.adoc deleted file mode 100644 index 7b7bcee872..0000000000 --- a/docs/modules/community/pages/index.adoc +++ /dev/null @@ -1,47 +0,0 @@ -= Apache James Community -:navtitle: Community - -Apache James Project is an Open Source all-volunteer project obtaining its strength from its Community made of -developers and users. All are welcome to the Community! - -== Join the community - -There are many ways for Users, Developers, Curious and Fans to join and be part of the James Community: - - * https://james.apache.org/[Apache James Website] - * xref:mailing-lists.adoc[Mailing lists]: Subscribe to the appropriate Mailing Lists according to your interests and profile. - * https://gitter.im/apache/james-project[Gitter chat room]: Chat in live with the community on Gitter. - * https://twitter.com/ApacheJames[Twitter]: Express yourself and follow us @ApacheJames. - * https://github.com/apache/james-project[GitHub]: Read and contribute to the source code of the project. - * https://issues.apache.org/jira/projects/JAMES[JIRA]: Report issues or make suggestions for the project on our bug tracker. - * https://builds.apache.org/job/ApacheJames/[CI]: Check the status of James builds on our Jenkins CI. - * xref:download.adoc[Download releases]: Download artifacts and sources your need for the James Server and James libraries. - * xref:support.adoc[Professional support]: Find a list of companies which can provide you some support on James. - -== Contribute - -James is a project that lives from the contributions of its community. *Anyone can contribute!* - -That's right, we always want to hear from people with contributions to the code, the documentation, the website, -and bug reports. We more than welcome non-coding contributions. - -You can find more information on how to contribute to the James project on the xref:contributing.adoc[contributing] section. - -== Articles for contributors - -** xref:website.adoc[] -** xref:release.adoc[] - -== The Apache Software Foundation - -James is a project belonging to the https://www.apache.org/[Apache Software Foundation [ASF\]]. Thus, the Apache Jame project -is governed by a number of xref:guidelines.adoc[guidelines] directly depending on the *ASF*. - -If you wish to get more involved with the *ASF* community in general, those links might interest you as well: - - * https://www.apache.org/foundation/getinvolved.html[Get involved with the ASF] - * https://www.apache.org/foundation/faq.html[Apache FAQ] - * https://www.apache.org/licenses/[Apache Licenses] - * https://www.apache.org/security/[The Apache security team] - * https://www.apache.org/foundation/sponsorship.html[Sponsorship program] - * https://www.apache.org/foundation/thanks.html[Sponsors list] diff --git a/docs/modules/community/pages/mailing-lists.adoc b/docs/modules/community/pages/mailing-lists.adoc deleted file mode 100644 index 5c80196f62..0000000000 --- a/docs/modules/community/pages/mailing-lists.adoc +++ /dev/null @@ -1,162 +0,0 @@ -= Mailing lists - -Please read the <<_guidelines>> below before subscribing to our lists and join our community. - -== James mailing lists - -Most James mailing lists are open and also archived and available online. -You can read them even if you are not subscribed. -You can post only if you are subscribed. - -=== Mailing list archives and web browsing - -You can browse the mailing list archives online using the https://lists.apache.org/list.html?james.apache.org[Pony Mail] instance. - -=== Server user list - -*Low traffic* -mailto:[email protected][Subscribe] -mailto:[email protected][Unsubscribe] -link:++https://lists.apache.org/[email protected]++[Archive] - -This is the list where users of the Apache James (Server) meet and discuss issues. Developers are also expected to be -subscribed to this list to offer support to users of Apache James (Server). - -=== Server developer list - -*Medium traffic* -mailto:[email protected][Subscribe] -mailto:[email protected][Unsubscribe] -link:++https://lists.apache.org/[email protected]++[Archive] - -This is the list where participating developers of the Apache James Project meet and discuss issues, code changes/additions, -etc. Do not send mail to this list with usage questions or configuration problems -- that's what server-user@james is for. - -=== Mime4j - -*Medium traffic* -mailto:[email protected][Subscribe] -mailto:[email protected][Unsubscribe] -link:++https://lists.apache.org/[email protected]++[Archive] - -Discussions on the http://james.apache.org/mime4j[Mime4j] parser library. - -=== James general list - -*Low traffic* -mailto:[email protected][Subscribe] -mailto:[email protected][Unsubscribe] -link:++https://lists.apache.org/[email protected]++[Archive] - -This is the list for general discussions related to the running of the project, it is the public list of the -James project management committee (PMC) and is a public list opened to all. Do not send mail to this list with James -software problems -- that's what server-user@james is for. - -=== Notifications mailing list - -*High traffic* -mailto:[email protected][Subscribe] -mailto:[email protected][Unsubscribe] -link:++https://lists.apache.org/[email protected]++[Archive] - -Subscribers to this list get notices of each and every code change, build results, testing notices, etc. This list is -not for asking help, raising issues or starting discussions on the james product -- other mailing lists are specifically -dedicated to that already. - -== How to unsubscribe your old email address - -First, find out the particular email address to which ezmlm is sending. The email headers are visible in Microsoft Outlook -via the messages menu "View | Options". - - Microsoft Mail Internet Headers Version 2.0 - ... - List-Unsubscribe: <mailto:[email protected]> - List-Help: <mailto:[email protected]> - List-Post: <mailto:[email protected]> - List-Id: "James Server Users List" <server-user.james.apache.org> - Reply-To: "James Server Users List" <[email protected]> - Delivered-To: mailing list [email protected] - ... - Return-Path: [email protected] - ... - -The _Return-Path_ header contains the email address which is subscribed. - -To stop subscription for the address [email protected]_, send an email to - -`server-dev-unsubscribe-john=\[email protected]` - -or to - -`server-user-unsubscribe-john=\[email protected]` - -== Guidelines - -A mailing list is an electronic discussion forum that anyone can subscribe to. When someone sends an email message to -the mailing list, a copy of that message is broadcasted to everyone who is subscribed to that mailing list. -Mailing lists provide a simple and effective communication mechanism for discussion and decision making. - -The *Apache Software Foundation* has well established reasons for using email and not other types of forum. -You may use a mail-news gateway, gmail or anything else you like but email is, and will remain, the official medium. - -With potentially thousands of subscribers, there is a common etiquette that you should observe. Please keep on reading. - -*Respect the mailing list type* - -* "User" lists are lists where you can send questions and comments about configuration, setup, usage and other "user" -types of questions. -* "Developer" lists are lists where you can send questions, comments and contributions about the project's software -source code and general "development" types of questions. - -Some questions are appropriate for posting on both the "user" and the "developer" lists. In this case, pick one and -only one. Do not cross post. - -Asking a configuration question on the developers list is frowned upon because developers' time is as precious as yours. -By contacting them directly instead of the users list you are abusing resources. It is unlikely that you will get a -quicker answer this way, those developers who have time to devote to providing support are also subscribed to the users -list. If you contact individuals directly, or post your user issues to the developer list you may get no answer at all. - -*Join the lists that are appropriate for your discussion* - -Please make sure that you are joining the list that is appropriated for the topic that you would like to discuss. -The general list is for discussions about the management and direction of the James project, not for "general support". - -*Ask smart questions* - -Every volunteer project obtains its strength from the people involved in it. You are welcome to join any of our mailing -lists. You can choose to lurk, or actively participate; it's up to you. The level of community responsiveness to -specific questions is generally directly proportional to the amount of effort you spend formulating your question. -Eric Raymond and Rick Moen have even written an essay entitled "Asking Smart Questions" precisely on this topic. -Although somewhat militant, it is definitely worth reading. - -*Note*: Please do NOT send your Java problems to the two authors. They welcome feedback on the FAQ's contents, but are -simply not a Java help resource. Follow the essay's advice and choose your forum carefully. - -*Keep your email short and to the point* - -If your email is more than about a page of text, chances are that it won't get read by very many people. It is much -better to try to pack a lot of informative information (see above about asking smart questions) into as small of an -email as possible. If you are replying to a previous email only quote the parts that you are replying to and to remove -the unnecessary bits. This makes it easier for people to follow a thread as well as making the email archives easier -to search and read. - -*Do your best to ensure that you are not sending HTML or "Stylelized" email to the list* - -If you are using Outlook or Outlook Express or Eudora, chances are that you are sending HTML email by default. There is -usually a setting that will allow you to send "Plain Text" email. If you are using Microsoft products to send email, -there are several bugs in the software that prevent you from turning off the sending of HTML email. - -*Watch where you are sending email* - -The majority of our mailing lists have set the Reply-To to go back to the list. That means that when you Reply to a -message, it will go to the list and not to the original author directly. The reason is because it helps facilitate -discussion on the list for everyone to benefit from. Be careful of this as sometimes you may intend to reply to a -message directly to someone instead of the entire list. The appropriate contents of the Reply-To header is an age-old -debate that should not be brought up on the mailing lists. You can examine opposing points of view condemning our -convention and condoning it. Bringing this up for debate on a mailing list will add nothing new and is considered off-topic. - -*Do not cross post messages* - -In other words, pick one mailing list and send your messages to that mailing list only. Do not send your messages to -multiple mailing lists. The reason is that people may be subscribed to one list and not to the other. Therefore, some -people will only see part of the conversation. diff --git a/docs/modules/community/pages/release.adoc b/docs/modules/community/pages/release.adoc deleted file mode 100644 index 34bbfc9b29..0000000000 --- a/docs/modules/community/pages/release.adoc +++ /dev/null @@ -1,230 +0,0 @@ -= Creating an official Apache James release - -Read details about http://www.apache.org/dev/publishing-maven-artifacts.html[Publishing Maven releases to Maven Central Repository] - -In short, just follow the 'standard' process: - -* prepare pom for release -* publish snapshot -* prepare release -* stage the release for a vote (don't forget to close the staging repository) -* vote -* release - -Don't forget to add your key to https://downloads.apache.org/james/KEYS - - $ ssh people.apache.org - $ cd /www/www.apache.org/dist/james - -== Release cheat sheet - -First, discuss your intention to perform a release on server-dev mailing list, to ensure a consensus would be reached -before starting this time-consuming process. - -Then you can prepare the release materials: - - * Ensure the `CHANGELOG.md` and `upgrade-instructions.md` files are up to date. - * Freeze your version in it and initiate a new iteration. - * Write a blog post within `/src/homepage/_post` about your release. - * Update the documentation website `/docs`, `src/site`, and `README.md` to point to your new release. - * Update the `/dockerfiles` - -Open a pull request to validate the changes. - -=== Running a maven release - -Once merged, it is time for the maven release. - -Set up your maven configuration in `~/.m2/settings.xml` : - -[source,bash] ----- -<settings> - <servers> - <server> - <id>apache.snapshots.https</id> - <username>apacheId</username> - <password>xxxxxx</password> - </server> - <!-- To stage a release of some part of Maven --> - <server> - <id>apache.releases.https</id> - <username>apacheId</username> - <password>xxxxxxxx</password> - </server> - <server> - <id>svn.apache.org</id> - <username>apacheId</username> - <password>xxxxxx</password> - </server> - - </servers> -</settings> ----- - -Ensure that released branch HEAD have a clean green build on the CI. - -Run these commands to perform a release, from the master branch: - -[source,bash] ----- -mvn clean install -DskipTests -Djib.skip -Dmaven.javadoc.skip=true -T 4 - -mvn deploy -DskipTests -Dskip.jib -Dmaven.javadoc.skip=true -T 8 - -mvn release:clean - -mvn release:prepare -Darguments="-Dmaven.javadoc.skip=true -DskipTests -Dskip.jib" -DautoVersionSubmodules=true - -mvn release:perform -Darguments="-Dmaven.javadoc.skip=true -DskipTests -Dskip.jib" -DautoVersionSubmodules=true ----- - -Failure to react when being prompted for git or GPG credentials might abort the release. GPG agent with a reasonable session time can be used to unlock the key before hand and reduce this risk. - -Then visit https://repository.apache.org/#stagingRepositories[Apache maven repository], go in staging repository, close -the corresponding artifact before performing the vote. - -=== Voting procedure - -Send the following voting template on the server-dev mailing list to call the vote: - -[source] ----- -Subject: Call for vote: Apache James x.x.x - -Hi, - -I would like to propose a new vote for x.x.x release of the Apache James server. - -You can find: - - - The maven release staged in repository.apache.org as the -artifact #xxx: -https://repository.apache.org/content/repositories/orgapachejames-xxx/ - - The changelog for -x.x.x: -https://github.com/apache/james-project/blob/master/CHANGELOG.md - - The compatibility instructions/upgrade -recommendation: -https://github.com/apache/james-project/blob/master/upgrade-instructions.md#360-version - -[You can comment on major changes ] - -Voting rules: - - This is a majority approval: this release may not be vetoed. - - A quorum of 3 binding votes is required - - The vote starts at XXXXXX xxxth of xxxxx xxxx, xxxx UTC+x - - The vote ends at XXXXXX xxxth of xxxxx xxxx, xxxx UTC+x - -You can answer to it just with +1 and -1. Down-votes may be motivated. - -3 binding votes are expected move forward on this release. - -Cheers, - -PMC member name ----- - -After the voting period, do the voting aftermaths. Reply in the voting thread: - -[source] ----- -Hi all, - -I am happy to announce you the vote for the x.x.x release did succeed. - -The release received X positive votes, X of them being binding. - -Thanks to all contributors, developers and committers who made this -possible! - -In the coming hours, I will finalize the release process, namely: - -- Publish the maven artifacts -- Upgrade the download page and the (old) website -- Announce the release - -Cheers, - -PMC member name ----- - -=== Convenience downloads for your release - -Clone this SVN repository: `https://dist.apache.org/repos/dist/release/james` - -Create a folder for your release: - -[source] ----- -mkdir server/3.x.x -cd server/3.x.x -svn add . ----- - -Move the release zipped data in this folder: - -- The convenience ZIPs needs to be downloaded from there staged repository. This includes server/app. -- sources can be obtained from GitHub tag - -I use the following script to set up the uploads: - -[source] ----- -% cat /usr/local/bin/auto_sig -#/bin/bash - -# This quick bash scipt intend to help commiters -# preparing artifacts for SVN upload. -# -# Performs: -# - Hashing (sha1 + sha512) -# - Signing (main) -# - Position SVN properties -# -# $1: file to prepare -# $2: Key footprint to use for signing - -sha512sum $1 > $1.sha512 -gpg -u $2 --output $1.asc --detach-sig --armor $1 -svn add $1 -svn propset svn:mime-type application/octet-stream $1 -svn add $1.sha512 -svn add $1.asc -svn propset svn:mime-type application/octet-stream $1.asc ----- - -Once done it is time to commit! `svn commit -m "Upload convenience artifacts for James release 3.x.x"` - -The convenience binaries will then be available. Check that the links of the download page works. - -Cleanup: Only supported release lines should be maintained. Archive the previous release by deleting them from `repos/dist/release` - the INFRA will automatically move them to archive: - -[source] ----- -svn rm 3.5.0 -svn commit -m "Archive James release 3.5.0" ----- - -=== Push docker containers - -WARNING: Docker images are not considered as an official Apache release materials yet the Apache JAMES PMC members decided -to offer their community with a set of maintained docker images, for convenience. - -Docker images includes: - -- apache/james:memory-3.x.x built from https://github.com/apache/james-project/tree/master/server/apps/memory-app -- apache/james:jpa-3.x.x built from https://github.com/apache/james-project/tree/master/server/apps/jpa-app -- apache/james:demo-3.x.x built from https://github.com/apache/james-project/tree/master/server/apps/provisioned-app -- apache/james:cassandra-3.x.x build from https://github.com/apache/james-project/tree/master/server/apps/cassandra-app -- apache/james:distributed-3.x.x built from https://github.com/apache/james-project/tree/master/server/apps/distributed-app - -As a committer contact the INFRA and hand them your docker-hub account to get the permission. - -=== Other steps - -Once done: - - * Deploy website changes - * Send an announce on server-user - * Send an Apache foundation wide announce diff --git a/docs/modules/community/pages/support.adoc b/docs/modules/community/pages/support.adoc deleted file mode 100644 index b9bfae9941..0000000000 --- a/docs/modules/community/pages/support.adoc +++ /dev/null @@ -1,28 +0,0 @@ -= Professional support - -Here is a list of companies which can provide you some support on James. - -== Baechler Craftsmanship - -mailto:[email protected][*Baechler Craftsmanship*] has a very strong knowledge both on email and James. The company is -run by a long-time contributor and PMC of James which contributed significant enhancements -over the years. - -The company is committed to contribute to James and offers consultancy for companies willing -to use James on their own infrastructure and/or need enhancements to fit their own needs. - -Free Software is a core value of the company and it can also help customers to work with -James community in an efficient and positive way. - -== Linagora - -image::linagora.png[link=https://linagora.com] - -*Linagora* is an Open Source Software Company. - -Their mission is to bring digital independence to their customers. - -They are focused on large organizations both from private and public sector. They have set themselves the goal of -helping Governments to achieve their digital sovereignty. - -*Linagora* can offer professional services related to James: support, feature development or project integration. diff --git a/docs/modules/community/pages/website.adoc b/docs/modules/community/pages/website.adoc deleted file mode 100644 index 6cfdbd50d3..0000000000 --- a/docs/modules/community/pages/website.adoc +++ /dev/null @@ -1,182 +0,0 @@ -= Building and publishing the website -:path: src/homepage - -The source code of website https://james.apache.org[james.apache.org] is -located in {path}. - -Here are the instructions how to publish new changes to the website. - -The website is currently composed of the output of - -- The homepage build -- The maven site - -[WARNING] -.https://issues.apache.org/jira/browse/JAMES-3187[Documentation migration] -==== -We are migrating the content of the maven site to use xref:_building_the_next_gen_documentation[antora documentation] instead. - -Most of the useful content has been migrated but the new documentation is not -yet published to the main site. It can be found on the -https://james.staged.apache.org[staging version] of the website. -==== - -== Building the homepage - -You can use jekyll to build the website. Go into `{path}` and run the following command - -=== Docker - -[WARNING] -==== -The official docker image `jekyll/jekyll` is unmaintained and is not compatible with jekyll version beyond 4.2.2. -In this documentation we suggest a replacement `jvconseil/jekyll-docker` but note that this is not an official image. -Use at your own risks. -==== - -[source,shell] ----- -$ docker run --rm -v="$PWD:/srv/jekyll:Z" -it jvconseil/jekyll-docker:4 jekyll build ----- - -The resulting deployable content will be available in the `{path}/_site/` -directory. - -In order to test the homepage, you can use this command: -[source,shell] ----- -$ docker run --rm -v $PWD/site:/srv/jekyll -p 4000:4000 -it jvconseil/jekyll-docker:4 jekyll serve ----- -The site will be available at http://localhost:4000/ - - -If you need to update the current site, checkout the branch asf-site from -Apache git: -[source,shell] ----- -$ git clone https://git-wip-us.apache.org/repos/asf/james-site.git -$ cd james-site -$ git checkout origin/asf-site -b asf-site ----- - -make sure to build the site then copy the output to - -[source,shell] ----- -$ docker run --rm -v="$PWD:/srv/jekyll:Z" -it jvconseil/jekyll-docker:4 jekyll build -$ cp ../james-site/content ----- - -Then just push the new site: -[source,shell] ----- -$ cd ../james-site -$ git push origin asf-site ----- - -=== Experimental nix environment - -From the root of the repository checkout, you can use the flake's devshell - -[source,shell] ----- -$ cd src/homepage -$ nix develop ----- - -Then use jekyll directly - -[source,shell] ----- -$ jekyll serve -# or -$ jekyll build ----- - -==== Gemset update for nix - -Updating the gemset to track the gemfile updates is a bit involved : - -. ensure you are out of all nix devshell (check using `echo $SHLVL` it should be 1) -. create a temporary shell for gem manipulation `nix-shell -p ruby -p bundix` -. update the gemfile then run -+ -[,shell] ----- -BUNDLE_FORCE_RUBY_PLATFORM="true" bundle lock --update -bundix -l ----- -. exit the temporary shell and enter the devShell again `nix develop` - -== Maven site - -The maven site deploy phase uses and requires locally configuring credentials to -enable ssh access. See -http://maven.apache.org/plugins/maven-deploy-plugin/examples/deploy-ssh-external.html[maven-deploy-plugin's documentation] for more details on achieving this. - -WARNING: Generating the full maven site with all reports takes a long time -(as in hours) - -=== Manually - -1. Install Apache Maven 3.0.2+ and make its binary 'mvn' available on your PATH. -See http://maven.apache.org/download.html#Installation. -2. run `mvn clean package site -Djib.skip` -3. Test the built site in your browser from the `{path}/target/site` folder -4. If everything looks OK, deploy the site using `mvn clean site-deploy`. -5. Wait for the changes to replicate to the Apache web server or setup -140.211.11.10:80 as a proxy to review the changes (described here: -http://www.apache.org/dev/project-site.html) - -=== Docker - -Can be used only to build the site locally - -[WARNING] -.Contribution welcome -==== -The docker file in `src/site-docker` is currently broken: - -- outdated JDK (11 instead of 21) -- "manual" download of maven from a link which doesn't resolve anymore - -prepare for some tinkering before building using this method. -==== - -[source,shell] ----- -$ docker build -t james/site src/site-docker -$ docker run -v $PWD/.m2:/root/.m2 -v $PWD:/origin -v $PWD/site:/destination james/site master ----- - -=== Nix development shell - -Enter the xref:contributing.adoc#_experimental_nix_support[james experimental -development shell] with `nix develop`. - -1. run `mvn clean package site -Djib.skip` -2. Test the built site in your browser from the `{path}/target/site` folder -3. If everything looks OK, deploy the site using `mvn clean site-deploy`. -4. Wait for the changes to replicate to the Apache web server or setup -140.211.11.10:80 as a proxy to review the changes -(see: http://www.apache.org/dev/project-site.html) - -=== Technical reports - -To deploy the technical reports use any of the 3 ways above adding the -`-Psite-reports` profile. - -== Building the next gen documentation - -The old maven site is quite painful to maintain and doesn't allow for -versionning of the content per releases which motivated the -https://issues.apache.org/jira/browse/JAMES-3187[migration effort]. - -Most of the maven site content has been migrated to asciidoc files assembled by -antora. You can preview the content at https://james.staged.apache.org, this -documentation is published automatically by the james CI. - -This new documentation root is located in the `docs` directory and includes -these build instructions. - -include::partial$antora.adoc[] diff --git a/docs/modules/community/partials/antora.adoc b/docs/modules/community/partials/antora.adoc deleted file mode 100644 index 69a03a8b6a..0000000000 --- a/docs/modules/community/partials/antora.adoc +++ /dev/null @@ -1,60 +0,0 @@ -== Building the next gen documentation -:page-partial: - -The old maven site is quite painful to maintain and doesn't allow for -versionning of the content per releases which motivated the -https://issues.apache.org/jira/browse/JAMES-3187[migration effort]. - -Most of the maven site content has been migrated to asciidoc files assembled by -antora. You can preview the content at https://james.staged.apache.org, this -documentation is published automatically by the james CI. - -This new documentation root is located in the `docs` directory and includes -these build instructions. - -=== Executing within source code - -(Clone `https://github.com/apache/james-project` locally, go into `docs` folder) - -. https://docs.antora.org/antora/latest/install-and-run-quickstart/[Install Antora] - -. Build the Antora content locally -+ -[,shell] ----- - $ antora antora-playbook-local.yml ----- -+ -. Open `build/site/index.html` in your browser. - -=== Building with Dockerfile - -To build the document from apache-james repository, you can use the Dockerfile provided in this folder. - -Build the Docker image: - ----- -docker build --build-arg JAMES_CHECKOUT=master -f Dockerfile -t james-site-antora . ----- - -Then run the Docker image: - ----- -docker run -p 80:80 james-site-antora ----- - -Go to `http://localhost` in your browser. - -=== Build with the nix enviroment - -Enter the xref:contributing.adoc#_experimental_nix_support[james experimental -development shell] with `nix develop` - -. Build the Antora content locally -+ -[,shell] ----- - $ antora antora-playbook-local.yml ----- -+ -. Open `build/site/index.html` in your browser. \ No newline at end of file diff --git a/docs/modules/development/pages/index.adoc b/docs/modules/development/pages/index.adoc index 659766bafd..8017522d00 100644 --- a/docs/modules/development/pages/index.adoc +++ b/docs/modules/development/pages/index.adoc @@ -3,7 +3,7 @@ This page aggregates common knowledge for contributing to Apache james servers. -xref:community:contributing.adoc[Contribution guidelines] apply. +link:https://james.apache.org/contribute.html[Contribution guidelines] apply. xref:logging.adoc[This page] explains how *logging* should be done. diff --git a/docs/ui-overrides/partials/header-content.hbs b/docs/ui-overrides/partials/header-content.hbs index 68461dded7..1f6034bd8e 100644 --- a/docs/ui-overrides/partials/header-content.hbs +++ b/docs/ui-overrides/partials/header-content.hbs @@ -28,8 +28,7 @@ <div class="navbar-item has-dropdown is-hoverable"> <a class="navbar-link" href="#">Community</a> <div class="navbar-dropdown"> - <!-- Not ideal but dropping the version in the href requires tweaking james-projet docs module first --> - <a class="navbar-item" href="/james-project/3.7.3/community/mailing-lists.html">Mailing lists</a> + <a class="navbar-item" href="https://james.apache.org/mail.html">Mailing lists</a> <a class="navbar-item" href="https://gitter.im/apache/james-project"><svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 32 32" class="logo-gitter-sign" data-v-44ebcb1a=""><rect x="15" y="5" width="2" height="10"></rect> <rect x="10" y="5" width="2" height="20"></rect> <rect x="5" y="5" width="2" height="20"></rect> <rect width="2" height="15"></rect></svg> Gitter</a> <a class="navbar-item" href="https://twitter.com/ApacheJames"> <span class="icon"> --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
