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

[FEAT] Ignore all content types but the created by content type builder, i.e., api content types #167

Open
SalahAdDin opened this issue May 7, 2024 · 4 comments
Labels
enhancement New feature or request wontfix This will not be worked on

Comments

@SalahAdDin
Copy link

SalahAdDin commented May 7, 2024

Feature request

Summary

Checking the sitemap configuration for the setup of the URLs we find the following content-type hell:
image

ExtraContentTypeSitemap

It shows a lot of content types that we don't want to make part of any website.

We manually excluded them, but they are too much for the beginning, and no, it does not only include third-party plugin types:

sitemap: {
    enabled: true,
    config: {
      cron: "* * * * 7",
      xsl: true,
      autoGenerate: false,
      caching: true,
      excludedTypes: [
        "admin::api-token",
        "admin::api-token-permission",
        "admin::transfer-token",
        "admin::transfer-token-permission",
        "admin::permission",
        "admin::role",
        "admin::user",
        "plugin::content-releases.release",
        "plugin::content-releases.release-action",
        "plugin::i18n.locale",
        "plugin::navigation.audience",
        "plugin::navigation.navigation-item",
        "plugin::navigation.navigations-items-related",
        "plugin::navigation.navigation",
        "plugin::sitemap.sitemap",
        "plugin::sitemap.sitemap-cache",
        "plugin::users-permissions.permission",
        "plugin::users-permissions.role",
        "plugin::users-permissions.user",
        "plugin::upload.file",
        "plugin::upload.folder",
      ],
    },
  },

Why is it needed?

As you can see, it is hard for the developer tool and check which content types we need to exclude from the sitemap one by one.

Suggested solution(s)

It would be better either to add a new property includeType or make the plugin check only the API content types, so things get easier, even more, it should only include those types and exclude the types we want from API content types since all plugins and Strapi content types are not public in the most of the cases.

As you can see from the comment yarn strapi content-types:list , the only content types we want to see are the following:

├──────────────────────────────────────────────┤
│ api::about-me.about-me                       │
├──────────────────────────────────────────────┤
│ api::category.category                       │
├──────────────────────────────────────────────┤
│ api::education.education                     │
├──────────────────────────────────────────────┤
│ api::post.post                               │
├──────────────────────────────────────────────┤
│ api::profile.profile                         │
├──────────────────────────────────────────────┤
│ api::project.project                         │
├──────────────────────────────────────────────┤
│ api::tag.tag                                 │
├──────────────────────────────────────────────┤
│ api::work-experience.work-experience         │
└──────────────────────────────────────────────┘

Related issue(s)/PR(s)

Let us know if this is related to any issue/pull request.

@SalahAdDin SalahAdDin changed the title Ignore all content types but the created by content type builder, i.e., api content types [FEAT] Ignore all content types but the created by content type builder, i.e., api content types May 7, 2024
@boazpoolman
Copy link
Member

Hi @SalahAdDin

Thanks for reporting yet another great feature request!
You really help us push our plugins to the next level.

About the sitemap plugin; we are currently in the process of migrating the plugin to the Webtools suite.
Just now I've released the first beta version of the Webtools Sitemap Addon to NPM
It has all the same features you're used to from the standalone Sitemap plugin, but uses the core Webtools plugin for it's URL management.

The issue you created about the "Ignore all content types..." is a feature that's already integrated in Webtools.

That being said I would love it if you could give Webtools and the Sitemap addon a try. I think you'll like it a lot.

@boazpoolman boazpoolman added enhancement New feature or request wontfix This will not be worked on labels Jun 1, 2024
@SalahAdDin
Copy link
Author

Hi @SalahAdDin

Thanks for reporting yet another great feature request! You really help us push our plugins to the next level.

About the sitemap plugin; we are currently in the process of migrating the plugin to the Webtools suite. Just now I've released the first beta version of the Webtools Sitemap Addon to NPM It has all the same features you're used to from the standalone Sitemap plugin, but uses the core Webtools plugin for it's URL management.

The issue you created about the "Ignore all content types..." is a feature that's already integrated in Webtools.

That being said I would love it if you could give Webtools and the Sitemap addon a try. I think you'll like it a lot.

There are some issues with this, the first, it is not clear if we need to install core-webtools, so we installed only the adding and we got the issue:
image

This happens when we don't setup the configuration, when we do it, it fails even to load the admin:

    ~/Projects/Portfolio/backend    PBE-001-strapi-4 !4  yarn develop                                                                              ✔  20s   system  
✔ Cleaning dist dir (10ms)
⠋ Building build context
[INFO] Including the following ENV variables as part of the JS bundle:
    - ADMIN_PATH
    - STRAPI_ADMIN_BACKEND_URL
    - STRAPI_TELEMETRY_DISABLED
✔ Building build context (107ms)
✔ Creating admin (9161ms)
⠙ Loading Strapi[ERROR]  There seems to be an unexpected error, try again with --debug for more information 

┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
│                                                                                                                                                   │
│   Error: Error loading the plugin sitemap because sitemap is not installed. Please either install the plugin or remove it's configuration.        │
│       at Object.loadPlugins (/home/luisalaguna/Projects/Portfolio/backend/node_modules/@strapi/strapi/dist/core/loaders/plugins/index.js:83:13)   │
│       at async Strapi.loadPlugins (/home/luisalaguna/Projects/Portfolio/backend/node_modules/@strapi/strapi/dist/Strapi.js:311:5)                 │
│       at async Promise.all (index 3)                                                                                                              │
│       at async Strapi.register (/home/luisalaguna/Projects/Portfolio/backend/node_modules/@strapi/strapi/dist/Strapi.js:341:5)                    │
│       at async Strapi.load (/home/luisalaguna/Projects/Portfolio/backend/node_modules/@strapi/strapi/dist/Strapi.js:425:5)                        │
│       at async Object.develop (/home/luisalaguna/Projects/Portfolio/backend/node_modules/@strapi/admin/dist/_chunks/index-sNH2VWbC.js:837:28)     │
│       at async develop (/home/luisalaguna/Projects/Portfolio/backend/node_modules/@strapi/admin/dist/_chunks/develop-YNTGWKMC.js:61:5)            │
│       at async Command.parseAsync (/home/luisalaguna/Projects/Portfolio/backend/node_modules/commander/lib/command.js:923:5)                      │
│       at async Module.runStrapiCommand (/home/luisalaguna/Projects/Portfolio/backend/node_modules/@strapi/strapi/dist/commands/index.js:130:3)    │
│                                                                                                                                                   │
└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘

Installing web tools works fine, but the sitemap cannot be enabled since the config is still broken.

So, it is not usable yet.

I think it is required to update the documentation!

@boazpoolman
Copy link
Member

Could you report an issue on the webtools repo about this?
I’ll take a look at it.

@SalahAdDin
Copy link
Author

Opened: pluginpal/strapi-webtools#150

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request wontfix This will not be worked on
Projects
None yet
Development

No branches or pull requests

2 participants