Server and core

Build 1501 on 14/Nov/2017  This topic last edited on: 3/Dec/2015, at 17:03

Script: have a single clickonce generator for 32 and 64 bit

GN4-3795

There is only one script that can generate a clickonce package either for 23 or 64 bit.

The script has an extra parameter to specify the platform. Valid varues are x86 or amd64. Sample:

BuildClickOnce.bat "CLICKONCE OUT PATH" "BIN PATH" "PLATFORM x86 or amd64"

Modified date: 03/12/2015 15:36:04 - P4 Changelist: 79890 - From build: 2.3.2742.x (T)

 

 

[6] GN4: build 2.3 (.Net 4.6) x64 doesn't work on Win7, 8.x and Server 2012

GN4-3420

GN4 now requires .Net Framework 4.6.1.

Modified date: 01/12/2015 14:54:14 - P4 Changelist: 79854 - From build: main.2740.x

 

 

ServerConfig not refreshed correctly

GN4-3786

The ServerConfig was not refreshed correctly by the client applications even if changed. Now fixed.

Modified date: 01/12/2015 14:17:38 - P4 Changelist: 79848 - From build: main.2740.x

 

 

server: error running search 'Empty value not allowed Parameter name: extSearchConditions'

GN4-3612

The exception 'Empty value not allowed Parameter name: extSearchConditions' was thrown for some searchConditions

Modified date: 15/10/2015 12:19:36 - P4 Changelist: 78884 - From build: 2.2.2693.x (T)

 

[48] Server: create variants on the fly via url

GN4-1694

Very often a variation of an image is requested when publishing or exporting to third parties.
The REST '..\do.ashx?cmd=Image' command already allows to create a variation in the database (using the 'Type' parameter) and returns the generated picture.
 
Now, the '..\do.ashx?cmd=Image' command has been improved to return the image variation without actually saving it into the database.
Added the 'Mode' parameter: it is the Mode property of the Variation activity (internally used to generate the variation) and indicates how to create and store the binary variation.
The allowed values are: 'CreateAlways' (always create and store the variation into GN4 database, overwriting the old variations), 'CreateNew' (it is the default: create and store the variation into GN4 database only if the original binary has changed; that is, it re-creates only the variations with the last modified date older than the modified date of the original object) and 'CreateTemp' (always create the variation without storing into GN4 database).
 
So, to generate a picture variation on the fly, without storing it into the database, you can specify the '...&Mode=CreateTemp' creation mode.
For example:
http://localhost/gn4/do.ashx?cmd=Image&dataid=1234&type=Image_Grayscale&mode=CreateTemp

Modified date: 07/10/2015 15:34:28 - P4 Changelist: 78792 - From build: 2.2.2685.x

 

[70] Core: extend audit to have custom actions

GN4-2974

GN4 saves into the database the auditing data of some server actions: Login, Print, Spike, CheckOut, etc...
Now it is possible configuring custom audit actions to store auditing data into the database.
The custom actions are configured into the GlobalConfig.xml configuration file.
For example:

 
<CustomAudit>
 <CustomAction Name="Download" Code="1001" />
 <CustomAction Name="Preview"  Code="1002" />
</CustomAudit>

 
Each custom action has a name attribute and an unique code which must be greater than 999.
You have to re-import the GlobalConfig.xml file and to recycle the application pool to make the custom actions available in GN4.
Once the custom audit actions have been properly configured, it is possible to save the custom auditing data calling the 'Utils.AuditCustom' method in a workfow.
Besides the id of the target object, for each custom action type you can specify two extra numbers (ExtraObjectId and ExtraInfo) that are stored into the gn_AuditTable.
See http://forum.teradp.com/topic.asp?TOPIC_ID=684&FORUM_ID=13#4043 for a syntax example of the 'Utils.AuditCustom' method.
The custom audit data are displayed by the audit panel in clients, GNPortal and i4.

Modified date: 22/09/2015 16:04:37 - P4 Changelist: 78615 - From build: 2.2.2670.x

 

[102] Daily: remove GNWebDAV

GN4-3507

Removed the WebDAV module from the daily compilation and deploying.
The following keys can be removed from the appSettings.xml configuration file:

 
<!-- WebDAV -->
<!-- Trace: 0=no trace, 1=trace all, 2=trace only errors -->
<!--<add key="Trace.Level" value="1"/>
<add key="Trace.Directory" value="C:\temp\webdav"/>-->
 
<!-- Object types -->
<add key="Tree.Folder" value="folder"/>
<add key="Tree.Object" value="folderObject"/>
<add key="Tree.Data" value="data"/>
<add key="Tree.Root" value="system/users"/>

