Skip to content

Add Web Interface for Publishing Remote Cores #15

@anlu85

Description

@anlu85

Summary

Implement a web interface for publishing remote cores, allowing users to upload a remote .core file (with a provider section) and an optional signature. Optionally, support importing remote cores directly from GitHub repositories. The web interface should use the existing API for all publishing operations to ensure consistency.

Motivation

Currently, publishing remote cores (those with a provider section) is only possible via the API. Adding this feature to the web interface will make it easier for users to add and manage remote cores, while ensuring all publishing logic remains consistent and centralized in the API.

Detailed Description

  • Add a new web interface page/form for uploading remote .core files.
  • The form should accept:
    • A .core file that includes a provider section.
    • An optional signature file.
  • The web interface should submit uploads to the existing API endpoint for publishing remote cores, ensuring all validation and storage is handled by the API.
  • Optionally, provide a feature to import remote cores directly from a specified GitHub repository (by parsing .core files with a provider section and submitting them to the API).
  • Ensure appropriate feedback and error handling for users, based on API responses.

Possible Implementation

  • Create a new Django view and template for the remote core publishing form.
  • Use JavaScript or Django forms to POST the uploaded files to the API endpoint.
  • Handle API responses to provide user feedback.
  • (Optional) Implement GitHub integration for importing remote cores, submitting them to the API.
  • Add tests for the new web interface.

Tasks

  • Add web form for uploading remote .core files and optional signature
  • Integrate web form with the existing API for publishing remote cores
  • (Optional) Implement import of remote cores from GitHub repositories via the API
  • Add user feedback and error handling based on API responses
  • Add tests for the new view and logic

Acceptance Criteria

  • Users can upload a remote .core file (with provider section) and optional signature via the web interface.
  • The web interface uses the API for all publishing operations.
  • Uploaded remote cores are validated and stored via the API.
  • (Optional) Users can import remote cores from GitHub repositories via the API.
  • Appropriate feedback is provided for success and error cases.
  • Tests cover the new functionality.

Additional Context

This feature will expand the usability of the web interface, ensure consistent publishing logic across all interfaces, and make it easier to manage remote cores in FuseSoC-PD.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions