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

Oracle case study #1386

Merged
merged 11 commits into from
Feb 8, 2025
Merged

Oracle case study #1386

merged 11 commits into from
Feb 8, 2025

Conversation

loiclefevre
Copy link
Contributor

What kind of change does this PR introduce?

Adds the Oracle case study to the blog.

Issue Number:

N/A?

Summary

This PR adds the Oracle case study which presents numerous supported JSON Schema capabilities along code examples.

Does this PR introduce a breaking change?

No

@loiclefevre loiclefevre requested a review from a team as a code owner January 31, 2025 15:51
Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Welcome to the JSON Schema Community. Thanks a lot for creating your first pull request!! 🎉🎉 We are so excited you are here! We hope this is only the first of many! For more details check out README.md file.

Copy link

github-actions bot commented Jan 31, 2025

built with Refined Cloudflare Pages Action

⚡ Cloudflare Pages Deployment

Name Status Preview Last Commit
website ✅ Ready (View Log) Visit Preview 58e582c

Copy link

codecov bot commented Jan 31, 2025

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 100.00%. Comparing base (82fb9c7) to head (58e582c).
Report is 20 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff            @@
##              main     #1386   +/-   ##
=========================================
  Coverage   100.00%   100.00%           
=========================================
  Files           10        10           
  Lines          373       387   +14     
  Branches        94       103    +9     
=========================================
+ Hits           373       387   +14     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

tags:
- database
- relational
type: Case Study
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It might be just me, but I think the article goes beyond the typical case study (i.e. here is how company X uses JSON Schema) into actually teaching something to the reader. From that point of view, maybe better to post it on the "Engineering" category?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

On the other side, I think Oracle's case study is indeed very technical, so maybe that's fine. Not sure. @benjagm what do you think?

@jviotti
Copy link
Member

jviotti commented Feb 3, 2025

I left a few comments, but overall I really like this blog post. Very interesting stuff on directly using JSON Schema for something cool that I think our readers will enjoy.

Copy link
Member

@gregsdennis gregsdennis left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think the content is fine, though I don't think we've had a case study quite like this. Normally they're more, "how JSON Schema helped us solve a problem." In this case, it's more, "how we're using JSON Schema to provide more features" which is fine.

There are a number of stylistic issues, and I think we should verify the preview and have one or more of the web admins have a look. There should be a style guide somewhere, but I'm on mobile and don't have immediate access to it. You can also look at some of the other posts for examples.

pages/blog/posts/oracle-case-study.md Outdated Show resolved Hide resolved
Comment on lines 68 to 71
|DATA|
|-|
|{"title":"New Blog Post","content": "This is the content of the blog post...","publishedDate":"2023-08-25T15:00:00Z","author":{"username":"authoruser","email":"[email protected]"},"tags":["Technology","Programming"]}|
|{"garbageDocument":true}|
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think this is going to render well. A long string in a table isn't going to be great. Is there another way this can be shown?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I can definitely reformat the JSON doc inside the table.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Would render like this be okay?

image

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks good to me. Again, let's have the web folks verify.

Copy link
Contributor Author

@loiclefevre loiclefevre Feb 4, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In fact, I've tested it using the preview button View deployment and this didn't look that good (above is a screenshot from my IDE).

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hence I've modified it so that now it renders as:
image

pages/blog/posts/oracle-case-study.md Outdated Show resolved Hide resolved
pages/blog/posts/oracle-case-study.md Outdated Show resolved Hide resolved
Comment on lines 586 to 589
<figure class="mt-10">
<img class="rounded-lg" src="/img/posts/2025/oracle-case-study/form.webp"/>
<figcaption class="mt-2 mb-10 text-sm text-center text-gray-500">React frontend with input form generated from an annotated Oracle Database 23ai JSON schema.</figcaption>
</figure>
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we have special markdown for components like this. Please check the blog post style guide.

Copy link
Contributor Author

@loiclefevre loiclefevre Feb 4, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

After scanning all the blog posts, I couldn't find any example not using either <div> <figure> <img> or markdown ![...](...)

Please provide an example if you have one

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

but maybe this is just this markdown component you are mentioning: ![...](...)

pages/blog/posts/oracle-case-study.md Outdated Show resolved Hide resolved
pages/blog/posts/oracle-case-study.md Outdated Show resolved Hide resolved
pages/blog/posts/oracle-case-study.md Outdated Show resolved Hide resolved
pages/blog/posts/oracle-case-study.md Outdated Show resolved Hide resolved
pages/blog/posts/oracle-case-study.md Outdated Show resolved Hide resolved
@loiclefevre
Copy link
Contributor Author

This preview thing is terrific!

@cbum-dev
Copy link
Contributor

cbum-dev commented Feb 4, 2025

I think some more spacing should be their to easily read the outputs.
Can I help here?

@gregsdennis
Copy link
Member

@cbum-dev There are definitely some style things that need to be addressed in general, but that needs to happen outside of this PR since it's work on the site itself.

For this PR, we need to ensure the content matches our style guide:

  • using components that we've defined
  • language is clear
  • etc.

@loiclefevre for reference, here are our blog guidelines.

@benjagm I recall asking for a page like https://chirpy.cotes.page/posts/write-a-new-post/. Did we ever do that? I can't find that issue now.

@loiclefevre
Copy link
Contributor Author

@gregsdennis, I miss some examples indeed with pictures and Danger, Tip, InfoBox.

I've tried them and here is my feedback:

  • image defined at the top doesn't support full transparency when inside the blog post (white background forced)
  • All boxes make their text displayed on the left completely inside the navigation menu
  • Labels rendering is not great
  • InfoBox or Tip background color is the same as for inlined code making a weird effect where we do not distinguish inlined code anymore

Hence I've tried to work around those as best as I could.

@gregsdennis
Copy link
Member

I think for the purposes of this PR, we want to use the elements we've defined. If there are styling issues with those (and it seems there are), then the web team needs to address those separately.

What I don't want is to have to update your blog post. I'd rather have the blog post set up correctly, then when the site is fixed, your post fixes itself.

I do recognize that there is an element of branding and Oracle representation, but it's on our site, so we need to take that responsibility.

@loiclefevre
Copy link
Contributor Author

@gregsdennis, @cbum-dev, I've pushed a new version where you can find the different issues mentioned:

  • Infobox with text replicated in the left margin:
    image

  • Infobox not supporting markdown block for source code:
    image

  • Infobox background color similar to inlined markdown code block:

    • the _metadata word should appear with a blue background color that highlights it's some specific keyword, but the background colors are similar, hence the highlighting fails
      image
  • Fully transparent cover picture ends up with a white background color:
    image

  • Hard to read the white text over the cover picture:
    image

  • Danger with text replicated in the left margin:
    image

  • Markdown bolded text in Danger component not rendered properly:
    image

I hope these get fixed :)

@gregsdennis
Copy link
Member

Okay, my suggestion is to revert that last commit, but then open a separate PR with its content (the one with all the problems). We'll merge for now and start working on the issues. Once we've fixed the issues, then we have the second PR that we can just merge.

@cbum-dev
Copy link
Contributor

cbum-dev commented Feb 6, 2025

@gregsdennis, @cbum-dev, I've pushed a new version where you can find the different issues mentioned:

