PDA

View Full Version : Beta discussion


Jon Polish
03-05-2008, 08:44 AM
I see. Thank you for the clarification.

You have done a very nice job on the beta. Is there a beta forum for discussing the enhancements? I thought a full calendar would be included in the new release. Guess not.

Jon

ashwken
03-05-2008, 09:24 AM
Originally posted by Jon Polish
Is there a beta forum for discussing the enhancements?
Yes, I've wondered if this would be worthwhile.

On the beta page we're instructed to direct communications to Kinook Support, which is understandable and I'm hesitant to pollute this board with discussions that are being quickly resloved, but there are other aspects of the beta that may benefit from user discussion - public or private.

armsys
03-05-2008, 10:03 AM
Originally posted by Jon Polish
I thought a full calendar would be included in the new release. Guess not.

Jon
IMHO, it's inappropriate to discuss beta version in public against the author's wish.
Armstrong

janrif
03-05-2008, 01:17 PM
So how -- in your opinon -- would / should this be resolved?

For example, I have a couple of questions about how to use a few of the new tools & I don't want to bother the developers with that.

OTOH, I do post giltches, etc directly to support as requested.

ashwken
03-05-2008, 01:44 PM
Originally posted by armsys
IMHO, it's inappropriate to discuss beta version in public against the author's wish.
Kinook broke this off from Jon's posting (http://www.kinook.com/Forum/showthread.php?s=&threadid=3494) into it's own discussion.

kinook
03-05-2008, 02:31 PM
Feel free to discuss questions about the beta in this thread, but please continue to report bugs directly to us. Thanks.

janrif
03-05-2008, 07:32 PM
OK, what does this mean, do? Example?

"Support user-defined formatting of item title"

I assumed it meant I could format an item title but if I select item title, no formatting functions are available via menus.

Feeling dumb in Ridgefield.

ashwken
03-05-2008, 10:52 PM
Originally posted by janrif
"Support user-defined formatting of item title"
Jan,

This refers to creating a Title Expression (from Attributes) for an Item's Title.

In the beta Help file see Getting Started | Basic Concepts | Templates | Custom Item Titles.

There are some good samples to build on, but I'm a little sketchy of the syntax beyond what's provided.

quant
03-06-2008, 04:18 AM
hmmm, I'd be interested to know how to force UR to use the new rules for item title. I tried to change the template, but new rules are not applied, and the old title based on "Item title" remains.

ps:
I find the rules for creating Item Title pretty straightforward, just check the provided examples if sth is not clear

janrif
03-06-2008, 08:31 AM
Geeez... First thing I had to do was look up the word coalesce.

I mean that whole set up is so geeky as to be waaaaay over my head.

I guess.... and it is a guess... is that it's a way to create an item title by combining the data that is input into the form.

Am I close?

quant
03-06-2008, 08:55 AM
Originally posted by janrif

I guess.... and it is a guess... is that it's a way to create an item title by combining the data that is input into the form.

Am I close?
it has nothing to do with form per se. It is created from the attributes of the item (which CAN be displayed in the form)

ashwken
03-06-2008, 09:33 AM
Originally posted by quant
hmmm, I'd be interested to know how to force UR to use the new rules for item title. I tried to change the template, but new rules are not applied, and the old title based on "Item title" remains.
From the Help file - Custom Item Titles:

If the template is no longer using the Item Title attribute for the title, you can delete it from the template to avoid confusion.

AND

If items already exist for the template when you change the Title Expression value, the titles are not automatically refreshed for the existing items until you change an attribute value that is part of the Title Expression.
==========

At the Template level, if you use a Title Expression you might want to delete any value that is present for Item Title and/or remove the Item Title from the assigned Form for that Template.

Deleting the Item Title value for a Template will force a default title of "(Untitled)" for a new Item until values are present for the Attributes used in the Title Expression.

Perhaps if Item Title were read-only (EDIT: on a Form) when a value is present for Title Expression...

I'm also wondering if there isn't some way (programatically) to "Apply" a Title Expression to exisitng Items, but this assumes that all existing Items have the proper values in the Attributes that are used to create the expression - applying a Title Expression to exisiting Items could be a boon or a bust.

quant
03-06-2008, 09:40 AM
Originally posted by ashwken
... but this assumes that all existing Items have the proper values in the Attributes that are used to create the expression - applying a Title Expression to exisiting Items could be a boon or a bust.
... you can have various item titles based on what attributes are present, or just use some generic name if none, example:

trim(coalesce([Last Name] || ', ' || [First Name],[Last Name],[First Name],[Company],[Email (Work)],[Email (Home)],'(New Contact)')).

ashwken
03-06-2008, 10:37 AM
Originally posted by ashwken
...but this assumes that all existing Items have the proper values in the Attributes that are used to create the expression - applying a Title Expression to exisiting Items could be a boon or a bust.
quant,

I probably should've left this off, but I was thinking of a case where a user may have used the same field for different types of data. Granted not a good idea, but I've seen it happen.

Just trying to think of a senario where applying a Title Expression to exisitng Items would lead to unexpected problems.

ashwken
03-06-2008, 08:18 PM
Originally posted by janrif
Geeez... First thing I had to do was look up the word coalesce.

I mean that whole set up is so geeky as to be waaaaay over my head.

Jan,

It may help if you break an expression down into it's parts, for example the Title Expression for the default UR Contact Template:

