Hello,



Anyone experience that Email are not visible in Section > Timeline > Email for other users?



Note:

- Object permission for Activity is set as All Employees > All Employees.

- User I tried logging in has no Email Account.



What could possible be the solution/issue?



Regards,

Solem A.

Like 0

Like

4 comments
Best reply

Solem Khan Abdusalam,

 

Please find more information here.



Best regards,

Bogdan

Hello Solem,

 

The emails on the timeline are only visible to the users, who have access to the 'can read/edit any data' operation permission.



Best regards,

Bogdan

Bogdan,



I saw the option and the Object "Activity" already has the user's role and Create/Edit/Delete are already check.



Regards.

Solem A.

Solem Khan Abdusalam,

 

Please find more information here.



Best regards,

Bogdan

Bogdan,

 

Work's like magic!



Thanks,

Solem A.

Show all comments

Hi community,

 

I was wondering if there was a way to add a "PRINT" button to a section which when clicked will export a whole tab (in this case the timeline tab) to PDF or directly print the whole timeline tab ?

 

I am pretty sure that it needs some coding to be done but in which way ?

Is it necessary to call some APIs via C# code ?

 

Many thanks for the help provided.

 

Best regards,

Jonathan

Like 1

Like

5 comments

Hi Jonathan,

 

The timeline tab displays information from connected entities (like activities or orders and so on). That's why this task can be completed without additional development by the correct specifying of the table part in the printable and exporting data needed.

Hi Oleg,

 

Thank you for the answer. I have searched a bit in the system but did not found how to achieve this.

 

Can you explain me a bit further "by the correct specifying of the table part in the printable and exporting data needed."

 

Many thanks,

Jonathan

Jonathan Quendoz,

 

there is no separate documentation on this matter since this functionality is similar to the details functionality on the page. You can setup table part in printalbes here:

Once you select adding a new record there you will see the page where you can select the object you are interested in and the connection setup between your master object (from which the print will be performed) and the target object (where connected data is located). In this example below:

my master entity is the "Contacts" section (since I create a Word report based on it) and the target entity is the "Activity" section. Once saved you can get the information on the "Subject", "Start" and "Due" columns of all activities connected to the contact from which the printable was generated and only activities where this contact is specified as "Owner" will be displayed. Additional filtration of activity records can be added to the "Table filters" tab (in the screenshot above).

 

In the report designer you can add this table part as in this example below:

As a result once you print data you will get this file:

Just perform a couple of tests using report tables and using them you will be able to get the same data that is located in the timeline.

Oleg Drobina,

 

When exporting the "Email" Activity type, how can I export the whole email text ? I have tried with the "body" column but it print the whole html body and not only the text.

 

In addition, how can I export all the activites from the timeline ? I have tried to implement it your way but id has printed only the last activity of the concerned contact.

 

Many thanks for the clarifications.

 

Best regards,

Jonathan

Jonathan Quendoz,

 

It should export all activities related to the contact, maybe the filtration or the connection was specified in the way that made the system to get only one activity instead of several activities. Maybe its because the contact you are interested in is not an owner or reported of missing activities, but is present as the activity participant in those activities.

 

As for the email - the body column in the object contains the HTML code as well (that is then displayed in the "Rich_text" column type so that's why you don't see HTML tags). In this case a custom macro should be created to process the subject column and remove HTML tags from it. For example you can create a custom macro as described here for the "Subject" column and inside this macro process the received HTML code using the code below (received from base method that is used in the incident registration from incoming emails where email body goes to the case description):

