Quality management of plugins

Creating and modifying plugins.
hgoor
Regular
Posts: 297
Joined: Thu Jan 06, 2005 11:46 am

Quality management of plugins

Post by hgoor »

Hi all!

I would like to address an issue that I have with S9y plugins in general. I am not a developer or programmer myself, but I have a basic to more than average understanding of programming and such.

First of all I would like to make clear that my remarks are just meant to encourage a discussion about improving quality and not to just make some negative statement or anything; I understand that developing plugins it probably not something you all do for a living, but just for fun or as some learning experience.

Having said that, here is what I have noticed and also a 'solution' to what I think is something that needs attention too.

I think we all strive to make S9y and it's plugin's a quality product and Blog software. I already think highly of S9y and also I am very very happy with the support I always get in the forums (even for dumb questions), so kudos for that to all developers and the S9y community!

As such I see that S9y itself tries hard to follow all W3C rules.

However: any given time I try to validate my blog by using the W3C Markup validator (http://validator.w3.org/) I get lot's of errors.

Now, I have traced many of those to be my own fault (namely: copy & pasting code to embed YouTube videos and such), but 99% of all other validation errors come from Plugins that do not follow the rules.

Some of them are really simple like not using <br /> and such. It also might be related to the use of HTML and XHTML syntax in one document (cause by plugins or template parts).

Also, I see that, S9y does not use encoded ampersands in URL's as described by the WDG in "Ampersands in URLs".

Code: Select all

Entity references start with an ampersand (&) and end with a semicolon (;). If you want to use a literal ampersand in your document you must encode it as "&" (even inside URLs!). Be careful to end entity references with a semicolon or your entity reference may get interpreted in connection with the following text. Also keep in mind that named entity references are case-sensitive; &Aelig; and æ are different characters.
Just to see what I mean:

http://www.shortenurl.com/8akdh

Now, I think that what needs to be done is that S9y development should make sure that Plugins behave in the right way and have a certain quality standard before they are admitted to SPARTACUS. Sure: they are tested for functionality, but what about W3C rules?

Or: if they are not 'validated' to give the right output in conjunction with S9y, that this is made clear in the SPARTACUS back-end.

This can be done relatively simple: just add a "validated with S9y" line, or a "not yet validated with S9y".

That way at least people know beforehand that the plugin has not (yet) been tested for proper W3C approved output.

Another thing I would very much appreciate: a direct link from the SPARTACUS plugin description to a readme or other documentation! Too many times I see a reference to documentation that you can get AFTER you installed the plugin (to meet dependencies and such).

Spartacus is one of the MAIN attractions of S9y I think: it makes installing a plugin so easy! So why not have a link to the docs etc.?


Maybe I'm too anal about this, but 66 errors on my page is a bit much I think :oops:

Off course: if you do not use that many plugins as I do (I'm feature-crazy) you probably would have less errors.

Still, I think this "validated" bagde for plugins would be a good way to encourage developers to also check for basic W3C stuff :)

If there are any errors on my blog, ideally I would like them to be 'user errors' were I did something wrong myself, so i can only blame myself :D

I would very much like to hear what all you real developers think of this?

Regards,

Henk
"If life is worth living, it's worth documenting" -- Adam Curry ("Podfather")

Bloggers@large: http://www.vandegoor.com
iLounge Radio: http://www.hostingperfect.net:8004/listen.pls
carl_galloway
Regular
Posts: 1331
Joined: Sun Dec 04, 2005 5:43 pm
Location: Andalucia, Spain
Contact:

Post by carl_galloway »

I agree.

Having said that, I know that some of my own templates don't properly validate, but I'm going through a process of updating templates to 1.1 compatibility, then I'll be checking for validation etc. It's a big job, but as hgoor says, Serendipity is too good for me to not support it in this way. I stand by hgoor in encouraging other template designers and plugin developers to validate code.
garvinhicking
Core Developer
Posts: 30022
Joined: Tue Sep 16, 2003 9:45 pm
Location: Cologne, Germany
Contact:

Re: Quality management of plugins

Post by garvinhicking »

Hi!

This is a quite idea.

However, most plugins I was involved with are XHTML compatible.
Also, I see that, S9y does not use encoded ampersands in URL's as described by the WDG in "Ampersands in URLs".
All plugins that I know of are using proper Ampersands in URLs. Only plugins that are not coming from me might have this problem (especialy the forum plugin and similar 'large' plugins).

If anyone here could validate all plugins, I'm willing to put badges on them. :-)

But I generally think that 80% of all plugin HTML output is perfectly fine. So I would need precise feedback on which plugins have issues. Then they can easily be fixed. I just need to know about it :D
Best regards,
Garvin
# Garvin Hicking (s9y Developer)
# Did I help you? Consider making me happy: http://wishes.garv.in/
# or use my PayPal account "paypal {at} supergarv (dot) de"
# My "other" hobby: http://flickr.garv.in/
vvdheuvel
Regular
Posts: 7
Joined: Mon Aug 28, 2006 8:58 pm
Contact:

Quality of plug-ins

Post by vvdheuvel »

That's a good idea, dude! Then we will get higher quality plug-ins and a better user experience! This is why I love Open Source, you don't have to wait for a Big Boss Company to take action we can do it ourself! I think code always should be validated no matter what language (HTML, XML, JavaScript etc.) Crappy code(read: programmers) makes, crappy programs!
I'm thinking more about a plug-in submission program. But we need guidelines for it and a team of volunteers/testers who give the plug-in developers feedback (for example, you should work on your breaks :lol: <br />). In the long run quality will improve of S9Y and that serves everybody.
-- If nobody thought things could be improved upon, there would be no such thing as progress --
carl_galloway
Regular
Posts: 1331
Joined: Sun Dec 04, 2005 5:43 pm
Location: Andalucia, Spain
Contact:

Post by carl_galloway »

The plugin that does the social bookmarks, serendipity_event_findmore, doesn't validate.
hgoor
Regular
Posts: 297
Joined: Thu Jan 06, 2005 11:46 am

Post by hgoor »

Well we could start with those you know that are ok, and the other ones are just 'not validated YET' :D

Validation could be a step by step process: just validate the ones you know work, and all new ones as of now :-)

