Adding support for meta-information to entity and field definitions

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

Adding support for meta-information to entity and field definitions

Jacopo Cappellato-3
I would like to add support for meta data information to entity and  
field definitions: for example, define an entity as a dimensional  
entity (for business intelligence analysis) or a fact entity, or a  
star schema; or define a field as "additive" (for drill down reports)  
etc...
Of course this information will not affect in any ways the table in  
the database, it will just be available as an entity additional  
information.
For example, in the bi component we have a screen that shows you all  
the entities that are star schemas: right now this is done with an  
hack using the entity package name (following a naming convention)...  
I would like to use metadata information for this.

The entity definition could be similar to:

     <entity entity-name="SalesInvoiceItemFact" package-
name="org.ofbiz.bi.fact.accounting" title="Sales Invoice Item Fact">
         <description>A transaction fact entity for invoices.</
description>
         <metadata>fact entity</metadata>
         <metadata>accounting</metadata>

         <field name="quantity" type="floating-point">
             <description>Quantity invoiced. From  
InvoiceItem.quantity</description>
             <metadata>additive</metadata>
             <metadata>...</metadata>
         </field>
         ...
     </entity>

I am not sure if "metadata" is the correct word... probably not (any  
suggestion is much appreciated), maybe something like "keyword" could  
be good, I don't know.

What do you think?
Should I go on and implement this?

Jacopo


