GeneXus provides a set of built-in APIs, Structured Data Types, and Domains to manage abstract concepts and interact with different technologies, devices, sensors, etc.
They are currently read-only and encapsulated in modules, all under 'GeneXus'. You can find them under 'References' in the KB Explorer, in the 'Domains' tool window, and in the 'Standard Variables' section.
Main Benefits
- It is clear to all developers that these objects are maintained by GeneXus.
- Making them read-only avoids occasional errors and compatibility issues.
- Their implementation is already built and is also shipped built-in with GeneXus. Therefore, GeneXus does not need to build (specify, generate, compile) them on every KB/Version/Environment.
Some of them have not only been moved to a module but have also been renamed to improve usability. However, note that their internal identification (GUID) remains the same in all cases to minimize compatibility issues when migrating from previous versions (eg.: code that referenced "ClientInformation" now automatically references "GeneXus.Client.ClientInformation").
Structured Data Types |
Name |
Module |
AnalyticsPurchase |
GeneXus.Common |
GeolocationInfo |
GeneXus.Common |
GeolocationProximityAlert |
GeneXus.Common |
Messages |
GeneXus.Common |
Configuration |
Genexus.Common.Notifications |
Delivery |
Genexus.Common.Notifications |
Event |
Genexus.Common.Notifications |
LocalizedText |
Genexus.Common.Notifications |
Notification |
Genexus.Common.Notifications |
Target |
Genexus.Common.Notifications |
ContactInfo |
GeneXus.SD |
LoginExternalAdditionalParameters |
GeneXus.SD |
BeaconInfo |
GeneXus.SD |
BeaconProximityAlert |
GeneXus.SD |
BeaconRegion |
GeneXus.SD |
BeaconState |
Genexus.SD |
ScannedBarcodes |
GeneXus.SD |
SearchScope |
GeneXus.SD |
MediaItem |
GeneXus.SD.Media |
MediaQueue |
GeneXus.SD.Media |
MediaQueueState |
GeneXus.SD.Media |
LocalNotificationsInfo |
GeneXus.Notifications |
PurchaseReceiptInformation |
GeneXus.SD.Store |
PurchaseResult |
GeneXus.SD.Store |
StoreProductCollection |
GeneXus.SD.Store |
SynchronizationEventResult |
GeneXus.SD.Synchronization |
SynchronizationEvent |
GeneXus.SD.Synchronization |
SynchronizationInfo |
GeneXus.SD.Synchronization |
NotificationInfo |
GeneXus.Web.Notification |
The built-in objects listed below have not changed because their purpose is to be customized by the developer.
These objects are under the GeneXus folder of the KB.
Objects unchanged |
Name |
Located folder |
Object type |
Global Events |
/GeneXus/Common |
External Object |
NotificationsRegistrationHandler |
/GeneXus/SD/Notifications |
Procedure |
ValidatePurchase |
/GeneXus/SD/Store |
Procedure |
GxAfterEventReplicator |
/GeneXus/SD/Synchronization |
Procedure |
GxOnPendingEventFailed |
/GeneXus/SD/Synchronization |
Procedure |
AppMasterPage |
/GeneXus/Web |
Master Page |
LinksList |
/GeneXus/Web |
Structured Data type |
PromptMasterPage |
/GeneXus/Web |
Master Page |
RecentLinks |
/GeneXus/Web |
Web Component |
RwdMasterPage |
/GeneXus/Web |
Master Page |
RwdPromptMasterPage |
/GeneXus/Web |
MasterPage |
RwdRecentLinks |
/GeneXus/Web |
WebComponent |
Semantic Domains do not change their names, but they are distributed with the GeneXus module too.
- When building, you may get "error: 'GeneXus' version 0.19 cannot be downloaded. Is it a built-in module? Try execute "genexus.exe /install" command. Otherwise, you need to update the module version to an accessible one."
Solution: Close GeneXus, execute genexus.exe /install, open GeneXus, then the menu Knowledge / Manage Modules, and install the highest available GeneXus module.
- When importing, you may get "Cannot import '{0}', it is already defined in referenced module '{1}'".
Solution: That is not a problem. GeneXus is just preventing importing an object that is already in a referenced module. To get a newer version of that object you may ask the provider for it and install it using the Module Manager.