Why does article approval process schedules draft articles for publication and updates the "Last Modified By" field value to "Automated Process"?
|Knowledge Article Number||000233741|
|Description||Knowledge Actions (e.g., publish or publish_as_new) in an approval process cause the draft article be sent into a queue to wait for publication. The draft article is published within one minute and during the waiting period a message of "Scheduled Publication Date" shows up on the draft article detail page. This also impacts the "Last Modified By" field on these specific articles as it shows as "Automated Process" to be the user who modified that article.|
|Resolution||There is a background code that determines what articles (associated to specific article types) will be published right away vs scheduled for publication and published by Automated process.
For performance concerns (especially the risk of heavy memory usage that happens with large text fields), the code takes various parameters into consideration and made a formula to calculate whether we should publish article immediately or not.
Factors considered in the formula include:
1) "numberOfLargeTextFields": given a article type, this counts the number of two kinds of large text field types.
a) "HtmlStringPlusClob" storing values up to 255 characters in varchar column, and;
b) "StringPlusClob" storing values up to 1000 characters in varchar column) .
2) "numberOfActiveLanguages": this counts the number of additional active languages. Master language doesn't count.
3) "numberOfArticleIdsToBePublished": this counts the number of articles in the pool for publish.The formula is:
Score = numberOfLargeTextFields * numberOfActiveLanguages * numberOfArticleIdsToBePublished;
Once this score is larger than 100, a draft article will be scheduled for publication on the same day (as soon as a processing server is available). When an article is published immediately, user context doesn't change, so the "Last Modified By" is the current user. When an article is scheduled to publish, the task will be moved into queue for server to pick up. Thus, original user context cannot be preserved, and "Last Modified By" is "Automated Process".
Workarounds that customers can follow:-
1) Customers may consider to reduce the number of large text field types (HtmlStringPlusClob, and StringPlusClob) in the article types. This can be done in two ways
-- converting some of unnecessary "large text type" fields into other types (other than these two types);
-- removing unnecessary "large text type" fields.
2) Instead of using "Last Modified By" in their reports, the customer can use "Last Approval By" which is a feed update for field approval, which will capture the last approver details for such articles.
Please refer to this article for more information on "Automated Process" User