#10987: Implement Link Checking as Core Feature of Plone -------------------------------+-------------------------------------------- Reporter: ctxlken | Owner: Type: PLIP | Status: new Priority: major | Milestone: 4.1 Component: Upgrade/Migration | Keywords: kupu tinymce link checker linkchecker -------------------------------+--------------------------------------------
Old description: > '''Proposer:''' Ken Wasetis[[BR]] > '''Seconder:''' None as yet[[BR]] > [[BR]] > == Motivation == > The link checker that is built into the Kupu editor is very useful for > finding 'dead links' on a site (that will cause 404 errors) and such a > link checker is a strict requirement for many organizations evaluating > CMS tools. If you didn't realize this feature existed, go to Site Setup > in your Plone 3 site and then to the Visual Editor (kupu) and then to the > Links tab and scan for broken links. Cool, right?! > > Kupu is no longer the default editor as of Plone 4.x, and the new default > editor, TinyMCE, has no such built-in capability. Thus, by eliminating > Kupu as the default editor, Plone can no longer claim to have a link > checker 'out of the box'. > > == Assumptions == > Assume that Plone should have a built-in link checker (still) and that it > is best to not have it tied to a 3rd-party editor product that could be > replaced by a different default visual editor in future Plone releases. > > == Proposal & Implementation == > This functionality really should not be migrated to TinyMCE, IMHO, but > rather componentized as its own product/egg that is a core feature of > Plone, rather than of a 3rd-party editing tool, but if for some reason, > grafting it onto TinyMCE is easier/faster, at least that approach would > allow Plone to maintain this functionality with a standard installation > of Plone 4. > > There exists a standalone Link Monitoring Service (LMS link checker) > utility by GoCept that provides even greater capabilities than the kupu > bundled link checker, and it may be good to review that code base and > learn any lessons and integrate any features that can be, but this tool > runs as a separate service that makes XML-RPC calls to interact with the > CMS (pros and cons to that.) > > I think that this is the 'gold standard' of link checking, if we could > bring the code up-to-date, but I don't think this is a great candidate > for the 'out of the box' Plone install/experience. I think it's akin to > Plone integration with SOLR, which is an even more robust search option > for Plone, but Plone still has a pretty nice search engine that it ships > with, without integration with another service that runs on another port, > and in SOLR's case, another programming language (Java.) > > If you agree that Plone should still have a built-in link-checker > utility, please vote for this PLIP! > > == Deliverables == > The low-hanging fruit is to carve out the link checker utility of kupu as > a standalone egg, if possible. It should already have a lot of tests > that can be modified and reused. > > * New product/egg for plone link checker > * Unit tests > * Localization > * Documentation > > == Risks == > Additional bloat to Plone 4 core (but not to its typical 'installer' > distributions since this was a module that actually ships as part of the > optional kupu add-on product with a typicaly Plone 4 installation, > already) > > == Participants == > Who is signed up to do the work? > (Real names and usernames, please) > > == Progress == > Is any of the work done already? > (When working on this in the repository, use the > "refs #YourTicketNumber" > message in the check-in message to tie commits > to this ticket) > This related ticket exists: > http://dev.plone.org/plone/ticket/10972 New description: '''Proposer:''' Ken Wasetis[[BR]] '''Seconder:''' Tom Gross[[BR]] [[BR]] == Motivation == The link checker that is built into the Kupu editor is very useful for finding 'dead links' on a site (that will cause 404 errors) and such a link checker is a strict requirement for many organizations evaluating CMS tools. If you didn't realize this feature existed, go to Site Setup in your Plone 3 site and then to the Visual Editor (kupu) and then to the Links tab and scan for broken links. Cool, right?! Kupu is no longer the default editor as of Plone 4.x, and the new default editor, TinyMCE, has no such built-in capability. Thus, by eliminating Kupu as the default editor, Plone can no longer claim to have a link checker 'out of the box'. == Assumptions == Assume that Plone should have a built-in link checker (still) and that it is best to not have it tied to a 3rd-party editor product that could be replaced by a different default visual editor in future Plone releases. == Proposal & Implementation == This functionality really should not be migrated to TinyMCE, IMHO, but rather componentized as its own product/egg that is a core feature of Plone, rather than of a 3rd-party editing tool, but if for some reason, grafting it onto TinyMCE is easier/faster, at least that approach would allow Plone to maintain this functionality with a standard installation of Plone 4. There exists a standalone Link Monitoring Service (LMS link checker) utility by GoCept that provides even greater capabilities than the kupu bundled link checker, and it may be good to review that code base and learn any lessons and integrate any features that can be, but this tool runs as a separate service that makes XML-RPC calls to interact with the CMS (pros and cons to that.) I think that this is the 'gold standard' of link checking, if we could bring the code up-to-date, but I don't think this is a great candidate for the 'out of the box' Plone install/experience. I think it's akin to Plone integration with SOLR, which is an even more robust search option for Plone, but Plone still has a pretty nice search engine that it ships with, without integration with another service that runs on another port, and in SOLR's case, another programming language (Java.) If you agree that Plone should still have a built-in link-checker utility, please vote for this PLIP! == Deliverables == The low-hanging fruit is to carve out the link checker utility of kupu as a standalone egg, if possible. It should already have a lot of tests that can be modified and reused. * New product/egg for plone link checker * Unit tests * Localization * Documentation == Risks == Additional bloat to Plone 4 core (but not to its typical 'installer' distributions since this was a module that actually ships as part of the optional kupu add-on product with a typicaly Plone 4 installation, already) == Participants == Who is signed up to do the work? (Real names and usernames, please) == Progress == Is any of the work done already? (When working on this in the repository, use the "refs #YourTicketNumber" message in the check-in message to tie commits to this ticket) This related ticket exists: http://dev.plone.org/plone/ticket/10972 -- Comment(by tom_gross): Since it is not developed any longer, we forked gocept.linkchecker and use it successfully for a mid sized Plone 3.3 site. I can provide the code to the community and help with further integration. The LMS is quite resource intensive and checking the links keeps one CPU busy all the time. -- Ticket URL: <http://dev.plone.org/plone/ticket/10987#comment:5> Plone <http://plone.org> Plone Content Management System _______________________________________________ PLIP-Advisories mailing list plip-advisor...@lists.plone.org http://lists.plone.org/mailman/listinfo/plip-advisories