protected virtual string ClearHtmlText(string inputString) {
			var htmlWithoutImages = Regex.Replace(inputString, @"(<img\/?[^>]+>)", string.Empty, RegexOptions.IgnoreCase);
			var noCss = Regex.Replace(htmlWithoutImages, @"/\*.+?\*/", string.Empty, RegexOptions.Singleline);
			var noFormatting = Regex.Replace(noCss, @"/<!--[\s\S]*?-->/g", string.Empty, RegexOptions.IgnoreCase);
			var noStyle = Regex.Replace(noFormatting, "<style.*?</style>", string.Empty, RegexOptions.Singleline);
			var noScript = Regex.Replace(noStyle, "<script.*?</script>", string.Empty, RegexOptions.Singleline);
			var noHTML = noScript.Replace("\r\n</span>", " </span>");
			noHTML = noHTML.Replace("</span>\r\n", " </span>");
			noHTML = Regex.Replace(noHTML, @"<div>|<li>", "\r\n");
			noHTML = Regex.Replace(noHTML, @"\r\n{2,}", "\r\n");
			noHTML = Regex.Replace(noHTML, @"<[^>]+>|", string.Empty);
			noHTML = Regex.Replace(noHTML, "<.*?>", string.Empty);
			noHTML = HttpUtility.HtmlDecode(noHTML);
			noHTML = Regex.Replace(noHTML, @"^\s+$[\r\n]*", "\r\n", RegexOptions.Multiline);
			noHTML = Regex.Replace(noHTML, @"<base[^>]*>", string.Empty, RegexOptions.IgnoreCase);
			if (noHTML.StartsWith("\r\n")) {
				noHTML = noHTML.Substring(2, noHTML.Length - 2);
			}
			return noHTML;
		}

 

Show all comments

Activities are a powerful tool, but it seems that their functionality is limited by cut features.

 

A key one is the Timeline view.  Can that tab be added to the standard Acitivities page?

 

I am using Sales Team module, version 8.0.1.1990.

1 comments

Dear John,

 

Thanks for sharing your idea!

 

We have registered it for R&D team to implement this feature in future releases.

 

Best regards,

Anastasiia

Show all comments

It would be nice to have the ability to review the comments people make on feed posts when looking at the timeline of the case. Currently you can only see the feed post on the timeline, to see if there are comments, you have to open the feed tab.

1 comments

Hello Mitch, 



Thank you for sharing this idea with us. 

We will register it for the responsible R&D team for the further consideration.



Kind regards,

Roman 

Show all comments

hello community,



in the Account section page, i'm trying to change the display of some timeline tiles (the Order one for example). I can hide some fields i don't need by modifiying the TimelineTileSetting data ('0ef5bd15-f3d3-4673-8af7-f2e61bc44cf0' for Order).



Fine, but if i also want to add new fields in the tile : i then added my own UsrTimelineItemViewModel and UsrTimelineItemView for that.

Then i added a corresponding TimelineTileSetting and finally changed TimelinePageSetting to make it match .

 

Unfortunately, i can't make it to work. The displayed tile keep to be the old one,

it's like the updated TimelinePageSetting is not read by the system.

No matter what i do, logging out, clear cache...

 

What am i missing, please ?

 

best regards.

Patrice

Like 0

Like

2 comments

Dear Patrice,

 

Try to follow this guide on how to add a custom object to the timeline

https://academy.creatio.com/documents/technic-sdk/7-13/timeline-tab

 

Regards,

Dean

Hello Dean,

thanks for the answer.

In my case, i use 7-17 so i went to https://academy.creatio.com/documents/technic-sdk/7-16/introduction-17



So in AccountPageV2's TimelinePageSetting, i changed the original data, from 

          {

            "entityConfigKey": "0ef5bd15-f3d3-4673-8af7-f2e61bc44cf0",

            "entitySchemaName": "Order",

            "referenceColumnName": "Account",

            "masterRecordColumnName": "Id"

          },

to

          {

            "entityConfigKey": "9843b156-452f-463c-8cb6-7e9b3e3d5499",

            "entitySchemaName": "Order",

            "referenceColumnName": "Account",

            "masterRecordColumnName": "Id"

          },



which hold my new TimelineTileSetting Id.

is it not supposed to work like that ?



