Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
79 commits
Select commit Hold shift + click to select a range
d30aa9b
DATATSTD-2371 New values to Group 2 descriptors (#269)
mragonech Jan 30, 2025
b06b904
[DATASTD-2379] Add TPDM Path domain descriptor (#270)
mmarable-dlp Jan 31, 2025
583d4e0
Datastd 2378 (#271)
cwatkins-DL Feb 3, 2025
2e580cf
[ODS-6610] Update workflow action dependencies to latest (#273)
vimayya Feb 3, 2025
cb7c168
[DATASTD-2383] Update header to 6.0 (#272)
mmarable-dlp Feb 5, 2025
50a3778
[DATASTD-2381] Add TPDM Descriptors - Update to 6.0.0 (#274)
mragonech Feb 10, 2025
176acd6
[DATASTD-2382] TPDM Recruiting - Staffing Descriptor (#275)
mragonech Feb 10, 2025
876f518
[Datastd 2389] Remove word Extension from schema (#277)
mragonech Feb 19, 2025
6666c1e
[DATASTD-2388] Move additional TPDM descriptors (#276)
mragonech Feb 27, 2025
82dc44e
Remove GenderDescriptor.xml in Ed-Fi Data Standard (#279)
MrEdData Mar 24, 2025
5b2e192
Rename two IEP fields (#281)
stephenfuqua May 14, 2025
e37d9bc
[DATASTD-2409] Move TPDM-Community Sample Data into Data Standard (#282)
mikeholm-simpat Jun 4, 2025
559c43d
DATASTD-2453] Add CODE_OF_CONDUCT to the repo (#283)
mragonech Jul 11, 2025
0d6ee87
Update XSD files (#296)
EdFiBuildAgent Aug 6, 2025
44be100
Bring first set of DS6 changes (#299)
semalaiappan Aug 11, 2025
d65c048
EducatorPreparationProgramTypeDescriptor Removed (#300)
semalaiappan Aug 11, 2025
4c3af26
[ODS-6670] Mismatched tag removed in StaffClassificationDescriptor fi…
semalaiappan Aug 11, 2025
a9d501b
Mismatched tag issue fix for StaffClassificationDescriptor (#302)
semalaiappan Aug 12, 2025
0a3fd45
DATASTD-2459 (#298)
mikeholm-simpat Aug 13, 2025
2e42b0e
Update to fix ordering issues in PerformanceLevels (#305)
stevenarnold-ed-fi Aug 13, 2025
4d585e6
Updates for issues found by platform team (#307)
stevenarnold-ed-fi Aug 14, 2025
f9c1a45
Update EducationOrganization-EdPrep.xml (#308)
stevenarnold-ed-fi Aug 14, 2025
958316c
DATASTD-2474] FIx EPPD Degree type remove Master's (#309)
mragonech Aug 15, 2025
f9ac70b
DATASTD-2475 (#311)
mikeholm-simpat Aug 15, 2025
9d8c461
Update XSD files (#318)
EdFiBuildAgent Aug 18, 2025
5016068
Added missing descriptors (#316)
stevenarnold-ed-fi Aug 18, 2025
732ca97
[DSOPS-319] Enhance XML and Python file standards, issue management t…
stephenfuqua Aug 18, 2025
41a2418
Fixing multiple sample data issues, mainly missing descriptor values …
stevenarnold-ed-fi Aug 19, 2025
a239e92
DATASTD-2456 (#297)
mikeholm-simpat Aug 19, 2025
7547e36
Fixed copy paste error in descriptor values (#321)
stevenarnold-ed-fi Aug 19, 2025
a23d14a
[DATASTD-2479] - Fixes for general data issues (#323)
stevenarnold-ed-fi Aug 20, 2025
979a797
Fixes for errors 1, 2, 3, 6, 7a, 7b, 8, 10, 11, 12 (#325)
stevenarnold-ed-fi Aug 20, 2025
8189994
DATASTD-2480 Add missing StudentDemographic References and Misc Descr…
mikeholm-simpat Aug 20, 2025
8d5218c
DATASTD-2481Replace CommunityProvider Id Used on Student.xml to use S…
mikeholm-simpat Aug 21, 2025
300c35e
Country Descriptor Updated (#328)
semalaiappan Aug 22, 2025
b9c8a1f
[DSOPS-321] Implement XML Validation Script for Ed-Fi Data Standard w…
Copilot Aug 26, 2025
230952e
Update XSD files (#327)
EdFiBuildAgent Aug 27, 2025
873fd99
[Datastd-2473] Add "Economic Disadvantage" descriptor to StudentDemog…
mikeholm-simpat Sep 3, 2025
241091b
DATASTD-2471 Delete Items From Seoa Previously Marked For Deprecation…
mikeholm-simpat Sep 4, 2025
43ae541
DATASTD-2472 (#334)
mikeholm-simpat Sep 4, 2025
4720518
[DATASTD-2470] & [DATASTD-2477] Update Sample Data Identity Entities …
mikeholm-simpat Sep 5, 2025
27d9cb8
[DATASTD-2488] Replace EconomicDisadvantaged Bool with new EconomicDi…
mikeholm-simpat Sep 22, 2025
6d1cf5e
DATASTD-2491, DATASTD-2492, DATASTD-2493 Sample Data Changes for New …
mikeholm-simpat Sep 22, 2025
a224444
DATASTD-2489 Reduce The Size For StudentAssessment Sample Data (#336)
mikeholm-simpat Sep 23, 2025
8f278d0
DATASTD-2494 (#340)
mikeholm-simpat Sep 25, 2025
d5ad390
DATASTD-2491-1 (#341)
mikeholm-simpat Sep 25, 2025
27686e7
DATASTD-2491-2 (#342)
mikeholm-simpat Sep 25, 2025
b921976
DATASTD 2494-4 Data Fixes (#343)
mikeholm-simpat Sep 26, 2025
aa0fc05
[ODS-6714] Assessment CodeFix (#344)
semalaiappan Sep 26, 2025
4331d36
[ODS-6714] ObjectiveAssessment Sample Added (#345)
semalaiappan Sep 30, 2025
cbdeb71
Delete ContactTypeDescriptor.xml (#349)
stevenarnold-ed-fi Oct 15, 2025
4b53054
Update XSD files (#346)
EdFiBuildAgent Oct 30, 2025
badeaf2
DATASTD-2514 (#350)
mikeholm-simpat Oct 31, 2025
c2db10e
[DATASTD-2276] NuGet packaging for the Data Standard (#348)
stephenfuqua Nov 11, 2025
f9502f1
[DATASTD-2510] 6.0.0 JSON schema (#347)
stephenfuqua Nov 12, 2025
d3df32c
DATASTD-2508 UML for DS 6.0 (#351)
mragonech Nov 12, 2025
a50372a
Bump black in /eng/prepare-openapi in the pip group across 1 director…
dependabot[bot] Nov 12, 2025
e4f68e7
[ODS-6783] ParticipationStatusDescriptor Descriptor Added (#355)
semalaiappan Dec 23, 2025
82ffbe0
DATASTD-2524 Update ParticipationStatus Desc (#357)
mragonech Jan 6, 2026
140de72
Code owners now applies to all files in the repo (#358)
stephenfuqua Jan 7, 2026
83add68
DATASTD-2537 (#359)
mikeholm-simpat Jan 27, 2026
e592476
DATASTD-2523 (#361)
mikeholm-simpat Jan 29, 2026
e5073d4
DATASTD-2544 Add SampleData For New AddressCharacteristic Descriptor …
mikeholm-simpat Feb 17, 2026
9c49c56
DATASTD-2576 Add Sample Data For GraduationStatusOptIn Bool (#365)
mikeholm-simpat Mar 23, 2026
1c4c0e4
DATASTD-2577 Update Sample Data To Include ResponsibleEdOrg On Studen…
mikeholm-simpat Mar 25, 2026
4bfc13e
DATASTD-2579 (#367)
mikeholm-simpat Mar 26, 2026
e1de7c9
DATASTD-2568 Create SEDM sample data and Descriptor values (#369)
mikeholm-simpat Mar 27, 2026
c692915
Update sample data to account for change to DegreeSpecialization.Begi…
stevenarnold-ed-fi Mar 30, 2026
b63dc1a
Bump black in /eng/xml-validator in the pip group across 1 directory …
dependabot[bot] Mar 31, 2026
fc688ac
[ODS-6820] IDEAEventReference Updated (#373)
semalaiappan Mar 31, 2026
4bc3b5b
DATASTD-2583 (#374)
mikeholm-simpat Mar 31, 2026
8b5fecb
DATASTD-2583 (#375)
mikeholm-simpat Mar 31, 2026
df21a33
Datastd 2584 Change descriptor name IDEAEvent to IDEAEventType (#376)
mikeholm-simpat Apr 6, 2026
224ace8
Update XSD files (#378)
EdFiBuildAgent Apr 9, 2026
69a0272
DATASTD-2595 Convert UML diagrams for DS 6.0 into Mermaid and upload …
mikeholm-simpat Apr 29, 2026
3f8cc92
Bump lxml in /eng/xml-validator in the pip group across 1 directory (…
dependabot[bot] Apr 29, 2026
14deabe
[DataStd-2597] Fix UMLs batch 2 (#382)
mragonech May 1, 2026
da2273a
[Datastd-2596] Auditing Mermaid UML - batch 1 for DS v6.1 (#381)
mragonech May 1, 2026
9eee30d
Removed Extra 'Model' folder. Various Cardinality Updates (#383)
mikeholm-simpat May 7, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
21 changes: 20 additions & 1 deletion .editorconfig
Original file line number Diff line number Diff line change
@@ -1,9 +1,28 @@
root = true

[**/*.py]
file_header_template = SPDX-License-Identifier: Apache-2.0\nLicensed to the Ed-Fi Alliance under one or more agreements.\nThe Ed-Fi Alliance licenses this file to you under the Apache License, Version 2.0.\nSee the LICENSE and NOTICES files in the project root for more information.
indent_style=space
indent_size=4
tab_width=2
end_of_line = lf
insert_final_newline = true
charset = utf-8
trim_trailing_whitespace = true
max_line_length = 110

[**/*.md]
trim_trailing_whitespace = false
[*.{js,json,yml}]
charset = utf-8
end_of_line = lf
indent_size = 2
indent_style = space
insert_final_newline = true
trim_trailing_whitespace = true
trim_trailing_whitespace = true

[*.xml]
indent_style = tab
charset = utf-8
insert_final_newline = true
trim_trailing_whitespace = true
1 change: 1 addition & 0 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
* @Ed-Fi-Alliance-OSS/ed-fi-tech
8 changes: 8 additions & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
blank_issues_enabled: false
contact_links:
- name: 🏠 Ed-Fi Community Hub
url: https://community.ed-fi.org
about: For technical support, questions, and community discussions
- name: 📚 Ed-Fi Documentation
url: https://docs.ed-fi.org
about: Official Ed-Fi technical documentation and guides
46 changes: 46 additions & 0 deletions .github/ISSUE_TEMPLATE/engineering-issue.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
# SPDX-License-Identifier: Apache-2.0
# Licensed to the Ed-Fi Alliance under one or more agreements.
# The Ed-Fi Alliance licenses this file to you under the Apache License, Version 2.0.
# See the LICENSE and NOTICES files in the project root for more information.

name: "🔧 Engineering Team Issue"
description: "Internal issue for Ed-Fi engineering team members only"
title: "Feature: [Brief Description of the Issue]"
labels: []
assignees: []
body:
- type: markdown
attributes:
value: |
## ⚠️ Engineering Team Only

This template is for Ed-Fi engineering team members only.

If you're not part of the engineering team, please use the [Ed-Fi Community Hub](https://community.ed-fi.org) for support.

- type: textarea
id: description
attributes:
label: "Issue Description"
description: "Describe the issue or task"
placeholder: "Clear description of the issue..."
validations:
required: true

- type: textarea
id: acceptance-criteria
attributes:
label: "Acceptance Criteria"
description: "What needs to be done to resolve this issue?"
placeholder: "- [ ] Criteria 1\n- [ ] Criteria 2"
validations:
required: false

- type: textarea
id: additional-context
attributes:
label: "Additional Context"
description: "Any additional information, screenshots, or context"
placeholder: "Additional details..."
validations:
required: false
17 changes: 17 additions & 0 deletions .github/instructions/actions.instructions.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
---
applyTo: ".github/workflows/**/*"
---

# GitHub Actions Instructions

- Name workflow files and jobs descriptively and consistently
- Use environment variables for sensitive information (e.g., API keys, secrets)
- Reference actions by their full SHA256 commit hash:
- BAD example: `actions/github-script@latest`
- BAD example: `actions/github-script@v7.0.1`
- GOOD example: `actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea`
- Prefer official actions and marketplace actions with high usage and recent updates
- Add comments to explain non-obvious steps or logic.
- Use `if:` conditions to control step/job execution when needed.
- Always validate YAML syntax before committing.
- Use caching for dependencies to speed up workflows.
49 changes: 49 additions & 0 deletions .github/instructions/python.instructions.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
---
applyTo: "**/*.py, **/pyproject.toml"
---

# GitHub Copilot Instructions for Python Files

## Purpose

This file provides guidance for GitHub Copilot to assist with editing, creating, and maintaining PYthon scripts in this repository, especially within the `eng` directory

## General Guidelines

- **Code Review:** Make only high confidence suggestions when reviewing code changes

## Packaging

- Use Poetry for dependency management
- Use `poetry.lock` for locking dependencies

## Style and Format

- Apply code-formatting style defined in `.editorconfig`
- Follow PEP 8 style guide for Python code
- Use `black` for code formatting
- Use quotation `"` marks for strings, not apostrophes `'`

## Code

- Include type hints for all function signatures
- Use absolute imports within the repository
- Group imports as: standard library, third-party, local application
- Prefer explicit exception handling and logging for errors
- Avoid bare `except:` clauses

## Tools

- Use `pytest` for testing
- Place all tests in a dedicated `tests/` directory
- Use descriptive test names nad group related tests in modules
- Use `mypy` for type checking
- Use `flake8` for linting

## Change Management

- Always run flake8 after making changes
- Use clear commit messages describing the change (e.g., "Add new AcademicHonorCategoryDescriptor.xml")

---
This file is intended for use by GitHub Copilot and contributors to maintain high-quality Python files in the Ed-Fi-Standard repository.
60 changes: 60 additions & 0 deletions .github/instructions/xml.instructions.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
---
applyTo: "**/*.xml, **/*.xsd"
---

# GitHub Copilot Instructions for XML Files

## Purpose

This file provides guidance for GitHub Copilot to assist with editing, creating, and maintaining XML files in this repository, especially within the `Descriptors` and `Samples/Sample XML` directories.

## General Guidelines

- **Format:** Always use proper XML syntax, including opening/closing tags, indentation, and encoding declarations if needed.
- **Validation:** Ensure XML files are well-formed and, where possible, validate against the appropriate schema (XSD) if available in the `Schemas` directory.
- **Comments:** Use XML comments (`<!-- ... -->`) to explain non-obvious sections or changes.
- **Naming:** Use descriptive and consistent names for elements and attributes, following the conventions already present in the repository.
- **Descriptor Files:** When creating or editing descriptor files, follow the structure and naming conventions of existing files in the `Descriptors` directory.
- **Sample Files:** For files in `Samples/Sample XML`, provide realistic sample data that matches the schema and typical use cases.

## Best Practices

- **Indentation:** Use the tab character for indentation in XML files.
- **Encoding:** Default to UTF-8 encoding unless otherwise specified.
- **Schema Reference:** If a schema is available, include a reference to it at the top of the XML file (e.g., `xsi:schemaLocation`).
- **Element Order:** Maintain the order of elements as defined in the schema or as commonly used in the repository.
- **Reusability:** Use reusable elements and attributes where possible to maintain consistency.

## Example Descriptor Structure

```xml
<?xml version="1.0" encoding="UTF-8"?>
<Descriptor xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="../Schemas/Descriptor.xsd">
<CodeValue>Example</CodeValue>
<ShortDescription>Example description</ShortDescription>
<Description>Detailed example description.</Description>
<EffectiveBeginDate>2025-08-15</EffectiveBeginDate>
<EffectiveEndDate>2026-08-15</EffectiveEndDate>
</Descriptor>
```

## Example XML Comment

```xml
<!-- This descriptor defines the example category for demonstration purposes. -->
```

## Directory-Specific Instructions

- **Descriptors/**: Only create or edit files that define descriptor values. Do not add unrelated XML files.
- **Samples/Sample XML/**: Only add sample data files that are valid according to the schemas in `Schemas/`.
- **Schemas/**: Do not edit schema files unless specifically requested.

## Change Management

- Always validate XML files after editing.
- Use clear commit messages describing the change (e.g., "Add new AcademicHonorCategoryDescriptor.xml").

---
This file is intended for use by GitHub Copilot and contributors to maintain high-quality XML files in the Ed-Fi-Standard repository.
1 change: 0 additions & 1 deletion .github/workflows/CODEOWNERS

This file was deleted.

72 changes: 72 additions & 0 deletions .github/workflows/on-issue-opened.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
# SPDX-License-Identifier: Apache-2.0
# Licensed to the Ed-Fi Alliance under one or more agreements.
# The Ed-Fi Alliance licenses this file to you under the Apache License, Version 2.0.
# See the LICENSE and NOTICES files in the project root for more information.

name: "Issue Management"

on:
issues:
types: [opened]

permissions:
issues: write

jobs:
manage-community-issues:
runs-on: ubuntu-latest
if: github.event.issue.user.type != 'Bot'
steps:
- name: Check if user has repository access
id: check-repo-access
uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8.0.0
with:
script: |
try {
// Check if user has repository access (collaborator, maintainer, admin, etc.)
const { data: permission } = await github.rest.repos.getCollaboratorPermissionLevel({
owner: context.repo.owner,
repo: context.repo.repo,
username: context.payload.issue.user.login
});

console.log(`User ${context.payload.issue.user.login} repository permission: ${permission.permission}`);
return ['admin', 'maintain', 'write', 'triage'].includes(permission.permission);
} catch (error) {
console.log(`User ${context.payload.issue.user.login} does not have repository access: ${error.message}`);
return false;
}

- name: Close community issue with helpful message
if: steps.check-repo-access.outputs.result == 'false'
uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8.0.0
with:
script: |
const message = `Thank you for your interest in Ed-Fi!

This GitHub repository is maintained by the Ed-Fi engineering team for internal issue tracking and development coordination.

For technical support, questions, and community discussions, please visit the **[Ed-Fi Community Hub](https://community.ed-fi.org)** where our community and support team can better assist you.

The Ed-Fi Community Hub provides:
- Technical support and troubleshooting
- Community discussions and best practices
- Documentation and resources
- Direct access to Ed-Fi experts

We appreciate your understanding and look forward to helping you on the Community Hub!`;

await github.rest.issues.createComment({
issue_number: context.issue.number,
owner: context.repo.owner,
repo: context.repo.repo,
body: message
});

await github.rest.issues.update({
issue_number: context.issue.number,
owner: context.repo.owner,
repo: context.repo.repo,
state: 'closed',
state_reason: 'not_planned'
});
8 changes: 4 additions & 4 deletions .github/workflows/scorecard.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,12 +30,12 @@ jobs:

steps:
- name: Checkout code
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false

- name: Run analysis
uses: ossf/scorecard-action@0864cf19026789058feabb7e87baa5f140aac736 # v2.3.1
uses: ossf/scorecard-action@62b2cac7ed8198b15735ed49ab1e5cf35480ba46 # v2.4.0
with:
results_file: scorecard.sarif
results_format: sarif
Expand All @@ -57,14 +57,14 @@ jobs:
# Upload the results as artifacts (optional). Commenting out will disable uploads of run results in SARIF
# format to the repository Actions tab.
- name: Upload artifact
uses: actions/upload-artifact@26f96dfa697d77e81fd5907df203aa23a56210a8 # v4.3.0
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
with:
name: Scorecard SARIF file
path: scorecard.sarif
retention-days: 5

# Upload the results to GitHub's code scanning dashboard.
- name: Upload to code-scanning
uses: github/codeql-action/upload-sarif@cf7e9f23492505046de9a37830c3711dd0f25bb3 # codeql-bundle-v2.16.2
uses: github/codeql-action/upload-sarif@f443b600d91635bebf5b0d9ebc620189c0d6fba5 # v4.30.8
with:
sarif_file: scorecard.sarif
Loading
Loading