From 461af1d662786cac45541e8d3761f05b233352bc Mon Sep 17 00:00:00 2001 From: MilagrosMarin Date: Thu, 23 Jan 2025 12:49:46 +0000 Subject: [PATCH 01/22] fix: fix URL with DataJoint domain --- mkdocs.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mkdocs.yaml b/mkdocs.yaml index d2d91b3..a0db789 100644 --- a/mkdocs.yaml +++ b/mkdocs.yaml @@ -1,7 +1,7 @@ # ---------------------- PROJECT SPECIFIC --------------------------- site_name: DataJoint Documentation -site_url: http://localhost/docs +site_url: https://datajoint.com/docs repo_name: datajoint/datajoint-docs repo_url: https://github.com/datajoint/datajoint-docs nav: @@ -127,7 +127,7 @@ extra: - icon: fontawesome/brands/python link: https://pypi.org/user/datajointbot name: PyPI - - icon: fontawesome/brands/stack-overflow +TODO: - icon: fontawesome/brands/stack-overflow link: https://stackoverflow.com/questions/tagged/datajoint name: StackOverflow - icon: fontawesome/brands/youtube From cde718b50dabb5f2196b7738408fb13c70a7ecdb Mon Sep 17 00:00:00 2001 From: MilagrosMarin Date: Thu, 23 Jan 2025 12:50:43 +0000 Subject: [PATCH 02/22] fix: update citation.md --- src/about/citation.md | 70 +++++++++++++++++++++++++++++++++---------- 1 file changed, 54 insertions(+), 16 deletions(-) diff --git a/src/about/citation.md b/src/about/citation.md index 926ea85..54fa1e5 100644 --- a/src/about/citation.md +++ b/src/about/citation.md @@ -1,27 +1,65 @@ # Citation Guidelines -If your work uses the DataJoint Python, MATLAB, or Elements, please cite the -respective manuscripts and Research Resource Identifiers (RRIDs). +When your work uses the DataJoint Python, MATLAB, or Elements framework, please cite the +respective manuscripts and include their associated Research Resource Identifiers +(RRIDs). Proper citation helps credit the contributors and supports the broader +scientific community by highlighting the tools used in research. -## DataJoint Python and MATLAB +## Citing DataJoint Elements -- Yatsenko D, Reimer J, Ecker AS, Walker EY, Sinz F, Berens P, Hoenselaar A, Cotton - RJ, Siapas AS, Tolias AS. DataJoint: managing big scientific data using MATLAB or - Python. bioRxiv. 2015 Jan 1:031658. doi: https://doi.org/10.1101/031658 +If your work utilizes **DataJoint Elements**, please cite the following manuscript: -- [RRID:SCR_014543](https://scicrunch.org/resolver/SCR_014543) +- **Manuscript**: Yatsenko D, Nguyen T, Shen S, Gunalan K, Turner CA, Guzman R, Sasaki + M, Sitonic D, Reimer J, Walker EY, Tolias AS. DataJoint Elements: Data Workflows for + Neurophysiology. bioRxiv. 2021 Jan 1. doi: https://doi.org/10.1101/2021.03.30.437358 -## DataJoint Relational Model +- **RRID**: [RRID:SCR_021894](https://scicrunch.org/resolver/SCR_021894) -- Yatsenko D, Walker EY, Tolias AS. DataJoint: a simpler relational data model. - arXiv:1807.11104. 2018 Jul 29. doi: https://doi.org/10.48550/arXiv.1807.11104 +You should also cite the **DataJoint Core manuscript** detailed below. -- [RRID:SCR_014543](https://scicrunch.org/resolver/SCR_014543) +## Citing the DataJoint Relational Model -## DataJoint Elements +For any work relying on the **DataJoint Relational Model**, include the following +citation: -- Yatsenko D, Nguyen T, Shen S, Gunalan K, Turner CA, Guzman R, Sasaki M, Sitonic D, - Reimer J, Walker EY, Tolias AS. DataJoint Elements: Data Workflows for - Neurophysiology. bioRxiv. 2021 Jan 1. doi: https://doi.org/10.1101/2021.03.30.437358 +- **Manuscript**: Yatsenko D, Walker EY, Tolias AS. DataJoint: A simpler relational data + model. arXiv:1807.11104. 2018 Jul 29. doi: https://doi.org/10.48550/arXiv.1807.11104 + +- **RRID**: [RRID:SCR_014543](https://scicrunch.org/resolver/SCR_014543) + +## Citing DataJoint Python and MATLAB + +For work using **DataJoint Python** or **DataJoint MATLAB**, cite the following +manuscript: + +- **Manuscript**: Yatsenko D, Reimer J, Ecker AS, Walker EY, Sinz F, Berens P, + Hoenselaar A, Cotton RJ, Siapas AS, Tolias AS. DataJoint: Managing big scientific data + using MATLAB or Python. bioRxiv. 2015 Jan 1:031658. doi: + https://doi.org/10.1101/031658 + +- **RRID**: [RRID:SCR_014543](https://scicrunch.org/resolver/SCR_014543) + +## Citing SciOps and Capability Maturity Model + +If your work references **SciOps** or the **Capability Maturity Model for Data-Intensive +Research**, please use the following citation: + +- Manuscript: Johnson EC, Nguyen TT, Dichter BK, Zappulla F, Kosma M, Gunalan K, + Halchenko YO, Neufeld SQ, Schirner M, Ritter P, Martone ME. SciOps: Achieving + Productivity and Reliability in Data-Intensive Research. arXiv preprint + arXiv:2401.00077v2. 2024 Nov 6. (Under review) + +- **RRID**: TBD + +# Why Cite DataJoint? + +By citing DataJoint and its associated resources: + +You give credit to the authors and contributors who developed these tools. + +You help other researchers identify and use these tools effectively. + +You strengthen the visibility and impact of open-source tools in scientific research. -- [RRID:SCR_021894](https://scicrunch.org/resolver/SCR_021894) +For further questions or assistance with citations, please reach out to the DataJoint +support team (support@datajoint.com). From 8e106a45a4990021dc356850d4caaca6c802b79a Mon Sep 17 00:00:00 2001 From: MilagrosMarin Date: Thu, 23 Jan 2025 12:51:06 +0000 Subject: [PATCH 03/22] fix: update contribute.md --- src/about/contribute.md | 198 ++++++++++++++++------------------------ 1 file changed, 80 insertions(+), 118 deletions(-) diff --git a/src/about/contribute.md b/src/about/contribute.md index fdc701e..8a09850 100644 --- a/src/about/contribute.md +++ b/src/about/contribute.md @@ -1,114 +1,97 @@ # Contribution Guidelines -Thank you for your interest in contributing! 🤝 +Thank you for your interest in contributing to DataJoint Elements! -To help keep everyone in alignment and coordinated in the community effort, we’ve -created this document. It serves as the contribution guideline that outlines how -open-source software development is to be conducted. Any software development that makes -reference to this document can be assumed to adopt the policies outlined below. We’ve -structured the guideline in a FAQ (frequently asked questions) format to make it easier -to digest. Feel free to review the questions below to determine any specific policy. +These guidelines are designed to ensure smooth collaboration, high-quality +contributions, and a welcoming environment for all contributors. Please take a moment to +review this document in order to make the contribution process easy and effective for +everyone involved. The principal maintainer of DataJoint and associated tools is the DataJoint company. The pronouns “we” and “us” in this guideline refer to the principal maintainers. We invite reviews and contributions of the open-source software. We compiled these guidelines to make this work clear and efficient. -## Feedback +## How to Contribute -DataJoint APIs, DataJoint Web GUIs, and DataJoint Elements are supported by NIH grant -U24 NS116470 for disseminating open-source software for neuroscience research. Your -feedback is essential for continued funding. Your feedback also helps shape the -technology development roadmap for the DataJoint ecosystem. Please tell us about your -projects by filling out the [DataJoint Census](https://community.datajoint.io). +### Feedback and Communication -## 1) Which issue should I contribute towards? +Engage with the community through GitHub Issues and PR discussions. -There are three primary things to consider when looking to contribute. +Use inclusive and professional language. -**Availability:** An indication of whether anyone is currently working on a fix for the -given issue. Availability is indicated by who is `assigned`. Issues that are -`unassigned` mean that there is no one yet working on resolving the issue and the issue -is available for someone to work on. If an issue has been assigned, then any additional -work on that issue should be coordinated with the assignee. +For general questions or ideas, discussions and live debugging support, please join +[DataJoint Slack channel](https://join.slack.com/t/datajoint/shared_invite/enQtMjkwNjQxMjI5MDk0LTQ3ZjFiZmNmNGVkYWFkYjgwYjdhNTBlZTBmMWEyZDc2NzZlYTBjOTNmYzYwOWRmOGFmN2MyYzU0OWQ0MWZiYTE) +or [other community forums](https://stackoverflow.com/questions/tagged/datajoint), but +direct technical contributions should stay in GitHub. Response times may vary depending +on maintainer availability. -**Specification:** In order for issues to be properly addressed, the requirements of -satisfying and closing the issue should be clear. If it is not, a label will be added as -`unspecified`. This could be due to more debug info being necessary, more details on -intended behavior, or perhaps that further discussion is required to determine a good -solution. Feel free to help us arrive at a proper specification. +### Reporting Issues -**Priority:** As a community, we work on a concerted effort to bring about the -realization of the milestones. We utilize milestones as a planning tool to help focus a -group of changes around a release. To determine the priority of issues, simply have a -look at the next milestone that is expected to arrive. Therefore, each milestone -following this can be understood as lower in priority respectively. Bear in mind that -much like a hurricane forecast, the execution plan is much more likely to be accurate -the closer to today’s date as opposed to milestones further out. Extremely low priority -issues are assigned to the `Backburner` milestone. Since `Backburner` does not have a -target date, this indicates that its issues may be deferred indefinitely. Occasionally -the maintainers will move issues from `Backburner` as it makes sense to address them -within a release. Also, issues `unassigned` to a milestone can be understood as new -issues which have not been triaged. +Use `GitHub Issues` to report bugs or request features. Clearly describe the issue, +including: -After considering the above, you may comment on the issue you’d like to help fix and a maintainer will assign it to you. +- Steps to reproduce (if applicable). +- Expected and actual outcomes. +- Any relevant error messages, logs, or screenshots. +- Include environment details (e.g., OS, library versions) to speed up troubleshooting. -## 2) What is the proper etiquette for proposing changes as contribution? +Check existing issues to avoid duplicates. -What is generally expected from new contributions are the following: +### Proposing Features/Changes -Any proposed contributor changes should be introduced in the form of a pull request (PR) -from their fork. +Before significant contributions, open a `GitHub Issue` to discuss your proposal. Please +include: -Proper branch target specified. The following are the generally the available branches -that can be targeted: +- A clear problem statement. +- Proposed solution or feature details. +- Relevant examples or use cases. -- `main` or `master`: Represents the single source of truth and the latest in completed development. +### Submitting Pull Requests (PRs) -- `pre`: Represents the source at the point of the last stable release. +1. Fork the repository and clone it to your local machine. +2. Create a descriptive branch name, e.g., `fix/typo-docs` or `feature/add-logging`. +3. Follow [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/): Use + commit messages following the commit types for versioning: -For larger more involved changes, a maintainer may determine it best to create a -feature-specific branch and adjust the PR accordingly. +- `fix`: Bug fixes (PATCH in Semantic Versioning). +- `feat`: New features (MINOR in Semantic Versioning). +- `docs`: Documentation updates. +- `Breaking changes`: Use ! after the type or add BREAKING CHANGE in the commit footer. -A summary description that describes the overall intent behind the PR. +- `Example: fix(auth): resolve token expiration bug.` -Proper links to the issue(s) that the PR serves to resolve. +4. Reference related issue(s) in your PR description (e.g., Closes #123). +5. Cover new functionality or bug fixes with appropriate tests. Ensure all tests pass + before submission. Typically as it relates to tests, this means: + 1. No syntax errors + 2. No integration errors + 3. No style errors e.g. PEP8, etc. + 4. Similar or better code coverage +6. Additional documentation to reflect new feature or behavior introduced. +7. Provide a detailed PR description explaining the changes and their impact. +8. Submit the PR for review. Maintainers will also ensure that PR’s have the appropriate + assignment for reviewer. -Newly introduced changes must pass any required checks. Typically as it relates to tests, this means: - -1. No syntax errors -1. No integration errors -1. No style errors e.g. PEP8, etc. -1. Similar or better code coverage - -Additional documentation to reflect new feature or behavior introduced. - -Necessary updates to the changelog following [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) -convention. - -A contributor should not approve or merge their own PR. +A contributor should not approve or merge their own PR. A maintainer will review and +approve the PR. Reviewer suggestions or feedback should not be directly committed to a branch on a contributor’s fork. A less intrusive way to collaborate would be for the reviewer to PR to the contributor’s fork/branch that is associated with the main PR currently in review. -Maintainers will also ensure that PR’s have the appropriate assignment for reviewer, milestone, and project. +### Code Reviews -## 3) How can I track the progress of an issue that has been assigned? +Expect constructive feedback from maintainers. Maintainers will review your PR and +suggest changes or improvements. Be responsive to feedback and iterate as needed. +Reviews focus on code quality and adherence to standards, and documentation and test +coverage. Once approved, the PR will be merged. -Since milestones represent the development plan, projects represent the actual -execution. Projects are typically fixed-time sprints (1-2 weeks). A ‘workable’ number of -issues that have been assigned to developers and assigned to the next milestone are -selected and tracked in each project to provide greater granularity in the week-to-week -progress. Automation is included observing the `Automated kanban with reviews` template. -Maintainers will adjust the project assignment to reflect the order in which to resolve -the milestone issues. +## Releases -## 4) What is the release process? How do I know when my merged contribution will officially make it into a release? - -Releases follow the standard definition of [semantic versioning](https://semver.org/spec/v2.0.0.html). -Meaning: +Releases follow the standard definition of +[semantic versioning](https://semver.org/spec/v2.0.0.html). Meaning: `MAJOR` . `MINOR` . `PATCH` @@ -118,53 +101,32 @@ Meaning: - `PATCH` version when you make backwards compatible bug fixes. -Each release requires tagging the commit appropriately and is then issued in the normal -medium for release e.g. PyPi, NPM, YARN, GitHub Release, etc. - -Minor releases are triggered when all the issues assigned to a milestone are resolved -and closed. Patch releases are triggered periodically from `main` or `master` after a -reasonable number of PR merges have come in. - -## 5) I am not yet too comfortable contributing but would like to engage the community. What is the policy on community engagement? - -In order to follow the appropriate process and setting, please reference the following flow for your desired mode of engagement: - -### 5a) Generally, how do I perform __________? - -If the documentation does not provide clear enough instruction, please see StackOverflow -posts related to the [datajoint](https://stackoverflow.com/questions/tagged/datajoint) -tag or ask a new question tagging it appropriately. You may refer to our -[datajoint tag wiki](https://stackoverflow.com/tags/datajoint/info) -for more details on its proper use. - -### 5b) I just encountered this error, how can I resolve it? - -Please see StackOverflow posts related to the -[datajoint](https://stackoverflow.com/questions/tagged/datajoint) tag or ask a new -question tagging it appropriately. You may refer to our -[datajoint tag wiki](https://stackoverflow.com/tags/datajoint/info) for more details on -its proper use. - -### 5c) I just encountered this error and I am sure it is a bug, how do I report it? - -Please file it under the issue tracker associated with the open-source software. +Each release requires tagging the commit appropriately and is then issued following the +GitHub automated semantic release. The release and Changelog will be generated +automatically after the PR is merged. -### 5d) I have an idea or new feature request, how do I submit it? +## Community Engagement -Please file it under the issue tracker associated with the open-source software. +- For resolving bugs, errors, or debugging issues, please submit it through **GitHub + Issues**. +- For live debugging, urgent help, or broader discussions, join the + [DataJoint Slack](https://join.slack.com/t/datajoint/shared_invite/enQtMjkwNjQxMjI5MDk0LTQ3ZjFiZmNmNGVkYWFkYjgwYjdhNTBlZTBmMWEyZDc2NzZlYTBjOTNmYzYwOWRmOGFmN2MyYzU0OWQ0MWZiYTE). + Keep in mind maintainers’ availability may be limited. +- For feature requests, directly in the GitHub Issue Tracker of the respective + repository Provide sufficient details to facilitate discussion and prioritization. -### 5e) I am curious why the maintainers choose to __________? i.e. questions that are ‘opinionated’ in nature with answers that some might disagree. +## Prerequisites -Please join the community on the -[DataJoint Slack](https://join.slack.com/t/datajoint/shared_invite/enQtMjkwNjQxMjI5MDk0LTQ3ZjFiZmNmNGVkYWFkYjgwYjdhNTBlZTBmMWEyZDc2NzZlYTBjOTNmYzYwOWRmOGFmN2MyYzU0OWQ0MWZiYTE) -and ask on the most relevant channel. There, you may engage directly with the maintainers for proper discourse. +- Familiarize yourself with the project documentation and guidelines. +- Install necessary tools and dependencies listed in the repository's `README`. -### 5f) What is the timeline or roadmap for the release of certain supported features? +## Contribution Acknowledgment -Please refer to milestones and projects associated with the open-source software. +We deeply appreciate every contribution! By adhering to these guidelines, you help +maintain the quality, usability, and success of DataJoint Elements. -### 5g) I need urgent help best suited for live debugging, how can I reach out directly? +For any questions, feel free to reach out via GitHub Issues, our +[community Slack](https://join.slack.com/t/datajoint/shared_invite/enQtMjkwNjQxMjI5MDk0LTQ3ZjFiZmNmNGVkYWFkYjgwYjdhNTBlZTBmMWEyZDc2NzZlYTBjOTNmYzYwOWRmOGFmN2MyYzU0OWQ0MWZiYTE) +or contact `support@datajoint.com`. -Please join the community on the -[DataJoint Slack](https://join.slack.com/t/datajoint/shared_invite/enQtMjkwNjQxMjI5MDk0LTQ3ZjFiZmNmNGVkYWFkYjgwYjdhNTBlZTBmMWEyZDc2NzZlYTBjOTNmYzYwOWRmOGFmN2MyYzU0OWQ0MWZiYTE) -and ask on the most relevant channel. Please bear in mind that as open-source community software, availability of the maintainers might be limited. +Thank you for your contributions! From 32813fcd22e5a80474cbf695e45824df31f84e61 Mon Sep 17 00:00:00 2001 From: MilagrosMarin Date: Thu, 23 Jan 2025 12:51:40 +0000 Subject: [PATCH 04/22] fix: update datajoint-team.md --- src/about/datajoint-team.md | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/src/about/datajoint-team.md b/src/about/datajoint-team.md index 8567f26..545a509 100644 --- a/src/about/datajoint-team.md +++ b/src/about/datajoint-team.md @@ -5,10 +5,11 @@ as Principal Investigator. ## Scientists -- Dimitri Yatsenko - PI -- Thinh Nguyen - Data Scientist -- Kushal Bakshi - Data Scientist -- Milagros Marín - Data Scientist +- Dimitri Yatsenko, PhD - PI & Chief Science and Technology Officer + +- Thinh Nguyen, PhD - SciOps Engineer +- Kushal Bakshi, PhD - SciOps Engineer +- Milagros Marín, PhD - SciOps Engineer ## Engineers @@ -17,8 +18,8 @@ as Principal Investigator. ## Past contributors -- Edgar Y. Walker - System Architect, Data Scientist, Project Manager -(from project start to Jan, 2021) +- Edgar Y. Walker - System Architect, Data Scientist, Project Manager (from project + start to Jan, 2021) - Andreas S. Tolias - Grant proposal contributor - Jacob Reimer - Grant proposal contributor - Shan Shen - Data Scientist @@ -45,6 +46,6 @@ The first-person pronouns "we" and "our" in these documents refer to those liste ## External contributors The principal components of the Resource are developed and distributed as open-source -projects and external contributions are welcome. We have adopted a -[Contribution Guide](contribute.md) for DataJoint, DataJoint Elements, -and related open-source tools. +projects and external contributions are welcome. We have adopted a +[Contribution Guide](contribute.md) for DataJoint, DataJoint Elements, and related +open-source tools. From b50b7c57e4526b00c7a3f1ea6eb7b53317b90c3e Mon Sep 17 00:00:00 2001 From: MilagrosMarin Date: Thu, 23 Jan 2025 12:52:35 +0000 Subject: [PATCH 05/22] fix: update adoption.md --- src/elements/management/adoption.md | 94 ++++++++++++++++++++++------- 1 file changed, 71 insertions(+), 23 deletions(-) diff --git a/src/elements/management/adoption.md b/src/elements/management/adoption.md index 32c3b43..ce789ac 100644 --- a/src/elements/management/adoption.md +++ b/src/elements/management/adoption.md @@ -1,33 +1,81 @@ # Guidelines for Adoption -You have several options for adopting DataJoint workflows for your own experiments. +DataJoint Elements offer flexible options for adoption, enabling researchers to +seamlessly integrate them into their workflows. Below are the available paths for +adoption based on your expertise and needs for your experiments. -## Adopt independently +## Independent Adoption -DataJoint Elements are designed for adoption by independent users with moderate software -development skills, good understanding of DataJoint principles, and adequate IT -expertise or support. +DataJoint Elements are designed for independent users who have: -If you have not yet used DataJoint, we recommend completing our online training -tutorials or attending a workshop either online or in person. Interactive tutorials -can be found on the [DataJoint -Tutorials](https://github.com/datajoint/datajoint-tutorials) repository. +- Moderate software development skills. +- A solid understanding of DataJoint principles. +- Adequate IT expertise or support. -## Support from DataJoint +If you are **new to DataJoint**, we recommend starting with these resources to build a +strong foundation: -Our team provides support to labs to adopt DataJoint workflows in their research. +### 1. Online Training Tutorials -This includes: +Learn to set up your DataJoint pipeline with interactive tutorials hosted on GitHub +Codespaces: -- User training -- Developer training -- Data and computation hosting - - on your premises - - using your own cloud accounts - - fully managed cloud hosting by DataJoint -- Workflow execution - - configuration and automation - - optional fully managed service by DataJoint -- Interfaces for data entry, export and publishing +- **[DataJoint Tutorials Repository](https://github.com/datajoint/datajoint-tutorials):** + A comprehensive set of tutorials to get started with DataJoint Python, organized in + Jupyter notebooks. -These services may be subsidized by grant funding for qualified research groups. +- **Element-Specific Interactive Tutorials:** Explore detailed guides for designing and + interacting with specific Element pipelines: + - [DataJoint Element Array Ephys](https://github.com/datajoint/element-array-ephys#interactive-tutorial) + - [DataJoint Element Calcium Imaging](https://github.com/datajoint/element-calcium-imaging#interactive-tutorial) + - [DataJoint Element DeepLabCut](https://github.com/datajoint/element-deeplabcut#interactive-tutorial) + - [DataJoint Element Facemap](https://github.com/datajoint/element-facemap#interactive-tutorial) + - [DataJoint Element MoSeq](https://github.com/datajoint/element-moseq#interactive-tutorial) + - [DataJoint Element Miniscope](https://github.com/datajoint/element-miniscope#interactive-tutorial) + - [DataJoint Element Optogenetics](https://github.com/datajoint/element-optogenetics#interactive-tutorial) + - [DataJoint Element Zstack](https://github.com/datajoint/element-zstack#interactive-tutorial) + - [DataJoint Element Electrode Localization](https://github.com/datajoint/element-electrode-localization#interactive-tutorial) + - [DataJoint Element Visual Stimulus](https://github.com/datajoint/element-visual-stimulus#interactive-tutorial) + +### 2. Workshops + +Participate in [workshops and events](../../support-events.md) (online or in person) to +gain hands-on experience and practical knowledge for implementing DataJoint workflows +effectively. + +## Adoption with Support from DataJoint + +For institutions and labs requiring additional assistance, the DataJoint team offers +tailored support services, including: + +### Training + +- **User Training:** Guidance for end-users to effectively utilize workflows. +- **Developer Training:** Support for developers implementing or extending workflows. + +### Hosting and Infrastructure + +- **Data and Computation Hosting:** + - On-premises setups for your institution or lab. + - Integration with your existing cloud accounts. + - Fully managed cloud hosting by DataJoint. + +### Workflow Execution + +- **Configuration and Automation:** Assistance with setting up and automating workflows. +- **Fully Managed Services:** Optional services to oversee workflow execution and + management entirely. + +### Interfaces + +- **Data Entry, Export, and Publishing:** Streamlined interfaces to efficiently manage + and share your research data. + +### Subsidized Support + +Qualified research groups may be eligible for subsidized services through grant funding. +Contact the DataJoint team to explore funding options and determine your eligibility. + +By choosing the adoption path that best suits your lab's expertise and requirements, you +can leverage DataJoint Elements to optimize your research workflows. For additional +information or assistance, please contact the DataJoint team at support@datajoint.com. From 33c4d7ff7493bbc8d8c8fc8d8f530eef3272cc25 Mon Sep 17 00:00:00 2001 From: MilagrosMarin Date: Thu, 23 Jan 2025 12:53:02 +0000 Subject: [PATCH 06/22] fix: update governance.md --- src/elements/management/governance.md | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/elements/management/governance.md b/src/elements/management/governance.md index 5214d14..22619cf 100644 --- a/src/elements/management/governance.md +++ b/src/elements/management/governance.md @@ -3,13 +3,14 @@ ## Funding This Resource is supported by the National Institute Of Neurological Disorders And -Stroke of the National Institutes of Health under Award Number U24NS116470. The content -is solely the responsibility of the authors and does not necessarily represent the -official views of the National Institutes of Health. +Stroke of the National Institutes of Health (NIH) under Award Number **U24NS116470**. +The content is solely the responsibility of the authors and does not necessarily +represent the official views of the National Institutes of Health. ## Scientific Steering Group -The project oversight and guidance is provided by the Scientific Steering Group comprising +The project oversight and guidance is provided by the Scientific Steering Group +comprising - [Mackenzie Mathis (EPFL)](http://www.mackenziemathislab.org/team) - [John Cunningham (Columbia U)](https://stat.columbia.edu/~cunningham/) From 37b79a24fba38bc9674f77514881bf6690a211de Mon Sep 17 00:00:00 2001 From: MilagrosMarin Date: Thu, 23 Jan 2025 12:53:30 +0000 Subject: [PATCH 07/22] fix: update outreach.md --- src/elements/management/outreach.md | 57 ++++++++++++++++------------- 1 file changed, 32 insertions(+), 25 deletions(-) diff --git a/src/elements/management/outreach.md b/src/elements/management/outreach.md index aee116c..92b25da 100644 --- a/src/elements/management/outreach.md +++ b/src/elements/management/outreach.md @@ -1,33 +1,40 @@ # Outreach Plan -Broad engagement with the neuroscience community is necessary for the optimization, -integration, and adoption of the Resource components. - -We conduct five types of outreach activities that require different approaches: +Broad engagement with the neuroscience community is essential for the optimization, +integration, and adoption of the Resource components. To achieve this, we conduct five +types of outreach activities, each requiring a tailored approach: ## 1. Precursor Projects -Our [Selection Process](../selection) requires a "Precursor Project" for any new -experiment modality to be included in DataJoint Elements. A precursor project is a -project that develops a DataJoint pipeline for its own experiments either independently -or in collaboration with our team. We reach out to teams who develop DataJoint -pipelines for new experiment paradigms and modalities to identify essential design -motifs, analysis tools, and related tools and interfaces. We interview the core team to -learn about their collaborative culture, practices, and procedures. We jointly review -their open-source code and their plans for dissemination. In many cases, our team -already collaborates with such teams through our other projects and we have a good -understanding of their process. As we develop a new Element to support the new -modality, we remain in contact with the team to include their contribution, solicit -feedback, and evaluate design tradeoffs. When the new Element is released, a full -attribution is given to the Precursor Project. - -**Rationale:** The Resource does not aim to develop fundamentally new solutions for - neurophysiology data acquisition and analysis. Rather it aims to systematize and - disseminate existing open-source tools proven in leading research projects. +As part of our [Selection Process](../selection), a Precursor Project is required for +any new experimental modality to be incorporated into DataJoint Elements. + +A Precursor Project involves the development of a DataJoint pipeline for specific +experiments, either independently or in collaboration with our team. Our outreach +activities for Precursor Projects include: + +- Engaging Development Teams: Reaching out to teams developing DataJoint pipelines for + new experimental paradigms or modalities. +- Identifying Key Components: Collaborating with these teams to identify essential + design motifs, analysis tools, and related interfaces. +- Team Interviews: Conducting interviews the core team to understand their collaborative + culture, practices, and procedures. +- Code and Dissemination Review: Reviewing their open-source code and dissemination + plans to assess compatibility and adaptability. +- Continuous Collaboration: Staying in contact with the team throughout the Element + development process to incorporate their contributions, gather feedback, and evaluate + design tradeoffs. + +When the new Element is released, a full attribution is given to the Precursor Project, +ensuring their contributions are recognized. + +**Rationale:** The Resource does not aim to create fundamentally new solutions for +neurophysiology data acquisition and analysis. Instead, it systematizes and disseminates +existing open-source tools already proven in leading research projects. ## 2. Tool Developers -DataJoint pipelines rely on analysis tools, atlases, data standards, archives and -catalogs, and other neuroinformatics resources developed and maintained by the broader -scientific community. To ensure sustainability of the Resource, we reach out to the -tool developer to establish joint sustainability roadmaps. +DataJoint pipelines depend on a variety of analysis tools, atlases, data standards, +archives, catalogs, and other neuroinformatics resources created and maintained by the +broader scientific community. To ensure the long-term sustainability of the Resource, we +reach out to the tool developers to establish shared sustainability roadmaps. From d230ff5eb3793f49242a78610f80fc50bddcbe89 Mon Sep 17 00:00:00 2001 From: MilagrosMarin Date: Thu, 23 Jan 2025 12:53:46 +0000 Subject: [PATCH 08/22] fix: update plan.md --- src/elements/management/plan.md | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/src/elements/management/plan.md b/src/elements/management/plan.md index 3ec7455..e467a73 100644 --- a/src/elements/management/plan.md +++ b/src/elements/management/plan.md @@ -8,11 +8,10 @@ figure below: The following sections provide detailed information. -- [Team](../team) -- [Project Governance](../governance) -- [Project Selection Process](../selection) -- [Quality Assurance](../quality-assurance) -- [Contribution Guideline](../../../community/contribute) -- [Outreach Plan](../outreach) -- [Dissemination Plan](../dissemination) -- [Licenses and User Agreements](../../../community/licenses) +- [Team](../../about/datajoint-team.md) +- [Project Governance](./governance.md) +- [Project Selection Process](selection.md) +- [Quality Assurance](quality-assurance.md) +- [Contribution Guideline](../../about/contribute.md) +- [Outreach Plan](outreach.md) +- [Dissemination Plan](dissemination.md) From aaaac69ccc5fbec79f8ba7541723a68d99963ee5 Mon Sep 17 00:00:00 2001 From: MilagrosMarin Date: Thu, 23 Jan 2025 12:54:48 +0000 Subject: [PATCH 09/22] fix: update selection.md --- src/elements/management/selection.md | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/src/elements/management/selection.md b/src/elements/management/selection.md index cfd89a3..d1dfdac 100644 --- a/src/elements/management/selection.md +++ b/src/elements/management/selection.md @@ -1,7 +1,7 @@ # Project Selection Process The project milestones are set annually by the team under the stewardship of the NIH -programmatic staff and with the guidance of the project's +programmatic staff and with the guidance of the project's [Scientific Steering Group](../governance) We have adopted the following general criteria for selecting and accepting new projects @@ -9,18 +9,18 @@ to be included in the Resource. 1. **Open Precursor Projects** - At least one open-source DataJoint-based precursor project must exist for any new - experiment modality to be accepted for support as part of the Resource. The - precursor project team must be open to interviews to describe in detail their - process for the experiment workflow, tools, and interfaces. + At least one open-source DataJoint-based Precursor Project must exist for any new + experiment modality to be accepted for support as part of the Resource. The Precursor + Project team must be open to interviews to describe in detail their process for the + experiment workflow, tools, and interfaces. - The precursor projects must provide sample data for testing during development and - for tutorials. The precursor projects will be acknowledged in the development of the + The Precursor Projects must provide sample data for testing during development and + for tutorials. The Precursor Projects will be acknowledged in the development of the component. **Rationale:** This Resource does not aim to develop fundamentally new solutions for - neurophysiology data acquisition and analysis. Rather it seeks to systematize and - disseminate existing open-source tools proven in leading research projects. + neurophysiology data acquisition and analysis. Rather it seeks to systematize and + disseminate existing open-source tools proven in leading research projects. 1. **Impact** @@ -30,7 +30,7 @@ to be included in the Resource. 1. **Sustainability** For all third-party tools or resources included in the proposed component, their - long-term maintenance roadmap must be established. When possible, we will contact - the developer team and work with them to establish a sustainability roadmap. If no - such roadmap can be established, alternative tools and resources must be identified - as replacement. + long-term maintenance roadmap must be established. When possible, we will contact the + developer team and work with them to establish a sustainability roadmap. If no such + roadmap can be established, alternative tools and resources must be identified as + replacement. From fc063ad1b0886ba940dc8171e6a8813523a574e5 Mon Sep 17 00:00:00 2001 From: Drew Yang Date: Tue, 25 Mar 2025 16:06:08 -0500 Subject: [PATCH 10/22] =?UTF-8?q?fix:=20=F0=9F=8E=A8=20improve=20docker=20?= =?UTF-8?q?build?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .docker/Dockerfile | 14 -------------- .docker/apk_requirements.txt | 1 - .github/workflows/development.yml | 2 +- Dockerfile | 13 +++++++++++++ docker-compose.yaml | 14 +++++--------- .../pip_requirements.txt => pip_requirements.txt | 0 6 files changed, 19 insertions(+), 25 deletions(-) delete mode 100644 .docker/Dockerfile delete mode 100644 .docker/apk_requirements.txt create mode 100644 Dockerfile rename .docker/pip_requirements.txt => pip_requirements.txt (100%) diff --git a/.docker/Dockerfile b/.docker/Dockerfile deleted file mode 100644 index 1e36d31..0000000 --- a/.docker/Dockerfile +++ /dev/null @@ -1,14 +0,0 @@ -FROM datajoint/miniconda3:4.10.3-py3.9-alpine -ARG GITHUB_TOKEN -WORKDIR /main -COPY --chown=anaconda:anaconda ./.docker/pip_requirements.txt ${PIP_REQUIREMENTS} -COPY --chown=anaconda:anaconda ./.docker/apk_requirements.txt ${APK_REQUIREMENTS} -RUN \ - /entrypoint.sh echo "Dependencies installed" && \ - rm ${PIP_REQUIREMENTS} && \ - rm ${APK_REQUIREMENTS} -RUN \ - pip install --no-cache git+https://${GITHUB_TOKEN}@github.com/datajoint/mkdocs-material-insiders.git@master || \ - echo "using public mkdocs-material..." -COPY --chown=anaconda:anaconda ./mkdocs.yaml /main/mkdocs.yaml -COPY --chown=anaconda:anaconda ./src /main/src diff --git a/.docker/apk_requirements.txt b/.docker/apk_requirements.txt deleted file mode 100644 index 5664e30..0000000 --- a/.docker/apk_requirements.txt +++ /dev/null @@ -1 +0,0 @@ -git diff --git a/.github/workflows/development.yml b/.github/workflows/development.yml index f43910c..0f839b2 100644 --- a/.github/workflows/development.yml +++ b/.github/workflows/development.yml @@ -14,7 +14,7 @@ jobs: - uses: actions/checkout@v2 - name: Compile docs static artifacts run: | - GITHUB_TOKEN=$DJBOT_GH_TOKEN MODE=BUILD HOST_UID=$(id -u) docker compose up --exit-code-from docs --build + BOT_PAT=$DJBOT_GH_TOKEN MODE=BUILD HOST_UID=$(id -u) docker compose up --exit-code-from docs --build - name: Commit documentation changes run: | git clone https://github.com/${GITHUB_REPOSITORY}.git \ diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..0020895 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,13 @@ +FROM python:3-alpine + +WORKDIR /main +COPY mkdocs.yaml mkdocs.yaml +COPY src/ src/ +COPY pip_requirements.txt pip_requirements.txt + +ARG BOT_PAT +RUN \ + apk add --no-cache git && \ + pip install --no-cache-dir -r /main/pip_requirements.txt + #&& \ + #pip install --no-cache git+https://${BOT_PAT}@github.com/datajoint/mkdocs-material-insiders.git@master diff --git a/docker-compose.yaml b/docker-compose.yaml index 34aabdd..91ba0db 100644 --- a/docker-compose.yaml +++ b/docker-compose.yaml @@ -1,20 +1,16 @@ -# MODE="LIVE|BUILD" HOST_UID=$(id -u) docker compose up --build -# -# Navigate to http://localhost/ -version: "2.4" +# MODE="LIVE|BUILD" docker compose up --build +# +# Navigate to http://localhost/docs/ services: docs: build: - dockerfile: .docker/Dockerfile - context: . args: - - GITHUB_TOKEN + - BOT_PAT image: datajoint/datajoint-docs environment: - MODE volumes: - .:/main - user: ${HOST_UID}:anaconda ports: - 80:80 command: @@ -23,7 +19,7 @@ services: - | set -e if echo "$${MODE}" | grep -i live &>/dev/null; then - mkdocs serve --config-file ./mkdocs.yaml -a 0.0.0.0:80 + mkdocs serve --config-file ./mkdocs.yaml elif echo "$${MODE}" | grep -i build &>/dev/null; then mkdocs build --config-file ./mkdocs.yaml else diff --git a/.docker/pip_requirements.txt b/pip_requirements.txt similarity index 100% rename from .docker/pip_requirements.txt rename to pip_requirements.txt From 30c6175ca26f43f3470d1788fc6f66c1c6a73b6f Mon Sep 17 00:00:00 2001 From: Drew Yang Date: Tue, 25 Mar 2025 16:06:25 -0500 Subject: [PATCH 11/22] =?UTF-8?q?fix:=20=F0=9F=94=A7=20update=20vscode=20c?= =?UTF-8?q?onfigs?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .vscode/extensions.json | 7 +++++++ .vscode/settings.json | 8 ++++---- 2 files changed, 11 insertions(+), 4 deletions(-) create mode 100644 .vscode/extensions.json diff --git a/.vscode/extensions.json b/.vscode/extensions.json new file mode 100644 index 0000000..7d006b7 --- /dev/null +++ b/.vscode/extensions.json @@ -0,0 +1,7 @@ +{ + "recommendations": [ + "streetsidesoftware.code-spell-checker", + "DavidAnson.vscode-markdownlint", + "stkb.rewrap" + ] +} \ No newline at end of file diff --git a/.vscode/settings.json b/.vscode/settings.json index 1f6ea27..3415684 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,5 +1,5 @@ { - "[markdown]" : { + "[markdown]": { "editor.rulers": [88], "editor.formatOnPaste": true, "editor.formatOnSave": true, @@ -11,7 +11,7 @@ }, // https://github.com/DavidAnson/markdownlint "editor.codeActionsOnSave": { - "source.fixAll.markdownlint":true + "source.fixAll.markdownlint": "always" }, - "markdownlint.focusMode": 5, // ignore issues around the cursor -} \ No newline at end of file + "markdownlint.focusMode": 5 // ignore issues around the cursor +} From a2da3ceb6496698ad618c5a09063235b820bd8fb Mon Sep 17 00:00:00 2001 From: Drew Yang Date: Tue, 25 Mar 2025 16:06:36 -0500 Subject: [PATCH 12/22] =?UTF-8?q?docs:=20=F0=9F=93=9D=20improve=20README?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 64 ++++++++++++++++++++++++++++++++++++++++--------------- 1 file changed, 47 insertions(+), 17 deletions(-) diff --git a/README.md b/README.md index da5ea7e..0f791d0 100644 --- a/README.md +++ b/README.md @@ -2,32 +2,62 @@ This is the home for DataJoint software documentation as hosted at https://datajoint.com/docs -## Test Locally - -To run locally, ensure you have `Docker` and `Docker Compose` installed. - -Then run the following: - -`MODE="LIVE" HOST_UID=$(id -u) docker compose up --build` - -Navigate to `http://localhost/` to preview the changes. - -This setup supports live-reloading so all that is needed is to save the markdown files -and/or `mkdocs.yaml` file to trigger a reload. - -## Linters and Settings +## VSCode Linter Extensions and Settings The following extensions were used in developing these docs, with the corresponding settings files: -- [MarkdownLinter](https://github.com/DavidAnson/markdownlint): +- Recommended extensions are already specified in `.vscode/extensions.json`, it will ask you to install them when you open the project if you haven't installed them. +- settings in `.vscode/settings.json` +- [MarkdownLinter](https://marketplace.visualstudio.com/items?itemName=DavidAnson.vscode-markdownlint): - `.markdownlint.yaml` establishes settings for various [linter rules](https://github.com/DavidAnson/markdownlint/blob/main/doc/Rules.md) - `.vscode/settings.json` formatting on save to fix linting -- [CSpell](https://github.com/streetsidesoftware/vscode-spell-checker): `cspell.json` +- [CSpell](https://marketplace.visualstudio.com/items?itemName=streetsidesoftware.code-spell-checker): `cspell.json` has various ignored words. -- [ReWrap](https://github.com/stkb/Rewrap/): `.vscode/settings.json` allows toggling +- [ReWrap](https://marketplace.visualstudio.com/items?itemName=stkb.rewrap): `.vscode/settings.json` allows toggling automated hard wrapping for files at 88 characters. This can also be keymapped to be performed on individual paragraphs, see documentation. + +## With Virtual Environment + +conda +```bash +conda create -n djdocs -y +conda activate djdocs +``` +venv +```bash +python -m venv .venv +source .venv/bin/activate +``` + +Then install the required packages: +```bash +pip install -r pip_requirements.txt +``` + +Run mkdocs at http://127.0.0.1:8000/docs/: +```bash +# It will automatically reload the docs when changes are made +mkdocs serve --config-file ./mkdocs.yaml +``` + +## With Docker + +> We mostly use Docker to simplify docs deployment + +Ensure you have `Docker` and `Docker Compose` installed. + +Then run the following: +```bash +# It will automatically reload the docs when changes are made +MODE="LIVE" docker compose up --build +``` + +Navigate to http://127.0.0.1:8000/docs/ to preview the changes. + +This setup supports live-reloading so all that is needed is to save the markdown files +and/or `mkdocs.yaml` file to trigger a reload. From 80d41fce1b3aae89c325bdbdc7dcbdd94e0786b4 Mon Sep 17 00:00:00 2001 From: Drew Yang Date: Tue, 25 Mar 2025 17:54:22 -0500 Subject: [PATCH 13/22] =?UTF-8?q?fix:=20=F0=9F=90=9B=20title=20hyperlink?= =?UTF-8?q?=20bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/elements/user-guide.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/elements/user-guide.md b/src/elements/user-guide.md index 68d74a9..86d979d 100644 --- a/src/elements/user-guide.md +++ b/src/elements/user-guide.md @@ -17,7 +17,7 @@ your custom workflow. 2. [Conda](#conda) - 3. [Integrated Development Environment](#integrated-development-environment) + 3. [Integrated Development Environment](#integrated-development-environment-ide) 4. [Version Control (git)](#version-control-git) From 8cbc20519a52c1a35c6adac036d163ec7a9a7590 Mon Sep 17 00:00:00 2001 From: Drew Yang Date: Tue, 25 Mar 2025 17:54:44 -0500 Subject: [PATCH 14/22] =?UTF-8?q?docs:=20=F0=9F=93=9D=20add=20comments=20a?= =?UTF-8?q?nd=20docs=20for=20the=20next=20contributor?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 31 ++++++++++++++++++++++++++++++- mkdocs.yaml | 18 +++++++++++------- src/partnerships/dandi.md | 3 +++ src/partnerships/facemap.md | 3 +++ src/partnerships/nwb.md | 3 +++ src/partnerships/openephysgui.md | 3 +++ src/partnerships/suite2p.md | 3 +++ 7 files changed, 56 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index 0f791d0..8db4678 100644 --- a/README.md +++ b/README.md @@ -39,7 +39,7 @@ Then install the required packages: pip install -r pip_requirements.txt ``` -Run mkdocs at http://127.0.0.1:8000/docs/: +Run mkdocs at: http://127.0.0.1:8000/docs/ ```bash # It will automatically reload the docs when changes are made mkdocs serve --config-file ./mkdocs.yaml @@ -61,3 +61,32 @@ Navigate to http://127.0.0.1:8000/docs/ to preview the changes. This setup supports live-reloading so all that is needed is to save the markdown files and/or `mkdocs.yaml` file to trigger a reload. + +## Mkdocs Warning Explanation + +> TL;DR: We need to do it this way for hosting, please keep it as is. + +```log +WARNING - A reference to 'core/datajoint-python/' is included in the 'nav' configuration, which is not found + in the documentation files. +INFO - Doc file 'index.md' contains an unrecognized relative link './core/datajoint-python/', it was left + as is. +``` + +- We use reverse proxy to proxy our docs sites, here is the proxy flow: + - You hit `datajoint.com/*` on your browser + - It'll bring you to the reverse proxy server first, that you wouldn't notice + - when your URL ends with: + - `/` is the company page + - `/docs/` is the landing/navigation page hosted by datajoint/datajoint-docs's github pages + - `/docs/core/datajoint-python/` is the actual docs site hosted by datajoint/datajoint-python's github pages + - `/docs/elements/element-*/` is the actual docs site hosted by each element's github pages + + +```log +WARNING - Doc file 'partnerships/openephysgui.md' contains a link + '../../images/community-partnerships-openephysgui-logo.png', but the target + '../images/community-partnerships-openephysgui-logo.png' is not found among documentation files. + Did you mean '../images/community-partnerships-openephysgui-logo.png'? +``` +- We use Github Pages to host our docs, the image references needs to follow the mkdocs's build directory structure, under `site/` directory once you run mkdocs. \ No newline at end of file diff --git a/mkdocs.yaml b/mkdocs.yaml index 53b1f25..c438071 100644 --- a/mkdocs.yaml +++ b/mkdocs.yaml @@ -6,6 +6,8 @@ repo_name: datajoint/datajoint-docs repo_url: https://github.com/datajoint/datajoint-docs nav: - Welcome: index.md + # relative site url, not pointing to any docs in the repo + # it's for reverse proxy to proxy datajoint-python docs - DataJoint Python: core/datajoint-python/ - DataJoint Elements: - elements/index.md @@ -69,9 +71,10 @@ theme: plugins: - search - section-index - - redirects: - redirect_maps: - "index.md": "welcome.md" + # There is no welcome.md anymore + # - redirects: + # redirect_maps: + # "index.md": "welcome.md" - exclude: glob: - archive/* @@ -85,8 +88,8 @@ markdown_extensions: options: custom_icons: - .overrides/.icons - emoji_index: !!python/name:materialx.emoji.twemoji - emoji_generator: !!python/name:materialx.emoji.to_svg + emoji_index: !!python/name:material.extensions.emoji.twemoji + emoji_generator: !!python/name:material.extensions.emoji.to_svg - mdx_truly_sane_lists - pymdownx.superfences: custom_fences: @@ -103,8 +106,9 @@ markdown_extensions: custom_checkbox: true extra: generator: false # Disable watermark - version: - provider: mike + # There is no version for this doc + # version: + # provider: mike social: - icon: main/company-logo link: https://www.datajoint.com diff --git a/src/partnerships/dandi.md b/src/partnerships/dandi.md index c8bb732..cb63a72 100644 --- a/src/partnerships/dandi.md +++ b/src/partnerships/dandi.md @@ -1,6 +1,9 @@ # Sustainability Roadmap between DataJoint Elements and DANDI Archive
+ + + ![datajoint](../../images/company-logo-black.svg){: style="height:50px; padding-right:25px"} ![dandi](../../images/community-partnerships-dandi-logo.png){: style="height:83px"}
diff --git a/src/partnerships/facemap.md b/src/partnerships/facemap.md index 639de4f..4d5471f 100644 --- a/src/partnerships/facemap.md +++ b/src/partnerships/facemap.md @@ -1,6 +1,9 @@ # Sustainability Roadmap between DataJoint Elements and Facemap
+ + + ![datajoint](../../images/company-logo-black.svg){: style="height:50px; padding-right:25px"} ![facemap](../../images/community-partnerships-facemap-logo.png){: style="width:100px"}
diff --git a/src/partnerships/nwb.md b/src/partnerships/nwb.md index 49ebf9c..5be1cad 100644 --- a/src/partnerships/nwb.md +++ b/src/partnerships/nwb.md @@ -1,6 +1,9 @@ # Sustainability Roadmap between DataJoint Elements and Neurodata Without Borders
+ + + ![datajoint](../../images/company-logo-black.svg){: style="height:50px; padding-right:25px"} ![NWB](../../images/community-partnerships-nwb-logo.png){: style="width:300px"}
diff --git a/src/partnerships/openephysgui.md b/src/partnerships/openephysgui.md index e4e7e49..0bd151d 100644 --- a/src/partnerships/openephysgui.md +++ b/src/partnerships/openephysgui.md @@ -1,6 +1,9 @@ # Sustainability Roadmap between DataJoint Elements and Open Ephys GUI
+ + + ![datajoint](../../images/company-logo-black.svg){: style="height:50px; padding-right:25px"} ![openephysgui](../../images/community-partnerships-openephysgui-logo.png){: style="height:87px"}
diff --git a/src/partnerships/suite2p.md b/src/partnerships/suite2p.md index ba3808b..f05cd5d 100644 --- a/src/partnerships/suite2p.md +++ b/src/partnerships/suite2p.md @@ -1,6 +1,9 @@ # Sustainability Roadmap between DataJoint Elements and Suite2p
+ + + ![datajoint](../../images/company-logo-black.svg){: style="height:50px; padding-right:25px"} ![suite2p](../../images/community-partnerships-suite2p-logo.png){: style="height:70px"}
From 5d9857549f05ca08135e8ab2a97f71d28d4b1fe2 Mon Sep 17 00:00:00 2001 From: MilagrosMarin Date: Thu, 27 Mar 2025 13:30:48 +0000 Subject: [PATCH 15/22] update dissemination --- src/elements/management/dissemination.md | 25 +++++++++++++++--------- 1 file changed, 16 insertions(+), 9 deletions(-) diff --git a/src/elements/management/dissemination.md b/src/elements/management/dissemination.md index 299a93b..f0759cb 100644 --- a/src/elements/management/dissemination.md +++ b/src/elements/management/dissemination.md @@ -6,16 +6,23 @@ We conduct activities to disseminate Resource components for adoption in diverse neuroscience labs. These activities include - A central [website](https://datajoint.com/docs/elements/) for the Resource. -- Conference talks, presentations, and workshops +- [Conference talks, presentations, and workshops](../../support-events.md) - Publications in peer-reviewed journals - White papers posted on internet resources and websites - On-site workshops by invitation - Remote workshops and webinars - Online interactive tutorials hosted on GitHub Codespaces - [DataJoint Tutorials](https://github.com/datajoint/datajoint-tutorials) - - [DataJoint Workflow Array - Ephys](https://github.com/datajoint/workflow-array-ephys#interactive-tutorial) + - [DataJoint Element Array Ephys](https://github.com/datajoint/element-array-ephys#interactive-tutorial) - [DataJoint Element Calcium Imaging](https://github.com/datajoint/element-calcium-imaging#interactive-tutorial) + - [DataJoint Element DeepLabCut](https://github.com/datajoint/element-deeplabcut#interactive-tutorial) + - [DataJoint Element Facemap](https://github.com/datajoint/element-facemap#interactive-tutorial) + - [DataJoint Element MoSeq](https://github.com/datajoint/element-moseq#interactive-tutorial) + - [DataJoint Element Miniscope](https://github.com/datajoint/element-miniscope#interactive-tutorial) + - [DataJoint Element Optogenetics](https://github.com/datajoint/element-optogenetics#interactive-tutorial) + - [DataJoint Element Zstack](https://github.com/datajoint/element-zstack#interactive-tutorial) + - [DataJoint Element Electrode Localization](https://github.com/datajoint/element-electrode-localization#interactive-tutorial) + - [DataJoint Element Visual Stimulus](https://github.com/datajoint/element-visual-stimulus#interactive-tutorial) ## 2. Community Survey @@ -24,12 +31,12 @@ estimate the adoption and use of the Resource: - A citation mechanism for individual components of the Resource. - | Resource | RRID | - |:---------|:-----| - | DataJoint Core | [RRID:SCR_014543](https://scicrunch.org/resolver/SCR_014543) | - | DataJoint Elements | [RRID:SCR_021894](https://scicrunch.org/resolver/SCR_021894) | + | Resource | RRID | + | :----------------- | :----------------------------------------------------------- | + | DataJoint Core | [RRID:SCR_014543](https://scicrunch.org/resolver/SCR_014543) | + | DataJoint Elements | [RRID:SCR_021894](https://scicrunch.org/resolver/SCR_021894) | - GitHub forks and dependent repositories. -- A register for self-reporting for component adoption and use (see [DataJoint Community - Survey](https://try.datajoint.com/communitysurvey)). +- A register for self-reporting for component adoption and use (see +[DataJoint Community Survey](https://try.datajoint.com/communitysurvey)). From a1d7bd598e40c1d6ba08595edbc3c0c1831bd069 Mon Sep 17 00:00:00 2001 From: Drew Yang Date: Thu, 27 Mar 2025 15:46:37 -0500 Subject: [PATCH 16/22] =?UTF-8?q?docs:=20=F0=9F=93=9D=20improve=20contribu?= =?UTF-8?q?te.md=20|=20fix=20markdownlint=20config?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .markdownlint.yaml | 14 +++- src/about/contribute.md | 174 ++++++++++++++++++++++++---------------- 2 files changed, 113 insertions(+), 75 deletions(-) diff --git a/.markdownlint.yaml b/.markdownlint.yaml index 5a3bd6b..7229b06 100644 --- a/.markdownlint.yaml +++ b/.markdownlint.yaml @@ -1,18 +1,24 @@ # https://github.com/DavidAnson/markdownlint # https://github.com/DavidAnson/markdownlint/blob/main/doc/Rules.md +MD007: false # Unordered list indentation MD009: false # permit trailing spaces -MD013: - line_length: "88" # Line length limits +MD013: + # previously we defined line_length to 88 which is better for python + # but not for markdown + line_length: + - strict: false tables: false # disable for tables headings: false # disable for headings +MD029: false # Ordered list item prefix MD030: false # Number of spaces after a list +MD032: false # Lists should be surrounded by blank lines MD033: # HTML elements allowed - allowed_elements: + allowed_elements: - "div" - "span" - "a" - "br" - - "sup" + - "sup" - "figure" MD034: false # Bare URLs OK MD031: false # Spacing w/code blocks. Conflicts with `??? Note` and code tab styling diff --git a/src/about/contribute.md b/src/about/contribute.md index 8a09850..f30ad10 100644 --- a/src/about/contribute.md +++ b/src/about/contribute.md @@ -1,77 +1,114 @@ # Contribution Guidelines -Thank you for your interest in contributing to DataJoint Elements! +Thank you for your interest in contributing to DataJoint open-source software! -These guidelines are designed to ensure smooth collaboration, high-quality -contributions, and a welcoming environment for all contributors. Please take a moment to -review this document in order to make the contribution process easy and effective for -everyone involved. +These guidelines are designed to ensure smooth collaboration, high-quality contributions, and a welcoming environment for all contributors. Please take a moment to review this document in order to make the contribution process easy and effective for everyone involved. -The principal maintainer of DataJoint and associated tools is the DataJoint company. The -pronouns “we” and “us” in this guideline refer to the principal maintainers. We invite -reviews and contributions of the open-source software. We compiled these guidelines to -make this work clear and efficient. +The principal maintainer of DataJoint and associated tools is the DataJoint company. The pronouns “we” and “us” in this guideline refer to the principal maintainers. We invite reviews and contributions of the open-source software. We compiled these guidelines to make this work clear and efficient. + +## Table of Contents +- [Community Engagement](#community-engagement) +- [How to Contribute](#how-to-contribute) + - [Project Lists](#project-lists) + - [Prerequisites](#prerequisites) + - [Reporting Bugs](#reporting-bugs) + - [Proposing Features or Enhancements](#proposing-features-or-enhancements) + - [Submitting Pull Requests (PRs)](#submitting-pull-requests-prs) + - [Code Reviews](#code-reviews) +- [Releases](#releases) +- [Contribution Acknowledgment](#contribution-acknowledgment) + + +## Community Engagement + +For general questions, ideas, discussions or live debugging sessions, please join [DataJoint Slack](https://join.slack.com/t/datajoint/shared_invite/enQtMjkwNjQxMjI5MDk0LTQ3ZjFiZmNmNGVkYWFkYjgwYjdhNTBlZTBmMWEyZDc2NzZlYTBjOTNmYzYwOWRmOGFmN2MyYzU0OWQ0MWZiYTE) or [Stack Overflow](https://stackoverflow.com/questions/tagged/datajoint), but for direct technical issues should stay in `Github Issue` in the respective project's repository. Response times may vary depending on maintainer availability. + +- For resolving bugs, errors, or general debugging help, please submit it through `Github Issue` in the respective repository. +- For live debugging, urgent help, or broader discussions, join the [DataJoint Slack](https://join.slack.com/t/datajoint/shared_invite/enQtMjkwNjQxMjI5MDk0LTQ3ZjFiZmNmNGVkYWFkYjgwYjdhNTBlZTBmMWEyZDc2NzZlYTBjOTNmYzYwOWRmOGFmN2MyYzU0OWQ0MWZiYTE). +- For feature requests, please open an issue directly in the `Github Issue` of the respective repository providing sufficient details to facilitate discussion and prioritization. + +[Back to Top](#table-of-contents) ## How to Contribute -### Feedback and Communication +### Project Lists + +Actively maintained projects by DataJoint: + +- DataJoint Enhancement Proposal - in progress +- [DataJoint Specs](https://github.com/datajoint/datajoint-specs) +- [DataJoint Docs](https://github.com/datajoint/datajoint-docs) + - It is the landing page of DataJoint documentation. + - Each project has its own documentation in its repository. + - Please help us to improve our documetations, it's the easiest but most impactful way to contribute! +- [DataJoint Python](https://github.com/datajoint/datajoint-python) +- [DataJoint Elements](https://github.com/orgs/datajoint/repositories?q=element) +- [datajoint/djlabhub-docker](https://github.com/datajoint/djlabhub-docker) +- [datajoint/nginx-docker](https://github.com/datajoint/nginx-docker) -Engage with the community through GitHub Issues and PR discussions. +Archived projects by DataJoint, but still open for community contributions: -Use inclusive and professional language. +- [Datajoint MATLAB](https://github.com/datajoint/datajoint-matlab) +- [DataJoint Pharus](https://github.com/datajoint/pharus) +- [DataJoint SciViz](https://github.com/datajoint/sci-viz) +- [DataJoint LabBook](https://github.com/datajoint/datajoint-labbook) +- Most of [Docker images](https://github.com/orgs/datajoint/repositories?q=docker) expect the ones listed above + +### Prerequisites + +- Familiarize yourself with the project documentation and guidelines. +- Start with reading the repository's `README.md` and `CONTRIBUTION.md`. You should expect to find the following instructions for the respective project: + - Installation instructions. + - Development environment setup. + - Testing instructions. -For general questions or ideas, discussions and live debugging support, please join -[DataJoint Slack channel](https://join.slack.com/t/datajoint/shared_invite/enQtMjkwNjQxMjI5MDk0LTQ3ZjFiZmNmNGVkYWFkYjgwYjdhNTBlZTBmMWEyZDc2NzZlYTBjOTNmYzYwOWRmOGFmN2MyYzU0OWQ0MWZiYTE) -or [other community forums](https://stackoverflow.com/questions/tagged/datajoint), but -direct technical contributions should stay in GitHub. Response times may vary depending -on maintainer availability. +> Please open an issue in the respective repository if any of those instructions in the documentations or `READMD.md` are unclear to you. Contributions to documentations are equivalently important to any code for the community, please help us to resolve any confusions in documentations. -### Reporting Issues +### Reporting Bugs -Use `GitHub Issues` to report bugs or request features. Clearly describe the issue, -including: +Before you open up a new issue, please check `Github Issue` to see if there are any related open/closed issues or open/closed PRs to avoid duplicates. If not, please open a new issue with clearly description of your bug, including: - Steps to reproduce (if applicable). - Expected and actual outcomes. - Any relevant error messages, logs, or screenshots. -- Include environment details (e.g., OS, library versions) to speed up troubleshooting. +- Include environment details (e.g., OS, pip, conda dependencies) to speed up troubleshooting. -Check existing issues to avoid duplicates. +### Proposing Features or Enhancements -### Proposing Features/Changes - -Before significant contributions, open a `GitHub Issue` to discuss your proposal. Please -include: +Before starting your significant work, open a `Github Issue` to discuss your proposal first. Please include: - A clear problem statement. - Proposed solution or feature details. - Relevant examples or use cases. -### Submitting Pull Requests (PRs) - -1. Fork the repository and clone it to your local machine. -2. Create a descriptive branch name, e.g., `fix/typo-docs` or `feature/add-logging`. -3. Follow [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/): Use - commit messages following the commit types for versioning: +> There will be a repository for DataJoint Enhancement Proposal to centralize all proposals, it is currently in progress. -- `fix`: Bug fixes (PATCH in Semantic Versioning). -- `feat`: New features (MINOR in Semantic Versioning). -- `docs`: Documentation updates. -- `Breaking changes`: Use ! after the type or add BREAKING CHANGE in the commit footer. - -- `Example: fix(auth): resolve token expiration bug.` +### Submitting Pull Requests (PRs) +> In DataJoint, we use **[Forking Workflow](https://www.atlassian.com/git/tutorials/comparing-workflows/forking-workflow)** to manage contributions to keep the main fork's branch management clean. + +1. Fork the repository to your own Github account and clone it to your local machine. + - Please remember to always sync your fork's main branch with the DataJoint repository's main branch before starting your work. + - In your own fork, we suggest you use [Feature Branch Workflow](https://www.atlassian.com/git/tutorials/comparing-workflows/feature-branch-workflow) to manage your branches in your own fork, just in case someone will work on multiple contributions at the same time. +2. Create a descriptive feature/fix branch from your fork's main branch, e.g., `fix/typo-docs` or `feature/add-logging`. +3. Optionally, but highly recommended to follow [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/) to make commit messages easier to be searched and categorized: If you use VSCode, please install [Conventional Commits](https://marketplace.visualstudio.com/items?itemName=vivaxy.vscode-conventional-commits) extention, it will help you to edit your commit messages following the commit types for versioning: + - `fix`: Bug fixes. + - `feat`: New features. + - `docs`: Documentation updates. + - `Breaking changes`: Changes would break backward compatibility, may affect the existing users when they upgrade. Use ! after the type or add BREAKING CHANGE in the commit footer. + - `chore`: Like the name, it is a chore. + - Example, if you are not using the VSCode extension: `git commit -m "fix(auth): resolve token expiration bug."` 4. Reference related issue(s) in your PR description (e.g., Closes #123). -5. Cover new functionality or bug fixes with appropriate tests. Ensure all tests pass - before submission. Typically as it relates to tests, this means: +5. Cover new functionality or bug fixes with appropriate tests. Ensure all tests pass before submission. Typically as it relates to tests, this means: 1. No syntax errors 2. No integration errors 3. No style errors e.g. PEP8, etc. 4. Similar or better code coverage -6. Additional documentation to reflect new feature or behavior introduced. +6. **Additional documentation** to reflect new feature or behavior introduced. 7. Provide a detailed PR description explaining the changes and their impact. -8. Submit the PR for review. Maintainers will also ensure that PR’s have the appropriate - assignment for reviewer. +8. Submit the PR for review. Maintainers will also ensure that PR’s have the appropriate assignment for reviewer. + +### Code Reviews A contributor should not approve or merge their own PR. A maintainer will review and approve the PR. @@ -81,52 +118,47 @@ contributor’s fork. A less intrusive way to collaborate would be for the revie to the contributor’s fork/branch that is associated with the main PR currently in review. -### Code Reviews +Expect constructive feedback from maintainers. Maintainers will review your PR and suggest changes or improvements. Be responsive to feedback and iterate as needed. Reviews focus on code quality and adherence to standards, and documentation and test coverage. Once approved, the PR will be merged. -Expect constructive feedback from maintainers. Maintainers will review your PR and -suggest changes or improvements. Be responsive to feedback and iterate as needed. -Reviews focus on code quality and adherence to standards, and documentation and test -coverage. Once approved, the PR will be merged. +[Back to Top](#table-of-contents) ## Releases Releases follow the standard definition of [semantic versioning](https://semver.org/spec/v2.0.0.html). Meaning: -`MAJOR` . `MINOR` . `PATCH` +`MAJOR` . `MINOR` . `PATCH/MICRO` -- `MAJOR` version when you make incompatible API changes, +- `MAJOR` version bump when breaking changes make backward incompatible. -- `MINOR` version when you add functionality in a backwards compatible manner, and +- `MINOR` version bump when added functionalities is backward compatible. -- `PATCH` version when you make backwards compatible bug fixes. +- `PATCH/MICRO` version when included bug fixes are backward compatible. -Each release requires tagging the commit appropriately and is then issued following the -GitHub automated semantic release. The release and Changelog will be generated -automatically after the PR is merged. +> Backward Compatible means that the existing users can upgrade to the new version without any changes to their existing code. -## Community Engagement +For DataJoint open-source projects, we have two ways of making a release at this moment since we are improving the release process, and we will eventually consolidate into one way: -- For resolving bugs, errors, or debugging issues, please submit it through **GitHub - Issues**. -- For live debugging, urgent help, or broader discussions, join the - [DataJoint Slack](https://join.slack.com/t/datajoint/shared_invite/enQtMjkwNjQxMjI5MDk0LTQ3ZjFiZmNmNGVkYWFkYjgwYjdhNTBlZTBmMWEyZDc2NzZlYTBjOTNmYzYwOWRmOGFmN2MyYzU0OWQ0MWZiYTE). - Keep in mind maintainers’ availability may be limited. -- For feature requests, directly in the GitHub Issue Tracker of the respective - repository Provide sufficient details to facilitate discussion and prioritization. +- Datajoint Python release, the future direction: + - We use `Github Label` and [PR Labeler action](https://github.com/actions/labeler) to categorize each PR. + - Then we use [Release Drafter](https://github.com/release-drafter/release-drafter) to manually trigger a Github Actions workflow to make a draft release. + - Changelog will be provided by [Github Compare URL](https://github.com/datajoint/datajoint-python/compare/v0.14.2...v0.14.3) at the end of the release note. + - Then we manually publish the draft release to trigger a release Github Actions workflow. +- Others: + - This process is very dependent on conventional commits and tagging. + - It will be triggered by pushing a new tag to the repository. + - It uses [python-semantic-release](https://python-semantic-release.readthedocs.io/en/latest/) to parse all the conventional commits for the release note and `CHANGELOG.md`. -## Prerequisites +> We found the former resolver would work the best for our community since contributors are from different background, we do not want to require them to adopt conventional commits. -- Familiarize yourself with the project documentation and guidelines. -- Install necessary tools and dependencies listed in the repository's `README`. +[Back to Top](#table-of-contents) ## Contribution Acknowledgment -We deeply appreciate every contribution! By adhering to these guidelines, you help -maintain the quality, usability, and success of DataJoint Elements. +We deeply appreciate every contribution! By adhering to these guidelines, you help maintain the quality, usability, and success of any DataJoint open-source software. -For any questions, feel free to reach out via GitHub Issues, our -[community Slack](https://join.slack.com/t/datajoint/shared_invite/enQtMjkwNjQxMjI5MDk0LTQ3ZjFiZmNmNGVkYWFkYjgwYjdhNTBlZTBmMWEyZDc2NzZlYTBjOTNmYzYwOWRmOGFmN2MyYzU0OWQ0MWZiYTE) -or contact `support@datajoint.com`. +For any questions, feel free to reach out via `Github Issue` in the specific repository, our [Community Slack](https://join.slack.com/t/datajoint/shared_invite/enQtMjkwNjQxMjI5MDk0LTQ3ZjFiZmNmNGVkYWFkYjgwYjdhNTBlZTBmMWEyZDc2NzZlYTBjOTNmYzYwOWRmOGFmN2MyYzU0OWQ0MWZiYTE) or contact `support@datajoint.com`. Thank you for your contributions! + +[Back to Top](#table-of-contents) From ca1cab19a9ed23278d6481e2e7950f96f7f7e8f8 Mon Sep 17 00:00:00 2001 From: Drew Yang Date: Fri, 28 Mar 2025 13:35:14 -0500 Subject: [PATCH 17/22] =?UTF-8?q?fix:=20=F0=9F=90=9B=20minor=20bug=20fix?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docker-compose.yaml | 7 ++----- mkdocs.yaml | 2 +- 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/docker-compose.yaml b/docker-compose.yaml index 91ba0db..ab64c9c 100644 --- a/docker-compose.yaml +++ b/docker-compose.yaml @@ -3,23 +3,20 @@ # Navigate to http://localhost/docs/ services: docs: - build: - args: - - BOT_PAT image: datajoint/datajoint-docs environment: - MODE volumes: - .:/main ports: - - 80:80 + - 8000:8000 command: - sh - -c - | set -e if echo "$${MODE}" | grep -i live &>/dev/null; then - mkdocs serve --config-file ./mkdocs.yaml + mkdocs serve --config-file ./mkdocs.yaml -a 0.0.0.0:8000 elif echo "$${MODE}" | grep -i build &>/dev/null; then mkdocs build --config-file ./mkdocs.yaml else diff --git a/mkdocs.yaml b/mkdocs.yaml index ee362f2..c438071 100644 --- a/mkdocs.yaml +++ b/mkdocs.yaml @@ -131,7 +131,7 @@ extra: - icon: fontawesome/brands/python link: https://pypi.org/user/datajointbot name: PyPI -TODO: - icon: fontawesome/brands/stack-overflow + - icon: fontawesome/brands/stack-overflow link: https://stackoverflow.com/questions/tagged/datajoint name: StackOverflow - icon: fontawesome/brands/youtube From 708ef2e991870dde91a32c7284d5e1c68c7feba6 Mon Sep 17 00:00:00 2001 From: Drew Yang Date: Tue, 1 Apr 2025 18:17:41 -0500 Subject: [PATCH 18/22] =?UTF-8?q?fix:=20=F0=9F=90=9B=20insider=20is=20not?= =?UTF-8?q?=20needed?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Dockerfile | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/Dockerfile b/Dockerfile index 0020895..282bc67 100644 --- a/Dockerfile +++ b/Dockerfile @@ -5,9 +5,6 @@ COPY mkdocs.yaml mkdocs.yaml COPY src/ src/ COPY pip_requirements.txt pip_requirements.txt -ARG BOT_PAT RUN \ apk add --no-cache git && \ - pip install --no-cache-dir -r /main/pip_requirements.txt - #&& \ - #pip install --no-cache git+https://${BOT_PAT}@github.com/datajoint/mkdocs-material-insiders.git@master + pip install --no-cache-dir -r /main/pip_requirements.txt \ No newline at end of file From c1d4d0d780c4c3c57f3bb9217b59c48aa249acb8 Mon Sep 17 00:00:00 2001 From: MilagrosMarin Date: Tue, 15 Apr 2025 13:09:47 +0200 Subject: [PATCH 19/22] update mkdocs --- mkdocs.yaml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/mkdocs.yaml b/mkdocs.yaml index a0db789..9c0cbca 100644 --- a/mkdocs.yaml +++ b/mkdocs.yaml @@ -109,6 +109,9 @@ extra: - icon: main/company-logo link: https://www.datajoint.com name: DataJoint + - icon: main/company-logo + link: https://datajoint.com/docs/ + name: DataJoint Documentation - icon: fontawesome/brands/slack link: https://datajoint.slack.com name: Slack @@ -127,11 +130,8 @@ extra: - icon: fontawesome/brands/python link: https://pypi.org/user/datajointbot name: PyPI -TODO: - icon: fontawesome/brands/stack-overflow - link: https://stackoverflow.com/questions/tagged/datajoint - name: StackOverflow - icon: fontawesome/brands/youtube - link: https://www.youtube.com/channel/UCdeCuFOTCXlVMRzh6Wk-lGg + link: https://www.youtube.com/@datajoint name: YouTube extra_css: - assets/stylesheets/extra.css From fd1436d4b7e3f85ae83ce2d08910b7c7c4758650 Mon Sep 17 00:00:00 2001 From: MilagrosMarin Date: Tue, 15 Apr 2025 14:31:19 +0200 Subject: [PATCH 20/22] update `src/about` files --- src/about/about.md | 11 +++++++++++ src/about/citation.md | 2 +- src/about/datajoint-team.md | 6 +++--- src/about/history.md | 4 ++++ 4 files changed, 19 insertions(+), 4 deletions(-) create mode 100644 src/about/about.md diff --git a/src/about/about.md b/src/about/about.md new file mode 100644 index 0000000..d9f51d4 --- /dev/null +++ b/src/about/about.md @@ -0,0 +1,11 @@ +DataJoint Elements, DataJoint documentation, and DataJoint Web GUIs and APIs are supported by the NIH grant [**NIH U24 NS116470**](https://reporter.nih.gov/project-details/10547509) for disseminating open-source software for neuroscience research. + +The goal is to systematize and disseminate data pipeline designs from leading neuroscience projects using the DataJoint framework. + +### Aim 1: DataJoint Pipelines for Neurophysiology + +Extract and systematize essential design motifs from published DataJoint-based projects as a collection of simple modules. + +### Aim 2: Access and Training Resources + +Support a dedicated resource for accessing and using DataJoint Pipelines for Neurophysiology. diff --git a/src/about/citation.md b/src/about/citation.md index 54fa1e5..42c3d99 100644 --- a/src/about/citation.md +++ b/src/about/citation.md @@ -47,7 +47,7 @@ Research**, please use the following citation: - Manuscript: Johnson EC, Nguyen TT, Dichter BK, Zappulla F, Kosma M, Gunalan K, Halchenko YO, Neufeld SQ, Schirner M, Ritter P, Martone ME. SciOps: Achieving Productivity and Reliability in Data-Intensive Research. arXiv preprint - arXiv:2401.00077v2. 2024 Nov 6. (Under review) + arXiv:2401.00077v2. 2023 Dec 29. - **RRID**: TBD diff --git a/src/about/datajoint-team.md b/src/about/datajoint-team.md index 545a509..e7727a0 100644 --- a/src/about/datajoint-team.md +++ b/src/about/datajoint-team.md @@ -7,7 +7,7 @@ as Principal Investigator. - Dimitri Yatsenko, PhD - PI & Chief Science and Technology Officer -- Thinh Nguyen, PhD - SciOps Engineer +- Thinh Nguyen, PhD - SciOps Lead - Kushal Bakshi, PhD - SciOps Engineer - Milagros Marín, PhD - SciOps Engineer @@ -36,10 +36,10 @@ as Principal Investigator. - David Godinez - Data Engineer - Geetika Singh - Data Engineer - Kabilar Gunalan - Project Manager, Data Scientist -- Jaerong Ahn - Data Scientist +- Jaerong Ahn - SciOps Engineer - Jeroen Verswijver - Software Engineer - Adib Baji - Software Engineer -- Sid Hulyalkar - Data Scientist +- Sid Hulyalkar - SciOps Engineer The first-person pronouns "we" and "our" in these documents refer to those listed above. diff --git a/src/about/history.md b/src/about/history.md index da15ca1..547d8de 100644 --- a/src/about/history.md +++ b/src/about/history.md @@ -28,3 +28,7 @@ In 2017, DARPA awarded a small-business innovation research grant to Vathes LLC In June 2018, the Princeton Neuroscience Institute, under the leadership of Prof. Carlos Brody, began funding a project to generate a detailed DataJoint user manual. + +In 2022, DataJoint was awarded NIH grant [NIH U24 NS116470](https://reporter.nih.gov/project-details/10547509) for disseminating open-source software for neuroscience research ([Press Release](https://www.pr.com/press-release/873164)). + +In 2025, Jim Olson, former executive at Flywheel, was appointed as the new CEO of DataJoint ([Press Release](https://www.prweb.com/releases/datajoint-appoints-former-flywheel-exec-jim-olson-as-new-ceo-302342644.html)). From 8a8f71b05ec481d5afdcca53b1c00f2b899bf3b9 Mon Sep 17 00:00:00 2001 From: MilagrosMarin Date: Tue, 15 Apr 2025 14:36:33 +0200 Subject: [PATCH 21/22] major update of files --- mkdocs.yaml | 1 + src/elements/concepts.md | 36 +++---- src/elements/management/quality-assurance.md | 84 +++++++-------- src/index.md | 4 +- src/partnerships/facemap.md | 2 +- src/partnerships/incf.md | 10 +- src/projects/publications.md | 9 +- src/projects/teams.md | 4 +- src/support-events.md | 105 +++++++++++-------- 9 files changed, 146 insertions(+), 109 deletions(-) diff --git a/mkdocs.yaml b/mkdocs.yaml index 7ed61ae..3b0c952 100644 --- a/mkdocs.yaml +++ b/mkdocs.yaml @@ -37,6 +37,7 @@ nav: - Open Ephys GUI: partnerships/openephysgui.md - Suite2p: partnerships/suite2p.md - About: + - About: about/about.md - History: about/history.md - Team: about/datajoint-team.md - Citation Guidelines: about/citation.md diff --git a/src/elements/concepts.md b/src/elements/concepts.md index 6d15b6d..31e746b 100644 --- a/src/elements/concepts.md +++ b/src/elements/concepts.md @@ -1,6 +1,6 @@ # Concepts -The following conventions describe the DataJoint Python API implementation. +The following conventions describe the DataJoint Python API implementation. ## DataJoint Schemas @@ -22,7 +22,7 @@ reference the database schema. corresponding _database schema_. The module's `schema` object is then used as the decorator for classes that define - tables in the database. + tables in the database. === "Matlab" @@ -37,24 +37,22 @@ reference the database schema. An Element is a software package defining one or more DataJoint schemas serving a particular purpose. By convention, such packages are hosted in individual GitHub repositories. For example, Element `element_calcium_imaging` is hosted at -[this GitHub repository](https://github.com/datajoint/element-calcium-imaging) and contains two DataJoint -schemas: `scan` and `imaging`. +[this GitHub repository](https://github.com/datajoint/element-calcium-imaging) and +contains two DataJoint schemas: `scan` and `imaging`. ### YouTube Tutorials -The following YouTube videos provide information on basic design principles and file organization. +The following YouTube videos provide information on basic design principles and file +organization. - [Why neuroscientists should use relational databases](https://www.youtube.com/watch?v=q-PMUSC5P5o) compared to traditional file hierarchies. -- [Quickstart Guide](https://www.youtube.com/watch?v=5R-qnz37BKU) including - terminology, and how to read DataJoint Diagrams and DataJoint Python table - definitions. +- [Quickstart Guide](https://www.youtube.com/watch?v=5R-qnz37BKU) including terminology, + and how to read DataJoint Diagrams and DataJoint Python table definitions. - [Intro to the Element and Workflow files](https://www.youtube.com/watch?v=tat9MSjkH_U) for an overview of the respective GitHub repositories. -- [Overview of upstream Elements](https://www.youtube.com/watch?v=NRqpKNoHEY0) to - ingest and explore Lab, Animal, and Session metadata. - -???+ Note +- [Overview of upstream Elements](https://www.youtube.com/watch?v=NRqpKNoHEY0) to ingest + and explore Lab, Animal, and Session metadata. Some videos feature outdated versions of the respective GitHub repositories. For the most updated information, check the @@ -62,9 +60,9 @@ The following YouTube videos provide information on basic design principles and ### Deferred schemas -A _deferred schema_ is one in which the name of the database schema name is not specified. -This module does not declare schema and tables upon import. -Instead, they are declared by calling `schema.activate('')` after import. +A _deferred schema_ is one in which the name of the database schema name is not +specified. This module does not declare schema and tables upon import. Instead, they are +declared by calling `schema.activate('')` after import. By convention, all modules corresponding to deferred schema must declare the function `activate` which in turn calls `schema.activate`. @@ -90,9 +88,9 @@ in a `linking_module` and passed to the module's `activate` function. By keeping upstream requirements in the linking module, all Elements can be activated as part of any larger pipeline. -For instance, the +For instance, the [Scan module](https://github.com/datajoint/element-calcium-imaging/blob/main/element_calcium_imaging/scan.py) receives its required functions from the linking module passed into the module's -`activate` function. See the -[example notebooks](https://github.com/datajoint/element-calcium-imaging/) -for an example of how the linking module is passed into the Element's module. +`activate` function. See the +[example notebooks](https://github.com/datajoint/element-calcium-imaging/) for an +example of how the linking module is passed into the Element's module. diff --git a/src/elements/management/quality-assurance.md b/src/elements/management/quality-assurance.md index ca58bc5..0e91c27 100644 --- a/src/elements/management/quality-assurance.md +++ b/src/elements/management/quality-assurance.md @@ -1,32 +1,34 @@ # Quality Assurance -DataJoint and DataJoint Elements serve as a framework and starting points for numerous -new projects, setting the standard of quality for data architecture and software -design. To ensure higher quality, the following policies have been adopted into the -software development lifecycle (SDLC). +DataJoint and DataJoint Elements serve as frameworks and starting points for numerous +new projects, setting the standard for data architecture and software design quality. To +ensure higher quality, the following policies have been adopted into the Software +Development Life Cycle (SDLC). ## Coding Standards -When writing code, the following principles should be observed. +When writing code, the following principles should be observed: -- **Style**: Code shall be written for clear readability. Uniform and clear naming - conventions, module structure, and formatting requirements shall be established - across all components of the project. Python's - [PEP8](https://www.python.org/dev/peps/pep-0008/#naming-conventions) standard offers - clear guidance to this regard which can similarly be applied to all languages. - - Python code is formatted with the [black](https://github.com/psf/black) code formatter. - - Line length should be a maximum of 88 characters. +- **Style**: Code should be written for clear readability. Uniform and consistent naming + conventions, module structures, and formatting requirements must be established across + all components of the project. -- **Maintenance Overhead**: Code base size should be noted to prevent large, - unnecessarily complex solutions from being introduced. The idea is that the larger - the code base, the more there is to review and maintain. Therefore, we should aim - to find a compromise where we can keep the code base from becoming too large - without adding convoluted complexity. + - Python's [PEP8](https://www.python.org/dev/peps/pep-0008/#naming-conventions) + standard offers clear guidances that can be applied to all languages. -- **Performance**: Performance drawbacks should be avoided, controlled, or, at least, be - properly monitored and justified. For instance: memory management, garbage - collection, disk reads/writes, and processing overhead should be regarded to ensure - that an efficient solution is achieved. + - Python code should be formatted using the + [black code formatter](https://github.com/psf/black). + - The maximum line length should be **88 characters**. + +- **Maintenance Overhead**: The size of the codebase should be considered to prevent + unnecessarily large or complex solutions. As the codebase grows, the effort to review + and maintain it increases. Therefore, the goal is to find a balance that pevents the + codebase from becoming too large while avoiding convoluted complexity. + +- **Performance**: Performance issues should be avoided, controlled, or, properly + justified. Considerations like memory management, garbage collection, disk + reads/writes, and processing overhead must be addressed to ensure an efficient + solution. ## Automated Testing @@ -34,21 +36,21 @@ All components and their revisions must include appropriate automated software t to be considered for release. The core framework must undergo thorough performance evaluation and comprehensive integration testing. -Generally, this includes tests related to: +Testing generally includes: - **Syntax**: Verify that the code base does not contain any syntax errors and will run - or compile successfully. + or compile successfully. - **Unit & Integration**: Verify that low-level, method-specific tests (unit tests) and - any tests related coordinated interface between methods (integration tests) pass - successfully. Typically, when bugs are patched or features are introduced, unit and - integration tests are added to ensure that the use-case intended to be satisfied is - accounted for. This helps us prevent any regression in functionality. + any tests related coordinated interface between methods (integration tests) pass + successfully. Typically, when bugs are patched or features are introduced, unit and + integration tests are added to ensure that the use-case intended to be satisfied is + accounted for. This helps us prevent any regression in functionality. - **Style**: Verify that the code base adheres to style guides for optimal readability. - **Code Coverage**: Verify that the code base has similar or better code coverage than - the last run. + the last run. ## Code Reviews @@ -61,28 +63,26 @@ acceptance by DataJoint core team into the main code repository. GitHub fork and open a pull request targeting the `main` branch once ready for review. - **Etiquette**: An author who has requested for a code for review should not accept and - merge their own code to the code base. A reviewer should not commit any suggestions - directly to the authors proposed changes but rather should allow the author to - review. + merge their own code to the code base. A reviewer should not commit any suggestions + directly to the authors proposed changes but rather should allow the author to review. - **Coding Standards**: Ensure the above coding standards are respected. - **Summary**: A description should be included that summarizes and highlights the - notable changes that are being proposed. + notable changes that are being proposed. - **Issue Reference**: Any bugs or feature requests that have been filed in the issue - tracker that would be resolved by acceptance should be properly linked and - referenced. + tracker that would be resolved by acceptance should be properly linked and referenced. - **Satisfy Automated Tests**: All automated tests associated with the project will be verified to be successful prior to acceptance. - **Documentation**: Documentation should be included to reflect any new feature or - behavior introduced. + behavior introduced. - **Release Notes**: Include necessary updates to the release notes or change log to - capture a summary of the patched bugs and new feature introduction. Proper linking - should be maintained to associated tickets in issue tracker and reviews. + capture a summary of the patched bugs and new feature introduction. Proper linking + should be maintained to associated tickets in issue tracker and reviews. ## Release Process @@ -108,8 +108,8 @@ upon request. All components will be organized in GitHub repositories with guidelines for contribution, feedback, and issue submission to the issue tracker. For more information on the general policy around issue filing, tracking, and escalation, see the -[DataJoint Open-Source Contribute](../../../community/contribute) policy. For -research groups that reach out to us, our team will work closely to collect feedback -and resolve issues. Typically issues will be prioritized based on their criticality and -impact. If new feature requirements become apparent, this may trigger the creation of a -separate workflow or a major revision of an existing workflow. +[DataJoint Open-Source Contribute](../../../community/contribute) policy. For research +groups that reach out to us, our team will work closely to collect feedback and resolve +issues. Typically issues will be prioritized based on their criticality and impact. If +new feature requirements become apparent, this may trigger the creation of a separate +workflow or a major revision of an existing workflow. diff --git a/src/index.md b/src/index.md index 2e8166d..f1a924f 100644 --- a/src/index.md +++ b/src/index.md @@ -1,4 +1,4 @@ -# Welcome to the DataJoint Documentation +# **Welcome to the DataJoint Documentation** ![pipeline](https://raw.githubusercontent.com/datajoint/datajoint-python/master/images/pipeline.png){: style="height:300px;"} @@ -20,7 +20,7 @@ [:octicons-arrow-right-24: Learn more](./elements/) -- **DataJoint Works** +- **DataJoint Platform** --- diff --git a/src/partnerships/facemap.md b/src/partnerships/facemap.md index 4d5471f..de7229d 100644 --- a/src/partnerships/facemap.md +++ b/src/partnerships/facemap.md @@ -88,7 +88,7 @@ and Facemap. - [x] Mechanism to run Facemap within DataJoint Elements - [Element Facemap](https://github.com/datajoint/element-facemap/blob/0ccab4ec6731cd612e7cf61a221c64fb9bf22566/element_facemap/facial_behavior_estimation.py#L259-L266) -- [ ] Tutorials on running DataJoint Element with Facemap +- [x] Tutorials on running DataJoint Element with Facemap - [Tutorial](https://github.com/datajoint/workflow-facemap/blob/main/notebooks/01-Facemap-DataJoint.ipynb) - [ ] Tests to verify loading Facemap data diff --git a/src/partnerships/incf.md b/src/partnerships/incf.md index 6bea9e5..2d65abb 100644 --- a/src/partnerships/incf.md +++ b/src/partnerships/incf.md @@ -1,3 +1,11 @@ -# INCF +# International Neuroinformatics Coordinating Facility (INCF) DataJoint is a [company member of the INCF](https://www.incf.org/network/companies). + +In 2023, Dr. Milagros Marín and Dr. Dimitri Yatsenko presented "Research workflows for collaborative neuroscience" at INCF Neuroinformatics Assembly. + +From 2023 to 2025, Dr. Milagros Marín is a member of the INCF Council for Training, Science, and Infrastructure (CTSI) and the INCF Training and Education Committee (TEC). + +In 2024, Dr. Dimitri Yatsenko served as the Chair of the Industry Advisory Council for the INCF. + +In 2025, Dr. Milagros Marín joined the Scientific Collaboration and Education Theme Team (Neuro Community). diff --git a/src/projects/publications.md b/src/projects/publications.md index 9eb8c12..c2d80d8 100644 --- a/src/projects/publications.md +++ b/src/projects/publications.md @@ -6,8 +6,16 @@ Title: Publications The following publications relied on DataJoint open-source software for data analysis. If your work uses DataJoint or DataJoint Elements, please cite the respective [manuscripts and RRIDs](../about/citation.md). +## 2025 + ++ Ding, Z., Fahey, P.G., Papadopoulos, S., Wang, E.Y., Celii, B., Papadopoulos, C., Chang, A., Kunin, A.B., Tran, D., Fu, J. ... & Tolias, A. S. (2025). [Functional connectomics reveals general wiring rule in mouse visual cortex](https://doi.org/10.1038/s41586-025-08840-3). *Nature*, 640(8058), 459-469. + ## 2024 ++ Reimer, M. L., Kauer, S. D., Benson, C. A., King, J. F., Patwa, S., Feng, S., Estacion, M. A., Bangalore, L., Waxman, S. G., & Tan, A. M. (2024). [A FAIR, open-source virtual reality platform for dendritic spine analysis. Patterns](https://doi.org/10.1016/j.patter.2024.101041), 5(9). *Patterns*, 5(9). + ++ Gillon, C. J., Baker, C., Ly, R., Balzani, E., Brunton, B. W., Schottdorf, M., Ghosh, S., & Dehghani, N. (2024). [Open Data In Neurophysiology: Advancements, Solutions & Challenges](https://doi.org/10.48550/arXiv.2407.00976). ArXiv, arXiv:2407.00976v1. + + Mosberger, A.C., Sibener, L.J., Chen, T.X., Rodrigues, H.F., Hormigo, R., Ingram, J.N., Athalye, V.R., Tabachnik, T., Wolpert, D.M., Murray, J.M. and Costa, R.M., 2024. [Exploration biases forelimb reaching strategies](https://www.cell.com/cell-reports/fulltext/S2211-1247(24)00286-9). *Cell Reports*, 43(4). + Guidera, J. A., Gramling, D. P., Comrie, A. E., Joshi, A., Denovellis, E. L., Lee, K. H., ... & Frank, L. M. (2024). [Regional specialization manifests in the reliability of neural population codes](https://doi.org/10.1101/2024.01.25.576941). *bioRxiv*, 2024-01. @@ -22,7 +30,6 @@ The following publications relied on DataJoint open-source software for data ana + Papadopouli, M., Koniotakis, E., Smyrnakis, I., Savaglio, M. A., Psilou, E., Brozi, C., ... & Smirnakis, S. M. (2024). [Brain orchestra under spontaneous conditions: Identifying communication modules from the functional architecture of area V1](https://doi.org/10.1101/2024.02.29.582364). *bioRxiv*, 2024-02. - ## 2023 + Celii, B., Papadopoulos, S., Ding, Z., Fahey, P. G., Wang, E., Papadopoulos, C., ... & diff --git a/src/projects/teams.md b/src/projects/teams.md index a5d9e9b..b5964cf 100644 --- a/src/projects/teams.md +++ b/src/projects/teams.md @@ -49,7 +49,7 @@ of Medicine to meet the needs of their own research. Below is a partial list of + Andreas Luthi Lab + Harvard Medical School + Jan Drugowitsch Lab - + Datta Lab + + Datta Lab + Harvey Lab + Sabatini Lab + Stelios Smirnakis Lab @@ -126,7 +126,7 @@ of Medicine to meet the needs of their own research. Below is a partial list of + Macke Lab (GitHub) + University of Utah + Oleksandr Shcheglovitov Lab (GitHub) - + Jan Kubanek Lab + + Jan Kubanek Lab + University of Valencia + Kai-Hendrik Cohrs diff --git a/src/support-events.md b/src/support-events.md index 3a34ab0..15952fa 100644 --- a/src/support-events.md +++ b/src/support-events.md @@ -4,10 +4,7 @@ - Email our team at support@datajoint.com -- [DataJoint - Slack](https://join.slack.com/t/datajoint/shared_invite/enQtMjkwNjQxMjI5MDk0LTQ3ZjFiZmNmNGVkYWFkYjgwYjdhNTBlZTBmMWEyZDc2NzZlYTBjOTNmYzYwOWRmOGFmN2MyYzU0OWQ0MWZiYTE) - -- [DataJoint Office Hours](https://docs.google.com/forms/d/e/1FAIpQLSeMhZtzQQWB47I8HfPcJ5_pFyMhZO284PLIblDfshe30dEuXw/viewform) +- [DataJoint Slack](https://join.slack.com/t/datajoint/shared_invite/enQtMjkwNjQxMjI5MDk0LTQ3ZjFiZmNmNGVkYWFkYjgwYjdhNTBlZTBmMWEyZDc2NzZlYTBjOTNmYzYwOWRmOGFmN2MyYzU0OWQ0MWZiYTE) - [GitHub issue](https://github.com/datajoint) on the relevant repository @@ -17,21 +14,31 @@ Find us at the following workshops and conferences! -- [Society for Neuroscience 2024](https://www.sfn.org/meetings/neuroscience-2024) - October 5-9, 2024 +- [COSYNE](https://www.cosyne.org/) - March 27-30, 2025 + +- [BRAIN NeuroAI Workshop](https://n4solutionsllc.com/brainneuroai/) - November 12, 2024 + +- [Society for Neuroscience 2024](https://www.sfn.org/meetings/neuroscience-2024) - + October 5-9, 2024 -- [INCF Neuroinformatics Assembly](https://neuroinformatics.incf.org/) - September 23-27, 2024 +- [INCF Neuroinformatics Assembly](https://neuroinformatics.incf.org/) - September + 23-27, 2024 -- [ACCN](https://neurosciencenetwork.org/) +- [ACCN](https://neurosciencenetwork.org/) -- [Gladstone Institutes - Neuroscience Seminar](https://gladstone.org/neuroscience-seminar/neuroscience-seminar-series) - June 13, 2024 +- [Gladstone Institutes - Neuroscience Seminar](https://gladstone.org/neuroscience-seminar/neuroscience-seminar-series) - + June 13, 2024 -- [10th Annual NIH BRAIN Initiative Conference](https://braininitiative.nih.gov/news-events/events/10th-annual-brain-initiative-conference) - June 16-18, 2024 +- [10th Annual NIH BRAIN Initiative Conference](https://braininitiative.nih.gov/news-events/events/10th-annual-brain-initiative-conference) - + June 16-18, 2024 - [BIO](https://convention.bio.org/) - June 3-6, 2024 -- [2024 NWB Developer Hackathon](https://try.datajoint.com/nwb-hackathon2024) - April 17-19, 2024 +- [2024 NWB Developer Hackathon](https://try.datajoint.com/nwb-hackathon2024) - April + 17-19, 2024 -- [DataJoint SciOps Summit 2024](https://try.datajoint.com/sciops-summit-2024) - April 15-17, 2024 +- [DataJoint SciOps Summit 2024](https://try.datajoint.com/sciops-summit-2024) - April + 15-17, 2024 - [COSYNE](https://www.cosyne.org/) - February 29 - March 3, 2024 @@ -41,21 +48,26 @@ Find us at the following workshops and conferences! - [RESI](https://resiconference.com/) - January 9-11, 2024 -- [Society for Neuroscience](https://www.sfn.org/meetings/neuroscience-2023) - November 11-15, 2023 +- [Society for Neuroscience](https://www.sfn.org/meetings/neuroscience-2023) - November + 11-15, 2023 -- [Harvard School of Medicine Workshop: Data Workflows for Neuroscience Teams](https://try.datajoint.com/hmsworkshop)- October 17, 18 & 20, 2023 +- [Harvard School of Medicine Workshop: Data Workflows for Neuroscience Teams](https://try.datajoint.com/hmsworkshop)- + October 17, 18 & 20, 2023 - [MIT ODIN Symposium](https://odin.mit.edu/schedule.html) - October 10-12, 2023 - [HLTH 2023](https://www.hlth.com/2023event) - October 8-11, 2023 -- [INCF Short Course: Introduction to Neuroinformatics](https://datajoint.com/news/datajoint-presenter-incf-short-course) - October 2-4, 2023 +- [INCF Short Course: Introduction to Neuroinformatics](https://datajoint.com/news/datajoint-presenter-incf-short-course) - + October 2-4, 2023 -- [INCF Neuroinformatics Assembly Workshop: Research Workflows for Collaborative Neuroscience](https://datajoint.com/news/datajoint-collaborative-research-workflows-workshop) - September 18-20, 2023 +- [INCF Neuroinformatics Assembly Workshop: Research Workflows for Collaborative Neuroscience](https://datajoint.com/news/datajoint-collaborative-research-workflows-workshop) - + September 18-20, 2023 - [SciPy](https://www.scipy2023.scipy.org/) - July 12-14, 2023 -- [Cold Spring Harbor Laboratory Neural Data Science Course](https://meetings.cshl.edu/courses.aspx?course=C-NEUDATA&year=23) - July 11-24, 2023 +- [Cold Spring Harbor Laboratory Neural Data Science Course](https://meetings.cshl.edu/courses.aspx?course=C-NEUDATA&year=23) - + July 11-24, 2023 - Allen Institute Neuropixels and OpenScope Workshop - June 21-22, 2023 @@ -69,59 +81,70 @@ Find us at the following workshops and conferences! - [COSYNE](https://www.cosyne.org/) - March 9-12, 2023 -- [Flatiron Institute CCN 2023 Workshop on Calcium & Voltage Imaging Analysis](https://indico.flatironinstitute.org/event/3293/) - January 29 - February 1, 2023 +- [Flatiron Institute CCN 2023 Workshop on Calcium & Voltage Imaging Analysis](https://indico.flatironinstitute.org/event/3293/) - + January 29 - February 1, 2023 -- [Society for Neuroscience](https://www.sfn.org/meetings/neuroscience-2022) - November 12-16, 2022 +- [Society for Neuroscience](https://www.sfn.org/meetings/neuroscience-2022) - November + 12-16, 2022 - [Senses in Motion Symposium](https://sensesinmotion.org/) - October 17, 2022 -- [NeuroDataReHack - Hackathon](https://alleninstitute.org/what-we-do/brain-science/events-training/2022-neurodatarehack-hackathon/) - -October 3-5, 2022 +- [NeuroDataReHack Hackathon](https://alleninstitute.org/what-we-do/brain-science/events-training/2022-neurodatarehack-hackathon/) - + October 3-5, 2022 - [Neuromatch Conference](https://conference.neuromatch.io/) - September 27-28, 2022 - - Recording: [Automated Pipeline for Pose - Estimation](https://www.youtube.com/watch?v=T3GPNTV5NqM) -- [Neuropixels and OpenScope - Workshop](https://alleninstitute.org/what-we-do/brain-science/events-training/2022-neuropixels-openscope-workshop/2022-workshop-attendee-information/) - -September 21-23, 2022 + - Recording: + [Automated Pipeline for Pose Estimation](https://www.youtube.com/watch?v=T3GPNTV5NqM) + +- [Neuropixels and OpenScope Workshop](https://alleninstitute.org/what-we-do/brain-science/events-training/2022-neuropixels-openscope-workshop/2022-workshop-attendee-information/) - + September 21-23, 2022 - [INCF Assembly](https://neuroinformatics.incf.org/) - September 12-16, 2022 - [Research Workflows Workshop](https://github.com/datajoint/sciops-workshop) - -September 6-8, 2022 + September 6-8, 2022 - DataJoint Office Hours - August 24, 2022 + - Recording: [LabBook Deployment](https://www.youtube.com/watch?v=MgL_F1X8Z1M) - - Recording: [Attaching Element DeepLabCut](https://www.youtube.com/watch?v=F0GD8h4iios) + - Recording: + [Attaching Element DeepLabCut](https://www.youtube.com/watch?v=F0GD8h4iios) -- [Neurodata Without Borders Hackathon User - Days](https://github.com/NeurodataWithoutBorders/nwb_hackathons/blob/main/HCK13_2022_Janelia/projects/PROJECTS.md) - -July 24-27, 2022 - - Recording: [Integrating DataJoint Pipelines with NWB](https://www.youtube.com/watch?v=-8OuJ69XtWc) +- [Neurodata Without Borders Hackathon User Days](https://github.com/NeurodataWithoutBorders/nwb_hackathons/blob/main/HCK13_2022_Janelia/projects/PROJECTS.md) - + July 24-27, 2022 -- [NIH BRAIN - Initiative](https://braininitiative.nih.gov/News-Events/event/8th-annual-brain-initiative-meeting) - June 21-22, 2022 + - Recording: + [Integrating DataJoint Pipelines with NWB](https://www.youtube.com/watch?v=-8OuJ69XtWc) + +- [NIH BRAIN Initiative](https://braininitiative.nih.gov/News-Events/event/8th-annual-brain-initiative-meeting) - + June 21-22, 2022 - DataJoint Office Hours - May 20, 2022 - - Recording: [MATLAB/Python interoperability](https://www.youtube.com/watch?v=Y7JG2-B2O5U) + + - Recording: + [MATLAB/Python interoperability](https://www.youtube.com/watch?v=Y7JG2-B2O5U) - DataJoint Office Hours - April 27, 2022 + - Filepath handling, `linking_module`, and `key` management in `make` functions. -- [UCL Neuropixels - Course](https://www.ucl.ac.uk/neuropixels/training/2021-neuropixels-course) - -October 19, 2021 +- [UCL Neuropixels Course](https://www.ucl.ac.uk/neuropixels/training/2021-neuropixels-course) - + October 19, 2021 - INCF Neuroinformatics Training Week - August 30 - September 2, 2021 + - Recording: [Scientific Workflows and DataJoint Basics](https://youtu.be/YOSNIW6vlQ8) - - Recording: [Scientific Workflows, and DataJoint Imported & Computed Tables](https://youtu.be/dudHnEtT_30) + - Recording: + [Scientific Workflows, and DataJoint Imported & Computed Tables](https://youtu.be/dudHnEtT_30) - Recording: [DataJoint Element Array Electrophysiology](https://youtu.be/KQlGYOBq7ow) - - Recording: [Setup DataJoint Elements Development Environment](https://youtu.be/1j_OQiQDJV0) + - Recording: + [Setup DataJoint Elements Development Environment](https://youtu.be/1j_OQiQDJV0) - NYU ‘FAIR Thee Well’ Symposium - August 9-10, 2021 - - Recording: [Sessions 1-3](https://www.youtube.com/watch?v=EyKC-VPP93k&list=PLoxm1_YI8Y4Mv0wUYiRinKkmqTxx2_Z3Y) + + - Recording: + [Sessions 1-3](https://www.youtube.com/watch?v=EyKC-VPP93k&list=PLoxm1_YI8Y4Mv0wUYiRinKkmqTxx2_Z3Y) - Neuromatch Academy - July 29, 2021 - Recording: [Session 1](https://www.crowdcast.io/e/nma2021/32) From f3212fbf2cddcf4ae5bec747f177d893d90e26ec Mon Sep 17 00:00:00 2001 From: MilagrosMarin Date: Tue, 15 Apr 2025 15:05:47 +0200 Subject: [PATCH 22/22] fix typos --- src/about/contribute.md | 6 +++--- src/elements/management/quality-assurance.md | 2 +- src/projects/publications.md | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/about/contribute.md b/src/about/contribute.md index f30ad10..892b02a 100644 --- a/src/about/contribute.md +++ b/src/about/contribute.md @@ -7,6 +7,7 @@ These guidelines are designed to ensure smooth collaboration, high-quality contr The principal maintainer of DataJoint and associated tools is the DataJoint company. The pronouns “we” and “us” in this guideline refer to the principal maintainers. We invite reviews and contributions of the open-source software. We compiled these guidelines to make this work clear and efficient. ## Table of Contents + - [Community Engagement](#community-engagement) - [How to Contribute](#how-to-contribute) - [Project Lists](#project-lists) @@ -18,7 +19,6 @@ The principal maintainer of DataJoint and associated tools is the DataJoint comp - [Releases](#releases) - [Contribution Acknowledgment](#contribution-acknowledgment) - ## Community Engagement For general questions, ideas, discussions or live debugging sessions, please join [DataJoint Slack](https://join.slack.com/t/datajoint/shared_invite/enQtMjkwNjQxMjI5MDk0LTQ3ZjFiZmNmNGVkYWFkYjgwYjdhNTBlZTBmMWEyZDc2NzZlYTBjOTNmYzYwOWRmOGFmN2MyYzU0OWQ0MWZiYTE) or [Stack Overflow](https://stackoverflow.com/questions/tagged/datajoint), but for direct technical issues should stay in `Github Issue` in the respective project's repository. Response times may vary depending on maintainer availability. @@ -40,7 +40,7 @@ Actively maintained projects by DataJoint: - [DataJoint Docs](https://github.com/datajoint/datajoint-docs) - It is the landing page of DataJoint documentation. - Each project has its own documentation in its repository. - - Please help us to improve our documetations, it's the easiest but most impactful way to contribute! + - Please help us to improve our documentations, it's the easiest but most impactful way to contribute! - [DataJoint Python](https://github.com/datajoint/datajoint-python) - [DataJoint Elements](https://github.com/orgs/datajoint/repositories?q=element) - [datajoint/djlabhub-docker](https://github.com/datajoint/djlabhub-docker) @@ -91,7 +91,7 @@ Before starting your significant work, open a `Github Issue` to discuss your pro - Please remember to always sync your fork's main branch with the DataJoint repository's main branch before starting your work. - In your own fork, we suggest you use [Feature Branch Workflow](https://www.atlassian.com/git/tutorials/comparing-workflows/feature-branch-workflow) to manage your branches in your own fork, just in case someone will work on multiple contributions at the same time. 2. Create a descriptive feature/fix branch from your fork's main branch, e.g., `fix/typo-docs` or `feature/add-logging`. -3. Optionally, but highly recommended to follow [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/) to make commit messages easier to be searched and categorized: If you use VSCode, please install [Conventional Commits](https://marketplace.visualstudio.com/items?itemName=vivaxy.vscode-conventional-commits) extention, it will help you to edit your commit messages following the commit types for versioning: +3. Optionally, but highly recommended to follow [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/) to make commit messages easier to be searched and categorized: If you use VSCode, please install [Conventional Commits](https://marketplace.visualstudio.com/items?itemName=vivaxy.vscode-conventional-commits) extension, it will help you to edit your commit messages following the commit types for versioning: - `fix`: Bug fixes. - `feat`: New features. - `docs`: Documentation updates. diff --git a/src/elements/management/quality-assurance.md b/src/elements/management/quality-assurance.md index 0e91c27..06e60dd 100644 --- a/src/elements/management/quality-assurance.md +++ b/src/elements/management/quality-assurance.md @@ -22,7 +22,7 @@ When writing code, the following principles should be observed: - **Maintenance Overhead**: The size of the codebase should be considered to prevent unnecessarily large or complex solutions. As the codebase grows, the effort to review - and maintain it increases. Therefore, the goal is to find a balance that pevents the + and maintain it increases. Therefore, the goal is to find a balance that prevents the codebase from becoming too large while avoiding convoluted complexity. - **Performance**: Performance issues should be avoided, controlled, or, properly diff --git a/src/projects/publications.md b/src/projects/publications.md index c2d80d8..1ca370d 100644 --- a/src/projects/publications.md +++ b/src/projects/publications.md @@ -12,7 +12,7 @@ The following publications relied on DataJoint open-source software for data ana ## 2024 -+ Reimer, M. L., Kauer, S. D., Benson, C. A., King, J. F., Patwa, S., Feng, S., Estacion, M. A., Bangalore, L., Waxman, S. G., & Tan, A. M. (2024). [A FAIR, open-source virtual reality platform for dendritic spine analysis. Patterns](https://doi.org/10.1016/j.patter.2024.101041), 5(9). *Patterns*, 5(9). ++ Reimer, M. L., Kauer, S. D., Benson, C. A., King, J. F., Patwa, S., Feng, S., Estacion, M. A., Bangalore, L., Waxman, S. G., & Tan, A. M. (2024). [A FAIR, open-source virtual reality platform for dendritic spine analysis. Patterns](https://www.cell.com/patterns/pdf/S2666-3899(24)00183-1.pdf), 5(9). *Patterns*, 5(9). + Gillon, C. J., Baker, C., Ly, R., Balzani, E., Brunton, B. W., Schottdorf, M., Ghosh, S., & Dehghani, N. (2024). [Open Data In Neurophysiology: Advancements, Solutions & Challenges](https://doi.org/10.48550/arXiv.2407.00976). ArXiv, arXiv:2407.00976v1.