am i supposed to add a whole new TimelinePageSetting for my AccountPageV2 section like described in documentation ? or can i modify the existing one ?



Regards,

Patrice

Show all comments

Hello colleagues

 

We install https://marketplace.creatio.com/template/marketing-record-types-timeline today and after it get NOTHING on Timeline tab, please see at https://prnt.sc/vojm67

 

I uninstall the package and continue having no Timeline content, please your help. I also close the session, clear cache, but nothing, no Timeline ☹

 

How can I restore my Timeline content?

 

Thanks in advance

Like 0

Like

4 comments

Hi Julio,

I've not used that marketplace add-on, so only guessing, but since the UI isn't even loading on the timeline tab, I would assume there is an error occurring in the client-side code. If you open the browser dev tools is there an error that shows in the console or on the network tab? If so, that might help track down the issue.

Ryan

Ryan Farley,

Thanks Ryan, yes it give an error. Also, I reported to Creatio support, because at this time I uninstall the add-on and continue having no Timeline. Here is the error I get on console

performanceLogger.js:346 GET https://nodos-cl.creatio.com/0/Nui/Terrasoft/EsqTimelineDataProvider.js?_dc=1606251564623 404
XMLHttpRequest.send @ performanceLogger.js:346
(anonymous) @ polyfills-es5.js?hash=bdb8b91ac2da4b9591ee94e2f0737aef:1
O.i.<computed> @ polyfills-es5.js?hash=bdb8b91ac2da4b9591ee94e2f0737aef:1
loadScriptFile @ all-combined.js:6
require @ all-combined.js:6
syncRequire @ all-combined.js:6
(anonymous) @ all-combined.js:6
instantiate @ all-combined.js:6
(anonymous) @ all-combined.js:6
(anonymous) @ _bundle_10.js?hash=bdb8b91ac2da4b9591ee94e2f0737aef:49
Terrasoft.each @ all-combined.js:36
_initDataProviders @ _bundle_10.js?hash=bdb8b91ac2da4b9591ee94e2f0737aef:49
init @ _bundle_10.js?hash=bdb8b91ac2da4b9591ee94e2f0737aef:49
initDataStorage @ _bundle_10.js?hash=bdb8b91ac2da4b9591ee94e2f0737aef:45
(anonymous) @ _bundle_10.js?hash=bdb8b91ac2da4b9591ee94e2f0737aef:45
e @ all-combined.js:41
(anonymous) @ all-combined.js:41
execCb @ require.js:1702
check @ require.js:883
enable @ require.js:1176
init @ require.js:788
(anonymous) @ require.js:1466
setTimeout (async)
req.nextTick @ require.js:1821
localRequire @ require.js:1455
requirejs @ require.js:1803
Terrasoft.require @ all-combined.js:41
requireDataProviders @ _bundle_10.js?hash=bdb8b91ac2da4b9591ee94e2f0737aef:45
e @ all-combined.js:41
(anonymous) @ _bundle_10.js?hash=bdb8b91ac2da4b9591ee94e2f0737aef:45
e @ all-combined.js:41
callback @ all-combined.js:6
initialize @ _bundle_6.js?hash=bdb8b91ac2da4b9591ee94e2f0737aef:38
(anonymous) @ _bundle_10.js?hash=bdb8b91ac2da4b9591ee94e2f0737aef:45
e @ all-combined.js:41
callback @ all-combined.js:6
(anonymous) @ _bundle_10.js?hash=bdb8b91ac2da4b9591ee94e2f0737aef:45
(anonymous) @ all-combined.js:41
execCb @ require.js:1702
check @ require.js:883
enable @ require.js:1176
init @ require.js:788
(anonymous) @ require.js:1466
setTimeout (async)
req.nextTick @ require.js:1821
localRequire @ require.js:1455
requirejs @ require.js:1803
Terrasoft.require @ all-combined.js:41
initTimelineFiltersProfile @ _bundle_10.js?hash=bdb8b91ac2da4b9591ee94e2f0737aef:45
e @ all-combined.js:41
Terrasoft.chain @ all-combined.js:41
(anonymous) @ _bundle_10.js?hash=bdb8b91ac2da4b9591ee94e2f0737aef:45
callback @ all-combined.js:6
(anonymous) @ _bundle_0.js?hash=bdb8b91ac2da4b9591ee94e2f0737aef:41
e @ all-combined.js:41
callback @ all-combined.js:6
(anonymous) @ _bundle_0.js?hash=bdb8b91ac2da4b9591ee94e2f0737aef:41
querySysSettings @ all-combined.js:41
initGoogleTagManager @ _bundle_0.js?hash=bdb8b91ac2da4b9591ee94e2f0737aef:41
e @ all-combined.js:41
callback @ all-combined.js:6
(anonymous) @ _bundle_0.js?hash=bdb8b91ac2da4b9591ee94e2f0737aef:41
callback @ all-combined.js:6
(anonymous) @ _bundle_0.js?hash=bdb8b91ac2da4b9591ee94e2f0737aef:41
(anonymous) @ all-combined.js:41
execCb @ require.js:1702
check @ require.js:883
enable @ require.js:1176
init @ require.js:788
(anonymous) @ require.js:1466
setTimeout (async)
req.nextTick @ require.js:1821
localRequire @ require.js:1455
requirejs @ require.js:1803
Terrasoft.require @ all-combined.js:41
requireProfile @ _bundle_0.js?hash=bdb8b91ac2da4b9591ee94e2f0737aef:41
initializeProfile @ _bundle_0.js?hash=bdb8b91ac2da4b9591ee94e2f0737aef:41
e @ all-combined.js:41
Terrasoft.chain @ all-combined.js:41
init @ _bundle_0.js?hash=bdb8b91ac2da4b9591ee94e2f0737aef:41
callParent @ all-combined.js:6
init @ _bundle_10.js?hash=bdb8b91ac2da4b9591ee94e2f0737aef:45
(anonymous) @ _bundle_0.js?hash=bdb8b91ac2da4b9591ee94e2f0737aef:28
(anonymous) @ _bundle_0.js?hash=bdb8b91ac2da4b9591ee94e2f0737aef:28
tryReturnCache @ _bundle_0.js?hash=bdb8b91ac2da4b9591ee94e2f0737aef:33
(anonymous) @ _bundle_0.js?hash=bdb8b91ac2da4b9591ee94e2f0737aef:33
(anonymous) @ all-combined.js:41
execCb @ require.js:1702
check @ require.js:883
enable @ require.js:1176
init @ require.js:788
(anonymous) @ require.js:1466
setTimeout (async)
req.nextTick @ require.js:1821
localRequire @ require.js:1455
requirejs @ require.js:1803
Terrasoft.require @ all-combined.js:41
getSchema @ _bundle_0.js?hash=bdb8b91ac2da4b9591ee94e2f0737aef:33
build @ _bundle_0.js?hash=bdb8b91ac2da4b9591ee94e2f0737aef:33
generateSchemaStructure @ _bundle_0.js?hash=bdb8b91ac2da4b9591ee94e2f0737aef:28
init @ _bundle_0.js?hash=bdb8b91ac2da4b9591ee94e2f0737aef:28
fn @ core-base.js:110
safeExecute @ core-base.js:904
initModule @ core-base.js:107
_processModule @ core-base.js:210
(anonymous) @ core-base.js:305
execCb @ require.js:1702
check @ require.js:883
enable @ require.js:1176
init @ require.js:788
(anonymous) @ require.js:1466
setTimeout (async)
req.nextTick @ require.js:1821
localRequire @ require.js:1455
createModuleInstance @ core-base.js:304
(anonymous) @ core-base.js:411
execCb @ require.js:1702
check @ require.js:883
enable @ require.js:1176
init @ require.js:788
(anonymous) @ require.js:1466
setTimeout (async)
req.nextTick @ require.js:1821
localRequire @ require.js:1455
(anonymous) @ core-base.js:409
execCb @ require.js:1702
check @ require.js:883
enable @ require.js:1176
init @ require.js:788
(anonymous) @ require.js:1466
setTimeout (async)
req.nextTick @ require.js:1821
localRequire @ require.js:1455
loadModule @ core-base.js:408
injectedSandbox.loadModule @ core-base.js:682
loadModule @ _bundle_0.js?hash=bdb8b91ac2da4b9591ee94e2f0737aef:41
callModelMethod @ all-combined.js:41
(anonymous) @ all-combined.js:41
fire @ all-combined.js:6
continueFireEvent @ all-combined.js:6
fireEventArgs @ all-combined.js:6
fireEvent @ all-combined.js:6
onOwnerCtAfterRenderOrAfterRerender @ all-combined.js:41
fire @ all-combined.js:6
continueFireEvent @ all-combined.js:6
fireEventArgs @ all-combined.js:6
fireEvent @ all-combined.js:6
onOwnerCtAfterRenderOrAfterRerender @ all-combined.js:41
fire @ all-combined.js:6
continueFireEvent @ all-combined.js:6
fireEventArgs @ all-combined.js:6
fireEvent @ all-combined.js:6
render @ all-combined.js:41
setVisible @ all-combined.js:41
setControlPropertyValue @ all-combined.js:41
c @ all-combined.js:41
T @ all-combined.js:21
g @ all-combined.js:21
h @ all-combined.js:21
c.trigger @ all-combined.js:21
set @ all-combined.js:21
set @ all-combined.js:41
callParent @ all-combined.js:6
set @ all-combined.js:41
activeTabChange @ _bundle_7.js?hash=bdb8b91ac2da4b9591ee94e2f0737aef:5
callParent @ all-combined.js:6
activeTabChange @ _bundle_7.js?hash=bdb8b91ac2da4b9591ee94e2f0737aef:5
callParent @ all-combined.js:6
activeTabChange @ _bundle_5.js?hash=bdb8b91ac2da4b9591ee94e2f0737aef:35
callModelMethod @ all-combined.js:41
(anonymous) @ all-combined.js:41
fire @ all-combined.js:6
continueFireEvent @ all-combined.js:6
fireEventArgs @ all-combined.js:6
fireEvent @ all-combined.js:6
setActiveTab @ all-combined.js:41
onTabClick @ all-combined.js:41
eval @ VM9367:7
k @ all-combined.js:6
value @ polyfills-es5.js?hash=bdb8b91ac2da4b9591ee94e2f0737aef:1
value @ polyfills-es5.js?hash=bdb8b91ac2da4b9591ee94e2f0737aef:1
value @ polyfills-es5.js?hash=bdb8b91ac2da4b9591ee94e2f0737aef:1
p @ polyfills-es5.js?hash=bdb8b91ac2da4b9591ee94e2f0737aef:1
h @ polyfills-es5.js?hash=bdb8b91ac2da4b9591ee94e2f0737aef:1
Show 53 more frames
VM4677:3 Uncaught TypeError: c is not a constructor
    at eval (eval at getInstantiator (all-combined.js:6), <anonymous>:3:8)
    at Object.instantiate (all-combined.js:6)
    at Object.create (all-combined.js:6)
    at i.<anonymous> (_bundle_10.js?hash=bdb8b91ac2da4b9591ee94e2f0737aef:49)
    at Object.Terrasoft.each (all-combined.js:36)
    at i._initDataProviders (_bundle_10.js?hash=bdb8b91ac2da4b9591ee94e2f0737aef:49)
    at init (_bundle_10.js?hash=bdb8b91ac2da4b9591ee94e2f0737aef:49)
    at initDataStorage (_bundle_10.js?hash=bdb8b91ac2da4b9591ee94e2f0737aef:45)
    at i.<anonymous> (_bundle_10.js?hash=bdb8b91ac2da4b9591ee94e2f0737aef:45)
    at e (all-combined.js:41)

 

