I want to use the description of the application - as seen in the list of applications. How can I use that?
It’s not directly available as it is stored in the repository and you cannot access that from a live application. If you use the security model you can use the applications table to store and retrieve that data.
I am using the security module. I know that I can get this information each time an application is used. I am looking for something to run once (kind of like the sync app utility) and store the information in the sec_apps table.
[my_project_name] = $this->Ini->nm_grupo;
[my_project_version] = $this->Ini->nm_app_version;
[my_app_name] = $this->Ini->nm_nome_apl;
[my_code_name] = $this->Ini->nm_cod_apl;
That would be nice to even have more info. I wanted to give each App unique ID so I can post this ID on the Header. This way when there is a problem with App user can easily refer to the specific screen by reading/giving me the header. We have used something like in the past with desktop Apps and it worked very well. With SC it is very hard to implement. I guess if Scriptaces would open to 3rd party components and create some kind of API to connect other tool it would help a lot and bring more customers but it seems that they do not see this as an advantage because we begging for something like that for years and no change.
Very easy to do with SC using a global variable. Put whatever you want in the description field. In onApplicationInit put this code: [my_app_name] = $this->Ini->nm_nome_apl;
Goto global variables and make it OUT. Go to layout > header and put that global variable in the title field. [glo_var]
It would be much easier if SC would kindly include the description element in its $array_data.
Each of the applications found in the …/_lib/_app_data directory has the $array_data constructed as follows:
$arr_data = [];
$arr_data[‘sc’] = “v9”;
$arr_data[‘sc_version’] = “9.9.024”;
$arr_data[‘sc_build’] = “10”;
$arr_data[‘prod_version’] = “1.0.000”;
$arr_data[‘prod_build’] = “3”;
$arr_data[‘initial’] = “application.php”; // script name
$arr_data[‘group’] = “project”; // Project or Group name
$arr_data[‘apl’] = “application”; // Application name
$arr_data[‘status’] = “SIM”;
$arr_data[‘type’] = “cons”;
$arr_data[‘friendly_url’] = “application”; // // Friendly application name
$arr_data[‘md5’] = “LigMd5”;
-
It would only be necessary to have another element in the array:
$arr_data[‘description’] = “This is my description, understandable by the user”
-
If they MODIFY the process that generates this array, to add this element.
-
AND THE DESCRIPTION FIELD was ADDED in the inserts that update the sec_apps and sec_groups_apps tables in ‘app_sync_apps’.
It would be fixed, but it seems like a lot of work…
I agree, @Intercore answer is the proper solution, but NM seem to ignore this kind of simple improvement.
As a workaround, I report (in the IDE) all of the apps
Copy all of the apps using ctrl+C
Open an excel blank file and paste the contents into 2 columns
Save as a csv file
Import said file into a NEW table I created so that all of the descriptions in the IDE are now in the NEW sql table and available for use.
It’s a pain in the A** as you have to manually update new ones(or repeat the process) when things change, but at least you can use the descriptors from the IDE.
The fact they are not already in the above tables is that the SC developers use the friendly URL instead. I don’t know about you, but a friendly URL is NOT the same as a description of an app. Why they didn’t export all of the IDE columns seems to me to be a fault.
I’ve not experimented with the Friendly URL in the IDE because I worry it is doing more than just holding a description, the help text is not specific enough and I don’t want to inadvertently break stuff!!!