Just an example: the <br> tags are coming from the SHOUTCAST plugin.

Error Line 114 column 161: end tag for "br" omitted, but OMITTAG NO was specified.
...eBarContent">Current Listeners: 2<br>

Also:
Error Line 455 column 53: document type does not allow element "td" here.
...serendipityRightSideBar" valign="top"> <div class="serendipitySideBarItem

Etc.

A lot of errors are because I used shitty code in some HTML-nuggets sidebars (maybe a possibility for a built-in check there?)...

Oh: what does this do in the front-end?

Info Line 583 column 0: start tag was here.
<img src="http://zion.demon.nl/plugin/checkautobackup" width="1" height="1" bord
"If life is worth living, it's worth documenting" -- Adam Curry ("Podfather")

Bloggers@large: http://www.vandegoor.com
iLounge Radio: http://www.hostingperfect.net:8004/listen.pls
carl_galloway
Regular
Posts: 1331
Joined: Sun Dec 04, 2005 5:43 pm
Location: Andalucia, Spain
Contact:

Post by carl_galloway »

hgoor, the validation problem you're talking about (br) will pass the validation test if you've specified XHTML, but users who do not have that configured in their config will fail validation because it is not part of the HTML spec.

Garvin, any thoughts on that, should all new Serendipity installs have xhtml set as default, or does every plugin need to be aware of the differences between html and xhtml?
vvdheuvel
Regular
Posts: 7
Joined: Mon Aug 28, 2006 8:58 pm
Contact:

Old School

Post by vvdheuvel »

Those are really old school html examples :lol: and to Carl you should only use XHTML code, HTML is decrepeated!
-- If nobody thought things could be improved upon, there would be no such thing as progress --
carl_galloway
Regular
Posts: 1331
Joined: Sun Dec 04, 2005 5:43 pm
Location: Andalucia, Spain
Contact:

Post by carl_galloway »

@vvdheuvel, er, I agree, um, but I'm not the plugin developer, I didn't write the output for those plugins
vvdheuvel
Regular
Posts: 7
Joined: Mon Aug 28, 2006 8:58 pm
Contact:

:-)

Post by vvdheuvel »

No offence dude!!! Just a remark
-- If nobody thought things could be improved upon, there would be no such thing as progress --
garvinhicking
Core Developer
Posts: 30022
Joined: Tue Sep 16, 2003 9:45 pm
Location: Cologne, Germany
Contact:

Re: Old School

Post by garvinhicking »

Hi!