Hi Julio,

Did you tweak any other settings in Timeline (such as adding info about other Creatio objects)? Or did any errors occur when compiling Creatio?



I have reproduced your case, but Timeline has been successfully restored after uninstalling the package. That's why we need more information to investigate this error.



I have forwarded your initial issue with Timeline to the responsible team.



Sorry for the inconvenience. 

Alexander Demidov,

Hi Alex,

 

I made a simple video of what's happening with the Marketing Timeline app from Marketplace, please see at https://share.vidyard.com/watch/JfP8dVHLKVEyXDrHcyWXq2? 

Show all comments

Dear mates,

I would like to modifiy our timelines on differents pages.

I try to follow the guide: https://academy.creatio.com/documents/technic-sdk/7-13/timeline-tab

But i can not access the database to do the modifications.

How can we have an access to the database ?

Thanks,

Nicolas

Like 0

Like

1 comments

Hello Nicolas,

 

This method is only good for the development environments deployed on-site. Since the modifications are implemented directly in the database, they are not bound to any package. That is why the modifications will not be implemented in the database if the package with the view models and the tile view models is installed into another application. For the correct transfer of the developed functions, you need to bind the SQL-scripts that implement the corresponding modifications in the database when installing the package.

 

Best regards, 

Olga. 

Show all comments

