Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
ExactOnline for coreBOS
#11
Please take a look at my manifest file, as I'm in the process of creating it.

Some things I have questions about so far:

PHP Code:
<generatedtype>1</generatedtype
I don't know what this indicates.
PHP Code:
<fieldlabel>ExactOnline Record No</fieldlabel
Will this result in my language file have to have:
PHP Code:
'ExactOnline Record No' => 'Translation for this' 
Presence is set to 0, also in database. But the field is there, why?
PHP Code:
<presence>0</presence
What is:
PHP Code:
<selected>0</selected
Which sequence, should I increment every field?
PHP Code:
<sequence>1</sequence
What is:
PHP Code:
<displaytype>1</displaytype
And:
PHP Code:
<info_type>BAS</info_type
Am I doing this correct, should I worry about capitals? What does it refer to?
PHP Code:
                    <entityidentifier>
        <
entityidfield>ExactOnline</entityidfield>
        <
entityidcolumn>ExactOnline</entityidcolumn>
</
entityidentifier
Is this the place for my postinstall events? And can I point to a file using the 'ExactOnlineAjax' way?
PHP Code:
    <events></events
I'd like to set a cron here:
PHP Code:
<crons></crons
Reply
#12
> generatedtype: this is an internal indicator that is set for custom fields, I don't think it is used anywhere though

> fieldlabel: correct, I usually put here the same fieldname, that obligates me to translate all labels which is good for other translators

> presence: is used to indicate if the field is visible or not, it is activated in Settings > Fields Access

> selected: I don't think this one is used either

> sequence: +1

> displaytype:
1: normal, 2: readonl, 3: only on create, 4: internal

> info_type: not used anymore
Joe
TSolucio
Reply
#13
(12-03-2015, 03:21 PM)Guido1982 Wrote: Am I doing this correct, should I worry about capitals? What does it refer to?

PHP Code:
                    <entityidentifier>
        <
entityidfield>ExactOnline</entityidfield>
        <
entityidcolumn>ExactOnline</entityidcolumn>
</
entityidentifier

This is wrong. Capitals ARE important, this has to be the exact fieldname and columnname of the LINK FIELD, the link field is the special field in your module that the user will click on to go to the detail view or select a record in the popup. So this piece of XML should be on only one field or two at most.

This is the field you will fill in in the $list_link_field variable in your module
Joe
TSolucio
Reply
#14
> events

Now these are the modules events when working, not when installing. Aftersave events and the like.
Post install events are hard coded in the module's vtlib_handler method

> crons

https://github.com/tsolucio/corebos/blob...t.xml#L247
Joe
TSolucio
Reply
#15
Quote:This is wrong. Capitals ARE important, this has to be the exact fieldname and columnname of the LINK FIELD, the link field is the special field in your module that the user will click on to go to the detail view or select a record in the popup. So this piece of XML should be on only one field or two at most.

Ah OK, I think I understand. So for instance if I were to be creating the products module, I would use 'entityfield' to indicate the name of the field in the 'vtiger_fields' table, and 'entityidcolumn' to indicate the columnname in the main module table (so vtiger_products = 'productname' in this example).
Reply
#16
correct
Joe
TSolucio
Reply
#17
I'll dig deeper into the events when I have the time, I know I have to understand them better.

In the meantime, do you have a working example anywhere of creation of a record from a workflow task anywhere? My purpose is this: When an account, product or invoice is saved, the workflow task fires to send it to exact. Exact will return a response that indicates if it all went OK. I would like to use this response to create a record in my ExactOnline module. This way a user can check if there were any errors and what went wrong (if anything). Of course I could just create a row in the table, but then I wouldn't use the internal CRMentity table mechanism. Not a problem for me, since I don't require any functionality but I would like to have the module as neatly as possible.

I was thinking I just need the user ID, the rest of the updating of the crmentity table I can hardcode but I don't know if any other tables need to be updated.
Reply
#18
Look at the CreateTodo and CreateEvent workflow tasks:

https://github.com/tsolucio/corebos/blob...ntTask.inc

those do that using the webservice infrastructure which is the easiest way to do it.

More or less like this HelperScript:

https://github.com/tsolucio/corebos/blob...ortcsv.php
Joe
TSolucio
Reply
#19
BTW: Creating the record in the module with the result as a log of events is an ideal solution!
Joe
TSolucio
Reply
#20
Been under the weather for a while, but back on it. I'm studying the example now, but a little about the webservice, should I interpret this as kind of a 'coreBOS API' for other applications to tie in to coreBOS?

I'm going to start a new subject for this since I know so little about it and the topic seems extensive,
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)