BoltWire 2.73 out...

3 views
Skip to first unread message

The Editor

unread,
Apr 2, 2009, 2:45:19 PM4/2/09
to bolt...@googlegroups.com
Yep, got another quick release out. I probably would have done 3.xx
today, but got stuck on a tricky little bug report by Linly and it
turned out to open up some cool new possibilities. So here's another
release. 3.xx should be out any time. Just one easy under-the-hood
change left. Is this our last 2.xx release???

From the changelog:
* Some fixes to templating so count, prev and next vars work. Also
fixes a conflict between the count and sort parameters.
* Added a {+field} and {+value} template variable to the info report
function, and an index template variable for templates in general.

Cheers,
Dan

Linly

unread,
Apr 4, 2009, 9:46:05 PM4/4/09
to BoltWire
Bug report:

Hi Dan, Sorry for the late report. I just noticed that the [(info
report)] is half-broked at 2.73. It can output only one result, no
matter how many matchings. Here is the code:

<code>
[(info report if="inlist {info.{p1}.{p2}::{+p}} ezTodo" target=info.
{p1}.{p2} sort=lastmodified template=eztodo#eztodo)]
</code>

The info report worked in 2.72, but failed in 2.73.

Cheers, linly

The Editor

unread,
Apr 5, 2009, 9:11:55 AM4/5/09
to bolt...@googlegroups.com
I don't know what your info data page looks like, but my guess is you
have the terms in the inlist conditional reversed.

Try if="inlist ezTodo {info.{p1}.{p2}::{+p}}"

Also, if there are spaces in the info var values, you will want to add
quote marks:

if="inlist 'ezTodo' '{info.{p1}.{p2}::{+p}}'"

Remember, in order to work the info values must be a CSV separated list. Like

some.page: one,two,ezTodo,three

Finally, the inlist conditional is case sensitive, so it will fail on eztodo.

Cheers,
Dan

Linly

unread,
Apr 5, 2009, 11:54:18 AM4/5/09
to BoltWire
Hmm, not working.

The info page is something like this:

writing.blog.1218975513: ezDone
writing.blog.1219136897: ezDone
writing.blog.1219403337: ezDone
writing.blog.1222142971: ezDone
writing.blog.1222436683: ezDone
writing.blog.1222620533: ezDone
writing.blog.1223031493: ezDone
writing.blog.1223563576: ezDone
writing.blog.1224152764: ezTodo
writing.blog.1224675632: ezDone
...

I change the code from "inlist" to "equal"

[(info report if="equal 'ezTodo' {info.{p1}.{p2}::{+p}}" target=info.
{p1}.{p2} sort=lastmodified template=eztodo#eztodo)]

This code worked in 2.72, and failed in 2.73. In 2.73, no matter how
many pages matched, it output only one result.

Cheers, linly

The Editor

unread,
Apr 5, 2009, 1:26:08 PM4/5/09
to bolt...@googlegroups.com
Oh no. A major problem. To get the info function to tap into the
templating engine, I really wanted to have the field be the page
names, and the value the index of the array sent out. So I flipped it.
But when the values are the same, that will crunch out the duplicates
(all must have unique indexes). Not sure how to fix it.

One is to not flip the array (we can use {+field} and {+value}, but
not {+p}. Actually, {+p} would refer now to the value, and would give
you access to {+p1}, {+p2} automatically. Just what you have been
wanting for awhile. But we'd lost access to page parts for the field
(like writing, blog or timestamp) without some other special code.

There might be other options I'm not thinking of. Open to suggestions.
Will probably wait a bit to fix this till I'm sure I have a good
solution. Sorry I don't have an instant answer Linly! :) So much for
a flawless 3.xx launch...

Cheers,
Dan


2009/4/5 Linly <linl...@gmail.com>:
Reply all
Reply to author
Forward
0 new messages