smime.p7s (3K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Adding support for meta-information to entity and field definitions

David E Jones

If I understand this right some other words to consider might be "tag"  
or "label" or the like instead of metadata. Technically an entity  
definition is itself "meta data" because it describes the data. In a  
way this would be a sort of "meta meta data" because it is describes  
the stuff that describes the data.

For this specific need maybe something less generic might actually  
work better. Are there really other types of tags that we would want  
to associate with the entities, or should we just stick with something  
BI-specific. Also, for the BI need would we need just one tag, or  
multiple tags for a given entity? It might also be nice to have the  
possible values, or at least some of them, built into the XSD to keep  
them consistent and self-documenting.

I guess what I'm thinking after all this is that a simple attribute  
like "olap-type" or something with the options in the XSD might be  
both easier to use (self-document, less error-prone) and better fit  
the problem.

-David



On Jul 27, 2008, at 10:21 AM, Jacopo Cappellato wrote:

> I would like to add support for meta data information to entity and  
> field definitions: for example, define an entity as a dimensional  
> entity (for business intelligence analysis) or a fact entity, or a  
> star schema; or define a field as "additive" (for drill down  
> reports) etc...
> Of course this information will not affect in any ways the table in  
> the database, it will just be available as an entity additional  
> information.
> For example, in the bi component we have a screen that shows you all  
> the entities that are star schemas: right now this is done with an  
> hack using the entity package name (following a naming  
> convention)... I would like to use metadata information for this.
>
> The entity definition could be similar to:
>
>    <entity entity-name="SalesInvoiceItemFact" package-
> name="org.ofbiz.bi.fact.accounting" title="Sales Invoice Item Fact">
>        <description>A transaction fact entity for invoices.</
> description>
>        <metadata>fact entity</metadata>
>        <metadata>accounting</metadata>
>
>        <field name="quantity" type="floating-point">
>            <description>Quantity invoiced. From  
> InvoiceItem.quantity</description>
>            <metadata>additive</metadata>
>            <metadata>...</metadata>
>        </field>
>        ...
>    </entity>
>
> I am not sure if "metadata" is the correct word... probably not (any  
> suggestion is much appreciated), maybe something like "keyword"  
> could be good, I don't know.
>
> What do you think?
> Should I go on and implement this?
>
> Jacopo
>

Reply | Threaded
Open this post in threaded view
|

Re: Adding support for meta-information to entity and field definitions

Jacopo Cappellato-3

On Jul 27, 2008, at 9:57 PM, David E Jones wrote:

>
> If I understand this right some other words to consider might be  
> "tag" or "label" or the like instead of metadata. Technically an  
> entity definition is itself "meta data" because it describes the  
> data. In a way this would be a sort of "meta meta data" because it  
> is describes the stuff that describes the data.
>
> For this specific need maybe something less generic might actually  
> work better. Are there really other types of tags that we would want  
> to associate with the entities, or should we just stick with  
> something BI-specific. Also, for the BI need would we need just one  
> tag, or multiple tags for a given entity? It might also be nice to  
> have the possible values, or at least some of them, built into the  
> XSD to keep them consistent and self-documenting.
>
> I guess what I'm thinking after all this is that a simple attribute  
> like "olap-type" or something with the options in the XSD might be  
> both easier to use (self-document, less error-prone) and better fit  
> the problem.
Thanks David, this would be enough for what I need to do; I just need  
a similar attribute for the "entity" and "view-entity" elements:  
should I use the same name ("olap-type") of the attribute of the  
"field" element?
But maybe olap-type is a good name also for the entity attribute (with  
values: "fact", "star-schema", "dimension").

What do you think?

Jacopo

>
>
> -David
>
>
>
> On Jul 27, 2008, at 10:21 AM, Jacopo Cappellato wrote:
>
>> I would like to add support for meta data information to entity and  
>> field definitions: for example, define an entity as a dimensional  
>> entity (for business intelligence analysis) or a fact entity, or a  
>> star schema; or define a field as "additive" (for drill down  
>> reports) etc...
>> Of course this information will not affect in any ways the table in  
>> the database, it will just be available as an entity additional  
>> information.
>> For example, in the bi component we have a screen that shows you  
>> all the entities that are star schemas: right now this is done with  
>> an hack using the entity package name (following a naming  
>> convention)... I would like to use metadata information for this.
>>
>> The entity definition could be similar to:
>>
>>   <entity entity-name="SalesInvoiceItemFact" package-
>> name="org.ofbiz.bi.fact.accounting" title="Sales Invoice Item Fact">
>>       <description>A transaction fact entity for invoices.</
>> description>
>>       <metadata>fact entity</metadata>
>>       <metadata>accounting</metadata>
>>
>>       <field name="quantity" type="floating-point">
>>           <description>Quantity invoiced. From  
>> InvoiceItem.quantity</description>
>>           <metadata>additive</metadata>
>>           <metadata>...</metadata>
>>       </field>
>>       ...
>>   </entity>
>>
>> I am not sure if "metadata" is the correct word... probably not  
>> (any suggestion is much appreciated), maybe something like  
>> "keyword" could be good, I don't know.
>>
>> What do you think?
>> Should I go on and implement this?
>>
>> Jacopo
>>
>


smime.p7s (3K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Adding support for meta-information to entity and field definitions

David E Jones


On Mon, 28 Jul 2008 21:22:07 +0200, Jacopo Cappellato <[hidden email]> wrote:

>
> On Jul 27, 2008, at 9:57 PM, David E Jones wrote:
>
>>
>> If I understand this right some other words to consider might be
>> "tag" or "label" or the like instead of metadata. Technically an
>> entity definition is itself "meta data" because it describes the
>> data. In a way this would be a sort of "meta meta data" because it
>> is describes the stuff that describes the data.
>>
>> For this specific need maybe something less generic might actually
>> work better. Are there really other types of tags that we would want
>> to associate with the entities, or should we just stick with
>> something BI-specific. Also, for the BI need would we need just one
>> tag, or multiple tags for a given entity? It might also be nice to
>> have the possible values, or at least some of them, built into the
>> XSD to keep them consistent and self-documenting.
>>
>> I guess what I'm thinking after all this is that a simple attribute
>> like "olap-type" or something with the options in the XSD might be
>> both easier to use (self-document, less error-prone) and better fit
>> the problem.
>
> Thanks David, this would be enough for what I need to do; I just need
> a similar attribute for the "entity" and "view-entity" elements:
> should I use the same name ("olap-type") of the attribute of the
> "field" element?
> But maybe olap-type is a good name also for the entity attribute (with
> values: "fact", "star-schema", "dimension").
>
> What do you think?
>
> Jacopo
>
>>
>>
>> -David
>>
>>
>>
>> On Jul 27, 2008, at 10:21 AM, Jacopo Cappellato wrote:
>>
>>> I would like to add support for meta data information to entity and
>>> field definitions: for example, define an entity as a dimensional
>>> entity (for business intelligence analysis) or a fact entity, or a
>>> star schema; or define a field as "additive" (for drill down
>>> reports) etc...
>>> Of course this information will not affect in any ways the table in
>>> the database, it will just be available as an entity additional
>>> information.
>>> For example, in the bi component we have a screen that shows you
>>> all the entities that are star schemas: right now this is done with
>>> an hack using the entity package name (following a naming
>>> convention)... I would like to use metadata information for this.
>>>
>>> The entity definition could be similar to:
>>>
>>>   <entity entity-name="SalesInvoiceItemFact" package-
>>> name="org.ofbiz.bi.fact.accounting" title="Sales Invoice Item Fact">
>>>       <description>A transaction fact entity for invoices.</
>>> description>
>>>       <metadata>fact entity</metadata>
>>>       <metadata>accounting</metadata>
>>>
>>>       <field name="quantity" type="floating-point">
>>>           <description>Quantity invoiced. From
>>> InvoiceItem.quantity</description>
>>>           <metadata>additive</metadata>
>>>           <metadata>...</metadata>
>>>       </field>
>>>       ...
>>>   </entity>
>>>
>>> I am not sure if "metadata" is the correct word... probably not
>>> (any suggestion is much appreciated), maybe something like
>>> "keyword" could be good, I don't know.
>>>
>>> What do you think?
>>> Should I go on and implement this?

Unless someone else sees an issue or opportunity it looks fine to me...

-David