trim(coalesce([Last Name] || ', ' || [First Name],[Last Name],[First Name],[Company],[Email (Work)],[Email (Home)],'(New Contact)'))

Let's look at it another way:


trim(

coalesce(
[Last Name] || ', ' || [First Name],
[Last Name],
[First Name],
[Company],
[Email (Work)],
[Email (Home)],
'(New Contact)'
)

)

trim(value), ltrim(value), or rtrim(value): trim white space from the value.

In the above example the coalesce function will return a value that will be acted upon by the trim funtion.

coalesce(value1,value2,value3,...): uses the first non-null value in the provided values, from left to right.

This is kinda like an if,then statement - if the first value returns null (blank), then try the next..., if all values return null, then use the "fall-thru" value which in this case is (New Contact).

The first value in the above coalesce statement:

[Last Name] || ', ' || [First Name],

demonstrates the text concatenation operator: || (Note: a NULL || anything equals NULL)
EDIT: this is not entirely true
it would appear that the text concatenation operator (||) also has the "power" to evaluate both sides of itself for True (non-NULL) or False (NULL).

In the above example an absence of a value for either [Last Name] or [First Name] will return a False (NULL) which will cause this first evaluation of the coalesce to fail (both sides of the operator (||) must be True) - forcing the coalesce to evaluate the next value.
===========

EDIT:
The only "power" that the Operator (||) has is to "join" two things.

And the NULL is not fully analegous to True or False, it's just NULL (blank or no value present).

In the example above:

[Last Name] || ', ' || [First Name],

if either the [Last Name] or [First Name] return NULL, then the whole evaluation fails because that's what coalesce is testing for (the first instance of a non-NULL value).

Looking at this example:

[Part Name] || coalesce(': ' || [Type], '') || coalesce(': ' || [Size], '')

if the center statement (for Type) returns NULL it does not negate the entire expression, it simply does not return a value and [Size] slides to the left (if it returns a value, is non-NULL).

My apologies if I've unecessarily muddied the waters.

It appears that the coalesce function requires a minimum of two values, the second of which could return a blank character string (nothing within in single quotes), as shown in this example:

coalesce(': ' || [Type], '')

It may help if you create a new database and construct it according to this example from the help file:

A title based on 2 or more other attributes: Assume a template contains a Part Name attribute, a Size attribute and a Type attribute and the title should be equal to Product: Type: Size. Create a template with a Title Expression value of: [Part Name] || coalesce(': ' || [Type], '') || coalesce(': ' || [Size], '').

Then create some Items from this template and see how the Title Expression works, especially if you leave out values for (Type) or (Size) in a record.

Anyway, that's as far as I've gotten.

ashwken
03-06-2008, 09:43 PM
Originally posted by quant
hmmm, I'd be interested to know how to force UR to use the new rules for item title.

Originally posted by ashwken
From the Help file - Custom Item Titles:

If items already exist for the template when you change the Title Expression value, the titles are not automatically refreshed for the existing items until you change an attribute value that is part of the Title Expression.


Wondering...

What if you created a logical attribute named (Update), and assigned it to an existing template, give this template a Title Expression and include [Update] in the expression, then search on this template and change the value in [Update] enmasse...

But then the value from (Update) becomes part of the Item Title.

Is there some way to structure the Title Expression to see a logical False from (Update) as a NULL value?

EDIT: Or, would it require first giving a value to (Update), then remove the value - in which case (Update) could just be a text field.

quant
03-07-2008, 04:01 AM
Originally posted by quant
hmmm, I'd be interested to know how to force UR to use the new rules for item title. I tried to change the template, but new rules are not applied, and the old title based on "Item title" remains.
ok, I reply to myself. The only reasonable work-around I could find is to add dummy attribute to the template with whatever default value, and add it as a first option to the name. Then just set it to empty for the items you want update your item title, and finally remove this dummy from the template completely ... works nicely, changed names for my whole library :)

janrif
03-07-2008, 08:21 AM
Originally posted by ashwken
[B] It may help if you break an expression down into it's parts, Whew. I think I understood that. In any case, I truly appreciate your taking the time to explain it to me. And your point about playing around in a new DB is well taken.

ashwken
03-07-2008, 11:40 PM
Originally posted by quant
ok, I reply to myself. The only reasonable work-around I could find is to add dummy attribute to the template with whatever default value, and add it as a first option to the name. Then just set it to empty for the items you want update your item title, and finally remove this dummy from the template completely ... works nicely, changed names for my whole library :)
Maybe something like this:

Create an Atrribute (Update_Title, Category = Update), then Insert it in the IA Pane for the Template of the Items you wish to re-Title. Leave the value for (Update_Title) blank.

Create the desired Title Expression for the Template and add this statement to the end:

|| trim(coalesce([Update_Title], ''))

Search on the Template and select records, goto the (Update_Title) attribute and add the space character, the selected Items will be re-Titled.

If at some point you want to re-Title again, repeat the above but remove the space character (or add another, they'll be "trimmed" out).

EDIT: I wonder if it would be worthwhile to include this when creating new Templates, or should re-Title come from within UR, or is this need just for the intial transition to the new capabilties?

ashwken
03-07-2008, 11:47 PM
Originally posted by janrif
Whew. I think I understood that. In any case, I truly appreciate your taking the time to explain it to me. And your point about playing around in a new DB is well taken.
I've done some editing of that earlier post, maybe makes things more clear - or not.

I'm kinda flying-blind on this myself, having to translate what I know from dbase. Maybe someone else can add some insights.