Class BlueMindServerSeed
- All Implemented Interfaces:
CalendarServerSeed
It states no order, which sorts it after the add-on's seed; both carry the identifier "bluemind", so when both are installed the host seeds the add-on's and ignores this one.
What the row carries, and why. It is excused for what BlueMind is
known to do to a copy (SEED_QUIRKS), pointed at the account's
main calendar, and writes through BlueMind's import channel — the
same choices the browser's BlueMind preset makes on a declaration
(serverPresets.js). The main calendar rather than the model's
default because on this server the default has an established cost:
BlueMind's dedicated calendar is excluded from the account's free/busy —
colleagues booking around the user see eXo meeting times as free — and it
carries no answer buttons. A seed that disagreed with the preset an
administrator is about to apply to the very same row would be teaching two
answers to one question.
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final StringThe seed's identifier, the same as the BlueMind flavour's.static final List<org.exoplatform.caldav.model.ServerQuirk> The catalogue entries the seeded BlueMind row arrives excused for: the behaviours a live account was characterised with across EXO-89716 to EXO-89828, and the same four the browser's BlueMind preset ticks on a declaration (serverPresets.js).static final StringThe name the BlueMind row is seeded under.static final StringAddress the BlueMind row is seeded with: a placeholder an administrator is expected to replace with the DAV endpoint of their own BlueMind, whose shape it mirrors (BlueMind serves DAV under/dav/and answers there with 401 Basic realm="bm.basic.auth.v2"; the bare host only redirects). -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionid()The seed's stable identifier — the product's, the same as its server flavour's — which decides which of two contributions for one product is seeded.org.exoplatform.caldav.model.MirrorTargetKindThe account's main calendar, see the class comment.name()The name the row is seeded under.List<org.exoplatform.caldav.model.ServerQuirk> quirks()The catalogue entries the row arrives excused for, the same ones the product's browser preset ticks.The address the row is seeded with, usually a placeholder the administrator replaces with their own server's.org.exoplatform.caldav.model.WriteChannelBlueMind's own ICS import door (EXO-90307): a CalDAV write makes BlueMind schedule the meeting itself.
-
Field Details
-
SEED_ID
The seed's identifier, the same as the BlueMind flavour's.- See Also:
-
SERVER_NAME
The name the BlueMind row is seeded under.- See Also:
-
SERVER_URL
Address the BlueMind row is seeded with: a placeholder an administrator is expected to replace with the DAV endpoint of their own BlueMind, whose shape it mirrors (BlueMind serves DAV under/dav/and answers there with 401 Basic realm="bm.basic.auth.v2"; the bare host only redirects).An RFC 2606
.invalidname (EXO-89794): it can never resolve, so the row can never be a live target, and it fails the address check — so the row is seeded inactive rather than offered to users as a connector that goes nowhere.Note also that BlueMind sends no CORS headers, so connecting from the browser needs the portal to front it on its own origin.
- See Also:
-
SEED_QUIRKS
The catalogue entries the seeded BlueMind row arrives excused for: the behaviours a live account was characterised with across EXO-89716 to EXO-89828, and the same four the browser's BlueMind preset ticks on a declaration (serverPresets.js).The two lists are the same list, and that is a constraint rather than a coincidence. A preset also carries a summary sentence naming exactly what it ticks —
caldav.admin.servers.preset.bluemind.summary— so widening the preset is a product-copy change and not only a list edit. They are held together by two assertions of the whole string, one where each is produced (CaldavServerServiceTest,serverPresets.test.js), and by the summary pin that fails a tick without a sentence and a sentence without a tick.Why the entries and not their patterns. The catalogue is where a behaviour has its patterns, its direction and its sentence; naming the entry here means the seed writes exactly what a tick of that box writes, and a pattern the catalogue later widens reaches the next fresh install without a second spelling to keep in step. It does not reach the browser's BlueMind preset, which carries its own
QUIRKSmap of the same ids to the same patterns.Tolerance entries only. The host files each entry into the tolerance column its direction names and writes no entry that changes what eXo writes (
OMIT);CaldavServerServiceTestfails the moment one is named here.
-
-
Constructor Details
-
BlueMindServerSeed
public BlueMindServerSeed()
-
-
Method Details
-
id
The seed's stable identifier — the product's, the same as its server flavour's — which decides which of two contributions for one product is seeded.- Specified by:
idin interfaceCalendarServerSeed- Returns:
- the identifier, never blank
-
name
The name the row is seeded under.- Specified by:
namein interfaceCalendarServerSeed- Returns:
- the name, never blank
-
serverUrl
The address the row is seeded with, usually a placeholder the administrator replaces with their own server's.- Specified by:
serverUrlin interfaceCalendarServerSeed- Returns:
- the address, never blank
-
quirks
The catalogue entries the row arrives excused for, the same ones the product's browser preset ticks. Only tolerance entries can be seeded; an entry that changes what eXo writes is logged and left out.- Specified by:
quirksin interfaceCalendarServerSeed- Returns:
- the entries, never null, possibly empty
-
mirrorTarget
public org.exoplatform.caldav.model.MirrorTargetKind mirrorTarget()The account's main calendar, see the class comment.- Specified by:
mirrorTargetin interfaceCalendarServerSeed- Returns:
MirrorTargetKind.MAIN_CALENDAR
-
writeChannel
public org.exoplatform.caldav.model.WriteChannel writeChannel()BlueMind's own ICS import door (EXO-90307): a CalDAV write makes BlueMind schedule the meeting itself.- Specified by:
writeChannelin interfaceCalendarServerSeed- Returns:
WriteChannel.BLUEMIND_IMPORT
-