diff --git a/.github/ISSUE_TEMPLATE/feature_request.yml b/.github/ISSUE_TEMPLATE/feature_request.yml
index 276f46d0a0..1b178ff804 100644
--- a/.github/ISSUE_TEMPLATE/feature_request.yml
+++ b/.github/ISSUE_TEMPLATE/feature_request.yml
@@ -6,8 +6,8 @@ labels: [feature request]
body:
- type: textarea
attributes:
- label: Feature Description
- description: "Briefly describe the feature you would like to see added to the project."
+ label: User Story
+ description: "As a [user], I want [goal] so that [some reason]."
placeholder: "Provide a brief overview of the feature..."
validations:
required: true
@@ -54,7 +54,7 @@ body:
- type: textarea
attributes:
- label: Additional Context
- description: "Provide any additional context, such as similar features in other projects, screenshots, or mockups."
+ label: Acceptance Criteria
+ description: Set up the scenario. Given [x] When [y] Then [z].
validations:
required: false
diff --git a/.github/ISSUE_TEMPLATE/task.yml b/.github/ISSUE_TEMPLATE/task.yml
new file mode 100644
index 0000000000..0e10cf3fcc
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/task.yml
@@ -0,0 +1,16 @@
+name: Task
+description: A workitem that needs to be done while developing a story, feature, addressing tech debt, documentation, etc.
+labels: [task]
+
+body:
+ - type: textarea
+ attributes:
+ label: Description
+ description: A concise description of the task or suggested implementation.
+ render: markdown
+ - type: textarea
+ attributes:
+ label: Acceptance Criteria
+ description: Tell us what should happen, how will we know when we're done.
+ render: markdown
+
diff --git a/.gitignore b/.gitignore
index 6829678390..e13cd67e59 100644
--- a/.gitignore
+++ b/.gitignore
@@ -17,3 +17,4 @@ tagfile
/web
.phpunit.result.cache
docs/build
+docs/.venv
diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md
deleted file mode 100644
index acf6cfb434..0000000000
--- a/CODE_OF_CONDUCT.md
+++ /dev/null
@@ -1,76 +0,0 @@
-# Code of Conduct
-
-## Purpose
-
-A primary goal of the Project DKAN is to be inclusive to the largest number of participants, with the most varied and diverse backgrounds possible. As such, we are committed to providing a friendly, safe and welcoming environment for all, regardless of gender, sexual orientation, ability, ethnicity, socioeconomic status, and religion (or lack thereof).
-
-This code of conduct outlines our expectations for all those who participate in our community, as well as the consequences for unacceptable behavior.
-
-We invite all those who participate in Project DKAN activities to help us create safe and positive experiences for everyone.
-
-## Open source & culture citizenship
-
-A supplemental goal of this Code of Conduct is to increase open source and culture citizenship by encouraging participants to recognize and strengthen the relationships between our actions and their effects on our community.
-
-Communities mirror the societies in which they exist and positive action is essential to counteract the many forms of inequality and abuses of power that exist in society.
-
-If you see someone who is making an extra effort to ensure our community is welcoming, friendly, and encourages all participants to contribute to the fullest extent, please recognize their efforts.
-
-## Expected Behavior
-
-The following behaviors are expected and requested of all community members:
-
-- Participate in an authentic and active way. In doing so, you contribute to the health and longevity of this community.
-- Exercise consideration and respect in your speech and actions.
-- Attempt collaboration before conflict.
-- Refrain from demeaning, discriminatory, or harassing behavior and speech.
-- Be mindful of your surroundings and of your fellow participants. Alert community leaders if you notice a dangerous situation, someone in distress, or violations of this Code of Conduct, even if they seem inconsequential.
-- Keep conversations in appropriate channels to help people find the information they need.
-
-## Unacceptable behavior
-
-The following behaviors are considered harassment and are unacceptable within our community:
-
-- Violence, threats of violence or violent language directed against another person.
-- Sexist, racist, homophobic, transphobic, ableist or otherwise discriminatory jokes and language.
-- Posting or displaying sexually explicit or violent material.
-- Posting or threatening to post other people's personally identifying information ("doxing").
-- Personal insults, particularly those related to gender, sexual orientation, race, religion, or disability.
-- Inappropriate photography or recording.
-- Unwelcome sexual attention. This includes, sexualized comments or jokes and unwelcomed sexual advances.
-- Deliberate intimidation, stalking or following (online or in person).
-- Advocating for, or encouraging, any of the above behavior.
-- Promoting your particular product or service (though we of course welcome relevant recommendations).
-
-
-## Consequences of unacceptable behavior
-
-Unacceptable behavior from any community member, including sponsors and those with decision-making authority, will not be tolerated.
-
-Anyone asked to stop unacceptable behavior is expected to comply immediately.
-If a community member engages in unacceptable behavior, we may take any action deemed appropriate, up to and including a temporary ban or permanent expulsion from the community without warning.
-
-**Reporting guidelines**
-
-If you are subject to or witness unacceptable behavior, or have any other concerns, please notify us as soon as possible by emailing getdkan@gmail.com.
-
-## Addressing grievances
-
-Only permanent resolutions (such as bans) may be appealed. To appeal a decision of the working group, contact the Project DKAN team at getdkan@gmail.com with your appeal and the team will review the case.
-
-## Scope
-
-We expect all community participants (contributors, paid or otherwise; sponsors; and other guests) to abide by this Code of Conduct in all community venues–online and in-person–as well as in all one-on-one communications pertaining to community business.
-
-This code of conduct and its related procedures also applies to unacceptable behavior occurring outside the scope of community activities when such behavior has the potential to adversely affect the safety and well-being of community members.
-
-## Contact info
-
-Project DKAN, getdkan@gmail.com
-
-## Contributing
-[Learn more about contributing here](https://dkan.readthedocs.io/en/latest/contributing/index.html)
-
-## License and attribution
-
-This Code of Conduct is distributed under a [Creative Commons Attribution-ShareAlike license](http://creativecommons.org/licenses/by-sa/3.0/). Portions of text derived from the [Django Code of Conduct ](https://www.djangoproject.com/conduct/) and the [Geek Feminism Anti-Harassment Policy](http://geekfeminism.wikia.com/wiki/Conference_anti-harassment/Policy).
diff --git a/cypress/integration/08_admin_views.spec.js b/cypress/integration/08_admin_views.spec.js
index b183bda58c..f02934492a 100644
--- a/cypress/integration/08_admin_views.spec.js
+++ b/cypress/integration/08_admin_views.spec.js
@@ -48,6 +48,7 @@ context('Admin content and dataset views', () => {
cy.get('input[aria-controls="select2-edit-field-json-metadata-0-value-keyword-keyword-0-results"]').type('open data{enter}')
// End filling up keyword.
cy.get('#edit-submit').click({ force:true })
+ cy.wait(2000)
cy.get('.button').contains('Yes').click({ force:true })
cy.get('.messages--status').should('contain','has been created')
})
diff --git a/docs/source/conf.py b/docs/source/conf.py
index c22cd5d941..c912f4c9dd 100644
--- a/docs/source/conf.py
+++ b/docs/source/conf.py
@@ -19,11 +19,11 @@
# -- Project information -----------------------------------------------------
project = 'DKAN Documentation'
-copyright = '2023, CivicActions'
+copyright = '2024, CivicActions'
author = 'CivicActions'
# The full version, including alpha/beta/rc tags
-release = '2.15.2'
+release = '2.19.2'
version = '2.x'
# -- General configuration ---------------------------------------------------
diff --git a/docs/source/contributing/code_of_conduct.rst b/docs/source/contributing/code_of_conduct.rst
index 0a0fe42f6b..6cb1146026 100644
--- a/docs/source/contributing/code_of_conduct.rst
+++ b/docs/source/contributing/code_of_conduct.rst
@@ -1,2 +1,89 @@
-.. include:: ../../../CODE_OF_CONDUCT.md
- :parser: myst_parser.docutils_
+Code of Conduct
+===============
+
+Purpose
+-------
+
+A primary goal of the Project DKAN is to be inclusive to the largest number of participants, with the most varied and diverse backgrounds possible. As such, we are committed to providing a friendly, safe and welcoming environment for all, regardless of gender, sexual orientation, ability, ethnicity, socioeconomic status, and religion (or lack thereof).
+
+This code of conduct outlines our expectations for all those who participate in our community, as well as the consequences for unacceptable behavior.
+
+We invite all those who participate in Project DKAN activities to help us create safe and positive experiences for everyone.
+
+Open source & culture citizenship
+---------------------------------
+
+A supplemental goal of this Code of Conduct is to increase open source and culture citizenship by encouraging participants to recognize and strengthen the relationships between our actions and their effects on our community.
+
+Communities mirror the societies in which they exist and positive action is essential to counteract the many forms of inequality and abuses of power that exist in society.
+
+If you see someone who is making an extra effort to ensure our community is welcoming, friendly, and encourages all participants to contribute to the fullest extent, please recognize their efforts.
+
+Expected Behavior
+-----------------
+
+The following behaviors are expected and requested of all community members:
+
+- Participate in an authentic and active way. In doing so, you contribute to the health and longevity of this community.
+- Exercise consideration and respect in your speech and actions.
+- Attempt collaboration before conflict.
+- Refrain from demeaning, discriminatory, or harassing behavior and speech.
+- Be mindful of your surroundings and of your fellow participants. Alert community leaders if you notice a dangerous situation, someone in distress, or violations of this Code of Conduct, even if they seem inconsequential.
+- Keep conversations in appropriate channels to help people find the information they need.
+
+Unacceptable behavior
+---------------------
+
+The following behaviors are considered harassment and are unacceptable within our community:
+
+- Violence, threats of violence or violent language directed against another person.
+- Sexist, racist, homophobic, transphobic, ableist or otherwise discriminatory jokes and language.
+- Posting or displaying sexually explicit or violent material.
+- Posting or threatening to post other people's personally identifying information ("doxing").
+- Personal insults, particularly those related to gender, sexual orientation, race, religion, or disability.
+- Inappropriate photography or recording.
+- Unwelcome sexual attention. This includes, sexualized comments or jokes and unwelcomed sexual advances.
+- Deliberate intimidation, stalking or following (online or in person).
+- Advocating for, or encouraging, any of the above behavior.
+- Promoting your particular product or service (though we of course welcome relevant recommendations).
+
+
+Consequences of unacceptable behavior
+-------------------------------------
+
+Unacceptable behavior from any community member, including sponsors and those with decision-making authority, will not be tolerated.
+
+Anyone asked to stop unacceptable behavior is expected to comply immediately.
+If a community member engages in unacceptable behavior, we may take any action deemed appropriate, up to and including a temporary ban or permanent expulsion from the community without warning.
+
+**Reporting guidelines**
+
+If you are subject to or witness unacceptable behavior, or have any other concerns, please notify us as soon as possible by emailing getdkan@gmail.com.
+
+Addressing grievances
+---------------------
+
+Only permanent resolutions (such as bans) may be appealed. To appeal a decision of the working group, contact the Project DKAN team at getdkan@gmail.com with your appeal and the team will review the case.
+
+Scope
+-----
+
+We expect all community participants (contributors, paid or otherwise; sponsors; and other guests) to abide by this Code of Conduct in all community venues–online and in-person–as well as in all one-on-one communications pertaining to community business.
+
+This code of conduct and its related procedures also applies to unacceptable behavior occurring outside the scope of community activities when such behavior has the potential to adversely affect the safety and well-being of community members.
+
+Contributing
+------------
+
+Learn more about :doc:`contributing <../contributing/index>` here.
+
+Contact info
+------------
+
+Project DKAN, getdkan@gmail.com
+
+
+License and attribution
+-----------------------
+
+This Code of Conduct is distributed under a `Creative Commons Attribution-ShareAlike license `_. Portions of text derived from the `Django Code of Conduct `_ and the `Geek Feminism Anti-Harassment Policy `_.
diff --git a/docs/source/contributing/index.rst b/docs/source/contributing/index.rst
index eae23fbd9f..dd1c3482f4 100644
--- a/docs/source/contributing/index.rst
+++ b/docs/source/contributing/index.rst
@@ -5,6 +5,7 @@ Contributing
:maxdepth: 1
submission_guidelines
- documentation
code_of_conduct
+ documentation
+ support
license
diff --git a/docs/source/contributing/submission_guidelines.rst b/docs/source/contributing/submission_guidelines.rst
index 5db603511f..283d244d14 100644
--- a/docs/source/contributing/submission_guidelines.rst
+++ b/docs/source/contributing/submission_guidelines.rst
@@ -18,6 +18,17 @@ Our efforts will be focused on the 2.x version of DKAN. If you are reporting a b
and it is not a security issue, we encourage you to reach out on the
`DKAN Discussions `_.
+Setting up a local development sandbox
+--------------------------------------
+
+We recomend using DDEV with the DDEV-DKAN add-on as there are many helpful commands that will make it easier to get started.
+Once you have composer, docker, and DDEV `installed `_, head over to `Getting Started with DDEV-DKAN `_
+
+Issues tagged Good First Issue
+------------------------------
+
+Issues tagged with the "Good First Issue" tag have been identified by experienced contributors as having some aspect that should be easy for a new contributor to do.
+
Submitting a Pull Request (PR)
------------------------------
@@ -34,3 +45,8 @@ and push the changes to your GitHub repository, which will automatically update
At all times, please ensure the automated build passes so that a minimal amount of tests are passed for your code.
After your PR is merged, you can safely delete your branch and pull the changes from the main (upstream) repository.
+
+Coding Standards
+----------------
+
+`Coder `_ is a tool to help write code for Drupal modules. It can detect and automatically fix coding standard errors. The project provides a coding standard for PHP_CodeSniffer based on the `Drupal coding standard `_
diff --git a/docs/source/contributing/support.rst b/docs/source/contributing/support.rst
new file mode 100644
index 0000000000..5b29b7f79e
--- /dev/null
+++ b/docs/source/contributing/support.rst
@@ -0,0 +1,18 @@
+Support and Help
+================
+
+Github issues should not be used as a support forum. Please use `DKAN Discussions `_ for questions about the project.
+
+Please seek support in the following ways:
+
+ #. Read the `documentation `_ and other guides for the project to see if you can figure it out on your own. These are also located in the root docs/ directory.
+ #. Check that you're on the latest version before reporting an issue.
+ #. Check the issue queue for the same or similar issues to the one you're having.
+ #. Search for answers and ask questions on `DKAN Discussions `_. This is the most appropriate place for debugging issues specific to your use of the project, or figuring out how to use the project in a specific way. Please clearly explain what you are trying to do, and list what you have already attempted to solve the problem. Provide code samples, but do not attach your entire project for someone else to debug.
+ #. Come back and tell the community if a particular solution worked for you or not. You will help people who come after you.
+
+Be patient. DKAN maintainers work full time on projects that support the development of the module and may be slow to respond to discussions depending on work loads.
+
+Reporting a security issue
+--------------------------
+If you have found a vunerability in DKAN, please report this by e-mailing dkan-security@civicactions.com.
diff --git a/docs/source/installation/index.rst b/docs/source/installation/index.rst
index 3921ef1687..81bc01235f 100644
--- a/docs/source/installation/index.rst
+++ b/docs/source/installation/index.rst
@@ -27,24 +27,22 @@ DKAN is based on `Drupal software `_ to generate a new Drupal site with DKAN installed on your system.
+
+Starting a new DKAN project with Composer
+-----------------------------------------
DKAN DDEV Add-on bases new projects off of a `composer project `_ that you can also use to start a project using your own toolset:
.. prompt:: bash $
composer create-project getdkan/recommended-project my-project
-Or simply create a project however you prefer and add a requirement for `getdkan/dkan`.
-
-.. warning::
- Do note that a bug in Drupal core cron may cause problems with data imports, and applying `this patch `_ is highly recommended. The patch will be applied automatically if you use the `recommended project `_.
-
Adding DKAN into an existing project
-----------------------------------------
+------------------------------------
If you already have an existing Drupal site, install DKAN with `composer `_. You can find the `latest DKAN release here `_. Composer will download the module and all of the dependencies it requires for the backend.
@@ -53,7 +51,11 @@ If you already have an existing Drupal site, install DKAN with `composer `_ is highly recommended. The patch will be applied automatically if you use the `recommended project `_.
+
+Add some example datasets to your site
+--------------------------------------
.. prompt:: bash $