HOME | NEWS | FAQ | DOCUMENTATION | DOWNLOADS | LINKS | CONTACTS

Frequently Asked Questions

About the author

The Paloose poject is currently run by me, Hugh Field-Richards. I recently retired after a (too) long career designing (amongst other things) computer hardware and software. I started Paloose to keep myself amused and to support my other interest, Hop Vine Music.

What's with the name?

The original name I chose was "Papoose"; in the UK this is defined as "... a type of bag used to carry a child on the back". Unfortunately it does not seem have this meaning in the US, indeed, with some people, it is a derogatory term. However, it occurred to me that a simple change of letter would give "Paloose", which is another term for the Appaloosa horse, something dear to my heart as I am privileged to have and ride one of my own.

What future for Paloose?

Now that I am happy with the initial system I am releasing it under an open-source licence. If anyone wishes to get involved then please EMAIL me. I intend to use it for all my small sites and will continue to do so until Cocoon is supported by the smaller ISPs that I use. It is also interesting (and slightly depressing) that the latest Cocoon does not seem to be as easy to use as I found with version 2.1.x. I use this version on my local servers and have no plans (yet) to upgrade to Cocoon Version 2.2 or later. While I am prepared to admit that this is my problem, I know others who have had the same experience. As a result perhaps Paloose will fulfil the requirements of those who want a quick Cocoon-like engine for their small Web sites.

What facilities do you intend to add to Paloose?

This is quite a difficult question as I have limited time and am not trying to do a complete Cocoon implementation in PHP5 — a pointless exercise anyway. However there are a few things that I would like to add for my own satisfaction. In no particular order they are

  • Sitemap global variables. I have not needed these yet, so I have not put this as a very high priority.
  • An SQL transformer.

I am happy to look at other things that users suggest — just EMAIL me at hsfr@hsfr.org.uk. Also anyone who would like to help with the above (and other) functionality plase contact me.

What systems will it run on?

Basically any system that will run PHP5. Currently the list is Mac OS-X, Linux, and other similar Unix systems. I have not heard of anyone using a Windows server (if anyone is please let me know).

Why don't you use SAX like Cocoon, instead of DOM?

I thought about this quite hard initially. The conclusion that I came to was that using a DOM approach was far simpler. It has the penalty of being slower but Paloose is only intended for small volume/traffic sites and performance is not such an issue. I have seen no reason to revise this decision in the light of current site usage. Changing to a SAX approach would mean a major code change and I really do not have the time at present as my Music Publishing venture () has more call on my time.

How can I improve the performance of Paloose?

If you want to increase the performance of Paloose it is possible, but at the expense of a little effort (and possible obscurity) by tailoring the Paloose code and your own sitemaps and XSL. The implications and method are described on a separate page of the documentation in more detail.

Why did you not use CForms and JavaScript for flows?

It is useful to provide some background to some of the decisions that I made for flows and forms. This is where Paloose diverges from Cocoon most. The latter is based on Java and Javascript which was not available to me (conceptually, not practically, as Paloose is based solely on PHP). Thus I had to base what I did on a pure PHP approach while including the concepts of Cocoon flows and forms. I made several false starts which arose from several design problems:

  • How to store the information at each point of the flow?
  • Which form template to use (CForms, XForms etc.)?
  • How to allow forward and back (continuations) in the forms?

All of these problems seemed intractable at first with decisions made about one influencing, detrimentally, a decision made else where. Obviously mirroring the Cocoon forms template, CForms was initially desirable for commonality with Cocoon. But it soon became apparent that this was going to make the whole approach far too complicated for what I wanted. Much code was wasted in exploring this but I believe it was the right decision. In the end I based the Paloose forms (PForms) on the JXForms that older version of Cocoon used. (I had produced some sites with this in the past so I was reasonably familiar with it). PForms is not radically different from JXForms but it does not slavishly follow the latter. I believe that PForms is suitable for the restrictions I had set on Paloose and ,as I have said elsewhere, if you have a site that requires all the facilities of CForms then you should probably be using Cocoon anyway.

Once I had settled on PForms there was the problem of how to implement the flow script, which in Cocoon uses Javascript. The Cocoon approach is to take a "snapshot" of the Javascript engine (a simplistic way of describing it) in order to maintain continuity between client requests. I was unable to find a sensible way of doing this with PHP (which does not mean to say that one does not exist). So I had to find a means of providing the user with a simple method of continuations based solely on a PHP approach. I believe I have achieved this while keeping to the spirit of Cocoon.

All these solutions, however successful, have made me diverge from the strict Cocoon approach so please read the documentation very carefully.

