Forum OpenACS Development: Noquoting development and testing server up

Peter and I started working on "noquote" of HEAD. (For reference look here: https://openacs.org/forums/message-view?message_id=78129)

The noquote dev and testing server is up and running and the changes that were made so far look quite promising. I'm now inviting the community to help out a fair bit with testing. The server can be found here : http://noquote.cph02.collaboraid.net:20000.

If you find pages with dubious html, please setup a bug at https://openacs.org/bugtracker/openacs/ or drop me a line.

Collapse
Posted by Christof Spitz on
I don't know much why the "noquote" is necessary. But I noticed that your server seems to digest the German special characters (Umlaute äöü etc.) without problems, which I never managed to get. One of the Munich programmers told me that a "noqoute" function was necessary for that, but I forgot the details.

Oh, this one seems to get them right, too. Why's that?

Collapse
Posted by Frank N. on
Christof,

My test server accepts ISO-8859-1 as well after I followed the hints at the bottom of this thread:

https://openacs.org/forums/message-view?message_id=29843

Frank.

Collapse
Posted by Dave Bauer on
Someone mentioned somewhere about specifying the noquote in the -properties section of ad_page_contract so that designers working in ADP don't need to know when to use or not use noquote.

Comments?

Collapse
Posted by Dirk Gomez on

A good suggestion: It's declarative and not hidden somewhere in the code. And as Jim says, it also doesn't bother the template designers.

The @varname;noquote@ was probably conceived for two reasons:

  • It provided for a relatively easy migration.
  • It was implemented under deadline pressure.

(IIRC Peter was working on the project that originally "noquoted" ACS - maybe he knows more)

There's a few more rather nasty things with the current noquote patch e.g.:

  • you need to noquote every variable (with html code) that you pass on to an included adp
  • you need to noquote a property you pass on to a master template

However I don't have an idea yet how a more radical change would work in real life. Noquoting a system with a more proper approach would take a lot of time and most certainly lead to two different codebases that are hard to bring together.

If we do it step by step - live with a solution that works but will be phased out eventually - then I think it is workable.

Also some templating system guru has to be found to implement the code for the proper solution. I'm not really savvy about the templating system itself, but I'd be happy to give some directions.

Collapse
Posted by Dave Bauer on
Dirk,

Excellent points. We should keep going with the work you have already done. I see no reason to not allow specifying noquote in the adp file.

Perhaps for another version we can improve it even more, allowing an option of specifying in the -properties of the tcl file.

Collapse
Posted by Timo Hentschel on
Here's another one of the guys who originally patched the acs with the noquote-stuff. The idea of doing this by adding a modifier in the -properties list sounds good at first, but has some disadvantages:

- you would have to add a similar thing to multirows since multirows are not further declared in the -properties list
- you will only get the variable content quoted or not, so if you want to use the quoted and the unquoted variable content in the same adp, then you're lost....

In addition to that, i want to point out that some action on that issue of quoting should be taken as soon as possible. I've worked with the patched version for 2 years already (yeah, i know..... we should have asked the community sooner to adopt this change) and this proved to be a valuable and stable addition.

Collapse
Posted by Dirk Gomez on

I've uploaded the noquote work I did so far to file-storage. Find it here: https://openacs.org/storage/?folder_id=73696.

It has a bunch of sed oneliners to automatically noquote as many templates as possible and a patch that does the necessary changes to parse-procs.tcl and other tcl or adp pages I touched.