Page MenuHomePhabricator

CUJ 5: Add implementations via code or composition
Closed, ResolvedPublic

Description

Critical User Journey 5: Add implementations via code or composition

Job To Be Done

When <situation> I want to <job> so I can <expected outcome or motivation>

Acceptance criteria

An editor user...

  • Should be able to find a function from the Wikifunctions landing page
  • Should be able to easily navigate to the page for adding an implementation to this function
  • Should get a clear idea of what's the difference between implementation with code vs. function composition
  • Should be able to choose whether to write code or create a function composition
  • If code
    • Should be able to select a valid and accepted programming language to write the code with
    • Should get the necessary guidance to write the function
      • Blank function code snippet
      • How to use the function input parameters in the code
      • How to access the properties of the input parameters in the code
      • How to return the required value in the right format
  • If composition
    • Should be able to create the function call that will create this composition
  • Should be able to publish a new implementation successfully
    • Should be able to successfully see the new implementation in the function page once it's successfully saved
    • If something failed, should be able to see what was the problem so that it can be corrected ---

Completion checklist

During the review process, edit and check these items to reflect the completion status of this epic

  • Functionality
    • Every project (repository) involved in this user story has its separate Phabricator task
    • Every related task should passes its completion checklist
    • The tests for every involved project pass successfully
    • The build process for every involved project passes successfully
    • Coverage for every involved project has improved or stayed the same
  • Design
    • Design review on updated software
    • Test concept via an Alpha, Beta or Prototype with partner communities and those potentially impacted by feature, in their preferred language
  • Documentation
    • Has related and updated documentation, E.g.:
      • Internal technical changes: internal repository documentation must be updated (README.md, JSDoc, PHPDoc)
      • Infrastructure technical changes: technical changes that reflect on environment, infrastructure, endpoints or any other area of interest for technical contributors should be reflected on MediaWiki extension pages.
      • Product or model changes: should have related documentation updated in meta
  • Versioning
    • If changes in submodule packages are involved, every project that uses this submodule has updated submodule version and passes tests and build

Event Timeline

Can we declare this Resolved now? The implementation of writing tests for this are T321937 which is marked Resolved and T321938 which is up next for implementation.