Browse Source

Reformat markdown

pull/263/head
Xavier Petit 5 years ago
parent
commit
627f65d16e
No known key found for this signature in database
GPG Key ID: CA3F2B17E25ABD26
  1. 141
      docs/event-management.md
  2. 7
      docs/object-attribute-reference.md
  3. 5
      docs/object-attribute-system.md

141
docs/event-management.md

@ -1,49 +1,55 @@
# Events management # Events management
## Usage ## Usage
> An event is associated to an object when the usage of this object implies:
> * a limited capacity of people
> * a limited time
> Event management require: An event is associated to an object when the usage of this object implies:
> * Edition of the attributes of the object on which the event is based
> * Creation and settings of the event associated to the reference object - a limited capacity of people
- a limited time
Event management require:
- Edition of the attributes of the object on which the event is based
- Creation and settings of the event associated to the reference object
> Events are used for: `piscines`, `check-in`, `exams`, `rushes`, `hackatons`, `conferences`. > Events are used for: `piscines`, `check-in`, `exams`, `rushes`, `hackatons`, `conferences`.
## Settings for the reference object ## Settings for the reference object
> Important indications: Important indications:
> * Objects that doesn't have required attributes for event creation will not be open to event creation.
- Objects that doesn't have required attributes for event creation will not be open to event creation.
> | name | fullfillment | | name | fullfillment |
> | -------------------- | --------- | | -------------------- | ------------ |
> | capacity | **required** | | capacity | **required** |
> | eventDuration | **required** | | eventDuration | **required** |
> | registrationDuration | **required** | | registrationDuration | **required** |
> | description | optionnal | | description | optionnal |
> | eventStartDelay | optionnal | | eventStartDelay | optionnal |
> * All the attributes filled in the object are used as values by default for event's creation; it can be overloaded for each event related to the reference object. - All the attributes filled in the object are used as values by default for event's creation; it can be overloaded for each event related to the reference object.
> * If the reference object has a child or children which are events itself, settings are also required for each event child. - If the reference object has a child or children which are events itself, settings are also required for each event child.
#### Edit the object attributes: #### Edit the object attributes:
> in *Object attributes*
> in _Object attributes_
<img width="1073" alt="Capture d’écran 2019-08-22 à 11 40 34" src="https://user-images.githubusercontent.com/35296671/63525316-64e0da80-c4f5-11e9-9e61-57d5a73da9b1.png"> <img width="1073" alt="Capture d’écran 2019-08-22 à 11 40 34" src="https://user-images.githubusercontent.com/35296671/63525316-64e0da80-c4f5-11e9-9e61-57d5a73da9b1.png">
* Add a new key **capacity** of type `Number` with the maximum number of persons you want for events related to the object by default - Add a new key **capacity** of type `Number` with the maximum number of persons you want for events related to the object by default
* Add a new key **eventDuration** of type `Number` with the duration in minutes you want for events related to the object by default - Add a new key **eventDuration** of type `Number` with the duration in minutes you want for events related to the object by default
* Add a new key **registrationDuration** of type `Number` with the duration in minutes you want to allow to people to register to the event by default - Add a new key **registrationDuration** of type `Number` with the duration in minutes you want to allow to people to register to the event by default
* Add a new key **eventStartDelay** of type `Number`, if you want a default delay between the end of registration and the beginning of the event. This duration is expressed in minutes. - Add a new key **eventStartDelay** of type `Number`, if you want a default delay between the end of registration and the beginning of the event. This duration is expressed in minutes.
* Add a new key **description** of type `String`, if you need to associate some informations to your event (description, location, access, documents to provide, etc.) - Add a new key **description** of type `String`, if you need to associate some informations to your event (description, location, access, documents to provide, etc.)
#### Edit the children #### Edit the children
> in *Children*
> in _Children_
<img width="609" alt="Capture d’écran 2019-08-22 à 15 43 43" src="https://user-images.githubusercontent.com/35296671/63525543-c86b0800-c4f5-11e9-8820-60d9ff33994f.png"> <img width="609" alt="Capture d’écran 2019-08-22 à 15 43 43" src="https://user-images.githubusercontent.com/35296671/63525543-c86b0800-c4f5-11e9-8820-60d9ff33994f.png">
* Add a new key **startAfter** of type `Number`, with the default delay you want between the beginning of the event and the beginning of the child event. This duration is expressed in minutes. - Add a new key **startAfter** of type `Number`, with the default delay you want between the beginning of the event and the beginning of the child event. This duration is expressed in minutes.
##### Example ##### Example
@ -53,7 +59,8 @@ Here is an example of the `Piscine Go` settings. It presents the settings of the
**Piscine Go** **Piscine Go**
*Object attributes* _Object attributes_
```json ```json
{ {
"capacity": 400, "capacity": 400,
@ -67,8 +74,9 @@ This piscine object attributes look like this:
![piscine-object-attributes](img/piscine-object-attributes.png) ![piscine-object-attributes](img/piscine-object-attributes.png)
*Children* _Children_
> In the `Piscine Go`, children of type *exam* and *rush* have events itself.
> In the `Piscine Go`, children of type _exam_ and _rush_ have events itself.
> A **startAfter** key has to be defined for each of them, in their parent object `Piscine Go`. For example, the exam-01 gets this key: > A **startAfter** key has to be defined for each of them, in their parent object `Piscine Go`. For example, the exam-01 gets this key:
@ -83,9 +91,11 @@ This child attributes look like this:
![piscine children attributes](https://user-images.githubusercontent.com/35296671/63525543-c86b0800-c4f5-11e9-8820-60d9ff33994f.png) ![piscine children attributes](https://user-images.githubusercontent.com/35296671/63525543-c86b0800-c4f5-11e9-8820-60d9ff33994f.png)
**Exam 01** **Exam 01**
> The object `Exam 01`, which is a child of `Piscine Go`, has its own *Object Attributes* filled in the child object.
*Object attributes* > The object `Exam 01`, which is a child of `Piscine Go`, has its own _Object Attributes_ filled in the child object.
_Object attributes_
```json ```json
{ {
"eventDuration": 240, "eventDuration": 240,
@ -93,6 +103,7 @@ This child attributes look like this:
"eventStartDelay": 60 "eventStartDelay": 60
} }
``` ```
> NB: the **capacity** attribute is herited from the parent object `Piscine Go` here. > NB: the **capacity** attribute is herited from the parent object `Piscine Go` here.
This exam object attributes look like this: This exam object attributes look like this:
@ -102,26 +113,28 @@ This exam object attributes look like this:
## Create the event ## Create the event
### Create a new event for your object ### Create a new event for your object
> (in *Admin* > *Manage events* > *Add new event*)
> (in _Admin_ > _Manage events_ > _Add new event_)
<img width="788" alt="Capture d’écran 2019-08-22 à 11 37 13" src="https://user-images.githubusercontent.com/35296671/63532891-9d87b080-c503-11e9-8ff2-46c7a5b19c12.png"> <img width="788" alt="Capture d’écran 2019-08-22 à 11 37 13" src="https://user-images.githubusercontent.com/35296671/63532891-9d87b080-c503-11e9-8ff2-46c7a5b19c12.png">
<img width="789" alt="Capture d’écran 2019-08-22 à 11 37 35" src="https://user-images.githubusercontent.com/35296671/63533088-02430b00-c504-11e9-9675-bcab7bec825c.png"> <img width="789" alt="Capture d’écran 2019-08-22 à 11 37 35" src="https://user-images.githubusercontent.com/35296671/63533088-02430b00-c504-11e9-9675-bcab7bec825c.png">
<img width="787" alt="Capture d’écran 2019-08-22 à 11 38 07" src="https://user-images.githubusercontent.com/35296671/63533145-21419d00-c504-11e9-8e80-fb4f53d93b00.png"> <img width="787" alt="Capture d’écran 2019-08-22 à 11 38 07" src="https://user-images.githubusercontent.com/35296671/63533145-21419d00-c504-11e9-8e80-fb4f53d93b00.png">
- The **reference object** of your event is the object for which you need to create an event: `Check`, `Piscine Go`, etc.
* The **reference object** of your event is the object for which you need to create an event: `Check`, `Piscine Go`, etc. - The **registration starts at** indicates when registration of the event begins.
* The **registration starts at** indicates when registration of the event begins. - The **registration ends at** indicates when registration of the event ends.
* The **registration ends at** indicates when registration of the event ends. - The **event starts at** indicates when the event begins.
* The **event starts at** indicates when the event begins.
> NB: > NB:
> * End of registration can't be before its beginning. >
> * Start of event can't be before end of registration. > - End of registration can't be before its beginning.
> * Date and Time input is not yet working in firefox but should be added soon by mozilla. In the mean while use chrome for adding events > - Start of event can't be before end of registration.
> - Date and Time input is not yet working in firefox but should be added soon by mozilla. In the mean while use chrome for adding events
### Settings for you event ### Settings for you event
> In the event you have created, 3 categories must be checked: > In the event you have created, 3 categories must be checked:
>
> 1. General settings > 1. General settings
> 2. Registration's settings > 2. Registration's settings
> 3. Event's settings > 3. Event's settings
@ -132,36 +145,36 @@ This exam object attributes look like this:
General settings of your event can be set after creation of the event. By default, it is the values indicated in the **reference object**. General settings of your event can be set after creation of the event. By default, it is the values indicated in the **reference object**.
* **Capacity** - **Capacity**
* During the regitration, the capacity doesn't apply. When registration ends, we register the amount defined by the **capacity** to the event *(ordered by registration date)*. - During the regitration, the capacity doesn't apply. When registration ends, we register the amount defined by the **capacity** to the event _(ordered by registration date)_.
* If someone unregister to the event during a registration, it release one place. - If someone unregister to the event during a registration, it release one place.
* During a registration, users can see if their place is guaranteed or if they are in waiting list. - During a registration, users can see if their place is guaranteed or if they are in waiting list.
* If the event has children which are event themselves, they will use by default the capacity of the parent event - If the event has children which are event themselves, they will use by default the capacity of the parent event
if no capacity was defined on this child. if no capacity was defined on this child.
* **Description** (facultative) - **Description** (facultative)
* It can be used to describe the topic of the event, or to add some practical informations: location, documents to provide, accessibility, etc. - It can be used to describe the topic of the event, or to add some practical informations: location, documents to provide, accessibility, etc.
#### Registration #### Registration
<img width="761" alt="Capture d’écran 2019-08-22 à 11 39 37" src="https://user-images.githubusercontent.com/35296671/63533613-0facc500-c505-11e9-90e8-94254cef5ce3.png"> <img width="761" alt="Capture d’écran 2019-08-22 à 11 39 37" src="https://user-images.githubusercontent.com/35296671/63533613-0facc500-c505-11e9-90e8-94254cef5ce3.png">
* End of registration can't be after start of registration. - End of registration can't be after start of registration.
* Dates can't be updated after it's passed. - Dates can't be updated after it's passed.
* The **registration duration** indicated in the **reference object** is reminded under the inputs to help you fill the informations. - The **registration duration** indicated in the **reference object** is reminded under the inputs to help you fill the informations.
* Same for the **event start delay**. - Same for the **event start delay**.
* The list of users in the registration, pending or accepeted, is accessible by clicking on the link 'N users registered', at the left bottom of this categrory. - The list of users in the registration, pending or accepeted, is accessible by clicking on the link 'N users registered', at the left bottom of this categrory.
#### Event #### Event
<img width="740" alt="Capture d’écran 2019-08-22 à 11 39 49" src="https://user-images.githubusercontent.com/35296671/63533641-1d624a80-c505-11e9-9cd1-e1d156dd7fc4.png"> <img width="740" alt="Capture d’écran 2019-08-22 à 11 39 49" src="https://user-images.githubusercontent.com/35296671/63533641-1d624a80-c505-11e9-9cd1-e1d156dd7fc4.png">
* End of event can't be after start of event. - End of event can't be after start of event.
* Dates can't be updated after it's passed. - Dates can't be updated after it's passed.
* The **end of event** is calculated by default by adding the **event duration** indicated in the **reference object** to the **start of event** date. - The **end of event** is calculated by default by adding the **event duration** indicated in the **reference object** to the **start of event** date.
* If the event contains other events, the **end of event** can't be before the end of the last child event. - If the event contains other events, the **end of event** can't be before the end of the last child event.
* The **event duration** indicated in the **reference object** is reminded under the inputs to help you fill the informations. - The **event duration** indicated in the **reference object** is reminded under the inputs to help you fill the informations.
* If the event contains other events, the **minimum end of event** is indicated under the inputs to help you fill the informations. - If the event contains other events, the **minimum end of event** is indicated under the inputs to help you fill the informations.
* The list of users selected for the event at its creation is accessible by clicking on the link 'N users registered', at the left bottom of this categrory. - The list of users selected for the event at its creation is accessible by clicking on the link 'N users registered', at the left bottom of this categrory.
#### Children (facultative) #### Children (facultative)
@ -169,9 +182,9 @@ General settings of your event can be set after creation of the event. By defaul
This category appears only if the event has children which are events itself. This category appears only if the event has children which are events itself.
* Children settings can't be overloaded. - Children settings can't be overloaded.
* Each event child presents: - Each event child presents:
* Its **Start** and **end** (according to the children settings of the **reference object**) - Its **Start** and **end** (according to the children settings of the **reference object**)
* Its **capacity** - Its **capacity**
* Its **groups size** - Its **groups size**
* Reminder: in `hackatons` or `rushes`, candidates or students registered to the are divided in groups of N persons. - Reminder: in `hackatons` or `rushes`, candidates or students registered to the are divided in groups of N persons.

7
docs/object-attribute-reference.md

@ -1,9 +1,10 @@
# Object Attribute Reference # Object Attribute Reference
## List all **USABLE** preset object attributes ## List all **USABLE** preset object attributes
| Attribute | Type | Value | Description | | Attribute | Type | Value | Description |
|-------------------|-----------|-------|-------------| | ----------------- | -------- | ---------------------------------------------------------------------- | ------------------------------------------------------- |
| `xp` | function | `exerciceExpCalculation`, `examExpCalculation` or `raidExpCalculation` | Amount of exeperience points that an object will give. | | `xp` | function | `exerciceExpCalculation`, `examExpCalculation` or `raidExpCalculation` | Amount of experience points that an object will give. |
| `correctionPrice` | function | `correctionPrice` | Amount of correction points needed to test an exercise. | | `correctionPrice` | function | `correctionPrice` | Amount of correction points needed to test an exercise. |
| `duration` | number | | | | `duration` | number | | |
| `time` | string | | | | `time` | string | | |
@ -12,7 +13,7 @@
## List all **RESERVED** preset object attributes ## List all **RESERVED** preset object attributes
| Attribute | Type | Value | Description | | Attribute | Type | Value | Description |
|-------------------|-----------|-------|-------------| | ------------ | -------- | ----- | ----------- |
| `scopeStart` | function | | | | `scopeStart` | function | | |
| `scopeEnd` | function | | | | `scopeEnd` | function | | |
| `startDay` | function | | | | `startDay` | function | | |

5
docs/object-attribute-system.md

@ -151,12 +151,15 @@ All done, now when rendering an object, attributes are merged like so:
``` ```
First we apply the **default attributes** from the referenced object. First we apply the **default attributes** from the referenced object.
> Here `duration` and `language` are applied. > Here `duration` and `language` are applied.
Then we apply the **children attributes** to every child. Then we apply the **children attributes** to every child.
> In this case we override every `duration` to 4800 and add the new `xp` attribute. > In this case we override every `duration` to 4800 and add the new `xp` attribute.
After that we apply the **relation attributes**, that are the most specific and as such, After that we apply the **relation attributes**, that are the most specific and as such,
override all others attributes. override all others attributes.
> In this case only the `printalphabet` relation had attributes and so we apply > In this case only the `printalphabet` relation had attributes and so we apply
the given `duration` to the final merged object. > the given `duration` to the final merged object.

Loading…
Cancel
Save