* Infobox with text replicated in the left margin:
  ![image](https://private-user-images.githubusercontent.com/21245376/410383103-355a1a9b-5867-41f1-9037-8a0408d0582f.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzg4NDE1NjcsIm5iZiI6MTczODg0MTI2NywicGF0aCI6Ii8yMTI0NTM3Ni80MTAzODMxMDMtMzU1YTFhOWItNTg2Ny00MWYxLTkwMzctOGEwNDA4ZDA1ODJmLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMDYlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjA2VDExMjc0N1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWQzZGYyN2RkY2E2MmRlZTFhNGViM2QzN2M5NGEzNGFjMmU5MTkzMGFjMjA0YzBlNDY4NzBkNWZhNDdiNWEwM2ImWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.SKOFQM2DTNd6Z09BmMN-c0ud_7zR72sCpwfCSjoDw_Y)

* Infobox not supporting markdown block for source code:
  ![image](https://private-user-images.githubusercontent.com/21245376/410383353-d5a6e088-3161-4875-aba3-13648cae51f6.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzg4NDE1NjcsIm5iZiI6MTczODg0MTI2NywicGF0aCI6Ii8yMTI0NTM3Ni80MTAzODMzNTMtZDVhNmUwODgtMzE2MS00ODc1LWFiYTMtMTM2NDhjYWU1MWY2LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMDYlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjA2VDExMjc0N1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTAxMmFiNGVlYzRjMGUwMjFlZGY5NDRiM2Q5NTVlODgxYzllNDVmMmU3ZDlmZTFlMTMyNTNkNGFhNmE4OWE2ZDkmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.Q7rmkEaQGn8-sQtr81RpM4bdIjqLWrJYEmxgFY_XTPo)

* Infobox background color similar to inlined markdown code block:
  
  * the _metadata word should appear with a blue background color that highlights it's some specific keyword, but the background colors are similar, hence the highlighting fails
    ![image](https://private-user-images.githubusercontent.com/21245376/410385991-df219536-57f6-4d5a-8dae-7e0932c4a141.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzg4NDE1NjcsIm5iZiI6MTczODg0MTI2NywicGF0aCI6Ii8yMTI0NTM3Ni80MTAzODU5OTEtZGYyMTk1MzYtNTdmNi00ZDVhLThkYWUtN2UwOTMyYzRhMTQxLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMDYlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjA2VDExMjc0N1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWVlMzdiZGU0MDY5YjBhYzBiNWM3YmM3YmU4NTI5Yjg0MTVlOWFiZDNhNjYwMmE3YmE3MDUwMjRjMGY0NTJmNDMmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.Ff8nqKsikwjJskEqs6zB9iNULsMeYk5M6bZ2BFok6Qg)

* Fully transparent cover picture ends up with a white background color:
  ![image](https://private-user-images.githubusercontent.com/21245376/410384816-c5308aa7-d0e3-4543-9a46-5e6e04f93960.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzg4NDE1NjcsIm5iZiI6MTczODg0MTI2NywicGF0aCI6Ii8yMTI0NTM3Ni80MTAzODQ4MTYtYzUzMDhhYTctZDBlMy00NTQzLTlhNDYtNWU2ZTA0ZjkzOTYwLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMDYlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjA2VDExMjc0N1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTM5NmJlNmU0ZDYwN2RhNTgyZDY3ZDkxN2IyZWQwMzVlMzIxNWE3ODRjZTljZmM1MjY1ZTVhNTZiMTRkYzVjOGMmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.Ph6rNnpBxteS6UBfAvS2qseU4LTAVo7Xe2yjjHrd9Fs)

* Hard to read the white text over the cover picture:
  ![image](https://private-user-images.githubusercontent.com/21245376/410385529-3674fc85-0ba2-47a8-b8be-8985f30693c1.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzg4NDE1NjcsIm5iZiI6MTczODg0MTI2NywicGF0aCI6Ii8yMTI0NTM3Ni80MTAzODU1MjktMzY3NGZjODUtMGJhMi00N2E4LWI4YmUtODk4NWYzMDY5M2MxLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMDYlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjA2VDExMjc0N1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWUwOTFmNDQ0Y2RhN2MzMTc0YzhmZjZlZDc5YzdkMzhkYzQ1ZGI0OTYyNTc1ZmFiMzRlZTYyMmRjZmU5YjMwOTYmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.iVNdDctoSWobfaX7VZAhEEFMi-ovV1V8kW-UgjoV0bQ)

* Danger with text replicated in the left margin:
  ![image](https://private-user-images.githubusercontent.com/21245376/410386768-36d14d5a-55f8-4ccd-a40a-d89a49b390e7.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzg4NDE1NjcsIm5iZiI6MTczODg0MTI2NywicGF0aCI6Ii8yMTI0NTM3Ni80MTAzODY3NjgtMzZkMTRkNWEtNTVmOC00Y2NkLWE0MGEtZDg5YTQ5YjM5MGU3LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMDYlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjA2VDExMjc0N1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTVmOThlNGYwMDFlMTI3OTE5OWNmZWJlODU0MjJmNWMzZWVlOThhZmNmYjhlNjY1ZjU0ZDY1MTM4NGIyM2Y2MTYmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.uLVz1bYNMVc5pA7wHc-cYbcYtimBQ1aXZ7XlxvvNCT0)

* Markdown bolded text in Danger component not rendered properly:
  ![image](https://private-user-images.githubusercontent.com/21245376/410387369-10f343c9-7f93-4c00-ac13-8cea76a2046b.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzg4NDE1NjcsIm5iZiI6MTczODg0MTI2NywicGF0aCI6Ii8yMTI0NTM3Ni80MTAzODczNjktMTBmMzQzYzktN2Y5My00YzAwLWFjMTMtOGNlYTc2YTIwNDZiLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMDYlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjA2VDExMjc0N1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWJiODU5OGZmNTk5M2I2ZDNjOWU3MTAyNDNkOWFhZjcyMjk3N2E5ZGZlMTg4NmE1MjVjZTM4MDJiNDI4MDcyYWQmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.smy85ONAOK-5clG085u09aiiq5yQTokbahiQ-H-siaA)

I hope these get fixed :)

The readability issue was already opened by me #1277 but waiting for the team's approval .

@loiclefevre
Copy link
Contributor Author

loiclefevre commented Feb 7, 2025

Okay, my suggestion is to revert that last commit, but then open a separate PR with its content (the one with all the problems). We'll merge for now and start working on the issues. Once we've fixed the issues, then we have the second PR that we can just merge.

Hi @gregsdennis, I've reverted to the last commit!

PR1401 is the fixed version for the fixed blog-styled components.

@loiclefevre
Copy link
Contributor Author

@gregsdennis, now you can review this final version of the PR.

Thanks!

Copy link
Member

@gregsdennis gregsdennis left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm happy with moving forward with this provided that we (@json-schema-org/docs-team) fix the issues highlighted above.

We'll take on the responsibility of completing #1401. Thanks for providing the basis.

@benjagm benjagm merged commit 5a608ac into json-schema-org:main Feb 8, 2025
9 checks passed
Copy link

github-actions bot commented Feb 8, 2025

Congratulations, @loiclefevre for your first pull request merge in this repository! 🎉🎉. Thanks for your contribution to JSON Schema!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants