As a member I can only start an initiative if the sections in the area document I am changing are not currently edited by an issue that has been admitted.
implementation
docsvc takes a BaseDoc in all operations. It responds with ChangedSectionIDs []String.
lffrontend saves the ChangedSectionIDs, and BaseDoc in drafts
lffrontend checks that an initiative has not section conflicts before merging
lffrontend as a new SECTION_CONFLICT state it can be in. On admitting a new intitiative, put all conflicting initiatives into that state.
Future work
- need to rebase all these docs when an initiative succeeds. (The BaseDoc of all open drafts will be stale. There shouldn't be any merge conflicts due to above rules, but need to create a new draft with the new base doc).
- notify users when an inititiatvie in
admission phase in SECTION_CONFLICT state.
- users can convert a
SECTION_CONFLICT initiative into a competing initiative of one the issue they are in conflict with.
As a member I can only start an initiative if the sections in the area document I am changing are not currently edited by an issue that has been admitted.
implementation
docsvctakes aBaseDocin all operations. It responds withChangedSectionIDs []String.lffrontendsaves theChangedSectionIDs, andBaseDocin draftslffrontendchecks that an initiative has not section conflicts before merginglffrontendas a newSECTION_CONFLICTstate it can be in. On admitting a new intitiative, put all conflicting initiatives into that state.Future work
admissionphase inSECTION_CONFLICTstate.SECTION_CONFLICTinitiative into a competing initiative of one the issue they are in conflict with.