Well, until now I thought that all spartacus validate properly. So I'm not a good candidate to check each and every plugin. Whoever could do that, this would be awesome. Just list all the XHTML errors it makes.

Carl and others, about XHTML: Actually XHTML should degrade to HTML in most cases. Only <meta> tags in XHTML make problems in HTML.

All plugins and themes should be XHTML compliant. We should not care about HTML 4.0, this is a dead-end route to go.

Usually before a plugin goes into Spartacus I check many things, so I think there should not be a lot of it around. Carl, you said findmore does not validate. What exactly does not validate?

Great if people are so motivated to make the plugins better! I think every spartacus plugins should validate perfectly, so a badge might not be needed: We should more be able to say that 'every spartacus plugin is XHTML compliant'. I am very sure there is not much to patch.

Best regards,
Garvin
# Garvin Hicking (s9y Developer)
# Did I help you? Consider making me happy: http://wishes.garv.in/
# or use my PayPal account "paypal {at} supergarv (dot) de"
# My "other" hobby: http://flickr.garv.in/
mgroeninger
Regular
Posts: 546
Joined: Mon Dec 20, 2004 11:57 pm
Contact:

Post by mgroeninger »

Well we could start with those you know that are ok, and the other ones are just 'not validated YET'

Validation could be a step by step process: just validate the ones you know work, and all new ones as of now
Hey hgoor,

I'm sorry to be critical, but it seems like you want a new process to be implemented but you aren't offering to do any of the work...

By pushing the work back on Garvin you run the risk of him doing it at the expense of something else, or just disengaging from the project.

I have never met anyone in the Open Source community who works as hard as Garvin. He is the single largest reason response to issues is informed and quick. And to continue to ask him to do more is a little silly.

Plus, how do we deal with plugins where the developer is not especially familiar with html? (Like myself...) Should I ask Garvin to install all my code and test it before I commit changes? I don't think that solution will scale well.

Without specific user feedback it is extremely time-consuming for a developer to correct problems in a plugin they are not familiar with, even stuff has simple as html/xhtml compliance.
Last edited by mgroeninger on Mon Aug 28, 2006 9:36 pm, edited 1 time in total.
hgoor
Regular
Posts: 297
Joined: Thu Jan 06, 2005 11:46 am

Re: Old School

Post by hgoor »

garvinhicking wrote: Great if people are so motivated to make the plugins better! I think every spartacus plugins should validate perfectly, so a badge might not be needed: We should more be able to say that 'every spartacus plugin is XHTML compliant'. I am very sure there is not much to patch.
Best regards,
Garvin
That's the spirit :-)

Unfortunately I have to little knowlegde to do this myself, but I'm sure that we can find people (maybe vvdheuvel?) to have a look?

But, I also know that sometimes it seems that certain plugins seem to have problems working with another (although: so far I can only mention one and it's a backend plugin: the autosave plugin). How to test that?
"If life is worth living, it's worth documenting" -- Adam Curry ("Podfather")

Bloggers@large: http://www.vandegoor.com
iLounge Radio: http://www.hostingperfect.net:8004/listen.pls
garvinhicking
Core Developer
Posts: 30022
Joined: Tue Sep 16, 2003 9:45 pm
Location: Cologne, Germany
Contact:

Post by garvinhicking »

Hi Matt!

Thanks for dropping in ;) But I think I understood hgoor differently; I didn'T think that anyone was asking that I do this work?

Because you are right on this, I myself cannot do that work. It is too much, and my time is better spent here on the forums and with coding. Enforcing QA should be done by other people who want to dedicate time do this project. I was under the impression that hgoor and vvdheuvel were volunteering for that?

Best regards,
Garvin
# Garvin Hicking (s9y Developer)
# Did I help you? Consider making me happy: http://wishes.garv.in/
# or use my PayPal account "paypal {at} supergarv (dot) de"
# My "other" hobby: http://flickr.garv.in/
carl_galloway
Regular
Posts: 1331
Joined: Sun Dec 04, 2005 5:43 pm
Location: Andalucia, Spain
Contact:

Post by carl_galloway »

@vvdheuvel, none taken, its all good :D just thought I'd clarify

@Garvin, the code output for the links to the social bookmark services. Some don't use the ampersand, and I think one of them missed the closing / in an image tag. Its been a few weeks since I checked those when I did a sitescore on my own site, but they were problems that came up.
Post Reply