Instructions to install mywiwall (specifically on OS X)

Skip to first unread message


Sep 4, 2009, 9:27:15 AM9/4/09

Since a couple of persons have asked me how to install mywiwall and
try inter-widgets Dn'D, I put some instructions here. They are based
on my last attempt that dates back a few months ago. So just skip this
message if you are not concerned. I post it here in case someone else
needs the same kind of information.

Before you start here is a reminder of the requirements. MyWiWall
requires the following to be installed and configured correctly on the

- PHP 5.0 or newer
- MySQL 4.1 or newer (with InnoDB support)

First, download mywiwall source code and installers. You can do a
checkout from the Google code repository (that's what I did), see

svn checkout mywiwall-read-

Or you can get a zip archive from there
(follow the "Download Palette Services Portal's installation
package" link)

Second, follow the instructions inside "doc/INSTALL.txt"

When following the instructions, do not forget to make the "widgets"
and "config" directory readable and writable by your web server,
something you can do with a command like:

sudo chgrp www widgets
sudo chmod g+rwx widgets
(and idem with "config")

on Mac OS X, then I had an error when uploading widgets, after some
investigation I found that the reason was that the config.xml manifest
file could not be validated,. My solution is to manually comment the
lines that do the validation (on mac os x) in:


Line 203 and below...

// if (VALIDATE_XML_FILE && !$doc->schemaValidate(XML_SCHEMA_FILE))
// {
// throw new XMLValidationException(MwwException::MODEL,
// }
// else
// {


Line 887 and below

// validate the manifest.
// if (!@$doc->schemaValidate('./schema/manifest.xsd'))
// throw new XMLValidationException(MwwException::MODEL, "The XML
File isn't valid according to the XML Schema.");

Once you have done that and followed the instructions, you then need
some widgets that you can upload to the portal to install them on a
user's page. You can find a few widget examples at
(do a checkout).

All the widgets there have a .zip archive that come with their source
code, so you should be able to upload them on your local version of
the portal. Among these widgets, I think only the following ones are
of general interest:

• RssFeedReader
• WebcamsTravel
• googleMapsWidget
• translationWidget
• weatherForecast

Because all the others are linked with PALETTE experimental services
that may not be online when you try them.

For instance you can try Dn'D between the googleMapsWidget and the
weatherForecast widget (or the RssFeedReader and the translationWidget).

If you experience problems with the API Key in widgets that depends on
Google service, it is usually stored in the "config.xml" of the widget
as a preference, so you can change it and put your own key. For
instance in the googleMapsWidget:

<palette:preference name="googleMapsDeveloperKey" datatype="hidden"

Finally, if you create your own widgets and if you are on the Mac,
there is an issue when creating zip archives, some of them may not be
recognized by the library used by mywiwall to unzip it. The best thing
is to create the zip archive with the "zip" command line utility":

zip -r -j mywidget

Thanks for trying and do not hesitate to report on you experience here
in reply to this post,



Sep 4, 2009, 10:07:14 AM9/4/09
to Talk about Widgets
I just tried again and it seems that we have a problem with the
widgets we used on to
illustrate Dn'D.

First, in the googleMapsWidget, it is no longer possible to use the
map API with the existing key (*). I am not sure how to solve this
problem for a local demo, since on Google MAP API terms of services
(1) they say:

Unless you have entered into a separate written agreement with Google
or obtained Google's written permission, your Maps API Implementation
must not:
(b) operate only behind a firewall or only on an internal network
(except during the development and testing phase).

and on the form to request the API Key they say "Signing up a key for is usually the best practice, as it will work
for all subdomains and directories.", but then I do not know how to do
if I am testing on a local server with a localhost URL (or a custom
local domain name as you can see on the snapshot of the experiment I
just did with http://portal/). If anybody has a trick that would be

Second, the translation widget doesn't seem to translate anymore, but
there is no error message. It's using
service, which doesn't seem to ask an API key, but I cannot actually
figure out why the widget doesn't work...


(*) see

Reply all
Reply to author
0 new messages