Skip to content
Snippets Groups Projects
Commit 7e71a0ed authored by Sebastian Pongratz's avatar Sebastian Pongratz :ping_pong:
Browse files

Merge branch '1080155_DocumentationAppointment_entity' into '2021.1'

[Projekt: Entwicklung - Neon][TicketNr.: 1080155][Appointment_entity: documentation-Property vollumfänglich implementieren]

See merge request xrm/basic!1073
parents 0f77b366 b3a1f3fb
No related branches found
No related tags found
No related merge requests found
Showing
with 167 additions and 15 deletions
......@@ -13,6 +13,7 @@
<entityFields>
<entityField>
<name>SUMMARY</name>
<documentation>%aditoprj%/entity/Appointment_entity/entityfields/summary/documentation.adoc</documentation>
<title>Subject</title>
<valueProcess>%aditoprj%/entity/Appointment_entity/entityfields/summary/valueProcess.js</valueProcess>
<onValueChange>%aditoprj%/entity/Appointment_entity/entityfields/summary/onValueChange.js</onValueChange>
......@@ -24,15 +25,18 @@
</entityField>
<entityField>
<name>DESCRIPTION</name>
<documentation>%aditoprj%/entity/Appointment_entity/entityfields/description/documentation.adoc</documentation>
<valueProcess>%aditoprj%/entity/Appointment_entity/entityfields/description/valueProcess.js</valueProcess>
</entityField>
<entityField>
<name>CLASSIFICATION</name>
<documentation>%aditoprj%/entity/Appointment_entity/entityfields/classification/documentation.adoc</documentation>
<dropDownProcess>%aditoprj%/entity/Appointment_entity/entityfields/classification/dropDownProcess.js</dropDownProcess>
<valueProcess>%aditoprj%/entity/Appointment_entity/entityfields/classification/valueProcess.js</valueProcess>
</entityField>
<entityField>
<name>BEGIN</name>
<documentation>%aditoprj%/entity/Appointment_entity/entityfields/begin/documentation.adoc</documentation>
<title>Begin</title>
<contentType>DATE</contentType>
<outputFormat>dd.MM.yyyy HH:mm</outputFormat>
......@@ -41,6 +45,7 @@
</entityField>
<entityField>
<name>END</name>
<documentation>%aditoprj%/entity/Appointment_entity/entityfields/end/documentation.adoc</documentation>
<title>End</title>
<contentType>DATE</contentType>
<outputFormat>dd.MM.yyyy HH:mm</outputFormat>
......@@ -49,6 +54,7 @@
<entityFieldGroup>
<name>STARTEND</name>
<valueProcess>%aditoprj%/entity/Appointment_entity/entityfields/startend/valueProcess.js</valueProcess>
<documentation>%aditoprj%/entity/Appointment_entity/entityfields/startend/documentation.adoc</documentation>
<description>FIELDGROUP</description>
<fields>
<element>BEGIN</element>
......@@ -57,31 +63,38 @@
</entityFieldGroup>
<entityField>
<name>STATUS</name>
<documentation>%aditoprj%/entity/Appointment_entity/entityfields/status/documentation.adoc</documentation>
<dropDownProcess>%aditoprj%/entity/Appointment_entity/entityfields/status/dropDownProcess.js</dropDownProcess>
</entityField>
<entityField>
<name>LOCATION</name>
<documentation>%aditoprj%/entity/Appointment_entity/entityfields/location/documentation.adoc</documentation>
<title>Location</title>
</entityField>
<entityField>
<name>REMINDER_CHECK</name>
<documentation>%aditoprj%/entity/Appointment_entity/entityfields/reminder_check/documentation.adoc</documentation>
<valueProcess>%aditoprj%/entity/Appointment_entity/entityfields/reminder_check/valueProcess.js</valueProcess>
</entityField>
<entityField>
<name>REMINDER</name>
<documentation>%aditoprj%/entity/Appointment_entity/entityfields/reminder/documentation.adoc</documentation>
<valueProcess>%aditoprj%/entity/Appointment_entity/entityfields/reminder/valueProcess.js</valueProcess>
</entityField>
<entityField>
<name>CATEGORIES</name>
<documentation>%aditoprj%/entity/Appointment_entity/entityfields/categories/documentation.adoc</documentation>
<dropDownProcess>%aditoprj%/entity/Appointment_entity/entityfields/categories/dropDownProcess.js</dropDownProcess>
</entityField>
<entityField>
<name>ATTENDEES</name>
<documentation>%aditoprj%/entity/Appointment_entity/entityfields/attendees/documentation.adoc</documentation>
<dropDownProcess>%aditoprj%/entity/Appointment_entity/entityfields/attendees/dropDownProcess.js</dropDownProcess>
<valueProcess>%aditoprj%/entity/Appointment_entity/entityfields/attendees/valueProcess.js</valueProcess>
</entityField>
<entityField>
<name>TRANSPARENCY</name>
<documentation>%aditoprj%/entity/Appointment_entity/entityfields/transparency/documentation.adoc</documentation>
<valueProcess>%aditoprj%/entity/Appointment_entity/entityfields/transparency/valueProcess.js</valueProcess>
</entityField>
<entityActionGroup>
......@@ -127,34 +140,43 @@
</entityParameter>
<entityField>
<name>ORGANIZER</name>
<documentation>%aditoprj%/entity/Appointment_entity/entityfields/organizer/documentation.adoc</documentation>
<valueProcess>%aditoprj%/entity/Appointment_entity/entityfields/organizer/valueProcess.js</valueProcess>
</entityField>
<entityField>
<name>RRULE</name>
<documentation>%aditoprj%/entity/Appointment_entity/entityfields/rrule/documentation.adoc</documentation>
<valueProcess>%aditoprj%/entity/Appointment_entity/entityfields/rrule/valueProcess.js</valueProcess>
</entityField>
<entityField>
<name>RECURRENCEID</name>
<documentation>%aditoprj%/entity/Appointment_entity/entityfields/recurrenceid/documentation.adoc</documentation>
<valueProcess>%aditoprj%/entity/Appointment_entity/entityfields/recurrenceid/valueProcess.js</valueProcess>
</entityField>
<entityField>
<name>SAFESCOPEFIELD</name>
<documentation>%aditoprj%/entity/Appointment_entity/entityfields/safescopefield/documentation.adoc</documentation>
</entityField>
<entityField>
<name>MASTERBEGIN</name>
<documentation>%aditoprj%/entity/Appointment_entity/entityfields/masterbegin/documentation.adoc</documentation>
</entityField>
<entityField>
<name>MASTEREND</name>
<documentation>%aditoprj%/entity/Appointment_entity/entityfields/masterend/documentation.adoc</documentation>
</entityField>
<entityField>
<name>UID</name>
<documentation>%aditoprj%/entity/Appointment_entity/entityfields/uid/documentation.adoc</documentation>
<valueProcess>%aditoprj%/entity/Appointment_entity/entityfields/uid/valueProcess.js</valueProcess>
</entityField>
<entityField>
<name>ATTENDEESLENGTH</name>
<documentation>%aditoprj%/entity/Appointment_entity/entityfields/attendeeslength/documentation.adoc</documentation>
</entityField>
<entityField>
<name>ICON</name>
<documentation>%aditoprj%/entity/Appointment_entity/entityfields/icon/documentation.adoc</documentation>
</entityField>
<entityParameter>
<name>Entry_param</name>
......@@ -212,6 +234,7 @@
</entityParameter>
<entityField>
<name>ALLDAY</name>
<documentation>%aditoprj%/entity/Appointment_entity/entityfields/allday/documentation.adoc</documentation>
<valueProcess>%aditoprj%/entity/Appointment_entity/entityfields/allday/valueProcess.js</valueProcess>
</entityField>
<entityField>
......@@ -226,9 +249,11 @@
</entityActionField>
<entityField>
<name>STATUS_ACTION</name>
<documentation>%aditoprj%/entity/Appointment_entity/entityfields/status_action/documentation.adoc</documentation>
</entityField>
<entityField>
<name>OWNER</name>
<documentation>%aditoprj%/entity/Appointment_entity/entityfields/owner/documentation.adoc</documentation>
</entityField>
<entityProvider>
<name>#PROVIDER_AGGREGATES</name>
......
= Appointment-Entity
= Appointment_entity
:hardbreaks:
The Appointment-Entity is a special kind of an Adito-Entity.
It is not directly connected to the database, instead it uses a JDito-Record-Container that transfers the Appointment-Entries
via Entity-Parameters between Core and JDito.
The Appointment_entity is not directly connected to the database, but uses a JDitoRecordContainer, which transfers the appointment entries via EntityParameter between the ADITO Platform, the backend so to speak, and the frontend.
== Fields
"Damn, thats a truckload of Fields in here." - Yes, it is.
Every field in this entity has its own important purpose.
All of them fit exactly to the field-slots of the Appointment-Viewtemplates, Edit and Preview, that are highly special for their own.
Every EntityField corresponds to a field slot of the ViewTemplates of context "Appointment" which has the purpose of mapping EntityFields to the ViewTemplate. For example, for the EntityField 'UID' there is a corresponding field 'uidField' in the ViewTemplate.
(see: documentation of AppointmentEdit_view and AppointmentPreview_view)
_ALLDAY_: This field indicates whether the appointment is an all-day event. All-day events are displayed over the day without regard to clock times, unlike an event that lasts from 0 to 24. This event would be displayed over the whole day.
== Params
_ATTENDEES_: The participants of an appointment are listed here. The participants are stored in the following multistring format which can be converted into an array with help of the function text.decodeMS().
;+ mailto:Admin@domain.local;+ CN:Admin;+ ;+ mailto:test@test.de;+ CN:test@test.de;+ ;
_entry_ : A complete Appointment object
_masterentry_ : The masterentry of the Appointment in the entry-param (only set if _entry_ is part of a series)
";" => Control character
" " => New entry
"+" => ESCAPE character
External participants can be added by their email address.
_ATTENDEESLENGTH_: Is not used.
_BEGIN_: Start time of the event.
_CATEGORIES_: Categories can be assigned to an event. The categories are loaded from the ProjectPreferences (calendarCategoriesEvent) via DropDownProcess and are made available. However, it is also possible to assign your own individual categories when editing/creating the event. These categories can also be used to filter the calendar.
_CHECKUP_: TODO
_CLASSIFICATION_: Specifies whether the appointment is private or public. The values can be PUBLIC or PRIVATE.
_DESCRIPTION_: Field for adding a description of the appointment.
_END_: End time of the event.
_ICON_: Is not evaluated.
_LOCATION_: Place where the event takes place.
_MASTERBEGIN_: Contains the start time of a series appointment.
_MASTEREND_: Contains the end time of a series appointment.
_ORGANIZER_: Indicates who is the organizer of the event. The organizer is displayed in the participants list with an asterisk behind the name.
_OWNER_: Displays the owner of the appointment.
_RECURRENCEID_: This can be used to identify a specific instance of a recurring calendar item.
_REMINDER_: Specifies if and when a reminder should be activated. Time is specified as a negative value in milliseconds.
_REMINDER_CHECK_: Indicates whether a reminder is present. Is not evaluated by the ADITO Platform.
_RRULE_: Specifies in which form the serial date is repeated. Example: FREQ=WEEKLY;UNTIL=19971007T0000Z;WKST=SU;BYDAY=TU,TH
_SAFESCOPEFIELD_: Specifies whether the change should only affect this appointment or all appointments in the series. Possible values "THIS", "ALL".
_STARTEND_: This is a composite value of the start time and the end time. In this case, dates with "today" and "tomorrow" are replaced or a start and end time on the same day are combined.
_STATUS_: Indicates the status of an appointment. (Confirmed, Cancelled, Tentative, OutOfOffice, Free)
_STATUS_ACTION_: Is not evaluated by the ADITO platform. Indicates whether an appointment was canceled, accepted, provisionally accepted. (STATUS_ACCEPTED, STATUS_DECLINED, STATUS_TENTATIVE)
_SUMMARY_: Subject of the appointment.
_TRANSPARENCY_: Specifies whether or not an event is transparent to the busy time search. Possible values: "OPAQUE", "TRANSPARENT"
_UID_: Unique ID to be able to identify the appointment.
== Parameters
_AnyObjectRowid_param_: TODO
_AnyObjectType_param_: TODO
_Entry_param_: A complete appointment object.
Example for an appointment object. In this case an appointment with a linked person and organisation was created.
[source, JSON]
----
{
"a":1,
"f":"1623853371984",
"g":1623856971984,
"q":"",
"j":"false",
"LINKS":[
{
"OBJECT_ID":"6c612f91-0160-4f09-9103-dccee7f7a6b7",
"OBJECT_TYPE":"Person"
},
{
"OBJECT_ID":"fc465f2f-803b-4a1f-b79d-7b466d7ecff4",
"OBJECT_TYPE":"Organisation"
}
],
"h":"; mailto:Admin@domain.local; CN:Admin; ",
"e":"Herr Albert Zweistein",
"c":"",
"i":"CONFIRMED",
"p":"PUBLIC",
"u":"",
"ac":"OPAQUE",
"d":"",
"X-ADITO-ISALLDAYEVENT":"FALSE"
}
----
Abbreviations are explained with their associated calendar constants.
[source, JavaScript]
----
import("system.calendars");
calendars.TYPE; // TYPE is "a"
calendars.ID; // ID is "b"
calendars.SUMMARY; // SUMMARY is "c"
----
_ErrorOnPermissionDenied_: TODO
_LinkedAppointmentsFromDashlet_param_: TODO
_LinkedObjectId_param_: Contains the CONTACTID of the object to be linked.
_MasterEntry_param_: The origin element of the appointment series in the Entry_param (only set if _entry_ is part of a series).
_PresetLinks_param_: TODO
== Actions
_deleteSeries_: Delete the selected appointment series.
_newActivity_: Create a new activity for an appointment.
=== PartStatActionGroup
This action group handles the changes to the ParticipationStatus of every Attendee.
It is highly recommended to not change neither the name, nor the code of each action without the help of an Adito developer.
This ActionGroup handles the changes of the ParticipationStatus of every attendee.
It is strongly recommended not to change the name, nor the code of these actions without the help of a developer of the company ADITO.
===== Actions
_accept_
_decline_
_tentative_
\ No newline at end of file
_accept_: Accept appointment invitation.
_decline_: Decline appointment invitation.
_tentative_: Provisionally accept appointment invitation.
\ No newline at end of file
This field indicates whether the appointment is an all-day event. All-day events are displayed over the day without regard to clock times, unlike an event that lasts from 0 to 24. This event would be displayed over the whole day.
\ No newline at end of file
The participants of an appointment are listed here. The participants are stored in the following multistring format which can be converted into an array with help of the function text.decodeMS().
;+ mailto:Admin@domain.local;+ CN:Admin;+ ;+ mailto:test@test.de;+ CN:test@test.de;+ ;
";" => Control character
" " => New entry
"+" => ESCAPE character
External participants can be added by their email address.
\ No newline at end of file
Is not used.
\ No newline at end of file
Start time of the event.
\ No newline at end of file
Categories can be assigned to an event. The categories are loaded from the ProjectPreferences (calendarCategoriesEvent) via DropDownProcess and are made available. However, it is also possible to assign your own individual categories when editing/creating the event. These categories can also be used to filter the calendar.
\ No newline at end of file
Specifies whether the appointment is private or public. The values can be PUBLIC or PRIVATE.
\ No newline at end of file
Field for adding a description of the appointment.
\ No newline at end of file
End time of the event.
\ No newline at end of file
Is not evaluated.
\ No newline at end of file
Place where the event takes place.
\ No newline at end of file
Contains the start time of a series appointment.
\ No newline at end of file
Contains the end time of a series appointment.
\ No newline at end of file
Indicates who is the organizer of the event. The organizer is displayed in the participants list with an asterisk behind the name.
\ No newline at end of file
Displays the owner of the appointment.
\ No newline at end of file
This can be used to identify a specific instance of a recurring calendar item.
\ No newline at end of file
Specifies if and when a reminder should be activated. Time is specified as a negative value in milliseconds.
\ No newline at end of file
Indicates whether a reminder is present. Is not evaluated by the ADITO Platform.
\ No newline at end of file
Specifies in which form the serial date is repeated. Example: FREQ=WEEKLY;UNTIL=19971007T0000Z;WKST=SU;BYDAY=TU,TH
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment