This is the Schema App module for local caching of JSON-LD markup. It was developed for Schema App (https://www.schemaapp.com) customers to locally cache schema markup generated by our application.

The functionality of the application is to pull resources from the Schema App CDN and store them within the Drupal cache. Once in the cache it is stored for 24 hours before refreshing again from the CDN. These resources are then inserted in a script tag of type application/ld+json into the head for search engines to pick up resources.

Local caching is used to provide more reliable deployments of structured data so they can more easily be picked up by web wrawlers.

It does require a Schema App account to retrieve markup with an Account ID that we assign as well as the user's API key.

Project link

https://www.drupal.org/project/schemaapp

Git instructions

git clone --branch 8.x-1.x https://git.drupalcode.org/project/schemaapp.git

PAReview checklist

https://pareview.sh/pareview/https-git.drupal.org-project-schemaapp.git

Comments

avpaderno’s picture

Issue summary: View changes

Thank you for applying! I added the Git instructions for non-maintainer users and the PAReview checklist link. Reviewers will check the project and post comments to list what should be changed.

If you haven't done it, yet, please check the PAReview report and fix what needs to be fixed. There could be some false positives; verify that what reported is correct, before making any change.

avpaderno’s picture

Status: Needs review » Needs work

The master branch is not correct. For Drupal 8, a branch like 8.x-1.x should be used.

It is also not clear if the account used to commit the code is a shared account, or an account used by a single person. The absence of first and last name, and the email associated with the account lead me to think this is a shared account.

SchemaApp’s picture

Ok thank you for the quick response, sorry for my delay I'm still very new to Drupal. I have updated my master branch and re-ran that PAR review and I believe everything is passing. I think it was using an old branch before I had made those fixes, I have gone through and set a version 8 branch and it is now the default.

The account is shared yes, in the repo one developer has been working on it but Schema App is an organization.

SchemaApp’s picture

Status: Needs work » Needs review
avpaderno’s picture

Status: Needs review » Needs work

Basing on the Drupal.org Terms of Service, a shared account cannot be used for the following.

If you are sharing your user account with multiple people (e.g. as your “official” organization account), you are not allowed to do the following using this account:

  • commit code to Git repositories on the Website
  • create any nodes except for organization, case study or project nodes
  • comment on nodes

Each developer writing the code needs to use an account used only from that developer. The only way to continue this application is to give to the developer his/her account, and use that for continuing the application.

joelcummings’s picture

Ok I have added myself and shawnhind to this project who are the developers at schema app, I hope this is acceptable and we can continue the application.

joelcummings’s picture

Status: Needs work » Needs review
vuil’s picture

Status: Needs review » Needs work

Thank you for the contribution!

Please increase the project's page content, see more about Module documentation guidelines and Project page template. I created project issue about.

avpaderno’s picture

avpaderno’s picture

Status: Needs work » Needs review

While a better description of the module would help users who need the module, or are thinking to use the module, we review the files committed in the repository.

vuil’s picture

Thank you for the contribution!

I have not found any security related issues in the code.

klausi’s picture

Issue summary: View changes
klausi’s picture

Status: Needs review » Reviewed & tested by the community

Thanks for you contribution!

  1. schemaapp_page_attachments_alter(): do not concatenate variables into logger strings, use placeholders instead.
  2. config schema is missing, see https://www.drupal.org/docs/8/api/configuration-api/configuration-schema...
  3. CacheTest extends UnitTestCase, so it is not a Functional test and in the wrong folder. Should be in "Unit"

Otherwise looks good to me, did not see security issues.

avpaderno’s picture

Assigned: Unassigned » avpaderno
Status: Reviewed & tested by the community » Fixed

Thank you for your contribution! I am going to update your account.

These are some recommended readings to help with excellent maintainership:

You can find more contributors chatting on the IRC #drupal-contribute channel. So, come hang out and stay involved.
Thank you, also, for your patience with the review process.
Anyone is welcome to participate in the review process. Please consider reviewing other projects that are pending review. I encourage you to learn more about that process and join the group of reviewers.

I thank all the dedicated reviewers as well.

avpaderno’s picture

Status: Fixed » Needs work

joelcummings has not set a Git username, nor has he consented to the Git agreement. Without those steps, this application cannot be approved.

joelcummings’s picture

Thank you all for reviewing! I have made some updates to address feedback and have updated my git username and accepted the agreement.

joelcummings’s picture

Status: Needs work » Needs review
avpaderno’s picture

Status: Needs review » Fixed

Status: Fixed » Closed (fixed)

Automatically closed - issue fixed for 2 weeks with no activity.