Who designs your own sites that use Paloose?

These have been done by my son Ian Field-Richards who is the GUI art director for DeviantArt.

Are there examples of sites that use Paloose?

My sites

Others

How do I port Paloose Sites to Cocoon?

This is very easy with the only major change being the sitemap components. See this How-to for more information. But beware, the Tidy Generator, Password, Gallery and PageHit transformers will not work unless you write your own in Java. I have not needed to yet, but when I do I will post them on this site.

How do I port Cocoon Sites to Paloose?

This really just the reverse of the above. The only issue might be one of performance so it is worth bearing in mind that Paloose is obviously slower than Cocoon. I hope to address this in the near future with some form of caching, but this is in the future just now.

How do I write Components for Paloose?

Documentation for this will be added as soon as I have the time. Meantime look at the way the current ones are written. Remember that it was my very first bit of PHP programming so the code standard is little rough and ready in places.

Do you have any support for iPhone?

Yes. The browser selector can detect the iPhone to allow separate pipelines to be run. I have used this on one of my sites, Chandos Symphony Orchestra so try it. The data (XML) is identical in the normal browser and the iPhone browser. It makes having browser sensitive sites realtively trivial.

Help! I have tried everything but I am still getting page not found.

The usual problem here that you have not set up the .htaccess file up correctly. Remember that Apache will serve all your requests, including ones that are destined for Paloose unless you tell it otherwise. For example if you want requests for, say, http://<hostname>/<site-path>/file.asm, to be processed by Paloose then you would have to add the following line into your .htaccess file:

RewriteRule (.+)\.asm paloose.php?url=$1.asm [L,qsappend]

Remember though that the one type of file extension that this method does not handle is PHP, so putting

RewriteRule (.+)\.php paloose.php?url=$1.php [L,qsappend]

in the .htaccess file will cause an infinite loop.

Help! Why am I getting "Class 'XsltProcessor' not found" errors

99% of the time this shows that you are running PHP5 without the XML/XSL support that there should be. Try recompiling PHP5 with the following configuration parameters included

--with-xml --with-libxml-dir=<dir path> --with-xsl --with-tidy

tidy should be there for the TidyGenerator, although the latter is in an early stage of development and is not stable, so treat with caution. There is no problem with PHP5 having the tidy build but just use TidyGenerator with care.

Help! Why am I getting "Parse error: syntax error, unexpected '=', expecting '(' in /../../paloose/lib/Paloose.php on line xx" errors

This means you are still running PHP4. You need to run PHP5. Speak to your ISP to provide PHP5.

Help! Why am I getting "Input file not found" as the only browser output?

See FAQ entry about the .htaccess file, this is the usual problem. Also make sure that you do not overwrite a system .htaccess that is required. That is why it is best to have your site in a separate folder.

Are there schemas for the XML used in this site?

Yes the basic schema is written in RELAX NG. They are not an essential to running Paloose or understanding, they are merely given out of interest; although I would urge the use of schemas to reduce errors in your XML files. The primary page schema is page.rng. They are pretty versions of the raw RELAX NG which are easier to read. If anyone would like a copy of the transforms necessary to produce the pretty-printed version please EMAIL me and I will consider putting them up as a download.

Why do you not use schemas for the sitemaps?

This is a fairly contentious subject. Sitemaps are built in such expandable form that producing a schema in something like RELAX NG or XML-Schema is very difficult — they simply do not have a rich enough structure to do what I think is necessary without having to use Schematron additions. The closest that I got to producing one used DSD-2. I wrote an extensible set of schemas which worked fine, but are now sadly out of date. I also produced schemas for Dublin Core, Jakarta Ant and RDF (although RDF is a major problem because it is impossible to write a universal validating XML schema for it — it ain't the right sort of grammar), all of which can be found on the DSD-2 home page. DSD-2 is the best schema language we never had, sad ....

Technical Trivia

The code that builds Paloose is a little rough and ready in places. This is my first PHP program (other than the odd embedded line within HTML) and it shows. I am more used to program in strongly typed languages having had a lifetime using Algol, Coral, Algol68, Pascal, Java at al. I have programmed in Perl for many years and so PHP was not a wholly new experience. I am sure that I have used 10 lines in places where PHP5 would let me use one; never mind — it suffices, the future will refine the code.

viewable with any browser Level Double-A conformance icon,                       W3C-WAI Web Content Accessibility Guidelines 1.0 Valid XHTML 1.0! Valid CSS!
 
left footerCopyright 2006 – 2008 Hugh Field-Richards. All Rights Reserved.