Sprint 69

All our products have been updated on Jan 17, 2022 with the releases associated to this Sprint 69.

 

Chouette

Manage Notification Rules with priority

In the Notification Center of each Workgroup, the authorized user can define a Notification Rule with:

  • the associated notification type: Import, Merge, Aggregation, etc

  • a rule priority

  • if the rule defines recipients to be notified or to be ignored

  • a rule recipient: a selected user, all users in the workbench or an external email

Some optional conditions are available too:

  • a period during which the rule applies

  • the operation statuses in which the rules applies (when the notification is associated with an operation)

  • the associated lines in which the rules applies (when the notification can be associated with lines)

Rule priority

The user can define several rules on the same notification type. When a such notification has to be sent, the rules are applied by priority (lower priority first).

The notification recipient list is computed according to these rules.

When the user starts an operation with a notification setting, the notification rules are applied in addition to this option.

Example

The workbench contains the following rules for a notification type:

  • 1000 - Notify all workbench users

  • 1001 - Do not notify User B

  • 1002 - Do not notify all workbench users in a given period

  • 1003 - Notify User B

If the User A starts an operation with the option “Notify me”, when a notification of this type is processed:

  • The user A will always be notified

  • The user B will always be notified

  • Other workbench users will be notified only outside the given period

Netex Export improvements

Companies are exported as NeTEx Operator:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 <ResourceFrame id="enRoute:ResourceFrame:1" version="any"> <organisations> <Operator id="chouette:Company:73bade38-579f-4dcd-b1d3-62ad9216365d:LOC" version="any"> <Name>Demo Transit Authority</Name> </Operator> </organisations> </ResourceFrame> <ServiceFrame id="enRoute:ServiceFrame:1" version="any"> <lines> <Line id="chouette:Line:a330d3f8-a03c-4c3e-9739-75819bfdff07:LOC" version="any"> <Name>Airport - Bullfrog</Name> <TransportMode>bus</TransportMode> <OperatorRef ref="chouette:Company:73bade38-579f-4dcd-b1d3-62ad9216365d:LOC" version="any"/> </Line> </lines> </ServiceFrame>

Line Networks are exported as NeTEx Network:

1 2 3 <Network id="chouette:Network:d82f6bc4-6750-46da-837d-f32fd9f76e29:LOC" version="any"> <Name>Sample Network</Name> </Network>

Stop Area hierarchy are fully exported:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 <StopPlace id="chouette:StopArea:2d91970b-5dbf-4aef-b0af-a7ba60a264d3:LOC" version="any"> <keyList> <KeyValue typeOfKey="ALTERNATE_IDENTIFIER"> <Key>external</Key> <Value>STOP_PLACE</Value> </KeyValue> </keyList> <Name>Parent Stop Place</Name> <Centroid version="any"> <Location/> </Centroid> <placeTypes> <TypeOfPlaceRef ref="generalStopPlace"/> </placeTypes> <ParentSiteRef ref="chouette:StopArea:acbe6232-b09a-42f9-9eb3-b28a6fbe1e0f:LOC" version="any"/> </StopPlace> <StopPlace id="chouette:StopArea:63ab3a0c-199d-4fb0-9f24-8d5f651d95e2:LOC" version="any"> <Name>Monomodal Stop Place</Name> <placeTypes> <TypeOfPlaceRef ref="monomodalStopPlace"/> </placeTypes> <ParentSiteRef ref="chouette:StopArea:2d91970b-5dbf-4aef-b0af-a7ba60a264d3:LOC" version="any"/> <quays> <Quay id="chouette:StopArea:6282c004-1a9e-4ab3-acef-d4e55da5b5c6:LOC" version="any"> <Name>North Ave / D Ave N (Demo)</Name> <Centroid> <Location> <Longitude>-116.76821</Longitude> <Latitude>36.914893</Latitude> </Location> </Centroid> </Quay> </quays> </StopPlace>

Referent Stop Areas are exported: The particular Stop Areas reference their referent by using the derivedFromObjectRef attribute.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 <StopPlace id="chouette:StopArea:935994fb-24bd-493d-95b2-5f503cfb1126:LOC" version="any"> <Name>Referent</Name> <placeTypes> <TypeOfPlaceRef ref="quay"/> </placeTypes> </StopPlace> <StopPlace id="chouette:StopArea:91be4fb9-2741-4ae6-b909-589d9ed0381e:LOC" version="any" derivedFromObjectRef="chouette:StopArea:935994fb-24bd-493d-95b2-5f503cfb1126:LOC"> <Name>North Ave / D Ave N (Demo)</Name> <Centroid version="any"> <Location> <Longitude>-116.76821</Longitude> <Latitude>36.914893</Latitude> </Location> </Centroid> <placeTypes> <TypeOfPlaceRef ref="quay"/> </placeTypes> </StopPlace>

The NeTEx Profile IDFM Full is been improved.

Ara

Broadcast canceled Stop Visits in GTFS-RT

When a Stop Visit has the canceled departure status, the GTFS-RT broadcaster uses the SKIPPED ScheduleRelationship in the associated StopTimeUpdate:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 { "id": "trip:VehicleJourney:B_R_173_15_B01_4_193900", "trip_update": { "trip": { "trip_id": "VehicleJourney:B_R_173_15_B01_4_193900", "route_id": "Line:B" }, "stop_time_update": [ { "stop_sequence": 1, "stop_id": "StopArea:THAMEA1", "arrival": { "time": 1642098710 }, "departure": { "time": 1642099140 } }, { "stop_sequence": 2, "stop_id": "StopArea:TLBLUM1", "arrival": { "time": 1642099235 }, "departure": { "time": 1642099250 }, "schedule_relationship": 1 },

Collect Vehicles with partial/without srsName in SIRI Vehicle Location

The SIRI Vehicle Monitoring Collector supports several syntax inVehicleLocation srsName attribute:

  • a complete syntax like EPSG:2154

  • a partial syntax with only a numeric value like 2154

  • an empty value, in this case the Partner setting collect.default_srs_name is used

Examples

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 <VehicleActivity> <!-- ... --> <MonitoredVehicleJourney> <VehicleLocation srsName="EPSG:2154"> <Coordinates>604255 6877654</Coordinates> </VehicleLocation> </MonitoredVehicleJourney> </VehicleActivity> <VehicleActivity> <!-- ... --> <MonitoredVehicleJourney> <VehicleLocation srsName="2154"> <Coordinates>604255 6877654</Coordinates> </VehicleLocation> </MonitoredVehicleJourney> </VehicleActivity> <VehicleActivity> <!-- ... --> <MonitoredVehicleJourney> <VehicleLocation> <Coordinates>604255 6877654</Coordinates> </VehicleLocation> </MonitoredVehicleJourney> </VehicleActivity>