Hi Chris,
Thanks for the extensive feedback!
I've just uploaded a new archive of CompactCMS.zip (without further announcement).
[...] and the admin area renders "Edit" links like this
[...] but fails on my windows/apache system. Replace with the following fixes it
You are absolutely right about the incomplete '<?' tags. I'm used to using these instead of <?php, but earlier I already learnt that not all servers support short tags by default. So I converted them all, but with the new functions I fell back to my old habbit every now and then. And no one to correct me before the release.... You shouldn't need a short open tag no longer, but just in case you would like to change this on your local configuration: open up php.ini and set
short_open_tag = On. As general indication:
// Officially
<?php echo "Hello world"; ?>
// Could also be (what I'm used to)
<?="Hello world"?>
Warning: mysql_num_rows(): supplied argument is not a valid MySQLresult resource in C:\Program Files\Apache SoftwareFoundation\Apache2.2\htdocs\ccms\content\guestbook.php on line 45
This is an actual bug. I forgot to set the $link as a globar variable for the ccmsContent() function. So although $link was set in sitemap.php, in some server configuration this variable then does not pass through to the content. It did on my local installation and remote host, but I'm actually suprised about this.. Cause it should not have gotten through.
Now that the $link variable is global, you should be able to use it everywhere. Thus making it a valid resource, thus not throwing the error you specified. If it doesn't work try changing (which I should have added originally already

):
$result = mysql_query("SELECT * FROM `ccms_guestbook` ORDER BY `gb_id` DESC");
// to
$result = mysql_query("SELECT * FROM `ccms_guestbook` ORDER BY `gb_id` DESC", $link);
there is one change I really think you have to get into the code: launch tinyMCE using relative URLs.
I've done this. I haven't been able to test it myself, but I trust that you have

.
---
And that's it in regard to the quick fixes. Anyone now downloading the archive will have these by default. Others might read this post and try redownloading the latest built. Easiest is to use the SVN repository for an automatic update of the installation.
The whole module bit is something I've just worked on with my own subjectivity biasing the process

. To me this is the easiest way of working, but realized this is just an initial step towards a better overall product.
I don't really agree that the coding and designing is too intertwined. It is for sure in the back-end, but that shouldn't be a problem, since everyone working on a module is php-savvy. The front-end is completely free. I agree that the current two modules are very static, but it doesn't have to be. You could very easily just put your lay-out in a div with some id's and have the actual end-user use CSS to style those divs.
For example one could do this to show a result in the front-end:
<div id="result">
<?php echo $row['result']; ?>
</div>
Any designer is now completely free to use CSS to style this result div.
It really depends on the developer of the module how flexible the front-end will be. You could even add a configuration to the back-end specifying the number of column in a product overview table. Also see
the default structure archive.
What I do agree on is the module.txt option. I think you are right that this isn't the best way to do this. I haven't changed anything yet, because it does work, but is bound to cause trouble later on. Once we've got more experience with the development of 3rd party modules I'll start working on optimizing this. This could very well include a change to a single PHP file (module-config.inc.php) with variables ($ccms['mod']['MOD_NAME']['VAR']) that also allows the developer to have users customize behaviour.
Something to look forward to

. If you run into anything else it goes without saying you should let me know

! Hopefully I've been able to fix most of the initial "glitches" to your (and anyones) liking.
Cheers!
Xander.