Hello,

I'm trying to add a button to contact page details (Contacts_FormPage), I'm currently using Creatio on cloud version 8.1.3.6734 with Freedom UI
I followed these steps:

  1. Navigated to Settings > Advanced Settings
  2. Created a new package, and added ProductCore dependency
  3. Created a Replacing view model with the code name ContactPageV2
  4. Added the code:
  5. define("ContactPageV2", [], function() {
       console.log("ContactPageV2 module loaded");
       return {
           methods: {
               onGenerateLinkClick: function() {
                   console.log("Generate Link button clicked");
               }
           },
           diff: [
               {
                   "operation": "insert",
                   "name": "GenerateLinkButton",
                   "parentName": "ActionButtonsContainer",
                   "propertyName": "items",
                   "values": {
                       "itemType": Terrasoft.ViewItemType.BUTTON,
                       "caption": "Generate Link",
                       "click": {"bindTo": "onGenerateLinkClick"}
                   }
               }
           ]
       };
    });
  6. After saving, I compiled the package
  7. Emptied the cache of the browser, but nothing is showing not even the console log "ContactPageV2 module loaded"

 

Please help as I'm not sure what I'm doing wrong or what steps am I missing (I'm a newbie to this platform).
Thank you in advance.

Like 0

Like

2 comments
Best reply

Creatio has two types of pages, Freedom UI pages and classic pages. They are completely separate/different pages. The ContactPageV2 is the classic page, not the Freedom UI page which is Contacts_FormPage

To add the button that executes your code on the Freedom UI page:

  1. Go to the contact page, click the small gear on the top right corner of the page to edit
  2. Save it to make a copy in your package (see the Side Note at end of article here to force the save to go into your package, if needed)
  3. Add a button to the page where you want it
  4. Open the code for the page (clicking one of the icons at the top right of the page designer)
  5. Add the request handler for the button (the code that will execute when clicked) following steps here: https://customerfx.com/article/adding-a-button-to-execute-custom-code-o…

Ryan

Creatio has two types of pages, Freedom UI pages and classic pages. They are completely separate/different pages. The ContactPageV2 is the classic page, not the Freedom UI page which is Contacts_FormPage

To add the button that executes your code on the Freedom UI page:

  1. Go to the contact page, click the small gear on the top right corner of the page to edit
  2. Save it to make a copy in your package (see the Side Note at end of article here to force the save to go into your package, if needed)
  3. Add a button to the page where you want it
  4. Open the code for the page (clicking one of the icons at the top right of the page designer)
  5. Add the request handler for the button (the code that will execute when clicked) following steps here: https://customerfx.com/article/adding-a-button-to-execute-custom-code-o…

Ryan

Thank you! 
I was able to add it following your explanation. 
And yes I need to add it to my custom package since I'm trying to create a connector that can be used by anyone later on.
That was very insightful, thanks again!

Show all comments

Hello,

I have been asked to help with an environment built within the default package of "Custom."

It seems that the previous user did not create a new prefix or package to build out their new objects and fields but rather kept the default prefix of "Usr" and package of, "Custom."

 

As far as I know, they have kept all newly added elements in the environment without external factors for additional dependent packages.

I have attempted to transfer the elements in the configuration section and have accomplished that, but of course, I will run into compilation errors and dependency issues.

My end goal is to upload this project environment to the marketplace safely. So my question is this:

How can I safely transfer the elements of the default "Custom" Package to a new package that can ultimately be exported for the marketplace?

Thank you in advance for any help someone can provide.

Like 2

Like

1 comments

Hello,
 

By default, the "Custom" package is the highest in the package hierarchy and depends on all packages below it. If you want to transfer all schemas from the Custom package to another package, you need to make sure that the new package has dependencies on the required packages.
If the new package has the necessary dependencies, you will be able to successfully transfer the schemas and avoid compilation errors.
The problem is that such a package will likely have many dependencies on other packages (depending on which type of Creatio product it was developed on (for example, Studio has fewer packages, so there will be less dependencies on packages that may not be present in other Creatio environments)). If you want to publish this as an app on the Creatio Marketplace, we recommend following the guidelines described in the Creatio Academy article.
 

Thank you.

Show all comments

It looks like there are some duplication in localization, but it is hard to define the source of error.

2024-04-02 09:47:54,132 [278] ERROR INFRADIM\bpm_db_admin ConfigurationBuild LogErrors - System.ArgumentException: An item with the same key has already been added.

   at System.ThrowHelper.ThrowArgumentException(ExceptionResource resource)

   at System.Collections.Generic.Dictionary`2.Insert(TKey key, TValue value, Boolean add)

   at Terrasoft.Core.SchemaResourceManager.PrepareLoadedResources(IEnumerable`1 resources, IEnumerable`1 schemaHierarhy, IEnumerable`1 cultures)

   at Terrasoft.Core.SchemaResourceManager.LoadRuntimeResourcesForSchema(Dictionary`2 localResourceSets, IEnumerable`1 schemaHierarchyIds)

   at Terrasoft.Core.SchemaResourceManager.LoadRuntimeResourcesForSchema(Dictionary`2 localResourceSets)

   at Terrasoft.Core.SchemaResourceManager.InternalGetResourceSet(CultureInfo cultureInfo, Boolean createIfNotExists, Boolean tryParents)

   at Terrasoft.Core.SchemaResourceManager.GetString(String name, CultureInfo culture)

   at Terrasoft.Common.LocalizableValue`1.GetCultureValue(CultureInfo culture, Boolean throwIfNoManager, Boolean useCultureFallback)

   at Terrasoft.Common.LocalizableValue`1.LoadCultureValues(IEnumerable`1 culturesInfo)

   at Terrasoft.Core.Schema.LoadLocalizableValues(IEnumerable`1 culturesInfo)

   at Terrasoft.Core.ClientUnitSchema.LoadLocalizableValues(IEnumerable`1 culturesInfo)

   at Terrasoft.Core.ClientUnitSchema.LoadLocalizableValues()

   at Terrasoft.Core.ClientUnitSchema.InitializePrimaryInfo()

   at Terrasoft.Core.SchemaManager`1.get_DefSchema()

   at Terrasoft.Core.SchemaManager`1.InternalCreateSchema(String name, TSchemaManagerSchema baseSchema, UserConnection userConnection, Guid uid, Boolean fromMetaData)

   at Terrasoft.Core.SchemaManager`1.InternalCreateSchema(String name, ISchemaManagerItem baseSchema, UserConnection userConnection, Boolean fromMetaData)

   at Terrasoft.Core.MetaDataSerializer.d__7.MoveNext()

   at System.Linq.Enumerable.First[TSource](IEnumerable`1 source)

   at Terrasoft.Core.SchemaManager`1.DeserializeSchemaManagerItem(Stream metaData, UserConnection userConnection)

   at Terrasoft.Core.SchemaManager`1.DeriveSchemaManagerItem(UserConnection userConnection, EntityCollection orderedSchemas)

   at Terrasoft.Core.SchemaManager`1.CreateRuntimeSchemaFromMetaData(Guid schemaUId, UserConnection userConnection)

   at Terrasoft.Core.ClientUnitSchemaManager.FindInstanceByName(String name)

   at Terrasoft.Core.ClientUnitSchemaManager.GetInstanceByName(String name)

   at Terrasoft.Core.ClientContentGeneration.ConfigurationClientContentFileGenerator.GetClientUnitSchema(ClientUnitSchemaManager manager, String schemaName)

   at Terrasoft.Core.ClientContentGeneration.ConfigurationClientContentFileGenerator.d__27.MoveNext()

Like 0

Like

1 comments

Hello,

 

Thank you for your question. According to the error code, you can see that the error occurs when preparing loaded resources (PrepareLoadedResources).

However, this error can occur in many different cases. Most likely, there are duplicate values in the DB tables.



The best solution would be to open a ticket with the Creatio support team so that we can analyze the issue in detail based on reproducing the error and analyzing the application logs.

 

Thank you.

Show all comments

Hey, everyone ! 

Been a few weeks since I've deleted a Application that I've created when I was learning how to do everything around. 

So.. I've created a new application with the same "name", and it got all the "old" data that I'd created...

How am I able to acess these "tables" that store the old data? 

Is there a way to acess and do a "clean up" of everything that I've already done and can't acess it? 

Thanks in advance! 

Like 0

Like

1 comments
Best reply

Hello!

When you delete a section, the object still exists in the configuration.

That means if you delete the object, at the database level, the table (like an artifact) where the data is stored will still exist.

This structure completely covers the main CRM system purpose - data storage.

Therefore, if you create a new section and specify the same object name, you will simply link your configuration to the archived table in the database.

If you want to delete records from the table by section, you need to go to the database level and delete all records.

Alternatively, create a lookup for the specified object (in case the object still exists in the configuration and has not been deleted) and delete the records.

Hello!

When you delete a section, the object still exists in the configuration.

That means if you delete the object, at the database level, the table (like an artifact) where the data is stored will still exist.

This structure completely covers the main CRM system purpose - data storage.

Therefore, if you create a new section and specify the same object name, you will simply link your configuration to the archived table in the database.

If you want to delete records from the table by section, you need to go to the database level and delete all records.

Alternatively, create a lookup for the specified object (in case the object still exists in the configuration and has not been deleted) and delete the records.

Show all comments

Dear colleagues,

 

I'm trying to found the system settings or whatever I need to bind the desktop configuration

 

Please Help

 

Thanks

Julio

Like 2

Like

4 comments

Hello Julio,

1) Choose the needed Desktop on the welcome screen in right bottom corner and click the settings button

2) Add the new Chart, click "Set up chart" and fill ALL required fields inside of modal window. Save the page.

3) Check in DB is record created successfully by this query (ChartWidget_r2b2wf3 - your widget name):

select  * from SysLocalizableValue
where [Key] like '%ChartWidget_r2b2wf3%'
order by ModifiedOn desc

4) To add image - open settings of the new Desktop (right top corner </> sign) and add "Images"

5) Open Advanced Settings Page, find the new Package with new Desktop, click "+ Add" -> Data. Here we have to create two connections:

5.1 Object - Desktop. BOUND DATA - name of Desktop

5.2 Object - SysLocalizableValue. BOUND DATA - Key  = "ChartWidget_r2b2wf3" (Widget name from Step 3), choose all of them

 

In the end you'll have new package with 3 files inside (1 Module and 2 Data)

P.S. If on the step 5 you'll receive any errors - do Flushall in Redis.

Thanks Anhelina and sorry, no-code?

Also, my instance is cloud, I have not access to db, is another way to bind this?

Julio Falcon (Cibernética),

It's a no-code method. You need DB only for step 3 but you can replace it by checking if "ChartWidget...." appeared in the Desktop settings list of strings (Advanced Settings -> enter the name of your new Desktop in search panel -> Left panel with different settings -> Open Localizable strings).

Show all comments

Hello all,

 

Is there a way that I can control what data Creatio binds automatically when I make saves in the section wizard? I'm trying to make edits to an application and Creatio keeps incorrectly binding a section to a workplace not included in that application meaning I have to always remove the binding before doing test installs, otherwise the install fails.

Like 1

Like

4 comments

Hi Kevin,



There is no such option for now.

 

But we've registered it in our R&D team backlog for consideration and implementation in future application releases.

 

Thank you for helping us to improve our product. 

 

Hello,

 

I recommend checking the academy article on Automatic data binding to find more details on how this functionality works. 

Mira Dmitruk,

This link doesn't work.



And I would like to vote for making this functionality optional. We don't transfer Workplaces and binding to our customers - they used to organize workplaces by themselves, so deleting automatic binding is extra headache for us



Kind regards,

Vladimir

Vladimir Sokolov,

 

We are sending you the instructions once again: https://academy.creatio.com/docs/8.x/dev/development-on-creatio-platfor…. As you were informed earlier, there is currently no way to control what data Creatio binds automatically when making saves in the section wizard.



However, we have registered this idea to our R&D team backlog for consideration and implementation in future application releases.

 

Show all comments

Hello!

 

I have a few processes that have a trigger to run daily at 2AM or 4AM. Unfortunately, on my local environment, they start running only after I open Creatio. Also, all processes that have triggers don't work on weekends.

 

Dows anybody know how I can set up my IIS in order for them to work?

 

Thank you!

Like 0

Like

2 comments

Ghiu Diana Stefania,



The BP will be executed only when the Creatio Application (i.e., the Creatio worker process is running) running. Unless there is no application pool/worker process of the Creatio instance running, any configuration like auto trigger event designed inside the application won't work.



The trigger should be all day, if the weekends are excluded the trigger wont be initiated.

 

 

BR,

Bhoobalan Palanivelu.

Hello,

 

To remedy this situation, we recommend setting up a ping that will send requests to the app at a specified frequency and prevent it from "falling asleep" in the absence of active users.

The following procedure describes the setup procedure:

Set Idle Timeout = 2 for the IIS application pool on which the application is running. Configure automatic monitoring of the Loader and the application.

Use the free monitoring service https://uptimerobot.com/ to set up automatic monitoring with a frequency of 5-10 minutes.

Show all comments

Does anyone know why i can't Cancel the modification "Annuler les modifications" ?

Like 0

Like

2 comments

Hello,

 

This item is available if the configuration element’s package is connected to a version control system repository.



Please find more information here.

Bogdan,

Thank you

Show all comments

Hello Creatio Community !

I want to resctrict the file formats uploaded to creatio. For example I want to allow uploading only pdf,word, excel, jpeg files and restrict Json files.

How is this configuration done ?

Like 0

Like

2 comments
Best reply

Hello Petrika,

 

You can refer the Secure file upload academy article to achieve your needs.

 

Regards,

Sourav Kumar samal

Hello Petrika,

 

You can refer the Secure file upload academy article to achieve your needs.

 

Regards,

Sourav Kumar samal

Sourav Kumar Samal,

Thank you . It solved my issue.

Best Regards

Show all comments

Hi Community,

 

We trigger Generate source code for all items on our on-premise system. But upon checking "\Pkg\[Our Custom Package]\Schemas" in our local directory some schemas were missing what could be the problem? Most of our source code schemas were not generated.

Like 0

Like

1 comments

Hello Fulgen,

 

Hope you're doing well.

 

Please try to perform the following actions in configurations:

1. Update database structure where needed.

2. Generate source code for all items.

3. Compile all items.

4. Flush Redis.

5. Restart the website.

This should help.

 

In case there appeared errors on the generation or compilation step, please check the logs (usually can be found in C:\Windows\Temp\Creatio\Youre_Site_Name) to find out the reason of such behavior.

 

Best regards,

Roman

Show all comments