Relationship between various names

chriso0258 25 Nov, 2012
Hello,

When using ChronoForms and ChronoConnectivity, there are a number of names used:

Form name
Form app
Connection name
Connection app

Would you clarify for me the specific purpose and relationship each of these has in relation to each other? For example, under the Forms App box in ChronoConnectivity, it says,

The connected forms App name, this is the Chronoforms app name under which your forms have to exist in order to be used with this connection



So, if I have 3 forms named form1, form2, and form3 and give them the form app name of business_forms, and then in ChronoConnectivity put business_forms in the form apps box for a connection named business_production, how do the forms know to use this connection when I submit one of these forms?

Thanks in advance for the clarification.
GreyHead 25 Nov, 2012
Hi Chris,

Here's how I understand it - though this may not be 100% accurate . . .

Form name / Connection name

Each individual form in ChronoForms and listing in ChronoConnectivity has a name. That's used as the identifier for the form/listing and typically appears in the URL to call it.

Form app

Once you start building form-based applications which may well involve several forms and maybe a listing or two then it gets useful to be able to find them easily. So Max introduced the Form app as a way of grouping related forms together. You can set the 'Form App' in the Form Applications tab (click the form name link in the Forms Manager to get there).

Once you have set a Form App the form will no longer appear in the Forms Manager listing unless you select the App name in the Forms App drop-down above the listing.

Connections App

This provides a parallel way of grouping ChronoConnectivity listings (or connections) and is set under the General | Advanced tab.

AND the Apps are used to link ChronoConnectivity listings to related forms by entering a Forms App name in the same tab. This defaults to ChronoConnectivity but it's recommended that you add a more specific App Name if you are doing anything other than a simple application.

To answer your specific question, I don't think that the 'forms' do know to use the listing; it's the listing that can only access the form with the matching name.

I think that's it.

Bob
chriso0258 25 Nov, 2012
Thank you Bob. That helps. I'm still having trouble connecting to a table. Here's what I have, (you can view it at http://ccchesstest.cumberlandcountychess.org/index.php?option=com_chronoforms&view=form&Itemid=800).

The initial form has a drop down menu selection to select a category. It has these parameters:
Form name: library_home
Form App: libraryforms
Form preview consists of a custom element, a drop down selection element, and a submit button.
Form events are onLoad - Show HTML; onSubmit - Debugger. Here is the debugger data:

Array
(
    [option] => com_chronoforms
    [view] => form
    [Itemid] => 800
    [chronoform] => library_home
    [event] => submit
    [category] => 17
    [submit] => Submit
    [2c7c3c22ac1709e4c84604b00416b23d] => 1
)


The user is supposed to select a category. That category parameter is supposed to be sent to a ChronoConnectivity app also called library_home (I've tried using a different name but get the same results as explained below). Here are the parameters for this app:

Connection name: library_home
Connection App: libraryapps
Forms App: libraryforms
Front Form: librarydisplaybks (This form is to be used when the user clicks on a listing provided by the library_home connection app.)

What is happening is that when I select a category and hit submit, all I get is the Debugger information, even though the correct category parameter is being sent. No errors are given so I can only assume that for some reason, I'm not connecting to the Connectivity app.

What am I doing wrong or missing? It's probably something really easy but I can't see the forest through the trees.

Thanks for your help.
Max_admin 08 Dec, 2012
Hi,

A bit late!

How do you process the category in the connection ? did you use in the SQL box ?

Regards,
Max
Max, ChronoForms developer
ChronoMyAdmin: Database administration within Joomla, no phpMyAdmin needed.
ChronoMails simplifies Joomla email: newsletters, logging, and custom templates.
chriso0258 15 Dec, 2012
Hello,

The form is not associated with any table since it is only a drop down menu. In the onSubmit event I have a Chrono Connectivity Task with the following configurations.

[attachment=0]connectivity_app.png[/attachment]

When the user clicks the submit button, the category is being passed because the correct filter is working. In the library_category app just called, the front editing tab is configured so that the form librarydisplaybks is used when a user clicks on a title. However, when I click on a title, I get the following error:

Connection name can NOT be empty!



Do I have something misconfigured?

Thanks for your help.
chriso0258 15 Dec, 2012
Hello again.

Sorry for a double post but I wanted to provide some more information. I've found the root of the issue but not sure how to solve it.

If you look at the site http://ccchesstest.cumberlandcountychess.org/ and click on the library link I've set up two examples.

When you click on the "Select by Category" menu option which brings up the drop down menu form, the last part of the URL is
view=form&Itemid=800


When you click on the "Data List connection" menu option which connects directly to the library_category connectivity app, the last part of the link is
view=connection&Itemid=837


So, when the category is passed using the select category method, even though the library_category connectivity app is being called and the correct listing is being displayed, when you click on a title (and the librarydisplaybks form is supposed to be called to display the listing) the connection name is not being passed because it's not there in the URL because the URL says "view=form&Itemid=800" instead of view=connection&Itemid=837 which is the ID for the library_category connectivity app.

So, I could create a bunch of menu items displaying the various categories and call the connectivity app directly, but this seems like a lot of trouble when a drop down menu accomplishes the same thing with less work. However, I want to be able to display the book details that are displayed from the librarydisplaybks form (configured in the connectivity app front edit tab) because I hope to add a checkbox so the visitor can select a book to check out.

I apologize for very wordy post. Can you suggest a method to help me accomplish what I would like to do?

Thank you very, very much for your help.
GreyHead 17 Dec, 2012
Hi Chriso258,

I can see the problem, I have no idea what the technical solution is; I need Max to dig into that. My immediate response here would be to use a custom listing and hand-code the links so that I had control over them :-(

Bob

PS I'd probably also put the Category selector at the top of the listing rather that in a separate page, that might also simplify the coding.
Max_admin 17 Dec, 2012
Hello,

I think I could understand this and there are 2 possible simple solutions:

#1- just make sure that the submit url is the one with "view=connection&Itemid=837", since its a simple form for selection, then you can change the form "submit url" setting to be the same as your connection link, that would submit the selected category to your connection's page directly.

#2- use a custom listing to force the connection name into the link as Bob has already suggested.

Regards,
Max
Max, ChronoForms developer
ChronoMyAdmin: Database administration within Joomla, no phpMyAdmin needed.
ChronoMails simplifies Joomla email: newsletters, logging, and custom templates.
chriso0258 18 Dec, 2012
Hello Max and Greyhead

Sorry, but I need just a little more clarification. Are you suggesting that I delete the drop down menu from CF and use a custom code to code the drop down menu as well as the form submission? I can do that, but I just wanted to be sure you aren't referring to some feature in CF that I'm missing and/or need to change when you say I need to change the submit url. I couldn't find anything in the form for changing the url.

Many thanks.
GreyHead 18 Dec, 2012
Hi Chris0258,

There are a couple of ways to change the Submit URL in a ChronoForm, both on the form General tab (Click the Form Name link in the Forms Manager to access it).

a) You can set Relative URL to Yes or No. Set to Yes it uses the URL of the page in which the form was displayed e.g. an article page; set to No it uses the standard ChronoForms URL. In either case ChronoForms will add on the &event=submit parameter.

b) On the same tab you can set a Submit URL, this will override any other URL setting and be set as the 'action' URL for the form. It's most often used to submit a form some other site or page but will work as well to force a particular ChronoForms URL to be used.

c) You can use JavaScript to change the URL in the browser - can be useful if you want to use the form in different contexts and change the action URL to match.

Bob
This topic is locked and no more replies can be posted.