Hi Community,

In Case I have created a custom BP that sends email to some of the CRM users. Now since this is a custom Email, it is now showing in Timeline Tab, how can I configure my custom Email so that it will show in Timeline. 

 

Like 0

Like

3 comments

Dear Fulgen,

If email is sent automatically via business process it will not create activity. You can either send it manually or use script task to send email and create activity. 

Best regards,

Angela 

Angela Reyes,

 

Thanks Angela,

Then how I can show it on Case Timeline?

Fulgen Ninofranco,

It will appear in timeline when it is connected to the record. To connect email to record it must be created firs. You can use Send email to case assignee as an example to examine how activities are created and connected to records via script task. 

Show all comments

Hi all,

Would it be possible to set the timeline to be updated with working notes ?

 

I would add a Working note field to the Case and then when saving the case the notes will go to the timeline. I am using a cloud version.

Thanks for your advice.

Like 0

Like

1 comments

Dear Lehmann,

There are no basic tools to add more fields or other entities into the timeline tab. It can only be done with the development tools. 

Please refer to these articles which describe how to create a custom Timeline tabs in different sections. Please refer to them when developing the new, custom timeline tab with the custom fields

https://academy.bpmonline.com/documents/technic-sdk/7-12/timeline-tab

https://academy.bpmonline.com/documents/technic-sdk/7-13/how-create-timeline-tab-tiles-bound-custom-section

Best regards,

Dean

Show all comments

Is it possible to enable Timeline for the Portal Users' Case Page?

Like 0

Like

2 comments

Dear Mitch,

There are no basic tools to add the timeline tab through the section wizard. The same relates to the portal case page. You will need to involve the development process to add the timeline tab to any page in the system but as for portal, there is no much reason to add it since this detail has multiple connections to other entities in the system. Apart from that, the portal users might not have the access rights those entities. 

Could you please let us know what is your business task?

Thank you beforehand.

Dean

Thank you Dean. If it requires custom development, I don't think we would want to implement. We were just checking to see if there was a standard and simple solution. 

We enjoy the timeline tab for internal cases, we like how you can filter by date and by type of activity on the timeline. We thought it would be beneficial for our portal users to have this function if it was an option so they could put time filters on the entities that they have access to.

Thanks for your response, my question has been answered. 

Show all comments