GSoC 2018 Ideas: SiteImprove plugin

I love both these ideas - the SiteImprove plugin with that nice high visibility listing, and the Castle content quality check popup (and the plugin architecture). I would advocate for the quality check to include content accessibility (alt tags etc.), if it doesn't already (to enhance our promise of being an accessibility-friendly CMS.)

Back in 2015, @polyester came up with the idea of an accessibility control panel, which would be a great addition - a rollup report for site content, with links to pages that need improvements in various categories. Could also turn on and off a setting making alt tags mandatory (and other stuff like that). He could elaborate. I like the idea of separating out a control panel for content accessibility from another one for content quality, maybe Castle already provides that.

Regarding SEO checks, is there anything useful that could be taken from the SEO plugin quintagroup.seoptimizer? For example, it can be a nice feature to have a separate field for description-as-shown-on-the-page vs. description-the-meta-tag. (And being SEO friendly is another thing we advertise for Plone.)

Nice idea and concept, if necessary I would volunter as a mentor or backup.

All right, who's interested in drafting the proposal? :slight_smile:

Look here for a cookbook on how to integrate the Siteimprove Plugin into Plone (or any other CMS) :
http://devsiteimprov.wpengine.com/siteimprove-cms-plugin-integration-cookbook/

1 Like

Hello everyone,
I am Rohit Singh Malik 2nd year undergraduate student. I currently have experience in python and javascript programming and will be happy to learn new skills like plone and SEO. I like this idea and I am interested in working on this project. Any kind of help from where to start will be greatly appreciated. Looking forward for your help.
Thank You

Hi @singhrohit41,

I've already spoken to you on another forum post, but I'll repeat my advice here. Please get started by reading and following the basic instructions at the top of this community forum post. You’ve already taken the first step!

Once you've learned a bit about developing on Plone and worked on an issue or two from our tracker, that will be a good time to start talking about working on a specific proposal like this one. You'll want to get a bit of Plone under your belt before you begin though, so please do follow the instructions on that other post.

Thanks @cewing I will be acting on your advice.

hello @cewing I completed mastering plone development training.
I would like to know more about this project on which it particularly focus. If there is more stuff you want me to do before getting into this project, please tell me I would like to work on your advice.
Thank you

Good work, @singhrohit41! You're showing some great initiative. Now that you've completed some training it might be a good time to start thinking about making a contribution or two to Plone. You can begin by looking at the list of beginner issues we keep on github.

Some of the issues there will relate to core packages, and some will relate to packages in the "collective" repository, which holds add-ons that the community has contributed to Plone. You can always contribute to the collective repository, though you'll need to join with us.

Do be aware that we have a contributor's agreement we ask you to sign before you contribute code to our core packages. It is the way we ensure that Plone will always remain free and open software. It takes some time to get this agreement signed and get permission to make contributions, so you should start that process soon.

thanks @cewing I'll check it out!

hello @cewing I saw some issues and created a PR. I would also like to understand this idea in depth and want to start working on it. Few pointers will be greatly appreciated.

I'm the program coordinator, @singhrohit41, so I'm not really in a good position to give you pointers on a specific project. I can, however, point to the other folks who've expressed opinions about this topic, @tkimnguyen, @sally, @loechel and @djay. I would suggest that a good first step would be to begin speaking to them about how they envision a project like this working. You might also wish to learn more about some of the plugins that have been suggested: SiteImprove, Accessibility Compliance checkers, SEO checking, and so on. All of these are aspects of evaluating and improving content quality in a website. Discussing the idea with the community is a great next step toward building a proposal that will really work for you and for us.

1 Like

Thanks @cewing for the info. I will be working on it. and it will be great if @djay, @tkimnguyen, @sally, @loechel can also share some valuable pointers about the project and how they envision working of this project to get me at the good position to work on it.

@singhrohit41 thanks for your interest! While this project idea started as an implementation of one specific vendor's "content quality check" tool (SiteImprove.com) it would be more interesting to create a general framework for feeding the current content item (ie. the page or folder or news item or whatever you're viewing) through a process then displaying the results of that process to the user. I can imagine there being possibly more than one such process, so the framework would have to let someone register a new process, maybe set the order in which they would run, and then include a notification area to allow the user to view the results of the processing and maybe mark items as done/fixed or to be done later...

CastleCMS has a number of content quality checks built into its workflow transition dialog

I'm reminded that Plone lets you create validators at the field level, ie. a string field that should contain an email address, as well as at the complete form level, ie. checking that if one field has a certain value in it sets constraints on the values that can be in another field on the same form.

In a similar vein, perhaps this content quality plugin framework project could process not just the current item but could allow a plugin to specify other content on the site to process. An example might be to check for broken links on the entire site, versus just checking for broken links on the current page.

I think first step might to review other CMS and how to implement such checks. Also review the kind of checks that people might want e.g. Accessibility, spelling, broken links, some kind of layout guidance?
What I'm thinking though is that there could be a few different policies which might be configurable

  • on workflow vs on save vs click to check in tinymce
  • support for JS checks vs serverside
  • prevent save/transition vs just warn.
  • doing a full site audit might be too ambitious but perhaps support collecting various warnings so they can be viewed in a single control panel? I think there was a broken link checker plugin that worked that way.

I suspect content rules might be a good way to implement these policies since it allows conditions based on content and location etc. but content rules currently can't prevent something from being saved, or put anytime inside tinymce. The most it can do currently is put up a warning box. Perhaps one possible implimentation to extend what a content rule action can do?

1 Like

Hey all, I am Rahul, I have experiences on python and javascript . I have also worked on SEO before and looking forward to implement it here.

An example might be to check for broken links on the entire site, versus just checking for broken links on the current page.

may be this helps for checking broken links, figuring it out now: https://github.com/stevenvachon/broken-link-checker

Right now I am referring to https://www.vertical-leap.uk/blog/how-to-check-content-quality-of-a-website/ for more information about quality check and will provide a positive response soon

thank you
Rahul

I think there are already some add-on in plone that does one or two stuff separately like https://pypi.python.org/pypi/collective.linkcheck and few more at https://docs.plone.org/4/en/working-with-content/content-quality/content-quality-helpers.html . So one have to integrate them into one and add some of the additional features into it like @djay and @tkimnguyen suggested?

@singhrohit41 In my limited knowledge we have to make a different plugin along with castle cms quality check that @tkimnguyen has mentioned and have to use some of the javascript(may be) as mentioned in http://devsiteimprov.wpengine.com/siteimprove-cms-plugin-integration-cookbook/ . I am currently reviewing how castle cms has implemented these features like multiple site confusion,incomplete domain, misplaced keyworks etc.

Hello @tkimnguyen
I have already gone through the plone documentation and would like to work on this project. Is there anything more which I have to look before getting into this project.
Thank You

Plone Foundation Code of Conduct