[pmwiki-users] new zap release...

The Editor editor at fast.st
Fri Dec 22 04:31:32 CST 2006


On 12/21/06, DaveG <pmwiki at solidgone.com> wrote:
> Some problems on the site:
>  - Some areas of the site still require login. Snipets in particular,
> also Documentation.

I don't think this is correct.  I've checked and doublechecked.  Can't
find anything still requiring logins...  Did you perhaps double click
on a link?  If so--that calls up the edit window.  Maybe I should
change that.  It's just very convenient....

>  - I actually can't login with Guest/test, nor can I register.

My mistake.  I upgraded the Register Snippet, but not the live
Register form.  It should be working now.  Also, somehow the password
was somehow delete on the Guest account.  It should be working again,
with that account a bit better locked down.

> I'm trying to get some basics working with Zap:
>  - Getting a bunch of "Warning: Invalid argument supplied for foreach()
> in C:\temp\pmwiki-2.2.0-beta17\cookbook\zap.php on line 103" errors on a
> basic PmWiki install, only cookbook is Zap. Looks like this may be a
> known issue.

No this is a new error--had to do with the part of the code that
checks for other enabled modules. Only occurs when no other modules
are installed.  Is now fixed and the updated download is up.

>  - What I'm most struggling with is displaying data stored on another
> page. How are those variables referenced?

You refer to them as any other text variable.  That is

{$:field} or
{Group/Name$:field}

Text variables can be referenced in a pagelist like this:

{=$:field}

>  - It appears that you wouldn't store multiple records with the same
> field names in a single page. Thus, lists would be constructed by
> storing 'records' in separate pages, and displaying the records in list
> format via pagelist. Is that correct?

That's right, normally each 'record' would be a different page in a
group.  Then use a pagelist limited to that group, with whatever
criteria you want, and it can pull up a table or 'report' of any kind.

> Some suggestions:
>  - provide basic examples.
>    - Show how to display data from another page.
>    - Point out somewhere early on that Zap relies heavily on pagelists,
> and provide some examples.
>
>  - I remember seeing a quote: "pages can be treated like db records,
> with individual fields in them". If this is true, it helped put things
> into context, and should be on the site.

These are some good suggestions. I've added quite a bit of
documentation already.  But I could add a tutorial on retrieving and
displaying data.  If you have other suggestions for improving the
documentation, let me know.  I tried to update it all for the new zap
but some things may still be unclear.  There's a lot of information
there to update...  (Took more time than updating the code!)

>  - Context is important. Fox is very simple to understand as it sticks
> with data and display templates for displaying data. Zap's concepts are
> not well defined in the docs.

Fox is simpler, because it does one thing well, (Hans always does good
work!)  Basically, it inserts templated page content (either append or
prepend) into another page.  The reason zap is more complex, is it is
a toolbox with building blocks you have to assemble yourself.
(Actually, it has been able to do the equivalent of Fox back from when
it was still FASTdata--I called it logging, but never used it much as
I prefer a data-driven approach).

In my opinion, there are only two reasons one would want to use zap:

1) if it happens to have some specific feature you can't find a ready
made tool for.  If there is a specific tool--use it. If not, hopefully
zap has a snippet you can just cut and paste.

2) if you want a rapid development IDE.  Once you learn how zap works
you can create very complex applications quickly. There's a learning
curve--but once you get the hang of it, you do a LOT without ever
having to touch php. Just hobble together a form. If you do a lot of
custom coding, learning zap could save you much time in the future.

Hope this helps!

Cheers,
Dan




More information about the pmwiki-users mailing list