Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

APIView Yet Another reArchitecting of APP #8174

Closed
15 of 16 tasks
chidozieononiwu opened this issue Apr 30, 2024 · 0 comments
Closed
15 of 16 tasks

APIView Yet Another reArchitecting of APP #8174

chidozieononiwu opened this issue Apr 30, 2024 · 0 comments
Assignees
Labels
APIView Central-EngSys This issue is owned by the Engineering System team. Epic

Comments

@chidozieononiwu
Copy link
Member

chidozieononiwu commented Apr 30, 2024

Attempting to implement various requested features in APIView have many times proved difficult or impossible. Most of these are due to the current architecture of APIView and others are limitations in ASP.NET MVC framework. For a while I have been exploring way to rearchitect APIView such that many of these features can be implemented in a robust non-hacky manner. This issue explains the coming changes and a timeline for completing them.

The main idea is to decouple the presentation code from most of the logic by exposing a robust APIView API (this is one of our user requests), then replacing the client side with a progressive web application that offers many tools for modern and rapid web development out of the box. The goal here is that the API would be as useful as the client application such that one could potentially build a different client (say VS code) to run off it or just use the API directly. The PWA front end will run side by side with existing ASP.NET until we decide to retire the later.

A lot of this work is already done. Below is a time frame for completion.

Requests from Feedback Session May 23rd 2024

  • Pinned APIRevision (Latest GA, Latest Approved, Current Main, Latest Released). Shown as regular dropdown items with appropriate tags, pinned to the top of the dropdown list.
  • Re-Order filters in API Revision Select: Approved, Released, Auto, Manual, PR.
  • Use Auto, Manual, PR Icons on filter buttons and add tooltip over icons.
  • Move Filter buttons bellow search text box.
  • Add option for disabling lazy loading of code-panel rows (so all row are present on page at once) Add ability to search text back in APIView - disable lazy loading #8716
  • Add ability to search code-panel rows in lazy loaded state. Add ability to search text back in APIView - disable lazy loading #8716
  • Add Diff styles. Full Diff (Full API with diff shown), Tree Diff (Only nodes with diff in descendant but show full content), Node Diff (Only nodes with diff in descendant but show only the nodes with diff and some context around them).

What's required to Deploy to Production
This will be made available on language basis with C# and Java being the first

  • Script run against original files to generate tree style tokens stored alongside flat list of tokens.
  • Update Automatic and Pull Request API to support tree tokens. (Basically, Comparing API Revisions to evaluate if there is a change)
  • Feature Parity with regular APIView. Approval, Request Reviewers, Subscribe, Mark as Viewed, Change History Display, Navigation Jumps
  • Sample Page - Completed at later date

Required to close the epic

Preview Give feedback
  1. APIView Central-EngSys
    chidozieononiwu
  2. APIView Central-EngSys
    chidozieononiwu
  3. APIView Central-EngSys
    chidozieononiwu
  4. APIView Central-EngSys
    chidozieononiwu
  5. 0 of 1
    APIView Central-EngSys
    chidozieononiwu
  6. APIView Central-EngSys
    chidozieononiwu
  7. APIView Central-EngSys
    chidozieononiwu
  8. APIView Central-EngSys
    praveenkuttappan
  9. 0 of 3
    APIView Central-EngSys
    chidozieononiwu
  10. APIView Central-EngSys
    chidozieononiwu

Other issues to keep in mind while working on this

Preview Give feedback
  1. APIView Central-EngSys
  2. APIView Central-EngSys Community Contribution
    chidozieononiwu
  3. APIView Central-EngSys
    chidozieononiwu
  4. .NET APIView
    praveenkuttappan
  5. APIView APIView Priority 3 Central-EngSys
  6. APIView Central-EngSys
    chidozieononiwu

@maririos @praveenkuttappan @JonathanGiles

@github-actions github-actions bot added the needs-triage Workflow: This is a new issue that needs to be triaged to the appropriate team. label Apr 30, 2024
@chidozieononiwu chidozieononiwu self-assigned this Apr 30, 2024
@maririos maririos added APIView Central-EngSys This issue is owned by the Engineering System team. and removed needs-triage Workflow: This is a new issue that needs to be triaged to the appropriate team. labels May 1, 2024
@github-project-automation github-project-automation bot moved this to 🆕 New in ApiView May 1, 2024
@chidozieononiwu chidozieononiwu moved this from 🆕 New to 🏗 In progress in ApiView May 1, 2024
@github-project-automation github-project-automation bot moved this from 🏗 In progress to ✅ Done in ApiView Oct 30, 2024
@github-project-automation github-project-automation bot moved this from 🤔 Triage to 🎊 Closed in Azure SDK EngSys 🤖🧠 Oct 30, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
APIView Central-EngSys This issue is owned by the Engineering System team. Epic
Projects
Status: ✅ Done
Archived in project
Development

No branches or pull requests

2 participants