Modified date: 04/09/2015 10:29:19 - P4 Changelist: 78395 - From build: 2.2.2652.x (T)

 

[123] Core: random error creating file in temp

GN4-3485

Scheduled publishing failed from time to time with the error: "Unable to create a temporary file in directory XXX, error: 'Could not find a part of the path "xxxx".' (ERR0277) (ERR1039)".
Now fixed: modified the Variation activity to lock accessing to the internal list of temporary files.

Modified date: 27/08/2015 17:23:04 - P4 Changelist: 78274 - From build: 2.2.2644.x (T)

 

[128] Server: IIS exception refreshing internal cache

GN4-3488

An exception occured randomly in IIS refreshing internal caches, now fixed.

Modified date: 25/08/2015 14:22:35 - P4 Changelist: 78227 - From build: 2.2.2642.x (T)

 

[129] Server: avoid logging normal license checking as error

GN4-3487

The server logged a normal operation (like the checking of the fulltext license) as error.
This error could fill in the server log, for example, with messages like "CheckLicense error (... - license type exaleadAdvanced: no valid function license". Now fixed: if the 'ExaleadAdvanced' license is missing, then no error is logged on server.

Modified date: 25/08/2015 10:41:30 - P4 Changelist: 78211 - From build: 2.2.2642.x (T)

 

[139] Core: generate page previews with only editorial or ads layer

GN4-3427

New attribute in PagePreviewOptions configuration object: "LayerToDraw"
this attribute is an enumeration value an accept these values:
"All" : print all layers kind
"Ads" : print only Ads layers
"Editorial" : print only Editorial layers
 
Default value is "All" (old configuration are valid)
Trying to create a page preview for a page that doesn't have any layers of requested kind it return an empty page.

Modified date: 18/08/2015 11:02:29 - P4 Changelist: 78155 - From build: 2.2.2635.x (T)

 

[143] Server: page preview exception loading fonts

GN4-3464

A right typography should have '''Arial''' and/or '''Helvetica''' font used by application as default ('''the default font is loaded in any case by typography''', regardless of the document use or not this font)
probably in this case one of these font missing and cause an unhandled exception.
a typography without the default font by design cannot work, so it's change the def font loading process: if the Arial/Helvetica missing, the typography just adopt as default font ''the first available/valid font'' into typography.
This is a workaround to avoid the ''inevitable'' crash: every typography should have the default fonts, a typography without default fonts is a wrong typography.

Modified date: 14/08/2015 13:50:23 - P4 Changelist: 78141 - From build: 2.2.2631.x (T)

 

[145] Core: internal logins not deleted correctly

GN4-2706

In a multi-server environment (for example, in the installations having both GN4 and i4), forcebly removing a login account, for example, logged to the GN4 server, using the logAdmin module of i4, caused the cancellation of the login data from the database, but not from the internal cache of the GN4 server.
In this scenario, the login was explitly deleted but the following HTTP requests of the client continued to be satisfied. This was because that login account was cached into the memory of the GN4 server yet.
Note also that, in this scenario, only the operations that loaded data from the database raised an error (for example, opening an article could raise the error '...missing valid license or limit reached').
Now, the "forcing the user to log-out" implementation has been improved. Using the internal alerting mechanism, a server is now notified (after few seconds) to remove the login data from memory when its user account is deleted by another server. The following HTTP requests, after the cancellation, now raise the correct error 'There is no login to execute this request' to the client.
 
Now the same internal alerting mechanism is also used to notify that one GN4 object has been checked-in by another server (for example, using the 'srv4 unlock' command).

Modified date: 13/08/2015 17:58:06 - P4 Changelist: 78137 - From build: 2.2.2630.x (T)

 

[154] Core: Keywords are not full-text indexed in SQL

GN4-3393

Keywords attributes were not indexed when using the sql fulltext engine.

Modified date: 03/08/2015 12:05:14 - P4 Changelist: 78060 - From build: 2.2.2620.x (T)

 

[157] Core: Encoding problem processing some particular email

GN4-3458

There was an encoding problem processing emails with html body

Modified date: 31/07/2015 16:07:22 - P4 Changelist: 78049 - From build: 2.2.2617.x (T)

 

[182] Core: checkouttable cleanup

GN4-3406

In some cases, it is possible that records are not deleted correctly from gn_CheckoutTable.
Now, the cleanup process deletes all the records of the gn_CheckoutTable that don't refer any existing GN4 objects.
This operation is executed just after the purge step of the cleanup process.

Modified date: 27/07/2015 15:39:28 - P4 Changelist: 77908 - From build: 2.2.2613.x (T)